.account-labels-page{min-width:0}.account-labels-create{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface-subtle)}.account-labels-create .section-heading{margin-bottom:var(--space-3)}.account-labels-create__form,.account-labels-edit{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--space-3)}.account-labels-field,.account-label-selector{display:grid;min-width:0;gap:var(--space-1)}.account-labels-field label,.account-label-selector label{font-weight:600}.account-labels-field input,.account-label-selector select{width:100%;min-height:44px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);font-size:1rem}.account-labels-field input:hover,.account-label-selector select:hover{border-color:var(--color-primary)}.account-labels-field input:disabled,.account-label-selector select:disabled{cursor:not-allowed;opacity:.55}.account-label-selector{width:min(100%,320px)}.account-labels-button,.account-labels-icon-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:var(--space-2);border-radius:var(--radius-control);font-weight:600;cursor:pointer;transition:background-color var(--duration-default) ease-out,border-color var(--duration-default) ease-out,color var(--duration-default) ease-out}.account-labels-button{padding:0 var(--space-4);border:1px solid transparent}.account-labels-button--primary{background:var(--color-primary);color:var(--color-on-primary)}.account-labels-button--primary:hover:not(:disabled){background:var(--color-primary-hover)}.account-labels-button--secondary{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text)}.account-labels-button--secondary:hover:not(:disabled),.account-labels-icon-button:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-surface-subtle)}.account-labels-button:disabled,.account-labels-icon-button:disabled{cursor:not-allowed;opacity:.45}.account-labels-icon-button{width:44px;padding:0;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.account-labels-icon-button--danger{color:var(--color-danger)}.account-labels-feedback,.account-labels-error{margin:0;padding:var(--space-3);border-left:3px solid var(--color-info);background:var(--color-surface-subtle)}.account-labels-error{border-left-color:var(--color-danger);color:var(--color-danger)}.account-labels-error p{margin:0 0 var(--space-2)}.account-labels-list{margin:0;padding:0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-surface);list-style:none}.account-labels-list__item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.account-labels-list__item:last-child{border-bottom:0}.account-labels-list__summary{display:grid;min-width:0;gap:var(--space-1)}.account-labels-list__summary strong{overflow-wrap:anywhere}.account-labels-status{display:inline-flex;width:fit-content;align-items:center;gap:var(--space-1);color:var(--color-text-muted);font-size:.875rem}.account-labels-status--active svg{color:var(--color-success)}.account-labels-status--inactive svg{color:var(--color-warning)}.account-labels-list__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.account-labels-list__actions .account-labels-error{flex:0 0 100%}.account-labels-edit{grid-column:1 / -1;grid-template-columns:minmax(0,1fr) auto auto;width:100%;padding-top:var(--space-2)}.account-labels-edit .account-labels-error{grid-column:1 / -1}@media(max-width:480px){.account-labels-create__form,.account-labels-edit,.account-labels-list__item{grid-template-columns:minmax(0,1fr)}.account-labels-button{width:100%}.account-labels-list__actions{justify-content:flex-start}}.logout-dialog-backdrop{align-items:center;background:#17211d8c;display:flex;inset:0;justify-content:center;padding:var(--space-4);position:fixed;z-index:var(--z-dialog)}.logout-data-dialog{background:var(--color-surface);border-radius:var(--radius-surface);box-shadow:var(--shadow-dialog);display:grid;gap:var(--space-4);max-height:calc(100dvh - 32px);max-width:520px;overflow:auto;padding:var(--space-6);width:100%}.logout-data-dialog header,.logout-data-dialog header>div{align-items:center;display:flex;gap:var(--space-2)}.logout-data-dialog header{justify-content:space-between}.logout-data-dialog h2{font-size:var(--font-size-lg);margin:0}.logout-data-options{border-top:1px solid var(--color-border);display:grid}.logout-data-option{align-items:center;background:transparent;border:0;border-bottom:1px solid var(--color-border);color:var(--color-text);cursor:pointer;display:grid;gap:var(--space-3);grid-template-columns:auto minmax(0,1fr);min-height:72px;padding:var(--space-3) 0;text-align:left;width:100%}.logout-data-option:disabled{cursor:not-allowed;opacity:.5}.logout-data-option>span{display:grid;gap:var(--space-1)}.logout-data-option small,.logout-dialog-status{color:var(--color-text-muted)}.logout-data-option--danger>svg,.logout-data-option--danger strong{color:var(--color-danger)}.logout-dialog-status{margin:0}@media(max-width:560px){.logout-dialog-backdrop{align-items:end;padding:0}.logout-data-dialog{border-radius:var(--radius-surface) var(--radius-surface) 0 0;max-height:calc(100dvh - var(--space-4));padding:var(--space-4)}}.sync-page{gap:var(--space-6)}.sync-page__heading{align-items:center}.sync-page__heading>svg{color:var(--color-primary);flex:0 0 auto}.sync-loading{color:var(--color-text-muted);min-height:160px;padding-top:var(--space-8)}.sync-merge-summary{border-bottom:1px solid var(--color-border);border-top:1px solid var(--color-border);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.sync-merge-summary>div{display:grid;gap:var(--space-2);padding:var(--space-4) 0}.sync-merge-summary>div+div{border-left:1px solid var(--color-border);padding-left:var(--space-4)}.sync-merge-summary dt{align-items:center;color:var(--color-text-muted);display:flex;gap:var(--space-2)}.sync-merge-summary dd{font-variant-numeric:tabular-nums;font-weight:700;margin:0}.sync-notice{align-items:start;border-left:3px solid var(--color-info);display:grid;gap:var(--space-3);grid-template-columns:auto minmax(0,1fr);padding:var(--space-4)}.sync-notice--success{border-color:var(--color-success)}.sync-notice--warning{border-color:var(--color-warning)}.sync-notice--danger{border-color:var(--color-danger)}.sync-notice h2,.sync-notice p{margin:0}.sync-notice h2{font-size:var(--font-size-md)}.sync-notice p{color:var(--color-text-muted);margin-top:var(--space-1)}.sync-confirm-check{align-items:center;cursor:pointer;display:flex;gap:var(--space-2);min-height:var(--control-height);margin-top:var(--space-3)}.sync-confirm-check input{height:20px;width:20px}.sync-actions{align-items:center;border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:var(--space-3);padding-top:var(--space-4)}.sync-actions>span{color:var(--color-text-muted);font-size:var(--font-size-sm)}@media(max-width:640px){.sync-merge-summary{grid-template-columns:1fr}.sync-merge-summary>div+div{border-left:0;border-top:1px solid var(--color-border);padding-left:0}.sync-actions{align-items:stretch;flex-direction:column}.sync-actions .button{width:100%}}.sync-status{align-items:center;background:transparent;border:0;color:var(--color-text-muted);display:inline-flex;flex:0 0 auto;font:inherit;font-size:var(--font-size-sm);gap:var(--space-1);min-height:var(--control-height);padding:0 var(--space-2);text-decoration:none;white-space:nowrap}button.sync-status,a.sync-status{cursor:pointer}.sync-status--conflict{color:var(--color-danger);font-weight:600}.sync-conflict-list{border-top:1px solid var(--color-border);list-style:none;margin:0;padding:0}.sync-conflict-list li{align-items:start;border-bottom:1px solid var(--color-border);display:grid;gap:var(--space-3);grid-template-columns:auto minmax(0,1fr) auto auto;padding:var(--space-4) 0}.sync-conflict-list>li>svg{color:var(--color-danger)}.sync-conflict-list__main{display:grid;gap:var(--space-1)}.sync-conflict-list__main span,.sync-conflict-list time,.sync-conflict-list dt{color:var(--color-text-muted);font-size:var(--font-size-sm)}.sync-conflict-list code{overflow-wrap:anywhere}.sync-conflict-list dl{display:flex;gap:var(--space-4);margin:0}.sync-conflict-list dl>div{display:grid;gap:var(--space-1)}.sync-conflict-list dd{font-variant-numeric:tabular-nums;margin:0}@media(max-width:720px){.sync-conflict-list li{grid-template-columns:auto minmax(0,1fr)}.sync-conflict-list dl,.sync-conflict-list time{grid-column:2}}.activity-theme-root{--theme-background: #edeff7;--theme-surface: #ffffff;--theme-surface-subtle: #edeff6;--theme-text: #221f35;--theme-text-muted: #6e6a84;--theme-border: #c9cee0;--theme-primary: #4c5c9e;--theme-primary-hover: #414e86;--theme-on-primary: #ffffff;--theme-accent: #b8486f;--theme-focus: #2a3260;--theme-navigation: #fbf8fc;--theme-cover-overlay: #221f35d6;--theme-focal-x: 50%;--theme-focal-y: 50%;--photocard-radius: 10px;--photocard-meta-height: 30px;--photocard-meta-font-size: .75rem;--photocard-qty-color: var(--theme-primary);min-block-size:100%;color:var(--theme-text);background:var(--theme-background);--color-canvas: var(--theme-background);--color-surface: var(--theme-surface);--color-surface-subtle: var(--theme-surface-subtle);--color-text: var(--theme-text);--color-text-muted: var(--theme-text-muted);--color-border: var(--theme-border);--color-primary: var(--theme-primary);--color-primary-hover: var(--theme-primary-hover);--color-on-primary: var(--theme-on-primary);--color-focus: var(--theme-focus)}.app-shell--themed-user{--user-backdrop: radial-gradient(128% 44% at 50% -2%, color-mix(in srgb, var(--theme-surface) 34%, transparent), transparent 62%), radial-gradient(90% 34% at 50% 104%, color-mix(in srgb, var(--theme-surface) 26%, transparent), transparent 70%), linear-gradient(180deg, color-mix(in srgb, var(--theme-primary) 62%, var(--theme-background)) 0%, color-mix(in srgb, var(--theme-primary) 48%, var(--theme-background)) 15%, color-mix(in srgb, var(--theme-primary) 34%, var(--theme-background)) 32%, color-mix(in srgb, var(--theme-primary) 18%, var(--theme-background)) 50%, color-mix(in srgb, var(--theme-accent) 14%, var(--theme-background)) 66%, color-mix(in srgb, var(--theme-accent) 24%, var(--theme-background)) 84%, color-mix(in srgb, var(--theme-accent) 34%, var(--theme-background)) 100%);--user-paper: var(--theme-surface);--user-paper-sub: var(--theme-surface-subtle);--user-paper-gloss: color-mix(in srgb, var(--theme-surface) 92%, transparent);--user-paper-shade: color-mix(in srgb, var(--theme-surface) 94%, var(--theme-text));--user-nav: var(--theme-navigation);--user-nav-shade: color-mix(in srgb, var(--theme-navigation) 94%, var(--theme-text));--user-hairline: color-mix(in srgb, var(--theme-text) 14%, transparent);--user-hairline-2: color-mix(in srgb, var(--theme-text) 22%, transparent);--user-tab: color-mix(in srgb, var(--theme-primary) 15%, transparent);--user-tab-fade: color-mix(in srgb, var(--theme-primary) 3%, transparent);--user-tab-rule: var(--theme-accent);--user-chip: color-mix(in srgb, var(--theme-surface) 66%, transparent);--user-chip-edge: color-mix(in srgb, var(--theme-surface) 70%, transparent);--user-card-edge: color-mix(in srgb, var(--theme-surface) 86%, transparent);--user-recess: color-mix(in srgb, var(--theme-surface-subtle) 88%, var(--theme-text));--user-recess-cap: color-mix(in srgb, var(--theme-surface-subtle) 94%, var(--theme-text));--user-recess-edge: color-mix(in srgb, var(--theme-surface) 72%, transparent);--user-recess-ink: color-mix(in srgb, var(--theme-text) 34%, transparent);--user-recess-code: color-mix(in srgb, var(--theme-text) 72%, var(--user-recess-cap));--user-cover-scrim: linear-gradient(180deg, color-mix(in srgb, var(--theme-cover-overlay) 24%, transparent), transparent 40%), linear-gradient(0deg, color-mix(in srgb, var(--theme-cover-overlay) 90%, transparent), color-mix(in srgb, var(--theme-cover-overlay) 14%, transparent) 46%, transparent 64%);--user-cover-shadow: color-mix(in srgb, var(--theme-cover-overlay) 54%, transparent);--user-seam: color-mix(in srgb, var(--theme-cover-overlay) 55%, transparent);--user-seam-fill: linear-gradient(90deg, color-mix(in srgb, var(--theme-primary) 62%, var(--theme-surface)), color-mix(in srgb, var(--theme-accent) 55%, var(--theme-surface)));--user-on-accent: var(--theme-background);--user-accent-face: color-mix(in srgb, var(--theme-accent) 91%, var(--theme-text));--user-accent-wash: color-mix(in srgb, var(--theme-accent) 9%, var(--theme-surface));--user-accent-edge: color-mix(in srgb, var(--theme-accent) 26%, var(--theme-surface));--user-primary-face: var(--theme-primary);--user-primary-face-shade: color-mix(in srgb, var(--theme-primary) 72%, var(--theme-text));--user-shadow: color-mix(in srgb, var(--theme-text) 50%, transparent);--user-shadow-soft: color-mix(in srgb, var(--theme-text) 14%, transparent);--user-shadow-inset: color-mix(in srgb, var(--theme-text) 26%, transparent);--user-paper-lift: inset 0 1px 0 var(--user-paper-gloss), 0 1px 2px var(--user-shadow-soft), 0 9px 20px -9px var(--user-shadow);--user-plate-lift: inset 0 1px 0 var(--user-paper-gloss), 0 1px 2px var(--user-shadow-soft), 0 11px 24px -10px var(--user-shadow);--user-card-lift: inset 0 1px 0 var(--user-paper-gloss), 0 1px 2px var(--user-shadow-soft), 0 10px 20px -6px var(--user-shadow);--user-card-recess: inset 0 2px 9px var(--user-shadow-inset);--user-bar-lift: inset 0 1px 0 var(--user-paper-gloss), 0 8px 18px -14px var(--user-shadow);--user-nav-lift: inset 0 1px 0 var(--user-paper-gloss), 0 -14px 30px -16px var(--user-shadow);--user-nav-height: 70px;--user-header-height: 52px;--user-max-width: 928px;--font-sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "HarmonyOS Sans SC", "Source Han Sans SC", "Microsoft YaHei", sans-serif;min-block-size:100dvh;background:var(--user-backdrop);background-attachment:fixed;font-family:var(--font-sans);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}@supports not (color: color-mix(in srgb,red,blue)){.app-shell--themed-user{--user-backdrop: var(--theme-background);--user-paper: var(--theme-surface);--user-paper-sub: var(--theme-surface-subtle);--user-paper-gloss: var(--theme-surface);--user-paper-shade: var(--theme-surface-subtle);--user-nav: var(--theme-navigation);--user-nav-shade: var(--theme-navigation);--user-hairline: var(--theme-border);--user-hairline-2: var(--theme-text-muted);--user-tab: var(--theme-surface-subtle);--user-tab-fade: var(--theme-surface-subtle);--user-tab-rule: var(--theme-accent);--user-chip: var(--theme-surface);--user-chip-edge: var(--theme-border);--user-card-edge: var(--theme-border);--user-recess: var(--theme-surface-subtle);--user-recess-cap: var(--theme-surface-subtle);--user-recess-edge: var(--theme-border);--user-recess-ink: var(--theme-text-muted);--user-recess-code: var(--theme-text);--user-cover-scrim: linear-gradient(0deg, var(--theme-cover-overlay), transparent 64%);--user-cover-shadow: var(--theme-cover-overlay);--user-seam: var(--theme-border);--user-seam-fill: var(--theme-accent);--user-on-accent: var(--theme-background);--user-accent-face: var(--theme-accent);--user-accent-wash: var(--theme-surface-subtle);--user-accent-edge: var(--theme-accent);--user-primary-face: var(--theme-primary);--user-primary-face-shade: var(--theme-primary);--user-shadow: var(--theme-border);--user-shadow-soft: var(--theme-border);--user-shadow-inset: var(--theme-border)}}.app-shell--themed-user:before{content:"";position:fixed;inset:0 0 auto;z-index:var(--z-sticky);height:env(safe-area-inset-top);background:var(--user-paper)}.app-shell--themed-user .app-shell__body{display:block}.app-shell--themed-user .app-main{max-width:var(--user-max-width);margin-inline:auto;padding:env(safe-area-inset-top) 0 calc(var(--user-nav-height) + env(safe-area-inset-bottom))}.app-shell--themed-user :is(h1,h2,h3,h4,h5,h6),.app-shell--themed-user :is(strong,b){font-weight:600}.app-shell--themed-user .button{gap:6px;padding:0 15px;border-radius:11px;font-size:12.5px;font-weight:500}.app-shell--themed-user .button svg{width:16px;height:16px}.app-shell--themed-user .button--primary{border-color:transparent;background:linear-gradient(180deg,var(--user-primary-face),var(--user-primary-face-shade));box-shadow:0 2px 8px -2px var(--user-shadow);font-weight:600}.app-shell--themed-user .button--secondary{border-color:var(--user-hairline-2);background:var(--user-paper);color:var(--theme-text)}.app-shell--themed-user .button--text{color:var(--theme-text-muted);font-weight:400}@media(hover:hover){.app-shell--themed-user .button--secondary:hover:not(:disabled){border-color:var(--theme-primary);background:var(--user-paper-sub)}}.app-shell--themed-user .form-alert{background:color-mix(in srgb,var(--color-danger) 12%,var(--theme-surface))}.themed-user-bottom-navigation{position:fixed;right:0;bottom:0;left:0;z-index:var(--z-sticky);display:grid;height:calc(var(--user-nav-height) + env(safe-area-inset-bottom));grid-template-columns:repeat(4,minmax(0,1fr));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--user-hairline);background:linear-gradient(180deg,var(--user-nav),var(--user-nav-shade));box-shadow:var(--user-nav-lift)}.themed-user-bottom-navigation .app-nav__link{position:relative;flex-direction:column;gap:5px;padding:0;border-radius:0;color:var(--user-tab-ink, var(--theme-text-muted));font-size:10px;font-weight:400;line-height:1.2}.app-nav__link.themed-user-bottom-navigation__link--selected{--user-tab-ink: var(--theme-focus);font-weight:600}.themed-user-bottom-navigation .app-nav__link:hover{background:none;color:var(--user-tab-ink, var(--theme-text-muted))}.themed-user-bottom-navigation__tab{position:absolute;top:0;left:50%;z-index:0;width:66px;height:58px;transform:translate(-50%);border-radius:0 0 14px 14px;background:linear-gradient(180deg,var(--user-tab),var(--user-tab-fade));box-shadow:inset 0 2px 0 var(--user-tab-rule),inset 0 3px 6px -4px var(--user-shadow)}.themed-user-bottom-navigation .app-nav__link>svg{position:relative;z-index:1;flex:0 0 21px}.themed-user-bottom-navigation__label{position:relative;z-index:1}@media(prefers-reduced-motion:reduce){.themed-user-bottom-navigation__tab{transition-duration:0s!important}}@media(min-width:768px){.themed-user-bottom-navigation{padding-inline:max(0px,calc((100% - var(--user-max-width)) / 2))}}:root{--color-bg: #f5f7f6;--color-surface: #ffffff;--color-surface-subtle: #eef2f0;--color-text: #17211d;--color-text-muted: #5b6862;--color-border: #d5ddd8;--color-primary: #176b5b;--color-primary-hover: #115648;--color-on-primary: #ffffff;--color-accent: #a94f00;--color-info: #245ead;--color-success: #287a45;--color-warning: #925f0a;--color-danger: #b42318;--color-focus: #245ead;--font-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--radius-label: 4px;--radius-control: 6px;--radius-surface: 8px;--shadow-surface: 0 1px 2px rgb(23 33 29 / 6%);--shadow-dialog: 0 12px 32px rgb(23 33 29 / 18%);--z-content: 0;--z-sticky: 20;--z-menu: 40;--z-dialog: 100;--z-toast: 200;--duration-fast: .15s;--duration-default: .2s;--control-height: 44px;--header-height: 56px;--bottom-nav-height: 64px;--sidebar-width: 240px;--photocard-radius: 10px;--photocard-meta-height: 30px;--photocard-meta-font-size: .75rem}*,*:before,*:after{box-sizing:border-box}html{min-width:320px;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:16px;letter-spacing:0;text-rendering:optimizeLegibility}body{min-width:320px;min-height:100dvh;margin:0;background:var(--color-bg);color:var(--color-text);line-height:1.5}button,input,select,textarea{color:inherit;font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.5}a,button{touch-action:manipulation}a{color:var(--color-primary)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}#root,.app-shell{min-height:100dvh}h1,h2,h3,p{overflow-wrap:anywhere}.skip-link{position:fixed;top:var(--space-2);left:var(--space-2);z-index:var(--z-toast);min-height:44px;padding:10px var(--space-4);border-radius:var(--radius-control);background:var(--color-primary);color:var(--color-on-primary);font-weight:600;text-decoration:none;transform:translateY(calc(-100% - var(--space-4)));transition:transform var(--duration-fast) ease-out}.skip-link:focus{transform:translateY(0)}.skip-link:focus~.app-header{padding-top:calc(44px + var(--space-4))}.app-header{position:sticky;top:0;z-index:var(--z-sticky);min-height:var(--header-height);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.app-header__inner{display:flex;min-height:var(--header-height);max-width:1440px;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4);margin:0 auto;padding:0 var(--space-4)}.app-brand{display:inline-flex;min-width:0;align-items:center;gap:var(--space-2);color:var(--color-text);font-size:1rem;font-weight:700}.app-brand svg{flex:0 0 24px;color:var(--color-primary)}.app-brand span{overflow-wrap:anywhere}.app-user-actions{display:flex;min-width:0;align-items:center;gap:var(--space-2)}.app-user-name{min-width:0;max-width:min(32vw,16rem);overflow:hidden;color:var(--color-text-muted);font-size:.875rem;text-overflow:ellipsis;white-space:nowrap}.app-logout-button{display:inline-flex;flex:0 0 auto;min-height:var(--control-height);align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-3);border:1px solid transparent;border-radius:var(--radius-control);background:transparent;color:var(--color-text);font-weight:600;white-space:nowrap}.app-logout-button:hover{border-color:var(--color-border);background:var(--color-surface-subtle)}.app-logout-error{flex-basis:100%;margin:0 0 var(--space-2);color:var(--color-danger);font-size:.875rem;text-align:right}.app-shell__body{min-width:0}.app-account-context{border-bottom:1px solid var(--color-border);background:var(--color-surface-subtle)}.app-account-context__inner{max-width:1440px;margin:0 auto;padding:var(--space-3) var(--space-4)}.app-sidebar,.app-nav--desktop{display:none}.app-main{min-width:0;max-width:1440px;min-height:calc(100dvh - var(--header-height));margin:0 auto;padding:var(--space-6) var(--space-4) calc(var(--bottom-nav-height) + env(safe-area-inset-bottom) + var(--space-6))}.app-main:focus{outline:none}.app-main:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px}.app-nav--mobile{position:fixed;right:0;bottom:0;left:0;z-index:var(--z-sticky);display:grid;min-height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;padding:var(--space-1) var(--space-2) env(safe-area-inset-bottom);border-top:1px solid var(--color-border);background:var(--color-surface)}.app-nav__link{display:flex;min-width:0;min-height:var(--control-height);align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-control);color:var(--color-text-muted);font-size:.75rem;font-weight:600;text-align:center;text-decoration:none;transition:background-color var(--duration-fast) ease-out,color var(--duration-fast) ease-out}.app-nav--mobile .app-nav__link{flex-direction:column;gap:2px;padding:var(--space-1);line-height:1.2}.app-nav__link svg{flex:0 0 20px}.app-nav__link span{min-width:0;overflow-wrap:anywhere}.app-nav__link:hover{background:var(--color-surface-subtle);color:var(--color-text)}.app-nav__link--active{background:var(--color-surface-subtle);color:var(--color-primary)}.page-layout{display:grid;gap:var(--space-6)}.page-heading{padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.page-heading h1,.section-heading h2{margin:0;letter-spacing:0}.page-heading h1{font-size:1.5rem;line-height:1.35}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.section-heading h2{font-size:1.125rem;line-height:1.35}.section-heading span{color:var(--color-text-muted);font-size:.875rem;text-align:right}.status-band{display:flex;min-height:44px;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-left:3px solid var(--color-success);background:var(--color-surface-subtle);color:var(--color-text);font-weight:600}.status-band svg{flex:0 0 20px;color:var(--color-success)}.dashboard-quick-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-surface)}.metric{min-width:0;padding:var(--space-4);border-right:1px solid var(--color-border)}.metric:last-child{border-right:0}.metric dt{color:var(--color-text-muted);font-size:.875rem}.metric dd{margin:var(--space-1) 0 0;color:var(--color-text);font-size:2rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}.button{display:inline-flex;min-height:44px;width:fit-content;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-control);font-weight:600;text-decoration:none;transition:background-color var(--duration-default) ease-out,border-color var(--duration-default) ease-out}.button--primary{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.button--primary:hover:not(:disabled){border-color:var(--color-primary-hover);background:var(--color-primary-hover)}.button--text{background:transparent;color:var(--color-text)}.button--text:hover:not(:disabled){background:var(--color-surface-subtle)}.button--full{width:100%}.icon-button{display:inline-flex;width:var(--control-height);min-width:var(--control-height);height:var(--control-height);align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--radius-control);background:transparent;color:var(--color-text-muted)}.icon-button:hover:not(:disabled){background:var(--color-surface-subtle);color:var(--color-text)}.button--secondary{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text)}.button--secondary:hover{border-color:var(--color-primary);background:var(--color-surface-subtle)}.auth-page{display:grid;min-height:100dvh;align-items:start;justify-items:center;padding:max(var(--space-6),env(safe-area-inset-top)) var(--space-4) max(var(--space-6),env(safe-area-inset-bottom))}.auth-panel{width:min(100%,420px);margin-top:clamp(0px,8vh,72px);padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface);box-shadow:var(--shadow-surface)}.auth-brand{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-6);color:var(--color-text);font-weight:700}.auth-brand svg,.auth-panel__heading--with-icon>svg{flex:0 0 auto;color:var(--color-primary)}.auth-panel__heading{margin-bottom:var(--space-6)}.auth-panel__heading--with-icon{display:flex;align-items:center;gap:var(--space-2)}.auth-panel__heading h1,.route-status h1{margin:0;font-size:1.5rem;line-height:1.35}.form-stack,.form-field{display:grid}.form-stack{gap:var(--space-4)}.form-field{min-width:0;gap:var(--space-2)}.form-field label{font-weight:600}.form-field input,.form-field select{min-width:0;min-height:var(--control-height);width:100%;padding:8px var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);font-size:1rem}.form-field input[aria-invalid=true]{border-color:var(--color-danger)}.password-control{position:relative;display:grid}.password-control input{padding-right:calc(var(--control-height) + var(--space-3))}.password-control__toggle{position:absolute;top:0;right:0}.field-error,.form-alert{margin:0;color:var(--color-danger);font-size:.875rem}.auth-links{display:flex;justify-content:space-between;gap:var(--space-3)}.auth-links a{min-height:44px;display:inline-flex;align-items:center;color:var(--color-primary);font-weight:600}.auth-dialog-backdrop{position:fixed;inset:0;z-index:var(--z-dialog);display:grid;place-items:center;overflow-y:auto;padding:var(--space-4);background:#17211d85}.auth-dialog{display:grid;width:min(100%,32rem);max-height:calc(100dvh - (2 * var(--space-4)));gap:var(--space-4);overflow-y:auto;padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface);box-shadow:var(--shadow-dialog)}.auth-dialog h2,.auth-dialog p{margin:0}.auth-dialog__heading,.auth-dialog__actions{display:flex;align-items:center;gap:var(--space-3)}.auth-dialog__heading svg{flex:0 0 auto;color:var(--color-primary)}.auth-dialog__heading h2{font-size:1.25rem}.auth-dialog__actions{flex-wrap:wrap;justify-content:flex-end}.recovery-code{display:block;overflow-wrap:anywhere;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-subtle);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1rem;line-height:1.6;-webkit-user-select:all;user-select:all}.form-alert{padding:var(--space-3);border-left:3px solid var(--color-danger);background:color-mix(in srgb,var(--color-danger) 8%,white)}.route-status{display:grid;min-height:100dvh;place-content:center;justify-items:center;gap:var(--space-3);padding:var(--space-6);text-align:center}.route-status p{max-width:42rem;margin:0}.route-status__spinner{color:var(--color-primary);animation:route-status-spin .8s linear infinite}@keyframes route-status-spin{to{transform:rotate(360deg)}}@media(max-width:480px){.app-header__inner{align-items:stretch;flex-direction:column;gap:var(--space-1);padding-top:var(--space-2);padding-bottom:var(--space-2)}.app-user-actions{width:100%;justify-content:flex-end}.app-user-name{flex:1 1 auto;max-width:none}.auth-page{padding-right:0;padding-left:0}.auth-panel{margin-top:0;padding:var(--space-6) var(--space-4);border-right:0;border-left:0;border-radius:0;box-shadow:none}.auth-dialog__actions .button{width:100%}.section-heading{align-items:flex-start;flex-direction:column;gap:var(--space-1)}.section-heading span{text-align:left}.metric-grid{grid-template-columns:1fr}.metric{display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:var(--space-4);border-right:0;border-bottom:1px solid var(--color-border)}.metric:last-child{border-bottom:0}.metric dd{margin:0}}@media(min-width:768px){.app-header__inner,.app-account-context__inner,.app-main{padding-right:var(--space-6);padding-left:var(--space-6)}.app-main{padding-top:var(--space-8)}}@media(min-width:1024px){.app-header__inner{padding-right:var(--space-8);padding-left:var(--space-8)}.app-account-context__inner{padding-right:var(--space-8);padding-left:calc(var(--sidebar-width) + var(--space-8))}.app-shell__body{display:grid;max-width:1440px;grid-template-columns:var(--sidebar-width) minmax(0,1fr);margin:0 auto}.app-sidebar,.app-nav--desktop{display:block}.app-sidebar{min-height:calc(100dvh - var(--header-height));padding:var(--space-6) var(--space-4);border-right:1px solid var(--color-border);background:var(--color-surface)}.app-nav--desktop{position:sticky;top:calc(var(--header-height) + var(--space-6))}.app-nav--desktop .app-nav__link{justify-content:flex-start;gap:var(--space-3);margin-bottom:var(--space-1);padding:0 var(--space-3);font-size:.9375rem;text-align:left}.app-nav--desktop .app-nav__link--active{box-shadow:inset 3px 0 0 var(--color-primary)}.app-nav--mobile{display:none}.app-main{max-width:none;width:100%;margin:0;padding:var(--space-8)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
