:root{--ink:#19252e;--muted:#687782;--line:#dde4e8;--soft:#f4f6f7;--panel:#fff;--nav:#17252e;--nav-soft:#243640;--brand:#de7346;--brand-dark:#bb5931;--ok:#2e8566;--warn:#c77a1d;--danger:#c14f47;--shadow:0 10px 30px #19252e14}*{box-sizing:border-box}body{color:var(--ink);background:#edf1f2;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}.button{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:8px;padding:9px 13px;font-weight:650;box-shadow:0 1px 1px #00000005}.button:hover{border-color:#bfcbd1}.button.primary{border-color:var(--brand);background:var(--brand);color:#fff}.button.primary:hover{background:var(--brand-dark)}.button.ghost{box-shadow:none;background:0 0}.button.small{padding:7px 10px;font-size:12px}.button:disabled{opacity:.6;cursor:default}.panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:11px}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:17px 19px;display:flex}.panel-head h2{margin:0;font-size:15px}.panel-head p{color:var(--muted);margin:3px 0 0;font-size:11px}.field,select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:7px;outline:none;padding:8px 10px}.field:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #de734621}label{color:var(--muted);gap:6px;font-size:11px;font-weight:650;display:grid}label .field,label select,label textarea{color:var(--ink);width:100%;font-weight:400}.form-error{color:var(--danger);margin:0;font-size:12px}.app{grid-template-columns:226px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--nav);color:#eaf0f2;flex-direction:column;gap:28px;padding:24px 16px;display:flex}.brand{align-items:center;gap:11px;padding:0 8px;display:flex}.brand-mark{background:var(--brand);color:#fff;letter-spacing:-.04em;border-radius:9px;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.brand strong{letter-spacing:-.01em;font-size:16px;display:block}.brand span{color:#9eb0ba;font-size:11px}.nav{gap:6px;display:grid}.nav-label{color:#778e99;text-transform:uppercase;letter-spacing:.08em;padding:0 12px 7px;font-size:10px}.nav-label-spaced{margin-top:14px}.nav a{color:#bdc9ce;border-radius:8px;align-items:center;gap:10px;padding:11px 12px;text-decoration:none;display:flex}.nav a:hover,.nav a.active{background:var(--nav-soft);color:#fff}.nav-icon{text-align:center;opacity:.9;width:19px}.sidebar-bottom{border-top:1px solid #2c3e48;margin-top:auto;padding:18px 8px 0}.profile{align-items:center;gap:10px;display:flex}.avatar{width:34px;height:34px;color:var(--nav);background:#d5e2e7;border-radius:50%;place-items:center;font-weight:700;display:grid}.profile small{color:#8da2ad;margin-top:2px;display:block}.signout{color:#8da2ad;background:0 0;border:0;margin-top:12px;padding:0;font-size:12px}.signout:hover{color:#fff;text-decoration:underline}.workspace{min-width:0}.topbar{border-bottom:1px solid var(--line);z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;justify-content:space-between;align-items:center;height:72px;padding:0 30px;display:flex;position:sticky;top:0}.topbar h1{letter-spacing:-.025em;margin:0;font-size:20px}.topbar p{color:var(--muted);margin:3px 0 0;font-size:12px}.actions{align-items:center;gap:9px;display:flex}main{max-width:1480px;margin:0 auto;padding:26px 30px 48px}.login{place-items:center;min-height:100vh;padding:20px;display:grid}.login-panel{gap:24px;width:min(380px,100%);padding:28px;display:grid}.login-brand{padding:0}.login-brand span{color:var(--muted)}.login-form{gap:15px;display:grid}.notice{background:#fff8ec;border:1px solid #eed7b4;border-radius:10px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:12px 15px;display:flex}.notice strong{color:#7e4c0e;display:block}.notice span{color:#95672e;font-size:12px}.notice a{color:#8a5313;white-space:nowrap;font-weight:700}.filters{flex-wrap:wrap;gap:8px;display:flex}.search{width:190px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;text-align:left;background:#f8f9f9;padding:11px 15px;font-size:10px}td{vertical-align:middle;border-top:1px solid #edf0f1;padding:14px 15px}tbody tr:hover{background:#fbfcfc}.project-name{color:var(--ink);font-weight:700}.project-code{color:var(--muted);margin-top:3px;font-size:11px;display:block}.person{align-items:center;gap:7px;display:flex}.mini-avatar{color:#435761;background:#e5ecef;border-radius:50%;place-items:center;width:25px;height:25px;font-size:10px;font-weight:700;display:grid}.hours{font-variant-numeric:tabular-nums;white-space:nowrap}.progress{width:150px}.progress-label{justify-content:space-between;gap:8px;margin-bottom:6px;font-size:11px;display:flex}.track{background:#e7ecee;border-radius:99px;height:7px;overflow:hidden}.bar{background:var(--ok);border-radius:99px;height:100%}.bar.warning{background:var(--warn)}.bar.danger{background:var(--danger)}.status{color:var(--ok);white-space:nowrap;background:#eaf5f1;border-radius:99px;align-items:center;gap:6px;padding:5px 8px;font-size:11px;font-weight:700;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.status.warning{color:var(--warn);background:#fff3df}.status.danger{color:var(--danger);background:#fbe9e8}.status.muted{color:#64747c;background:#eef1f2}.expand-cell{width:42px;padding-right:0}.expand-project{width:28px;height:28px;color:var(--muted);background:0 0;border:0;border-radius:6px;font-size:16px;transition:transform .15s,background .15s}.expand-project:hover{color:var(--ink);background:#eef2f3}.expand-project[aria-expanded=true]{color:var(--brand-dark);transform:rotate(90deg)}.project-link{text-align:left;color:inherit;background:0 0;border:0;padding:0}.project-link:hover .project-name{color:var(--brand-dark);text-decoration:underline}.new-project-layout{grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);align-items:start;gap:18px;display:grid}.form-section+.form-section{margin-top:18px}.form-section-body{padding:19px}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-grid.three{grid-template-columns:1fr 1fr 1fr}.field-help{color:var(--muted);margin:6px 0 0;font-size:10px;line-height:1.45}.member-picker{grid-template-columns:1fr 1fr;gap:8px;display:grid}.member-option{border:1px solid var(--line);color:var(--ink);border-radius:8px;align-items:center;gap:9px;padding:9px 10px;font-size:11px;font-weight:650;display:flex}.member-option input{accent-color:var(--brand)}.member-option .mini-avatar{flex:none}.template-choice{flex-wrap:wrap;align-items:end;gap:9px;display:flex}.template-choice label{flex:260px}.task-editor{border:1px solid var(--line);border-radius:9px;margin-top:14px;overflow:hidden}.task-editor-head,.task-editor-row{grid-template-columns:minmax(180px,1.6fr) 110px minmax(150px,1fr) 34px;align-items:center;gap:10px;display:grid}.task-editor-head{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;background:#f4f7f8;padding:9px 11px;font-size:9px}.task-editor-row{border-top:1px solid #edf0f1;padding:9px 11px}.task-editor-row .field,.task-editor-row select{width:100%;min-width:0;padding:7px 8px}.project-create-summary{padding:18px}.summary-line{border-top:1px solid #edf0f1;justify-content:space-between;gap:12px;padding:10px 0;display:flex}.summary-line:first-of-type{border-top:0;padding-top:0}.summary-line span{color:var(--muted);font-size:11px}.summary-line strong{text-align:right;font-size:12px}.create-actions{border-top:1px solid var(--line);background:#f8f9f9;gap:9px;padding:16px 18px;display:grid}.project-heading{justify-content:space-between;align-items:start;gap:20px;margin-bottom:18px;display:flex}.breadcrumb{color:var(--muted);margin-bottom:7px;font-size:11px}.project-heading h2{letter-spacing:-.035em;margin:0;font-size:24px}.project-meta{color:var(--muted);flex-wrap:wrap;gap:18px;margin-top:8px;font-size:12px;display:flex}.project-grid{grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:18px;display:grid}.budget-card{margin-bottom:18px;padding:20px}.budget-top{justify-content:space-between;align-items:end;gap:20px;margin-bottom:14px;display:flex}.budget-main strong{letter-spacing:-.04em;font-size:31px}.budget-main span{color:var(--muted)}.budget-side{text-align:right}.budget-side strong{font-size:18px}.budget-side span{color:var(--muted);font-size:11px;display:block}.big-track{background:#e8edef;border-radius:99px;height:11px;overflow:hidden}.big-track>div{background:var(--ok);border-radius:99px;height:100%}.big-track>div.warning{background:var(--warn)}.big-track>div.danger{background:var(--danger)}.task-row{border-top:1px solid #edf0f1;grid-template-columns:minmax(180px,1.5fr) 110px 100px 120px 70px;align-items:center;gap:13px;padding:13px 18px;display:grid}.task-row:first-of-type{border-top:0}.task-name{font-weight:650}.task-sub{color:var(--muted);margin-top:3px;font-size:11px}.avatar-stack{display:flex}.avatar-stack .mini-avatar{border:2px solid #fff;margin-left:-6px}.avatar-stack .mini-avatar:first-child{margin-left:0}.side-section{padding:18px}.side-section+.side-section{border-top:1px solid var(--line)}.side-section h3{margin:0 0 13px;font-size:13px}.entry{border-top:1px solid #edf0f1;grid-template-columns:1fr auto;gap:10px;padding:10px 0;display:grid}.entry:first-of-type{border-top:0;padding-top:0}.entry strong{font-size:12px}.entry span{color:var(--muted);margin-top:3px;font-size:10px;display:block}.entry time{font-variant-numeric:tabular-nums;font-weight:700}.remove-row{color:#9aa6ac;background:0 0;border:0;padding:6px;font-size:17px}.admin-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.simple-list{margin:0;padding:0;list-style:none}.simple-list li{border-top:1px solid #edf0f1;justify-content:space-between;align-items:center;gap:12px;padding:13px 18px;display:flex}.simple-list li:first-child{border-top:0}.simple-list strong{font-size:12px}.simple-list span{color:var(--muted);margin-top:3px;font-size:11px;display:block}.role{color:#5d6d75;background:#eef2f3;border-radius:99px;padding:4px 7px;font-size:10px;font-weight:700}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}textarea{resize:vertical;min-height:72px}.project-link{text-decoration:none;display:block}a.button{text-decoration:none;display:inline-block}.button.danger{color:var(--danger)}.empty{color:var(--muted);text-align:center;padding:26px 19px;font-size:12px}.field-error{color:var(--danger);margin:0;font-size:11px;font-weight:600}.field.invalid,select.invalid{border-color:var(--danger)}.form-banner{color:#8c2f28;background:#fbe9e8;border:1px solid #f0c9c5;border-radius:10px;margin-bottom:18px;padding:12px 15px;font-size:12px}.form-banner.ok{color:#1f5f48;background:#eaf5f1;border-color:#bfe0d3}.task-editor-head,.task-editor-row{grid-template-columns:minmax(160px,1.4fr) 100px minmax(170px,1.3fr) 84px;align-items:start}.task-editor-row .row-actions{gap:2px;display:flex}.task-editor-row .row-actions button:disabled{opacity:.3;cursor:default}.assignee-picker{flex-wrap:wrap;gap:4px;display:flex}.assignee-picker label{border:1px solid var(--line);color:var(--ink);border-radius:99px;align-items:center;gap:4px;padding:3px 7px;font-size:10px;font-weight:600;display:inline-flex}.assignee-picker input{accent-color:var(--brand);margin:0}.inactive-tag{color:var(--muted);font-size:9px;font-weight:600}.sensitive-link{gap:8px;margin-top:10px;display:grid}.sensitive-link .field{width:100%;font-family:ui-monospace,Consolas,monospace;font-size:11px}.user-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.user-controls .field{width:70px;padding:6px 8px}.inline-form{align-items:center;gap:6px;margin:0;display:inline-flex}.user-list li{flex-wrap:wrap;align-items:flex-start}main.narrow{max-width:820px}.template-editor .task-editor-head,.template-editor .task-editor-row{grid-template-columns:minmax(200px,1fr) 130px 84px}.template-actions{grid-template-columns:auto auto;justify-content:start}.user-list li>div:first-child{flex:220px;min-width:0}.user-list select{padding:6px 8px;font-size:12px}.stack>.panel+.panel{margin-top:18px}.projects-table{table-layout:fixed;min-width:960px}.projects-table .col-manager{width:128px}.projects-table .col-assigned{width:132px}.projects-table .col-budget{width:86px}.projects-table .col-remaining{width:92px}.projects-table .col-consumption{width:172px}.projects-table .col-state{width:128px}.projects-table th.num,.projects-table td.num{text-align:right}.projects-table td{overflow:hidden}.projects-table .progress{width:100%}.projects-table .person-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.name-cell{align-items:center;gap:8px;min-width:0;display:flex}.name-cell .project-link{min-width:0}.task-line td{background:#f8fafb;border-top:1px solid #edf0f1;padding-top:10px;padding-bottom:10px;font-size:12px}.task-line[hidden]{display:none}.projects-table tbody tr.task-line:hover td{background:#f3f6f7}.task-cell{padding-left:52px;position:relative}.task-cell:before{content:"";border-top:1px solid #cbd6da;width:30px;position:absolute;top:50%;left:13px}.task-line-name{font-weight:650}.task-line-empty{color:var(--muted);font-style:italic}.task-line .avatar-stack .mini-avatar{border-color:#f8fafb}.muted-dash{color:#a3afb5}.projects-table tbody.expanded .project-line td{background:#fbfcfc}.archived-projects{margin-top:18px}.actions .button{white-space:nowrap}.project-heading>div:first-child{flex:auto;min-width:0}.project-heading .actions{flex-wrap:wrap;justify-content:flex-end}.entry-list{display:grid}.entry-button{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px}.entry-button:hover strong{color:var(--brand-dark);text-decoration:underline}.entry-note{font-style:italic}.week-nav{align-items:center;gap:9px;display:flex}.week-total{align-items:baseline;gap:7px;display:flex}.week-total strong{font-size:24px}.week-total span{color:var(--muted);font-size:12px}.timesheet td{padding:9px 10px}.timesheet .field,.timesheet select{width:100%;min-width:120px;padding:8px}.timesheet .date-field{min-width:128px}.remove-row:hover{color:var(--danger)}.day-totals{border-top:1px solid var(--line);background:#f8f9f9;grid-template-columns:repeat(7,1fr);display:grid}.day-total{border-right:1px solid var(--line);padding:12px 15px}.day-total:last-child{border-right:0}.day-total span{color:var(--muted);font-size:10px;display:block}.calendar-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.calendar-period{align-items:center;gap:9px;display:flex}.calendar-period strong{text-align:center;min-width:185px}.calendar-summary{align-items:baseline;gap:7px;display:flex}.calendar-summary strong{letter-spacing:-.03em;font-size:24px}.calendar-summary span{color:var(--muted);font-size:12px}.calendar-scroll{overflow-x:auto}.calendar-grid{grid-template-columns:repeat(7,minmax(130px,1fr));min-width:980px;display:grid}.calendar-day{border-right:1px solid var(--line);background:#fbfcfc;min-height:420px}.calendar-day:last-child{border-right:0}.calendar-day.is-weekend{background:#f6f8f8}.calendar-day-head{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:start;gap:8px;padding:12px 12px 10px;display:flex}.calendar-day-head span{color:var(--muted);margin-bottom:3px;font-size:10px;display:block}.calendar-day-head strong{font-size:13px}.calendar-day-total{color:var(--muted);white-space:nowrap;font-size:11px;font-weight:700}.calendar-entries{align-content:start;gap:8px;padding:9px;display:grid}.calendar-event{border:1px solid #d8e2e5;border-left:4px solid var(--ok);text-align:left;width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:9px;box-shadow:0 2px 7px #19252e0d}.calendar-event:hover{border-color:#bdcbd0;transform:translateY(-1px)}.calendar-event.project-lalibela{border-left-color:var(--brand)}.calendar-event .event-top{justify-content:space-between;align-items:start;gap:6px;display:flex}.calendar-event strong{font-size:11px;line-height:1.3}.calendar-event time{white-space:nowrap;font-size:11px;font-weight:800}.calendar-event small{color:var(--muted);margin-top:5px;font-size:9px;line-height:1.35;display:block}.calendar-add{width:100%;color:var(--muted);background:0 0;border:1px dashed #cbd6da;border-radius:7px;padding:8px;font-size:11px}.calendar-add:hover{color:var(--brand-dark);border-color:var(--brand);background:#fff8f4}.timesheet .saved-rows td{color:var(--ink);background:#fbfcfc;font-size:12px}.timesheet .saved-rows tr.locked td{color:var(--muted)}.timesheet .note-cell{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.timesheet .draft-rows tr:first-child td{border-top:2px solid var(--line)}.timesheet .row-buttons{white-space:nowrap}.timesheet .row-errors td{color:var(--danger);background:#fdf3f2;font-size:11px;font-weight:600}.day-total.over-limit strong{color:var(--danger)}.sheet-banner{margin:12px 19px}.calendar-event.tone-0{border-left-color:var(--brand)}.calendar-event.tone-1{border-left-color:#8c69b5}.calendar-event.tone-2{border-left-color:#3d7fb6}.calendar-event.tone-3{border-left-color:var(--ok)}.calendar-event.tone-4{border-left-color:var(--danger)}.calendar-event.locked{opacity:.75}.calendar-day.is-today .calendar-day-head{box-shadow:inset 0 3px 0 var(--brand)}.calendar-day.is-today .calendar-day-head strong{color:var(--brand-dark)}.calendar-day-total.over-limit{color:var(--danger)}.calendar-closed{color:var(--muted);text-align:center;padding:8px;font-size:10px}.calendar-period a.button{text-decoration:none}.calendar-summary .over-target{color:var(--ok)}.modal.wide{flex-direction:column;width:min(760px,100%);display:flex;overflow:hidden}.modal.wide .modal-body{min-height:0;overflow-y:auto}.modal-foot .foot-sum{align-self:center;font-size:12px;font-weight:700}.modal-foot .foot-sum.sum-ok{color:var(--ok)}.modal-foot .foot-sum.over-limit{color:var(--danger)}.distribution-preview{border:1px solid var(--line);border-radius:9px;overflow:hidden}.distribution-preview .timesheet td,.distribution-preview .timesheet th{padding:7px 10px}.distribution-preview th.num,.distribution-preview td.num{text-align:right}.distribution-preview tfoot td{border-top:1px solid var(--line);background:#f8f9f9;font-weight:700}.distribution-preview .sum-ok{color:var(--ok)}.distribution-preview .over-limit,.distribution-problems{color:var(--danger)}.distribution-problems{margin:8px 0 0;padding-left:18px;font-size:11px;font-weight:600}.modal-backdrop{z-index:30;background:#0f191f85;place-items:center;padding:20px;display:none;position:fixed;inset:0}.modal-backdrop.open{display:grid}.modal{background:#fff;border-radius:13px;width:min(510px,100%);max-height:calc(100vh - 40px);overflow:hidden auto;box-shadow:0 24px 80px #00000047}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.modal-head h2{margin:0;font-size:17px}.close-modal{color:var(--muted);background:0 0;border:0;font-size:22px}.modal-body{gap:15px;padding:20px;display:grid}.modal-foot{border-top:1px solid var(--line);background:#f8f9f9;flex-wrap:wrap;justify-content:flex-end;gap:9px;padding:15px 20px;display:flex}.modal-foot .spacer{flex:1}.modal .form-banner{margin-bottom:0}.notice.compact{margin:0;padding:9px 12px}.date-shortcuts{flex-wrap:wrap;gap:8px;margin-top:-6px;display:flex}.field-help.over-limit{color:var(--danger);font-weight:650}input:disabled,select:disabled,textarea:disabled{color:var(--muted);background:#f4f6f7}.archived-projects>summary{cursor:pointer;list-style:none}.archived-projects>summary::-webkit-details-marker{display:none}.archived-projects:not([open])>summary{border-bottom:0}.project-meta .status{margin-top:-4px}.team-list li{padding:8px 0}.simple-list .mini-avatar{color:#435761;margin-top:0;display:grid}.team-list li:first-child{padding-top:0}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.stat{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:11px;min-width:0;padding:17px 18px}.stat-label{color:var(--muted);font-size:12px}.stat-value{letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap;margin:8px 0 3px;font-size:27px;font-weight:750;overflow:hidden}.stat-value.text{white-space:normal;font-size:19px;line-height:1.25}.stat-foot{color:var(--muted);font-size:11px}.stat-foot.warning{color:var(--warn);font-weight:650}.filter-result{color:var(--muted);font-size:11px}.overview-head{flex-wrap:wrap}.overview-head .filters{justify-content:flex-end}.overview-count{border-bottom:1px solid var(--line);padding:8px 19px}.project-overrun{color:var(--danger);margin-top:3px;font-size:10px;font-weight:700;display:block}.team-event{border-left-width:4px}.person-0{--person:var(--brand)}.person-1{--person:#3d7fb6}.person-2{--person:#8c69b5}.person-3{--person:var(--ok)}.person-4{--person:var(--warn)}.person-5{--person:var(--danger)}.person-6{--person:#2f9aa0}.person-7{--person:#6b7a86}.calendar-event.team-event{border-left-color:var(--person,var(--ok))}.event-user{align-items:center;gap:5px;margin-bottom:6px;display:flex}.event-user .mini-avatar{width:20px;height:20px;font-size:8px}.event-user span:last-child{font-size:10px;font-weight:700}.calendar-event .event-note{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-style:italic;display:-webkit-box;overflow:hidden}.calendar-empty{color:var(--muted);text-align:center;padding:10px;font-size:11px}.team-totals{border-bottom:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;padding:10px 19px;font-size:11px;display:flex}.team-totals-label{color:var(--ink);font-weight:700}.team-total{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.team-total strong{color:var(--ink)}.team-total.reached strong{color:var(--ok)}.person-dot{background:var(--person);border-radius:50%;width:8px;height:8px;display:inline-block}.date-filters{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.date-filters label{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.date-filters .field{padding:7px 9px;font-size:12px}.report-filters{margin-bottom:18px}.report-filters .panel-head{flex-wrap:wrap}.report-filters .form-banner{margin:0 19px 14px}.stats.three{grid-template-columns:repeat(3,minmax(0,1fr))}.tabs{background:var(--soft);border-radius:9px;gap:4px;padding:3px;display:flex}.tabs a{color:var(--muted);border-radius:7px;padding:6px 12px;font-size:12px;font-weight:650;text-decoration:none}.tabs a.active{background:var(--panel);color:var(--ink);box-shadow:0 1px 3px #19252e1f}.report-table th.num,.report-table td.num{text-align:right}.report-table td.strong{font-weight:750}.report-table td small{color:var(--muted);font-weight:400}.report-table .separated{border-left:1px solid var(--line)}.report-table .negative{color:var(--danger)}.report-table .name-cell>div{min-width:0}.report-table tfoot td{background:var(--soft);border-top:2px solid var(--line);font-weight:750}.report-table tr.expanded td{background:#fbfcfc}.report-detail>td{background:#f7f9f9;padding:12px 19px 16px 52px}.report-detail-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;gap:18px;display:grid}.report-detail table,.person-detail{background:var(--panel);border:1px solid var(--line);border-radius:8px;font-size:12px}.report-detail-grid th,.report-detail-grid td,.person-detail th,.person-detail td{padding:7px 10px}.muted-text{color:var(--muted);font-style:italic}.matrix-wrap{position:relative}.matrix th,.matrix td{white-space:nowrap;padding-left:12px;padding-right:12px}.matrix th small{color:var(--muted);font-size:9px;font-weight:600;display:block}.matrix-head{text-overflow:ellipsis;max-width:120px;margin-left:auto;display:block;overflow:hidden}.matrix .sticky-col{z-index:1;background:var(--panel);min-width:190px;box-shadow:1px 0 0 var(--line);position:sticky;left:0}.matrix thead .sticky-col{z-index:2;background:#f8f9f9}.matrix tfoot .sticky-col{background:var(--soft)}.matrix tr.expanded .sticky-col{background:#fbfcfc}.matrix .total-col{border-left:1px solid var(--line)}.detail-sticky{width:max-content;max-width:720px;position:sticky;left:52px}.person-detail{min-width:420px}@media (max-width:980px){.project-grid,.admin-grid,.new-project-layout{grid-template-columns:1fr}.task-row{grid-template-columns:minmax(180px,1fr) 90px 110px}.task-row>:nth-child(2),.task-row>:nth-child(5){display:none}.stats{grid-template-columns:1fr 1fr}}@media (max-width:720px){.app{grid-template-columns:1fr}.sidebar{gap:12px;padding:12px}.brand span,.nav-label,.sidebar-bottom{display:none}.nav{display:flex;overflow-x:auto}.nav a{white-space:nowrap}.topbar{padding:0 16px}.topbar p{display:none}main{padding:18px 14px 40px}.filters,.search{width:100%}.project-heading{display:block}.project-heading .actions{margin-top:14px}.form-grid,.form-grid.three,.member-picker{grid-template-columns:1fr}.task-editor{overflow-x:auto}.task-editor-head,.task-editor-row{min-width:650px}}@media (max-width:440px){.stats{grid-template-columns:1fr}}.alert-history{border-top:1px solid var(--line);color:var(--muted);gap:4px;margin:10px 0 0;padding:9px 0 0;font-size:11px;list-style:none;display:grid}.admin-tabs{margin-bottom:18px;display:inline-flex}.send-log td{vertical-align:top;font-size:12px}.send-log td small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.send-log td small.form-error{color:var(--danger)}.send-log .nowrap{white-space:nowrap}.exemption-form{padding:0}.form-actions{flex-wrap:wrap;grid-column:1/-1}
