@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{--blue-50: #eff6ff;--blue-200: #bfdbfe;--blue-300: #93c5fd;--blue-400: #60a5fa;--blue-500: #3b82f6;--blue-600: #2563eb;--blue-700: #1d4ed8;--blue-800: #1e40af;--slate-50: #f8fafc;--slate-100: #f1f5f9;--slate-200: #e2e8f0;--slate-300: #cbd5e1;--slate-400: #94a3b8;--slate-500: #64748b;--slate-600: #475569;--slate-800: #1e293b;--slate-900: #0f172a;--green-50: #ecfdf5;--green-500: #10b981;--green-700: #047857;--green-300: #6ee7b7;--amber-50: #fffbeb;--amber-500: #f59e0b;--amber-700: #b45309;--amber-300: #fcd34d;--red-50: #fef2f2;--red-500: #ef4444;--red-600: #dc2626;--red-700: #b91c1c;--red-300: #fca5a5;--violet-500: #8b5cf6;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 14px;--radius-2xl: 18px;--radius-3xl: 22px;--radius-full: 999px;--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, monospace;--fs-2xs: .6875rem;--fs-xs: .75rem;--fs-sm: .8125rem;--fs-md: .875rem;--fs-base: 1rem;--fs-lg: 1.125rem;--fs-xl: 1.375rem;--fs-2xl: 1.75rem;--lh-tight: 1.2;--lh-normal: 1.5;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-black: 800;--tracking-tight: -.02em;--tracking-wide: .08em;--dur-fast: .15s;--dur-base: .22s;--dur-slow: .32s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-emphasized: cubic-bezier(.16, 1, .3, 1);--z-raised: 1;--z-sticky: 100;--z-dropdown: 300;--z-fab: 400;--z-nav: 500;--z-modal: 1000;--z-toast: 1100;--header-h: 72px;--bottomnav-h: 64px;--content-max: 1280px;--gutter: var(--space-6);--safe-bottom: env(safe-area-inset-bottom, 0px);--control-h: 40px;--control-h-lg: 48px;--row-py: var(--space-4);--card-p: var(--space-6)}:root,[data-theme=light]{color-scheme:light;--surface-page: #f7f9fc;--surface-1: #ffffff;--surface-2: var(--slate-50);--surface-3: var(--slate-100);--surface-inverse: var(--slate-900);--surface-overlay: rgba(15, 23, 42, .45);--surface-glass: rgba(255, 255, 255, .82);--text-primary: var(--slate-900);--text-secondary: var(--slate-600);--text-tertiary: var(--slate-500);--text-disabled: var(--slate-400);--text-inverse: #ffffff;--text-brand: var(--blue-700);--text-link: var(--blue-700);--border-subtle: var(--slate-200);--border-default: var(--slate-300);--border-strong: var(--slate-400);--border-brand: var(--blue-600);--action-primary-bg: var(--blue-600);--action-primary-bg-hover: var(--blue-700);--action-primary-bg-active: var(--blue-800);--action-primary-fg: #ffffff;--action-neutral-bg: var(--surface-1);--action-neutral-bg-hover: var(--surface-3);--action-neutral-fg: var(--text-primary);--action-neutral-border: var(--border-default);--action-ghost-fg: var(--text-tertiary);--action-ghost-fg-hover: var(--text-primary);--action-ghost-bg-hover: var(--surface-3);--action-danger-bg: var(--red-600);--action-danger-bg-hover: var(--red-700);--action-danger-fg: #ffffff;--action-danger-soft-bg: var(--red-50);--action-danger-soft-fg: var(--red-700);--state-selected-bg: var(--blue-50);--state-selected-border: var(--blue-600);--state-hover-bg: var(--surface-2);--status-success-bg: var(--green-50);--status-success-fg: var(--green-700);--status-warning-bg: var(--amber-50);--status-warning-fg: var(--amber-700);--status-danger-bg: var(--red-50);--status-danger-fg: var(--red-700);--status-danger-dot: var(--red-500);--status-info-bg: var(--blue-50);--status-info-fg: var(--blue-700);--status-info-dot: var(--blue-500);--status-neutral-bg: var(--slate-100);--status-neutral-fg: var(--slate-600);--status-neutral-dot: var(--slate-400);--elev-1: 0 1px 2px rgba(15, 23, 42, .06);--elev-2: 0 1px 3px rgba(15, 23, 42, .08), 0 4px 12px -4px rgba(15, 23, 42, .1);--elev-3: 0 4px 8px -2px rgba(15, 23, 42, .08), 0 12px 28px -8px rgba(15, 23, 42, .14);--elev-4: 0 12px 24px -6px rgba(15, 23, 42, .14), 0 32px 64px -16px rgba(15, 23, 42, .22);--elev-brand: 0 6px 16px -4px rgba(37, 99, 235, .35);--focus-ring-color: var(--blue-600);--focus-ring: 0 0 0 2px var(--surface-1), 0 0 0 4px var(--focus-ring-color)}[data-theme=dark]{color-scheme:dark;--surface-page: #0b1120;--surface-1: #111a2e;--surface-2: #17223a;--surface-3: #1f2c48;--surface-inverse: var(--slate-50);--surface-overlay: rgba(2, 6, 23, .7);--surface-glass: rgba(17, 26, 46, .82);--text-primary: #eef2f8;--text-secondary: #b6c2d6;--text-tertiary: #8d9bb3;--text-disabled: #5c6a83;--text-inverse: var(--slate-900);--text-brand: var(--blue-300);--text-link: var(--blue-300);--border-subtle: #23304d;--border-default: #2e3d5f;--border-strong: #43557d;--border-brand: var(--blue-500);--action-primary-bg: var(--blue-500);--action-primary-bg-hover: var(--blue-400);--action-primary-bg-active: var(--blue-600);--action-primary-fg: #08122a;--action-neutral-bg: var(--surface-2);--action-neutral-bg-hover: var(--surface-3);--action-neutral-fg: var(--text-primary);--action-neutral-border: var(--border-default);--action-ghost-fg: var(--text-tertiary);--action-ghost-fg-hover: var(--text-primary);--action-ghost-bg-hover: var(--surface-3);--action-danger-bg: var(--red-500);--action-danger-bg-hover: #f87171;--action-danger-fg: #2a0808;--action-danger-soft-bg: rgba(239, 68, 68, .16);--action-danger-soft-fg: var(--red-300);--state-selected-bg: rgba(59, 130, 246, .16);--state-selected-border: var(--blue-400);--state-hover-bg: var(--surface-2);--status-success-bg: rgba(16, 185, 129, .16);--status-success-fg: var(--green-300);--status-warning-bg: rgba(245, 158, 11, .16);--status-warning-fg: var(--amber-300);--status-danger-bg: rgba(239, 68, 68, .16);--status-danger-fg: var(--red-300);--status-info-bg: rgba(59, 130, 246, .16);--status-info-fg: var(--blue-300);--status-neutral-bg: rgba(148, 163, 184, .14);--status-neutral-fg: #c3cddd;--elev-1: 0 1px 2px rgba(0, 0, 0, .4);--elev-2: 0 1px 3px rgba(0, 0, 0, .45), 0 4px 12px -4px rgba(0, 0, 0, .5);--elev-3: 0 4px 8px -2px rgba(0, 0, 0, .5), 0 12px 28px -8px rgba(0, 0, 0, .6);--elev-4: 0 12px 24px -6px rgba(0, 0, 0, .6), 0 32px 64px -16px rgba(0, 0, 0, .7);--elev-brand: 0 6px 16px -4px rgba(59, 130, 246, .4);--focus-ring-color: var(--blue-400);--focus-ring: 0 0 0 2px var(--surface-1), 0 0 0 4px var(--focus-ring-color)}@media(prefers-color-scheme:dark){[data-theme=auto]{color-scheme:dark;--surface-page: #0b1120;--surface-1: #111a2e;--surface-2: #17223a;--surface-3: #1f2c48;--surface-inverse: var(--slate-50);--surface-overlay: rgba(2, 6, 23, .7);--surface-glass: rgba(17, 26, 46, .82);--text-primary: #eef2f8;--text-secondary: #b6c2d6;--text-tertiary: #8d9bb3;--text-disabled: #5c6a83;--text-inverse: var(--slate-900);--text-brand: var(--blue-300);--text-link: var(--blue-300);--border-subtle: #23304d;--border-default: #2e3d5f;--border-strong: #43557d;--border-brand: var(--blue-500);--action-primary-bg: var(--blue-500);--action-primary-bg-hover: var(--blue-400);--action-primary-fg: #08122a;--action-neutral-bg: var(--surface-2);--action-neutral-bg-hover: var(--surface-3);--action-neutral-fg: var(--text-primary);--action-neutral-border: var(--border-default);--action-ghost-fg: var(--text-tertiary);--action-ghost-fg-hover: var(--text-primary);--action-ghost-bg-hover: var(--surface-3);--action-danger-soft-bg: rgba(239, 68, 68, .16);--action-danger-soft-fg: var(--red-300);--state-selected-bg: rgba(59, 130, 246, .16);--state-selected-border: var(--blue-400);--state-hover-bg: var(--surface-2);--status-success-bg: rgba(16, 185, 129, .16);--status-success-fg: var(--green-300);--status-warning-bg: rgba(245, 158, 11, .16);--status-warning-fg: var(--amber-300);--status-danger-bg: rgba(239, 68, 68, .16);--status-danger-fg: var(--red-300);--status-info-bg: rgba(59, 130, 246, .16);--status-info-fg: var(--blue-300);--status-neutral-bg: rgba(148, 163, 184, .14);--status-neutral-fg: #c3cddd;--focus-ring-color: var(--blue-400)}}[data-density=compact]{--row-py: var(--space-2);--card-p: var(--space-4);--control-h: 36px;--control-h-lg: 42px}@media(pointer:coarse){:root{--control-h: 44px;--control-h-lg: 52px}[data-density=compact]{--control-h: 44px}}@media(prefers-reduced-motion:reduce){:root{--dur-fast: 1ms;--dur-base: 1ms;--dur-slow: 1ms}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}:root{--accent: var(--red-500);--accent-red: var(--red-600);--border: var(--border-subtle)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--text-primary);background:var(--surface-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6,p,figure{margin:0}h1,h2,h3,h4{font-weight:var(--fw-bold);letter-spacing:var(--tracking-tight);line-height:var(--lh-tight)}a{color:var(--text-link);text-decoration:none}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}::selection{background:var(--blue-200);color:var(--slate-900)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.truncate{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stack{display:flex;flex-direction:column;gap:var(--stack-gap, var(--space-4))}.cluster{display:flex;align-items:center;flex-wrap:wrap;gap:var(--cluster-gap, var(--space-2))}.spacer{flex:1 1 auto}.app-shell{container-type:inline-size;container-name:app;display:grid;grid-template-rows:auto 1fr auto;min-height:100%;background:var(--surface-page);color:var(--text-primary)}.app-main{min-width:0;padding:var(--space-8) var(--gutter) var(--space-12)}.app-container{width:100%;max-width:var(--content-max);margin-inline:auto;min-width:0}.app-header{position:sticky;top:0;z-index:var(--z-nav);display:flex;align-items:center;gap:var(--space-6);height:var(--header-h);padding-inline:var(--gutter);background:var(--surface-glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border-subtle)}.brand{display:flex;align-items:center;gap:var(--space-3);min-width:0;line-height:1;--brand-logo: 64px;--brand-title-size: 1.4rem;--brand-sub-size: .7rem}.brand-mark{display:block;flex:none;width:var(--brand-logo);height:var(--brand-logo)}.brand-name{display:flex;flex-direction:column;align-items:flex-start;line-height:1;min-width:0}.brand-name b{font-family:var(--font-sans);font-size:var(--brand-title-size);font-weight:var(--fw-black);letter-spacing:-.03em;background:linear-gradient(135deg,var(--blue-400),var(--action-primary-bg));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.brand-name span{margin-top:4px;font-size:var(--brand-sub-size);font-weight:var(--fw-semibold);letter-spacing:.15em;text-transform:uppercase;color:var(--text-tertiary)}.brand-lg{--brand-logo: 60px;--brand-title-size: 2rem;--brand-sub-size: .875rem;gap:var(--space-6);justify-content:center}@container app (max-width: 760px){.brand{--brand-title-size: 1.2rem;--brand-sub-size: .6rem}}.app-nav{display:flex;gap:var(--space-1);padding:var(--space-1);margin-inline:auto;background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.nav-link{display:inline-flex;align-items:center;gap:var(--space-2);height:34px;padding-inline:var(--space-4);border-radius:var(--radius-sm);font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-tertiary);transition:color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard)}.nav-link:hover{color:var(--text-primary);background:var(--surface-1)}.nav-link[aria-current=page]{color:var(--action-primary-fg);background:var(--action-primary-bg);box-shadow:var(--elev-1)}.app-bottomnav{display:none}.user-chip{display:flex;align-items:center;gap:var(--space-3);flex:none}.user-meta{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}.user-meta b{font-size:var(--fs-md);font-weight:var(--fw-bold)}.user-meta span{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-tertiary)}.avatar{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:var(--radius-full);background:var(--avatar-color, var(--blue-600));color:#fff;font-size:var(--fs-md);font-weight:var(--fw-bold);border:2px solid var(--surface-1);box-shadow:0 0 0 1px var(--border-subtle)}.avatar-sm{width:24px;height:24px;font-size:var(--fs-2xs);border-width:1.5px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.page-head-text{min-width:0}.page-eyebrow{display:block;margin-bottom:var(--space-1);font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-tertiary)}.page-title{font-size:var(--fs-2xl);font-weight:var(--fw-black);color:var(--text-primary)}.page-subtitle{margin-top:var(--space-1);font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--text-tertiary)}.page-head-actions{display:flex;align-items:center;gap:var(--space-2);flex:none}.btn{--btn-h: var(--control-h);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--btn-h);padding-inline:var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);font-family:inherit;font-size:var(--fs-md);font-weight:var(--fw-semibold);line-height:1;white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{flex:none}.btn-primary{background:var(--action-primary-bg);color:var(--action-primary-fg);box-shadow:var(--elev-1)}.btn-primary:hover:not(:disabled){background:var(--action-primary-bg-hover)}.btn-primary:active:not(:disabled){background:var(--action-primary-bg-active)}.btn-secondary{background:var(--action-neutral-bg);color:var(--action-neutral-fg);border-color:var(--action-neutral-border)}.btn-secondary:hover:not(:disabled){background:var(--action-neutral-bg-hover)}.btn-ghost{background:transparent;color:var(--action-ghost-fg)}.btn-ghost:hover:not(:disabled){color:var(--action-ghost-fg-hover);background:var(--action-ghost-bg-hover)}.btn-danger{background:var(--action-danger-bg);color:var(--action-danger-fg)}.btn-danger:hover:not(:disabled){background:var(--action-danger-bg-hover)}.btn-danger-soft{background:var(--action-danger-soft-bg);color:var(--action-danger-soft-fg);border-color:color-mix(in srgb,var(--action-danger-soft-fg) 24%,transparent)}.btn-lg{--btn-h: var(--control-h-lg);padding-inline:var(--space-5);font-size:var(--fs-base)}.btn-sm{--btn-h: 32px;padding-inline:var(--space-3);font-size:var(--fs-sm)}.btn-block{width:100%}.btn-icon{width:var(--btn-h);padding-inline:0}.btn-icon.btn-sm{width:32px}.icon-action{display:inline-grid;place-items:center;width:32px;height:32px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);cursor:pointer;transition:all var(--dur-fast) var(--ease-standard)}.icon-action:hover{color:var(--text-primary);background:var(--surface-3)}.icon-action.is-danger:hover{color:var(--status-danger-fg);background:var(--status-danger-bg)}.field{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.field-label{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-secondary)}.field-label .req{color:var(--status-danger-fg)}.field-hint{font-size:var(--fs-sm);color:var(--text-tertiary)}.field-error{display:flex;align-items:center;gap:var(--space-1);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--status-danger-fg)}.input,.select,.textarea{width:100%;min-height:var(--control-h-lg);padding:var(--space-3) var(--space-4);background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-md);font-family:inherit;font-size:var(--fs-base);color:var(--text-primary);transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.textarea{min-height:96px;resize:vertical}.input::placeholder,.textarea::placeholder{color:var(--text-disabled)}.input:hover,.select:hover,.textarea:hover{border-color:var(--border-strong)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{border-color:var(--border-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus-ring-color) 22%,transparent)}.input[aria-invalid=true]{border-color:var(--status-danger-fg)}.input-group{position:relative;display:flex;align-items:center}.input-group .input-icon{position:absolute;left:var(--space-4);display:grid;place-items:center;color:var(--text-tertiary);pointer-events:none}.input-group .input-icon~.input{padding-left:calc(var(--space-4) * 2 + 18px)}.input-group .input-suffix{position:absolute;right:var(--space-2)}.search{position:relative;flex:1 1 320px;max-width:420px;min-width:0}.search .input{min-height:var(--control-h)}.search-kbd{position:absolute;top:50%;right:var(--space-3);transform:translateY(-50%);padding:2px 6px;border:1px solid var(--border-subtle);border-bottom-width:2px;border-radius:var(--radius-xs);background:var(--surface-2);font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--text-tertiary);pointer-events:none}.listbox{position:absolute;top:calc(100% + var(--space-2));left:0;right:0;z-index:var(--z-dropdown);max-height:288px;overflow-y:auto;margin:0;padding:var(--space-1);list-style:none;background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--elev-3)}.listbox li{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--fs-md);color:var(--text-primary);cursor:pointer}.listbox li[aria-selected=true],.listbox li:hover{background:var(--state-selected-bg);color:var(--text-brand)}.listbox li svg{color:var(--text-tertiary);flex:none}.checkbox{appearance:none;width:18px;height:18px;flex:none;margin:0;border:1.5px solid var(--border-strong);border-radius:5px;background:var(--surface-1);cursor:pointer;display:grid;place-items:center;transition:all var(--dur-fast) var(--ease-standard)}.checkbox:checked,.checkbox:indeterminate{background:var(--action-primary-bg);border-color:var(--action-primary-bg)}.checkbox:checked:after{content:"";width:10px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translateY(-1px)}.checkbox:indeterminate:after{content:"";width:9px;height:2px;background:#fff;border-radius:1px}.choice-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.choice{height:var(--control-h);padding-inline:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-1);font:inherit;font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--text-secondary);cursor:pointer;transition:all var(--dur-fast) var(--ease-standard)}.choice:hover{background:var(--surface-3);color:var(--text-primary)}.choice[aria-pressed=true]{background:var(--state-selected-bg);border-color:var(--state-selected-border);color:var(--text-brand);font-weight:var(--fw-semibold)}.surface{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-2xl);box-shadow:var(--elev-1)}.surface-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-subtle);background:var(--surface-2);font-size:var(--fs-sm);color:var(--text-tertiary)}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3);margin-bottom:var(--space-5)}.kpi{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--elev-1)}.kpi-icon{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:var(--radius-md);background:var(--kpi-bg, var(--status-info-bg));color:var(--kpi-fg, var(--status-info-fg))}.kpi-body{display:flex;flex-direction:column;gap:2px;min-width:0}.kpi-value{font-size:var(--fs-xl);font-weight:var(--fw-black);letter-spacing:var(--tracking-tight);line-height:1.1}.kpi-label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-tertiary)}.toolbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3);margin-bottom:var(--space-4);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--elev-1)}.toolbar-end{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.filter-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-5);padding:var(--space-5);margin:calc(var(--space-4) * -1) 0 var(--space-4);background:var(--surface-2);border:1px solid var(--border-subtle);border-top:0;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.filter-panel-label{display:block;margin-bottom:var(--space-2);font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-tertiary)}.chip-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.chip{display:inline-flex;align-items:center;gap:var(--space-2);height:28px;padding:0 var(--space-1) 0 var(--space-3);border:1px solid var(--state-selected-border);border-radius:var(--radius-full);background:var(--state-selected-bg);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-brand)}.chip b{font-weight:var(--fw-bold)}.chip button{display:grid;place-items:center;width:20px;height:20px;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}.chip button:hover{background:color-mix(in srgb,var(--text-brand) 18%,transparent)}.table-wrap{overflow:auto;border-radius:var(--radius-2xl);border:1px solid var(--border-subtle);background:var(--surface-1);box-shadow:var(--elev-1)}.data-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:var(--fs-md)}.data-table caption{text-align:left;padding:var(--space-3) var(--space-4);font-size:var(--fs-sm);color:var(--text-tertiary);border-bottom:1px solid var(--border-subtle)}.data-table thead th{position:sticky;top:0;z-index:var(--z-raised);padding:var(--space-3);background:var(--surface-2);border-bottom:1px solid var(--border-subtle);text-align:left;font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-tertiary);white-space:normal;overflow-wrap:break-word}.data-table th.is-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th.is-sortable:hover{color:var(--text-primary)}.data-table th .sort-icon{display:inline-block;margin-left:4px;vertical-align:-2px;opacity:0;transition:opacity var(--dur-fast)}.data-table th.is-sortable:hover .sort-icon,.data-table th[aria-sort] .sort-icon{opacity:1}.data-table th[aria-sort]{color:var(--text-brand)}.data-table tbody td{padding:var(--row-py) var(--space-3);border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);vertical-align:middle;overflow:hidden}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr{transition:background var(--dur-fast) var(--ease-standard)}.data-table tbody tr:hover{background:var(--state-hover-bg)}.data-table tbody tr[aria-selected=true]{background:var(--state-selected-bg);box-shadow:inset 3px 0 0 var(--state-selected-border)}.cell-strong{font-weight:var(--fw-bold);color:var(--text-primary)}.cell-muted{color:var(--text-tertiary)}.cell-center{text-align:center}.cell-actions{width:92px;white-space:nowrap;text-align:right;overflow:visible}.cell-actions .icon-action{opacity:.55}tr:hover .cell-actions .icon-action,.icon-action:focus-visible{opacity:1}.col-select{width:40px;text-align:center}.col-date{width:108px}.col-range{width:160px}.col-narrow{width:120px}.col-fluid{width:auto}.person{display:flex;align-items:center;gap:var(--space-2);min-width:0}.badge{display:inline-flex;align-items:center;gap:var(--space-1);height:24px;padding-inline:var(--space-2);border-radius:var(--radius-sm);font-size:var(--fs-xs);font-weight:var(--fw-bold);white-space:nowrap;background:var(--status-neutral-bg);color:var(--status-neutral-fg)}.badge-success{background:var(--status-success-bg);color:var(--status-success-fg)}.badge-warning{background:var(--status-warning-bg);color:var(--status-warning-fg)}.badge-danger{background:var(--status-danger-bg);color:var(--status-danger-fg)}.badge-info{background:var(--status-info-bg);color:var(--status-info-fg)}.dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--dot-color, var(--status-neutral-dot))}.state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding:var(--space-12) var(--space-6)}.state-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:var(--radius-xl);background:var(--surface-2);color:var(--text-tertiary)}.state-title{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--text-primary)}.state-body{max-width:46ch;font-size:var(--fs-md);color:var(--text-tertiary)}.state-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.banner{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);margin-bottom:var(--space-4);border:1px solid;border-radius:var(--radius-lg);font-size:var(--fs-md);font-weight:var(--fw-medium)}.banner svg{flex:none;margin-top:1px}.banner-danger{background:var(--status-danger-bg);border-color:color-mix(in srgb,var(--status-danger-fg) 30%,transparent);color:var(--status-danger-fg)}.banner-info{background:var(--status-info-bg);border-color:color-mix(in srgb,var(--status-info-fg) 30%,transparent);color:var(--status-info-fg)}.spinner{animation:spin .9s linear infinite;color:var(--text-tertiary)}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{position:relative;overflow:hidden;background:var(--surface-2);border-radius:var(--radius-sm)}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--surface-1) 70%,transparent),transparent);animation:shimmer 1.4s infinite}@keyframes shimmer{to{transform:translate(100%)}}.skeleton-text{height:12px}.skeleton-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--row-py) var(--space-4);border-bottom:1px solid var(--border-subtle)}.logo-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-12) var(--space-6);min-height:280px;text-align:center}.logo-loader-mark{display:block;flex:none;width:84px;height:84px;animation:logoLoaderPulse 1.6s var(--ease-standard) infinite}.logo-loader-mark .logo,.logo-loader-mark .logo-svg{display:block;width:100%;height:100%}.logo-loader-label{font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--text-tertiary)}@keyframes logoLoaderPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.65;transform:scale(.94)}}.toast-stack{position:fixed;right:var(--space-5);bottom:var(--space-5);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);width:min(360px,calc(100% - var(--space-8)))}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-1);border:1px solid var(--border-subtle);border-left:3px solid var(--toast-accent, var(--status-info-fg));border-radius:var(--radius-md);box-shadow:var(--elev-3);animation:toastIn var(--dur-base) var(--ease-emphasized)}.toast-success{--toast-accent: var(--status-success-fg)}.toast-danger{--toast-accent: var(--status-danger-fg)}.toast-icon{color:var(--toast-accent);flex:none;margin-top:2px}.toast-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.toast-title{font-size:var(--fs-md);font-weight:var(--fw-bold)}.toast-text{font-size:var(--fs-sm);color:var(--text-tertiary)}@keyframes toastIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.selection-bar{position:sticky;bottom:var(--space-4);z-index:var(--z-sticky);display:flex;align-items:center;gap:var(--space-4);width:fit-content;max-width:100%;margin:var(--space-5) auto 0;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-5);background:var(--surface-inverse);color:var(--text-inverse);border-radius:var(--radius-full);box-shadow:var(--elev-4)}[data-theme=dark] .selection-bar{color:var(--slate-900)}.selection-count{font-size:var(--fs-md);font-weight:var(--fw-bold);white-space:nowrap}.selection-bar .btn-secondary{background:color-mix(in srgb,var(--surface-inverse) 80%,#fff);border-color:transparent;color:var(--text-inverse)}.overlay{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:center;padding:var(--space-6);background:var(--surface-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade var(--dur-fast) var(--ease-standard)}.dialog{display:flex;flex-direction:column;width:100%;max-width:520px;max-height:min(86vh,720px);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-3xl);box-shadow:var(--elev-4);overflow:hidden;animation:dialogIn var(--dur-base) var(--ease-emphasized)}.dialog-head{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--border-subtle)}.dialog-title{font-size:var(--fs-lg);font-weight:var(--fw-bold)}.dialog-sub{margin-top:2px;font-size:var(--fs-sm);color:var(--text-tertiary)}.dialog-body{flex:1;overflow-y:auto;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.dialog-foot{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-subtle);background:var(--surface-2)}.dialog-danger .dialog-title{color:var(--status-danger-fg)}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes dialogIn{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}.fab-wrap{position:fixed;right:var(--space-6);bottom:var(--space-6);z-index:var(--z-fab);display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-3)}.fab{display:grid;place-items:center;width:52px;height:52px;border:0;border-radius:var(--radius-full);background:var(--action-primary-bg);color:var(--action-primary-fg);box-shadow:var(--elev-3),var(--elev-brand);cursor:pointer;transition:transform var(--dur-base) var(--ease-emphasized),background var(--dur-fast) var(--ease-standard)}.fab:hover{background:var(--action-primary-bg-hover)}.fab[aria-expanded=true]{transform:rotate(45deg)}.fab-item{display:flex;align-items:center;gap:var(--space-3)}.fab-item span{padding:var(--space-1) var(--space-3);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:var(--elev-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold);white-space:nowrap}.fab-item button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--border-subtle);border-radius:var(--radius-full);background:var(--surface-1);color:var(--fab-color, var(--text-brand));box-shadow:var(--elev-2);cursor:pointer}.cal-toolbar{display:flex;align-items:center;gap:var(--space-2)}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--border-subtle);gap:1px;border:1px solid var(--border-subtle);border-radius:var(--radius-2xl);box-shadow:var(--elev-1);overflow:hidden}.cal-dayname{padding:var(--space-2);background:var(--surface-2);text-align:center;font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-tertiary)}.cal-cell{display:flex;flex-direction:column;gap:var(--space-1);min-height:112px;padding:var(--space-2);background:var(--surface-1);border:0;text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease-standard)}.cal-cell:hover,.cal-cell.is-outside{background:var(--surface-2)}.cal-cell.is-outside .cal-num{color:var(--text-disabled)}.cal-num{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-secondary)}.cal-cell.is-today .cal-num{background:var(--action-primary-bg);color:var(--action-primary-fg)}.cal-cell.is-selected{box-shadow:inset 0 0 0 2px var(--state-selected-border);background:var(--state-selected-bg)}.cal-chip{display:flex;align-items:center;gap:var(--space-1);padding:3px 6px;border-radius:var(--radius-xs);border-left:3px solid var(--chip-accent, var(--status-info-dot));background:var(--chip-bg, var(--status-info-bg));color:var(--chip-fg, var(--status-info-fg));font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-align:left;cursor:pointer;min-width:0}.cal-chip-ooo{--chip-bg: var(--status-danger-bg);--chip-fg: var(--status-danger-fg);--chip-accent: var(--status-danger-dot)}.cal-more{font-size:var(--fs-2xs);font-weight:var(--fw-bold);color:var(--text-tertiary);padding-left:4px}.day-strip{display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-1) 0 var(--space-3);scrollbar-width:none}.day-strip::-webkit-scrollbar{display:none}.day-pill{display:flex;flex-direction:column;align-items:center;gap:2px;flex:none;width:52px;padding:var(--space-2) 0;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-1);cursor:pointer;transition:all var(--dur-fast) var(--ease-standard)}.day-pill small{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--text-tertiary);text-transform:uppercase}.day-pill b{font-size:var(--fs-lg);font-weight:var(--fw-bold)}.day-pill .day-dots{display:flex;gap:2px;height:4px}.day-pill .day-dots i{width:4px;height:4px;border-radius:50%;background:var(--status-info-dot)}.day-pill[aria-pressed=true]{background:var(--action-primary-bg);border-color:var(--action-primary-bg);box-shadow:var(--elev-brand)}.day-pill[aria-pressed=true] small,.day-pill[aria-pressed=true] b{color:var(--action-primary-fg)}.day-pill[aria-pressed=true] .day-dots i{background:#fffc}.day-pill.is-today:not([aria-pressed=true]){border-color:var(--border-brand)}.day-pill.is-today:not([aria-pressed=true]) b{color:var(--text-brand)}.agenda-group{margin-bottom:var(--space-6)}.agenda-head{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-tertiary)}.agenda-head .rule{flex:1;height:1px;background:var(--border-subtle)}.agenda-item{display:flex;gap:var(--space-3);width:100%;padding:var(--space-4);margin-bottom:var(--space-2);background:var(--surface-1);border:1px solid var(--border-subtle);border-left:3px solid var(--item-accent, var(--border-subtle));border-radius:var(--radius-lg);box-shadow:var(--elev-1);text-align:left;cursor:pointer;transition:box-shadow var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}.agenda-item:hover{box-shadow:var(--elev-2)}.agenda-icon{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:var(--radius-md);background:var(--status-info-bg);color:var(--status-info-fg)}.agenda-item.is-ooo .agenda-icon{background:var(--status-danger-bg);color:var(--status-danger-fg)}.agenda-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.agenda-title{font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--text-primary)}.agenda-desc{font-size:var(--fs-md);color:var(--text-secondary)}.agenda-meta{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);font-size:var(--fs-sm);color:var(--text-tertiary)}.auth-page{display:grid;place-items:center;min-height:100%;padding:var(--space-6);background:radial-gradient(60% 50% at 15% 10%,color-mix(in srgb,var(--blue-500) 16%,transparent),transparent 70%),radial-gradient(55% 45% at 85% 90%,color-mix(in srgb,var(--violet-500) 14%,transparent),transparent 70%),var(--surface-page)}.auth-card{width:100%;max-width:400px;padding:var(--space-8);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-3xl);box-shadow:var(--elev-3)}.auth-head{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);margin-bottom:var(--space-6);text-align:center}.auth-head .brand{margin-bottom:var(--space-4)}.auth-head h1{font-size:var(--fs-xl)}.auth-head p{font-size:var(--fs-md);color:var(--text-tertiary)}.auth-foot{margin-top:var(--space-6);text-align:center;font-size:var(--fs-sm);color:var(--text-tertiary)}@container app (max-width: 760px){.app-shell{grid-template-rows:auto 1fr auto}.app-header{gap:var(--space-3);padding-inline:var(--space-4)}.app-header .app-nav,.app-header .user-meta{display:none}.app-header .user-chip{margin-left:auto}.app-main{padding:var(--space-5) var(--space-4) var(--space-8)}.app-bottomnav{position:sticky;bottom:0;z-index:var(--z-nav);display:flex;justify-content:space-around;align-items:stretch;height:calc(var(--bottomnav-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:var(--surface-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border-subtle)}.app-bottomnav .nav-link{flex-direction:column;justify-content:center;gap:3px;height:auto;padding:var(--space-2) var(--space-1);flex:1;border-radius:0;background:none;box-shadow:none;font-size:var(--fs-2xs);position:relative}.app-bottomnav .nav-link[aria-current=page]{background:none;color:var(--text-brand)}.app-bottomnav .nav-link[aria-current=page]:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:28px;height:3px;border-radius:0 0 3px 3px;background:var(--action-primary-bg)}.page-head{flex-direction:column;align-items:stretch;gap:var(--space-3)}.page-title{font-size:var(--fs-xl)}.page-head-actions .btn{flex:1}.page-head-actions .btn-hide-narrow{display:none}.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.kpi{padding:var(--space-3)}.kpi-icon{width:32px;height:32px}.kpi-value{font-size:var(--fs-lg)}.toolbar{padding:var(--space-2)}.search{flex:1 1 100%;max-width:none}.search-kbd{display:none}.toolbar-end{width:100%;margin-left:0}.toolbar-end .btn{flex:1}.filter-panel{grid-template-columns:1fr;gap:var(--space-4);padding:var(--space-4)}.table-wrap{border:0;background:transparent;box-shadow:none;overflow:visible;border-radius:0}.data-table,.data-table tbody,.data-table tr,.data-table td{display:block;width:100%}.data-table thead,.data-table caption{display:none}.data-table tr{position:relative;margin-bottom:var(--space-3);padding:var(--space-4);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--elev-1)}.data-table tbody tr[aria-selected=true]{border-color:var(--state-selected-border);box-shadow:0 0 0 1px var(--state-selected-border)}.data-table tbody td{display:grid;grid-template-columns:84px 1fr;gap:var(--space-3);align-items:baseline;padding:var(--space-1) 0;border:0;white-space:normal;overflow:visible}.data-table tbody td .truncate{overflow:visible;text-overflow:clip;white-space:normal}.data-table tbody td[data-label]:before{content:attr(data-label);font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-tertiary)}.data-table td.cell-title{display:block;padding-right:76px;font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--text-primary)}.data-table td.cell-title:before{display:none}.data-table td.col-select{position:absolute;top:var(--space-4);right:var(--space-4);width:auto;padding:0;display:block}.data-table td.cell-actions{display:flex;justify-content:flex-end;gap:var(--space-1);margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-subtle)}.data-table td.cell-actions:before{display:none}.data-table .cell-actions .icon-action{opacity:1;width:36px;height:36px}.data-table td.cell-center{text-align:left}.cal-grid{display:none}.selection-bar{width:100%;justify-content:space-between;border-radius:var(--radius-xl);bottom:var(--space-2)}.overlay{align-items:end;padding:0}}@keyframes sheetIn{0%{transform:translateY(100%)}to{transform:none}}.cal-layout{display:grid;grid-template-columns:minmax(0,1fr) 336px;gap:var(--space-5);align-items:start}.cal-pane{position:sticky;top:calc(var(--header-h) + var(--space-5));padding:var(--card-p);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-2xl);box-shadow:var(--elev-1)}.cal-pane-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-4)}.cal-pane-head b{font-size:var(--fs-lg);font-weight:var(--fw-bold)}.cal-pane-head span{font-size:var(--fs-sm);color:var(--text-tertiary)}.day-strip-wrap{display:none}@container app (max-width: 1040px){.cal-layout{grid-template-columns:minmax(0,1fr)}.cal-pane{position:static}}@container app (max-width: 760px){.day-strip-wrap{display:block}.cal-pane{padding:0;background:transparent;border:0;box-shadow:none}}.kpi-icon.kpi-success{background:var(--status-success-bg);color:var(--status-success-fg)}.kpi-icon.kpi-warning{background:var(--status-warning-bg);color:var(--status-warning-fg)}.kpi-icon.kpi-neutral{background:var(--status-neutral-bg);color:var(--status-neutral-fg)}.result-count{font-size:var(--fs-sm);color:var(--text-tertiary);white-space:nowrap}.result-count b{color:var(--text-primary)}.dialog-title,.dialog-sub{display:block}.confirm-lede{display:flex;align-items:flex-start;gap:var(--space-3)}.confirm-lede p{margin:0;font-size:var(--fs-md);color:var(--text-secondary)}.confirm-icon{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:var(--radius-md);background:var(--status-danger-bg);color:var(--status-danger-fg)}.listbox li.is-highlighted{background:var(--state-selected-bg);color:var(--text-brand)}.listbox-status{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);font-size:var(--fs-sm);color:var(--text-tertiary);cursor:default}.listbox-meta{margin-left:auto;padding-left:var(--space-3);font-size:var(--fs-sm);color:var(--text-tertiary);white-space:nowrap}.input-group .input-suffix.icon-action{position:absolute;right:var(--space-2);width:26px;height:26px}.select-menu{position:relative}.select-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;min-height:var(--control-h-lg);padding:var(--space-3) var(--space-4);background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-md);font-family:inherit;font-size:var(--fs-base);color:var(--text-primary);text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-standard)}.select-trigger:hover{border-color:var(--border-strong)}.select-trigger[aria-expanded=true]{border-color:var(--border-brand)}.select-trigger.is-invalid{border-color:var(--status-danger-fg)}.select-trigger svg{flex:none;color:var(--text-tertiary)}.select-trigger .is-placeholder{color:var(--text-disabled)}.select-panel{position:absolute;top:calc(100% + var(--space-2));left:0;right:0;z-index:var(--z-dropdown);padding:var(--space-2);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--elev-3)}.select-panel-search{margin-bottom:var(--space-1)}.select-panel-search .input{min-height:var(--control-h);font-size:var(--fs-md)}.select-panel .listbox{position:static;border:0;box-shadow:none;padding:0;max-height:240px}.th-sort{display:inline-flex;align-items:center;gap:var(--space-1);padding:0;border:0;background:none;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.th-sort:hover{color:var(--text-primary)}.toast-info{--toast-accent: var(--status-info-fg)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}@container app (max-width: 760px){.form-grid{grid-template-columns:1fr}}@media(max-width:760px){.form-grid{grid-template-columns:1fr}}@media(max-width:760px){.overlay{align-items:end;padding:0}.dialog{max-width:none!important;max-height:88vh;border-radius:var(--radius-3xl) var(--radius-3xl) 0 0;animation:sheetIn var(--dur-base) var(--ease-emphasized)}.dialog-head{padding-top:var(--space-6);position:relative}.dialog-head:before{content:"";position:absolute;top:var(--space-2);left:50%;transform:translate(-50%);width:36px;height:4px;border-radius:var(--radius-full);background:var(--border-default)}.dialog-foot{padding-bottom:calc(var(--space-4) + var(--safe-bottom))}.dialog-foot .btn{flex:1}.toast-stack{right:var(--space-3);left:var(--space-3);width:auto;bottom:calc(var(--bottomnav-h) + var(--space-3) + var(--safe-bottom))}.fab-wrap{right:var(--space-4);bottom:calc(var(--bottomnav-h) + var(--space-4) + var(--safe-bottom))}}.logo{position:relative;display:block;width:100%;height:100%}.logo-svg{display:block;width:100%;height:100%;filter:drop-shadow(0 20px 13px rgb(0 0 0 / .03)) drop-shadow(0 8px 5px rgb(0 0 0 / .08))}.profile-menu-wrap{position:relative;flex:none}.avatar-button{display:block;padding:0;border:0;background:none;border-radius:var(--radius-full);cursor:pointer}.popover-menu{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:var(--z-dropdown);width:200px;padding:var(--space-1);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--elev-3)}.popover-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-sm);background:none;font:inherit;font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--text-secondary);text-align:left;cursor:pointer}.popover-item:hover{background:var(--surface-3);color:var(--text-primary)}.popover-item.is-danger{color:var(--status-danger-fg)}.popover-item.is-danger:hover{background:var(--status-danger-bg)}.colour-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:var(--space-2)}.colour-swatch{width:32px;height:32px;display:grid;place-items:center;padding:0;border:2px solid transparent;border-radius:var(--radius-full);cursor:pointer;color:#fff;transition:transform var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.colour-swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--surface-1),0 0 0 4px var(--action-primary-bg)}.colour-swatch.is-custom{background:conic-gradient(#ef4444,#f59e0b,#10b981,#3b82f6,#8b5cf6,#ef4444)}.colour-custom{position:relative;display:block}.colour-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}.colour-field{width:72px;min-height:var(--control-h-lg);padding:var(--space-1);background:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-standard)}.colour-field:hover{border-color:var(--border-strong)}.colour-field:focus-visible{border-color:var(--border-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus-ring-color) 22%,transparent)}.field-hint code{padding:1px 5px;border-radius:var(--radius-xs);background:var(--surface-2);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-brand)}.fab-item button.is-danger{--fab-color: var(--status-danger-fg)}.grow{flex:1}.contact-autocomplete{position:relative}.cal-pane .state{padding:var(--space-6) var(--space-3)}.cal-pane .state-icon{width:42px;height:42px}.cal-pane .state-title{font-size:var(--fs-md)}.cal-pane .state-body{font-size:var(--fs-sm)}.toolbar-end .btn .badge{margin-left:var(--space-1)}.selection-bar .icon-action{color:inherit}.selection-bar .icon-action:hover{background:#ffffff29}html,body,#root{min-height:100%}body{min-height:100vh}.animate-fade-in{animation:fadeIn var(--dur-slow) var(--ease-emphasized) both}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}
