@font-face{font-family:Sora;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Sora-Variable.woff2) format("woff2")}@font-face{font-family:Sora;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Sora-Variable.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexSans-Variable.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/IBMPlexSans-Variable.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/IBMPlexSans-Variable.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/IBMPlexMono-500.woff2) format("woff2")}:root{--color-ink: #E5E2E1;--color-ink-soft: #D7C4AC;--color-ink-faint: #9F8E78;--color-paper: #131313;--color-surface: #201F1F;--color-surface-alt: #1C1B1B;--color-border: #353534;--color-border-strong: #4A4A49;--color-brand: #FFB000;--color-brand-strong: #CC8C00;--color-brand-tint: rgba(255, 176, 0, .12);--color-brand-on: #131313;--color-star: #FFB000;--color-star-tint: rgba(255, 176, 0, .12);--color-success: #00E676;--color-success-tint: #003907;--color-warning: #FFB000;--color-warning-tint: rgba(255, 176, 0, .08);--color-critical: #FF5252;--color-critical-tint: #93000A;--font-display: "Sora", "Segoe UI Semibold", "Segoe UI", Roboto, sans-serif;--font-ui: "IBM Plex Sans", "Segoe UI", Roboto, sans-serif;--font-mono: "IBM Plex Mono", "Cascadia Mono", Consolas, "Roboto Mono", monospace;--font-weight-display: 700;--font-weight-ui: 500;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-pill: 999px}*{box-sizing:border-box}body{margin:0;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-ui);font-weight:var(--font-weight-ui);color-scheme:dark}#root{min-height:100vh;display:flex;flex-direction:column}a{color:var(--color-brand)}a:hover{color:var(--color-brand-strong)}.link-button{background:none;border:none;padding:0;margin:0;font:inherit;font-weight:inherit;color:var(--color-brand);cursor:pointer}.link-button:hover{color:var(--color-brand-strong);text-decoration:underline}.skip-link{position:absolute;left:-9999px;top:0;background:var(--color-brand);color:var(--color-brand-on);padding:10px 16px;z-index:100;border-radius:var(--radius-sm);font-weight:700;text-decoration:none}.skip-link:focus{left:0}.muted{color:var(--color-ink-soft);font-size:13px}.card-grid-max-4{display:grid;grid-template-columns:repeat(1,1fr);gap:16px}@media (min-width: 640px){.card-grid-max-4{grid-template-columns:repeat(2,1fr)}}@media (min-width: 960px){.card-grid-max-4{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1280px){.card-grid-max-4{grid-template-columns:repeat(4,1fr)}}button,.button-primary,.button-outline,.button-secondary,.button-ghost,.button-danger{font-family:var(--font-ui);font-size:12.5px;font-weight:600;line-height:1;padding:7px 12px;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;width:auto;transition:all .15s ease;box-shadow:none}.button-primary{background:var(--color-brand);color:var(--color-brand-on);border:1px solid var(--color-brand)}.button-primary:hover{background:var(--color-brand-strong);border-color:var(--color-brand-strong)}.button-outline{background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-border-strong)}.button-outline:hover{background:var(--color-surface-alt);border-color:var(--color-brand);color:var(--color-brand)}.button-secondary{background:var(--color-surface-alt);color:var(--color-ink);border:1px solid var(--color-border)}.button-secondary:hover{background:var(--color-border);color:var(--color-ink)}.button-ghost{background:transparent;color:var(--color-ink-soft);border:1px solid transparent;box-shadow:none}.button-ghost:hover{background:var(--color-surface-alt);color:var(--color-ink)}.button-danger{background:var(--color-critical-tint);color:var(--color-critical);border:1px solid rgba(220,38,38,.2)}.button-danger:hover{background:var(--color-critical);color:#fff}.list-item-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.list-item-actions button,.list-item-actions a,.list-item button,.list-item a.button-outline,.list-item a.button-primary,.list-item a.button-secondary,.card-wide button,.table-actions button,.table-actions a{padding:5px 10px!important;font-size:12px!important;height:28px!important;border-radius:var(--radius-sm)!important;font-weight:600!important}.shell-main{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.app-shell{display:flex;min-height:100vh;width:100%;background:var(--color-paper)}.sidebar{width:248px;flex-shrink:0;display:flex;flex-direction:column;gap:4px;padding:20px 14px;background:var(--color-surface);border-right:1px solid var(--color-border);position:sticky;top:0;height:100vh;overflow-y:auto;overflow-x:hidden;transition:width .15s ease}.sidebar.collapsed{width:72px;padding-left:10px;padding-right:10px}.sidebar-brand-container{display:flex;align-items:center;justify-content:space-between;padding:6px 4px 14px;margin-bottom:8px;border-bottom:1px solid var(--color-border)}.sidebar-brand-left{display:flex;align-items:center;gap:10px}.sidebar.collapsed .sidebar-brand-container{justify-content:center;padding-left:0;padding-right:0}.sidebar-toggle-btn{width:26px!important;height:26px!important;min-width:26px!important;padding:0!important;border-radius:50%!important;border:1px solid var(--color-border)!important;background:var(--color-surface)!important;color:var(--color-ink-soft)!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;transition:all .15s ease!important;box-shadow:0 1px 3px #0000000d!important;flex-shrink:0}.sidebar-toggle-btn:hover{background:var(--color-surface-alt)!important;color:var(--color-brand)!important;border-color:var(--color-brand)!important}.sidebar-brand-mark{width:32px;height:32px;border-radius:var(--radius-md);background:var(--color-brand);color:var(--color-brand-on);display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--font-display);flex-shrink:0}.sidebar-brand-text{font-family:var(--font-display);font-weight:var(--font-weight-display);font-size:15px;line-height:1.2;color:var(--color-ink)}.sidebar-close-mobile-btn{display:none;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:50%;border:none;background:transparent;color:var(--color-ink-soft);cursor:pointer;flex-shrink:0;margin-left:auto;transition:background .15s ease,color .15s ease}.sidebar-close-mobile-btn:hover{background:var(--color-surface-alt);color:var(--color-brand)}.sidebar-close-mobile-btn svg{width:20px;height:20px;stroke:currentColor;stroke-width:2.2px;flex-shrink:0}.sidebar-nav{display:flex;flex-direction:column;gap:2px;flex:1}.sidebar-link{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:999px;color:var(--color-ink-soft);text-decoration:none;font-size:14px;font-weight:500;white-space:nowrap}.sidebar.collapsed .sidebar-link{justify-content:center;padding-left:0;padding-right:0}.sidebar-link svg{flex-shrink:0}.sidebar-link:hover{background:var(--color-surface-alt);color:var(--color-ink)}.sidebar-link{position:relative}.sidebar-link.active{background:var(--color-brand-tint);color:var(--color-brand-strong);font-weight:700}.sidebar-footer{margin-top:auto;padding:12px;border-top:1px solid var(--color-border)}.sidebar-collapse-btn{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:transparent;color:var(--color-ink-soft);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.sidebar-collapse-btn:hover{background:var(--color-surface-alt);color:var(--color-ink);border-color:var(--color-border-strong)}.sidebar.collapsed .sidebar-footer{padding:12px 0;display:flex;justify-content:center}.sidebar.collapsed .sidebar-collapse-btn{width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%}.shell-content{flex:1;min-width:0;display:flex;flex-direction:column}.mobile-nav-toggle{display:none;align-items:center;justify-content:center;width:38px;height:38px;min-width:38px;min-height:38px;padding:0;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-ink);cursor:pointer;flex-shrink:0;box-shadow:none;transition:background .15s ease,border-color .15s ease}.mobile-nav-toggle:hover{background:var(--color-surface-alt);border-color:var(--color-border-strong)}.mobile-nav-toggle svg{width:20px;height:20px;stroke-width:2.2px;flex-shrink:0}.shell-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 28px;background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:5}.topbar-search-container{position:relative;flex:1;max-width:380px}.topbar-search{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px 8px 14px;border-radius:999px;background:var(--color-surface-alt);color:var(--color-ink-faint);border:1px solid transparent;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.topbar-search:focus-within{background:var(--color-surface);border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-tint)}.search-shortcut-kbd{font-family:var(--font-sans);font-size:11px;font-weight:600;color:var(--color-ink-faint);background:var(--color-surface);border:1px solid var(--color-border);padding:2px 6px;border-radius:var(--radius-sm);margin-left:auto;line-height:1;pointer-events:none;flex-shrink:0}.search-results-overlay{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000000d;max-height:380px;overflow-y:auto;z-index:100;padding:8px}.search-loading-state,.search-empty-state,.search-prompt-state{padding:16px;text-align:center;font-size:13px;color:var(--color-ink-faint)}.search-loading-state{display:flex;align-items:center;justify-content:center;gap:8px}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.skeleton{display:inline-block;flex-shrink:0;background:linear-gradient(100deg,var(--color-surface-alt) 30%,var(--color-border) 50%,var(--color-surface-alt) 70%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}.search-prompt-state .prompt-title{font-weight:700;color:var(--color-ink);margin:0 0 4px}.search-prompt-state .prompt-sub{margin:0;font-size:12px;color:var(--color-ink-soft)}.search-results-list{display:flex;flex-direction:column;gap:4px}.search-result-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);text-decoration:none;color:var(--color-ink);transition:background .15s ease}.search-result-item:hover{background:var(--color-surface-alt)}.search-result-main{display:flex;flex-direction:column;gap:2px;min-width:0}.search-result-title{font-weight:600;font-size:13px;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-subtitle{font-size:11px;color:var(--color-ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-search input{border:none;background:transparent;padding:0;color:var(--color-ink);font:inherit;width:100%}.topbar-search input:focus-visible{outline:none}.topbar-icons{display:flex;align-items:center;gap:6px;flex-shrink:0}.icon-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:none;border-radius:50%;color:var(--color-ink-soft);background:transparent;text-decoration:none}.icon-button:hover{background:var(--color-surface-alt);color:var(--color-ink)}.icon-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 3px;border-radius:999px;background:var(--color-critical);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}.account{position:relative;padding-left:12px;margin-left:6px;border-left:1px solid var(--color-border)}.account-trigger{display:flex;align-items:center;gap:10px;background:var(--color-surface);border:1px solid var(--color-border);padding:5px 12px 5px 6px;border-radius:999px;width:auto;cursor:pointer;box-shadow:none;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.account-trigger:hover,.account-trigger[aria-expanded=true]{background:var(--color-surface-alt);border-color:var(--color-border-strong);box-shadow:none}.account-chevron{color:var(--color-ink-faint);transition:transform .15s ease;flex-shrink:0}.account-chevron.open{transform:rotate(180deg)}.account-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:none;padding:6px;z-index:20}.account-menu-header{padding:6px 10px 8px;display:flex;flex-direction:column;gap:2px}.account-menu-email{font-size:13px;font-weight:600;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.account-menu-divider{height:1px;background:var(--color-border);margin:4px 0}.account-menu-item{display:flex;align-items:center;gap:10px;width:100%;background:transparent;color:var(--color-ink);font-weight:600;font-size:13px;padding:9px 10px;border-radius:var(--radius-sm);text-decoration:none;border:none;cursor:pointer}.account-menu-item:hover{background:var(--color-surface-alt)}.notification-bell{position:relative}.notification-panel{position:absolute;top:calc(100% + 8px);right:0;width:340px;max-width:calc(100vw - 24px);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:none;z-index:20;display:flex;flex-direction:column}.notification-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--color-border);font-size:13px;font-weight:700;color:var(--color-ink)}.notification-mark-all{width:auto;background:transparent;border:none;color:var(--color-brand);font-size:12px;font-weight:600;padding:0;cursor:pointer;box-shadow:none}.notification-mark-all:hover{color:var(--color-brand-strong)}.notification-panel-list{max-height:360px;overflow-y:auto}.notification-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;background:transparent;border:none;border-bottom:1px solid var(--color-border);padding:10px 14px;cursor:pointer;box-shadow:none}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--color-surface-alt)}.notification-item.unread{background:var(--color-brand-tint);position:relative;padding-left:22px}.notification-item.unread:before{content:"";position:absolute;left:10px;top:16px;width:6px;height:6px;border-radius:999px;background:var(--color-brand)}.datetime-field{position:relative}button.datetime-field-trigger{display:flex;align-items:center;gap:8px;width:100%;height:auto!important;padding:10px 12px!important;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm)!important;background:var(--color-surface);color:var(--color-ink);font:inherit;font-size:14px!important;font-weight:500!important;text-align:left;cursor:pointer}.datetime-field-trigger:hover:not(:disabled){border-color:var(--color-ink-faint)}.datetime-field-trigger:disabled{opacity:.6;cursor:not-allowed;background:var(--color-surface-alt)}.datetime-field-trigger[aria-invalid=true]{border-color:var(--color-critical)}.datetime-field-trigger svg{flex-shrink:0;color:var(--color-ink-faint)}.datetime-field-placeholder{color:var(--color-ink-faint)}.datetime-field-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:30;width:280px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 20px 25px -5px #00000059,0 8px 10px -6px #00000040;padding:12px}.datetime-field-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}button.datetime-field-nav-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px!important;padding:0!important;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-ink-soft);cursor:pointer}.datetime-field-nav-btn:hover{background:var(--color-surface-alt);color:var(--color-ink)}button.datetime-field-nav-label{padding:4px 8px!important;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-ink);font-weight:700!important;font-size:13px!important;height:auto!important;cursor:pointer;width:auto}.datetime-field-nav-label:hover{background:var(--color-surface-alt);color:var(--color-brand)}.datetime-field-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.datetime-field-weekdays span{text-align:center;font-size:11px;color:var(--color-ink-faint);padding:4px 0}.datetime-field-day-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}button.datetime-field-day-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;width:100%;height:auto!important;padding:0!important;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-ink);font-size:13px!important;font-weight:400!important;cursor:pointer}.datetime-field-day-cell:hover:not(:disabled){background:var(--color-surface-alt)}.datetime-field-day-cell:disabled{color:var(--color-ink-faint);opacity:.4;cursor:not-allowed}.datetime-field-day-cell.today{color:var(--color-brand);font-weight:700!important}.datetime-field-day-cell.active{background:var(--color-brand);color:var(--color-brand-on);font-weight:700!important}.datetime-field-month-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}button.datetime-field-month-cell{padding:10px 0!important;border:none;border-radius:var(--radius-sm);background:var(--color-surface-alt);color:var(--color-ink);font-size:13px!important;font-weight:400!important;height:auto!important;cursor:pointer}.datetime-field-month-cell:hover:not(:disabled){background:var(--color-border)}.datetime-field-month-cell:disabled{color:var(--color-ink-faint);opacity:.4;cursor:not-allowed}.datetime-field-month-cell.active{background:var(--color-brand);color:var(--color-brand-on);font-weight:700!important}.datetime-field-time-row{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--color-border)}.datetime-field-time-row select{width:auto;padding:6px 8px;font-size:13px}.datetime-field-time-row span{color:var(--color-ink-faint);font-weight:700}button.datetime-field-done-btn{margin-left:auto;width:auto;height:auto!important;padding:6px 14px!important;font-size:12px!important}.notification-item-type{font-size:12px;font-weight:700;color:var(--color-ink)}.notification-item-message{font-size:12px;color:var(--color-ink-soft)}.notification-item-time{font-size:11px;color:var(--color-ink-faint);margin-top:2px}.notification-panel-footer{display:block;text-align:center;padding:10px;font-size:12px;font-weight:700;color:var(--color-brand);text-decoration:none;border-top:1px solid var(--color-border)}.notification-panel-footer:hover{color:var(--color-brand-strong);background:var(--color-surface-alt)}.row-actions{position:relative;display:inline-flex}.row-actions-trigger{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:50%;border:1px solid transparent;background:transparent;color:var(--color-ink-soft);cursor:pointer;flex-shrink:0}.row-actions-trigger:hover,.row-actions-trigger[aria-expanded=true]{background:var(--color-surface-alt);border-color:var(--color-border);color:var(--color-ink)}.row-actions-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:180px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:none;padding:6px;z-index:20}.row-actions-item{display:flex;align-items:center;gap:10px;width:100%;background:transparent;color:var(--color-ink);font-weight:600;font-size:13px;padding:9px 10px;border-radius:var(--radius-sm);text-decoration:none;border:none;cursor:pointer}.row-actions-item:hover{background:var(--color-surface-alt)}.row-actions-item.danger{color:var(--color-critical)}.mobile-only-item{display:none}.icon-badge-inline{margin-left:auto;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--color-critical);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--color-brand),var(--color-brand-strong));color:var(--color-brand-on);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex-shrink:0}.account-meta{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}.account-meta .muted{font-size:11px;color:var(--color-ink-faint);font-weight:500}.account-email{font-size:13px;font-weight:600;color:var(--color-ink);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page{flex:1;padding:24px 32px;width:100%;max-width:1680px;margin:0 auto}.dashboard-header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}.dashboard-header h2{font-family:var(--font-display);font-weight:var(--font-weight-display);margin:0 0 4px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-grid-3{grid-template-columns:repeat(3,1fr)}.stat-grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 900px){.stat-grid-3,.stat-grid-4{grid-template-columns:repeat(2,1fr)}}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:10px 14px;display:flex;flex-direction:row;align-items:center;gap:10px;border-bottom:3px solid var(--stat-accent, var(--color-brand));box-shadow:none;transition:box-shadow .15s ease,transform .15s ease;text-decoration:none;color:inherit;cursor:pointer}.stat-card:hover{box-shadow:none;transform:translateY(-1px)}.stat-card-icon{width:34px;height:34px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--stat-accent-tint, var(--color-brand-tint));color:var(--stat-accent, var(--color-brand))}.stat-card-text{display:flex;flex-direction:column;gap:1px;min-width:0}.stat-card-label{font-size:12px;color:var(--color-ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-card-value{font-size:18px;font-weight:700;color:var(--color-ink)}.stat-card-value.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;align-items:start;margin-bottom:24px}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:18px;box-shadow:none}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-header h3{margin:0;font-family:var(--font-display);font-weight:var(--font-weight-display);font-size:15px}.panel-link{font-size:13px;font-weight:600;color:var(--color-brand);text-decoration:none}.upcoming-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--color-border)}.upcoming-item:last-child{border-bottom:none;padding-bottom:0}.upcoming-date{width:44px;flex-shrink:0;text-align:center;padding:6px 0;border-radius:var(--radius-sm);background:var(--color-surface-alt)}.upcoming-date-day{font-family:var(--font-mono);font-weight:700;font-size:15px;color:var(--color-ink);display:block}.upcoming-date-month{font-size:10px;text-transform:uppercase;color:var(--color-ink-soft)}.donut-wrap{display:flex;flex-direction:column;align-items:center;gap:16px}.donut{position:relative;width:132px;height:132px;border-radius:999px;display:flex;align-items:center;justify-content:center}.donut-center{position:absolute;width:96px;height:96px;border-radius:999px;background:var(--color-surface);display:flex;flex-direction:column;align-items:center;justify-content:center}.donut-center-value{font-family:var(--font-mono);font-weight:700;font-size:22px;color:var(--color-ink)}.donut-center-label{font-size:11px;color:var(--color-ink-soft)}.legend{display:flex;flex-direction:column;gap:8px;width:100%}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-ink-soft)}.legend-dot{width:8px;height:8px;border-radius:999px;flex-shrink:0}.legend-item strong{margin-left:auto;color:var(--color-ink);font-family:var(--font-mono)}.page-header-block{margin-bottom:20px}.breadcrumb{display:flex;align-items:center;gap:6px;margin-bottom:6px;font-size:13px;color:var(--color-ink-faint)}.breadcrumb a{color:var(--color-ink-faint);text-decoration:none}.breadcrumb a:hover{color:var(--color-ink)}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-header h2{font-family:var(--font-display);font-weight:var(--font-weight-display);margin:0}.card-wide{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px;width:100%;box-shadow:none;transition:box-shadow .15s ease,border-color .15s ease}.card-wide:hover{border-color:var(--color-border-strong);box-shadow:none}.page-tabs{display:flex;gap:4px;margin-bottom:16px;padding-bottom:0;border-bottom:1px solid var(--color-border);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.page-tabs::-webkit-scrollbar{display:none}.page-tab{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:10px 16px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--color-ink-soft);font-family:var(--font-ui);font-weight:var(--font-weight-ui);font-size:14px;cursor:pointer;white-space:nowrap;transition:color .12s ease,border-color .12s ease}.page-tab:hover{color:var(--color-ink)}.page-tab.active{color:var(--color-brand);border-bottom-color:var(--color-brand)}.page-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-pill);background:var(--color-surface-alt);color:var(--color-ink-soft);font-size:12px;font-weight:600}.page-tab.active .page-tab-count{background:var(--color-brand-tint);color:var(--color-brand)}.list{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:none;overflow:hidden}.list-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border:none;border-bottom:1px solid var(--color-border);background:transparent;flex-wrap:wrap;transition:background .12s ease}.list-item:last-child{border-bottom:none}.list-item:hover{background:var(--color-surface-alt)}.list-item.clickable{cursor:pointer}.list-item.clickable:focus-visible{outline:2px solid var(--color-brand);outline-offset:-2px}.panel .list{border:none;border-radius:var(--radius-md);box-shadow:none}.panel .list-item{padding:10px 0}.list-item-avatar{width:38px;height:38px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:var(--color-brand-on)}.list-item-avatar.tone-brand{background:var(--color-brand)}.list-item-avatar.tone-success{background:var(--color-success)}.list-item-avatar.tone-warning{background:var(--color-warning)}.list-item-avatar.tone-critical{background:var(--color-critical);color:#fff}.list-item-avatar.tone-star{background:var(--color-star)}.list-item-main{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.list-item-title{font-weight:700}.list-item-meta{display:flex;flex-wrap:wrap;align-items:center}.list-item-meta span:not(:first-child):before{content:"•";margin:0 8px;color:var(--color-border-strong)}.list-item-actions{display:flex;gap:8px}.list-item-actions button{width:auto}.empty-state{display:flex;flex-direction:column;align-items:center;color:var(--color-ink-soft);padding:40px 24px;text-align:center}.empty-state-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:999px;background:var(--color-surface-alt);color:var(--color-ink-faint);margin-bottom:14px}.empty-state-title{margin:0;font-weight:600;color:var(--color-ink)}.empty-state-subtitle{margin:4px 0 0;font-size:13px;color:var(--color-ink-soft);max-width:360px}.list-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 18px;margin-bottom:16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:none}.list-toolbar input[type=search]{font:inherit;padding:8px 12px 8px 32px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--color-ink);flex:1;width:100%}.list-toolbar select{font:inherit;padding:8px 34px 8px 12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--color-ink);width:auto}.list-toolbar-search{position:relative;flex:1;min-width:200px;max-width:320px;display:flex;align-items:center}.list-toolbar-search svg{position:absolute;left:10px;color:var(--color-ink-faint);pointer-events:none}.list-toolbar-right{display:flex;align-items:center;gap:10px}.list-toolbar-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.list-toolbar-divider{width:1px;align-self:stretch;min-height:24px;background:var(--color-border-strong);flex-shrink:0}.list-toolbar-clear{display:inline-flex;align-items:center;gap:5px;width:auto;padding:8px 10px;border:none;background:transparent;color:var(--color-ink-soft);font-size:13px;font-weight:600;cursor:pointer;flex-shrink:0}.list-toolbar-clear:hover{color:var(--color-critical)}.list-toolbar .sort-order-toggle{display:inline-flex;align-items:center;justify-content:center;width:auto;height:100%;padding:8px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink-soft)}.list-toolbar .sort-order-toggle:hover{border-color:var(--color-ink-faint);color:var(--color-ink)}.pagination-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:16px;padding:12px 18px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:none}.pagination-bar button{width:auto}.pagination-pages{display:flex;align-items:center;gap:4px}.page-pill{width:30px;height:30px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background:transparent;border:none;color:var(--color-ink-soft);font-weight:600;font-size:13px}.page-pill:hover:not(:disabled){background:var(--color-surface-alt);color:var(--color-ink)}.page-pill.active{background:var(--color-brand);color:var(--color-brand-on)}.page-pill:disabled{opacity:.35;cursor:default}.page-ellipsis{padding:0 4px;color:var(--color-ink-faint)}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.badge-neutral{background:var(--color-surface-alt);color:var(--color-ink-soft)}.badge-brand{background:var(--color-brand-tint);color:var(--color-brand-strong)}.badge-success{background:var(--color-success-tint);color:var(--color-success)}.badge-warning{background:var(--color-warning-tint);color:var(--color-warning)}.badge-critical{background:var(--color-critical-tint);color:var(--color-critical)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row button{width:auto}.grid-2,.grid-3{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-tile{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px}.stat-tile .stat-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;color:var(--color-ink)}.stat-tile .stat-label{color:var(--color-ink-soft);font-size:13px}.button-outline{background:transparent;color:var(--color-ink);border:1px solid var(--color-border-strong);width:auto}.button-outline:hover{background:var(--color-surface-alt)}input:where(:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range])),textarea,select{font:inherit;font-size:14px;padding:10px 12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);width:100%;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}textarea{resize:vertical;min-height:80px}input:where(:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]))::placeholder,textarea::placeholder{color:var(--color-ink-faint)}input:where(:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range])):hover:not(:disabled):not(:focus-visible),textarea:hover:not(:disabled):not(:focus-visible),select:hover:not(:disabled):not(:focus-visible){border-color:var(--color-ink-faint)}input:where(:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range])):focus-visible,textarea:focus-visible,select:focus-visible{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-tint)}input:where(:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range])):disabled,textarea:disabled,select:disabled{opacity:.6;cursor:not-allowed;background:var(--color-surface-alt)}input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border-color:var(--color-critical)}input[aria-invalid=true]:focus-visible,textarea[aria-invalid=true]:focus-visible,select[aria-invalid=true]:focus-visible{box-shadow:0 0 0 3px var(--color-critical-tint)}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:34px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238A9490' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}input[type=file]{width:100%}.checkbox-group{display:flex;flex-wrap:wrap;gap:8px}.checkbox-chip{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);font-size:13px;cursor:pointer}.form-actions{display:flex;gap:12px;margin-top:8px}.form-actions button{width:auto}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:32px;width:100%;max-width:360px}.card h2{font-family:var(--font-display);font-weight:var(--font-weight-display);margin:0 0 20px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:12px;color:var(--color-ink-soft)}.field-required{color:var(--color-critical);margin-left:2px}.password-field{position:relative;display:flex}.password-field input{padding-right:40px}.password-field-toggle{position:absolute;top:0;right:0;bottom:0;width:36px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-ink-faint);cursor:pointer}.password-field-toggle:hover{color:var(--color-ink-soft)}button{font:inherit;font-weight:700;padding:10px 16px;border-radius:var(--radius-sm);border:none;background:var(--color-brand);color:var(--color-brand-on);cursor:pointer;width:100%}button:disabled{opacity:.6;cursor:default}button.ghost{background:transparent;color:var(--color-ink);border:1px solid var(--color-border-strong);width:auto}.error-text{color:var(--color-critical);font-size:13px;margin:-8px 0 16px}.auth-split{min-height:100vh;width:100%;display:flex}.auth-brand-panel{flex:1 1 45%;min-width:0;background:var(--color-brand-tint);color:var(--color-ink);padding:56px;display:flex;flex-direction:column;justify-content:center;gap:32px}.auth-brand-mark-row{display:flex;align-items:center;gap:12px}.auth-brand-mark{width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-brand);color:var(--color-brand-on);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:16px;flex-shrink:0}.auth-brand-name{font-family:var(--font-display);font-weight:700;font-size:18px}.auth-tagline{font-family:var(--font-display);font-weight:700;font-size:34px;line-height:1.25;max-width:420px;margin:0;text-wrap:balance}.auth-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:18px;max-width:380px}.auth-features li{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.5;color:var(--color-ink-soft)}.auth-features svg{flex-shrink:0;margin-top:2px;color:var(--color-brand)}.auth-form-panel{flex:1 1 55%;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;background:var(--color-paper)}.auth-form-mark{display:none;width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-brand);color:var(--color-brand-on);align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:16px;margin-bottom:24px}.auth-form{width:100%;max-width:380px}.auth-form h2{font-family:var(--font-display);font-weight:var(--font-weight-display);margin:0 0 6px}.auth-form .auth-subtitle{color:var(--color-ink-soft);font-size:14px;margin:0 0 28px}.auth-form-footer{margin-top:20px;font-size:14px;color:var(--color-ink-soft)}.role-option-group{display:grid;grid-template-columns:1fr 1fr;gap:10px}.role-option{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);font-weight:400;cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.role-option:hover{border-color:var(--color-brand)}.role-option svg{color:var(--color-ink-faint)}.role-option-title{font-weight:700;font-size:13px;color:var(--color-ink)}.role-option-desc{font-size:12px;color:var(--color-ink-soft);line-height:1.4}.role-option.selected{border-color:var(--color-brand);background:var(--color-brand-tint)}.role-option.selected svg{color:var(--color-brand)}.select-card-group{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.select-card-group .select-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:12px 14px!important;height:auto!important;border:1px solid var(--color-border-strong);border-radius:var(--radius-md)!important;background:var(--color-surface);color:var(--color-ink);font-weight:400!important;cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.select-card-group .select-card:hover{border-color:var(--color-brand)}.select-card-group .select-card svg{width:18px!important;height:18px!important;color:var(--color-ink-faint)}.select-card-title{font-weight:700;font-size:13px;color:var(--color-ink)}.select-card-desc{font-size:12px;color:var(--color-ink-soft);line-height:1.4}.select-card-group .select-card.selected{border-color:var(--color-brand);background:var(--color-brand-tint)}.select-card-group .select-card.selected svg{color:var(--color-brand)}.form-section-divider{height:1px;background:var(--color-border);margin:24px 0}.field-hint{margin:6px 0 0;font-size:12px;color:var(--color-ink-soft)}.field-hint.warn{color:var(--color-warning)}.field-hint.error{color:var(--color-critical)}.cost-breakdown{background:var(--color-surface-alt);border-radius:var(--radius-lg);padding:14px 16px;display:flex;flex-direction:column;gap:8px;margin:20px 0}.cost-breakdown-row{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--color-ink-soft)}.cost-breakdown-row.total{padding-top:8px;margin-top:2px;border-top:1px solid var(--color-border-strong);font-size:15px;font-weight:700;color:var(--color-ink)}.qty-stepper{display:flex;align-items:center;gap:8px}.qty-stepper input{text-align:center}.qty-stepper-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;min-width:38px;border-radius:50%;border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-ink);cursor:pointer;flex-shrink:0}.qty-stepper-btn:hover:not(:disabled){background:var(--color-surface-alt)}.qty-stepper-btn:disabled{opacity:.4;cursor:not-allowed}.vacancy-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:2px}.vacancy-posted{font-size:12px;color:var(--color-ink-faint);white-space:nowrap;flex-shrink:0}.vacancy-description-box{margin-top:12px;padding:12px 14px;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;line-height:1.5;color:var(--color-ink)}.vacancy-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:20px}.vacancy-detail-tile{display:flex;align-items:flex-start;gap:10px}.vacancy-detail-tile-text{min-width:0;display:flex;flex-direction:column;gap:3px}.vacancy-detail-tile-label{font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--color-ink-faint)}.vacancy-detail-tile-value{font-size:14px;font-weight:600;color:var(--color-ink);line-height:1.4}.vacancy-economics-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;padding-top:18px;border-top:1px solid var(--color-border)}.vacancy-economics-chip{flex:1 1 150px;padding:10px 14px;border-radius:var(--radius-md);background:var(--color-surface-alt);border:1px solid var(--color-border)}.vacancy-economics-chip.highlight{background:var(--color-brand-tint);border-color:var(--color-brand)}.vacancy-economics-chip-label{display:block;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--color-ink-faint);margin-bottom:4px}.vacancy-economics-chip.highlight .vacancy-economics-chip-label{color:var(--color-brand-strong)}.vacancy-economics-chip-value{display:block;font-size:16px;font-weight:800;color:var(--color-ink)}.vacancy-economics-chip.highlight .vacancy-economics-chip-value{color:var(--color-brand)}.vacancy-address{font-size:13px;color:var(--color-ink-soft);margin:0 0 6px}.site-map-frame{position:relative;width:100%;max-width:420px;aspect-ratio:4 / 3;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:12px;background:var(--color-surface-alt)}.site-map-grid{position:absolute;display:grid}.site-map-grid img{display:block;width:256px;height:256px}.site-map-marker{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);pointer-events:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}.vacancy-description{font-size:13px;color:var(--color-ink-soft);margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.vacancy-meta-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.vacancy-meta-chip{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--color-surface-alt);color:var(--color-ink-soft);font-size:12.5px;font-weight:600}.vacancy-meta-chip svg{color:var(--color-ink-faint);flex-shrink:0}.vacancy-meta-chip.filled{background:var(--color-success-tint);color:var(--color-success)}.vacancy-meta-chip.filled svg{color:var(--color-success)}.shift-timer-row{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 0}.shift-timer{flex:1 1 160px;display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:var(--radius-md);background:var(--color-brand-tint)}.shift-timer.on-break{background:var(--color-warning-tint)}.shift-timer-label{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-soft)}.shift-timer-value{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-brand-strong)}.shift-timer.on-break .shift-timer-value{color:var(--color-warning)}.timesheet-summary{margin-top:12px;padding:12px 14px;border-radius:var(--radius-lg);background:var(--color-surface-alt);display:flex;flex-direction:column;gap:6px}.timesheet-summary-row{display:flex;align-items:center;justify-content:space-between;font-size:13.5px}.vacancy-applicants-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.vacancy-applicants-header h4{margin:0;font-size:13px;font-weight:700;color:var(--color-ink)}.vacancy-no-applicants{font-size:13px;padding:10px 0 2px;margin:0}.rating-inline{display:inline-flex;align-items:center;gap:3px;color:var(--color-star)}.staff-profile-header{display:flex;align-items:center;gap:14px;margin-bottom:20px}.staff-profile-name{margin:0 0 4px;font-size:17px}.tag-chip-group{display:flex;flex-wrap:wrap;gap:6px}.tag-chip{padding:5px 12px;border-radius:999px;background:var(--color-surface-alt);color:var(--color-ink-soft);font-size:12.5px;font-weight:600}.staff-profile-section{margin-bottom:18px}.staff-profile-section-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--color-ink-faint);margin:0 0 8px}.ticket-thread{display:flex;flex-direction:column;gap:12px;margin-bottom:20px;max-height:420px;overflow-y:auto;padding-right:4px}.ticket-detail-panel{display:flex;flex-direction:column;height:calc(100vh - 280px)}.ticket-detail-panel .ticket-thread{flex:1;min-height:0;max-height:none;overflow-y:auto}.ticket-composer-row{display:flex;align-items:flex-end;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid var(--color-border)}.ticket-composer-input{flex:1;resize:none;min-height:40px;max-height:120px;border-radius:20px;padding:10px 16px;line-height:1.4;overflow-y:auto}.ticket-composer-send{flex-shrink:0;width:40px;height:40px;padding:0;border-radius:999px;background:var(--color-brand);color:var(--color-brand-on);display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:background .15s ease,opacity .15s ease}.ticket-composer-send:hover:not(:disabled){background:var(--color-brand-strong)}.ticket-composer-send:disabled{opacity:.4;cursor:not-allowed}.ticket-composer-icon-btn{flex-shrink:0;width:36px;height:40px;padding:0;border:none;background:transparent;color:var(--color-ink-faint);display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%}.ticket-composer-icon-btn:hover{color:var(--color-ink)}.ticket-composer-emoji-trigger{position:relative;display:flex}.composer-attachment-preview{display:flex;align-items:center;gap:8px;padding:6px 10px;margin-bottom:8px;background:var(--color-surface-alt);border:1px solid var(--color-border);width:fit-content;max-width:100%}.composer-attachment-preview-image{width:40px;height:40px;object-fit:cover;border-radius:4px}.composer-attachment-preview-name{font-size:12px;color:var(--color-ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.composer-attachment-remove{border:none;background:transparent;color:var(--color-ink-faint);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:2px}.composer-attachment-remove:hover{color:var(--color-critical)}.ticket-message{display:flex;flex-direction:column;max-width:78%;gap:4px}.ticket-message.mine{align-self:flex-end;align-items:flex-end}.ticket-message.theirs{align-self:flex-start;align-items:flex-start}.ticket-message-bubble{padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.ticket-message.highlighted .ticket-message-bubble{animation:ticket-message-flash 1.5s ease-out}@keyframes ticket-message-flash{0%{box-shadow:0 0 0 2px var(--color-brand)}to{box-shadow:0 0 0 2px transparent}}.ticket-message.mine .ticket-message-bubble{background:var(--color-brand);color:var(--color-brand-on);border-bottom-right-radius:4px}.ticket-message.theirs .ticket-message-bubble{background:var(--color-surface-alt);color:var(--color-ink);border:1px solid var(--color-border);border-bottom-left-radius:4px}.ticket-message-meta{font-size:11px;color:var(--color-ink-faint);padding:0 4px}.ticket-message-attachment-image{max-width:240px;max-height:240px;border-radius:8px;cursor:pointer;display:block;object-fit:cover}.attachment-chip{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:8px;color:var(--color-ink);text-decoration:none;max-width:240px}.attachment-chip:hover{border-color:var(--color-ink-faint)}.attachment-chip-name{font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-chip-size{font-size:11px;color:var(--color-ink-faint);flex-shrink:0}.ticket-message-actions{display:flex;gap:4px;margin-top:2px}.ticket-message-action-btn{border:1px solid var(--color-border-strong);background:var(--color-surface-alt);color:var(--color-ink);border-radius:999px;width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer}.ticket-message-action-btn:hover{color:var(--color-brand);border-color:var(--color-brand)}.ticket-message-react-trigger{position:relative;display:flex}.reaction-badge-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.reaction-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:12px;border-radius:999px;background:var(--color-surface-alt);border:1px solid var(--color-border);color:var(--color-ink-soft);cursor:pointer}.reaction-badge.mine{border-color:var(--color-brand);background:var(--color-brand-tint)}.reaction-badge-count{font-size:11px;color:var(--color-ink-faint)}.emoji-picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:39}.emoji-picker-popover{position:absolute;bottom:calc(100% + 6px);left:0;z-index:40;display:grid;grid-template-columns:repeat(6,1fr);gap:4px;padding:8px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 10px 30px #0000004d;width:max-content}.ticket-message.mine .emoji-picker-popover{left:auto;right:0}.emoji-picker-option{border:none;background:transparent;font-size:18px;padding:4px;cursor:pointer;border-radius:4px;line-height:1}.emoji-picker-option:hover{background:var(--color-surface-alt)}.reply-quote-block{display:flex;align-items:flex-start;gap:8px;padding:6px 8px;margin-bottom:4px;background:var(--color-surface-alt);border-radius:6px;max-width:100%}.reply-quote-block.clickable{cursor:pointer}.reply-quote-block.clickable:hover{background:var(--color-border)}.reply-quote-accent{width:3px;align-self:stretch;background:var(--color-brand);border-radius:2px;flex-shrink:0}.reply-quote-body{display:flex;flex-direction:column;min-width:0;flex:1}.reply-quote-sender{font-size:11px;font-weight:700;color:var(--color-brand)}.reply-quote-text{font-size:12px;color:var(--color-ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-quote-cancel{width:auto;padding:0;border:none;background:transparent;color:var(--color-ink-faint);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.reply-quote-cancel:hover{color:var(--color-critical)}.lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:60;padding:32px}.lightbox-image{max-width:100%;max-height:100%;object-fit:contain;cursor:default}.lightbox-close-btn{position:absolute;top:20px;right:20px;width:40px;height:40px;border-radius:999px;border:none;background:#ffffff1a;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.lightbox-close-btn:hover{background:#fff3}.ticket-system-banner{align-self:center;margin:4px auto;padding:4px 12px;font-size:11px;font-weight:600;color:var(--color-ink-faint);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:999px;text-transform:uppercase;letter-spacing:.4px}.support-card-header{display:flex;align-items:center;gap:10px;margin-bottom:4px}.support-card-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--color-brand-tint);color:var(--color-brand);flex-shrink:0}.priority-select-group{display:flex;flex-wrap:wrap;gap:8px}.priority-option{display:flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--color-border-strong);border-radius:999px;font-size:13px;font-weight:600;color:var(--color-ink-soft);background:var(--color-surface);cursor:pointer}.priority-option:hover{border-color:var(--color-ink-faint)}.priority-option input{width:auto}.priority-option.selected.tone-urgent{border-color:var(--color-critical);background:var(--color-critical-tint);color:var(--color-critical)}.priority-option.selected.tone-high{border-color:var(--color-warning);background:var(--color-warning-tint);color:var(--color-warning)}.priority-option.selected.tone-medium,.priority-option.selected.tone-low{border-color:var(--color-brand);background:var(--color-brand-tint);color:var(--color-brand-strong)}.stepper{display:flex;align-items:flex-start;list-style:none;padding:0;margin:0 0 28px}.stepper-step{display:flex;align-items:center;flex:1;position:relative}.stepper-step:last-child{flex:0 0 auto}.stepper-circle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;border-radius:999px;font-size:13px;font-weight:700;border:2px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-ink-faint);flex-shrink:0}.stepper-label{margin-left:10px;font-size:13px;font-weight:600;color:var(--color-ink-faint);white-space:nowrap}.stepper-connector{flex:1;height:2px;background:var(--color-border-strong);margin:0 12px}.stepper-step.current .stepper-circle{border-color:var(--color-brand);color:var(--color-brand)}.stepper-step.current .stepper-label{color:var(--color-ink)}.stepper-step.done .stepper-circle{border-color:var(--color-brand);background:var(--color-brand);color:var(--color-brand-on)}.stepper-step.done .stepper-label{color:var(--color-ink-soft)}.stepper-step.done .stepper-connector{background:var(--color-brand)}@media (max-width: 640px){.stepper-label{display:none}}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px 16px;border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface-alt);color:var(--color-ink-soft);text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease}.dropzone:hover,.dropzone:focus-visible{border-color:var(--color-brand);background:var(--color-brand-tint);outline:none}.dropzone.dragover{border-color:var(--color-brand);background:var(--color-brand-tint);color:var(--color-brand-strong)}.dropzone svg{color:var(--color-ink-faint)}.dropzone.dragover svg{color:var(--color-brand)}.dropzone-text{font-size:13px;font-weight:600;color:var(--color-ink)}.dropzone-hint{font-size:12px;color:var(--color-ink-faint)}.dropzone-error{margin-top:8px;font-size:12px;color:var(--color-critical)}.dropzone-file-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.dropzone-file-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--color-brand-tint);color:var(--color-brand);flex-shrink:0}.dropzone-file-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.dropzone-file-name{font-size:13px;font-weight:600;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropzone-file-meta{font-size:12px;color:var(--color-ink-soft)}.dropzone-progress-track{height:5px;border-radius:999px;background:var(--color-surface-alt);overflow:hidden}.dropzone-progress-fill{height:100%;background:var(--color-brand);border-radius:999px;transition:width .15s ease}.dropzone-file-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.dropzone-file-action-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border-radius:50%;border:none;background:transparent;color:var(--color-ink-soft);cursor:pointer}.dropzone-file-action-btn:hover{background:var(--color-surface-alt);color:var(--color-ink)}.dropzone-file-action-btn.danger:hover{background:var(--color-critical-tint);color:var(--color-critical)}@media (max-width: 860px){.auth-brand-panel{display:none}.auth-form-mark{display:flex}.auth-form-panel{padding:32px 20px}}.dashboard-section{display:flex;flex-direction:column;gap:24px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.kpi-card-link{text-decoration:none;color:inherit;display:block}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px}@media (min-width: 1400px){.kpi-grid{grid-template-columns:repeat(6,1fr)}}@media (min-width: 1024px) and (max-width: 1399px){.kpi-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 640px) and (max-width: 1023px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}.kpi-card{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:18px 20px;box-shadow:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;overflow:hidden}.kpi-card:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--kpi-tone, var(--color-brand));opacity:.85}.kpi-card:hover{transform:translateY(-2px);box-shadow:none;border-color:var(--color-border-strong)}.kpi-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.kpi-title{font-size:13px;font-weight:500;color:var(--color-ink-soft)}.kpi-icon-wrapper{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--kpi-tint, var(--color-brand-tint));color:var(--kpi-tone, var(--color-brand))}.kpi-body{display:flex;flex-direction:column;gap:6px}.kpi-value{font-size:26px;font-weight:700;color:var(--color-ink);line-height:1.2}.kpi-trend{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600}.trend-label{color:var(--color-ink-soft);font-weight:400;margin-left:2px}.dashboard-charts-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}@media (max-width: 1024px){.dashboard-charts-grid{grid-template-columns:1fr}}.chart-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:20px 22px;box-shadow:none;display:flex;flex-direction:column;gap:16px}.chart-header{display:flex;align-items:flex-start;justify-content:space-between}.chart-title{font-size:16px;font-weight:700;margin:0;color:var(--color-ink)}.chart-subtitle{font-size:13px;color:var(--color-ink-soft);margin:4px 0 0}.chart-active-stat{text-align:right}.active-value{display:block;font-size:20px;font-weight:700;color:var(--color-brand)}.active-label{display:block;font-size:11px;color:var(--color-ink-soft)}.chart-body{position:relative;width:100%}.trend-svg{width:100%;height:200px;overflow:visible}.chart-empty{padding:40px 0;text-align:center;color:var(--color-ink-soft);font-size:14px}.donut-chart-container{display:flex;align-items:center;gap:24px}@media (max-width: 640px){.donut-chart-container{flex-direction:column}}.donut-svg-wrapper{position:relative;width:160px;height:160px;flex-shrink:0}.donut-svg{width:100%;height:100%}.donut-segment{transition:stroke-width .2s ease,opacity .2s ease;cursor:pointer}.donut-segment:hover{stroke-width:20px;opacity:.9}.donut-center-content{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.donut-center-val{font-size:22px;font-weight:700;color:var(--color-ink);line-height:1.1}.donut-center-lbl{font-size:11px;color:var(--color-ink-soft);font-weight:500}.donut-legend{display:flex;flex-direction:column;gap:8px;flex:1}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;padding:4px 8px;border-radius:var(--radius-sm);transition:background .15s ease;cursor:pointer}.legend-item.active,.legend-item:hover{background:var(--color-surface-alt)}.legend-dot{width:10px;height:10px;border-radius:50%}.legend-name{flex:1;color:var(--color-ink)}.legend-count{font-weight:600}.bar-widget-list{display:flex;flex-direction:column;gap:12px}.bar-widget-row{display:flex;flex-direction:column;gap:6px}.bar-widget-info{display:flex;justify-content:space-between;font-size:13px}.bar-widget-label{color:var(--color-ink);font-weight:500}.bar-widget-val{color:var(--color-ink-soft);font-weight:600}.bar-widget-track{height:8px;width:100%;background:var(--color-surface-alt);border-radius:var(--radius-pill);overflow:hidden}.bar-widget-fill{height:100%;border-radius:var(--radius-pill);transition:width .4s ease}.page-header-container{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}.breadcrumb{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-ink-soft)}.breadcrumb-link{color:var(--color-ink-soft);text-decoration:none;transition:color .15s ease}.breadcrumb-link:hover{color:var(--color-brand)}.breadcrumb-sep{color:var(--color-border-strong);font-size:12px}.breadcrumb-current{color:var(--color-ink);font-weight:500}.page-header-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.page-title{font-size:24px;font-weight:700;color:var(--color-ink);margin:0;line-height:1.2}.page-subtitle{font-size:14px;color:var(--color-ink-soft);margin:2px 0 0;max-width:640px}.page-actions{display:flex;align-items:center;gap:10px}.compact-page-header{margin-bottom:10px}.compact-page-header .page-title{font-size:19px}.compact-page-header .page-subtitle{font-size:13px}.search-filter-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:none;margin-bottom:16px}@media (max-width: 768px){.search-filter-card{flex-direction:column;align-items:stretch;gap:10px;padding:10px 12px}}.search-input-wrapper{position:relative;flex:1;max-width:360px;display:flex;align-items:center}.search-icon{position:absolute;left:10px;color:var(--color-ink-faint);pointer-events:none}.filter-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.select-wrapper{position:relative;display:flex;align-items:center}.filter-select,select.filter-select,.filter-controls select,.search-filter-card select{height:32px!important;padding:0 28px 0 10px!important;font-size:12.5px!important;font-weight:500!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-sm)!important;background:var(--color-surface)!important;color:var(--color-ink)!important;cursor:pointer!important;appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 8px center!important;transition:border-color .15s ease,box-shadow .15s ease!important}.filter-select:hover,.filter-select:focus,.filter-controls select:hover,.filter-controls select:focus{border-color:var(--color-brand)!important;outline:none!important;box-shadow:0 0 0 3px var(--color-brand-tint)!important}.sort-direction-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;height:32px!important;padding:0 10px!important;font-size:12px!important;font-weight:600!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-sm)!important;background:var(--color-surface)!important;color:var(--color-ink)!important;width:auto!important;cursor:pointer!important;transition:all .15s ease!important}.sort-direction-btn:hover{background:var(--color-surface-alt)!important;border-color:var(--color-brand)!important;color:var(--color-brand)!important}.pagination-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;box-shadow:none}@media (max-width: 640px){.pagination-card{flex-direction:column;align-items:center;gap:12px}}.pagination-info{font-size:13px;color:var(--color-ink-soft)}.pagination-info .font-semibold,.pagination-info strong{font-weight:600;color:var(--color-ink)}.pagination-nav{display:flex;align-items:center;gap:8px}.pagination-numbers{display:flex;align-items:center;gap:4px}.pagination-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;height:34px!important;padding:0 12px!important;border-radius:var(--radius-sm)!important;font-size:13px!important;font-weight:600!important;border:1px solid var(--color-border)!important;background:var(--color-surface)!important;color:var(--color-ink)!important;width:auto!important;min-width:34px!important;cursor:pointer!important;transition:all .15s ease!important}.pagination-btn:hover:not(:disabled){background:var(--color-surface-alt)!important;border-color:var(--color-brand)!important;color:var(--color-brand)!important}.pagination-btn:disabled{opacity:.45!important;cursor:not-allowed!important;border-color:var(--color-border)!important}.pagination-btn.num-btn{padding:0 10px!important}.pagination-btn.num-btn.active{background:var(--color-brand)!important;color:var(--color-brand-on)!important;border-color:var(--color-brand)!important}.pagination-ellipsis{font-size:12px;color:var(--color-ink-soft);padding:0 4px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--color-surface-alt) 25%,var(--color-paper) 37%,var(--color-surface-alt) 63%);background-size:400% 100%;animation:shimmer 1.6s ease-in-out infinite;border-radius:var(--radius-sm);display:inline-block}.skeleton-text{height:14px;margin-bottom:6px;border-radius:0}.skeleton-circular{border-radius:50%!important}.skeleton-rectangular{border-radius:0}.skeleton-kpi-card{height:118px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:0;padding:16px 18px;display:flex;flex-direction:column;justify-content:space-between}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;align-items:stretch;margin-bottom:24px}.kpi-card-link{text-decoration:none;color:inherit;display:flex;flex-direction:column;flex:1;height:100%}.kpi-card{background:var(--color-surface);border:1px solid var(--color-border);border-top:3px solid var(--kpi-tone, var(--color-brand));border-radius:var(--radius-lg);padding:16px 18px;display:flex;flex-direction:column;justify-content:space-between;min-height:118px;height:100%;box-shadow:none;transition:box-shadow .15s ease,border-color .15s ease,transform .15s ease;box-sizing:border-box}.kpi-card:hover{border-color:var(--color-border-strong);border-top-color:var(--kpi-tone, var(--color-brand));box-shadow:none;transform:translateY(-1px)}.kpi-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.kpi-title{font-size:13px;font-weight:600;color:var(--color-ink-soft);line-height:1.3}.kpi-icon-wrapper{width:32px;height:32px;min-width:32px;min-height:32px;border-radius:50%;background:var(--kpi-tint, var(--color-brand-tint));color:var(--kpi-tone, var(--color-brand));display:flex;align-items:center;justify-content:center;flex-shrink:0}.kpi-body{display:flex;flex-direction:column;gap:2px;justify-content:flex-end;flex:1}.kpi-value{font-size:22px;font-weight:700;color:var(--color-ink);line-height:1.2}.kpi-value.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.kpi-trend{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600;margin-top:2px}.kpi-trend.positive{color:var(--color-success)}.kpi-trend.negative{color:var(--color-critical)}.kpi-trend .trend-icon{flex-shrink:0}.skeleton-chart-card{height:260px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:0;padding:20px 22px;display:flex;flex-direction:column;gap:16px}.skeleton-list-toolbar{height:54px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:0;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.skeleton-list-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:0;overflow:hidden}.skeleton-list-row{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--color-border)}.skeleton-button{height:28px;width:88px;border-radius:0}.skeleton-list-row:last-child{border-bottom:none}.mobile-nav-toggle{display:none;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-ink);cursor:pointer;flex-shrink:0;transition:background .15s ease,border-color .15s ease}.mobile-nav-toggle:hover{background:var(--color-surface-alt)}.mobile-backdrop{display:none}@media (max-width: 768px){.mobile-nav-toggle{display:flex}.mobile-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#10182873;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:95}.sidebar{position:fixed!important;left:0!important;top:0!important;bottom:0!important;z-index:100!important;width:270px!important;height:100vh!important;box-shadow:none!important;transform:translate(-100%);transition:transform .25s cubic-bezier(.4,0,.2,1)!important}.sidebar.mobile-open{transform:translate(0)!important}.sidebar.collapsed{width:270px!important}.sidebar-toggle-btn{display:none!important}.page{padding:16px 14px;max-width:100%}.shell-topbar{padding:10px 14px;gap:10px;flex-wrap:wrap}.topbar-search{max-width:none;order:3;width:100%;margin-top:2px}.dashboard-header{flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:16px}.dashboard-header h2{font-size:20px}.dashboard-kpi-grid,.stat-grid,.stat-grid-3,.stat-grid-4,.dashboard-charts-grid,.dashboard-grid{grid-template-columns:1fr!important;gap:12px!important}.list{background:transparent!important;border:none!important;box-shadow:none!important;overflow:visible!important;gap:12px!important;display:flex!important;flex-direction:column!important}.list-item{background:var(--color-surface)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-lg)!important;padding:16px!important;box-shadow:none!important;flex-direction:column!important;align-items:flex-start!important;gap:12px!important;margin-bottom:0!important;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease!important}.list-item:hover,.list-item:focus-within{border-color:var(--color-brand)!important;box-shadow:none!important}.list-item-main{width:100%}.list-item-title{font-size:15px;font-weight:700}.search-sort-bar,.filter-bar{flex-direction:column!important;align-items:stretch!important;gap:10px!important;padding:14px!important;border-radius:var(--radius-lg)!important}.search-sort-bar input,.search-sort-bar select,.filter-bar input,.filter-bar select{width:100%!important;min-height:42px}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-lg)}.card-wide{padding:16px;border-radius:var(--radius-lg)}}.chart-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:22px 24px;box-shadow:none;display:flex;flex-direction:column;gap:16px;transition:border-color .15s ease,box-shadow .15s ease}.chart-card:hover{border-color:var(--color-border-strong);box-shadow:none}.chart-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.chart-title-row{display:flex;align-items:center;gap:8px;margin-bottom:2px}.chart-title-row .chart-title{margin:0}.chart-title{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--color-ink);margin:0 0 4px}.chart-year-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:var(--color-brand-tint);color:var(--color-brand-strong);font-size:11px;font-weight:700;letter-spacing:.5px}.chart-subtitle{font-size:13px;color:var(--color-ink-faint);margin:0}.chart-active-stat{display:flex;flex-direction:column;align-items:flex-end}.chart-active-stat .active-value{font-size:20px;font-weight:700;font-family:var(--font-mono);color:var(--color-brand);line-height:1.1}.chart-active-stat .active-label{font-size:11px;font-weight:600;color:var(--color-ink-faint);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.chart-body{position:relative;width:100%;padding-top:4px}.chart-x-axis{position:relative;width:100%;height:24px;margin-top:8px}.x-axis-label{position:absolute;transform:translate(-50%);font-size:11px;font-weight:500;color:var(--color-ink-soft);cursor:pointer;white-space:nowrap;transition:color .15s ease,font-weight .15s ease}.x-axis-label:hover,.x-axis-label.active{color:var(--color-ink);font-weight:700}@media (max-width: 1024px){.mobile-nav-toggle{display:inline-flex!important}}@media (max-width: 768px){.shell-topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;gap:10px}.topbar-search,.topbar-icons .icon-button{display:none!important}.mobile-only-item{display:flex!important}.account{border-left:none!important;padding-left:0!important;margin-left:0!important}.account-meta{display:none!important}.account-trigger{display:flex!important;align-items:center!important;gap:6px!important;padding:3px 8px 3px 3px!important;border:1px solid var(--color-border)!important;background:var(--color-surface)!important;border-radius:999px!important;box-shadow:none!important}.account-chevron{display:inline-block!important}.sidebar-close-mobile-btn{display:inline-flex!important}.sidebar-footer{display:none!important}.dashboard-charts-grid,.card-grid-max-4,.stat-grid-3,.stat-grid,.mobile-grid-1col,.mobile-form-grid{grid-template-columns:1fr!important}.teacher-header-actions{width:100%!important;flex-wrap:wrap!important;gap:8px!important}.teacher-header-actions button,.teacher-header-actions a{flex:1 1 calc(50% - 6px)!important;min-width:130px!important;justify-content:center!important}.teacher-header-actions a button{width:100%!important}.teacher-detail-top-row{flex-direction:column!important;align-items:flex-start!important;gap:10px!important}.teacher-detail-top-row .breadcrumb{flex-wrap:wrap!important}.quick-search-modal,.modal-dialog{max-width:95vw!important;margin:10px auto!important;padding:0!important}}.clean-tab-bar{scrollbar-width:none!important;-ms-overflow-style:none!important}.clean-tab-bar::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}.quick-search-backdrop,.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;animation:modalFadeIn .15s ease-out}.quick-search-modal,.modal-dialog{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 20px 25px -5px #00000026,0 8px 10px -6px #0000001a;width:100%;max-height:90vh;overflow-y:auto;animation:modalSlideUp .2s cubic-bezier(.16,1,.3,1)}.quick-search-header,.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--color-border)}.modal-title{margin:0;font-size:16px;font-weight:700;color:var(--color-ink)}.modal-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:50%;border:none;background:transparent;color:var(--color-ink-soft);cursor:pointer;flex-shrink:0}.modal-close-btn:hover{background:var(--color-surface-alt);color:var(--color-ink)}.modal-body{padding:18px}.location-picker-search-wrap{position:relative;margin-bottom:12px}.location-picker-search{display:flex;align-items:center;gap:8px;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 8px 0 12px;color:var(--color-ink-faint)}.location-picker-search input{flex:1;border:none;background:transparent;padding:10px 0}.location-picker-search button[type=submit]{border-radius:var(--radius-sm);padding:8px 14px}.location-picker-clear-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;color:var(--color-ink-faint);cursor:pointer}.location-picker-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;background:var(--color-surface-alt);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);max-height:220px;overflow-y:auto;box-shadow:0 8px 10px -6px #0000004d}.location-picker-dropdown-row{display:flex;align-items:flex-start;gap:8px;width:100%;padding:10px 12px;border:none;border-bottom:1px solid var(--color-border);background:transparent;color:var(--color-ink);text-align:left;cursor:pointer}.location-picker-dropdown-row:last-child{border-bottom:none}.location-picker-dropdown-row:hover{background:var(--color-surface)}.location-picker-dropdown-row strong{display:block;font-size:13px;color:var(--color-brand)}.location-picker-dropdown-row small{display:block;font-size:12px;color:var(--color-ink-soft);margin-top:2px}.location-picker-map-wrap{position:relative;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.location-picker-map{width:100%;height:320px;background:var(--color-surface-alt)}.location-picker-pin{width:18px;height:18px;border-radius:50%;background:var(--color-brand);border:3px solid var(--color-brand-on);box-shadow:0 0 0 1px #0006}.location-picker-gps-btn{position:absolute;top:10px;right:10px;z-index:400;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:50%;border:none;background:var(--color-brand);color:var(--color-brand-on);cursor:pointer}.location-picker-gps-btn:disabled{opacity:.6;cursor:default}.location-picker-gps-error{position:absolute;left:10px;right:10px;bottom:10px;z-index:400;background:var(--color-critical-tint);border:1px solid var(--color-critical);border-radius:var(--radius-sm);padding:8px 10px;font-size:12px;color:var(--color-ink)}.location-picker-preview{background:var(--color-surface-alt);border:1px solid var(--color-brand);border-radius:var(--radius-sm);padding:12px 14px;margin-top:12px}.location-picker-preview-label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.5px;color:var(--color-brand)}.location-picker-preview-text{font-size:13px;font-weight:600;margin-top:4px}.location-picker-preview-coords{font-size:11px;color:var(--color-ink-faint);margin-top:4px}.location-picker-spinner{width:10px;height:10px;border-radius:50%;border:2px solid var(--color-brand-tint);border-top-color:var(--color-brand);animation:locationPickerSpin .6s linear infinite}@keyframes locationPickerSpin{to{transform:rotate(360deg)}}button.location-selector-btn{display:flex;align-items:center;gap:8px;width:100%;height:auto!important;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm)!important;padding:10px 12px!important;color:var(--color-ink);text-align:left;cursor:pointer;font:inherit;font-size:14px!important;font-weight:500!important}.location-selector-btn:hover{border-color:var(--color-brand)}.location-selector-btn-placeholder{color:var(--color-ink-faint)}.location-selector-btn span{flex:1;font-size:13px}.document-preview-image{display:block;width:100%;max-height:75vh;object-fit:contain;background:var(--color-paper);border:1px solid var(--color-border);border-radius:var(--radius-md)}.document-preview-frame{display:block;width:100%;height:70vh;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff}@media (max-width: 640px){.document-preview-frame{height:60vh}}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}input[type=date]{cursor:pointer}.avatar-uploader-frame{position:relative;width:64px;height:64px}.avatar-uploader-frame .avatar-uploader-edit-btn{position:absolute;right:-4px;bottom:-4px;width:26px!important;height:26px!important;border-radius:50%!important;background:var(--color-brand);color:var(--color-brand-on);border:2px solid var(--color-surface);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0!important}.avatar-uploader-edit-btn:hover{background:var(--color-brand-strong)}.avatar-uploader-edit-btn:disabled{opacity:.6;cursor:default}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .8s linear infinite}@media (prefers-reduced-motion: reduce){.spin{animation:none}}.selfie-capture{display:flex;flex-direction:column;align-items:center}.selfie-capture-frame{position:relative;width:260px;height:260px;border-radius:50%;overflow:hidden;background:var(--color-ink)}.selfie-capture-video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.selfie-capture-oval-mask{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:inset 0 0 0 3px #ffffff8c;pointer-events:none}.selfie-capture-guidelines{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;width:100%}.selfie-capture-guidelines li{font-size:12.5px;color:var(--color-ink-soft);padding-left:18px;position:relative}.selfie-capture-guidelines li:before{content:"";position:absolute;left:4px;top:7px;width:5px;height:5px;border-radius:50%;background:var(--color-brand)}.selfie-capture-shutter{width:56px;height:56px;border-radius:50%;background:var(--color-brand);color:var(--color-brand-on);display:flex;align-items:center;justify-content:center;margin-top:18px;border:none;cursor:pointer}.selfie-capture-shutter:hover:not(:disabled){background:var(--color-brand-strong)}.selfie-capture-shutter:disabled{opacity:.5;cursor:default}.selfie-capture-error{text-align:center;padding:8px 0}.phone-input{display:flex;align-items:stretch;gap:0}.phone-input-prefix{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--color-border);border-right:none;border-radius:var(--radius-sm);background:var(--color-surface-alt);color:var(--color-ink-soft);font-size:13.5px;white-space:nowrap}.phone-input input{border-radius:var(--radius-sm)!important;flex:1;min-width:0}
