.button{appearance:none;border:1px solid var(--primary);background:var(--primary);color:var(--surface);cursor:pointer;border-radius:8px;padding:.6rem .9rem;font-weight:650}.button:disabled{cursor:not-allowed;opacity:.55}.auth-page{grid-template-rows:auto 1fr auto;min-height:100dvh;padding:2rem 2.5rem;display:grid}.auth-page__brand{align-items:center;gap:.65rem;width:fit-content;display:inline-flex}.auth-page__mark{background:var(--primary);width:1.9rem;height:1.9rem;color:var(--surface);border-radius:8px;place-items:center;font-size:.75rem;font-weight:800;display:grid}.auth-page__brand-copy{line-height:1.2;display:grid}.auth-page__brand-copy strong{letter-spacing:.02em;font-size:.95rem}.auth-page__brand-copy small{color:var(--muted);font-size:.75rem}.auth-page__main{place-items:center;padding-block:2rem;display:grid}.auth-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(100%,27.5rem);padding:2.1rem;box-shadow:0 12px 30px #2423210f}.auth-card__heading h1{margin:0;font-size:clamp(1.75rem,3vw,2rem);line-height:1.25}.auth-card__heading p{color:var(--muted);margin:.55rem 0 0}.auth-switch{background:var(--soft);border-radius:10px;grid-template-columns:repeat(2,1fr);gap:.25rem;margin:1.6rem 0 1.35rem;padding:.25rem;display:grid}.auth-switch a{min-height:2.5rem;color:var(--muted);border-radius:8px;place-items:center;font-weight:650;text-decoration:none;display:grid}.auth-switch a[aria-current=page]{background:var(--surface);color:var(--ink);box-shadow:0 1px 4px #24232114}.auth-form{gap:1rem;margin-top:1.5rem;display:grid}.auth-switch+.auth-form,.auth-switch+.auth-card__alert+.auth-form,.auth-card__notice+.auth-form,.auth-card__notice+.auth-card__alert+.auth-form{margin-top:0}.auth-form__submit{border-radius:999px;width:100%;margin-top:.35rem}.auth-card__alert{background:color-mix(in srgb, var(--danger) 9%, var(--surface));color:var(--danger);border-radius:8px;margin:1rem 0 0;padding:.7rem .8rem}.auth-card__notice{background:color-mix(in srgb, var(--success) 10%, var(--surface));color:var(--success);border-radius:8px;margin:1rem 0 0;padding:.7rem .8rem}.auth-card__note{border-top:1px solid var(--border);color:var(--muted);margin:.6rem 0 0;padding-top:.9rem;font-size:.8rem}.auth-page__footer{color:var(--muted);text-align:center;font-size:.78rem}.form-field{gap:.4rem;display:grid}.form-field__label{color:var(--ink);font-size:.9rem;font-weight:650}.form-field :is(input,select,textarea){border:1px solid var(--border);background:var(--surface);width:100%;color:var(--ink);border-radius:8px;padding:.65rem .75rem}.form-field__hint,.form-field__error{margin:0;font-size:.85rem}.form-field__hint{color:var(--muted)}.form-field__error{color:var(--danger)}.modal{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(100% - 2rem,38rem);color:var(--ink);padding:0;box-shadow:0 20px 55px #24232133}.modal::backdrop{background:#24232159}.modal__content{padding:1.5rem}.modal__header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.modal__title{margin:0 0 .8rem;font-size:1.25rem}.modal__close{min-width:2.75rem;min-height:2.75rem;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;display:grid}.modal__close:hover{background:var(--soft)}.modal__body>:first-child{margin-top:0}.modal__body>:last-child{margin-bottom:0}.data-table__scroll{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table caption{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.data-table :is(th,td){border-bottom:1px solid var(--border);padding:.8rem 1rem}.data-table th{background:var(--soft);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.8rem;font-weight:700}.data-table tbody tr:last-child td{border-bottom:0}.usage-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);gap:.85rem;padding:1.2rem;display:grid}.usage-card__heading{justify-content:space-between;align-items:start;gap:1rem;display:flex}.usage-card h3,.usage-card p{margin:0}.usage-card h3{font-size:1rem}.usage-card__heading p,.usage-card__summary{color:var(--muted);font-size:.875rem}.usage-card__usage{align-items:center;gap:.75rem;display:flex}.usage-card__progress{width:100%;min-width:0;height:.55rem;accent-color:var(--accent);flex:1}.usage-card__summary{white-space:nowrap;flex:none}.status-badge{background:var(--soft);color:var(--muted);border-radius:999px;align-items:center;padding:.22rem .55rem;font-size:.8rem;font-weight:650;display:inline-flex}.status-badge--success{background:color-mix(in srgb, var(--success) 14%, var(--surface));color:var(--success)}.status-badge--danger{background:color-mix(in srgb, var(--danger) 12%, var(--surface));color:var(--danger)}.status-badge--warning{background:var(--accent-soft);color:var(--warning-ink)}.toast-region{z-index:10;gap:.6rem;width:min(24rem,100vw - 2rem);display:grid;position:fixed;bottom:1rem;right:1rem}.toast{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink);justify-content:space-between;align-items:center;gap:1rem;padding:.8rem .9rem;display:flex;box-shadow:0 10px 25px #2423211f}.toast--success{border-color:color-mix(in srgb, var(--success) 45%, var(--border))}.toast--danger{border-color:color-mix(in srgb, var(--danger) 45%, var(--border))}.toast__close{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:.2rem}@media (width<=640px){.auth-page{padding:1.25rem}.auth-page__main{align-items:center;padding-block:1.5rem}.auth-card{padding:1.5rem}.data-table :is(th,td){white-space:nowrap;padding:.65rem .75rem}.usage-card__heading{flex-direction:column;align-items:stretch}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.admin-shell{grid-template-columns:15.5rem minmax(0,1fr);min-height:100vh;display:grid}.admin-sidebar{background:var(--sidebar);border-right:1px solid var(--border);flex-direction:column;min-height:100vh;padding:1.25rem;display:flex}.admin-brand{color:var(--ink);letter-spacing:.08em;align-items:center;gap:.75rem;font-size:.78rem;display:flex}.admin-brand strong{background:var(--primary);width:2rem;height:2rem;color:var(--surface);letter-spacing:0;border-radius:.65rem;place-items:center;display:grid}.admin-brand span{gap:.1rem;font-weight:750;display:grid}.admin-brand small{color:var(--muted);letter-spacing:0;font-size:.7rem;font-weight:500}.admin-nav{gap:.3rem;margin-top:2rem;display:grid}.admin-nav__link{color:var(--muted);border-radius:.6rem;padding:.65rem .75rem;font-weight:650;text-decoration:none}.admin-nav__link:hover{background:var(--soft);color:var(--ink)}.admin-nav__link--current{background:var(--accent-soft);color:var(--ink)}.admin-sidebar__status{color:var(--success);margin-top:auto;font-size:.85rem}.admin-shell__main{min-width:0}.admin-page-header{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--canvas) 94%, var(--surface));justify-content:space-between;align-items:center;gap:1rem;min-height:6.5rem;padding:1.4rem clamp(1.25rem,4vw,3.5rem);display:flex}.admin-page-header h1,.admin-page-header p{margin:0}.admin-page-header h1{font-size:clamp(1.3rem,2vw,1.75rem)}.admin-page-header p{color:var(--muted);margin-top:.3rem}.admin-account{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:.45rem .7rem}.admin-content{max-width:90rem;padding:clamp(1.25rem,4vw,3rem)}.admin-page-stack{gap:1.25rem;display:grid}.admin-card,.admin-health-card,.admin-empty{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:1.25rem}.admin-card h2{margin:0 0 .9rem;font-size:1rem}.admin-health-card,.admin-action-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-health-card p,.admin-action-row p,.admin-usage-summary p{color:var(--muted);margin:.25rem 0 0}.admin-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.admin-metric{gap:.3rem;display:grid}.admin-metric p,.admin-metric strong,.admin-metric span{margin:0}.admin-metric p,.admin-metric span{color:var(--muted);font-size:.88rem}.admin-metric strong{font-size:1.65rem}.admin-usage-summary{gap:.9rem;display:grid}.admin-usage-summary progress{width:100%;accent-color:var(--success)}.admin-attention ul,.admin-plain-list{gap:.55rem;margin:0 0 1rem;padding-left:1.2rem;display:grid}.admin-toolbar{flex-wrap:wrap;gap:1rem;display:flex}.admin-toolbar label,.admin-form label{color:var(--ink);gap:.35rem;font-weight:650;display:grid}.admin-toolbar input,.admin-toolbar select,.admin-form input{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:.5rem;padding:.6rem .7rem}.admin-toolbar input{min-width:16rem}.admin-empty{text-align:center}.admin-action-row p{max-width:40rem}.admin-form{gap:1rem;display:grid}.admin-form p{color:var(--muted);margin:0}.admin-form__actions{justify-content:end;gap:.75rem;display:flex}.admin-form__actions>button:not(.button),.admin-empty button{border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:8px;padding:.6rem .9rem}.admin-menu-button,.admin-mobile-menu{display:none}.admin-secondary-button{border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:999px;justify-self:start;padding:.5rem .8rem;font-weight:650}.admin-list-error{border:1px solid color-mix(in srgb, var(--danger) 42%, var(--border));border-radius:var(--radius);background:var(--surface);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;display:flex}.admin-list-error p{color:var(--danger);margin:0}.admin-list-error button{border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:8px;padding:.5rem .7rem}.admin-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.admin-product-card{gap:1rem;display:grid}.admin-product-card__header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.admin-product-card h2,.admin-product-card h3,.admin-product-card p{margin:0}.admin-product-card h2{font-size:1.05rem}.admin-product-card h3{font-size:.9rem}.admin-product-card code{color:var(--muted);font-size:.85rem}.admin-product-card>p{color:var(--muted);font-size:.9rem}.admin-product-card ul{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.admin-product-card li{border-top:1px solid var(--border);justify-content:space-between;gap:1rem;padding-top:.6rem;display:flex}.admin-product-card li span{color:var(--muted);text-align:right;font-size:.9rem}.admin-metric-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-section-heading{justify-content:space-between;align-items:end;gap:1rem;display:flex}.admin-section-heading h2,.admin-section-heading p{margin:0}.admin-section-heading h2{font-size:1rem}.admin-section-heading p,.admin-section-heading>span{color:var(--muted);margin-top:.3rem;font-size:.88rem}.admin-usage-grid,.admin-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.admin-notice{border-radius:var(--radius);background:var(--accent-soft);padding:.75rem .9rem;color:var(--ink)!important}.admin-form select,.admin-form textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--ink);font:inherit;border-radius:.5rem;padding:.6rem .7rem}.admin-form textarea{resize:vertical}.admin-account-card{align-content:start;gap:1rem;display:grid}.admin-account-card h2,.admin-account-card p{margin:0}.admin-account-card p{color:var(--muted);margin-top:.3rem}.admin-account-card dl{gap:.75rem;margin:0;display:grid}.admin-account-card dl>div{border-top:1px solid var(--border);justify-content:space-between;gap:1rem;padding-top:.75rem;display:flex}.admin-account-card dt{color:var(--muted)}.admin-account-card dd{margin:0;font-weight:650}.admin-danger-button{border:1px solid color-mix(in srgb, var(--danger) 45%, var(--border));background:var(--surface);color:var(--danger);cursor:pointer;border-radius:999px;justify-self:start;padding:.5rem .8rem;font-weight:650}@media (width<=767px){.admin-shell{display:block}.admin-sidebar{display:none}.admin-page-header{min-height:5.5rem;padding-left:4.4rem}.admin-account{display:none}.admin-content{padding:1.25rem 1rem 3rem}.admin-menu-button{z-index:2;border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:.55rem;place-items:center;padding:.45rem;display:grid;position:fixed;top:1.55rem;left:1rem}.admin-mobile-menu{z-index:5;background:#24232157;display:block;position:fixed;inset:0}.admin-mobile-menu__panel{background:var(--surface);width:min(19rem,86vw);min-height:100%;padding:1.25rem}.admin-mobile-menu__header{justify-content:space-between;align-items:center;font-weight:700;display:flex}.admin-mobile-menu__header button{color:var(--ink);background:0 0;border:0;border-radius:.4rem;padding:.35rem;display:grid}.admin-metric-grid,.admin-metric-grid--three,.admin-product-grid,.admin-usage-grid,.admin-settings-grid{grid-template-columns:1fr}.admin-health-card,.admin-action-row,.admin-section-heading{flex-direction:column;align-items:start}.admin-toolbar{display:grid}.admin-toolbar input{width:100%;min-width:0}.data-table__scroll{background:0 0;border:0;border-radius:0;overflow:visible}.data-table,.data-table tbody,.data-table tr,.data-table td{width:100%;display:block}.data-table thead{display:none}.data-table tbody{gap:.75rem;display:grid}.data-table tbody tr{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:.65rem .8rem}.data-table td{text-align:right;white-space:normal;border:0;justify-content:space-between;gap:1rem;padding:.45rem 0;display:flex}.data-table td:before{content:attr(data-label);color:var(--muted);text-align:left;font-size:.8rem;font-weight:650}.admin-list-error,.admin-product-card li{flex-direction:column;align-items:start}.admin-product-card li span{text-align:left}.admin-form__actions{flex-direction:column-reverse}.admin-form__actions .button,.admin-form__actions>button:not(.button){width:100%}}:root{--canvas:#f7f5ef;--sidebar:#f3f0e8;--surface:#fffdf9;--soft:#f1efe9;--ink:#242321;--muted:#706e68;--border:#e3dfd5;--primary:#292826;--accent:#5f84d6;--accent-soft:#e8eef9;--warning-ink:#214d8f;--success:#33745a;--danger:#ad3f3f;--radius:12px;--radius-lg:16px}:where(*){box-sizing:border-box}:where(body){background:var(--canvas);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;overflow-x:clip}:where(button,input,select,textarea){font:inherit;min-height:2.75rem}:where(html,body,#root){min-width:0;max-width:100%}:where(img,svg){max-width:100%}:where(button,a,input,select,textarea):focus-visible{outline:3px solid var(--accent);outline-offset:2px}.portal-shell .admin-sidebar{background:#f8f7f2}.portal-shell .admin-page-header{background:#fffdf9}.portal-content{max-width:78rem}.portal-stack{gap:1.25rem;display:grid}.portal-section-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.portal-section-heading h2,.portal-card h2{margin:0;font-size:1.05rem}.portal-section-actions{align-items:center;gap:.75rem;display:flex}.portal-limit{background:var(--soft);color:var(--muted);border-radius:999px;padding:.3rem .55rem;font-size:.8rem;font-weight:650}.portal-usage-grid,.portal-security-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.portal-usage-grid .usage-card{min-height:10.5rem}.portal-usage-grid .usage-card__heading{align-items:center}.portal-usage-grid .usage-card__heading p{margin-top:.28rem}.portal-usage-grid .usage-card__action{margin-left:auto}.portal-text-link{min-height:2.75rem;color:var(--warning-ink);cursor:pointer;font:inherit;text-underline-offset:.2rem;background:0 0;border:0;align-items:center;padding:.25rem 0;font-weight:650;text-decoration:underline;display:inline-flex}.portal-note,.portal-card>div>p,.portal-form>div>p{color:var(--muted);margin:.35rem 0 0}.portal-note--info{border-radius:var(--radius);background:var(--accent-soft);color:var(--warning-ink);padding:.8rem .9rem}.portal-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:1.25rem}.portal-form{gap:1rem;display:grid}.portal-dialog-actions{justify-content:flex-end;gap:.75rem;display:flex}.portal-dialog-actions>button:not(.button),.portal-error button{border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:8px;padding:.6rem .9rem;font-weight:650}.portal-instructions{gap:1rem;display:grid}.portal-instructions p{margin:0}.portal-instructions pre{overflow-wrap:anywhere;white-space:pre-wrap;border:1px solid var(--border);border-radius:var(--radius);background:var(--soft);max-height:min(52vh,32rem);color:var(--ink);margin:0;padding:1rem;font:.82rem/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.portal-copy-button{padding:.4rem .65rem}.portal-copy-error{color:var(--danger);margin:0}.portal-error{border:1px solid color-mix(in srgb, var(--danger) 42%, var(--border));border-radius:var(--radius);background:var(--surface);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;display:flex}.portal-error p{color:var(--danger);margin:0}.portal-details{gap:.75rem;margin:0;display:grid}.portal-details>div{border-top:1px solid var(--border);justify-content:space-between;gap:1rem;padding-top:.75rem;display:flex}.portal-details dt{color:var(--muted)}.portal-details dd{text-align:right;margin:0;font-weight:650}.portal-danger-button{border:1px solid color-mix(in srgb, var(--danger) 45%, var(--border));background:var(--surface);color:var(--danger);cursor:pointer;border-radius:999px;justify-self:start;padding:.55rem .85rem;font-weight:650}@media (width<=767px){.portal-usage-grid,.portal-security-grid{grid-template-columns:1fr}.portal-section-heading{flex-direction:column;align-items:start}.portal-section-actions{justify-content:space-between;width:100%}.portal-dialog-actions{flex-direction:column-reverse}.portal-dialog-actions .button,.portal-dialog-actions>button:not(.button){width:100%}}
