:root{--purple:#5b4a9f;--purple-dark:#4a3c85;--bg:#eef1f6;--border:#d8dce3;--link:#2563a8;--amber:#f5a623;--amber-bg:#fdf3df;--amber-rule:#e0a020;--coral:#e2574c;--slate:#8a94a6;--green:#3fae5b;--row-detail-bg:#eef2f8;--text:#2b2f36;--text-muted:#6b7280}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px}a{color:var(--link);cursor:pointer;text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit}.icon-btn{border:1px solid var(--border);color:#5b6472;background:#fff;border-radius:4px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.icon-btn svg{stroke:#5b6472;fill:none;stroke-width:1.6px;width:16px;height:16px}.app-header{border-bottom:1px solid var(--border);background:#fff}.header-top{justify-content:space-between;align-items:center;padding:10px 20px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand .wordmark{color:#2b2f36;font-size:15px;font-weight:700;line-height:1.15}.brand .pill{color:#4a5160;background:#eceef2;border-radius:14px;margin-left:6px;padding:4px 12px;font-size:13px;font-weight:600}.header-right{align-items:center;gap:16px;display:flex}.hr-item{color:#5b6472;flex-direction:column;align-items:center;gap:2px;font-size:10px;display:flex}.hr-item svg{stroke:#5b6472;fill:none;stroke-width:1.5px;width:20px;height:20px}.claimnum-search{border:1px solid var(--border);border-radius:4px;align-items:center;display:flex;overflow:hidden}.claimnum-search .label{color:#5b6472;border-right:1px solid var(--border);white-space:nowrap;background:#f3f4f7;padding:6px 10px;font-size:12px}.claimnum-search input{border:none;outline:none;width:150px;padding:6px 8px;font-size:13px}.claimnum-search .go{color:#5b6472;background:0 0;border:none;align-items:center;padding:0 8px;display:flex}.claimnum-search .go svg{stroke:#5b6472;fill:none;stroke-width:1.7px;width:15px;height:15px}.avatar{border:1px solid var(--border);color:#4a5160;background:#eceef2;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:flex}.header-nav{border-top:1px solid #eef0f3;justify-content:center;gap:34px;display:flex}.nav-item{color:#3a3f47;border-bottom:3px solid #0000;align-items:center;gap:4px;padding:11px 2px;font-size:14px;font-weight:500;display:flex}.nav-item.active{border-bottom-color:var(--purple);color:#20232a;font-weight:700}.nav-item.inert{cursor:default}.nav-item .caret{color:#8a90a0;font-size:10px}.screen{max-width:1500px;margin:0 auto;padding:18px 20px 60px}.card{border:1px solid var(--border);border-top:3px solid var(--purple);background:#fff;border-radius:4px;margin-bottom:16px;padding:16px 18px}.badge-pill{background:var(--purple);color:#fff;border-radius:12px;margin-left:6px;padding:2px 10px;font-size:12px;font-weight:700}.alert-banner{background:var(--amber-bg);border-left:4px solid var(--amber-rule);align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:13.5px;display:flex}.alert-banner svg{stroke:#b9791a;fill:none;stroke-width:1.6px;flex-shrink:0;width:18px;height:18px}.metrics-head{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.metrics-head h2{margin:0;font-size:15px;font-weight:600}.metrics-row{flex-wrap:wrap;gap:34px;display:flex}.metric{color:#3a3f47;font-size:13.5px}.tasks-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.tasks-head h2{margin:0;font-size:15px;font-weight:600}.tasks-head .actions{gap:8px;display:flex}.tasks-filters{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}select{border:1px solid var(--border);color:#2b2f36;background:#fff;border-radius:4px;padding:6px 10px;font-size:13px}.tab-strip{border-bottom:1px solid var(--border);display:flex}.tab{color:#3a3f47;cursor:pointer;background:0 0;border:1px solid #0000;border-bottom:none;align-items:center;gap:8px;padding:10px 16px;font-size:13.5px;display:flex}.tab.active{border-color:var(--border);border-top:2px solid var(--text-muted);background:#f3f4f7;border-radius:4px 4px 0 0;font-weight:600}.tab-badge{color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:700;display:flex}.badge-overdue{background:var(--coral)}.badge-today{background:var(--amber)}.badge-week{background:var(--slate)}.badge-completed{background:var(--green)}.badge-completed.empty{color:var(--green);border:2px solid var(--green);background:0 0;width:18px;height:18px;padding:0}.grid-wrap{border:1px solid var(--border);border-top:none;overflow-x:auto}table.grid{border-collapse:collapse;width:100%;min-width:1180px;font-size:13px}table.grid thead th{color:#2b2f36;text-align:left;white-space:nowrap;border-bottom:1px solid var(--border);background:#f3f4f7;padding:9px 12px;font-weight:700}table.grid thead th .fcell{align-items:center;gap:6px;display:flex}table.grid thead th svg.funnel{stroke:#8a90a0;fill:none;stroke-width:1.6px;width:11px;height:11px}table.grid tbody td{border-bottom:1px solid var(--border);white-space:nowrap;color:#2b2f36;padding:9px 12px}table.grid tbody tr.datarow{background:#fff}tr.even-row{background:#f8f9fb}.chev-btn{color:#5b6472;background:0 0;border:none;padding:0;display:flex}.chev-btn svg{stroke:#5b6472;fill:none;stroke-width:1.8px;width:14px;height:14px}.chev-btn.open svg{transform:rotate(90deg)}.empty-state-row td{text-align:center;color:var(--text-muted);white-space:normal;padding:26px}table.grid tbody tr.detail-row td{background:var(--row-detail-bg);border-bottom:1px solid var(--border);white-space:normal;padding:14px 20px}.detail-fields{flex-wrap:wrap;align-items:flex-start;gap:34px;display:flex}.detail-field{min-width:120px}.detail-field.desc{flex:260px;max-width:320px}.detail-field.comment{flex:320px;max-width:460px}.detail-field label{color:#5b6472;text-transform:uppercase;letter-spacing:.02em;margin-bottom:4px;font-size:11px;font-weight:700;display:block}.detail-field .val{color:#2b2f36;font-size:13px}.comment-text{white-space:normal;overflow-wrap:anywhere}.comment-empty{color:var(--text-muted);font-style:italic}.pagination{color:#3a3f47;justify-content:space-between;align-items:center;padding:10px 4px 0;font-size:13px;display:flex}.pagination .pager-btns{align-items:center;gap:6px;display:flex}.pagination .pager-btns button{border:1px solid var(--border);color:#5b6472;background:#fff;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.pagination .pager-btns button:disabled{opacity:.4;cursor:default}.pagination .pager-btns button svg{stroke:#5b6472;fill:none;stroke-width:2px;width:13px;height:13px}.pagination .right{align-items:center;gap:14px;display:flex}.page-box{text-align:center;border:1px solid var(--border);border-radius:3px;width:34px}.breadcrumb{color:#5b6472;margin-bottom:10px;font-size:12.5px}.top-portlet-link{justify-content:flex-end;margin-bottom:8px;display:flex}.layout3{grid-template-columns:250px 1fr 260px;align-items:start;gap:16px;display:grid}.side-card{border:1px solid var(--border);background:#fff;border-radius:4px;margin-bottom:16px;padding:14px 16px}.side-card h3{justify-content:space-between;align-items:center;margin:0 0 10px;font-size:14px;font-weight:700;display:flex}.side-card h3 svg{stroke:#5b6472;fill:none;stroke-width:1.7px;width:14px;height:14px}.tree-row{border-bottom:1px solid #f1f2f5;justify-content:space-between;align-items:center;padding:6px 0;display:flex}.tree-row:last-child{border-bottom:none}.tree-row .k{color:#6b7280;font-size:11px;display:block}.tree-row .v{font-size:13px}.tree-chev{color:#8a90a0;background:0 0;border:none;display:flex}.tree-chev svg{stroke:#8a90a0;fill:none;stroke-width:2px;width:13px;height:13px}.claimants-block{margin-top:10px}.claimant-name{align-items:center;gap:6px;padding:5px 0;font-size:13px;font-weight:600;display:flex}.claimant-name svg{stroke:#8a90a0;fill:none;stroke-width:1.6px;width:13px;height:13px}.claim-line{color:#3a3f47;justify-content:space-between;align-items:center;padding:5px 0 5px 18px;font-size:13px;display:flex}.page-action-link,.need-to-link{color:var(--link);border-bottom:1px solid #f1f2f5;padding:6px 0;font-size:13px;display:block}.page-action-link:last-child,.need-to-link:last-child{border-bottom:none}.worksheet-card{border:1px solid var(--border);background:#fff;border-radius:4px;padding:18px 20px}.worksheet-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.worksheet-head h2{margin:0;font-size:18px;font-weight:700}.btn-purple{background:var(--purple);color:#fff;border:none;border-radius:4px;padding:8px 18px;font-size:13px;font-weight:600}.btn-purple:hover{background:var(--purple-dark)}.btn-purple:disabled{opacity:.5;cursor:default}.view-setup-link{margin-bottom:14px;display:inline-block}.ws-controls{align-items:flex-end;gap:36px;margin-bottom:6px;display:flex}.ws-field label{color:#6b7280;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:700;display:block}.ws-field select{min-width:230px}.reserve-type-opts{align-items:center;gap:16px;font-size:13px;display:flex}.reserve-type-opts label{align-items:center;gap:6px;display:flex}.saved-line{color:#3a3f47;margin:12px 0;font-size:13px;font-style:italic}.ws-btn-row{justify-content:flex-end;gap:10px;margin-bottom:14px;display:flex}table.reserve-grid{border-collapse:collapse;width:100%;font-size:13px}table.reserve-grid thead th{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;background:#f3f4f7;padding:8px 10px;font-weight:700}table.reserve-grid tbody td{border-bottom:1px solid var(--border);padding:8px 10px}table.reserve-grid td.num{text-align:right}tr.group-header td{background:#eceef2;padding:7px 10px;font-weight:700}tr.totals-row td{border-top:2px solid var(--border);font-weight:700}.rg-actions{gap:8px;display:flex}.rg-actions svg{stroke:#5b6472;fill:none;stroke-width:1.6px;width:14px;height:14px}.menu-dots{color:#5b6472;letter-spacing:1px;font-weight:700}.ws-bottom-actions{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.ws-back-row{justify-content:flex-start;margin-top:10px;display:flex}.pending-flag{color:var(--coral);font-weight:700}.participant-row{border-bottom:1px solid #f1f2f5;justify-content:space-between;align-items:center;padding:6px 0;font-size:13px;display:flex}.participant-row:last-child{border-bottom:none}.participant-row .left{align-items:center;gap:6px;display:flex}.participant-row svg{stroke:#8a90a0;fill:none;stroke-width:1.7px;width:13px;height:13px}.filenote-item{border-bottom:1px solid #f1f2f5;padding:6px 0;font-size:13px}.filenote-item:last-of-type{border-bottom:none}.filenote-item .fn-body{color:#4a5160;margin-top:4px;font-size:12.5px}.muted-note{color:var(--text-muted);font-size:13px}.close-x{color:#8a90a0;background:0 0;border:none}.close-x svg{stroke:#8a90a0;fill:none;stroke-width:1.8px;width:14px;height:14px}.submit-wrap{max-width:620px;margin:0 auto}.submit-card{border:1px solid var(--border);border-top:3px solid var(--purple);background:#fff;border-radius:4px;padding:22px 24px}.submit-card h2{margin:0 0 4px;font-size:18px}.submit-sub{color:var(--text-muted);margin-bottom:18px;font-size:13px}.submit-field{margin-bottom:14px}.submit-field label{color:#5b6472;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:700;display:block}.submit-field input,.submit-field select{border:1px solid var(--border);border-radius:4px;width:100%;padding:9px 10px;font-size:14px}.submit-readonly{border:1px solid var(--border);background:#f7f8fa;border-radius:4px;margin-bottom:18px;padding:12px 14px;font-size:13px}.submit-readonly div{justify-content:space-between;padding:3px 0;display:flex}.submit-result{border-radius:4px;margin-top:18px;padding:14px 16px;font-size:13px;line-height:1.5}.submit-result.blocked{background:var(--amber-bg);border-left:4px solid var(--amber-rule)}.submit-result.posted{border-left:4px solid var(--green);background:#eaf6ec}.loading-note{color:var(--text-muted);padding:30px 4px;font-size:13px}.comment-text .run-details-link{border:1px solid var(--purple);width:fit-content;color:var(--purple);white-space:nowrap;cursor:pointer;background:#fff;border-radius:4px;margin:12px 0 2px;padding:5px 14px;font-size:11px;font-weight:600;line-height:1.6;text-decoration:none;transition:background-color .12s,color .12s;display:block}.comment-text .run-details-link:hover{background:var(--purple);color:#fff}.comment-text .run-details-link:focus{outline:none}.comment-text .run-details-link:focus-visible{outline:none;box-shadow:0 0 0 3px #5b4a9f40}.held-card{z-index:60;border:1px solid var(--border);pointer-events:auto;background:#fff;border-radius:6px;width:340px;font-size:12px;overflow:hidden;box-shadow:0 8px 28px #11182729}.held-card-head{background:var(--purple);color:#fff;letter-spacing:.03em;text-transform:uppercase;padding:7px 12px;font-size:11px;font-weight:700}.held-card table{border-collapse:collapse;width:100%}.held-card th{text-align:left;vertical-align:top;color:#5b6472;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;width:128px;padding:6px 10px 6px 12px;font-size:11px;font-weight:600}.held-card td{color:#1f2430;overflow-wrap:anywhere;padding:6px 12px 6px 0}.held-card tr+tr th,.held-card tr+tr td{border-top:1px solid #eef0f4}.held-card-foot{border-top:1px solid var(--border);color:#6b7280;background:#f7f8fa;padding:6px 12px;font-size:11px;font-style:italic}.held-card.approved .held-card-head{background:#1f7a44}.doc-item{padding:4px 0 2px}.doc-item+.doc-item{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.doc-meta{color:var(--text-muted);margin-top:3px;font-size:12px;line-height:1.7}.doc-status{border-top:1px solid var(--border);margin-top:9px;padding-top:9px;font-size:12px}table.wage-table{border-collapse:collapse;width:100%;font-size:12px}table.wage-table td{padding:4px 0}table.wage-table td.num{text-align:right;font-variant-numeric:tabular-nums}table.wage-table td.strong{font-weight:700}table.wage-table tr.wage-sep td{border-top:1px solid var(--border);padding-top:9px}.wage-note{color:var(--text-muted);font-size:11px}.wage-source{color:var(--text-muted);margin-top:10px;font-size:11px;line-height:1.6}.worksheet-col{min-width:0}.proj-card{border:1px solid var(--border);background:#fff;border-radius:6px;margin-top:22px;padding:22px 24px}.proj-head{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.proj-head h2{margin:0;font-size:18px}.proj-src{color:var(--text-muted);font-size:12px}.proj-foot{color:var(--text-muted);padding-top:12px;font-size:12px;font-style:italic}.submit-report{border:1px solid var(--border);border-radius:5px;margin:6px 0 4px;padding:12px 14px}.submit-report-head{justify-content:space-between;align-items:baseline;font-size:13px;font-weight:600;display:flex}.submit-report-head a{font-size:12px;font-weight:400}table.submit-lines{border-collapse:collapse;width:100%;margin-top:8px;font-size:12px}table.submit-lines th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;padding:4px 0;font-size:11px;font-weight:600}table.submit-lines th.num,table.submit-lines td.num{text-align:right;font-variant-numeric:tabular-nums}table.submit-lines td{border-top:1px solid var(--border);padding:5px 0}table.submit-lines tr.line-total td{border-top:1px solid var(--border-strong);font-weight:700}.submit-compare{border-top:1px solid var(--border);margin-top:10px;padding-top:10px;font-size:12px}.submit-compare>div{justify-content:space-between;gap:12px;padding:3px 0;display:flex}.submit-compare>div>span:first-child{color:var(--text-muted);min-width:130px}.submit-compare>div>span:nth-child(2){color:var(--text-secondary);flex:1}.authority-note{color:var(--text-muted);margin-top:6px;font-size:12px}.reset-menu{align-items:center;display:flex;position:relative}.reset-kebab{cursor:pointer;color:#6b7280;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;width:22px;height:28px;margin-left:2px;padding:0;display:flex}.reset-kebab:hover{color:#374151;background:#f1f2f6}.reset-kebab svg{fill:currentColor;width:16px;height:16px}.reset-dropdown{z-index:50;background:#fff;border:1px solid #d8dae0;border-radius:6px;min-width:124px;padding:4px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 6px 18px #10182824}.reset-item{width:100%;font:inherit;text-align:left;color:#1f2937;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:7px 10px;font-size:13px;display:block}.reset-item:hover:not(:disabled){background:#f1f2f6}.reset-item:disabled{color:#9ca3af;cursor:default}.reset-item-wrap{position:relative}.reset-hint{color:#f9fafb;pointer-events:none;z-index:60;background:#1f2937;border-radius:5px;width:232px;padding:7px 9px;font-size:12px;line-height:1.35;position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%);box-shadow:0 4px 12px #10182833}.reset-hint:after{content:"";border:5px solid #0000;border-left-color:#1f2937;position:absolute;top:50%;left:100%;transform:translateY(-50%)}.login-screen{background:#eef0f6;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{border:1px solid var(--border);background:#fff;border-radius:8px;width:100%;max-width:380px;padding:28px 30px 30px;box-shadow:0 10px 34px #1118271a}.login-brand{align-items:center;gap:10px;margin-bottom:20px;display:flex}.login-wordmark{color:#1f2937;font-size:13px;font-weight:700;line-height:1.15}.login-card h1{color:#111827;margin:0 0 4px;font-size:20px}.login-sub{color:#6b7280;margin:0 0 20px;font-size:13px}.login-field{margin-bottom:14px}.login-field label{color:#374151;margin-bottom:5px;font-size:12px;font-weight:600;display:block}.login-field input{width:100%;font:inherit;background:#fff;border:1px solid #cbd0d8;border-radius:5px;padding:8px 10px;font-size:14px}.login-field input:focus{border-color:var(--purple);outline:none;box-shadow:0 0 0 3px #5b4a9f24}.login-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:5px;margin-bottom:14px;padding:8px 10px;font-size:12.5px}.login-submit{width:100%;margin-top:4px}.login-notice{color:#075985;background:#f0f9ff;border:1px solid #bae6fd;border-radius:5px;margin-bottom:14px;padding:8px 10px;font-size:12.5px}.login-forgot{width:100%;font:inherit;color:var(--purple);cursor:pointer;background:0 0;border:0;margin-top:10px;padding:6px;font-size:12.5px;text-decoration:underline;display:block}.login-forgot:hover:not(:disabled){color:#3b2f72}.login-forgot:disabled{color:#9ca3af;cursor:default;text-decoration:none}
