*{box-sizing:border-box}
body{--primary:#24364b;--accent:#087db4;margin:0;background:#fff;color:#263449;font:14px/1.5 system-ui,Arial,sans-serif}
.company-actua{--primary:#202b3b;--accent:#078ac9}.company-ptm{--primary:#352d3b;--accent:#982788}
a{color:var(--accent)}h1{font-size:25px;line-height:1.2}h2{font-size:16px}button{border:0;background:var(--accent);color:white;border-radius:7px;padding:10px 15px;font-weight:700;cursor:pointer}.secondary{background:white;color:var(--primary);border:1px solid #cfd7df}
.auth{max-width:480px;background:white;padding:35px;margin:8vh auto;border-radius:14px;box-shadow:0 10px 40px #1c2c421a}.auth form{margin-top:18px}.auth form button{margin-top:12px}.auth .company-card{display:flex;align-items:center;gap:20px;border:1px solid #e1e6eb;border-radius:8px;padding:10px}.company-card img{width:120px;height:75px;object-fit:contain}
.shell{display:grid;grid-template-columns:218px minmax(0,1fr);min-height:100vh}.side{background:var(--primary);color:white;padding:0 11px}.side-brand{height:37px;border-bottom:1px solid #ffffff24;font-size:15px;font-weight:800;display:flex;align-items:center;padding-left:9px}.side-company{margin:14px 0 8px;padding:7px 8px;border:1px solid #ffffff35;border-radius:8px;display:flex;align-items:center;gap:9px;font-size:12px}.side-company strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logo{width:27px;height:27px;object-fit:contain;background:white;border-radius:4px;padding:2px;flex:none}.side nav{display:grid;gap:2px;margin-top:10px}.side a{display:block;color:#e3ebf3;text-decoration:none;padding:8px 11px;border-radius:5px;font-size:13px;font-weight:600}.side a:hover,.side a.selected{background:#ffffff24}
.bar{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:9px 22px;background:white;border-bottom:1px solid #e6e9ee;flex-wrap:wrap;min-height:56px}.bar b{margin-right:auto;color:var(--primary)}.bar form{margin:0}.bar button{padding:7px 11px}.content{padding:26px;max-width:1380px;margin:auto}.content>h1{margin:4px 0 22px}.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(205px,1fr))}.card{background:white;border:1px solid #e4e8ee;border-radius:11px;padding:18px;margin:16px 0;box-shadow:0 2px 5px #23364c08}.card h2{margin-top:0}.list{overflow:auto}.list table{border-collapse:collapse;width:100%;min-width:570px}.list td,.list th{text-align:left;padding:10px;border-bottom:1px solid #e3e8ee}.list th{color:#65758a}.list a{text-decoration:none;font-weight:650}.small{font-size:12px;color:#6d7b8e}
.home-wrap{max-width:820px;margin:38px auto}.home-wrap>h1{margin:4px 0}.eyebrow{font-size:11px;color:var(--accent);font-weight:750;letter-spacing:.08em}.summary{margin:25px 0}.metric{text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:10px;min-height:140px}.metric strong{font-size:30px}.metric .small{margin-top:auto;color:var(--accent)}.pending-list a{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;padding:12px 3px;border-top:1px solid #e8edf1}.pending-list a span{margin-left:auto;color:var(--accent);font-size:12px}.pending-list a b{background:#e9f1ff;border-radius:5px;padding:3px 8px;color:#2c568b}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:10px}label{display:block;font-size:13px;font-weight:650}input,select,textarea{font:inherit;width:100%;border:1px solid #cfd8e2;border-radius:6px;padding:9px;margin-top:4px;background:white}input[type=checkbox]{width:auto}.form-grid button{align-self:end}.error{background:#fff0ef;border:1px solid #d8958d;color:#8d2419;padding:12px;border-radius:8px}.empty{color:#7a8898}.links a{display:inline-block;margin:5px;padding:7px 10px;border:1px solid #cfd8e2;border-radius:6px}.inline{display:inline-block}.inline button{padding:6px 9px}.note{background:#fff7e7;border:1px solid #f1dfba;padding:12px;border-radius:7px}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--accent)}
@media(max-width:780px){.shell{display:block}.side{padding-bottom:8px}.side nav{display:flex;overflow:auto}.side a{white-space:nowrap}.content{padding:16px}.home-wrap{margin:20px auto}.bar b{width:100%}}
.bar .year-picker{display:flex;align-items:end;gap:6px}.bar .year-picker label{font-size:12px;white-space:nowrap}.bar .year-picker select{width:auto;min-width:115px;margin-top:0;padding:6px}
