:root{--space-0:0;--space-1:2px;--space-2:4px;--space-3:6px;--space-4:8px;--space-5:12px;--space-6:16px;--space-7:24px;--space-8:32px;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-base:14px;--fs-lg:16px;--fs-xl:18px;--fs-2xl:22px;--fs-3xl:28px;--fw-normal:400;--fw-medium:500;--fw-semibold:600;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-pill:999px;--bg:#09090b;--panel:#18181b;--panel-2:#232327;--border:#27272a;--border-strong:#3f3f46;--border-input:#70707b;--text:#fafafa;--muted:#a1a1aa;--primary:#c99e67;--primary-hover:#d4ad7c;--primary-contrast:#09090b;--up:#4ade80;--down:#f87171;--sidebar-bg:#101013;--sidebar-text:#a1a1aa;--sidebar-active:#232327;--input-bg:#ffffff08;--hover-wash:#ffffff0a;--hover-wash-strong:#ffffff0f;--hover-wash-faint:#ffffff05;--btn-hover-bg:#2a2a2e;--placeholder:#9494a0;--overlay:#0009;--zebra:#00000038;--shadow-sm:0 1px 3px #0006;--shadow-md:0 8px 24px #00000073;--shadow-lg:0 16px 40px #0000008c;--shadow-xl:0 20px 50px #0009;--skeleton-sheen:#2e2e33;--logo-ink:#d4d4d8;--tt-ferien:#60a5fa;--tt-krankheit:#f87171;--tt-weiterbildung:#a78bfa;color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#fafafa;--panel:#fff;--panel-2:#f4f4f5;--border:#d4d4d8;--border-strong:#a1a1aa;--border-input:#8a8a94;--text:#18181b;--muted:#52525b;--primary:#845b28;--primary-hover:#6d4a20;--primary-contrast:#fff;--up:#15803d;--down:#b91c1c;--sidebar-bg:#f4f4f5;--sidebar-text:#52525b;--sidebar-active:#e4e4e7;--input-bg:#fff;--hover-wash:#0000000a;--hover-wash-strong:#00000012;--hover-wash-faint:#00000005;--btn-hover-bg:#e4e4e7;--placeholder:#6b6b75;--overlay:#0006;--zebra:#0000000a;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 8px 24px #0000001a;--shadow-lg:0 16px 40px #00000029;--shadow-xl:0 20px 50px #0000002e;--skeleton-sheen:#e4e4e7;--logo-ink:#3f3f46;--tt-ferien:#2563eb;--tt-krankheit:#dc2626;--tt-weiterbildung:#7c3aed;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-theme=light]{--bg:#fafafa;--panel:#fff;--panel-2:#f4f4f5;--border:#d4d4d8;--border-strong:#a1a1aa;--border-input:#8a8a94;--text:#18181b;--muted:#52525b;--primary:#845b28;--primary-hover:#6d4a20;--primary-contrast:#fff;--up:#15803d;--down:#b91c1c;--sidebar-bg:#f4f4f5;--sidebar-text:#52525b;--sidebar-active:#e4e4e7;--input-bg:#fff;--hover-wash:#0000000a;--hover-wash-strong:#00000012;--hover-wash-faint:#00000005;--btn-hover-bg:#e4e4e7;--placeholder:#6b6b75;--overlay:#0006;--zebra:#0000000a;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 8px 24px #0000001a;--shadow-lg:0 16px 40px #00000029;--shadow-xl:0 20px 50px #0000002e;--skeleton-sheen:#e4e4e7;--logo-ink:#3f3f46;--tt-ferien:#2563eb;--tt-krankheit:#dc2626;--tt-weiterbildung:#7c3aed;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0}.logo{letter-spacing:-.01em;white-space:nowrap;font-size:20px;font-weight:600}.logo-cat{color:var(--logo-ink)}.logo-sep{color:var(--primary);margin:0 2px;font-weight:500}.logo-group{color:var(--primary)}.logo-lg{letter-spacing:-.02em;font-size:34px}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--sidebar-bg);width:220px;color:var(--sidebar-text);border-right:1px solid var(--border);flex-shrink:0;padding:20px 12px}.brand{padding:8px 12px 24px}.sidebar nav{flex-direction:column;gap:2px;display:flex}.nav-link{color:var(--sidebar-text);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;font-size:14px;text-decoration:none;transition:background .12s,color .12s;display:flex}.nav-label{align-items:center;gap:11px;min-width:0;display:inline-flex}.nav-icon{flex-shrink:0;width:18px;height:18px}.nav-badge{text-align:center;background:var(--sidebar-active);min-width:22px;color:var(--sidebar-text);border-radius:999px;padding:1px 7px;font-size:12px}.nav-link.active .nav-badge{background:color-mix(in srgb, var(--primary) 18%, transparent);color:var(--primary)}.nav-link:hover{background:var(--hover-wash);color:var(--text)}.nav-link.active,.nav-link.active:hover{background:color-mix(in srgb, var(--primary) 12%, transparent);color:var(--primary);font-weight:600}.content{flex:1;min-width:0;padding:32px 40px;overflow-x:auto}.skip-link{z-index:10000;background:var(--primary);color:var(--primary-contrast);border-radius:8px;padding:10px 14px;font-weight:600;transition:transform .12s;position:fixed;top:8px;left:8px;transform:translateY(calc(-100% - 16px))}.skip-link:focus{transform:translateY(0)}.lang-switch{gap:6px;margin-top:24px;padding:0 12px;display:flex}.lang-switch .lang{color:var(--sidebar-text);border:1px solid var(--sidebar-active);background:0 0;border-radius:8px;flex:1;padding:6px 0;font-size:13px}.lang-switch .lang.active{background:var(--primary);border-color:var(--primary);color:var(--primary-contrast)}.topbar,.sidebar-backdrop{display:none}@media (width<=768px){.topbar{background:var(--sidebar-bg);height:52px;color:var(--text);z-index:30;align-items:center;gap:12px;padding:0 12px;display:flex;position:fixed;top:0;left:0;right:0}.hamburger{color:var(--text);background:0 0;border:none;padding:6px 10px;font-size:20px}.brand-inline{font-weight:700}.sidebar{z-index:30;transition:transform .2s;position:fixed;top:52px;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar .brand{display:none}.sidebar-backdrop{background:var(--overlay);z-index:20;display:block;position:fixed;inset:52px 0 0}.content{padding:72px 16px 24px}}h1{letter-spacing:-.02em;margin:0 0 4px;font-size:24px;font-weight:600}h2{margin:0 0 16px;font-size:16px}.muted{color:var(--muted)}.card{background:var(--panel);border:1px solid var(--border);max-width:640px;box-shadow:var(--shadow-sm);border-radius:12px;margin-top:20px;padding:20px}.kv{margin:0;padding:0;list-style:none}.kv li{border-bottom:1px solid var(--border);justify-content:space-between;padding:8px 0;display:flex}.kv li:last-child{border-bottom:none}.kv li span:first-child{color:var(--muted)}.status-up{color:var(--up);font-weight:600}.status-down{color:var(--down);font-weight:600}.status-flat{color:var(--muted);font-weight:600}.badge{white-space:nowrap;border-radius:999px;padding:1px 9px;font-size:12px;font-weight:600;line-height:20px;display:inline-block}.badge-up{background:color-mix(in srgb, var(--up) 14%, transparent);color:var(--up)}.badge-down{background:color-mix(in srgb, var(--down) 14%, transparent);color:var(--down)}.stat-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:16px;display:grid}.stat-card{background:var(--panel);border:1px solid var(--border);min-width:0;box-shadow:var(--shadow-sm);border-radius:12px;padding:16px 18px}.stat-label{overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:500}.stat-value{overflow-wrap:anywhere;margin:6px 0 0;font-size:clamp(18px,2.2vw,22px);font-weight:600}.nowrap{white-space:nowrap}.visually-hidden{width:1px;height:1px;position:absolute;top:auto;left:-10000px;overflow:hidden}.chart{margin:10px 0 0}.sparkline{color:var(--primary);width:100%;height:32px;display:block}.chart-scale{margin:4px 0 0;font-size:11px}.month-bars{color:var(--primary);width:100%;height:auto;display:block;overflow:visible}.chart-axis{stroke:var(--border);stroke-width:1px}.chart-gridline{stroke:var(--border);stroke-width:1px;stroke-dasharray:3 3}.chart-tick{fill:var(--muted);font-size:10px}.chart-value{fill:var(--text);font-size:11px;font-weight:600}.chart-bar{fill:currentColor}.chart-bar.is-zero{fill:var(--muted);opacity:.35}.chart-bar-group{cursor:default}.chart-bar-group:focus{outline:none}.chart-bar-group:focus-visible .chart-bar,.chart-bar-group.is-active .chart-bar{stroke:var(--text);stroke-width:1.5px}.trend{align-items:baseline;gap:6px;margin:8px 0 0;display:flex}.trend-glyph{font-size:11px;line-height:1}.table-scroll{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.row-clickable{cursor:pointer}.cell-actions{text-align:right}@media (width<=768px){.stat-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.stat-card{padding:14px}.dashboard-freshness{flex-wrap:wrap}.dashboard button,.table-scroll button{min-height:40px;padding-inline:14px}}@media (width<=480px){.stat-cards{grid-template-columns:1fr}.chart-bars .chart-bar-group:nth-child(2n) .chart-tick{display:none}}.dashboard-freshness{align-items:center;gap:12px;margin:0 0 16px;font-size:13px;display:flex}.panel-error{margin-top:0;margin-bottom:16px}.panel-error p{margin:0 0 8px}.skeleton{background:linear-gradient(90deg, var(--panel-2) 25%, var(--skeleton-sheen) 50%, var(--panel-2) 75%);background-size:200% 100%;border-radius:6px;animation:1.4s ease-in-out infinite skeleton-sweep;display:block}.skeleton-line{height:12px}.skeleton-label{width:60%}.skeleton-value{width:45%;height:22px;margin-top:10px}.skeleton-change{width:30%;margin-top:10px}.skeleton-chart{height:28px;margin-top:10px}@keyframes skeleton-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.table-skeleton{flex-direction:column;gap:12px;display:flex}.table-skeleton-toolbar{align-items:center;gap:12px;display:flex}.skeleton-search{width:min(260px,60%);height:34px}.skeleton-count{width:90px;height:12px;margin-left:auto}.table-skeleton-grid{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:2px;display:flex;overflow:hidden}.table-skeleton-row{grid-template-columns:repeat(var(--skeleton-cols,5), 1fr);background:var(--panel);align-items:center;gap:16px;padding:14px 12px;display:grid}.table-skeleton-row .skeleton{height:12px}.table-skeleton-row.is-header{background:var(--panel-2)}@media (width<=768px){.table-skeleton-grid{border:none;border-radius:0;gap:10px;overflow:visible}.table-skeleton-row.is-header{display:none}.table-skeleton-row{border:1px solid var(--border);border-radius:10px;grid-template-columns:1fr;gap:10px;padding:12px 14px}.table-skeleton-row .skeleton:nth-child(n+3){display:none}.table-skeleton-row .skeleton:first-child{height:16px}}.kanban-skeleton .kanban-column{gap:10px}.skeleton-kanban-title{width:55%;height:16px}.skeleton-kanban-card{height:72px}.form-skeleton{flex-direction:column;gap:18px;max-width:520px;display:flex}.form-skeleton-field{flex-direction:column;gap:8px;display:flex}.skeleton-field-label{width:35%;height:12px}.skeleton-field-control{height:34px}.list-skeleton{flex-direction:column;gap:10px;display:flex}.skeleton-list-row{height:28px}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;display:flex}.empty-state-title{margin:0;font-weight:600}.empty-state-text{max-width:46ch;margin:0;font-size:14px}.empty-state-action{margin-top:8px}.empty-state.is-filtered .empty-state-title{color:var(--muted);font-weight:500}.table-empty-cell{padding:0}.error-state{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.error-state p{margin:0}.blocked-action{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.blocked-reason{text-align:right;max-width:42ch;margin:0;font-size:13px}.toolbar{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}table.data{border-collapse:collapse;background:var(--panel);border:1px solid var(--border);width:100%;box-shadow:var(--shadow-sm);border-radius:12px;overflow:hidden}table.data th,table.data td{text-align:left;border-bottom:1px solid var(--border);padding:10px 14px;font-size:14px}table.data th{background:var(--panel-2);color:var(--muted);font-weight:600}table.data tbody tr:hover td{background:var(--hover-wash-faint)}table.data tr:last-child td{border-bottom:none}.data-cards{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.data-card{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;padding:14px}.data-card-head{overflow-wrap:anywhere;font-size:15px;font-weight:600}.data-card-head-secondary{color:var(--muted);overflow-wrap:anywhere;margin-top:2px;font-size:13px}.data-card details{border-top:1px solid var(--border);margin-top:10px}.data-card details summary{min-height:44px;color:var(--muted);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:600;list-style:none;display:flex}.data-card details summary::-webkit-details-marker{display:none}.data-card details summary:after{content:"▾";transition:transform .15s}.data-card details[open] summary:after{transform:rotate(180deg)}.data-card-actions>div{flex-wrap:wrap;gap:8px;padding-bottom:4px;display:flex}.data-card-actions button{min-height:44px;padding-inline:14px}.data-card-fields{margin:0 0 8px}.data-card-field{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:7px 0;font-size:13px;display:flex}.data-card-field:last-child{border-bottom:none;padding-bottom:0}.data-card-field dt{color:var(--muted);flex:none}.data-card-field dd{text-align:right;overflow-wrap:anywhere;flex:auto;min-width:0;margin:0}.data-card-empty{text-align:center;color:var(--muted);padding:24px 14px}button,.btn{font:inherit;border:1px solid var(--border);background:var(--panel-2);color:var(--text);cursor:pointer;border-radius:8px;padding:8px 14px;transition:background .12s,border-color .12s}button:hover,.btn:hover{border-color:var(--border-strong);background:var(--btn-hover-bg)}button.primary,.btn.primary{background:var(--primary);color:var(--primary-contrast);border-color:var(--primary);font-weight:600}button.primary:hover,.btn.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}button.danger{color:var(--down);border-color:color-mix(in srgb, var(--down) 40%, transparent);background:0 0}button.danger:hover{background:color-mix(in srgb, var(--down) 10%, transparent);border-color:var(--down)}button:disabled,.btn:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{font:inherit;border:1px solid var(--border-input);background:var(--input-bg);width:100%;color:var(--text);border-radius:8px;padding:8px 10px}input::placeholder,textarea::placeholder{color:var(--placeholder)}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 20%, transparent);outline:none}:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.field{margin-bottom:12px}.field label{color:var(--muted);margin-bottom:4px;font-size:13px;display:block}.form-error{color:var(--down);margin:8px 0;font-size:13px}dialog.modal{border:1px solid var(--border);background:var(--panel);width:420px;max-width:90vw;color:var(--text);box-shadow:var(--shadow-xl);border-radius:12px;padding:24px}dialog.modal.modal-wide{width:800px}dialog.modal::backdrop{background:var(--overlay)}dialog.modal[open]{max-height:90vh;overflow-y:auto}.modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}@media (width<=768px){dialog.modal[open]{border-radius:0;flex-direction:column;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;display:flex;inset:0;overflow:hidden}.modal-draft{margin:16px 16px 0}.modal-body{flex:auto;min-height:0;padding:16px;display:block;overflow-y:auto}.modal-body h2:first-child{background:var(--panel);border-bottom:1px solid var(--border);z-index:1;margin:-16px -16px 16px;padding:16px;position:sticky;top:-16px}.modal-actions{padding:12px 16px calc(16px + env(safe-area-inset-bottom,0px));background:var(--panel);border-top:1px solid var(--border);z-index:1;margin:16px -16px -16px;position:sticky;bottom:-16px}.line-item-row .field,.line-item-row .field.grow{flex:100%}.tabs button{min-height:44px;padding-inline:14px}}.login-shell{background:var(--bg);background-image:radial-gradient(60% 55% at 50% 0%, color-mix(in srgb, var(--primary) 10%, transparent), transparent 70%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-panel{width:100%;max-width:360px}.login-brand{flex-direction:column;align-items:center;gap:6px;margin-bottom:24px;display:flex}.login-tagline{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.85rem}.login-card{background:var(--panel);border:1px solid var(--border);width:100%;box-shadow:var(--shadow-md);border-radius:12px;flex-direction:column;gap:16px;padding:32px;display:flex}.login-card h1{text-align:center;margin:0 0 8px;font-size:1.15rem;font-weight:600}.login-lang{justify-content:center;max-width:160px;margin:20px auto 0;padding:0}.login-lang .lang{color:var(--muted);border-color:var(--border-input)}.login-lang .lang.active{color:var(--primary-contrast);border-color:var(--primary)}.login-footer{text-align:center;color:var(--muted);margin:20px 0 0;font-size:.75rem}.login-card label{color:var(--muted);flex-direction:column;gap:6px;font-size:.9rem;display:flex}.login-card input{background:var(--panel-2);border:1px solid var(--border-input);color:var(--text);border-radius:8px;padding:10px 12px;font-size:1rem}.reset-password-intro{color:var(--muted);overflow-wrap:anywhere;margin:0}.reset-password-link{text-align:center;text-decoration:none;display:block}.form-success{color:var(--up);margin:8px 0;font-size:14px}.account{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.account-name{color:var(--sidebar-text);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.logout{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;padding:6px 12px}.logout:hover{border-color:var(--primary);color:var(--primary)}.kanban{align-items:flex-start;gap:16px;padding-bottom:8px;display:flex;overflow-x:auto}.kanban-column{background:var(--surface-2,#7f7f7f14);border-radius:8px;flex-direction:column;flex:0 0 280px;gap:8px;max-height:calc(100vh - 220px);padding:12px;display:flex}.kanban-column-header{justify-content:space-between;align-items:center;font-weight:600;display:flex}.kanban-dot{border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block}.kanban-add{width:100%}.kanban-cards{flex-direction:column;gap:8px;min-height:40px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.kanban-card{background:var(--surface,#7f7f7f1f);cursor:grab;border-radius:6px;padding:10px}.kanban-card.is-dragging{opacity:.5}.kanban-card.is-drop-target{outline-offset:2px;outline:2px dashed}.kanban-card-title{margin-bottom:4px;font-weight:600}.kanban-card-meta{font-size:.85em}.kanban-tags{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.kanban-tag{background:#7f7f7f40;border-radius:10px;padding:1px 6px;font-size:.75em}.kanban-progress{background:#7f7f7f40;border-radius:2px;height:4px;margin-top:8px;overflow:hidden}.kanban-progress>div{background:var(--primary);height:100%}.kanban-assignees{gap:4px;margin-top:8px;display:flex}.kanban-avatar{text-transform:uppercase;background:#7f7f7f4d;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.7em;display:inline-flex}.kanban-card-actions{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.kanban-card-actions button{padding:2px 6px;font-size:.8em}.kanban-empty{padding:8px 0;font-size:.9em}@media (width<=768px){.kanban{flex-direction:column;overflow-x:visible}.kanban-column{flex:auto;width:100%;max-height:none}.kanban-add,.kanban-card-actions button{min-height:44px}.kanban-card-actions button{padding-inline:10px}}.timesheet-entry.type-arbeitszeit,.ts-dot.type-arbeitszeit{--tt:var(--primary)}.timesheet-entry.type-ferien,.ts-dot.type-ferien{--tt:var(--tt-ferien)}.timesheet-entry.type-krankheit,.ts-dot.type-krankheit{--tt:var(--tt-krankheit)}.timesheet-entry.type-weiterbildung,.ts-dot.type-weiterbildung{--tt:var(--tt-weiterbildung)}.ts-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px;display:flex}.ts-subtitle{margin:0;font-size:13.5px}.ts-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ts-weeknav{background:var(--panel);border:1px solid var(--border);border-radius:10px;align-items:stretch;display:inline-flex;overflow:hidden}.ts-weeknav .ts-step{color:var(--muted);background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;padding:0 12px;display:inline-flex}.ts-weeknav .ts-step:hover{background:color-mix(in srgb, var(--primary) 12%, transparent);color:var(--primary)}.ts-week{border-left:1px solid var(--border);border-right:1px solid var(--border);white-space:nowrap;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:186px;padding:6px 16px;display:flex}.ts-week-range{letter-spacing:-.01em;font-size:13.5px;font-weight:600}.ts-week-kw{color:var(--primary);letter-spacing:.04em;text-transform:uppercase;font-size:11.5px}.ts-today:not(:disabled){border-color:color-mix(in srgb, var(--primary) 45%, transparent);color:var(--primary);background:0 0}.ts-today:not(:disabled):hover{background:color-mix(in srgb, var(--primary) 12%, transparent);border-color:var(--primary)}.ts-filter{width:auto;min-width:170px}.ts-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.ts-metrics{flex-wrap:wrap;gap:10px;display:flex}.ts-metric{background:var(--panel);border:1px solid var(--border);border-radius:10px;align-items:baseline;gap:8px;padding:9px 14px;display:flex}.ts-metric-value{color:var(--primary);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:18px;font-weight:600}.ts-metric-label{color:var(--muted);font-size:12.5px}.ts-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:16px;margin:0;padding:0;font-size:12.5px;list-style:none;display:flex}.ts-legend li{align-items:center;gap:6px;display:inline-flex}.ts-dot{background:var(--tt,var(--muted));border-radius:50%;width:8px;height:8px}.ts-scroll{border-radius:12px;overflow-x:auto}.ts-mobile-day-label,.ts-mobile-empty,.ts-mobile-total-label{display:none}table.timesheet{table-layout:fixed;min-width:860px}table.timesheet th,table.timesheet td{padding:10px 9px}table.timesheet thead th{vertical-align:bottom;padding-top:9px;padding-bottom:9px}.ts-col-employee{width:176px}.ts-col-total{width:84px}.ts-day-name{text-transform:uppercase;letter-spacing:.06em;font-size:12px;display:block}.ts-day-date{color:var(--muted);font-size:12.5px;font-weight:500;display:block}table.timesheet th.is-today{color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, transparent);box-shadow:inset 0 -2px 0 var(--primary)}table.timesheet th.is-today .ts-day-date{color:var(--primary)}table.timesheet td.is-today{background:color-mix(in srgb, var(--primary) 5%, transparent)}table.timesheet th.is-weekend,table.timesheet td.is-weekend{background:var(--zebra)}table.timesheet th.is-weekend{color:var(--muted)}table.timesheet th.ts-col-employee,table.timesheet td.ts-employee{z-index:2;position:sticky;left:0}table.timesheet th.ts-col-employee{background:var(--panel-2)}table.timesheet td.ts-employee,table.data tbody tr:hover td.ts-employee{background:var(--panel)}td.ts-employee{white-space:nowrap;display:table-cell}.ts-avatar{vertical-align:middle;background:color-mix(in srgb, var(--primary) 14%, transparent);width:28px;height:28px;color:var(--primary);letter-spacing:.02em;text-transform:uppercase;border-radius:50%;justify-content:center;align-items:center;margin-right:10px;font-size:11px;font-weight:600;display:inline-flex}.ts-employee-name{text-overflow:ellipsis;vertical-align:middle;max-width:calc(100% - 40px);font-size:13.5px;font-weight:500;display:inline-block;overflow:hidden}.timesheet-cell{vertical-align:top}.timesheet-entry{background:color-mix(in srgb, var(--tt,#7f7f7f) 12%, transparent);border:1px solid color-mix(in srgb, var(--tt,#7f7f7f) 22%, transparent);border-left:3px solid var(--tt,#7f7f7f99);overflow-wrap:break-word;border-radius:8px;flex-direction:column;gap:2px;min-width:0;margin-bottom:6px;padding:6px 7px;font-size:11.5px;line-height:1.35;display:flex}.timesheet-entry:last-child{margin-bottom:0}.timesheet-entry-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;column-gap:8px;display:flex}.timesheet-type{color:var(--tt,var(--text));font-weight:600}.timesheet-time{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500}.timesheet-meta{white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.ts-col-total,.ts-total{white-space:nowrap;text-align:right!important}.ts-total-badge{background:color-mix(in srgb, var(--primary) 14%, transparent);min-width:46px;color:var(--primary);font-variant-numeric:tabular-nums;text-align:center;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600;display:inline-block}.ts-total-badge.is-zero{background:var(--hover-wash);color:var(--muted)}table.timesheet td.ts-empty{text-align:center;padding:32px 14px}.ts-skeleton{flex-direction:column;gap:8px;display:flex}.ts-skeleton-row{background:linear-gradient(90deg, var(--panel) 25%, var(--panel-2) 50%, var(--panel) 75%);background-size:200% 100%;border-radius:10px;height:52px;animation:1.4s ease-in-out infinite ts-shimmer}@keyframes ts-shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.ts-skeleton-row{animation:none}}@media (width<=768px){.ts-head{gap:14px}.ts-controls{width:100%}.ts-weeknav{flex:100%}.ts-week{flex:1;min-width:0}.ts-today{flex:none}.ts-filter{flex:1;min-width:0}.ts-scroll{border-radius:0;overflow-x:visible}table.data.timesheet{min-width:0;box-shadow:none;background:0 0;border:0;border-radius:0;display:block;overflow:visible}table.timesheet thead{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}table.timesheet tbody{gap:12px;display:grid}table.timesheet tbody tr{border:1px solid var(--border);background:var(--panel);width:100%;box-shadow:var(--shadow-sm);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;display:grid;overflow:hidden}table.timesheet tbody tr:hover td{background:inherit}table.timesheet td.ts-employee{z-index:auto;white-space:normal;background:var(--panel);grid-area:1/1;align-items:center;width:auto;min-width:0;display:flex;position:static}table.timesheet .ts-employee-name{overflow-wrap:anywhere;min-width:0;max-width:none}table.timesheet td.ts-total{background:var(--panel);grid-area:1/2;align-items:center;width:auto;display:flex}table.timesheet .ts-mobile-total-label{color:var(--muted);margin-right:7px;font-size:12px;display:inline}table.timesheet td.timesheet-cell{grid-column:1/-1;grid-template-columns:minmax(72px,92px) minmax(0,1fr);gap:7px 10px;width:auto;min-width:0;padding:9px 12px;display:grid}table.timesheet .ts-mobile-day-label{grid-area:1/1;align-self:start;display:block}table.timesheet .ts-mobile-empty{color:var(--muted);grid-column:2;display:block}table.timesheet .timesheet-entry{grid-column:2;margin-bottom:0}table.timesheet td.ts-empty{grid-column:1/-1;display:block}.ts-weeknav .ts-step,.ts-today{min-height:44px}}.status-page{text-align:center;max-width:480px;margin:0 auto;padding:64px 24px}.status-page-code{color:var(--primary);font-variant-numeric:tabular-nums;margin:0;font-size:56px;font-weight:700;line-height:1}.status-page h1{margin:16px 0 0;font-size:22px}.status-page-text{color:var(--muted);margin:12px 0 0}.status-page-detail{margin-top:16px}.status-page-path,.status-page-reference{border:1px solid var(--border);background:var(--panel-2);color:var(--muted);overflow-wrap:anywhere;border-radius:8px;margin:0;padding:6px 10px;font-size:13px;display:inline-block}.status-page-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:24px;display:flex}.status-page-actions .btn{text-decoration:none}.route-fallback{flex-direction:column;gap:14px;display:flex}.skeleton-route-title{width:240px;max-width:60%;height:26px}.skeleton-route-toolbar{height:36px}.route-fallback-rows{flex-direction:column;gap:10px;display:flex}.skeleton-route-row{height:44px}.session-warning{background:var(--panel);width:max-content;max-width:min(420px,100vw - 32px);color:var(--text);border:1px solid var(--primary);box-shadow:var(--shadow-xl);z-index:60;border-radius:12px;margin:0 auto;padding:16px 20px;position:fixed;inset:auto 0 24px}.session-warning:popover-open{margin:0 auto;inset:auto 0 24px;overflow:visible}.session-warning-title{margin:0 0 4px;font-weight:600}.session-warning-body{color:var(--muted);margin:0;font-size:.9rem}.session-countdown{font-variant-numeric:tabular-nums;color:var(--text);font-weight:600}.session-warning-actions{justify-content:flex-end;margin-top:12px;display:flex}dialog.session-dialog{width:380px}dialog.session-dialog p{margin:0 0 8px;font-size:.9rem}dialog.session-dialog .login-card{background:0 0;border:0;gap:12px;max-width:none;padding:0}.toast-stack{z-index:100;pointer-events:none;width:min(420px,100vw - 32px);position:fixed;bottom:16px;right:16px}.toast-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.toast{pointer-events:auto;border:1px solid var(--border);border-left:4px solid var(--primary);background:var(--panel-2);color:var(--text);box-shadow:var(--shadow-md);border-radius:8px;align-items:center;gap:12px;padding:10px 12px;display:flex}.toast-success{border-left-color:var(--up)}.toast-error{border-left-color:var(--down)}.toast-info{border-left-color:var(--primary)}.toast-message{flex:1;font-size:.9em;line-height:1.4}.toast-action{color:var(--primary);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:2px 6px;font-weight:600}.toast-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:16px;line-height:1}.toast-action:hover,.toast-close:hover{color:var(--text)}.confirm-backdrop{z-index:200;background:var(--overlay);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.confirm-dialog{border:1px solid var(--border);background:var(--panel);width:100%;max-width:420px;color:var(--text);box-shadow:var(--shadow-xl);border-radius:12px;padding:24px}.confirm-dialog h2{margin-top:0;font-size:1.1em}.confirm-message{color:var(--muted)}.btn-spinner{vertical-align:-1px;border:2px solid;border-right-color:#0000;border-radius:50%;width:12px;height:12px;margin-right:6px;animation:.6s linear infinite btn-spin;display:inline-block}button[aria-busy=true]{cursor:progress}@keyframes btn-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.btn-spinner{animation-duration:2.4s}}.upload-progress{margin-top:8px}.upload-progress-row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.upload-progress-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.upload-progress-percent{font-variant-numeric:tabular-nums;color:var(--muted)}.upload-progress-bar{background:#7f7f7f40;border-radius:3px;height:6px;overflow:hidden}.upload-progress-bar>div{background:var(--primary);height:100%;transition:width .2s ease-out}@media (width>=769px){.modal-body{display:contents}.modal-body form>.modal-actions{background:var(--panel);border-top:1px solid var(--border);z-index:1;margin-inline:-24px;padding:12px 24px 0;position:sticky;bottom:-24px}}.shortcut-help{width:min(620px,90vw)}.shortcut-help-heading,.shortcut-list>div{justify-content:space-between;align-items:center;gap:16px;display:flex}.shortcut-help-heading h2,.shortcut-help section h3{margin-top:0}.shortcut-list{margin:0 0 20px}.shortcut-list>div{border-bottom:1px solid var(--border);padding:7px 0}.shortcut-list dt,.shortcut-list dd{margin:0}.shortcut-list kbd{white-space:nowrap}.modal-draft{border:1px solid var(--primary);background:var(--panel-2);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;padding:10px 12px;display:flex}.modal-draft-text{color:var(--text);margin:0;font-size:13px}.modal-draft-actions{gap:8px;display:flex}.modal-guard{background:color-mix(in srgb, var(--bg) 80%, transparent);border-radius:12px;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.modal-guard-panel{border:1px solid var(--border);background:var(--panel);width:100%;max-width:340px;box-shadow:var(--shadow-xl);border-radius:12px;padding:20px}.modal-guard-panel h3{margin:0 0 8px;font-size:16px}.modal-guard-panel p{color:var(--muted);margin:0;font-size:13px}.field-required:after{content:" *";color:var(--down)}.field-hint,.field-error{margin:4px 0 0;font-size:12px}.field-hint{color:var(--muted)}.field-error{color:var(--down)}.checkbox-field{align-items:center;gap:8px;margin-bottom:12px;display:flex}.checkbox-field input[type=checkbox]{flex:none;width:auto;margin:0}.checkbox-field label{color:var(--muted);margin:0;font-size:13px}input[type=checkbox].row-select{width:auto}.checkbox-group{flex-wrap:wrap;gap:4px 16px;display:flex}.checkbox-group .checkbox-field{margin-bottom:0}fieldset.field-group{border:1px solid var(--border);border-radius:10px;min-width:0;margin:0 0 16px;padding:12px 16px 4px}fieldset.field-group>legend{color:var(--muted);padding:0 6px;font-size:13px;font-weight:600}fieldset.field-group-invalid{border-color:var(--down)}fieldset.field-group>.field-error{margin-bottom:8px}fieldset.line-item{margin-bottom:8px;padding:4px 12px 12px}fieldset.line-item>legend{font-size:12px;font-weight:500}.line-item-row{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.line-item-row .field{flex:120px;min-width:0;margin-bottom:0}.line-item-row .field.grow{flex:2 200px}.line-item-total{flex:120px;font-size:13px}.settings-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.settings-grid .field{margin-bottom:0}.collapsible-section{border:1px solid var(--border);border-radius:10px;margin-bottom:24px;padding:12px 16px}.collapsible-section>summary{cursor:pointer;font-weight:600;list-style:none}.collapsible-section>summary::-webkit-details-marker{display:none}.collapsible-section>summary:before{content:"▸";margin-right:8px;transition:transform .15s;display:inline-block}.collapsible-section[open]>summary:before{transform:rotate(90deg)}.collapsible-section-body{margin-top:12px}.work-plan-toolbar{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.work-plan-toolbar .field{max-width:220px;margin-bottom:0}.field-suffix-wrap{align-items:center;gap:6px;display:flex}.field-suffix-wrap input{flex:auto;min-width:0}.field-suffix{color:var(--muted);white-space:nowrap;font-size:12px}.login-field{flex-direction:column;gap:6px;display:flex}.password-input{display:flex;position:relative}.password-input input{flex:1;min-width:0;padding-right:44px}.password-toggle{border-radius:var(--radius-md);width:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:0;bottom:0;right:0}.password-toggle:hover,.password-toggle[aria-pressed=true]{color:var(--text)}.password-toggle:focus-visible{outline-offset:-2px}.table-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.table-search{flex:0 260px;min-width:180px}.table-search input{width:100%}.table-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.table-filters select,.table-filters input{width:auto}.tabs{flex-wrap:wrap;gap:8px;display:flex}.table-count{font-variant-numeric:tabular-nums;margin:0 0 0 auto;font-size:13px}button.table-clear{padding:6px 10px;font-size:13px}.table-pagination{flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;display:flex}.table-range{font-variant-numeric:tabular-nums;margin:0;font-size:13px}.table-pagination-controls{align-items:center;gap:8px;margin-left:auto;display:flex}.table-pagination-controls button{padding:6px 10px;font-size:13px}.table-page-of{font-variant-numeric:tabular-nums;font-size:13px}.table-pagination .select-field{width:auto;min-width:96px}.table-pagination.is-busy{opacity:.6}table.data th button.th-sort{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-weight:600;display:inline-flex}table.data th button.th-sort:hover{color:var(--text);background:0 0;border:none}.th-sort-icon{opacity:.4;font-size:10px}table.data th[aria-sort=ascending],table.data th[aria-sort=descending]{color:var(--text)}table.data th[aria-sort=ascending] .th-sort-icon,table.data th[aria-sort=descending] .th-sort-icon{color:var(--primary);opacity:1}table.data th.col-actions,table.data td.col-actions{text-align:right;white-space:nowrap}table.data th.col-right,table.data td.col-right{text-align:right}table.data th.col-select,table.data td.col-select{text-align:center;vertical-align:middle;width:1%;padding-right:0}table.data tbody tr.is-selected td,.data-card.is-selected{background:color-mix(in srgb, var(--primary) 12%, transparent)}.data-cards-select-all{min-height:44px;color:var(--muted);align-items:center;gap:8px;margin-bottom:4px;font-size:13px;display:flex}.data-card-select{float:right;margin-left:8px}.selection-bar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.selection-bar:not(:empty){border:1px solid var(--border);background:var(--panel-2);border-radius:10px;margin-bottom:12px;padding:8px 12px}.selection-count{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.selection-bar button{padding:6px 10px;font-size:13px}.search-trigger{border:1px solid var(--border);background:var(--sidebar-active);width:100%;color:var(--sidebar-text);text-align:left;cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin:0 0 12px;padding:8px 12px;font-size:13px;display:flex}.search-trigger:hover{color:var(--text);border-color:var(--primary)}.search-trigger kbd{border:1px solid var(--border);background:var(--panel);color:var(--muted);white-space:nowrap;border-radius:4px;padding:1px 5px;font-family:inherit;font-size:11px}.cmdk-backdrop{z-index:60;background:var(--overlay);justify-content:center;padding:10vh 16px 16px;display:flex;position:fixed;inset:0}.cmdk{background:var(--panel);border:1px solid var(--border);width:560px;max-width:100%;max-height:70vh;box-shadow:var(--shadow-xl);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.cmdk-input{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text);background:0 0;border-radius:0;padding:14px 16px;font-size:15px}.cmdk-input:focus{border-color:var(--border);box-shadow:none;outline:none}.cmdk-results{padding:6px;overflow-y:auto}.cmdk-group-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:8px 10px 4px;font-size:11px}.cmdk-option{cursor:pointer;border-radius:8px;align-items:baseline;gap:8px;padding:8px 10px;font-size:14px;display:flex}.cmdk-option.active{background:color-mix(in srgb, var(--primary) 12%, transparent);color:var(--primary)}.cmdk-badge{min-width:64px;color:var(--muted);flex-shrink:0;font-size:11px}.cmdk-title{flex-shrink:0}.cmdk-subtitle{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.cmdk-status,.cmdk-hint{border-top:1px solid var(--border);color:var(--muted);margin:0;padding:10px 16px;font-size:12px}.cmdk-status{border-top:none}.breadcrumbs{margin-bottom:12px}.breadcrumbs ol{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.breadcrumbs li+li:before{content:"/";color:var(--muted);margin-right:6px}.breadcrumbs a,.breadcrumbs .crumb-up{color:var(--muted);text-decoration:none}.breadcrumbs .crumb-up{font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.breadcrumbs a:hover,.breadcrumbs .crumb-up:hover{color:var(--text);text-decoration:underline}.breadcrumbs [aria-current=page]{color:var(--text)}.recent-records{flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.recent-records button{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:8px;align-items:baseline;gap:8px;padding:8px 12px;font-size:14px;display:flex}.recent-records button:hover{border-color:var(--primary)}.recent-type{color:var(--muted);font-size:11px}.partner-badge{letter-spacing:.08em;text-transform:uppercase;color:var(--primary);margin:6px 0 0;font-size:.7rem}.partner-topline{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:20px;display:flex}.partner-topline p{margin:0}.partner-identity{font-weight:600}.file-input-hidden{display:none}.inline-note{margin-left:var(--space-3)}.icon-inline{vertical-align:middle}.color-swatch{border-radius:var(--radius-sm);width:10px;height:10px;margin-right:var(--space-4);border:1px solid var(--border);display:inline-block}.color-swatch.is-round{border-radius:50%}.color-input{width:60px;padding:var(--space-1)}.input-narrow{width:90px}.scroll-pane{max-height:50vh;overflow-y:auto}.control-row{gap:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.section-block{margin-bottom:var(--space-7)}.settings-logo-preview{max-height:80px;margin-bottom:var(--space-4);display:block}.appearance-hint{margin:var(--space-2) 0 var(--space-5);max-width:60ch;font-size:var(--fs-md)}.appearance-resolved{margin:var(--space-4) 0 0;font-size:var(--fs-md)}.segmented{padding:var(--space-1);gap:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);display:inline-flex}.segmented-option{padding:var(--space-3) var(--space-5);border-radius:var(--radius-sm);font-size:var(--fs-base);color:var(--muted);cursor:pointer;align-items:center;transition:background .12s,color .12s;display:inline-flex;position:relative}.segmented-option input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.segmented-option:hover{color:var(--text);background:var(--hover-wash)}.segmented-option.is-active{background:var(--primary);color:var(--primary-contrast);font-weight:var(--fw-semibold)}.segmented-option:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:2px}.media-layout{gap:var(--space-7);align-items:flex-start;display:flex}.media-sidebar{flex:0 0 280px;min-width:0}.media-main{flex:1;min-width:0}@media (width<=768px){.media-layout{flex-direction:column}.media-sidebar{flex:auto;width:100%}}.folder-list{margin:0;padding:0;list-style:none}.folder-item{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);display:flex}.folder-item.is-selected{background:color-mix(in srgb, var(--primary) 12%, transparent)}.folder-open{text-align:left;min-width:0;color:inherit;cursor:pointer;background:0 0;border:none;flex:1;padding:0}.folder-open:hover,.folder-open:focus-visible{color:var(--primary);background:0 0;border:none}.folder-count{color:var(--muted)}.folder-access{margin-top:var(--space-7);padding-top:var(--space-5);border-top:1px solid var(--border)}.folder-access-warning{color:var(--down)}.folder-access-body{margin-top:var(--space-5)}.folder-access-list{margin:0 0 var(--space-5);padding:0;list-style:none}.folder-access-list li{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);display:flex}.folder-access-add{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.folder-access-add .select-field{flex:240px;min-width:0}.btn.secondary,button.secondary{background:var(--panel-2);color:var(--text);border-color:var(--border)}.btn.tertiary,button.tertiary{color:var(--muted);background:0 0;border-color:#0000}.btn.tertiary:hover,button.tertiary:hover{background:var(--hover-wash);border-color:var(--border);color:var(--text)}.action-menu{display:inline-block;position:relative}.action-menu-trigger{padding:var(--space-3) var(--space-5);min-height:34px;line-height:1}.action-menu-list{z-index:30;top:calc(100% + var(--space-2));min-width:200px;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel-2);box-shadow:var(--shadow-lg);text-align:left;flex-direction:column;display:flex;position:absolute;right:0}.action-menu-list.is-above{top:auto;bottom:calc(100% + var(--space-2))}.action-menu-item{padding:var(--space-4) var(--space-5);border-radius:var(--radius-sm);background:var(--panel-2);color:var(--text);text-align:left;white-space:nowrap;font-weight:var(--fw-normal);border:none}.action-menu-item:hover:not(:disabled),.action-menu-item:focus-visible{background:var(--primary);color:var(--primary-contrast);border:none}.action-menu-item.is-danger{color:var(--down)}.action-menu-item.is-danger:hover:not(:disabled),.action-menu-item.is-danger:focus-visible{background:var(--down);color:var(--bg)}.action-menu-item.has-separator{margin-top:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border);border-radius:0 0 var(--radius-sm) var(--radius-sm)}.user-avatar{object-fit:cover;vertical-align:middle;border-radius:50%;width:28px;height:28px;display:inline-block}.user-avatar-empty{background:color-mix(in srgb, var(--border) 60%, transparent)}.list-note{margin:var(--space-4) 0}.row-actions{gap:var(--space-5);flex-wrap:wrap;align-items:center;display:flex}.image-grid{gap:var(--space-5);margin-top:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.image-grid img{object-fit:cover;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel-2);width:100%;height:160px;display:block}.project-image-card{gap:var(--space-3);align-content:start;display:grid}.project-image-card button{justify-self:start}img{max-width:100%}select option,select optgroup{background-color:var(--panel-2);color:var(--text)}select option:disabled{color:var(--muted)}.select-field{width:100%;position:relative}.select-trigger{border:1px solid var(--border-input);background:var(--input-bg);width:100%;color:var(--text);text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.select-trigger:hover:not(:disabled){background:var(--hover-wash-strong);border-color:var(--border-input)}.select-trigger[aria-expanded=true],.select-trigger:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 20%, transparent);outline:none}.select-trigger[aria-invalid=true]{border-color:var(--down)}.select-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-value.is-placeholder{color:var(--muted)}.select-caret{color:var(--muted);flex:none;font-size:10px;line-height:1}.select-list{z-index:30;border:1px solid var(--border);background:var(--panel-2);min-width:100%;max-width:100%;max-height:264px;box-shadow:var(--shadow-lg);border-radius:8px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.select-option{background:var(--panel-2);color:var(--text);cursor:pointer;overflow-wrap:anywhere;border-radius:6px;padding:7px 9px}.select-option.selected{background:var(--border);font-weight:600}.select-option.active{background:var(--primary);color:var(--primary-contrast)}.select-option.disabled{color:var(--muted);cursor:not-allowed}.select-empty{color:var(--muted);padding:7px 9px}.table-filters .select-field{width:auto;min-width:160px}.select-field.ts-filter{width:auto}.select-list.is-above{top:auto;bottom:calc(100% + 4px)}
