*{box-sizing:border-box;margin:0;padding:0}body{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-family:var(--font-body,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-page,#f3f5f7);color:var(--text,#0f172a);max-width:100vw;min-height:100vh;margin:0;overflow-x:hidden}code{font-family:var(--font-mono,ui-monospace, Menlo, Consolas, monospace)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:focus-visible{outline:2px solid var(--primary,#4f46e5);outline-offset:2px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root{--bg-page:#eef1f2;--surface:#fff;--surface-alt:#f7f9fa;--surface-sunken:#e8eced;--primary:#0c6b63;--primary-end:#095049;--accent:#0d9488;--ink:#1b2733;--ink-soft:#2b3a49;--danger:#b23c2a;--danger-strong:#96301f;--danger-tint:#faf1ef;--text:#17232e;--text-muted:#55677a;--border:#e2e7eb;--border-strong:#c5d0d8;--shadow:0 1px 2px #17232e0a, 0 4px 16px #17232e0d;--radius:10px;--radius-sm:6px;--radius-lg:14px;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:var(--font-body);--font-mono:"Geist Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--letter-display:-.01em;--weight-display:650;--case-display:none;--container-max:1500px}.sidebar-layout{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.sidebar-layout__nav{top:calc(var(--topbar-height,64px) + .75rem);flex-direction:column;gap:2px;padding:.25rem 0;display:flex;position:sticky}.sidebar-layout__nav-item{border-radius:var(--radius-sm);font:inherit;color:var(--text-muted);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.7rem;padding:.55rem .8rem;font-size:.92rem;font-weight:500;transition:background .12s,color .12s,border-color .12s;display:flex}.sidebar-layout__nav-item:hover{color:var(--text);background:#0f172a0d}.sidebar-layout__nav-item--active,.sidebar-layout__nav-item--active:hover{background:var(--surface);border-color:var(--border);color:var(--primary);font-weight:600;box-shadow:0 1px 2px #0f172a0d}.sidebar-layout__nav-num{font-variant-numeric:tabular-nums;letter-spacing:.08em;color:var(--text-muted);opacity:.75;font-size:.68rem;font-weight:500}.sidebar-layout__nav-item--active .sidebar-layout__nav-num{color:var(--primary);opacity:1}.sidebar-layout__fieldset{border:0;min-inline-size:0;margin:0;padding:0}.sidebar-layout__fieldset:disabled{pointer-events:none;opacity:.75}.sidebar-layout__main{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;min-height:420px;padding:1.75rem}@media (width<=900px){.sidebar-layout{grid-template-columns:minmax(0,1fr)}.sidebar-layout__nav{flex-flow:row;padding:0;position:static;overflow-x:auto}.sidebar-layout__nav-item{flex:none}.sidebar-layout__main{padding:1.25rem}}.mobile-section-menu{margin-bottom:.5rem;display:none;position:relative}.mobile-section-menu__trigger{background:var(--surface,white);border:1px solid var(--border,#e2e8f0);width:100%;font:inherit;color:var(--text);cursor:pointer;text-align:left;border-radius:10px;align-items:center;gap:.6rem;padding:.7rem .85rem;font-size:.95rem;font-weight:600;display:flex}.mobile-section-menu__icon{color:var(--text-muted);font-size:1.05rem}.mobile-section-menu__label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.mobile-section-menu__chev{color:var(--text-muted);font-size:.85rem;transition:transform .15s}.mobile-section-menu--open .mobile-section-menu__chev{transform:rotate(180deg)}.mobile-section-menu__list{z-index:30;background:var(--surface,white);border:1px solid var(--border,#e2e8f0);border-radius:10px;flex-direction:column;gap:2px;max-height:70vh;margin:0;padding:.4rem;list-style:none;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 32px #0f172a24}.mobile-section-menu__item{width:100%;font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.75rem;padding:.7rem .85rem;font-size:.95rem;display:flex}.mobile-section-menu__item:hover{background:var(--surface-alt,#f1f5f9)}.mobile-section-menu__item--active,.mobile-section-menu__item--active:hover{background:color-mix(in srgb, var(--primary) 12%, var(--surface));color:var(--primary);font-weight:600}.mobile-section-menu__num{font-variant-numeric:tabular-nums;letter-spacing:.08em;color:var(--text-muted);min-width:1.6em;font-size:.7rem;font-weight:600}.mobile-section-menu__item-label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}@media (width<=600px){.mobile-section-menu{display:block}.sidebar-layout__nav{display:none!important}.sidebar-layout{grid-template-columns:minmax(0,1fr);gap:0}.sidebar-layout__main{border-radius:12px}}.chart-menu{font-family:var(--font-body);position:relative}.chart-menu__trigger{background:var(--surface,white);border:1px solid var(--border,#e2e8f0);color:var(--text,#1f2937);font:inherit;cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;padding:.55rem .95rem;font-size:.92rem;font-weight:600;transition:border-color .15s,background .15s;display:inline-flex}.chart-menu__trigger:hover{border-color:var(--text-muted,#94a3b8)}.chart-menu--open .chart-menu__trigger{border-color:var(--primary);box-shadow:0 0 0 3px #0f766e1f}.chart-menu__trigger-icon{font-size:1.05rem;line-height:1}.chart-menu__file-input{display:none}.chart-menu__panel{background:var(--surface,white);width:340px;color:var(--text,#1f2937);border:1px solid var(--border,#e2e8f0);z-index:50;border-radius:12px;flex-direction:column;max-height:min(620px,100vh - 6rem);display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden auto;box-shadow:0 16px 48px #0f172a2e}.chart-menu__section{border-bottom:1px solid var(--border,#e2e8f0);flex-direction:column;display:flex}.chart-menu__section:last-child{border-bottom:none}.chart-menu__section{flex:none}.chart-menu__section-head{letter-spacing:.08em;color:var(--text-muted,#64748b);text-transform:uppercase;justify-content:space-between;align-items:baseline;padding:.7rem 1rem .5rem;font-size:.72rem;font-weight:700;display:flex}.chart-menu__current{text-transform:none;letter-spacing:0;color:var(--primary);font-size:.78rem;font-weight:600}.chart-menu__item{font:inherit;text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:none;align-items:flex-start;gap:.75rem;padding:.7rem 1rem;display:flex}.chart-menu__item:hover{background:var(--surface-alt,#f8fafc)}.chart-menu__item-icon{font-size:1.15rem;line-height:1.2}.chart-menu__item-body{flex-direction:column;gap:2px;display:flex}.chart-menu__item-body strong{color:var(--text);font-size:.95rem;font-weight:600}.chart-menu__item-body span{color:var(--text-muted,#64748b);font-size:.8rem;line-height:1.4}.chart-menu__board-list{flex:1;min-height:0;margin:0;padding:.25rem .5rem .5rem;list-style:none;overflow-y:auto}.chart-menu__board{width:100%;font:inherit;text-align:left;cursor:pointer;color:inherit;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:.55rem .7rem;display:flex}.chart-menu__board:hover{background:var(--surface-alt,#f8fafc)}.chart-menu__board--active,.chart-menu__board--active:hover{background:color-mix(in srgb, var(--primary) 8%, var(--surface));border-color:var(--primary)}.chart-menu__board strong{color:var(--text);font-size:.9rem;font-weight:600}.chart-menu__board span{color:var(--text-muted,#64748b);font-size:.76rem}@media (width<=480px){.chart-menu__panel{width:calc(100vw - 2rem);right:-.5rem}}.pdf-preview-overlay{z-index:1100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a8c;justify-content:center;align-items:stretch;padding:1.5rem;display:flex;position:fixed;inset:0}.pdf-preview-modal{color:var(--text,#0f172a);width:100%;max-width:1280px;font-family:var(--font-body);background:#fff;border-radius:16px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 24px 80px #00000059}.pdf-preview-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.pdf-preview-header h2{color:#0f172a;margin:0;font-size:1.15rem;font-weight:700}.pdf-preview-header p{color:#64748b;margin:2px 0 0;font-size:.85rem}.pdf-preview-close{cursor:pointer;color:#475569;background:0 0;border:none;border-radius:18px;width:36px;height:36px;font-size:22px}.pdf-preview-close:hover{background:#f1f5f9}.pdf-preview-body{flex:1;grid-template-columns:280px minmax(0,1fr);gap:0;min-height:0;display:grid}.pdf-preview-styles{background:#f8fafc;border-right:1px solid #e2e8f0;flex-direction:column;padding:1rem;display:flex;overflow:hidden}.pdf-preview-styles ul{flex-direction:column;flex:1;gap:4px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.pdf-preview-style{width:100%;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;padding:.7rem .85rem;transition:border-color .15s,box-shadow .15s;display:flex}.pdf-preview-style:hover{border-color:#cbd5e0}.pdf-preview-style--active{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 14%, transparent)}.pdf-preview-style strong{color:#0f172a;font-size:.95rem;font-weight:600}.pdf-preview-style span{color:#64748b;font-size:.8rem;line-height:1.35}.pdf-preview-download{color:#fff;font:inherit;cursor:pointer;background:#0f172a;border:none;border-radius:10px;margin-top:.85rem;padding:.8rem 1rem;font-size:.95rem;font-weight:600}.pdf-preview-download:disabled{opacity:.45;cursor:not-allowed}.pdf-preview-download:hover:not(:disabled){background:#020617}.pdf-preview-iframe-wrap{background:#475569;flex-direction:column;min-height:60vh;display:flex;position:relative}.pdf-preview-iframe{background:#fff;border:none;flex:1;width:100%;height:100%}.pdf-preview-status{color:#fff;pointer-events:none;justify-content:center;align-items:center;font-size:.95rem;font-weight:500;display:flex;position:absolute;inset:0}.pdf-preview-status--error{color:#fca5a5}@media (width<=800px){.pdf-preview-body{grid-template-columns:1fr}.pdf-preview-styles{border-bottom:1px solid #e2e8f0;border-right:none;max-height:40vh}}.chart-menu__chart-list{border-top:1px solid var(--border,#e2e8f0);border-bottom:1px solid var(--border,#e2e8f0);background:var(--surface-alt,#f8fafc);flex-direction:column;max-height:260px;display:flex;overflow-y:auto}.chart-menu__chart-note{color:var(--text-muted,#64748b);padding:.7rem 1rem;font-size:.82rem}.chart-menu__chart-row{font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:1px;padding:.55rem 1rem;display:flex}.chart-menu__chart-row:hover{background:color-mix(in srgb, var(--primary) 8%, var(--surface,white))}.chart-menu__chart-row strong{color:var(--text);font-size:.9rem;font-weight:600}.chart-menu__chart-row span{color:var(--text-muted,#64748b);font-variant-numeric:tabular-nums;font-size:.76rem}.practice-logo-row{align-items:center;gap:.85rem;margin-top:.5rem;display:flex}.practice-logo-preview{object-fit:contain;border:1px solid var(--border,#e2e8f0);background:#fff;border-radius:8px;max-width:180px;max-height:72px;padding:4px}.practice-logo-actions{gap:.4rem;display:flex}.practice-logo-empty{color:var(--text-muted,#64748b);flex:1;font-size:.82rem}.ai-settings-modal.chart-library-modal{--lib-cols:minmax(8rem, 1.7fr) minmax(4.5rem, .8fr) minmax(5.5rem, 1fr) minmax(4rem, .7fr) minmax(6.5rem, 1fr) minmax(5.5rem, .9fr);--lib-actions:9.5rem;max-width:62rem;height:min(80vh,46rem)}.chart-library-modal__body{flex-direction:column;flex:1;gap:.75rem;min-height:0;padding:1rem 1.25rem 1.25rem;display:flex}.chart-library__sub{color:var(--text-muted);margin:0;font-size:.85rem}.chart-library__search{border:1px solid var(--border-strong);width:100%;max-width:28rem;font:inherit;border-radius:8px;padding:.6rem .85rem}.chart-library__search:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 14%, transparent);outline:none}.chart-library__empty{text-align:center;color:var(--text-muted);padding:2.5rem 0;font-size:.92rem}.chart-library__table{border:1px solid var(--border);border-radius:10px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.chart-library__head-row{background:var(--primary);border-bottom:none}.chart-library__head-row:not(.chart-library__row){grid-template-columns:var(--lib-cols) var(--lib-actions,4.5rem);align-items:center;gap:1rem;padding:0 .75rem;display:grid}.chart-library__head-main{cursor:default}.chart-library__head-main:hover{background:0 0}.chart-library__due-toggle{font:inherit;color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff24;border:1px solid #ffffff8c;border-radius:999px;padding:.25rem .55rem;font-size:.72rem;font-weight:600}.chart-library__due-toggle:hover{background:#ffffff42}.chart-library__due-toggle--on{color:var(--primary);background:#fff;border-color:#fff}.chart-library__more{justify-content:center;padding:.75rem 0 .25rem;display:flex}.chart-library__head-row [role=columnheader]{color:#ffffffeb;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;padding:.55rem 0;font-size:.7rem;font-weight:600;overflow:hidden}.chart-library__sort{font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;padding:0;display:inline-flex}.chart-library__sort:hover{color:#fff;text-decoration:underline}.chart-library__sort-arrow{min-width:.7rem;font-size:.6rem}.chart-library__scroll{flex:1;min-height:0;overflow-y:auto}.chart-library__row{grid-template-columns:1fr var(--lib-actions,4.5rem);border-bottom:1px solid var(--border);align-items:stretch;display:grid}.chart-library__row:nth-child(2n){background:var(--surface-sunken,#fafbfc)}.chart-library__row-main{grid-template-columns:var(--lib-cols);min-width:0;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:1rem;padding:.65rem 0 .65rem .75rem;display:grid}.chart-library__row-main:hover{background:color-mix(in srgb, var(--primary) 6%, transparent)}.chart-library__patient{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.chart-library__cell{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.chart-library__row-actions{justify-content:center;align-items:center;display:flex}.chart-library__delete{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.5rem .75rem;font-size:.8rem;font-weight:500}.chart-library__delete:hover{color:var(--danger)}@media (width<=700px){.ai-settings-modal.chart-library-modal{--lib-cols:minmax(6.5rem, 1.6fr) minmax(3.5rem, .7fr) minmax(3.5rem, .7fr) minmax(6rem, 1fr);height:min(88vh,46rem)}.chart-library__cell--species,.chart-library__cell--recall,.chart-library__head-row [role=columnheader]:nth-child(3),.chart-library__head-row [role=columnheader]:nth-child(6){display:none}}.ai-settings-modal.admin-panel{--lib-cols:minmax(11rem, 1.5fr) minmax(8rem, 1.2fr) 4rem minmax(9rem, 1fr) minmax(6rem, .8fr)}.admin-panel .chart-library__row{grid-template-columns:1fr}.admin-panel__row--active{background:color-mix(in srgb, var(--primary) 10%, transparent)!important}.admin-panel__actions{border:1px solid var(--border);border-radius:10px;flex-direction:column;flex:0 auto;gap:.75rem;min-height:0;padding:.85rem 1rem;display:flex;overflow-y:auto}.admin-panel .chart-library__table{min-height:9rem}.admin-panel__names{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.admin-panel__names .patient-form__label{flex:14rem}.admin-panel__buttons{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.chart-library__controls{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.chart-library__filter-select{font:inherit;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:8px;max-width:13rem;padding:.55rem .6rem;font-size:.85rem;font-weight:600}.chart-library__filter-select:focus-visible{outline:2px solid var(--primary,#0c6b63);outline-offset:1px}.chart-library__filter{font:inherit;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:8px;padding:.55rem .9rem;font-size:.85rem;font-weight:600}.chart-library__filter:hover:not(:disabled){border-color:var(--primary);color:var(--text)}.chart-library__filter:disabled{opacity:.5;cursor:default}.chart-library__filter--primary{background:var(--primary);border-color:var(--primary);color:#fff;margin-left:auto}.chart-library__filter--primary:hover:not(:disabled){filter:brightness(1.06);color:#fff}.chart-library__filter--on{background:var(--primary);border-color:var(--primary);color:#fff}.chart-library__recall--due{color:var(--primary);font-weight:600}.chart-library__recall--overdue{color:var(--danger);font-weight:600}.chart-library__disclosure{width:1em;color:var(--text-muted);font-size:.8em;display:inline-block}.chart-library__visit{background:var(--surface-sunken,#fafbfc)}.chart-library__visit-main{font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:minmax(9rem,1fr) minmax(10rem,1.4fr);align-items:center;gap:1rem;min-width:0;padding:.5rem 0 .5rem 2.25rem;display:grid}.chart-library__visit-main:hover{background:color-mix(in srgb, var(--primary) 6%, transparent)}.chart-library__visit-date{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.patient-form__hint{color:var(--text-muted);margin-top:.25rem;font-size:.78rem;font-weight:400;display:block}.admin-panel__tabs{border-bottom:1px solid var(--border);gap:.4rem;margin-bottom:.25rem;display:flex}.admin-panel__banner{z-index:3;background:var(--surface,#fff);padding-top:.25rem;position:sticky;top:0}.admin-panel__plan{margin:.75rem 0}.admin-panel__plan-toggle{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.35rem;display:flex}.admin-panel__plan-opt{font:inherit;border:1px solid var(--border-strong,#cbd5e1);background:var(--surface,#fff);color:var(--text-muted,#475569);cursor:pointer;border-radius:999px;padding:.35rem .9rem;font-size:.85rem;font-weight:600}.admin-panel__plan-opt--on{background:var(--primary,#0c6b63);border-color:var(--primary,#0c6b63);color:#fff}.admin-panel__plan-opt:disabled{cursor:default}.admin-panel__plan-note{color:var(--text-muted,#64748b);font-size:.78rem}.admin-panel__ai{flex-direction:column;gap:1.5rem;padding-top:.5rem;display:flex}.admin-panel__ai-block{flex-direction:column;gap:.4rem;display:flex}.admin-panel__ai-total{color:var(--text);margin:0;font-size:.9rem}.admin-panel__usage-table{border-collapse:collapse;width:100%;font-size:.82rem}.admin-panel__usage-table th,.admin-panel__usage-table td{text-align:right;border-bottom:1px solid var(--border,#e2e8f0);padding:.4rem .5rem}.admin-panel__usage-table th:first-child,.admin-panel__usage-table td:first-child{text-align:left}.admin-panel__usage-table th{color:var(--text-muted,#64748b);font-weight:600}.admin-panel__tab{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.45rem .9rem;font-size:.85rem;font-weight:600}.admin-panel__tab--on{color:var(--primary);border-bottom-color:var(--primary)}.admin-panel .admin-panel__practice-row{grid-template-columns:minmax(9rem,1.5fr) minmax(9rem,1.5fr) 4.5rem 4rem 7rem}.admin-panel .admin-panel__account-row{grid-template-columns:minmax(11rem,1.5fr) minmax(9rem,1.3fr) 4rem minmax(9.5rem,1.1fr) minmax(8rem,1fr)}.admin-panel__billing-status{background:var(--surface-sunken,#e8eced);color:var(--text-muted,#55677a);white-space:nowrap;border-radius:999px;padding:.1rem .5rem;font-size:.72rem;font-weight:600;display:inline-block}.admin-panel__billing-status--good{color:#0c6b48;background:#e3f2ec}.admin-panel__billing-status--warn{color:#7a4a12;background:#fdf3e7}.admin-panel__billing-status--bad{color:#92311f;background:#fbeae7}.admin-panel__billing{flex-direction:column;gap:1.5rem;padding-top:.5rem;display:flex}.ai-settings-modal.admin-panel{--lib-actions:5rem}.chart-library__row-actions{justify-content:flex-end;align-items:center;gap:.35rem;padding-right:.75rem;display:flex}.chart-library__act{border:1px solid var(--border-strong);font:inherit;color:var(--primary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:.25rem .5rem;font-size:.78rem;font-weight:600}.chart-library__act:hover{border-color:var(--primary)}.chart-library__clear-recall{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent);padding:.15rem .4rem;font-size:1rem;line-height:1}.chart-library__clear-recall:hover{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent)}.chart-library__patient-main{flex-direction:column;min-width:0;display:inline-flex}.chart-library__owner{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;font-weight:400;overflow:hidden}.App{width:100%;min-height:100vh;color:var(--text)}.login-container{background:var(--bg-page,#f1f5f9);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-box{background:#fff;border:1px solid #e2e8f0;border-radius:16px;width:100%;max-width:420px;padding:3rem;animation:.4s fadeIn;box-shadow:0 8px 30px #0f172a14}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{color:#1e293b;letter-spacing:-.01em;margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.login-header p{color:#64748b;margin:0;font-size:.95rem}.login-form{flex-direction:column;gap:1rem;display:flex}.login-field{flex-direction:column;gap:.35rem;display:flex}.login-field__label{color:var(--text,#1b2733);font-size:.85rem;font-weight:600}.login-field .login-input{width:100%}.login-input{border:1px solid #cbd5e1;border-radius:10px;padding:.85rem 1rem;font-family:inherit;font-size:1rem;transition:border-color .15s,box-shadow .15s}.login-input:focus{border-color:var(--primary,#0f766e);outline:none;box-shadow:0 0 0 3px #0f766e24}.login-input::placeholder{color:#64748b}.login-hint{color:var(--text-muted,#55677a);text-align:left;margin-top:-.55rem;font-size:.82rem}.login-error{color:var(--danger,#b23c2a);text-align:center;background:var(--danger-tint,#faf1ef);border:1px solid color-mix(in srgb, var(--danger,#b23c2a) 35%, white);border-radius:8px;padding:.75rem;font-size:.95rem;font-weight:500;animation:.5s shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.login-button{background:var(--primary,#0f766e);color:#fff;cursor:pointer;border:none;border-radius:10px;margin-top:.5rem;padding:.85rem 2rem;font-family:inherit;font-size:1rem;font-weight:600;transition:background .15s}.login-button:hover{background:var(--primary-end,#0c5d57)}.login-button:focus-visible{outline:2px solid var(--primary,#0f766e);outline-offset:2px}@media (width<=768px){.login-box{padding:2rem}.login-header h1{font-size:1.5rem}.login-input,.login-button{font-size:1rem}}.login-notice{color:var(--primary,#0c6b63);text-align:center;background:var(--primary-tint,#eff6f5);border:1px solid color-mix(in srgb, var(--primary,#0c6b63) 30%, white);border-radius:8px;padding:.75rem;font-size:.9rem;font-weight:500}.login-switch{font:inherit;color:var(--primary,#0c6b63);cursor:pointer;text-align:center;background:0 0;border:none;padding:.25rem;font-size:.88rem;font-weight:500}.login-switch:hover{text-decoration:underline}.login-logo-field{color:#64748b;text-align:left;flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.login-logo-field input[type=file]{font-size:.82rem}.login-plan{text-align:left;border:none;flex-direction:column;gap:.5rem;margin:0;padding:0;display:flex}.login-plan__legend{color:#64748b;margin-bottom:.15rem;padding:0;font-size:.82rem}.login-plan__opt{cursor:pointer;border:1px solid #e2e8f0;border-radius:10px;align-items:flex-start;gap:.6rem;padding:.7rem .85rem;transition:border-color .15s,background .15s;display:flex}.login-plan__opt--on{border-color:var(--primary,#0c6b63);background:color-mix(in srgb, var(--primary,#0c6b63) 6%, white)}.login-plan__opt input{margin-top:.2rem}.login-plan__body{flex-direction:column;gap:.15rem;display:flex}.login-plan__body strong{color:#0f172a;font-size:.92rem}.login-plan__body span{color:#64748b;font-size:.8rem;line-height:1.3}
