:root{--navy:#081522;--navy2:#10283b;--ink:#172333;--muted:#6c7b8e;--bg:#f4f7fa;--panel:#fff;--line:#dfe6ed;--red:#d71324;--redsoft:#fff0f2;--gold:#f3b900;--green:#16805d;--greensoft:#eaf8f2;--amber:#a86500;--ambersoft:#fff5e5;--blue:#2369a9;--bluesoft:#edf6ff;--shadow:0 14px 34px rgba(15,32,48,.08)}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button,a{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%}.app{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}
.sidebar{position:fixed;inset:0 auto 0 0;width:250px;padding:0 14px 18px;background:linear-gradient(180deg,#071420,#102235);color:#d9e4ee;display:flex;flex-direction:column;z-index:40;overflow:auto}.brand{height:106px;display:grid;place-items:center;border-bottom:1px solid rgba(255,255,255,.08)}.brand img{width:172px;height:72px;object-fit:contain}.context-card{margin:16px 2px 8px;padding:13px;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(255,255,255,.045)}.context-card span,.nav-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.context-card span{color:#91a4b7}.context-card strong{display:block;color:#fff;font-size:13px;line-height:1.35;margin-top:5px}.context-card small{display:block;color:#9fb0c0;font-size:10px;margin-top:4px}.nav-label{color:#72879a;margin:17px 10px 7px}.nav{display:grid;gap:3px}.nav a{min-height:43px;border-radius:10px;padding:0 11px;display:flex;align-items:center;gap:10px;font-size:12px;font-weight:650;color:#b7c5d2}.nav a:hover{background:rgba(255,255,255,.06);color:#fff}.nav a.active{background:linear-gradient(90deg,rgba(215,19,36,.2),rgba(255,255,255,.05));box-shadow:inset 3px 0 0 var(--red);color:#fff}.count{margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:7px;background:rgba(255,255,255,.09);display:grid;place-items:center;font-size:10px}.sidebar-bottom{margin-top:auto;padding:15px 4px 0;border-top:1px solid rgba(255,255,255,.08)}.signed-user{display:flex;gap:9px;align-items:center}.avatar{width:35px;height:35px;border-radius:10px;background:linear-gradient(145deg,var(--gold),#d89400);color:#111;display:grid;place-items:center;font-weight:900;font-size:11px}.signed-user strong{display:block;color:#fff;font-size:11px}.signed-user small{display:block;color:#8fa2b4;font-size:9px}.endorsement{font-size:8px;color:#71879b;margin-top:12px;line-height:1.5}
.main{grid-column:2;min-width:0}.topbar{height:72px;padding:0 28px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;display:flex;align-items:center}.page-title h1{margin:0;font-size:20px;letter-spacing:-.025em}.page-title p{margin:3px 0 0;font-size:11px;color:var(--muted)}.top-actions{margin-left:auto;display:flex;gap:8px;align-items:center}.icon-btn,.button{border:1px solid var(--line);background:#fff;border-radius:10px;color:#46576b;font-weight:800}.icon-btn{width:39px;height:39px;display:grid;place-items:center}.button{height:40px;padding:0 14px;font-size:11px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.button:hover,.icon-btn:hover{border-color:#c3cfda;box-shadow:0 6px 16px rgba(20,35,50,.07)}.button.primary{background:var(--red);border-color:var(--red);color:#fff}.button.dark{background:var(--navy2);border-color:var(--navy2);color:#fff}.button[disabled]{opacity:.48;cursor:not-allowed;box-shadow:none}.mobile-toggle{display:none}.content{padding:25px 28px 44px;max-width:1700px;margin:auto}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--red)}.hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:17px}.hero h2{font-size:31px;letter-spacing:-.04em;margin:5px 0 7px}.hero p{font-size:12px;line-height:1.6;color:var(--muted);max-width:760px;margin:0}.hero-actions{display:flex;gap:9px;flex-wrap:wrap}.tagline{font-weight:800;color:#4a5b6f;margin-top:9px!important}.summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin-bottom:16px}.summary-card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:15px;box-shadow:0 5px 20px rgba(24,39,56,.045)}.summary-card{padding:15px 16px}.summary-card .top{display:flex;justify-content:space-between;gap:8px;font-size:10px;font-weight:800;color:var(--muted)}.summary-card strong{display:block;font-size:28px;letter-spacing:-.04em;margin:8px 0 2px}.summary-card small{display:block;font-size:9px;line-height:1.45;color:#8492a1}.summary-card.warn{background:#fffaf1;border-color:#edd4a2}.summary-card.ok{background:#f7fffb;border-color:#bfe5d6}.pill{height:23px;padding:0 8px;border-radius:999px;display:inline-flex;align-items:center;font-size:8px;font-weight:900}.pill.red{background:var(--redsoft);color:#b22431}.pill.amber{background:var(--ambersoft);color:var(--amber)}.pill.green{background:var(--greensoft);color:var(--green)}.pill.blue{background:var(--bluesoft);color:var(--blue)}
.panel-head{padding:16px 17px 13px;display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.panel-head h3{font-size:14px;margin:0}.panel-head p{font-size:9px;line-height:1.45;color:var(--muted);margin:4px 0 0}.toolbar{padding:0 16px 14px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.search{height:39px;min-width:260px;max-width:390px;flex:1;border:1px solid var(--line);border-radius:10px;background:#fff;display:flex;align-items:center;gap:8px;padding:0 11px;color:#8695a5}.search input{border:0;outline:0;width:100%;font-size:10px;background:transparent}.filter{height:34px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:0 10px;font-size:9px;font-weight:850;color:#5c6d80}.filter.active{background:#edf2f7;color:#172333}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th{height:43px;padding:0 12px;background:#f8fafc;border-top:1px solid #edf1f5;border-bottom:1px solid var(--line);font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:#718095;text-align:left;white-space:nowrap}td{height:68px;padding:10px 12px;border-bottom:1px solid #edf1f5;font-size:10px;vertical-align:middle;white-space:nowrap}tbody tr:hover{background:#fbfcfe}.company-cell,.employee-name{display:flex;align-items:center;gap:10px}.company-initial{width:34px;height:34px;border-radius:10px;background:#edf1f5;color:#42536a;display:grid;place-items:center;font-size:10px;font-weight:900}.company-cell strong,.employee-name strong{display:block;font-size:10px}.company-cell small,.employee-name small{display:block;color:#8896a5;font-size:8px;margin-top:2px}.progress{min-width:120px}.progress-track{height:6px;border-radius:999px;background:#e8edf3;overflow:hidden;margin-top:5px}.progress-track i{display:block;height:100%;background:var(--red);border-radius:999px}.status{display:inline-flex;align-items:center;gap:6px;font-size:9px;font-weight:850}.status i{width:7px;height:7px;border-radius:50%;background:#94a3b2}.status.review i{background:#df9200}.status.ready i{background:var(--green)}.status.blocked i{background:var(--red)}.status.progressing i{background:var(--blue)}.two-column{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:15px}.side-stack{display:grid;gap:15px;align-content:start}.list{padding:0 16px 14px}.list-row{display:grid;grid-template-columns:37px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #edf1f5}.list-row:last-child{border-bottom:0}.list-icon{width:36px;height:36px;border-radius:10px;background:#f1f4f7;color:#68798c;display:grid;place-items:center}.list-icon.warn{background:var(--ambersoft);color:var(--amber)}.list-icon.red{background:var(--redsoft);color:var(--red)}.list-icon.green{background:var(--greensoft);color:var(--green)}.list-row strong{display:block;font-size:10px}.list-row small{display:block;color:#8694a3;font-size:8px;line-height:1.4;margin-top:2px}
.hero-payroll{background:linear-gradient(135deg,#091824,#143046);color:#fff;border-radius:17px;padding:20px;display:flex;justify-content:space-between;gap:20px;margin-bottom:15px}.hero-payroll .eyebrow{color:#ff737e}.hero-payroll h2{font-size:28px;margin:5px 0}.hero-payroll p{font-size:10px;color:#afbfcd;margin:0}.hero-payroll .totals{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;min-width:570px}.total-box{padding:12px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.055);border-radius:11px}.total-box span{display:block;color:#93a6b7;font-size:8px}.total-box strong{display:block;font-size:17px;margin-top:5px}.checklist{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 16px 16px}.check-item{border:1px solid var(--line);border-radius:11px;background:#fff;padding:10px;display:flex;gap:9px;text-align:left;align-items:center}.check-item .ico{width:29px;height:29px;border-radius:9px;background:var(--ambersoft);color:var(--amber);display:grid;place-items:center;font-size:9px;font-weight:900}.check-item.done .ico{background:var(--greensoft);color:var(--green)}.check-item strong{display:block;font-size:9px}.check-item small{display:block;color:#8794a3;font-size:7px;margin-top:2px}.period-strip{display:grid;grid-template-columns:repeat(12,minmax(68px,1fr));gap:6px;padding:13px 16px;border-top:1px solid #edf1f5}.period{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 6px;text-align:center;font-size:8px;color:#728196}.period strong{display:block;color:#26374a;font-size:9px}.period.done{background:#f7fffb;border-color:#c8e7db}.period.future{background:#fafbfd;color:#a0aab5}.period.current{border-color:var(--red);box-shadow:0 0 0 2px var(--redsoft)}.month-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:12px}.month-action{min-height:66px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px;display:flex;gap:9px;align-items:center;text-align:left}.month-action:hover{border-color:#c6d1dc;box-shadow:0 6px 18px rgba(20,35,52,.06)}.month-action .ico{width:30px;height:30px;border-radius:9px;background:var(--redsoft);color:var(--red);display:grid;place-items:center;font-weight:900;flex:0 0 auto}.month-action strong{display:block;font-size:9px}.month-action small{display:block;color:#8794a3;font-size:7px;line-height:1.3;margin-top:2px}.payroll-shell{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:15px}.payroll-table{min-width:1050px}.pay-input{width:86px;height:34px;border:1px solid #bdcbd8;border-radius:8px;padding:0 8px;text-align:right;font-size:10px;background:#fff}.pay-input:focus{outline:2px solid rgba(215,19,36,.12);border-color:#d96e79}.employee-row.active{background:#fff7f8;box-shadow:inset 3px 0 0 var(--red)}.right-panel{position:sticky;top:88px}.detail-card{padding:0 16px 15px}.employee-head{display:flex;align-items:center;gap:11px;padding-bottom:13px;border-bottom:1px solid #edf1f5}.employee-head .company-initial{width:42px;height:42px}.employee-head h4{margin:0;font-size:13px}.employee-head p{margin:3px 0 0;color:var(--muted);font-size:8px}.breakdown{padding-top:10px}.breakdown-row{display:flex;justify-content:space-between;gap:10px;padding:7px 0;font-size:9px}.breakdown-row.total{border-top:1px solid var(--line);margin-top:5px;padding-top:11px;font-weight:900;font-size:10px}.blocking-note{margin:0 16px 14px;padding:10px 12px;border-radius:10px;background:var(--redsoft);color:#a42531;font-size:9px;line-height:1.45}.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.support-card{padding:18px}.support-card h3{margin:0 0 6px;font-size:14px}.support-card p{font-size:10px;line-height:1.55;color:var(--muted);margin:0 0 13px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:10px;font-weight:800}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:9px;background:#fff;padding:10px;font-size:11px;outline:0}.field textarea{min-height:110px;resize:vertical}.notice{padding:14px 16px;border-radius:12px;border:1px solid #cfe3f5;background:#f3f9ff;font-size:10px;line-height:1.55;color:#365c7f}.toast{position:fixed;right:24px;bottom:24px;background:#101c29;color:#fff;padding:12px 16px;border-radius:10px;box-shadow:var(--shadow);font-size:11px;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s;z-index:100}.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:1260px){.summary-grid{grid-template-columns:repeat(3,1fr)}.two-column,.payroll-shell{grid-template-columns:1fr}.right-panel{position:static}.hero-payroll{flex-direction:column}.hero-payroll .totals{min-width:0}.support-grid{grid-template-columns:1fr 1fr}}
@media(max-width:850px){.app{grid-template-columns:1fr}.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.main{grid-column:1}.mobile-toggle{display:grid}.content{padding:20px 16px}.topbar{padding:0 16px}.summary-grid{grid-template-columns:repeat(2,1fr)}.hero{flex-direction:column}.month-actions{grid-template-columns:repeat(2,1fr)}.checklist,.support-grid,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}
@media(max-width:560px){.summary-grid{grid-template-columns:1fr}.hero h2{font-size:26px}.hero-payroll .totals{grid-template-columns:repeat(2,1fr)}.month-actions{grid-template-columns:1fr}.search{min-width:100%}}
