:root{--bg:#f4f6f9;--surface:#fff;--surface-2:#f8fafc;--ink:#14202e;--ink-2:#3d4a5a;--muted:#687687;--faint:#9aa6b4;--line:#e5e9ef;--line-strong:#d5dbe3;--accent:#1872bd;--accent-ink:#135f9e;--accent-soft:#e8f3fc;--accent-bar:#86c1ec;--accent-bar-soft:#d5e9f8;--navy:#172434;--navy-hover:#24374d;--green:#1d9a61;--green-soft:#e8f6ee;--amber:#c2841a;--amber-soft:#fdf4e2;--red:#d4553a;--red-soft:#fdefeb;--surface-3:#eef2f6;--accent-line:#c9e2f6;--green-ink:#1b7d50;--amber-ink:#94661a;--red-ink:#b8432a;--slate:#5e7a99;--hatch-a:#e9edf2;--hatch-b:#f8fafc;--chip-count:#fffc;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--radius:14px;--radius-sm:10px;--shadow-sm:0 1px 2px #14202e0f;--focus:0 0 0 3px #1872bd47;font-family:var(--font-sans), ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;--brand-red:#e3202b;font-size:14px;line-height:1.45}*{box-sizing:border-box}body{background:var(--bg);margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{box-shadow:var(--focus);outline:none}h1,h2,h3,p{margin:0}h1{letter-spacing:-.02em;font-size:28px;font-weight:600;line-height:1.2}h2{letter-spacing:-.01em;font-size:16px;font-weight:600}h3{font-size:15px;font-weight:600}small{font-size:12px}svg{flex-shrink:0}.button,.primary{border-radius:var(--radius-sm);white-space:nowrap;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 14px;font-size:13.5px;font-weight:500;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.button{background:var(--surface);border:1px solid var(--line-strong);color:var(--ink);box-shadow:var(--shadow-sm)}.button:hover:not(:disabled){background:var(--surface-2);border-color:var(--line-strong)}.primary{background:var(--navy);border:1px solid var(--navy);color:#fff;box-shadow:0 1px 2px #1f1c4a40}.primary:hover:not(:disabled){background:var(--navy-hover);border-color:var(--navy-hover)}.icon-button{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);width:38px;height:38px;color:var(--ink-2);box-shadow:var(--shadow-sm);place-items:center;transition:background-color .15s,color .15s;display:inline-grid}.icon-button:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.text-link{color:var(--accent-ink);justify-content:space-between;align-items:center;gap:10px;font-size:13.5px;font-weight:500;display:flex}.text-link:hover{color:var(--accent)}.app-shell{min-height:100vh}.app-header{background:var(--surface);border-bottom:1px solid var(--line);z-index:30;position:sticky;top:0}.header-top,.header-nav{align-items:center;gap:16px;max-width:1440px;margin:0 auto;padding:0 32px;display:flex}.header-top{border-bottom:1px solid var(--line);height:68px}.brand{align-items:center;gap:10px;display:flex}.brand-mark{background:var(--navy);color:#fff;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.header-divider{background:var(--line);width:1px;height:28px}.org-switch{color:var(--ink);align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:500;display:flex}.org-switch svg{color:var(--ink-2)}.org-switch span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.env-pill{color:var(--accent-ink);background:var(--accent-soft);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.env-pill span{background:var(--accent);border-radius:50%;width:6px;height:6px}.header-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.date{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:7px;margin-right:6px;font-size:13px;display:flex}.user-chip{border-left:1px solid var(--line);align-items:center;gap:10px;margin-left:4px;padding-left:14px;display:flex}.user-meta b{font-size:13.5px;font-weight:500;display:block}.user-meta small{color:var(--muted);font-size:12px;display:block}.user-chip .icon-button{width:34px;height:34px;box-shadow:none;border-color:#0000}.avatar{background:var(--accent-soft);width:36px;height:36px;color:var(--accent-ink);border-radius:50%;flex-shrink:0;place-items:center;font-size:13px;font-weight:600;display:grid}.header-nav{justify-content:center;height:60px}.header-nav nav{scrollbar-width:none;justify-content:safe center;align-items:center;gap:4px;min-width:0;display:flex;overflow-x:auto}.header-nav nav::-webkit-scrollbar{display:none}.header-nav nav button{border-radius:var(--radius-sm);height:38px;color:var(--ink-2);white-space:nowrap;align-items:center;gap:8px;padding:0 12px;font-size:14px;font-weight:500;transition:background-color .15s,color .15s;display:inline-flex}.header-nav nav button svg{color:var(--muted)}.header-nav nav button:hover{background:var(--surface-2);color:var(--ink)}.header-nav nav button.active{background:var(--accent-soft);color:var(--accent-ink)}.header-nav nav button.active svg{color:var(--accent)}.header-nav>.primary{flex-shrink:0}.content{max-width:1440px;margin:0 auto;padding:32px 32px 0}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.page-heading p{color:var(--muted);margin-top:6px;font-size:14px}.heading-actions{gap:10px;display:flex}.demo-banner{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--radius-sm);color:var(--ink-2);align-items:center;gap:10px;margin-bottom:24px;padding:10px 14px;font-size:13px;display:flex}.demo-tag{color:var(--accent-ink);background:var(--surface);border:1px solid var(--accent-line);border-radius:999px;padding:2px 8px;font-size:11.5px;font-weight:600}.section-context{color:var(--ink-2);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:13.5px;font-weight:500;display:flex}.section-context>span{align-items:center;gap:8px;display:flex}.section-context small{color:var(--muted);font-size:12.5px;font-weight:400}.live-dot{background:var(--green);border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.metrics{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px;display:grid;overflow:hidden}.metric{flex-direction:column;gap:10px;min-width:0;padding:20px 22px;display:flex}.metric+.metric{border-left:1px solid var(--line)}.metric-label{color:var(--ink-2);font-size:13.5px;font-weight:500}.metric strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:26px;font-weight:600;overflow:hidden}.metric-note{color:var(--muted);align-items:center;gap:7px;font-size:12.5px;display:flex}.tone-dot{background:var(--faint);border-radius:50%;flex-shrink:0;width:7px;height:7px}.tone-dot.green{background:var(--green)}.tone-dot.violet{background:var(--accent)}.tone-dot.amber{background:var(--amber)}.analytics-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:20px;margin-bottom:20px;display:grid}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panel-heading{justify-content:space-between;align-items:center;gap:16px;padding:20px 22px 16px;display:flex}.panel-heading p{color:var(--muted);margin-top:4px;font-size:13px}.subtle-pill{color:var(--ink-2);background:var(--surface);border:1px solid var(--line-strong);white-space:nowrap;border-radius:8px;padding:6px 10px;font-size:12.5px;font-weight:500}.soft-icon{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line);width:38px;height:38px;color:var(--ink-2);flex-shrink:0;place-items:center;display:grid}.invoice-bars{gap:clamp(8px,2vw,22px);padding:8px 22px 22px;display:flex}.invoice-bar-item{text-align:center;flex:1;min-width:0}.invoice-bar-track{background:repeating-linear-gradient(135deg, var(--hatch-a) 0 1.5px, var(--hatch-b) 1.5px 6px);border-radius:16px;align-items:end;height:180px;display:flex;overflow:hidden}.invoice-bar-track div{background:var(--accent-bar-soft);border-radius:16px;width:100%}.invoice-bar-item:nth-child(2n) .invoice-bar-track div{background:var(--accent-bar)}.invoice-bar-item span{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);margin-top:10px;font-size:12.5px;display:block;overflow:hidden}.receivable-total{flex-direction:column;gap:6px;padding:0 22px;display:flex}.receivable-total span{color:var(--muted);font-size:13px}.receivable-total strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:600}.balance-bar{background:var(--accent-bar-soft);border-radius:99px;height:8px;margin:20px 22px 12px;overflow:hidden}.balance-bar i{background:var(--amber);border-right:2px solid #fff;height:100%;display:block}.balance-labels{color:var(--muted);justify-content:space-between;margin:0 22px;font-size:13px;display:flex}.balance-labels span{align-items:center;gap:7px;display:flex}.balance-labels i{background:var(--amber);border-radius:50%;width:7px;height:7px}.balance-labels b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.action-note{background:var(--amber-soft);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--amber);align-items:flex-start;gap:10px;margin:20px 22px 14px;padding:12px 14px;display:flex}.action-note p{color:var(--amber-ink);font-size:13px;line-height:1.55}.receivable-panel .text-link{width:calc(100% - 44px);margin:0 22px 20px;padding:6px 0}.title-with-count{align-items:center;gap:10px;display:flex}.title-with-count>span{color:var(--accent-ink);background:var(--accent-soft);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.table-toolbar{justify-content:space-between;align-items:center;gap:12px;padding:0 22px 16px;display:flex}.tabs{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);gap:2px;padding:3px;display:flex}.tabs button{white-space:nowrap;color:var(--muted);border-radius:8px;padding:6px 12px;font-size:13px;font-weight:500}.tabs button:hover{color:var(--ink)}.tabs .selected{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #1c1a271a}.search{border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--radius-sm);height:38px;color:var(--faint);align-items:center;gap:8px;width:260px;max-width:100%;padding:0 12px;margin:0!important;display:flex!important}.search:focus-within{border-color:var(--accent);box-shadow:var(--focus)}.search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:13.5px;box-shadow:none!important;margin:0!important;padding:0!important}.search input::placeholder{color:var(--faint)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%}th{color:var(--muted);background:var(--surface-2);border-block:1px solid var(--line);padding:11px 18px;font-size:12.5px;font-weight:500}th:first-child,td:first-child{padding-left:22px}th:last-child,td:last-child{padding-right:22px}td{border-bottom:1px solid var(--line);color:var(--ink-2);padding:13px 18px;font-size:13.5px}tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--surface-2)}.customer-cell{align-items:center;gap:12px;display:flex}.customer-cell b{color:var(--ink);font-size:14px;font-weight:500}.customer-cell small{color:var(--muted);margin-top:2px;font-size:12.5px;display:block}.customer-avatar{border-radius:var(--radius-sm);background:var(--surface-3);width:36px;height:36px;color:var(--slate);flex-shrink:0;place-items:center;font-size:12.5px;font-weight:600;display:grid}.color-1{background:var(--accent-soft);color:var(--accent-ink)}.color-2{background:var(--amber-soft);color:var(--amber-ink)}.color-3{background:var(--green-soft);color:var(--green-ink)}.invoice-number{font-variant-numeric:tabular-nums;color:var(--ink-2)}.numeric{text-align:right}.amount{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.status{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12.5px;font-weight:500;display:inline-flex}.status i{background:currentColor;border-radius:50%;width:6px;height:6px}.status.paid{background:var(--green-soft);color:var(--green-ink)}.status.pending{background:var(--amber-soft);color:var(--amber-ink)}.status.overdue{background:var(--red-soft);color:var(--red-ink)}.status.partial{background:var(--accent-soft);color:var(--accent-ink)}.row-action{border:1px solid var(--line-strong);width:32px;height:32px;color:var(--ink-2);background:var(--surface);border-radius:8px;place-items:center;display:grid}.row-action:hover{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-ink)}.table-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:12px 22px;font-size:13px;display:flex}.table-footer>div{align-items:center;gap:8px;display:flex}.table-footer .icon-button{width:34px;height:34px}.page-number{background:var(--accent-soft);min-width:34px;height:34px;color:var(--accent-ink);border-radius:8px;place-items:center;font-weight:600;display:grid}.quick-grid{grid-template-columns:1fr 1fr;gap:20px;margin-top:20px;display:grid}.quick-grid>button{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-align:left;align-items:center;gap:14px;padding:18px 20px;transition:border-color .15s,box-shadow .15s;display:flex}.quick-grid>button:hover{border-color:var(--accent-line);box-shadow:0 4px 14px #1872bd1a}.quick-grid p{color:var(--muted);margin-top:3px;font-size:13px}.quick-grid>button>svg{color:var(--faint);margin-left:auto}.customer-grid{grid-template-columns:1fr 1fr;gap:14px;padding:0 22px 22px;display:grid}.customer-card{border:1px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:12px;padding:16px;display:flex}.customer-card b{font-size:14px;font-weight:600}.customer-card p{color:var(--muted);margin-top:3px;font-size:13px}.customer-card>svg{color:var(--faint);margin-left:auto}.finance-tabs{border-bottom:1px solid var(--line);gap:24px;margin-bottom:20px;display:flex}.finance-tabs button{min-height:42px;color:var(--muted);border-bottom:2px solid #0000;padding:0 2px;font-size:14px;font-weight:500}.finance-tabs button:hover{color:var(--ink)}.finance-tabs button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.finance-trends{margin-bottom:20px}.finance-legend{color:var(--ink-2);flex-wrap:wrap;gap:16px;font-size:13px;display:flex}.finance-legend span:before{content:"";background:var(--accent);vertical-align:-1px;border-radius:2px;width:3px;height:12px;margin-right:7px;display:inline-block}.finance-legend span+span:before{background:var(--amber)}.finance-chart{padding:0 22px 18px}.finance-chart svg{width:100%;height:clamp(140px,20vw,220px);display:block}.finance-months{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;display:grid}.finance-months button{min-height:36px;color:var(--muted);border-radius:8px;font-size:13px}.finance-months button:hover{background:var(--surface-2);color:var(--ink)}.finance-months button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-ink);font-weight:500}.finance-point{min-height:20px;color:var(--ink-2);margin-top:10px;font-size:13px}.finance-breakdown{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.finance-share{background:var(--accent-bar-soft);border-radius:99px;height:10px;margin:18px 0 8px;overflow:hidden}.finance-share span{background:var(--accent);height:100%;display:block}.finance-breakdown .button{margin-top:12px}.operations-page{gap:20px;display:grid}.operation-panel{padding:22px}.operation-panel h2{margin-bottom:16px}.operation-form{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.operation-form label{flex:1;min-width:160px;margin:0}.report-list{margin:0}.report-list div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:13px 0;display:flex}.report-list div:last-child{border-bottom:0}.report-list dt{color:var(--ink-2)}.report-list dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}label{color:var(--ink-2);margin:16px 0;font-size:13px;font-weight:500;display:block}label input,label select,label textarea{border:1px solid var(--line-strong);border-radius:var(--radius-sm);width:100%;height:42px;color:var(--ink);background:var(--surface);margin-top:6px;padding:0 12px;font-size:14px;font-weight:400;transition:border-color .15s,box-shadow .15s;display:block}label input:focus,label select:focus,label textarea:focus{border-color:var(--accent);box-shadow:var(--focus);outline:none}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.muted{color:var(--muted);font-size:13px;line-height:1.6}.notice,.error{border-radius:var(--radius-sm);align-items:center;gap:10px;margin:0 0 18px;padding:12px 14px;font-size:13.5px;display:flex}.notice{background:var(--green-soft);color:var(--green-ink)}.notice button{place-items:center;margin-left:auto;display:grid}.error{background:var(--red-soft);color:var(--red-ink);flex-wrap:wrap}.error button{font-weight:500;text-decoration:underline}.empty{text-align:center;color:var(--muted);padding:48px 20px;font-size:14px}footer{color:var(--faint);justify-content:space-between;gap:16px;padding:28px 0;font-size:12.5px;display:flex}footer>span:last-child{align-items:center;gap:7px;display:flex}.login{background:radial-gradient(ellipse at top, var(--accent-soft), transparent 65%), var(--bg);place-items:center;min-height:100vh;padding:16px;display:grid}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;width:min(410px,100%);padding:36px;box-shadow:0 24px 70px #1f1c4a14}.login-card>.primary{width:100%;height:44px;margin:10px 0 18px}.green{color:var(--accent)}.avatar.photo{overflow:hidden}.avatar.photo img{object-fit:cover;width:100%;height:100%;display:block}.profile-button{text-align:left;border-radius:999px;align-items:center;gap:10px;padding:3px 8px 3px 3px;transition:background-color .15s;display:flex}.profile-button:hover,.profile-button.active{background:var(--surface-2)}.profile-button.active .avatar{box-shadow:0 0 0 2px var(--accent)}.person-link{text-align:left;align-items:center;gap:12px;display:flex}.person-link b{color:var(--ink);font-size:14px;font-weight:500;display:block}.person-link small{color:var(--muted);margin-top:2px;font-size:12.5px;display:block}.person-link:hover b{color:var(--accent-ink);text-underline-offset:3px;text-decoration:underline}.soft-icon.sm{width:30px;height:30px;color:var(--accent);background:var(--accent-soft);border-color:#0000;border-radius:8px}.row.center{justify-content:center}.profile-page{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:20px;display:grid}.profile-card{text-align:center;gap:6px;padding:24px 20px;display:grid;position:sticky;top:148px}.profile-card h2{margin-top:8px;font-size:19px}.profile-card>p{color:var(--muted)}.profile-tags{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:6px;display:flex}.tag{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);border-radius:999px;padding:3px 9px;font-size:12px;font-weight:500}.tag.ok-tag{background:var(--green-soft);color:var(--green-ink);border-color:#0000}.tag.muted-tag{color:var(--muted)}.profile-facts{border-top:1px solid var(--line);text-align:left;gap:10px;margin:14px 0 0;padding-top:14px;display:grid}.profile-facts div{justify-content:space-between;gap:10px;font-size:13px;display:flex}.profile-facts dt{color:var(--muted);align-items:center;gap:5px;display:inline-flex}.profile-facts dd{overflow-wrap:anywhere;text-align:right;margin:0;font-weight:500}.photo-editor{justify-items:center;gap:10px;display:grid}.photo-frame{background:var(--accent-soft);width:112px;height:112px;color:var(--accent-ink);box-shadow:0 0 0 4px var(--surface), 0 0 0 5px var(--line);border-radius:50%;place-items:center;font-size:34px;font-weight:600;display:grid;position:relative}.photo-frame img{object-fit:cover;border-radius:50%;width:100%;height:100%}.photo-frame.busy{opacity:.55}.photo-change{background:var(--navy);color:#fff;border:3px solid var(--surface);border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;bottom:-2px;right:-2px}.photo-change:hover{background:var(--navy-hover)}.field-error{color:var(--red-ink);font-size:12.5px;font-weight:500}label .field-error{margin-top:5px;display:block}label .hint{color:var(--muted);margin-top:5px;font-size:12px;font-weight:400;display:block}label input[aria-invalid=true]{border-color:var(--red)}.profile-main{padding:6px 22px 0}.profile-section{border-bottom:1px solid var(--line);padding:20px 0}.profile-section>header{align-items:center;gap:10px;margin-bottom:6px;display:flex}.profile-section>header h3{font-size:15px}.profile-section>header p{color:var(--muted);margin-top:2px;font-size:12.5px}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;display:grid}.field-grid label{margin:12px 0 0}.field-grid .wide{grid-column:1/-1}.field-grid select{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;height:42px;color:var(--ink);margin-top:6px;padding:0 12px;font-size:14px;font-weight:400;display:block}.readonly{border-radius:var(--radius-sm);background:var(--surface-2);min-height:42px;color:var(--ink);align-items:center;margin-top:6px;padding:0 12px;font-size:14px;font-weight:400;display:flex}.duty-list{border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink);gap:6px;margin:8px 0 0;padding:12px 14px 12px 32px;font-size:14px;font-weight:400;display:grid}.lock-note{align-items:center;gap:4px;display:inline-flex}.profile-savebar{background:var(--surface);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 0 18px;font-size:13.5px;display:flex;position:sticky;bottom:0}.profile-savebar.visible{color:var(--ink)}.profile-savebar .saved{color:var(--green-ink);align-items:center;gap:6px;font-weight:500;display:inline-flex}dialog.drawer.wide{width:min(720px,100%)}.employee-head{border-bottom:1px solid var(--line);align-items:center;gap:18px;padding:20px 22px;display:flex}.employee-head .photo-editor{justify-items:start}.employee-head .photo-frame{width:84px;height:84px;font-size:26px}.employee-head h2{font-size:20px}.employee-head p{color:var(--muted);margin-top:2px}.employee-head .profile-tags,.employee-head .row.center{justify-content:flex-start}.drawer-scroll{flex:1;padding:0 22px;overflow-y:auto}.change-list{gap:2px;margin:8px 0 0;padding:0;list-style:none;display:grid}.change-list li{border-bottom:1px solid var(--line);grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 0;font-size:13px;display:grid}.change-list li:last-child{border-bottom:0}.change-list span{color:var(--ink-2);text-overflow:ellipsis;overflow:hidden}.change-list time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.self-tag{background:var(--accent-soft);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:600;color:var(--accent-ink)!important}@media (max-width:1000px){.profile-page{grid-template-columns:1fr}.profile-card{position:static}}@media (max-width:700px){.field-grid{grid-template-columns:1fr}.profile-main{padding:0 16px}.employee-head{flex-wrap:wrap;padding:16px}.drawer-scroll{padding:0 16px}.change-list li{grid-template-columns:auto minmax(0,1fr)}}.password-field{align-items:center;gap:6px;margin-top:6px;display:flex}.password-field input{letter-spacing:.02em;flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;margin-top:0!important}.password-field .icon-button{flex-shrink:0;width:38px;height:42px}.profile-section form .row{margin-top:14px}.profile-section .saved{color:var(--green-ink);align-items:center;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.profile-section .note b,.profile-section>header p b{color:var(--ink);font-weight:600}.wordmark{font-family:var(--font-brand), Georgia, "Times New Roman", serif;letter-spacing:.045em;color:var(--ink);white-space:nowrap;align-items:center;gap:.14em;font-weight:600;line-height:1;display:inline-flex}.wordmark-cap{font-size:1.3em;line-height:.75}.wordmark-plus{width:.92em;height:.92em;fill:var(--brand-red);flex-shrink:0;margin-left:.08em}.company-mark{object-fit:contain;flex-shrink:0;display:block}.footer-brand{align-items:center;gap:8px;display:inline-flex}.login-brand{text-align:center;background:radial-gradient(120% 120% at 50% 20%,#22344a 0%,#14202e 55%,#0d1620 100%);border-radius:20px 20px 0 0;margin:-36px -36px 28px;padding:38px 28px 28px}.login-brand .wordmark{color:#fff}.login-brand p{color:#ffffffb3;margin-top:14px;font-size:13.5px}.login-foot{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;display:flex}.login-company{width:auto;height:30px}:root[data-theme=dark] .login-brand{box-shadow:inset 0 -1px 0 var(--line)}dialog.modal-backdrop{background:0 0;border:0;place-items:start center;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:min(10vh,80px) 20px 20px;display:grid}dialog.modal-backdrop::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1c1a2766}.modal{background:var(--surface);border-radius:18px;width:min(500px,100%);max-height:90vh;overflow:auto;box-shadow:0 24px 80px #1c1a2738}.modal .panel-heading{border-bottom:1px solid var(--line)}.modal form{padding:4px 24px 24px}.modal-actions{justify-content:end;gap:10px;margin-top:24px;display:flex}.payment-info{color:var(--ink-2);padding:16px 0 4px;line-height:1.8}label textarea{resize:vertical;height:auto;min-height:84px;padding:10px 12px;line-height:1.5}.optional{color:var(--faint);margin-left:4px;font-weight:400}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row.end{justify-content:flex-end;margin-top:10px}.grow{flex:1;min-width:0}.icon-button.sm{width:30px;height:30px;box-shadow:none}.text-link.inline{justify-content:flex-start;margin-top:6px;display:inline-flex}.projects-page{gap:20px;display:grid}.empty-state{text-align:center;justify-items:center;gap:10px;padding:48px 24px;display:grid}.empty-state .soft-icon{background:var(--accent-soft);width:52px;height:52px;color:var(--accent);border-color:var(--accent-line);border-radius:14px}.empty-state h2{margin-top:6px;font-size:20px}.empty-state p{color:var(--muted);max-width:420px}.empty-state .primary{margin-top:8px}.progress{background:var(--accent-bar-soft);border-radius:99px;height:6px;margin-top:8px;display:block;overflow:hidden}.progress i{background:var(--accent);border-radius:99px;height:100%;transition:width .3s;display:block}.stage-dot{background:var(--faint);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.stage-dot.doing{background:var(--accent)}.stage-dot.done{background:var(--green)}.task-meta,.due{align-items:center;gap:4px;display:inline-flex}.priority-tag{background:var(--surface-2);color:var(--ink-2);border-radius:6px;align-items:center;gap:4px;padding:2px 7px;font-weight:500;display:inline-flex}.priority-tag.low{color:var(--slate);background:var(--surface-2)}.priority-tag.medium{color:var(--ink-2)}.priority-tag.high{color:var(--amber-ink);background:var(--amber-soft)}.priority-tag.urgent{color:var(--red-ink);background:var(--red-soft)}.flag.low{color:var(--slate)}.flag.medium{color:var(--muted)}.flag.high{color:var(--amber)}.flag.urgent{color:var(--red)}.modal.wide{width:min(600px,100%)}.modal-actions.between{justify-content:space-between;align-items:center}.stepper{gap:8px;margin:0;padding:16px 24px 4px;list-style:none;display:flex}.stepper li{color:var(--faint);border-bottom:2px solid var(--line);flex:1;align-items:center;gap:8px;padding-bottom:10px;font-size:13px;font-weight:500;display:flex}.stepper li span{background:var(--surface-2);border:1px solid var(--line-strong);border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;display:grid}.stepper li.current{color:var(--ink);border-bottom-color:var(--accent)}.stepper li.current span{background:var(--accent);border-color:var(--accent);color:#fff}.stepper li.done{color:var(--ink-2);border-bottom-color:var(--accent-bar)}.stepper li.done span{background:var(--accent-soft);border-color:var(--accent-bar);color:var(--accent-ink)}.quick-add{gap:8px;margin:14px 0;display:flex}.quick-add input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);flex:1;min-width:0;height:42px;padding:0 12px;font-size:14px}.quick-add input:focus{border-color:var(--accent);box-shadow:var(--focus);outline:none}.quick-add .button{height:42px}.starter-list{gap:6px;max-height:260px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.starter-list li{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);align-items:center;gap:10px;padding:8px 8px 8px 10px;display:flex}.starter-list .num{background:var(--surface);width:22px;height:22px;color:var(--muted);border:1px solid var(--line);border-radius:6px;place-items:center;font-size:12px;font-weight:600;display:grid}.starter-list .icon-button{background:0 0;border-color:#0000}.review{border:1px solid var(--line);border-radius:var(--radius-sm);margin:12px 0 0}.review div{grid-template-columns:140px 1fr;gap:12px;padding:12px 14px;display:grid}.review div+div{border-top:1px solid var(--line)}.review dt{color:var(--muted);font-size:13px}.review dd{overflow-wrap:anywhere;margin:0;font-weight:500}.review ul{gap:4px;margin:0;padding-left:18px;font-weight:400;display:grid}.segmented{border:0;min-width:0;margin:16px 0;padding:0}.segmented legend{color:var(--ink-2);margin-bottom:6px;padding:0;font-size:13px;font-weight:500}.segmented label{margin:0 6px 6px 0;display:inline-block}.segmented input{opacity:0;width:1px;height:1px;margin:0;position:absolute}.segmented span{border:1px solid var(--line-strong);border-radius:var(--radius-sm);height:36px;color:var(--ink-2);cursor:pointer;background:var(--surface);align-items:center;gap:7px;padding:0 12px;font-weight:500;transition:background-color .15s,border-color .15s;display:inline-flex}.segmented span:hover{background:var(--surface-2)}.segmented input:checked+span{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.segmented input:focus-visible+span{box-shadow:var(--focus)}label.check{cursor:pointer;align-items:center;gap:8px;margin:0;font-weight:500;display:inline-flex}label.check input{width:16px;height:16px;accent-color:var(--accent);margin:0}.modal .notice{margin:12px 0 0}.project-key{background:var(--accent);color:#fff;letter-spacing:.02em;border-radius:12px;flex-shrink:0;place-items:center;min-width:46px;height:46px;padding:0 8px;font-size:14px;font-weight:700;display:inline-grid}.project-key.sm{vertical-align:1px;border-radius:6px;min-width:0;height:22px;margin-left:6px;padding:0 7px;font-size:11.5px}.project-header{overflow:visible}.ph-top{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:24px;padding:18px 20px;display:flex}.ph-title{flex:320px;align-items:center;gap:14px;min-width:0;display:flex}.ph-name{min-width:0}.ph-name p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:520px;margin-top:2px;font-size:13px;overflow:hidden}.project-switch{align-items:center;gap:6px;min-width:0;display:flex}.project-switch select{letter-spacing:-.01em;text-overflow:ellipsis;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;max-width:100%;margin-left:-6px;padding:2px 26px 2px 6px;font-size:20px;font-weight:600}.project-switch select:hover{border-color:var(--line)}.ph-stats{flex-wrap:wrap;gap:28px;margin:0;display:flex}.ph-stats dt{color:var(--muted);font-size:12px}.ph-stats dd{font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:15px;font-weight:600}.progress-stat{min-width:140px}.progress-stat .progress{margin-top:6px}.ph-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.view-tabs{gap:4px;display:flex}.view-tabs button{border-radius:var(--radius-sm);height:36px;color:var(--ink-2);align-items:center;gap:7px;padding:0 14px;font-weight:500;display:inline-flex}.view-tabs button:hover{background:var(--surface-2)}.view-tabs button.selected{background:var(--accent);color:#fff}.button.toggle.on{background:var(--accent-soft);border-color:var(--accent-bar);color:var(--accent-ink)}.avatar-stack{align-items:center;display:inline-flex}.avatar-stack .avatar{border:2px solid var(--surface);margin-left:-6px}.avatar-stack .avatar:first-child{margin-left:0}.avatar-stack .more{background:var(--surface-2);color:var(--muted);font-size:10px}.avatar.unassigned{background:var(--surface-2);color:var(--faint);border:1px dashed var(--line-strong)}.type-icon.task{color:#3b82f6}.type-icon.bug{color:var(--red)}.type-icon.story{color:var(--green)}.mono{font-variant-numeric:tabular-nums;color:var(--muted);letter-spacing:.01em;font-size:12.5px;font-weight:500}.priority-text{align-items:center;gap:4px;font-size:12.5px;font-weight:500;display:inline-flex}.priority-text.low{color:var(--slate)}.priority-text.medium{color:var(--ink-2)}.priority-text.high{color:var(--amber)}.priority-text.urgent{color:var(--red)}.stage-tag{text-transform:uppercase;letter-spacing:.02em;background:var(--surface-2);color:var(--muted);border-radius:6px;align-items:center;gap:5px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.stage-tag.doing{background:var(--accent-soft);color:var(--accent-ink)}.stage-tag.done{background:var(--green-soft);color:var(--green-ink)}.with-avatar{align-items:center;gap:8px;min-width:0;display:flex}.cell-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overdue-text{color:var(--red);font-weight:500}.backlog-layout{align-items:start;gap:16px;display:grid}.backlog-layout.with-panel{grid-template-columns:minmax(0,1fr) 400px}.backlog-list{gap:14px;min-width:0;display:grid}.backlog-group{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:border-color .15s,background-color .15s;overflow:hidden}.backlog-group.drop{border-color:var(--accent);background:var(--accent-soft);border-style:dashed}.group-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;display:flex}.group-toggle{border-radius:6px;align-items:center;gap:8px;margin-left:-4px;padding:2px 4px;font-size:14.5px;display:inline-flex}.group-toggle svg.rotated{transform:rotate(-90deg)}.group-toggle svg{color:var(--muted);transition:transform .15s}.group-toggle .sprint-icon{color:var(--accent)}.muted-count{color:var(--muted);font-size:13px;font-weight:400}.sprint-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:700}.sprint-badge.active{background:var(--accent-soft);color:var(--accent-ink)}.sprint-badge.planned{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}.sprint-dates{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12.5px}.sprint-progress{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:12px;display:inline-flex}.sprint-progress .progress{width:70px;margin:0}.backlog-rows{display:grid}.backlog-row{border-bottom:1px solid var(--line);grid-template-columns:28px minmax(180px,1fr) 160px 84px 70px 100px 112px;align-items:center;gap:10px;min-height:44px;padding:0 16px;font-size:13.5px;display:grid;position:relative}.backlog-row.head{min-height:34px;color:var(--faint);text-transform:uppercase;letter-spacing:.04em;background:var(--surface-2);font-size:11.5px;font-weight:600}.backlog-row[draggable=true]{cursor:grab}.backlog-row:not(.head):hover{background:var(--surface-2)}.backlog-row.selected{background:var(--accent);color:#fff;border-bottom-color:#0000}.backlog-row.selected .mono,.backlog-row.selected .priority-text,.backlog-row.selected .task-meta,.backlog-row.selected .type-icon{color:#fff}.backlog-row.selected .stage-tag{color:#fff;background:#fff3}.backlog-row.selected .avatar{border-color:#0000}.backlog-row.done .row-title button{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.backlog-row.selected.done .row-title button{color:#fff}.row-title{align-items:center;gap:8px;min-width:0;display:flex}.row-title button{text-align:left;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.row-title button:after{content:"";position:absolute;inset:0}.row-title button:focus-visible{box-shadow:none}.row-title button:focus-visible:after{box-shadow:inset 0 0 0 2px var(--accent)}.task-meta{color:var(--muted);flex-shrink:0;align-items:center;gap:4px;font-size:12px;display:inline-flex}.quick-row{width:100%;min-height:42px;color:var(--muted);text-align:left;align-items:center;gap:8px;padding:0 16px;font-size:13.5px;font-weight:500;display:flex}.quick-row:hover{background:var(--surface-2);color:var(--accent-ink)}.quick-row.editing{background:var(--surface-2)}.quick-row input{background:0 0;border:0;outline:none;flex:1;height:40px;font-size:13.5px}.board-empty{color:var(--muted);text-align:center;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);padding:22px 12px;font-size:13px}.board-empty.slim{border:0;padding:16px}.detail-panel{max-height:calc(100vh - 168px);display:flex;position:sticky;top:148px}.detail-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;width:100%;min-height:0;display:flex;overflow:hidden}.drawer-panel .detail-card{border:0;border-radius:0;height:100%}.detail-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:12px 14px 12px 18px;display:flex}.detail-key{align-items:center;gap:7px;min-width:0;font-size:13.5px;font-weight:600;display:flex}.detail-key small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.detail-key small:before{content:"·";margin-right:7px}.detail-scroll{flex:1;min-height:0;padding:14px 18px 18px;overflow-y:auto}.detail-title{font-size:18px}.title-input{letter-spacing:-.01em;background:0 0;border:1px solid #0000;border-radius:8px;width:calc(100% + 16px);margin:0 -8px;padding:4px 8px;font-size:18px;font-weight:600;display:block}.title-input:hover{border-color:var(--line)}.title-input:focus{border-color:var(--accent);box-shadow:var(--focus);background:var(--surface);outline:none}.detail-scroll>.due{margin-top:6px;font-size:12.5px;display:inline-flex}.due{align-items:center;gap:4px;display:inline-flex}.due.overdue{color:var(--red);font-weight:500}.detail-section{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);align-items:center;gap:8px;margin:20px 0 8px;font-size:11.5px;font-weight:700;display:flex}.detail-section .count{color:var(--accent-ink);background:var(--accent-soft);border-radius:999px;padding:0 7px;font-size:11px}.detail-grid{grid-template-columns:110px minmax(0,1fr);align-items:center;gap:4px 12px;margin:0;display:grid}.detail-grid dt{color:var(--muted);font-size:13px}.detail-grid dd{font-variant-numeric:tabular-nums;align-items:center;min-height:34px;margin:0;font-size:13.5px;display:flex}.inline-select{width:100%;min-width:0;height:32px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:0 8px;font-size:13.5px;font-weight:500}.inline-select:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface)}.inline-select:focus{border-color:var(--accent);box-shadow:var(--focus);outline:none}.inline-select:disabled{cursor:default;opacity:1}.inline-select.stage.doing{color:var(--accent-ink)}.inline-select.stage.done{color:var(--green)}.inline-select.priority.high{color:var(--amber)}.inline-select.priority.urgent{color:var(--red)}.detail-textarea{border:1px solid var(--line-strong);border-radius:var(--radius-sm);resize:vertical;background:var(--surface);width:100%;min-height:72px;padding:9px 11px;font-size:13.5px;line-height:1.5;display:block}.detail-textarea:focus{border-color:var(--accent);box-shadow:var(--focus);outline:none}.detail-foot{border-top:1px solid var(--line);padding:12px 14px 14px}.detail-foot .composer textarea{min-height:60px}dialog.drawer{background:0 0;border:0;width:min(480px,100%);height:100%;max-height:none;margin:0 0 0 auto;padding:0}dialog.drawer::backdrop{background:#1c1a2752}.drawer-panel{background:var(--surface);flex-direction:column;height:100%;display:flex;box-shadow:-18px 0 60px #1c1a2724}.task-board{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;display:grid}.board-column{border-radius:var(--radius);border:1px solid #0000;padding-bottom:4px;transition:background-color .15s,border-color .15s}.board-column.drop{background:var(--accent-soft);border-color:var(--accent-bar);border-style:dashed}.column-head{background:var(--surface);border-left:3px solid;border-radius:10px;align-items:center;gap:8px;margin-bottom:10px;padding:9px 10px 9px 12px;display:flex}.column-head h3{font-size:13.5px}.column-head .count{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:6px;min-width:24px;margin-left:auto;padding:1px 7px;font-size:12px;font-weight:600}.column-head .icon-button{background:0 0;border-color:#0000;width:28px;height:28px}.column-head.todo{border-left-color:var(--faint);background:var(--surface-3);color:var(--ink-2)}.column-head.doing{border-left-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.column-head.done{border-left-color:var(--green);background:var(--green-soft);color:var(--green-ink)}.board-list{gap:10px;display:grid}.task-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:12px;gap:8px;padding:12px 14px;transition:border-color .15s,box-shadow .15s,opacity .15s;display:grid;position:relative}.task-card[draggable=true]{cursor:grab}.task-card:hover{border-color:var(--accent-bar);box-shadow:0 4px 14px #1872bd1a}.task-card.dragging{opacity:.5}.card-head{align-items:center;gap:6px;display:flex}.card-head .task-meta{margin-left:auto}.task-open{text-align:left;overflow-wrap:anywhere;font-weight:600;line-height:1.4}.task-open:after{content:"";border-radius:12px;position:absolute;inset:0}.task-open:focus-visible{box-shadow:none}.task-open:focus-visible:after{box-shadow:var(--focus)}.card-fields{grid-template-columns:92px minmax(0,1fr);gap:6px 10px;margin:2px 0 0;font-size:12.5px;display:grid}.card-fields dt{color:var(--muted)}.card-fields dd{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-weight:500;overflow:hidden}.card-advance{z-index:1;width:100%;margin-top:4px;position:relative}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.key-grid{grid-template-columns:minmax(0,1fr) 120px}.key-grid input:last-child{text-transform:uppercase}@media (max-width:1400px){.backlog-layout.with-panel .backlog-row{grid-template-columns:28px minmax(160px,1fr) 36px 78px 100px 104px}.backlog-layout.with-panel .backlog-row>:nth-child(5),.backlog-layout.with-panel .backlog-row .cell-text{display:none}}@media (max-width:1000px){.backlog-row{grid-template-columns:26px minmax(0,1fr) 30px 76px 96px}.backlog-row>:nth-child(5),.backlog-row>:nth-child(6),.backlog-row .cell-text{display:none}.form-grid.three{grid-template-columns:1fr;gap:0}}@media (max-width:700px){.ph-top{gap:14px;padding:14px 16px}.ph-stats{gap:16px}.ph-bar{padding:10px 16px}.ph-bar>.row{width:100%}.project-switch select{font-size:17px}.backlog-row{grid-template-columns:24px minmax(0,1fr) 70px;gap:8px;padding:0 12px}.backlog-row>:nth-child(3),.backlog-row>:nth-child(4){display:none}.group-head{padding:10px 12px}.key-grid{grid-template-columns:1fr;gap:0}}.avatar.sm{width:32px;height:32px;font-size:12px}.avatar.xs{width:24px;height:24px;font-size:10.5px}.comment-list{gap:18px;margin:0;padding:0;list-style:none;display:grid}.comment-list li{gap:12px;display:flex}.comment-list li>div{min-width:0}.comment-meta{align-items:baseline;gap:8px;display:flex}.comment-meta b{font-size:13.5px;font-weight:600}.comment-meta time{color:var(--muted);font-size:12px}.comment-list p{color:var(--ink-2);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:4px;line-height:1.6}.mention-chip{color:var(--accent-ink);background:var(--accent-soft);white-space:nowrap;border-radius:6px;padding:1px 5px;font-weight:500;display:inline}.mention-chip.self{color:#fff;background:var(--accent)}.composer{gap:10px;display:grid}.composer-field{position:relative}.composer textarea{resize:vertical;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:84px;max-height:260px;padding:11px 12px;font-size:14px;line-height:1.5;display:block}.composer textarea:focus{border-color:var(--accent);box-shadow:var(--focus);outline:none}.composer-actions{align-items:center;gap:10px;display:flex}.composer-actions .icon-button{width:34px;height:34px}.composer-actions small{color:var(--faint);margin-right:auto}.mention-menu{z-index:5;background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;width:min(280px,100%);margin:0;padding:6px;list-style:none;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 12px 32px #1c1a2724}.mention-menu li{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:7px 8px;font-size:13.5px;display:flex}.mention-menu li[aria-selected=true]{background:var(--accent-soft);color:var(--accent-ink)}.bell-wrap,.bell{position:relative}.badge{background:var(--brand-red);color:#fff;border:2px solid var(--surface);border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:600;display:grid;position:absolute;top:-5px;right:-5px}.bell-panel{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);z-index:40;width:min(380px,100vw - 32px);position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 18px 48px #1c1a2729}.bell-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 12px 12px 16px;display:flex}.bell-head .icon-button{width:30px;height:30px;box-shadow:none;border-color:#0000}.bell-panel ul{max-height:420px;margin:0;padding:6px;list-style:none;overflow-y:auto}.bell-panel li button{text-align:left;border-radius:10px;gap:12px;width:100%;padding:10px;font-size:13.5px;display:flex}.bell-panel li button:hover{background:var(--surface-2)}.bell-panel li button.unread{background:var(--accent-soft)}.bell-text{gap:4px;min-width:0;display:grid}.bell-text b{font-weight:600}.bell-quote{color:var(--ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.bell-text small{color:var(--muted);align-items:center;gap:5px;display:flex}.empty.small{padding:28px 16px;font-size:13.5px}.hr-page{gap:16px;display:grid}.hr-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.hr-tabs{background:var(--surface-3)}.hr-tabs button{align-items:center;gap:7px;padding:8px 14px;font-size:13.5px;display:inline-flex}.hr-tabs button svg{color:var(--faint)}.hr-tabs .selected svg{color:var(--accent)}.tab-badge{background:var(--accent);color:#fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:600;display:grid}.filter-select{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);height:38px;padding:0 30px 0 12px;font-size:13.5px}.button.sm,.primary.sm{gap:5px;min-height:32px;padding:0 10px;font-size:13px}.end-row{flex-wrap:nowrap;justify-content:flex-end}.year-switch b{text-align:center;font-variant-numeric:tabular-nums;min-width:64px;font-size:14px}.presence{color:var(--green);font-size:13px}.decided{color:var(--muted);margin-top:3px;font-size:12px;display:block}.amount.negative{color:var(--red)}.leave-icon.annual{color:var(--green)}.leave-icon.sick{color:#c4553c}.leave-icon.personal{color:var(--accent)}.leave-icon.unpaid{color:#8a6a1f}.leave-chip{white-space:nowrap;border:1px solid #0000;border-radius:7px;align-items:center;gap:5px;max-width:100%;padding:3px 8px;font-size:12.5px;font-weight:500;display:inline-flex}.leave-chip.annual{background:var(--green-soft);color:var(--green-ink)}.leave-chip.sick{background:var(--red-soft);color:var(--red-ink)}.leave-chip.personal{background:var(--accent-soft);color:var(--accent-ink)}.leave-chip.unpaid{background:var(--amber-soft);color:var(--amber-ink)}.leave-chip.pending{background:var(--surface);border:1px dashed}.leave-status{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:500;display:inline-flex}.leave-status.pending{background:var(--amber-soft);color:var(--amber-ink)}.leave-status.approved{background:var(--green-soft);color:var(--green-ink)}.leave-status.rejected{background:var(--red-soft);color:var(--red-ink)}.leave-status.cancelled{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}.balance-cell{gap:6px;min-width:180px;display:grid}.balance-cell .progress{margin:0}.balance-cell small{color:var(--muted);font-size:12px}.progress i.over{background:var(--red)}.leave-calendar{padding-bottom:14px}.calendar-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px 12px;display:flex}.calendar-head h2{text-align:center;min-width:150px;font-size:16px}.calendar-head .icon-button{width:34px;height:34px}.calendar-legend{color:var(--ink-2);flex-wrap:wrap;gap:14px;font-size:12.5px;display:flex}.calendar-legend span{align-items:center;gap:5px;display:inline-flex}.pending-swatch{border:1px dashed var(--muted);border-radius:3px;width:14px;height:10px;display:inline-block}.calendar-scroll{padding:0 14px;overflow-x:auto}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;min-width:720px;display:grid}.calendar-weekday{color:var(--muted);text-align:center;background:var(--surface-2);border-radius:8px;padding:8px 0;font-size:12.5px;font-weight:500}.calendar-weekday.weekend{color:var(--faint)}.calendar-cell{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;align-items:stretch;gap:6px;min-height:112px;padding:8px;transition:border-color .15s,box-shadow .15s;display:flex}.calendar-cell:hover{border-color:var(--accent-line);box-shadow:0 3px 10px #1872bd17}.calendar-cell.off{background:repeating-linear-gradient(135deg, var(--hatch-a) 0 1.5px, var(--hatch-b) 1.5px 7px)}.calendar-cell.outside .calendar-date{color:var(--faint)}.calendar-cell.outside{opacity:.7}.calendar-cell.today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.calendar-cell.today .calendar-date{background:var(--accent);color:#fff}.calendar-date{font-variant-numeric:tabular-nums;border-radius:999px;align-self:flex-start;place-items:center;min-width:26px;height:26px;padding:0 6px;font-size:13.5px;font-weight:600;display:grid}.calendar-entries{justify-items:start;gap:4px;min-width:0;margin-top:auto;display:grid}.calendar-entries .leave-chip{padding:2px 6px;font-size:12px}.chip-label{text-overflow:ellipsis;overflow:hidden}.chip-count{background:var(--chip-count);border-radius:999px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:11px;font-weight:600;display:grid}.holiday-chip{color:var(--ink-2);background:var(--surface);border:1px solid var(--line-strong);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;align-items:center;gap:4px;max-width:100%;padding:2px 6px;font-size:11.5px;font-weight:500;display:inline-flex;overflow:hidden}.leave-summary{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;font-size:13.5px;display:flex}.leave-summary b{color:var(--ink);font-size:15px}.leave-summary small{color:var(--muted)}.balance-hint{color:var(--green);margin-left:auto;font-weight:500}.balance-hint.over{color:var(--red)}.day-body{padding:8px 24px 24px}.day-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.day-list li{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 0;display:flex}.day-list li:last-child{border-bottom:0}.day-list b{font-weight:600;display:block}.day-list small{color:var(--muted);font-size:12.5px;display:block}.day-meta{justify-items:end;gap:3px;display:grid}@media (max-width:1000px){.hr-toolbar>.row{width:100%}.hr-toolbar .search{flex:1;width:auto}}@media (max-width:700px){.hr-tabs{width:100%;overflow-x:auto}.hr-tabs button{padding:7px 10px}.calendar-cell{min-height:92px;padding:6px}.chip-label{display:none}.day-list li{flex-wrap:wrap}.balance-hint{margin-left:0}}.sr-only{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1200px){.date{display:none}.header-nav nav{gap:2px}.header-nav nav button{gap:7px;padding:0 9px;font-size:13.5px}.metric strong{font-size:22px}.table-toolbar{flex-wrap:wrap}}@media (max-width:1000px){.header-top,.header-nav,.content{padding-inline:20px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric:nth-child(3){border-left:0}.metric:nth-child(n+3){border-top:1px solid var(--line)}.analytics-grid,.quick-grid,.customer-grid,.finance-breakdown{grid-template-columns:1fr}.user-meta{display:none}}@media (max-width:700px){.header-top,.header-nav,.content{padding-inline:16px}.header-top{gap:10px;height:60px}.org-switch,.header-divider{display:none}.user-chip{margin-left:0;padding-left:10px}.header-nav{gap:8px;height:auto;padding-block:8px}.header-nav nav{flex:1;margin-inline:-4px}.header-nav>.primary{gap:0;width:38px;padding:0;font-size:0}.content{padding-top:22px}h1{font-size:24px}.page-heading{align-items:flex-start}.page-heading p{font-size:13.5px}.demo-banner{align-items:flex-start}.metric{padding:16px}.metric strong{font-size:20px}.metric-note{font-size:12px}.panel-heading{padding:18px 16px 14px}.invoice-bars{padding-inline:16px}.invoice-bar-track{height:140px}.table-toolbar{padding:0 16px 14px}.tabs{width:100%;overflow-x:auto}.search{width:100%}.table-footer{flex-wrap:wrap;padding-inline:16px}th:first-child,td:first-child{padding-left:16px}.task-board{grid-template-columns:1fr}.review div{grid-template-columns:1fr;gap:4px}.stepper li{justify-content:center;gap:0;font-size:0}.form-grid{grid-template-columns:1fr;gap:0}.customer-grid{padding-inline:16px}footer{flex-direction:column;gap:6px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a1119;--surface:#101a25;--surface-2:#15212e;--surface-3:#1a2837;--ink:#e8eef5;--ink-2:#bccad8;--muted:#8797a9;--faint:#5f6f80;--line:#1f2d3c;--line-strong:#2b3b4d;--accent:#3fa9f0;--accent-ink:#8fd0ff;--accent-soft:#3fa9f026;--accent-line:#3fa9f059;--accent-bar:#2a8bd3;--accent-bar-soft:#3fa9f038;--navy:#1a78c2;--navy-hover:#2389d6;--green:#3ecf8e;--green-soft:#3ecf8e24;--green-ink:#6ee0ac;--amber:#f0b44c;--amber-soft:#f0b44c24;--amber-ink:#f3c574;--red:#f07a5f;--red-soft:#f07a5f26;--red-ink:#f69b85;--slate:#9db4d0;--hatch-a:#18242f;--hatch-b:#111b26;--chip-count:#ffffff1f;--shadow-sm:0 1px 2px #0000004d;--focus:0 0 0 3px #3fa9f066;--brand-red:#ff3b46}:root[data-theme=dark] body{background:radial-gradient(1200px 600px at 20% -10%, #3fa9f01a, transparent 60%), var(--bg);background-attachment:fixed}:root[data-theme=dark] .app-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#101a25d9}:root[data-theme=dark] .primary{box-shadow:0 4px 14px #1f86d659}:root[data-theme=dark] .backlog-row.selected{background:linear-gradient(90deg,#1f86d6,#176fb5)}:root[data-theme=dark] dialog.modal-backdrop::backdrop,:root[data-theme=dark] dialog.drawer::backdrop{background:#0000008c}:root[data-theme=dark] .modal,:root[data-theme=dark] .bell-panel,:root[data-theme=dark] .mention-menu{box-shadow:0 24px 80px #0000008c}:root[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.8)}:root[data-theme=dark] :is(.project-key,.view-tabs button.selected,.calendar-cell.today .calendar-date,.tab-badge,.mention-chip.self,.stepper li.current span){background:var(--navy);border-color:var(--navy)}.password-rules{color:var(--muted);flex-wrap:wrap;gap:4px 14px;margin:8px 0 0;padding:0;font-size:12.5px;font-weight:400;list-style:none;display:flex}.password-rules li{align-items:center;gap:5px;display:inline-flex}.password-rules .dot{background:var(--line-strong);border-radius:50%;width:6px;height:6px;margin:0 3px}.password-rules li.ok{color:var(--green-ink)}.password-rules li.bad{color:var(--red-ink)}.password-rules li.bad .dot{background:var(--red)}.att-button{color:#fff;background:var(--green);border-radius:999px;align-items:center;gap:7px;height:38px;padding:0 14px;font-size:13.5px;font-weight:600;transition:filter .15s;display:inline-flex;box-shadow:0 2px 8px #1d9a6140}.att-button:hover:not(:disabled){filter:brightness(1.06)}.att-button.out{background:var(--navy);box-shadow:0 2px 8px #14202e33}.att-button small{opacity:.75;font-size:12px;font-weight:500}.att-button .att-error{color:#ffd2c8}.att-chip{height:34px;color:var(--green-ink);background:var(--green-soft);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.att-status{white-space:nowrap;background:var(--surface-2);color:var(--muted);border:1px solid var(--line);border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:12.5px;font-weight:500;display:inline-flex}.att-status.present{background:var(--green-soft);color:var(--green-ink);border-color:#0000}.att-status.late{background:var(--amber-soft);color:var(--amber-ink);border-color:#0000}.att-status.absent{background:var(--red-soft);color:var(--red-ink);border-color:#0000}.att-status.leave{background:var(--accent-soft);color:var(--accent-ink);border-color:#0000}.att-status svg{color:var(--amber)}.att-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 14px;display:grid}.att-summary.wide{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:0;padding:0 22px}.att-summary>div{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);gap:2px;padding:12px 14px;display:grid}.att-summary b{font-variant-numeric:tabular-nums;font-size:20px;font-weight:600}.att-summary span{color:var(--muted);font-size:12.5px}.att-summary .present b{color:var(--green-ink)}.att-summary .late b{color:var(--amber-ink)}.att-summary .absent b{color:var(--red-ink)}.att-summary .leave b{color:var(--accent-ink)}.att-table td,.att-table th{padding-top:10px;padding-bottom:10px}.att-table .person-link b{font-size:13.5px}.mono-time{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:500}.hr-mark{color:var(--accent-ink);background:var(--accent-soft);vertical-align:1px;border-radius:4px;margin-left:6px;padding:1px 5px;font-size:10.5px;font-weight:700}.note-cell{text-overflow:ellipsis;max-width:220px;color:var(--muted);overflow:hidden}td.bad{color:var(--red-ink);font-weight:600}.att-heading{flex-wrap:wrap}.date-switch input[type=date]{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;height:32px;padding:0 8px;font-size:13.5px}.date-switch b,.month-switch b{text-align:center;min-width:130px;font-size:13.5px}.month-switch{margin-left:auto}.att-note{border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-2);align-items:center;gap:8px;margin:0 22px 12px;padding:10px 12px;font-size:13px;display:flex}.profile-section>header .push{margin-left:auto}.eligibility{border-radius:var(--radius-sm);border:1px solid #0000;align-items:flex-start;gap:12px;margin:12px 0;padding:14px 16px;display:flex}.eligibility>svg{flex-shrink:0;margin-top:2px}.eligibility>div{flex:1;gap:4px;min-width:0;display:grid}.eligibility p{color:var(--ink-2);font-size:13px}.eligibility .progress{margin-top:6px}.eligibility.ok{background:var(--green-soft);color:var(--green-ink)}.eligibility.ok .progress i{background:var(--green)}.eligibility.wait{background:var(--accent-soft);color:var(--accent-ink)}.eligibility.warn{background:var(--amber-soft);color:var(--amber-ink)}.eligibility.slim{padding:10px 12px;font-size:13px;display:block}.segmented span.locked{opacity:.45;cursor:not-allowed}@media (max-width:1000px){.att-summary.wide{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:700px){.att-summary,.att-summary.wide{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 16px}.att-button span{display:none}.att-button{padding:0 11px}}.events-page{gap:16px;display:grid}.month-title{text-align:center;min-width:150px;font-size:17px}.events-stats{margin:0;padding:0}.stat-button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);text-align:left;gap:2px;padding:12px 14px;display:grid}.stat-button b{font-size:20px;font-weight:600}.stat-button span{color:var(--muted);font-size:12.5px}.stat-button.absent b{color:var(--red-ink)}.stat-button[aria-pressed=true]{border-color:var(--red);box-shadow:var(--focus)}.att-summary b.money{font-size:17px}.event-days{gap:18px;display:grid}.event-day h3{color:var(--ink-2);text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px;font-size:13px;font-weight:600}.event-day h3.today{color:var(--accent-ink)}.event-day h3.past{color:var(--faint)}.event-list{gap:8px;display:grid}.event-card{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--faint);border-radius:var(--radius-sm);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:12px 16px;transition:border-color .15s,box-shadow .15s;display:grid;position:relative}.event-card:hover{box-shadow:0 4px 14px #14202e0f}.event-card.confirmed{border-left-color:var(--accent)}.event-card.completed{border-left-color:var(--green);opacity:.8}.event-card.cancelled{border-left-color:var(--line-strong);opacity:.6}.event-card.cancelled .event-title{text-decoration:line-through}.event-card.live{border-left-color:var(--brand-red)}.event-date-badge{text-align:center;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;width:52px;padding:5px 0 4px;line-height:1.1;display:grid}.event-date-badge span{color:var(--accent-ink);font-size:11px;font-weight:600}.event-date-badge b{font-size:20px;font-weight:700}.event-date-badge.large{width:64px;padding:8px 0}.event-date-badge.large b{font-size:26px}.event-body{gap:4px;min-width:0;display:grid}.event-body .row{flex-wrap:nowrap}.event-title{text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.event-title:after{content:"";position:absolute;inset:0}.event-title:focus-visible{box-shadow:none}.event-title:focus-visible:after{box-shadow:var(--focus);border-radius:var(--radius-sm)}.event-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.event-meta svg{margin-left:6px}.event-meta svg:first-child{margin-left:0}.event-status{white-space:nowrap;background:var(--surface-2);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:11.5px;font-weight:600}.event-status.confirmed{background:var(--accent-soft);color:var(--accent-ink);border-color:#0000}.event-status.completed{background:var(--green-soft);color:var(--green-ink);border-color:#0000}.event-status.cancelled{color:var(--faint)}.event-status.live{background:var(--brand-red);color:#fff;border-color:#0000}.event-staff{align-items:center;gap:10px;display:flex}.staff-count{color:var(--green-ink);background:var(--green-soft);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12.5px;font-weight:600;display:inline-flex}.staff-count.short{color:var(--red-ink);background:var(--red-soft)}.event-amount{font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:600}.event-chip{background:var(--surface-2);border-left:3px solid var(--faint);text-align:left;border-radius:6px;align-items:center;gap:5px;width:100%;padding:3px 6px;font-size:12px;font-weight:500;display:flex;overflow:hidden}.event-chip.confirmed{background:var(--accent-soft);border-left-color:var(--accent);color:var(--accent-ink)}.event-chip.completed{background:var(--green-soft);border-left-color:var(--green);color:var(--green-ink)}.event-chip.cancelled{opacity:.55;text-decoration:line-through}.chip-time{font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:600}.event-chip .chip-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.events-page .calendar-entries{justify-items:stretch}.event-head{border-bottom:1px solid var(--line);align-items:flex-start;gap:16px;padding:20px 22px;display:flex}.event-head h2{margin:6px 0 4px;font-size:20px}.event-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin:18px 0;display:grid}.event-facts dt{color:var(--muted);font-size:12.5px}.event-facts dd{margin:3px 0 0;font-weight:500}.event-facts dd a{color:var(--accent-ink);align-items:center;gap:3px;display:inline-flex}.event-notes{background:var(--surface-2);border-radius:var(--radius-sm);white-space:pre-wrap;margin-bottom:8px;padding:12px 14px;line-height:1.6}.staffing{border-top:1px solid var(--line);margin-top:12px;padding:16px 0 20px}.staffing>header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.staffing h3{align-items:center;gap:8px;display:flex}.staffing .progress{margin:0 0 12px}.staffing .progress i.short{background:var(--red)}.wide-search{width:100%;margin-bottom:8px!important}.staff-picker,.staff-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.staff-picker li,.staff-list li{border-radius:var(--radius-sm);border:1px solid #0000;align-items:center;gap:10px;padding:6px 8px;display:flex}.staff-picker li.on{background:var(--accent-soft);border-color:var(--accent-line)}.staff-picker label.check{flex:1;gap:10px;min-width:0}.staff-picker label.check span{min-width:0;display:grid}.staff-picker b{font-weight:500}.staff-picker small{color:var(--muted);font-size:12px;font-weight:400}.staff-picker select{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;height:32px;padding:0 8px;font-size:13px}.staff-list li b{flex:1;font-weight:500}.conflict{color:var(--amber-ink);background:var(--amber-soft);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;max-width:220px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex;overflow:hidden}.drawer-savebar{border-top:1px solid var(--line);padding:12px 22px;position:static}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:1000px){.event-card{grid-template-columns:auto minmax(0,1fr)}.event-staff,.event-amount{grid-column:2}.form-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.event-facts{grid-template-columns:1fr}.event-head{flex-wrap:wrap;padding:16px}.staff-picker li{flex-wrap:wrap}}.reports-page{gap:16px;display:grid}.report-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.date-range input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);height:38px;padding:0 10px}.report-letterhead{border-bottom:2px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;padding:22px 0 18px;display:flex}.report-letterhead .row{flex-wrap:nowrap;align-items:center;gap:14px}.report-letterhead b{font-size:16px;display:block}.report-letterhead small{color:var(--muted);max-width:520px;margin-top:3px;font-size:12.5px;display:block}.report-title{text-align:right}.report-title h2{font-size:20px}.report-title p{color:var(--ink-2);margin-top:4px;font-size:13px}.report-title small{color:var(--muted);font-size:12px}.report-stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:20px;display:grid}.report-stat{border:1px solid var(--line);border-radius:var(--radius-sm);border-top:3px solid var(--line-strong);background:var(--surface);gap:4px;padding:14px 16px;display:grid}.report-stat span{color:var(--muted);font-size:12.5px;font-weight:500}.report-stat b{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.report-stat small{color:var(--muted);font-size:12px}.report-stat.good{border-top-color:var(--green)}.report-stat.warn{border-top-color:var(--amber)}.report-stat.bad{border-top-color:var(--red)}.report-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;display:grid}.report-h3{margin:22px 0 10px;font-size:15px}.report-chart{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);margin:0 0 16px;padding:14px 16px}.report-chart figcaption{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.report-chart figcaption>b{margin-right:auto;font-size:14px}.chart-legend{color:var(--ink-2);gap:14px;font-size:12.5px;display:inline-flex}.chart-legend span{align-items:center;gap:6px;display:inline-flex}.chart-legend i,.chart-tip i,.segment-legend i{border-radius:3px;width:10px;height:10px;display:inline-block}:root{--series-1:#1872bd;--series-2:#eb6834}:root[data-theme=dark]{--series-1:#2b8fd6;--series-2:#d95926}.s1{fill:var(--series-1);background:var(--series-1)}.s2{fill:var(--series-2);background:var(--series-2)}.chart-frame{position:relative}.chart-frame svg{width:100%;height:auto;display:block;overflow:visible}.chart-frame .grid{stroke:var(--line);stroke-width:1px}.chart-frame .baseline{stroke:var(--line-strong);stroke-width:1px}.chart-frame .axis{fill:var(--muted);font-family:inherit;font-size:11px}.chart-frame .hit{fill:#0000}.chart-frame .hit.on{fill:var(--surface-2)}.chart-frame path{stroke:var(--surface);stroke-width:1px}.chart-tip{background:var(--surface);border:1px solid var(--line-strong);pointer-events:none;white-space:nowrap;z-index:2;border-radius:8px;gap:3px;padding:8px 10px;font-size:12.5px;display:grid;position:absolute;top:0;transform:translate(-50%);box-shadow:0 8px 24px #14202e1f}.chart-tip span{color:var(--ink-2);align-items:center;gap:6px;display:flex}.bar-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.bar-list li{grid-template-columns:minmax(110px,160px) minmax(0,1fr) auto;align-items:center;gap:12px;font-size:13px;display:grid}.bar-label{color:var(--ink-2)}.bar-label small{color:var(--muted);font-size:11.5px;display:block}.bar-track{background:var(--surface-2);border-radius:4px;height:10px;overflow:hidden}.bar-track i{background:var(--series-1);border-radius:0 4px 4px 0;min-width:2px;height:100%;display:block}.bar-list b{font-variant-numeric:tabular-nums;text-align:right;min-width:80px;font-weight:600}.segments{border-radius:4px;gap:2px;height:28px;display:flex;overflow:hidden}.segments i{min-width:4px;display:block}.seg-todo{background:var(--faint)}.seg-done{background:var(--green)}.seg-empty{background:var(--surface-2)}.segment-legend{color:var(--ink-2);flex-wrap:wrap;gap:22px;margin:12px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.segment-legend li{align-items:center;gap:7px;display:inline-flex}.segment-legend b{color:var(--ink)}.segment-legend small{color:var(--muted)}.inline-progress{vertical-align:middle;width:90px;margin:0 6px 0 0;display:inline-block}.print-only{display:none}.report-sign{margin-top:36px}.report-sign>div{align-items:flex-end;gap:10px;width:48%;font-size:13px;display:inline-flex}.report-sign i{border-bottom:1px solid var(--ink);flex:1;height:18px}.report-sign p{color:var(--muted);align-items:center;gap:6px;margin-top:26px;font-size:11px;display:flex}@media print{@page{size:A4;margin:14mm}:root,:root[data-theme=dark]{--bg:#fff;--surface:#fff;--surface-2:#f6f7f9;--ink:#111;--ink-2:#333;--muted:#555;--line:#d8dce2;--line-strong:#b9c0c9;--series-1:#1872bd;--series-2:#eb6834;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:#fff!important}.app-header,.page-heading,.demo-banner,.no-print,footer:not(.report-sign),.notice,.att-button{display:none!important}.content{max-width:none;padding:0!important}.report-sheet{box-shadow:none;border:0;padding:0}.print-only{display:block}.report-chart,.report-stat,table{break-inside:avoid}.report-chart button{display:none}.report-grid{grid-template-columns:1fr 1fr}}.settings-page{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:20px;display:grid}.settings-nav{gap:2px;padding:8px;display:grid;position:sticky;top:148px}.settings-nav button{border-radius:var(--radius-sm);height:40px;color:var(--ink-2);text-align:left;align-items:center;gap:10px;padding:0 12px;font-weight:500;display:flex}.settings-nav button svg{color:var(--muted)}.settings-nav button:hover{background:var(--surface-2)}.settings-nav button.active{background:var(--accent-soft);color:var(--accent-ink)}.settings-nav button.active svg{color:var(--accent)}.settings-nav p{align-items:center;gap:6px;padding:10px 12px 4px;font-size:12px;display:flex}.settings-content{gap:16px;min-width:0;display:grid}.settings-panel{padding:0 24px 22px}.settings-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:6px;padding:20px 0 14px;display:flex}.settings-head h2{font-size:18px}.settings-head p{color:var(--muted);max-width:620px;margin-top:4px;font-size:13px}.settings-sub{align-items:center;gap:12px;margin:24px 0 10px;font-size:14px;display:flex}.settings-savebar{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:16px;display:flex}.settings-savebar .saved,.settings-panel .saved{color:var(--green-ink);align-items:center;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.field-grid.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.letterhead-preview{border:1px dashed var(--line-strong);border-radius:var(--radius-sm);border-bottom:3px solid var(--ink);background:var(--surface);align-items:center;gap:16px;padding:18px 20px;display:flex}.letterhead-preview b{font-size:16px;display:block}.letterhead-preview small{color:var(--muted);margin-top:2px;font-size:12.5px;display:block}.policy-list{border:1px solid var(--line);border-radius:var(--radius-sm);margin:18px 0 0}.policy-list div{grid-template-columns:210px minmax(0,1fr);gap:14px;padding:12px 14px;font-size:13.5px;display:grid}.policy-list div+div{border-top:1px solid var(--line)}.policy-list dt{color:var(--muted)}.policy-list dd{color:var(--ink);margin:0}.holiday-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.holiday-list li{background:var(--surface-2);border-radius:8px;align-items:center;gap:12px;padding:8px 12px;font-size:13px;display:flex}.holiday-list b{font-weight:500}.table-toolbar.flush{padding:10px 0 12px}.inline-select.bordered{border-color:var(--line-strong);background:var(--surface)}.inactive-row td{opacity:.6}.switch{cursor:pointer;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:500;display:inline-flex}.switch input{opacity:0;width:1px;height:1px;position:absolute}.switch-track{background:var(--line-strong);border-radius:999px;flex-shrink:0;width:34px;height:20px;transition:background-color .15s;position:relative}.switch-track:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.switch input:checked+.switch-track{background:var(--green)}.switch input:checked+.switch-track:after{transform:translate(14px)}.switch input:focus-visible+.switch-track{box-shadow:var(--focus)}.switch input:disabled+.switch-track{opacity:.5}.person-link .tag{margin-left:6px;padding:1px 7px;font-size:11px}.perm-table td:not(:first-child),.perm-table th:not(:first-child){text-align:center;width:140px}.perm-yes{color:var(--green)}.perm-no{color:var(--faint)}.session-list{gap:6px;margin:0 0 14px;padding:0;list-style:none;display:grid}.session-list li{border:1px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:12px;padding:10px 14px;display:flex}.session-list li>div{flex:1}.session-list b{font-weight:500;display:block}.session-list small{color:var(--muted);font-size:12.5px}.audit-list{margin:8px 0 0;padding:0;list-style:none;display:grid}.audit-list li{border-bottom:1px solid var(--line);grid-template-columns:130px 12px minmax(0,1fr);align-items:start;gap:12px;padding:10px 0;font-size:13.5px;display:grid}.audit-list li:last-child{border-bottom:0}.audit-list time{color:var(--muted);font-size:12.5px}.audit-list small{color:var(--muted);margin-top:2px;font-size:12.5px;display:block}.audit-dot{background:var(--faint);border-radius:50%;width:10px;height:10px;margin-top:4px}.audit-dot.payment{background:var(--green)}.audit-dot.user{background:var(--accent)}.audit-dot.organization,.audit-dot.schedule{background:var(--amber)}.audit-dot.employee{background:var(--series-2)}.theme-options{grid-template-columns:repeat(3,minmax(0,200px));gap:14px;margin-top:14px;display:grid}.theme-option{border:2px solid var(--line);text-align:left;border-radius:12px;gap:10px;padding:10px;font-weight:500;display:grid}.theme-option>span:last-child{align-items:center;gap:7px;display:inline-flex}.theme-option.on{border-color:var(--accent);box-shadow:var(--focus)}.theme-preview{border-radius:8px;grid-template-rows:14px 1fr;grid-template-columns:30% 1fr;gap:4px;height:72px;padding:6px;display:grid}.theme-preview i:first-child{border-radius:4px;grid-column:1/-1}.theme-preview i{border-radius:4px}.theme-option.light .theme-preview{background:#f4f6f9}.theme-option.light .theme-preview i{background:#fff;border:1px solid #e5e9ef}.theme-option.dark .theme-preview{background:#0a1119}.theme-option.dark .theme-preview i{background:#15212e}.theme-option.system .theme-preview{background:linear-gradient(135deg,#f4f6f9 50%,#0a1119 50%)}.theme-option.system .theme-preview i{background:#7f8c9b59}@media (max-width:1000px){.settings-page{grid-template-columns:1fr}.settings-nav{display:flex;position:static;overflow-x:auto}.settings-nav button{flex-shrink:0}.settings-nav p{display:none}.report-grid{grid-template-columns:1fr}.field-grid.three-col{grid-template-columns:1fr 1fr}}@media (max-width:700px){.report-sheet,.settings-panel{padding:0 16px 16px}.report-title{text-align:left}.policy-list div,.audit-list li{grid-template-columns:1fr;gap:2px}.audit-dot{display:none}.theme-options{grid-template-columns:1fr}.bar-list li{grid-template-columns:1fr auto}.bar-track{grid-area:2/1/auto/-1}}.verify-card{text-align:center}.verify-icon{background:var(--accent-soft);width:56px;height:56px;color:var(--accent);border-radius:16px;place-items:center;margin:0 auto 14px;display:grid}.verify-card h1{font-size:22px}.verify-lead{color:var(--muted);margin:8px 0 22px;font-size:14px;line-height:1.6}.verify-lead b{color:var(--ink)}.code-boxes{justify-content:center;gap:8px;margin-bottom:16px;display:flex}.code-boxes input{text-align:center;border:1px solid var(--line-strong);background:var(--surface);font-variant-numeric:tabular-nums;border-radius:12px;width:46px;height:56px;font-size:24px;font-weight:600}.code-boxes input:focus{border-color:var(--accent);box-shadow:var(--focus);outline:none}.verify-card .error,.verify-card .notice{text-align:left;justify-content:center}.verify-card>.primary{width:100%;height:44px;margin:4px 0 16px}.verify-actions{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.verify-actions .text-link:disabled{color:var(--faint);cursor:default}.muted-link{color:var(--muted)!important}.verify-note{color:var(--muted);margin-top:16px;display:block}@media (max-width:420px){.code-boxes input{width:40px;height:50px;font-size:21px}}.hr-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.hr-card{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);align-items:flex-start;gap:12px;min-height:92px;padding:14px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.hr-card:hover{border-color:var(--accent-line);transform:translateY(-1px);box-shadow:0 6px 18px #14202e12}.hr-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 6px 18px #1872bd1f;background:var(--accent-soft)}.hr-card-icon{background:var(--surface-2);width:40px;height:40px;color:var(--ink-2);border:1px solid var(--line);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.hr-card.active .hr-card-icon{background:var(--accent);color:#fff;border-color:#0000}.hr-card-text{gap:2px;min-width:0;display:grid}.hr-card-text b{font-size:15px;font-weight:600}.hr-card-text small{color:var(--muted);font-size:12.5px;line-height:1.35}.hr-card-text em{color:var(--ink-2);margin-top:4px;font-size:12.5px;font-style:normal;font-weight:600}.hr-card.alert em{color:var(--red-ink)}.hr-card.alert .hr-card-icon{position:relative}.hr-card.alert .hr-card-icon:after{content:"";background:var(--brand-red);border:2px solid var(--surface);border-radius:50%;width:10px;height:10px;position:absolute;top:-3px;right:-3px}.hr-help{color:var(--ink-2);align-items:flex-start;gap:8px;max-width:640px;margin:0;font-size:13.5px;line-height:1.5;display:flex}.hr-help svg{color:var(--amber);flex-shrink:0;margin-top:2px}.presence-chip{white-space:nowrap;background:var(--surface-2);color:var(--muted);border:1px solid var(--line);border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:12.5px;font-weight:500;display:inline-flex}.presence-chip.in{background:var(--green-soft);color:var(--green-ink);border-color:#0000}.presence-chip.in.late{background:var(--amber-soft);color:var(--amber-ink)}.presence-chip.gone{color:var(--ink-2)}.presence-chip.absent{background:var(--red-soft);color:var(--red-ink);border-color:#0000}.presence-chip.waiting,.presence-chip.off{color:var(--muted)}@media (max-width:1200px){.hr-nav{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:700px){.hr-nav{scroll-snap-type:x mandatory;padding-bottom:4px;display:flex;overflow-x:auto}.hr-card{scroll-snap-align:start;flex:0 0 76%}.emp-table th:nth-child(2),.emp-table td:nth-child(2),.emp-table th:nth-child(4),.emp-table td:nth-child(4){display:none}.emp-table,.emp-table .presence-chip,.emp-table .leave-chip{white-space:normal}.emp-table td,.emp-table th{padding-left:10px;padding-right:10px}}.report-sheet{padding:0 28px 28px}.report-screen-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;padding:22px 0 18px;display:flex}.report-screen-head h2{font-size:19px}.report-screen-head span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13.5px}.report-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:28px}.report-stat{border-top:1px solid var(--line);background:var(--surface-2);border-color:#0000;gap:6px;padding:18px 20px}.report-stat b{font-size:24px}.report-stat small{align-items:center;gap:6px;display:inline-flex}.report-stat.warn small,.report-stat.bad small{font-weight:500}.report-stat.warn small:before,.report-stat.bad small:before{content:"";background:var(--amber);border-radius:50%;width:7px;height:7px}.report-stat.bad small:before{background:var(--red)}.report-stat.warn small{color:var(--amber-ink)}.report-stat.bad small,.report-stat.bad b{color:var(--red-ink)}.report-stat[title]{cursor:help}.report-chart{background:0 0;border:0;margin-bottom:28px;padding:0}.report-chart figcaption{margin-bottom:14px}.report-chart figcaption .button.sm{box-shadow:none;color:var(--muted);border-color:#0000}.report-grid{gap:32px}.report-h3{margin:4px 0 12px}.reports-page .table-wrap{margin-bottom:28px}@media (max-width:1000px){.report-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.report-sheet{padding:0 16px 16px}.report-stats{gap:10px}.report-stat{padding:14px}.report-stat b{font-size:20px}}@media print{.report-stat{background:#fff;border:1px solid #d8dce2}.report-stats{grid-template-columns:repeat(4,1fr)}}.report-stat.good,.report-stat.warn,.report-stat.bad{border-top-color:#0000}.chart-frame svg{width:100%;max-width:100%;height:auto}.doc-page{--surface:#fff;--surface-2:#f5f6f8;--ink:#111827;--ink-2:#374151;--muted:#6b7280;--faint:#9ca3af;--line:#d9dde3;--line-strong:#b8bec8;--series-1:#1872bd;--series-2:#eb6834;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:#fff;border-radius:4px;max-width:920px;margin:0 auto;padding:56px 64px 48px;font-size:13.5px;line-height:1.6;box-shadow:0 1px 3px #11182714,0 18px 48px #1118271a}.doc-letterhead{border-bottom:3px double #1f2937;justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:14px;display:flex}.doc-org{align-items:center;gap:14px;display:flex}.doc-org b{letter-spacing:.01em;font-size:17px;display:block}.doc-org small{color:var(--muted);font-size:12px;line-height:1.5;display:block}.doc-meta{text-align:right;flex-shrink:0;gap:2px;margin:0;font-size:12.5px;display:grid}.doc-meta div{justify-content:flex-end;gap:8px;display:flex}.doc-meta dt{color:var(--muted)}.doc-meta dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.doc-title{text-align:center;margin:34px 0 26px}.doc-title h1{text-transform:uppercase;letter-spacing:.08em;font-size:19px;font-weight:700}.doc-title p{color:var(--ink-2);margin-top:6px}.doc-section{break-inside:avoid-page;margin-bottom:26px}.doc-section h2{border-bottom:1px solid var(--line);gap:8px;margin-bottom:10px;padding-bottom:6px;font-size:14.5px;font-weight:700;display:flex}.doc-section h2 span{color:var(--ink-2)}.doc-text{text-align:justify;text-indent:2em;margin:0 0 8px}.doc-table-wrap{margin:6px 0 4px;overflow-x:auto}.doc-table{border-collapse:collapse;white-space:normal;width:100%;font-size:13px}.doc-table th,.doc-table td{border:1px solid var(--line-strong);text-align:left;vertical-align:top;color:var(--ink);background:#fff;padding:7px 10px}.doc-table th{background:#eef1f5;font-size:12.5px;font-weight:600}.doc-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.doc-table tfoot td{background:#f7f8fa;font-weight:700}.doc-table tbody tr:hover td{background:#fafbfc}.doc-page .report-chart{margin:4px 0 14px}.doc-page .chart-frame .hit.on{fill:#f3f4f6}.doc-page .chart-tip{border-color:var(--line-strong);background:#fff}.doc-sign{grid-template-columns:1fr 1fr auto;align-items:end;gap:18px 36px;margin-top:46px;display:grid}.doc-sign>div:not(.doc-stamp){grid-template-columns:auto 1fr;align-items:end;gap:0 10px;font-size:13px;display:grid}.doc-sign i{border-bottom:1px solid #111827;height:22px}.doc-sign small{text-align:center;color:var(--muted);white-space:pre;grid-column:2;font-size:12px}.doc-stamp{border:1.5px dashed var(--line-strong);width:86px;height:86px;color:var(--faint);border-radius:50%;place-items:center;font-size:12px;display:grid}.doc-foot{border-top:1px solid var(--line);color:var(--muted);text-align:center;margin-top:28px;padding-top:10px;font-size:11.5px}.report-toolbar+.error,.reports-page>.hr-help{width:100%;max-width:920px;margin-inline:auto}@media (max-width:1000px){.doc-page{padding:36px 32px}}@media (max-width:700px){.doc-page{padding:24px 16px;font-size:13px}.doc-letterhead{flex-direction:column;align-items:flex-start}.doc-meta{text-align:left}.doc-meta div{justify-content:flex-start}.doc-sign{grid-template-columns:1fr}.doc-stamp{display:none}}@media print{.reports-page>:not(.doc-page){display:none!important}.doc-page{box-shadow:none;border-radius:0;max-width:none;padding:0}.doc-page .report-chart figcaption .button{display:none}.doc-table th{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.doc-sign span{color:#111827;font-weight:500}.doc-table .idx{text-align:center;color:#6b7280;width:44px}.doc-print{display:none}.dash-period{flex-wrap:wrap;align-items:baseline;gap:12px;margin:-4px 0 0;display:flex}.dash-period span{font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.dash-period small{color:var(--muted);font-size:12.5px}.dash{gap:16px;display:grid}.dash-loading{text-align:center;color:var(--muted);padding:60px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);align-content:start;gap:8px;padding:18px 20px;display:grid}.kpi-top{align-items:center;gap:10px;display:flex}.kpi-icon{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.kpi.warn .kpi-icon{background:var(--amber-soft);color:var(--amber)}.kpi.bad .kpi-icon{background:var(--red-soft);color:var(--red)}.kpi-label{color:var(--ink-2);font-size:13.5px;font-weight:500}.kpi-delta{font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:2px;margin-left:auto;padding:2px 7px;font-size:12px;font-weight:600;display:inline-flex}.kpi-delta.up{background:var(--green-soft);color:var(--green-ink)}.kpi-delta.down{background:var(--red-soft);color:var(--red-ink)}.kpi-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:26px;font-weight:650;line-height:1.15}.kpi.bad .kpi-value{color:var(--red-ink)}.kpi-bar{background:var(--surface-3);border-radius:99px;height:6px;overflow:hidden}.kpi-bar i{background:var(--accent);border-radius:99px;height:100%;display:block}.kpi.warn .kpi-bar i{background:var(--amber)}.kpi.bad .kpi-bar i{background:var(--red)}.kpi-sub{color:var(--muted);font-size:12.5px}.dash-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.dash-grid>.span-2{grid-column:span 2}.dash-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);min-width:0;padding:18px 20px}.dash-panel>header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.dash-panel>header h3{font-size:15px}.dash-panel>header span{color:var(--muted);font-size:12.5px}.dash-panel .report-chart{margin:0}.dash-panel .report-chart figcaption{justify-content:flex-end;margin:-42px 0 10px}.dash-empty{color:var(--muted);text-align:center;padding:28px 0;font-size:13.5px}.dash-note{align-items:center;gap:6px;margin-top:14px;font-size:13px;font-weight:500;display:flex}.dash-note.warn{color:var(--amber-ink)}.meter{gap:8px;padding:6px 0;display:grid}.meter>b{letter-spacing:-.02em;font-size:34px;font-weight:650}.meter-bar{background:var(--surface-3);border-radius:99px;height:10px;overflow:hidden}.meter-bar i{background:var(--accent);border-radius:99px;height:100%;display:block}.meter>span:not(.meter-bar){color:var(--ink-2);font-size:13.5px;font-weight:500}.meter small{color:var(--muted);font-size:12.5px}.dash-table{white-space:nowrap}.dash-table th{background:0 0;border-top:0}.row-progress{background:var(--surface-3);vertical-align:middle;border-radius:99px;width:70px;height:6px;margin-right:8px;display:inline-block;overflow:hidden}.row-progress i{background:var(--green);border-radius:99px;height:100%;display:block}.row-progress.wide{width:140px}td.warn{color:var(--amber-ink);font-weight:600}.project-progress{gap:4px;margin:0;padding:0;list-style:none;display:grid}.project-progress li{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 0;display:flex}.project-progress li:last-child{border-bottom:0}.project-progress b{font-weight:500;display:block}.project-progress small{color:var(--muted);font-size:12.5px}.pp-pct{text-align:right;font-variant-numeric:tabular-nums;min-width:46px}.doc-preview{z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a8c;grid-template-rows:auto 1fr;display:grid;position:fixed;inset:0}.doc-preview-bar{background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 20px;display:flex}.doc-preview-bar>span:not(.grow){color:var(--muted);font-size:13px}.doc-preview-scroll{padding:28px 16px 48px;overflow:auto}@media (max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid{grid-template-columns:1fr 1fr}}@media (max-width:700px){.kpi-grid,.dash-grid{grid-template-columns:1fr}.dash-grid>.span-2{grid-column:auto}.kpi-value{font-size:22px}.dash-panel .report-chart figcaption{margin-top:0}}@media print{.reports-page>.doc-print{display:block!important}.doc-preview,.dash,.dash-period{display:none!important}}.arch{--a-bg:#0d1219;--a-node:#19212c;--a-node-2:#212b38;--a-ink:#eef2f6;--a-mut:#93a0b0;--a-wire:#ffffff29;--a-acc:#3d9bea;--a-green:#36c58b;--a-red:#ff5d62;--c:var(--a-acc);border-radius:var(--radius);min-height:520px;color:var(--a-ink);background-color:var(--a-bg);background-image:radial-gradient(900px 420px at 18% -8%,#3d9bea1f,#0000 70%),linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:auto,28px 28px,28px 28px;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0a,0 18px 50px #0d12192e}.arch.full{z-index:60;border-radius:0;min-height:0;position:fixed;inset:0}body.arch-lock{overflow:hidden}.arch-bar{z-index:3;pointer-events:none;align-items:center;gap:14px;padding:18px 22px;display:flex;position:absolute;inset:0 0 auto}.arch-title{letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:10px;margin:0;font-size:15px;display:flex}.arch-full{white-space:nowrap;flex-shrink:0}.arch-title b{font-weight:600}.arch-title span{color:var(--a-acc);border-left:1px solid #ffffff38;padding-left:10px}.arch-hint{color:var(--a-mut);margin:0 0 0 auto;font-size:12.5px}.arch-full{pointer-events:auto;height:34px;color:var(--a-ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff12;border:1px solid #ffffff24;border-radius:10px;align-items:center;gap:7px;padding:0 12px;font-size:13px;font-weight:500;transition:background-color .15s,border-color .15s;display:inline-flex}.arch-full:hover{background:#ffffff21;border-color:#ffffff42}.arch-full:focus-visible,.arch-open:focus-visible,.arch-next:focus-visible{outline:2px solid var(--a-acc);outline-offset:2px}.arch-scroll{scrollbar-color:#fff3 transparent;flex:1;min-height:0;position:relative;overflow:auto}.arch-canvas{position:absolute;top:0;left:0}.arch-band{border:1px dashed #0000;border-radius:18px;transition:background-color .2s,border-color .2s;position:absolute}.arch-band.over{background:#3d9bea1a;border-color:#3d9bea8c}.arch-empty{text-align:center;color:var(--a-mut);border:1px dashed #ffffff24;border-radius:12px;padding:16px 0;font-size:12.5px;position:absolute;top:50%;translate:0 -50%}.arch-none{text-align:center;color:var(--a-mut);font-size:14px;position:absolute;inset:50% 0 auto}.arch-wires{pointer-events:none;position:absolute;inset:0;overflow:visible}.arch-wires path{fill:none;stroke-linecap:round;transition:d .65s cubic-bezier(.22,1,.36,1),stroke .2s,opacity .2s}.arch-wire{stroke:var(--a-wire);stroke-width:1.4px;stroke-dasharray:1;animation:.9s cubic-bezier(.22,1,.36,1) both arch-draw;animation-delay:var(--d,0s)}.arch-pulse{stroke:#8fd0ff;stroke-width:2.4px;stroke-dasharray:150 1000;stroke-dashoffset:150px;animation:6.4s linear infinite arch-pulse}.arch-pulse.glow{stroke:var(--a-acc);stroke-width:9px;opacity:.32}.arch-wires .done .arch-pulse{stroke:#8ff0c4}.arch-wires .done .arch-pulse.glow{stroke:var(--a-green)}.arch-wires.has-hot g:not(.hot){opacity:.28}.arch-wires .hot .arch-wire{stroke:var(--a-acc);stroke-width:1.8px}.arch-wires .hot.done .arch-wire{stroke:var(--a-green)}@keyframes arch-draw{0%{stroke-dashoffset:1px;opacity:0}to{stroke-dashoffset:0;opacity:1}}@keyframes arch-pulse{0%{stroke-dashoffset:150px}18%,to{stroke-dashoffset:-1000px}}.arch-node{box-sizing:border-box;background:linear-gradient(180deg, var(--a-node-2), var(--a-node));border:1px solid color-mix(in srgb, var(--c) 70%, transparent);box-shadow:0 0 0 1px #00000059, 0 0 18px color-mix(in srgb, var(--c) 22%, transparent), 0 10px 24px #00000059;animation:.55s cubic-bezier(.22,1,.36,1) both arch-in;animation-delay:var(--d,0s);border-radius:12px;align-items:center;gap:11px;padding:0 12px;transition:transform .65s cubic-bezier(.22,1,.36,1),box-shadow .2s,border-color .2s;display:flex;position:absolute;top:0;left:0}@keyframes arch-in{0%{opacity:0;scale:.86}to{opacity:1;scale:1}}.arch-node.in:before,.arch-node.out:after{content:"";background:var(--c);width:8px;height:8px;box-shadow:0 0 8px var(--c);border-radius:50%;margin-top:-4px;position:absolute;top:50%}.arch-node.in:before{left:-4.5px}.arch-node.out:after{right:-4.5px}.arch-node:hover{z-index:2;box-shadow:0 0 0 1px #00000059, 0 0 26px color-mix(in srgb, var(--c) 42%, transparent), 0 14px 30px #00000073;border-color:var(--c)}.arch-node.done{--c:var(--a-green)}.arch-node.late{--c:var(--a-red)}.arch-node.selected,.arch-node.stage.over{border-color:#fff}.arch-node.pulse{animation:.9s ease-out arch-hit}@keyframes arch-hit{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--c) 70%, transparent)}to{box-shadow:0 0 0 22px #0000}}.arch-node.task[draggable=true]{cursor:grab}.arch-node.task[draggable=true]:active{cursor:grabbing}.arch-ico{width:30px;height:30px;color:var(--c);background:color-mix(in srgb, var(--c) 14%, transparent);border:1px solid color-mix(in srgb, var(--c) 30%, transparent);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.arch-ico .type-icon{color:inherit}.arch-text{text-align:left;gap:2px;min-width:0;display:grid}.arch-text b{color:var(--a-ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.arch-text small{letter-spacing:.07em;text-transform:uppercase;color:var(--a-mut);white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;font-size:10px;overflow:hidden}.arch-text em{color:var(--a-red);font-style:normal}.arch-open{min-width:0;height:100%;color:inherit;border-radius:10px;flex:1;align-items:center;gap:11px;display:flex}.arch-next{width:26px;height:26px;color:var(--a-ink);opacity:0;background:#ffffff14;border:1px solid #ffffff29;border-radius:8px;flex-shrink:0;place-items:center;transition:opacity .15s,background-color .15s;display:grid}.arch-node:hover .arch-next,.arch-next:focus-visible{opacity:1}.arch-next:hover{background:var(--a-acc);border-color:var(--a-acc)}.arch-node.person .avatar{box-shadow:0 0 0 1px color-mix(in srgb, var(--c) 60%, transparent)}@media (hover:none){.arch-next{opacity:1}}@media (max-width:700px){.arch-hint{visibility:hidden}.arch-title span{display:none}.arch-bar{padding:14px 16px}}@media (prefers-reduced-motion:reduce){.arch-wire{stroke-dasharray:none}}@media print{.arch{display:none}}.app-shell{flex-direction:column;display:flex}.content{box-sizing:border-box;flex-direction:column;flex:1;width:100%;max-width:none;padding:24px clamp(16px,2.4vw,40px) 0;display:flex}.content>*{min-width:0}.content>footer{margin-top:auto}.content>.page-fill,.content>.projects-page{flex:1}.page-fill{flex-direction:column;display:flex}.page-fill>.table-wrap{flex:1}.projects-page{flex-direction:column;display:flex}.projects-page>.arch,.projects-page>.task-board,.projects-page>.backlog-layout{flex:1;min-height:520px}.projects-page>.task-board{align-items:stretch}.projects-page>.task-board>.board-column{flex-direction:column;display:flex}.projects-page>.task-board .board-list{flex:1;align-content:start}.header-top,.header-nav{max-width:none;padding-inline:clamp(16px,2.4vw,40px)}.heading-actions>.primary{order:2}.page-heading{flex-wrap:wrap}.detail-panel,.profile-card,.settings-nav{transition:top .3s}.theme-toggle .moon{display:none}:root[data-theme=dark] .theme-toggle .moon{display:block}:root[data-theme=dark] .theme-toggle .sun,:root[data-scrolled] .app-header .header-expanded-only{display:none}@media (min-width:901px){:root[data-scrolled] .app-header{isolation:isolate;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:20px;align-items:center;gap:14px;height:60px;margin:0 clamp(10px,1.4vw,24px) 69px;padding:0 10px 0 20px;animation:.4s cubic-bezier(.22,1,.36,1) nav-dock;display:flex;translate:0 10px}@keyframes nav-dock{0%{opacity:0;translate:0 -8px}}:root[data-scrolled] .app-header:before{content:"";z-index:-1;pointer-events:none;border-radius:inherit;-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);background:linear-gradient(135deg,#ffffffe6,#fffc 45%,#ffffffdb);border:1px solid #ffffffb3;position:absolute;inset:0;box-shadow:inset 0 1px #fffffff2,inset 0 -1px #ffffff59,inset 0 0 22px #ffffff59,0 1px 2px #14202e0f,0 14px 40px #14202e24}:root[data-theme=dark][data-scrolled] .app-header:before{background:linear-gradient(135deg,#223040db,#101a25c7 45%,#1a2634d1);border-color:#ffffff21;box-shadow:inset 0 1px #ffffff29,inset 0 -1px #ffffff0a,inset 0 0 22px #ffffff0a,0 14px 40px #00000073}:root[data-scrolled] .header-top,:root[data-scrolled] .header-nav{display:contents}:root[data-scrolled] :is(.header-divider,.env-pill,.date,.org-switch){display:none}:root[data-scrolled] .brand{flex-shrink:0;order:1}:root[data-scrolled] .header-nav nav{flex:1;order:2;justify-content:safe center;gap:2px}:root[data-scrolled] .header-nav nav button{border-radius:999px;gap:7px;height:36px;padding:0 12px;font-size:13.5px}:root[data-scrolled] .header-actions{flex-shrink:0;order:3;gap:8px;margin-left:0}:root[data-scrolled] :is(.detail-panel,.profile-card,.settings-nav){top:86px}:root[data-scrolled] .detail-panel{max-height:calc(100vh - 106px)}}@media (min-width:901px) and (max-width:1560px){:root[data-scrolled] .app-header{gap:10px;padding:0 8px 0 16px}:root[data-scrolled] .header-nav nav{gap:0}:root[data-scrolled] .header-nav nav button{gap:6px;padding:0 8px;font-size:13px}}@media (min-width:901px) and (max-width:1360px){:root[data-scrolled] .att-button span{display:none}:root[data-scrolled] .att-button{padding:0 11px}}@media (max-width:900px){:root[data-scrolled] .app-header{-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);background:#ffffffdb;box-shadow:0 10px 30px #14202e1f}:root[data-theme=dark][data-scrolled] .app-header{background:#101a25d1;box-shadow:0 10px 30px #0006}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){:root[data-scrolled] .app-header:before,:root[data-scrolled] .app-header{background:var(--surface)}}@media (prefers-reduced-transparency:reduce){:root[data-scrolled] .app-header:before{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}}.invoice-modal{width:min(860px,100%);max-height:calc(100dvh - min(10vh,80px) - 20px)}.invoice-modal>.panel-heading{z-index:2;background:var(--surface);position:sticky;top:0}.invoice-fields{border:0;min-inline-size:0;margin:0;padding:0}.invoice-fields textarea{resize:vertical;height:auto;min-height:58px;padding-block:9px}.invoice-lines-heading,.invoice-pdf-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.invoice-lines-heading{margin-top:12px}.invoice-lines-heading h3{font-size:15px}.invoice-line{border-bottom:1px solid var(--line);grid-template-columns:minmax(160px,3fr) minmax(66px,1fr) minmax(120px,1.4fr) minmax(90px,1.4fr) auto;align-items:start;gap:10px;display:grid}.invoice-line-total{min-width:0;color:var(--ink-2);margin:16px 0;font-size:13px}.invoice-line-total output{overflow-wrap:anywhere;margin-top:6px;padding-block:10px;font-weight:600;display:block}.invoice-line>button{margin-top:36px}.invoice-summary dl{border-radius:var(--radius-sm);background:var(--surface-2);align-self:center;margin:16px 0;padding:8px 14px}.invoice-summary dl div{justify-content:space-between;gap:12px;padding-block:5px;display:flex}.invoice-summary dl div:last-child{border-top:1px solid var(--line);font-weight:700}.invoice-summary dd{overflow-wrap:anywhere;text-align:right;margin:0}.invoice-row-actions{justify-content:end;gap:6px;display:flex}.invoice-pdf-panel{padding:16px 24px 24px}.invoice-pdf-actions{margin-bottom:12px}.invoice-pdf-actions .button{text-decoration:none}.invoice-draft-preview{margin-top:16px}.invoice-pdf-frame{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;height:68vh;display:block}.invoice-modal .modal-actions{flex-wrap:wrap}@media (max-width:720px){.invoice-line{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-line label:first-child{grid-column:1/-1}.invoice-line label,.invoice-line-total,.invoice-line>button{margin:6px 0}.invoice-line>button{justify-self:end}}
