@import"https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700;800&family=Unbounded:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap";._fab_ba2zq_1{position:fixed;right:var(--s-4);bottom:var(--s-4);z-index:40;display:inline-flex;align-items:center;gap:var(--s-2);padding-inline:var(--s-3);box-shadow:0 8px 24px #00000040}._label_ba2zq_13{font-size:var(--fs-sm);font-weight:600;color:var(--text-muted)}._hint_ba2zq_19{font-size:var(--fs-xs);color:var(--text-muted)}._error_ba2zq_24{font-size:var(--fs-sm);color:var(--danger);background:var(--danger-soft);border:1px solid var(--danger);padding:var(--s-2) var(--s-3);border-radius:var(--r-2)}._fieldInline_ba2zq_33{display:inline-block;width:auto;min-width:9rem}._textarea_ba2zq_39{resize:vertical;min-height:6rem;font-family:inherit}._context_ba2zq_45{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-2);padding:var(--s-2) var(--s-3);display:grid;gap:2px;font-size:var(--fs-xs);color:var(--text-muted)}._contextLabel_ba2zq_56{text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-bottom:2px}._contextRow_ba2zq_63{display:flex;gap:var(--s-1);overflow:hidden}._contextKey_ba2zq_69{font-weight:600;flex-shrink:0}._contextValue_ba2zq_74{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._success_ba2zq_80{color:var(--success);margin:0}._toolbar_ba2zq_85{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;margin-bottom:var(--s-3)}._count_ba2zq_93{margin-left:auto;font-size:var(--fs-sm);color:var(--text-muted)}._tableWrapper_ba2zq_99{overflow-x:auto}._table_ba2zq_99{width:100%;border-collapse:collapse;font-size:var(--fs-base)}._table_ba2zq_99 th,._table_ba2zq_99 td{padding:var(--s-2) var(--s-2);border-bottom:1px solid var(--border);text-align:left;vertical-align:top}._table_ba2zq_99 th{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600}._descriptionCell_ba2zq_125{max-width:24rem}._urlCell_ba2zq_129{max-width:16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-xs);color:var(--text-muted)}._pagination_ba2zq_138{display:flex;align-items:center;gap:var(--s-3);justify-content:flex-end;margin-top:var(--s-3);font-size:var(--fs-sm)}@media (max-width: 768px){._fab_ba2zq_1{bottom:calc(var(--s-4) + 56px)}}._fullPage_1wu14_1{min-height:100vh;display:grid;place-items:center;padding:var(--s-5)}._panel_1wu14_8{width:min(25rem,100%);display:grid;gap:var(--s-3);padding:var(--s-5);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-4);box-shadow:var(--shadow-2)}._label_1wu14_19{text-transform:uppercase;letter-spacing:.08em;font-size:var(--fs-xs);color:var(--text-muted);font-weight:600;margin:0}._title_1wu14_28{margin:0;font-size:var(--fs-xl);font-weight:600;line-height:1.15}._body_1wu14_35{margin:0;font-size:var(--fs-base);color:var(--text-soft);line-height:1.55;max-width:36ch}._action_1wu14_43{display:inline-flex;align-items:center;justify-content:center;padding:.5rem .875rem;border-radius:var(--r-2);border:1px solid var(--accent-strong);background:var(--accent);color:#fff;text-decoration:none;cursor:pointer;font-size:var(--fs-base);font-weight:600;width:fit-content}._root_1s746_1{display:grid;gap:16px}._hero_1s746_6{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid var(--gr-border);border-radius:var(--gr-radius-md);background:var(--gr-surface);box-shadow:var(--gr-shadow)}._title_1s746_18{margin:0;font-size:22px;font-weight:700;color:var(--gr-text)}._body_1s746_25{margin:4px 0 0;max-width:68ch;color:var(--gr-text-soft);font-size:12.5px;line-height:1.5}._panel_1s746_33{display:grid;gap:12px;padding:14px;border:1px solid var(--gr-border);border-radius:var(--gr-radius-md);background:var(--gr-surface);box-shadow:var(--gr-shadow)}._panelTitle_1s746_43{margin:0;font-size:13px;font-weight:600;color:var(--gr-text)}._field_1s746_50{display:grid;gap:6px;font-size:12.5px;font-weight:600;color:var(--gr-text)}._fileInput_1s746_58{min-height:34px;padding:6px 8px;border:1px solid var(--gr-border);border-radius:var(--gr-radius);background:var(--gr-surface-alt);color:var(--gr-text);font:inherit;font-size:12.5px}._actions_1s746_69,._itemHeader_1s746_70{display:flex;align-items:center;justify-content:space-between;gap:12px}._meta_1s746_77{color:var(--gr-text-muted);font-size:12px}._alert_1s746_82{display:grid;gap:6px;padding:10px 12px;border-radius:var(--gr-radius);border:1px solid var(--gr-border);background:var(--gr-surface-alt);font-size:12.5px}._alert_1s746_82 code,._item_1s746_70 code{overflow-wrap:anywhere;padding:5px 7px;border-radius:var(--gr-radius);background:var(--gr-surface-alt);color:var(--gr-text);font-size:11.5px}._error_1s746_102{color:var(--ui-error);border-color:color-mix(in srgb,var(--ui-error) 25%,transparent);background:var(--ui-error-bg)}._success_1s746_108{color:var(--ui-success);border-color:color-mix(in srgb,var(--ui-success) 25%,transparent);background:var(--ui-success-bg)}._list_1s746_114{display:grid;gap:8px;margin:0;padding:0;list-style:none}._item_1s746_70{display:grid;gap:6px;padding:10px 12px;border:1px solid var(--gr-border);border-radius:var(--gr-radius);background:var(--gr-surface)}._itemHeader_1s746_70 strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--gr-text)}._itemHeader_1s746_70 span{flex-shrink:0;color:var(--gr-text-muted);font-size:12px}@media (max-width: 760px){._hero_1s746_6,._actions_1s746_69,._itemHeader_1s746_70{align-items:stretch;flex-direction:column}}._root_1n9ia_1{display:grid;gap:16px}._hero_1n9ia_6{display:grid;gap:12px;padding:16px 18px;border:1px solid var(--gr-border);border-radius:var(--gr-radius-md);background:radial-gradient(circle at top right,color-mix(in srgb,var(--gr-accent) 8%,transparent),transparent 50%),var(--gr-surface);box-shadow:var(--gr-shadow)}._title_1n9ia_18{margin:0;font-size:clamp(1.25rem,2.4vw,1.75rem);font-weight:700;letter-spacing:-.02em;color:var(--gr-text)}._body_1n9ia_26{margin:0;max-width:72ch;color:var(--gr-text-soft);font-size:12.5px;line-height:1.5}._tabs_1n9ia_34{display:flex;flex-wrap:wrap;gap:6px}._tab_1n9ia_34{border:1px solid var(--gr-border);border-radius:999px;background:var(--gr-surface);color:var(--gr-text-soft);padding:5px 12px;font:inherit;font-size:12px;font-weight:500;cursor:pointer;height:28px;transition:background-color .1s ease,border-color .1s ease,color .1s ease}._tab_1n9ia_34:hover{background:var(--gr-surface-alt);color:var(--gr-text)}._tabActive_1n9ia_59{background:var(--gr-accent);color:#fff;border-color:var(--gr-accent)}._tabActive_1n9ia_59:hover{background:var(--gr-accent-strong);color:#fff}._alert_1n9ia_70{padding:9px 12px;border-radius:var(--gr-radius);border:1px solid var(--gr-border);background:var(--gr-surface-alt);font-size:12.5px}._error_1n9ia_78{color:var(--ui-error);border-color:color-mix(in srgb,var(--ui-error) 25%,transparent);background:var(--ui-error-bg)}._success_1n9ia_84{color:var(--ui-success);border-color:color-mix(in srgb,var(--ui-success) 25%,transparent);background:var(--ui-success-bg)}._grid_1n9ia_90{display:grid;gap:16px;grid-template-columns:minmax(0,1.25fr) minmax(320px,.95fr)}._gridWide_1n9ia_96{display:grid;gap:16px;grid-template-columns:minmax(260px,1fr) minmax(280px,1fr) minmax(300px,.9fr);align-items:start}._panel_1n9ia_103{border:1px solid var(--gr-border);border-radius:var(--gr-radius-md);background:var(--gr-surface);padding:14px;display:grid;gap:12px;box-shadow:var(--gr-shadow)}._panelTitle_1n9ia_113{margin:0;font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--gr-text)}._matrixTable_1n9ia_121,._list_1n9ia_122{display:grid;gap:10px}._roleCard_1n9ia_127{border:1px solid var(--gr-border);border-radius:var(--gr-radius-md);padding:12px;display:grid;gap:10px;background:var(--gr-surface)}._roleHeader_1n9ia_136,._rowBetween_1n9ia_137{display:flex;align-items:center;justify-content:space-between;gap:10px}._roleMeta_1n9ia_144{display:grid;gap:2px}._roleLabel_1n9ia_149{font-weight:600;font-size:13px;color:var(--gr-text)}._muted_1n9ia_155{color:var(--gr-text-muted);font-size:12px}._permissionGrid_1n9ia_160{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}._permissionItem_1n9ia_166{display:grid;gap:2px;padding:8px 10px;border-radius:var(--gr-radius);background:var(--gr-surface-alt);border:1px solid var(--gr-border);font-size:12px}._permissionItem_1n9ia_166 strong{font-weight:600;font-size:12.5px;color:var(--gr-text)}._searchRow_1n9ia_182{display:flex;gap:8px}._searchRow_1n9ia_182 input{flex:1;font-size:12.5px;padding:6px 10px;border:1px solid var(--gr-border);background:var(--gr-surface);color:var(--gr-text);border-radius:var(--gr-radius);font-family:inherit}._searchRow_1n9ia_182 input:focus-visible{outline:2px solid var(--gr-accent);outline-offset:1px;border-color:var(--gr-accent)}._userButton_1n9ia_204{width:100%;text-align:left;border:1px solid var(--gr-border);border-radius:var(--gr-radius-md);background:var(--gr-surface);padding:10px 12px;display:grid;gap:3px;cursor:pointer;font:inherit;color:inherit;transition:background-color .1s ease,border-color .1s ease}._userButton_1n9ia_204:hover{background:var(--gr-surface-alt);border-color:var(--gr-border-strong)}._userButtonActive_1n9ia_224{background:var(--gr-accent-soft);border-color:var(--gr-accent);box-shadow:inset 3px 0 0 var(--gr-accent)}._roleChecks_1n9ia_230{display:grid;gap:8px}._roleCheck_1n9ia_230{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:var(--gr-radius);background:var(--gr-surface-alt);border:1px solid var(--gr-border);font-size:12.5px}._roleCheck_1n9ia_230 input{margin-top:2px;accent-color:var(--gr-accent)}._actions_1n9ia_251{display:flex;flex-wrap:wrap;gap:8px}@media (max-width: 960px){._grid_1n9ia_90,._gridWide_1n9ia_96{grid-template-columns:1fr}}:root{--bg: #fbfbfc;--bg-elevated: #ffffff;--surface-1: #f4f4f5;--surface-2: #ffffff;--surface-3: #e8e8ea;--text: #0f0f10;--muted: #6b6b72;--muted-foreground: #6b6b72;--card: #ffffff;--card-muted: #f4f4f5;--border: #e2e2e6;--border-strong: #c4c4cc;--divider: rgba(15, 23, 42, .07);--accent: #3a7d00;--accent-soft: rgba(58, 125, 0, .1);--accent-foreground: #ffffff;--accent-inverted: #c8ff00;--accent-inverted-bg: #1a1a1a;--danger: #dc2626;--danger-soft: rgba(220, 38, 38, .1);--warning: #b45309;--warning-soft: rgba(180, 83, 9, .1);--success: #16a34a;--success-soft: rgba(22, 163, 74, .1);--info: #2563eb;--info-soft: rgba(37, 99, 235, .1);--ring: rgba(58, 125, 0, .3);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 18px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .08);--shadow-md: 0 18px 32px rgba(15, 23, 42, .12);--shadow-lg: 0 24px 60px rgba(15, 23, 42, .18);--font-sans: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Unbounded", "Manrope", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Roboto Mono", Consolas, monospace;--line-height: 1.5;--transition: .16s ease;--gutter-xs: 4px;--gutter-sm: 8px;--gutter-md: 12px;--gutter-lg: 20px;--gutter-xl: 28px;--pos: var(--accent);--ui-space-1: .25rem;--ui-space-2: .5rem;--ui-space-3: .75rem;--ui-space-4: 1rem;--ui-space-5: 1.5rem;--ui-space-6: 2rem;--ui-space-7: 3rem;--s-1: var(--ui-space-1);--s-2: var(--ui-space-2);--s-3: var(--ui-space-3);--s-4: var(--ui-space-4);--s-5: var(--ui-space-5);--s-6: var(--ui-space-6);--s-7: var(--ui-space-7);--ui-radius-sm: var(--radius-sm);--ui-radius-md: var(--radius-sm);--ui-radius-lg: var(--radius-md);--ui-radius-pill: 999px;--r-1: var(--radius-sm);--r-2: var(--radius-sm);--r-3: var(--radius-md);--r-4: var(--radius-md);--ui-text-xs: .6875rem;--ui-text-sm: .8125rem;--ui-text-base: .8125rem;--ui-text-md: .875rem;--ui-text-lg: 1rem;--ui-text-xl: 1.25rem;--fs-xs: var(--ui-text-xs);--fs-sm: var(--ui-text-sm);--fs-base: var(--ui-text-base);--fs-md: var(--ui-text-md);--fs-lg: var(--ui-text-lg);--fs-xl: var(--ui-text-xl);--ui-bg-solid: var(--bg);--ui-bg-top: var(--bg-elevated);--ui-bg: var(--bg);--ui-surface: var(--bg-elevated);--ui-surface-soft: var(--surface-1);--ui-surface-muted: var(--surface-2);--ui-surface-subtle: var(--surface-3);--ui-surface-accent: var(--accent-soft);--ui-border: var(--border);--ui-border-soft: var(--divider);--ui-border-strong: var(--border-strong);--ui-text: var(--text);--ui-text-soft: var(--muted-foreground);--ui-text-muted: var(--muted);--ui-text-strong: var(--text);--ui-primary: var(--accent);--ui-primary-strong: var(--accent);--ui-primary-soft: var(--accent-soft);--ui-error: var(--danger);--ui-error-bg: var(--danger-soft);--ui-success: var(--success);--ui-success-bg: var(--success-soft);--ui-warning: var(--warning);--ui-warning-bg: var(--warning-soft);--ui-info-bg: var(--info-soft);--ui-shadow-sm: var(--shadow-sm);--ui-shadow-lg: var(--shadow-lg);--app-bg: var(--bg);--app-bg-top: var(--bg-elevated);--surface-0: var(--bg-elevated);--surface-accent: var(--accent-soft);--border-subtle: var(--divider);--text-soft: var(--muted-foreground);--text-muted: var(--muted);--accent-strong: var(--accent);--shadow-1: var(--shadow-sm);--shadow-2: var(--shadow-lg);--gr-bg: var(--bg);--gr-surface: var(--bg-elevated);--gr-surface-alt: var(--surface-1);--gr-surface-row: var(--surface-1);--gr-border: var(--border);--gr-border-strong: var(--border-strong);--gr-text: var(--text);--gr-text-soft: var(--muted-foreground);--gr-text-muted: var(--muted);--gr-accent: var(--accent);--gr-accent-soft: var(--accent-soft);--gr-accent-strong: var(--accent);--gr-warning: var(--warning);--gr-danger: var(--danger);--gr-radius: var(--radius-sm);--gr-radius-md: var(--radius-md);--gr-radius-pill: 999px;--gr-shadow: var(--shadow-sm);--gr-shadow-pop: var(--shadow-md);--gr-row-h: 56px;--gr-day-min-w: 130px;--gr-name-w: 220px;color-scheme:light;font-family:var(--font-sans);line-height:var(--line-height);color:var(--text);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=dark]{--bg: #0a0a0b;--bg-elevated: #101012;--surface-1: #131316;--surface-2: #1a1a1f;--surface-3: #222228;--text: #e8e6e3;--muted: #8a8a8a;--muted-foreground: #9a9a9a;--card: #131316;--card-muted: #131316;--border: #262626;--border-strong: #3f3f46;--divider: rgba(255, 255, 255, .06);--accent: #c8ff00;--accent-soft: rgba(200, 255, 0, .14);--accent-foreground: #0a0a0b;--accent-inverted: #c8ff00;--accent-inverted-bg: #0a0a0b;--danger: #ff5252;--danger-soft: rgba(255, 82, 82, .14);--warning: #ffb300;--warning-soft: rgba(255, 179, 0, .14);--success: #4ade80;--success-soft: rgba(74, 222, 128, .14);--info: #60a5fa;--info-soft: rgba(96, 165, 250, .14);--ring: rgba(200, 255, 0, .35);--shadow-sm: 0 1px 2px rgba(8, 8, 12, .45);--shadow-md: 0 12px 32px rgba(8, 8, 12, .35);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .55);color-scheme:dark}html{font-size:16px}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-width:320px}html,body{height:100%}body{min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-sans);line-height:var(--line-height)}#root{height:100vh}button,input,select,textarea{font:inherit}input:focus-visible,button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--muted)}.tabular,.mono,.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.mono,.num{font-family:var(--font-mono)}.ui-text-meta{font-size:11px;color:var(--ui-text-muted)}.ui-text-small{font-size:12px;color:var(--ui-text-soft)}.ui-text-small-em{font-size:.85em;color:var(--ui-text-muted)}.ui-text-small-em-soft{font-size:.85em;color:var(--ui-text-soft)}.ui-text-soft{color:var(--ui-text-soft)}.ui-text-muted{color:var(--ui-text-muted)}.ui-text-mono{font-family:var(--font-mono);font-size:11px;color:var(--ui-text-muted)}.ui-text-num{font-variant-numeric:tabular-nums;text-align:right}.ui-text-money{font-variant-numeric:tabular-nums;font-weight:600;text-align:right}.ui-text-money-outstanding{color:var(--ui-error)}.ui-text-money-settled{color:var(--ui-success)}.ui-text-strong{font-weight:600;color:var(--ui-text-strong)}.ui-text-bold{font-weight:600}.ui-text-error{color:var(--ui-error)}.ui-flex-between{display:flex;justify-content:space-between;align-items:center}.ui-flex-row{display:flex;align-items:center;gap:.4rem}.ui-flex-row-tight{display:flex;align-items:center;gap:.3rem}.ui-flex-1{flex:1}.ui-mleft-auto{margin-left:auto}.ui-stack-tight{display:flex;flex-direction:column;gap:4px}.ui-stack-3{display:flex;flex-direction:column;gap:.3rem}.ui-res-form-actions{display:flex;gap:.5rem;grid-column:1 / -1}.ui-res-form-panel{margin-top:.5rem;padding:.5rem;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm)}.ct-form-section+.ct-form-section{margin-top:.65rem}.ui-res-section-action-btn{font-size:.85rem;padding:.25rem .6rem}.ui-res-row-inline-btn{font-size:.8rem;padding:.15rem .35rem}.ui-res-row-inline-btn-danger{font-size:.8rem;padding:.15rem .35rem;color:var(--ui-error)}.ui-res-section-list-table{width:100%;border-collapse:collapse;font-size:.9rem;margin-bottom:.5rem}.ui-res-section-list-table th,.ui-res-section-list-table td{padding:.3rem .5rem}.ui-res-section-list-table th{text-align:left;border-bottom:1px solid var(--ui-border);background:var(--ui-surface-soft)}.ui-res-section-list-table tbody tr{border-bottom:1px solid var(--ui-border)}.ui-res-section-list-table tbody tr:last-child{border-bottom:none}.ui-res-section-list-table tfoot tr{border-top:2px solid var(--ui-border)}.ui-res-section-list-table tfoot td{padding:.4rem .5rem;font-weight:700}.ui-res-section-list-table th.is-num,.ui-res-section-list-table td.is-num{text-align:right;font-variant-numeric:tabular-nums}.ui-res-section-list-table td.is-actions{white-space:nowrap}.ui-res-section-list-table th.is-actions,.ui-res-section-list-table td.is-actions{width:5rem}.ui-res-section-list-table td.is-actions>button+button{margin-left:.25rem}.ui-res-section-list-table td.is-emphasis{font-weight:600}.is-num-cell{text-align:right;font-variant-numeric:tabular-nums}.workspace-shell{display:grid;grid-template-columns:14rem minmax(0,1fr);min-height:100vh}.workspace-sidebar{border-right:1px solid var(--border);background:var(--surface-1);padding:var(--s-4);display:grid;grid-template-rows:auto 1fr auto;gap:var(--s-4)}.workspace-brand{display:flex;align-items:center;gap:var(--s-3)}.workspace-brand-mark{width:2.25rem;height:2.25rem;border-radius:var(--r-3);display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-strong);font-weight:700}.workspace-brand-title{font-size:var(--fs-md);font-weight:700;letter-spacing:-.02em}.workspace-brand-subtitle{font-size:var(--fs-xs);color:var(--text-muted)}.workspace-nav{display:grid;gap:var(--s-1);align-content:start}.workspace-nav-item{border:1px solid transparent;background:transparent;color:var(--text-soft);border-radius:var(--r-2);display:flex;justify-content:space-between;gap:var(--s-2);align-items:center;padding:.55rem .65rem;cursor:pointer;text-align:left;text-decoration:none}.workspace-nav-item:hover{background:var(--surface-0);border-color:var(--border)}.workspace-nav-item.is-active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 20%,white);color:var(--accent-strong);box-shadow:inset 3px 0 0 var(--accent)}.workspace-nav-shortcut{font-size:var(--fs-xs);color:var(--text-muted)}.workspace-sidebar-footer{display:grid;gap:var(--s-2)}.workspace-user-card{border:1px solid var(--border);background:var(--surface-0);border-radius:var(--r-3);padding:var(--s-3);display:grid;gap:var(--s-2)}.workspace-theme-toggle{display:inline-flex;align-items:center;gap:var(--s-2);justify-self:start;padding:var(--s-1) var(--s-2);border:1px solid var(--border);border-radius:var(--r-2);background:var(--surface-1);color:var(--text-soft);font-size:var(--fs-xs);cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.workspace-theme-toggle:hover{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}.workspace-theme-toggle[aria-pressed=true]{color:var(--accent-strong);border-color:var(--border-strong)}.workspace-user-name{font-weight:600}.workspace-user-role,.workspace-build{color:var(--text-muted);font-size:var(--fs-xs)}.workspace-main{padding:var(--s-4);min-width:0}.workspace-header{display:flex;justify-content:space-between;gap:var(--s-4);align-items:flex-start;margin-bottom:var(--s-4)}.workspace-title{margin:0;font-size:var(--fs-xl);line-height:1.1;letter-spacing:-.03em}.workspace-subtitle{color:var(--text-muted);font-size:var(--fs-sm);margin-top:var(--s-1)}.workspace-content,.stack{display:grid;gap:var(--s-4)}.stack--tight{gap:var(--s-2)}.workspace-grid{display:grid;gap:var(--s-4)}.workspace-grid--single{grid-template-columns:minmax(0,1fr)}.workspace-grid--two{grid-template-columns:minmax(18rem,27rem) minmax(0,1fr)}.workspace-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{border:1px solid var(--border);border-radius:var(--r-4);background:var(--surface-0);padding:var(--s-4);box-shadow:var(--shadow-1);min-width:0;display:grid;gap:var(--s-3)}.panel-header{display:grid;gap:var(--s-1)}.panel-title{margin:0;font-size:var(--fs-lg);line-height:1.2;letter-spacing:-.02em}.section-kicker{font-size:var(--fs-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.section-title-small{font-size:var(--fs-sm);font-weight:600}.metric-grid{display:grid;gap:var(--s-3);grid-template-columns:repeat(6,minmax(0,1fr))}.metric-card{border:1px solid var(--border);background:var(--surface-0);border-radius:var(--r-3);padding:var(--s-3);display:grid;gap:var(--s-1)}.metric-label{color:var(--text-muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em}.metric-value{font-size:var(--fs-lg);font-weight:700}.toolbar-row{display:flex;gap:var(--s-2);align-items:center;flex-wrap:wrap}.toolbar-row--end{justify-content:flex-end}.toolbar-row--between{justify-content:space-between}.btn{border:1px solid var(--border);background:var(--surface-0);color:var(--text);border-radius:var(--r-2);padding:.5rem .8rem;font-size:var(--fs-base);font-weight:600;cursor:pointer;text-decoration:none}.btn:hover{border-color:var(--border-strong)}.btn-primary{background:var(--accent);border-color:var(--accent-strong);color:#fff}.btn-primary:hover{background:var(--accent-strong)}.btn-secondary{background:var(--surface-1)}.btn-small{padding:.34rem .55rem;font-size:var(--fs-sm)}.field{width:100%;border:1px solid var(--border);background:var(--surface-0);color:var(--text);border-radius:var(--r-2);padding:.5rem .65rem;min-width:0}.field--compact{min-width:8rem}.field--textarea{min-height:6.25rem;resize:vertical}.form-grid{display:grid;gap:var(--s-2)}.form-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-grid{display:grid;gap:var(--s-2)}.inline-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-span-full{grid-column:1 / -1}.form-card{border:1px solid var(--border);border-radius:var(--r-3);background:var(--surface-1);padding:var(--s-3);display:grid;gap:var(--s-3)}.form-card--compact{padding:var(--s-3)}.details-grid{display:grid;gap:var(--s-2);grid-template-columns:repeat(3,minmax(0,1fr))}.detail-item{border:1px solid var(--border);border-radius:var(--r-2);background:var(--surface-1);padding:var(--s-2) var(--s-3)}.detail-label{font-size:var(--fs-xs);color:var(--text-muted);margin-bottom:var(--s-1)}.detail-value{font-size:var(--fs-sm);font-weight:600}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:34rem}.data-table thead th{position:sticky;top:0;background:var(--surface-1);color:var(--text-muted);text-align:left;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--border)}.data-table td{padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--border);vertical-align:top}.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover{background:var(--surface-1)}.data-table tbody tr.is-selected{background:color-mix(in srgb,var(--accent-soft) 70%,white)}.is-numeric{text-align:right}.cell-title{font-size:var(--fs-sm);font-weight:600}.cell-meta{color:var(--text-muted);font-size:var(--fs-xs);margin-top:var(--s-1)}.panel-block{display:grid;gap:var(--s-2)}.panel-block-header{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);flex-wrap:wrap}.prose{margin:0;white-space:pre-wrap}.list-row{border:1px solid var(--border);border-radius:var(--r-2);background:var(--surface-1);padding:var(--s-2) var(--s-3);display:flex;gap:var(--s-3);align-items:center;justify-content:space-between}.list-row-actions{display:flex;gap:var(--s-2);align-items:center;flex-wrap:wrap}.status-badge{border-radius:999px;padding:.18rem .5rem;font-size:var(--fs-xs);font-weight:600;border:1px solid var(--border);background:var(--surface-2)}.status-draft,.status-pending,.status-todo{background:var(--surface-2)}.status-active,.status-in_progress,.status-assigned{background:var(--accent-soft);color:var(--accent-strong);border-color:color-mix(in srgb,var(--accent) 20%,white)}.status-paused,.status-blocked,.status-submitted,.status-maintenance{background:var(--warning-soft);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 20%,white)}.status-done,.status-approved,.status-returned,.status-consumed,.status-available{background:var(--success-soft);color:var(--success);border-color:color-mix(in srgb,var(--success) 20%,white)}.status-cancelled,.status-retired{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 20%,white)}.timeline{display:grid;gap:var(--s-2)}.timeline-row{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:var(--s-3);border-bottom:1px solid var(--border);padding-bottom:var(--s-2)}.timeline-time{color:var(--text-muted);font-size:var(--fs-xs)}.report-entry-card{border:1px solid var(--border);border-radius:var(--r-3);background:var(--surface-1);padding:var(--s-3);display:grid;gap:var(--s-2)}.report-entry-head{display:flex;justify-content:space-between;gap:var(--s-3);align-items:flex-start}.attachment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:var(--s-2)}.attachment-grid--compact{grid-template-columns:repeat(auto-fit,minmax(7rem,1fr))}.attachment-card{border:1px solid var(--border);border-radius:var(--r-3);overflow:hidden;background:var(--surface-0);text-decoration:none;display:grid}.attachment-preview,.attachment-fallback{width:100%;aspect-ratio:4 / 3;max-height:10rem;background:var(--surface-2);display:grid;place-items:center;object-fit:cover}.attachment-grid--compact .attachment-preview,.attachment-grid--compact .attachment-fallback{max-height:7rem}.attachment-card--button{border:1px solid var(--border);border-radius:var(--r-3);background:var(--surface-0);padding:0;font:inherit;color:inherit;cursor:zoom-in;text-align:left}.attachment-card--button:hover .attachment-preview{filter:brightness(.96)}.lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2600;background:#080e12eb;display:grid;place-items:center;padding:var(--s-3);animation:modal-fade-in .12s ease-out}.lightbox-image{max-width:min(96vw,1600px);max-height:92vh;object-fit:contain;border-radius:var(--r-2);box-shadow:0 20px 60px #0000008c;cursor:default}.lightbox-close{position:fixed;top:calc(var(--s-3) + env(safe-area-inset-top));right:calc(var(--s-3) + env(safe-area-inset-right));width:2.75rem;height:2.75rem;border-radius:999px;border:0;background:#ffffff1f;color:#fff;font-size:1.75rem;line-height:1;cursor:pointer;z-index:1}.lightbox-close:hover{background:#fff3}.attachment-meta{padding:var(--s-2)}.file-button{position:relative;overflow:hidden}.file-button input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.banner{border:1px solid var(--border);border-radius:var(--r-2);padding:var(--s-2) var(--s-3);font-size:var(--fs-sm)}.banner-info{background:var(--info-soft)}.banner-error{background:var(--danger-soft);color:var(--danger)}.empty-state,.empty-inline{color:var(--text-muted);font-size:var(--fs-sm)}.hint-text{color:var(--text-muted);font-size:var(--fs-xs)}.full-page{min-height:100vh;display:grid;place-items:center;padding:var(--s-5)}.auth-box{width:min(28rem,100%);border:1px solid var(--border);border-radius:var(--r-4);background:var(--surface-0);padding:var(--s-5);box-shadow:var(--shadow-2);display:grid;gap:var(--s-3)}.auth-title{margin:0;font-size:var(--fs-xl);line-height:1.15}.auth-body{margin:0;color:var(--text-soft)}.updated-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#140c048c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;z-index:2100;padding:var(--s-3)}.updated-modal{width:min(28rem,100%);background:var(--surface-0);border:1px solid var(--border);border-radius:var(--r-3);box-shadow:var(--shadow-2);padding:var(--s-5) var(--s-4);display:grid;gap:var(--s-3);place-items:center;text-align:center}.updated-modal h2{margin:0;font-size:1.25rem}.updated-modal p{margin:0;color:var(--text-soft);line-height:1.45}.updated-icon{width:56px;height:56px;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);border:1px solid var(--border);display:grid;place-items:center;font-size:1.75rem;animation:updated-spin 2.4s linear infinite}@keyframes updated-spin{to{transform:rotate(360deg)}}.updated-button{margin-top:var(--s-2);padding:var(--s-2) var(--s-4);border-radius:var(--r-2);border:1px solid var(--accent);background:var(--accent);color:#fff;font-weight:600;cursor:pointer}.updated-button:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.toast{position:fixed;right:var(--s-4);bottom:var(--s-4);width:min(26rem,calc(100vw - 2rem));border:1px solid var(--border);border-radius:var(--r-3);background:var(--surface-0);box-shadow:var(--shadow-2);padding:var(--s-3);display:flex;justify-content:space-between;gap:var(--s-3);align-items:flex-start;z-index:2000}.toast-success{border-color:color-mix(in srgb,var(--success) 30%,white)}.toast-error{border-color:color-mix(in srgb,var(--danger) 30%,white)}.toast-info{border-color:color-mix(in srgb,var(--accent) 25%,white);background:var(--info-soft)}.btn-danger{background:var(--danger);border-color:color-mix(in srgb,var(--danger) 80%,black);color:#fff}.btn-danger:hover{background:color-mix(in srgb,var(--danger) 85%,black)}.btn[disabled],.btn:disabled{opacity:.6;cursor:not-allowed}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#15222b6b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;padding:var(--s-4);z-index:2500;animation:modal-fade-in .12s ease-out}.modal{width:100%;max-height:calc(100vh - 2rem);display:grid;grid-template-rows:auto 1fr auto;background:var(--surface-0);border:1px solid var(--border);border-radius:var(--r-4);box-shadow:var(--shadow-2);outline:none;animation:modal-pop-in .14s ease-out;min-width:0}.modal--sm{max-width:26rem}.modal--md{max-width:38rem}.modal--lg{max-width:52rem}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3);padding:var(--s-4);border-bottom:1px solid var(--border)}.modal-title{margin:0;font-size:var(--fs-lg);line-height:1.2;letter-spacing:-.02em}.modal-close{border:0;background:transparent;color:var(--text-muted);cursor:pointer;font-size:1.5rem;line-height:1;padding:0 .25rem;border-radius:var(--r-1)}.modal-close:hover{color:var(--text)}.modal-body{padding:var(--s-4);overflow:auto;display:grid;gap:var(--s-3);min-width:0}.modal-footer{display:flex;justify-content:flex-end;gap:var(--s-2);padding:var(--s-3) var(--s-4);border-top:1px solid var(--border);background:var(--surface-1);border-bottom-left-radius:var(--r-4);border-bottom-right-radius:var(--r-4);flex-wrap:wrap}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-pop-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.skeleton-stack{display:grid;gap:var(--s-2)}.skeleton{width:100%;height:1rem;border-radius:var(--r-2);background:linear-gradient(90deg,var(--surface-2) 0%,var(--surface-3) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.3s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 640px){.modal-backdrop{padding:0;align-items:stretch}.modal,.modal--sm,.modal--md,.modal--lg{width:100%;max-width:none;max-height:100dvh;min-height:100dvh;border-radius:0;border:0;grid-template-rows:auto minmax(0,1fr) auto}.modal-header{position:sticky;top:0;z-index:1;background:var(--surface-0);padding:var(--s-3);padding-top:calc(var(--s-3) + env(safe-area-inset-top))}.modal-body{padding:var(--s-3);-webkit-overflow-scrolling:touch}.modal-footer{position:sticky;bottom:0;z-index:1;padding:var(--s-3);padding-bottom:calc(var(--s-3) + env(safe-area-inset-bottom));border-bottom-left-radius:0;border-bottom-right-radius:0}.modal-footer .btn{flex:1 1 auto;min-height:2.75rem}.modal-close{min-width:2.75rem;min-height:2.75rem;font-size:1.75rem}.field,input.field,select.field,textarea.field{font-size:16px;padding:.65rem .75rem}.btn{min-height:2.75rem;padding:.6rem .9rem}.btn-small{min-height:2.5rem;padding:.45rem .7rem;font-size:var(--fs-base)}.toast{left:var(--s-3);right:var(--s-3);bottom:calc(var(--s-3) + env(safe-area-inset-bottom));width:auto}.toast-close{min-width:2.75rem;min-height:2.75rem}.metric-grid{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;gap:var(--s-2);padding-bottom:var(--s-1);margin:0 calc(var(--s-3) * -1);padding-left:var(--s-3);padding-right:var(--s-3);-webkit-overflow-scrolling:touch}.metric-card{scroll-snap-align:start;min-width:9.5rem;flex:0 0 auto}.table-wrap{position:relative}.table-wrap:after{content:"";position:absolute;top:0;right:0;bottom:0;width:1.5rem;pointer-events:none;background:linear-gradient(to right,transparent,color-mix(in srgb,var(--surface-0) 85%,transparent))}.data-table{min-width:24rem}.hide-on-mobile{display:none!important}.responsive-table-desktop{display:none}.responsive-table-mobile{display:grid;gap:var(--s-2)}.responsive-card{border:1px solid var(--border);border-radius:var(--r-3);background:var(--surface-0);padding:var(--s-3);text-align:left;width:100%;display:grid;gap:var(--s-2);cursor:pointer;font:inherit;color:inherit;min-height:3.25rem}.responsive-card.is-selected{border-color:color-mix(in srgb,var(--accent) 40%,white);background:color-mix(in srgb,var(--accent-soft) 80%,white);box-shadow:inset 3px 0 0 var(--accent)}.responsive-card:active{background:var(--surface-1)}.responsive-card-primary{font-weight:600}.responsive-card-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-1) var(--s-3);margin:0}.responsive-card-field{display:grid;gap:2px;min-width:0}.responsive-card-field dt{font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.responsive-card-field dd{margin:0;font-size:var(--fs-sm);font-weight:500}.details-grid{grid-template-columns:minmax(0,1fr);gap:var(--s-1)}.detail-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-3);align-items:baseline;padding:var(--s-2) 0;background:transparent;border:0;border-bottom:1px solid var(--border);border-radius:0}.detail-label{margin-bottom:0}.detail-value{text-align:right}.timeline-row{gap:var(--s-1);padding-bottom:var(--s-3)}.timeline-time{font-size:var(--fs-xs)}.report-entry-head,.list-row{flex-direction:column;align-items:stretch;gap:var(--s-2)}.list-row-actions{justify-content:flex-start}.attachment-grid{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr))}.attachment-grid--compact{grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr))}.form-grid--pairs{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar-row--between .field{flex:1 1 100%}}@media (hover: none) and (pointer: coarse){.btn-small{min-height:2.5rem}}.bottom-tabbar{display:none}.bottom-tabbar--1{--tabbar-columns: 1}.bottom-tabbar--2{--tabbar-columns: 2}.bottom-tabbar--3{--tabbar-columns: 3}.bottom-tabbar--4{--tabbar-columns: 4}.bottom-tabbar--5{--tabbar-columns: 5}.fab{display:none}.task-priority-badge{border-radius:999px;padding:.18rem .5rem;font-size:var(--fs-xs);font-weight:600;border:1px solid var(--border);background:var(--surface-2)}.task-priority-low{background:var(--surface-2);color:var(--text-muted)}.task-priority-normal{background:var(--accent-soft);color:var(--accent-strong);border-color:color-mix(in srgb,var(--accent) 20%,white)}.task-priority-high{background:var(--warning-soft);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 25%,white)}.task-priority-urgent{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 25%,white)}.status-filter-chips{display:flex;gap:var(--s-1);flex-wrap:wrap}.status-filter-chip{border:1px solid var(--border);background:var(--surface-0);color:var(--text-soft);border-radius:999px;padding:.3rem .7rem;font-size:var(--fs-xs);font-weight:600;cursor:pointer}.status-filter-chip.is-active{background:var(--accent-soft);color:var(--accent-strong);border-color:color-mix(in srgb,var(--accent) 25%,white)}.responsive-table-desktop{display:block}.responsive-table-mobile{display:none}.form-grid--pairs{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width: 900px){.workspace-shell{grid-template-rows:minmax(0,1fr) auto;padding-bottom:0}.workspace-sidebar{display:none}.workspace-main{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))}.workspace-header{flex-direction:row;align-items:center;gap:var(--s-2);margin-bottom:var(--s-3)}.workspace-title{font-size:var(--fs-lg)}.workspace-subtitle{display:none}.bottom-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:1500;display:grid;grid-template-columns:repeat(var(--tabbar-columns, 5),1fr);gap:0;background:var(--surface-0);border-top:1px solid var(--border);box-shadow:0 -2px 12px #15222b0f;padding:var(--s-1) var(--s-1) calc(var(--s-1) + env(safe-area-inset-bottom))}.bottom-tabbar-item{border:0;background:transparent;color:var(--text-muted);cursor:pointer;display:grid;gap:2px;justify-items:center;align-content:center;padding:.45rem .25rem;min-height:3.25rem;border-radius:var(--r-2);font:inherit}.bottom-tabbar-item.is-active{color:var(--accent-strong);background:var(--accent-soft)}.bottom-tabbar-icon{font-size:1.1rem;line-height:1}.bottom-tabbar-label{font-size:.72rem;font-weight:600;letter-spacing:.02em}.fab{display:grid;place-items:center;position:fixed;right:var(--s-4);bottom:calc(5.25rem + env(safe-area-inset-bottom));z-index:1400;width:3.5rem;height:3.5rem;border-radius:999px;border:0;background:var(--accent);color:#fff;box-shadow:0 8px 20px #0d6f7559;cursor:pointer}.fab-icon{font-size:1.75rem;line-height:1;font-weight:600}.fab:active{transform:translateY(1px)}}.toast-close{border:0;background:transparent;color:var(--text-muted);cursor:pointer}@media (max-width: 1100px){.metric-grid,.workspace-grid--three,.details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.workspace-shell{grid-template-columns:minmax(0,1fr)}.workspace-sidebar{grid-template-rows:auto auto auto;border-right:0;border-bottom:1px solid var(--border)}.workspace-grid--two,.workspace-grid--three,.metric-grid,.details-grid,.form-grid--two{grid-template-columns:minmax(0,1fr)}.form-grid--two .inline-grid--two,.form-grid .inline-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-row{grid-template-columns:minmax(0,1fr)}}@media (max-width: 640px){.workspace-main{padding:var(--s-3)}.workspace-header{flex-direction:column}.panel,.auth-box{padding:var(--s-3)}.toast{left:var(--s-3);right:var(--s-3);bottom:var(--s-3);width:auto}}.app{display:flex;flex-direction:column;height:100vh;background:var(--bg);overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--gutter-lg);padding:10px var(--gutter-lg);background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--divider);flex-shrink:0;z-index:40}.brand{display:flex;align-items:center;gap:10px}.brand__badge{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:var(--accent);color:var(--accent-foreground);font-family:var(--font-display);font-size:1.15rem;font-weight:700;flex-shrink:0}:root[data-theme=light] .brand__badge{background:var(--accent-inverted-bg);color:var(--accent-inverted)}.brand__copy{display:grid;gap:1px;line-height:1.1}.brand__title{font-family:var(--font-display);font-size:1.05rem;font-weight:700;letter-spacing:-.01em}.brand__sub{font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground)}.nav{display:flex;align-items:center;gap:2px}.nav__tab{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:none;background:transparent;color:var(--muted-foreground);font-weight:600;font-size:.9rem;border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition),background var(--transition);white-space:nowrap}.nav__tab:hover{color:var(--text);background:var(--surface-1)}.nav__tab--active{color:var(--accent);background:var(--accent-soft)}:root[data-theme=light] .nav__tab--active{color:#fff;background:var(--accent)}.nav__tab svg{width:17px;height:17px}.nav__badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:.68rem;font-weight:700}.nav__static{font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--text);padding:8px 14px}.topbar__right{display:flex;align-items:center;gap:10px}.segment{display:inline-flex;background:var(--surface-1);border:1px solid var(--border);border-radius:999px;padding:3px;gap:2px}.segment__btn{border:none;background:transparent;color:var(--muted-foreground);font-weight:600;font-size:.82rem;padding:5px 13px;border-radius:999px;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;gap:6px}.segment__btn--active{background:var(--accent);color:var(--accent-foreground)}:root[data-theme=light] .segment__btn--active{background:var(--accent-inverted-bg);color:var(--accent-inverted)}.segment__btn svg{width:15px;height:15px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-1);color:var(--text);cursor:pointer;transition:var(--transition)}.icon-btn:hover{border-color:var(--accent);color:var(--accent)}.icon-btn svg{width:18px;height:18px}.avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:var(--surface-3);color:var(--text);font-weight:700;font-size:.78rem;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:var(--radius-md);border:1px solid transparent;background:var(--accent);color:var(--accent-foreground);font-weight:600;font-size:.88rem;padding:9px 16px;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--transition),box-shadow var(--transition),background var(--transition),border-color var(--transition);white-space:nowrap}.btn svg{width:16px;height:16px}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn:active{transform:translateY(0)}.btn--primary{background:var(--accent);color:var(--accent-foreground)}:root[data-theme=light] .btn--primary{background:var(--accent-inverted-bg);color:var(--accent-inverted)}.btn--secondary{background:var(--surface-2);color:var(--text);border-color:var(--border);box-shadow:none}.btn--secondary:hover{background:var(--surface-3);border-color:var(--border-strong);box-shadow:none}.btn--ghost{background:transparent;color:var(--muted-foreground);box-shadow:none}.btn--ghost:hover{background:var(--accent-soft);color:var(--accent);box-shadow:none}.btn--danger{background:var(--danger);color:#fff}.btn--sm{padding:6px 11px;font-size:.8rem}.btn--icon{padding:8px;width:36px;height:36px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.toolbar{display:flex;align-items:center;gap:var(--gutter-sm);padding:10px var(--gutter-lg);border-bottom:1px solid var(--divider);flex-shrink:0;flex-wrap:wrap}.toolbar__group{display:flex;align-items:center;gap:var(--gutter-sm)}.toolbar__spacer{flex:1}.weeknav{display:inline-flex;align-items:center;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.weeknav__btn{border:none;background:transparent;color:var(--text);padding:7px 10px;cursor:pointer;display:inline-flex;transition:var(--transition)}.weeknav__btn:hover{background:var(--surface-3);color:var(--accent)}.weeknav__label{padding:7px 14px;font-weight:700;font-size:.88rem;border-left:1px solid var(--border);border-right:1px solid var(--border);min-width:118px;text-align:center;font-variant-numeric:tabular-nums}.weeknav__today{border:none;background:transparent;color:var(--muted-foreground);padding:7px 11px;cursor:pointer;font-weight:600;font-size:.82rem}.weeknav__today:hover{color:var(--accent)}.searchbox{display:inline-flex;align-items:center;gap:8px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md);padding:0 12px;color:var(--muted-foreground)}.searchbox svg{width:15px;height:15px;flex-shrink:0}.searchbox input{border:none;background:transparent;color:var(--text);padding:8px 0;font-size:.84rem;min-width:150px;outline:none}.dropdown{position:relative}.dropdown__trigger{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);font-weight:600;font-size:.84rem;cursor:pointer;transition:var(--transition);white-space:nowrap}.dropdown__trigger:hover{border-color:var(--border-strong)}.dropdown__trigger svg.lead{width:15px;height:15px;color:var(--muted-foreground)}.dropdown__trigger .caret{width:13px;height:13px;color:var(--muted-foreground)}.dropdown__trigger--active{border-color:var(--accent);color:var(--accent)}.dropdown__count{font-size:.72rem;color:var(--muted-foreground);font-weight:700}.menu{position:absolute;top:calc(100% + 8px);left:0;min-width:240px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:6px;z-index:200;max-height:340px;overflow-y:auto}.menu--right{left:auto;right:0}.menu__label{padding:6px 10px 4px;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground)}.menu__item{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--text);font-size:.86rem;font-weight:500;cursor:pointer;border:none;background:transparent;width:100%;text-align:left;transition:var(--transition)}.menu__item:hover{background:var(--surface-3)}.menu__item--active{color:var(--accent)}.menu__check{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--border-strong);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.menu__check--on{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground)}.menu__check svg{width:11px;height:11px}.menu__dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.menu__strong{font-weight:700}.menu__divider{height:1px;background:var(--divider);margin:5px 4px}.codex-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--info) 35%,transparent);background:var(--info-soft);color:var(--info);font-weight:600;font-size:.84rem;cursor:pointer;transition:var(--transition)}.codex-btn:hover{background:color-mix(in srgb,var(--info-soft) 60%,var(--info) 15%)}.codex-btn svg{width:16px;height:16px}.availability-filter-toggle{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-1);color:var(--text);font-weight:600;font-size:.84rem;cursor:pointer;transition:var(--transition)}.availability-filter-toggle:hover{border-color:var(--border-strong);background:var(--surface-2)}.availability-filter-toggle--active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.availability-filter-toggle__count{min-width:19px;height:19px;padding:0 6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-3);color:var(--muted-foreground);font-size:.72rem;font-weight:800;font-variant-numeric:tabular-nums}.availability-filter-toggle--active .availability-filter-toggle__count{background:var(--accent);color:var(--accent-foreground)}.publish-btn__count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:color-mix(in srgb,var(--accent-foreground) 18%,transparent);color:var(--accent-foreground);font-size:.7rem;font-weight:700}.board-wrap{flex:1;overflow:auto;position:relative}.board{display:grid;min-width:1100px;position:relative}.board__cell{border-right:1px solid var(--divider);border-bottom:1px solid var(--divider)}.board__head{position:sticky;top:0;z-index:20;background:var(--bg-elevated);border-bottom:1px solid var(--border);display:flex;flex-direction:column;justify-content:center;padding:10px 14px;min-height:62px}.board__head--corner{position:sticky;left:0;z-index:30;border-right:1px solid var(--border)}.board__head--weekend{background:color-mix(in srgb,var(--bg-elevated) 80%,var(--warning-soft))}.board__head--today{box-shadow:inset 0 -2px 0 var(--accent)}.dayname{font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);font-weight:700}.daydate{font-family:var(--font-display);font-weight:700;font-size:1.05rem;margin-top:1px}.daymeta{font-size:.72rem;color:var(--muted-foreground);margin-top:2px;font-variant-numeric:tabular-nums}.daydot{display:inline-block;width:7px;height:7px;border-radius:999px;background:var(--warning);margin-left:6px;vertical-align:middle}.corner-title{font-family:var(--font-display);font-weight:700;font-size:1rem}.corner-sub{font-size:.72rem;color:var(--muted-foreground)}.emp{position:sticky;left:0;z-index:10;background:var(--bg-elevated);border-right:1px solid var(--border);border-bottom:1px solid var(--divider);padding:9px 14px;display:flex;align-items:center;gap:10px}.emp__avatar{width:32px;height:32px;border-radius:999px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.74rem;color:#fff}.emp__info{min-width:0;flex:1}.emp__name{font-weight:600;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.emp__meta{font-size:.72rem;color:var(--muted-foreground);font-variant-numeric:tabular-nums;display:flex;gap:6px;align-items:center}.emp__bar{height:3px;border-radius:999px;background:var(--surface-3);margin-top:4px;overflow:hidden}.emp__bar>span{display:block;height:100%;border-radius:999px;background:var(--accent)}.emp__bar>span.over{background:var(--danger)}.cell{border-right:1px solid var(--divider);border-bottom:1px solid var(--divider);padding:5px;min-height:64px;display:flex;flex-direction:column;gap:4px;position:relative;transition:background var(--transition)}.cell--weekend{background:color-mix(in srgb,var(--bg) 75%,var(--warning-soft))}:root[data-theme=light] .cell--weekend{background:#fcfaf3}.cell--today{background:color-mix(in srgb,var(--bg) 88%,var(--accent-soft))}.cell:hover{background:var(--surface-1)}.cell--weekend:hover{background:color-mix(in srgb,var(--surface-1) 80%,var(--warning-soft))}.cell__add{position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:1.5px dashed var(--border-strong);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--muted-foreground);opacity:0;cursor:pointer;transition:opacity var(--transition);background:color-mix(in srgb,var(--surface-1) 70%,transparent)}.cell:hover .cell__add{opacity:1}.cell__add:hover{border-color:var(--accent);color:var(--accent)}.cell__add svg{width:18px;height:18px}.shift{border-radius:var(--radius-sm);padding:6px 8px;cursor:pointer;position:relative;border-left:3px solid var(--pos);background:color-mix(in srgb,var(--pos) 18%,var(--surface-1));transition:transform var(--transition),box-shadow var(--transition),filter var(--transition);overflow:hidden}:root[data-theme=light] .shift{background:color-mix(in srgb,var(--pos) 16%,#fff)}.shift:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);filter:brightness(1.06);z-index:2}.shift__time{font-weight:700;font-size:.82rem;font-variant-numeric:tabular-nums}.shift__pos{font-size:.74rem;color:var(--muted-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shift--draft{border-style:dashed;opacity:.92}.shift--draft:after{content:"";position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:999px;background:var(--warning)}.shift__icon{position:absolute;top:5px;right:5px;color:var(--muted-foreground)}.shift__icon svg{width:12px;height:12px}.shift--ghost{border:1.5px dashed var(--accent);background:var(--accent-soft);color:var(--accent)}.availability-block{border-radius:var(--radius-sm);padding:6px 8px;position:relative;border-left:3px solid var(--success);background:var(--success-soft);overflow:hidden}.availability-block--preferred{border-left-color:var(--info);background:var(--info-soft)}.availability-block--unavailable{border-left-color:var(--danger);background:var(--danger-soft)}.availability-block__time{font-weight:700;font-size:.82rem;font-variant-numeric:tabular-nums}.availability-block__label{font-size:.74rem;color:var(--muted-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.availability-block__note{position:absolute;top:5px;right:5px;color:var(--muted-foreground)}.availability-block__note svg{width:12px;height:12px}.availability-empty{margin:auto;color:var(--muted-foreground);font-size:.74rem;font-weight:600}.shift--status-published{--pos: var(--success) !important}.shift--status-draft{--pos: var(--warning) !important}.board--mono .shift{--pos: var(--accent) !important;background:var(--surface-2);border-left-color:var(--accent)}.openrow .emp{background:color-mix(in srgb,var(--bg-elevated) 78%,var(--warning-soft))}.openrow .cell{background:color-mix(in srgb,var(--bg) 80%,var(--warning-soft))}:root[data-theme=light] .openrow .cell{background:#fdf8ee}.openrow .cell:hover{background:color-mix(in srgb,var(--surface-1) 70%,var(--warning-soft))}.pin-label{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:.84rem}.pin-label svg{width:14px;height:14px;color:var(--warning)}.board--compact .cell{min-height:46px;padding:3px}.board--compact .shift{padding:3px 7px}.board--compact .shift__pos{font-size:.68rem}.board--compact .emp{padding:5px 14px}.board--compact .emp__avatar{width:26px;height:26px}.group-head{position:sticky;left:0;z-index:11;grid-column:1 / -1;background:var(--surface-1);border-bottom:1px solid var(--border);border-top:1px solid var(--border);padding:7px 16px;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);display:flex;align-items:center;gap:9px}.group-head__dot{width:10px;height:10px;border-radius:3px}.summary{display:grid;border-top:1px solid var(--border);background:var(--bg-elevated);flex-shrink:0;position:sticky;bottom:0}.summary__corner{position:sticky;left:0;z-index:12;background:var(--bg-elevated);border-right:1px solid var(--border);padding:10px 14px;display:flex;flex-direction:column;justify-content:center;gap:1px}.summary__corner .lbl{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground);font-weight:700}.summary__corner .big{font-family:var(--font-display);font-weight:700;font-size:1rem;font-variant-numeric:tabular-nums}.summary__corner .cost{color:var(--accent);font-weight:700;font-size:.84rem;font-variant-numeric:tabular-nums}.summary__day{padding:9px 14px;border-right:1px solid var(--divider);display:flex;flex-direction:column;gap:3px}.summary__day--weekend{background:color-mix(in srgb,var(--bg-elevated) 82%,var(--warning-soft))}.summary__row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.78rem;font-variant-numeric:tabular-nums}.summary__people{display:flex;align-items:center;gap:5px;color:var(--muted-foreground)}.summary__people svg{width:13px;height:13px}.summary__hours{font-weight:700}.summary__cost{color:var(--muted-foreground)}.summary__spark{height:4px;border-radius:999px;background:var(--surface-3);overflow:hidden;margin-top:2px}.summary__spark>span{display:block;height:100%;background:var(--accent);border-radius:999px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#05050899;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;animation:gr-fade .16s ease}@keyframes gr-fade{0%{opacity:0}to{opacity:1}}@keyframes gr-pop{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.modal{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:720px;max-height:90vh;overflow:hidden;display:flex;animation:gr-pop .18s ease}.modal--narrow{max-width:480px}.modal--wide{max-width:920px;flex-direction:column}.modal--shift{max-width:min(1120px,calc(100vw - 40px));max-height:calc(100vh - 32px)}.modal__aside{width:240px;flex-shrink:0;background:var(--surface-1);border-right:1px solid var(--border);padding:20px 18px;display:flex;flex-direction:column;gap:18px}.modal--shift .modal__aside{width:260px}.modal__person{display:flex;align-items:center;gap:11px}.modal__person .emp__avatar{width:42px;height:42px;font-size:.92rem}.modal__person-name{font-weight:700;font-size:.96rem}.modal__person-role{font-size:.76rem;color:var(--muted-foreground)}.modal__tabs{display:flex;flex-direction:column;gap:2px}.modal__tab{text-align:left;border:none;background:transparent;padding:8px 11px;border-radius:var(--radius-sm);color:var(--muted-foreground);font-weight:600;font-size:.86rem;cursor:pointer;transition:var(--transition)}.modal__tab:hover{background:var(--surface-3);color:var(--text)}.modal__tab--active{background:var(--accent-soft);color:var(--accent)}.modal__stats{display:grid;gap:13px;margin-top:auto}.modal__stat{display:flex;align-items:center;gap:10px}.modal__stat svg{width:17px;height:17px;color:var(--muted-foreground);flex-shrink:0}.modal__stat-val{font-weight:700;font-size:.9rem;font-variant-numeric:tabular-nums}.modal__stat-lbl{font-size:.72rem;color:var(--muted-foreground)}.modal__main{flex:1;display:flex;flex-direction:column;min-width:0}.modal__head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--divider)}.modal__head-actions{display:inline-flex;align-items:center;gap:8px}.modal__title{font-family:var(--font-display);font-weight:700;font-size:1.15rem}.modal__subtitle{font-size:.8rem;color:var(--muted-foreground);margin-top:2px}.modal__body{padding:22px;overflow-y:auto;display:grid;gap:18px}.shift-modal__edit-body{grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);align-content:start;gap:16px 18px}.shift-modal__position-field,.shift-modal__time-row,.shift-modal__note-field{grid-column:1 / -1}.shift-modal__time-row{grid-template-columns:minmax(0,1fr) 220px}.shift-modal__note-field .textarea{min-height:88px}@media (max-width: 780px){.modal--shift{max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);flex-direction:column}.modal--shift .modal__aside{width:100%;border-right:none;border-bottom:1px solid var(--border);padding:16px;gap:12px}.modal--shift .modal__stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.shift-modal__edit-body{grid-template-columns:1fr}.shift-modal__position-field,.shift-modal__time-row,.shift-modal__note-field{grid-column:auto}.shift-modal__time-row{grid-template-columns:1fr}}.modal__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;bottom:0;z-index:2;padding:16px 22px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--divider);background:linear-gradient(to bottom,color-mix(in srgb,var(--bg-elevated) 88%,transparent),var(--bg-elevated) 34%),var(--bg-elevated);box-shadow:0 -10px 24px #00000014}.modal__foot-left{display:flex;gap:16px}.modal__actions{display:flex;gap:10px}.modal__link{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--muted-foreground);font-weight:600;font-size:.82rem;cursor:pointer;transition:var(--transition)}.modal__link:hover{color:var(--accent)}.modal__link--danger:hover{color:var(--danger)}.modal__link svg{width:15px;height:15px}.field{display:grid;gap:6px}.field__label{font-size:.78rem;font-weight:700;color:var(--text)}.field__hint{font-size:.74rem;color:var(--muted-foreground)}.input,.select,.textarea{width:100%;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);padding:10px 12px;font-size:.9rem;font-family:inherit;transition:var(--transition)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--ring);background:var(--bg-elevated)}.textarea{resize:vertical;min-height:76px}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 53%,calc(100% - 13px) 53%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.time-pickers{display:flex;align-items:center;gap:10px}.time-pickers .input{text-align:center;font-family:var(--font-mono);font-weight:600}.time-dash{color:var(--muted-foreground)}.poschips{display:flex;flex-wrap:wrap;gap:8px}.poschip{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface-1);color:var(--text);font-size:.82rem;font-weight:600;cursor:pointer;transition:var(--transition)}.poschip__dot{width:9px;height:9px;border-radius:3px}.poschip:hover{border-color:var(--border-strong)}.poschip--active{border-color:var(--c);background:color-mix(in srgb,var(--c) 16%,var(--surface-1))}.templates{display:flex;flex-wrap:wrap;gap:7px}.tpl-chip{padding:6px 11px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-1);font-size:.8rem;font-weight:600;cursor:pointer;font-variant-numeric:tabular-nums;transition:var(--transition);color:var(--text)}.tpl-chip:hover{border-color:var(--accent);color:var(--accent)}.modal__banner{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius-md);background:var(--info-soft);border:1px solid color-mix(in srgb,var(--info) 30%,transparent);color:var(--info);font-size:.82rem;font-weight:500}.modal__banner svg{width:16px;height:16px;flex-shrink:0;margin-top:1px}.pubrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:var(--radius-md);background:var(--surface-1)}.pubrow__label{display:flex;align-items:center;gap:10px;font-size:.86rem;font-weight:600}.pubrow__label svg{width:17px;height:17px;color:var(--muted-foreground)}.pubrow__value{font-weight:700;font-variant-numeric:tabular-nums}.pubrow__value--ok{color:var(--success)}.codex-pills{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.codex-pill{border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;text-align:center;display:grid;gap:2px}.codex-pill__num{font-family:var(--font-display);font-weight:700;font-size:1.5rem}.codex-pill__lbl{font-size:.72rem;color:var(--muted-foreground)}.codex-pill--error .codex-pill__num{color:var(--danger)}.codex-pill--warn .codex-pill__num{color:var(--warning)}.codex-pill--ok .codex-pill__num{color:var(--success)}.codex-list{display:grid;gap:8px}.codex-item{border-left:3px solid var(--border);background:var(--surface-1);border-radius:var(--radius-sm);padding:10px 12px;display:grid;gap:3px}.codex-item--error{border-left-color:var(--danger)}.codex-item--warn{border-left-color:var(--warning)}.codex-item--info{border-left-color:var(--success)}.codex-item__who{font-weight:700;font-size:.84rem}.codex-item__desc{font-size:.84rem;color:var(--muted-foreground)}.codex-item__fix{font-size:.78rem;font-weight:600}.ai-opt{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-1)}.ai-opt svg{width:18px;height:18px;color:var(--accent);flex-shrink:0}.ai-opt__text{flex:1}.ai-opt__label{font-weight:700;font-size:.86rem}.ai-opt__desc{font-size:.76rem;color:var(--muted-foreground)}.ai-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 0;text-align:center}.ai-state__spinner{width:30px;height:30px;border:3px solid var(--accent);border-right-color:transparent;border-radius:999px;animation:gr-spin .7s linear infinite}.ai-state__check{width:54px;height:54px;border-radius:999px;background:var(--accent-soft);color:var(--accent);display:inline-flex;align-items:center;justify-content:center}.ai-state__title{font-family:var(--font-display);font-weight:700;font-size:1.1rem}.ai-state__sub{font-size:.86rem;color:var(--muted-foreground);max-width:320px}.toast-wrap{position:fixed;bottom:22px;left:50%;transform:translate(-50%);z-index:600;display:flex;flex-direction:column;gap:8px;align-items:center}.toast{display:flex;align-items:center;gap:10px;padding:11px 16px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:.86rem;font-weight:600;animation:gr-pop .18s ease}.toast svg{width:17px;height:17px}.toast--success svg{color:var(--success)}.toast--info svg{color:var(--info)}.toast--warn svg{color:var(--warning)}.toast--error svg{color:var(--danger)}.page{flex:1;overflow-y:auto;padding:var(--gutter-lg)}.page__inner{max-width:1280px;margin:0 auto;display:grid;gap:var(--gutter-lg)}.page__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--gutter-md);flex-wrap:wrap}.page-title{font-family:var(--font-display);font-weight:700;font-size:1.5rem;letter-spacing:-.01em;margin:0}.page-lead{color:var(--muted-foreground);font-size:.9rem;margin:2px 0 0}.statcards{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gutter-md)}.statcard{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px;display:flex;flex-direction:column;gap:4px}.statcard__lbl{font-size:.78rem;color:var(--muted-foreground);font-weight:600;display:flex;align-items:center;gap:7px}.statcard__lbl svg{width:15px;height:15px}.statcard__val{font-family:var(--font-display);font-weight:700;font-size:1.8rem;font-variant-numeric:tabular-nums}.statcard--good .statcard__val{color:var(--success)}.statcard--warn .statcard__val{color:var(--warning)}.statcard--bad .statcard__val{color:var(--danger)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.card__head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--divider)}.card__title{font-weight:700;font-size:.98rem}.card__hint{font-size:.76rem;color:var(--muted-foreground)}.card__body{padding:16px 18px}.table{width:100%;border-collapse:collapse;font-size:.88rem}.table thead th{text-align:left;padding:11px 16px;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground);font-weight:700;border-bottom:1px solid var(--border);background:var(--surface-1);position:sticky;top:0}.table tbody td{padding:12px 16px;border-bottom:1px solid var(--divider);vertical-align:middle}.table tbody tr{transition:background var(--transition)}.table tbody tr:hover{background:var(--surface-1)}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table .cell-emp{display:flex;align-items:center;gap:9px}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:.76rem;font-weight:700}.badge--pending{background:var(--warning-soft);color:var(--warning)}.badge--approved{background:var(--success-soft);color:var(--success)}.badge--cancelled{background:var(--surface-3);color:var(--muted-foreground)}.badge--rejected{background:var(--danger-soft);color:var(--danger)}.badge__dot{width:7px;height:7px;border-radius:999px;background:currentColor}.tabs{display:inline-flex;gap:2px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md);padding:3px}.tabs__btn{border:none;background:transparent;color:var(--muted-foreground);font-weight:600;font-size:.82rem;padding:6px 13px;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;gap:6px}.tabs__btn--active{background:var(--accent);color:var(--accent-foreground)}:root[data-theme=light] .tabs__btn--active{background:var(--accent-inverted-bg);color:var(--accent-inverted)}.row-actions{display:flex;gap:6px;justify-content:flex-end}.icon-action{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-1);cursor:pointer;transition:var(--transition);color:var(--text)}.icon-action svg{width:15px;height:15px}.icon-action--ok:hover{border-color:var(--success);color:var(--success);background:var(--success-soft)}.icon-action--bad:hover{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.timeline-head{display:grid;grid-template-columns:220px 1fr 92px 92px 96px 96px;align-items:center;border-bottom:1px solid var(--border);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground);font-weight:700;background:var(--surface-1)}.timeline-head>div{padding:11px 14px}.timeline-row{display:grid;grid-template-columns:220px 1fr 92px 92px 96px 96px;align-items:center;border-bottom:1px solid var(--divider);transition:background var(--transition)}.timeline-row:hover{background:var(--surface-1)}.timeline-row>div{padding:12px 14px}.timeline-emp{display:flex;align-items:center;gap:10px}.track{position:relative;height:30px;border-radius:var(--radius-sm);background:var(--surface-1);overflow:hidden}.track__grid{position:absolute;top:0;right:0;bottom:0;left:0}.track__tick{position:absolute;top:0;bottom:0;width:1px;background:var(--divider)}.track__planned{position:absolute;top:50%;transform:translateY(-50%);height:8px;background:var(--surface-3);border-radius:999px}.track__actual{position:absolute;top:50%;transform:translateY(-50%);height:16px;border-radius:var(--radius-sm);background:repeating-linear-gradient(135deg,var(--success) 0 7px,color-mix(in srgb,var(--success) 70%,#000) 7px 14px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--success) 50%,transparent)}.track__now{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--info);z-index:3}.track__break{position:absolute;top:50%;transform:translateY(-50%);height:16px;width:4px;background:var(--bg)}.t-time{font-variant-numeric:tabular-nums;font-weight:700;font-size:.86rem}.t-time small{display:block;font-weight:500;color:var(--info);font-size:.74rem}.t-time.muted small{color:var(--muted-foreground)}.legend{display:flex;align-items:center;gap:18px;font-size:.78rem;color:var(--muted-foreground)}.legend__item{display:inline-flex;align-items:center;gap:7px}.legend__swatch{width:22px;height:8px;border-radius:999px}.emp-grid{display:grid;grid-template-columns:minmax(260px,1.4fr) repeat(3,minmax(150px,1fr));gap:var(--gutter-md)}.greet{display:flex;align-items:center;gap:14px}.greet__avatar{width:52px;height:52px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;color:#fff;flex-shrink:0}.next-shift{background:linear-gradient(135deg,var(--accent-soft),transparent);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;display:grid;gap:8px}.next-shift__lbl{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;color:var(--muted-foreground);font-weight:600}.next-shift__lbl svg{width:15px;height:15px}.next-shift__when{font-family:var(--font-display);font-weight:700;font-size:1.6rem}.ministat{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;display:grid;gap:6px}.ministat__val{font-family:var(--font-display);font-weight:700;font-size:2rem;font-variant-numeric:tabular-nums}.ministat__lbl{font-size:.8rem;color:var(--muted-foreground);display:inline-flex;align-items:center;gap:7px}.availability-summary{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;display:grid;gap:5px;min-width:0}.availability-summary__value{font-family:var(--font-display);font-weight:700;font-size:2rem;font-variant-numeric:tabular-nums}.availability-summary__label{font-size:.8rem;color:var(--muted-foreground);display:inline-flex;align-items:center;gap:7px}.availability-summary__range{font-size:.72rem;color:var(--muted-foreground);font-variant-numeric:tabular-nums}.availability-summary__detail{min-width:0;font-size:.78rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.availability-summary__detail--error{color:var(--danger);white-space:normal}.availability-form-intro{margin:0;color:var(--muted-foreground);font-size:.9rem}.availability-day-list{display:grid;gap:8px}.availability-day-row{padding:8px 11px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md);opacity:.5}.availability-day-row--active{opacity:1}.availability-day-label{font-weight:600;font-size:.86rem}@media (max-width: 980px){.emp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.next-shift{grid-column:1 / -1}}@media (max-width: 620px){.emp-grid,.field-row{grid-template-columns:minmax(0,1fr)}.modal__foot{align-items:stretch;flex-direction:column}.modal__actions{width:100%}.modal__actions .btn{flex:1;justify-content:center}}.myweek-day{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:11px 18px;border-bottom:1px solid var(--divider)}.myweek-day--weekend{background:color-mix(in srgb,var(--bg-elevated) 85%,var(--warning-soft))}.myweek-day__name{font-weight:700;font-size:.9rem}.myweek-day__date{font-size:.76rem;color:var(--muted-foreground)}.myweek-day__shifts{display:flex;flex-wrap:wrap;gap:7px}.myweek-day__off{font-style:italic;color:var(--muted-foreground);font-size:.84rem}.open-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;padding:16px 18px}.open-card{border:1px solid var(--border);border-radius:var(--radius-md);padding:13px;display:grid;gap:8px}.open-card__pos{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.88rem}.open-card__when{font-size:.8rem;color:var(--muted-foreground);font-variant-numeric:tabular-nums}.tweaks{position:fixed;right:18px;bottom:18px;z-index:550;width:300px;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.tweaks__head{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--divider)}.tweaks__title{font-family:var(--font-display);font-weight:700;font-size:.9rem;display:flex;align-items:center;gap:8px}.tweaks__title svg{width:16px;height:16px;color:var(--accent)}.tweaks__body{padding:14px 16px;display:grid;gap:16px;max-height:60vh;overflow-y:auto}.tweak{display:grid;gap:7px}.tweak__label{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground)}.tweak__seg{display:flex;gap:4px;background:var(--surface-1);padding:3px;border-radius:var(--radius-md);border:1px solid var(--border)}.tweak__seg button{flex:1;border:none;background:transparent;color:var(--muted-foreground);font-weight:600;font-size:.78rem;padding:6px 4px;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition)}.tweak__seg button.on{background:var(--accent);color:var(--accent-foreground)}.tweak__toggle{display:flex;align-items:center;justify-content:space-between}.switch{width:38px;height:22px;border-radius:999px;background:var(--surface-3);border:none;cursor:pointer;position:relative;transition:var(--transition);flex-shrink:0}.switch.on{background:var(--accent)}.switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:999px;background:#fff;transition:var(--transition)}.switch.on:after{left:18px}.switch__row{display:flex;align-items:center;justify-content:space-between;gap:10px}.switch__row span{font-size:.82rem;font-weight:600}.empty-state{padding:60px 20px;text-align:center;color:var(--muted-foreground)}.empty-state svg{width:40px;height:40px;opacity:.4;margin-bottom:10px}.spinner{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:999px;display:inline-block;animation:gr-spin .7s linear infinite}@keyframes gr-spin{to{transform:rotate(360deg)}}.kbd{font-family:var(--font-mono);font-size:.72rem;padding:1px 6px;border-radius:5px;background:var(--surface-2);border:1px solid var(--border);color:var(--muted-foreground)}.hscroll{overflow-x:auto}
