:root{font-family:Inter,system-ui,-apple-system,sans-serif;color:#17324d;background:#f1f5f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:16px}button,input,select,textarea{font:inherit}button{border:0;border-radius:7px;padding:.7rem 1rem;background:#17324d;color:white;cursor:pointer;font-weight:650}button:hover{background:#235376}button.secondary{background:#e8eef3;color:#17324d}button.danger{background:#ac2536}button:disabled{opacity:.5;cursor:wait}input,select,textarea{width:100%;border:1px solid #bac8d3;border-radius:7px;padding:.7rem;background:white;color:#17324d}textarea{min-height:90px;resize:vertical}label{display:grid;gap:6px;font-size:14px;font-weight:650}label.check{display:flex;align-items:center}input[type=checkbox]{width:18px;height:18px}a{color:#2678a8}h1,h2,h3,p{margin-top:0}h1{font-size:28px;margin-bottom:6px}h2{font-size:21px}h3{font-size:16px}.muted{color:#607184;font-size:14px}.login{max-width:460px;margin:9vh auto;background:white;border:1px solid #dbe3eb;padding:38px;border-radius:14px;box-shadow:0 16px 60px #17324d0d}.wordmark{font-size:24px;font-weight:850;letter-spacing:2px;color:#17324d}.wordmark span{color:#b82435;letter-spacing:0;font-size:14px;display:block;margin-top:6px}.login h1{margin-top:35px}.stack{display:grid;gap:18px}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:#17324d;color:white;padding:28px 18px}.sidebar .wordmark{color:white;padding:0 12px}.sidebar .wordmark span{color:#ffbbc2}.sidebar nav{display:grid;gap:8px;margin-top:42px}.nav{background:transparent;color:#cfdeeb;text-align:left}.nav.active{background:#2b506f;color:white;border-left:3px solid #e75261}.identity{margin:30px 12px;font-size:14px;color:#cfdeeb;overflow-wrap:anywhere}.identity strong{color:white;display:block;margin-bottom:5px}.main{padding:32px 42px;min-width:0}.top{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}.month-picker{width:170px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}.card,.panel{background:white;border:1px solid #dbe3eb;border-radius:10px;padding:22px}.card .value{font-size:28px;font-weight:750;margin-top:8px}.panel{margin-bottom:20px}.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:18px}.toolbar h2{margin:0}.actions{display:flex;gap:8px;flex-wrap:wrap}.badge{display:inline-block;padding:5px 10px;border-radius:20px;background:#edf1f6;color:#526779;font-size:14px;font-weight:650;white-space:nowrap}.badge.Approved,.badge.Eligible{background:#e0f2e9;color:#187443}.badge.Reviewed{background:#e0eefb;color:#236fa1}.badge.Pending,.badge.Peer,.badge.Manager{background:#fff0cd;color:#856015}.badge.declined{background:#ffe3e5;color:#a01d2f}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{color:#64778a;text-align:left;font-weight:650;border-bottom:2px solid #e8edf2;padding:12px 10px;white-space:nowrap}td{padding:13px 10px;border-bottom:1px solid #e8edf2;vertical-align:middle}td.amount{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.table-action{padding:5px 10px;font-size:14px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.pay-header{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid #17324d;padding-bottom:18px;margin-bottom:18px}.pay-total{font-size:34px;font-weight:800}.row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #e8edf2}.stars{display:flex;gap:12px;flex-wrap:wrap}.star{flex:1;min-width:64px;border:1px solid #e5ebf1;border-radius:7px;text-align:center;padding:12px 6px}.star b{display:block;font-size:22px;margin-top:7px}.request{border-left:4px solid #2678a8}.request h3{margin:8px 0}.request p{white-space:pre-wrap}.timeline{font-size:14px;line-height:1.6;color:#64778a}.empty{padding:32px;text-align:center;color:#64778a;border:1px dashed #c3cfda;border-radius:9px}.note{padding:14px 18px;background:#e7f0f6;border-left:3px solid #2678a8;font-size:14px;line-height:1.6;margin-bottom:18px}.warning{background:#fff4d9;border-left-color:#b08522}dialog{border:0;border-radius:12px;padding:28px;width:min(650px,94vw);max-height:92vh;box-shadow:0 16px 80px #0004}dialog::backdrop{background:#17324d77}dialog .grid2{gap:14px}dialog h2{margin-bottom:22px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}#notice{position:fixed;bottom:24px;right:24px;background:#17324d;color:white;max-width:480px;padding:15px 22px;border-radius:9px;box-shadow:0 6px 25px #0003;display:none;z-index:9}#notice.error{background:#ac2536}.loading{padding:60px;text-align:center}pre{white-space:pre-wrap;font:14px system-ui}.small{font-size:14px}.total-line{font-weight:800;color:#087f8c}.print-only{display:none}#print-note{margin:10px 0;color:#64778a;font-size:14px}@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.main{padding:24px}.shell{grid-template-columns:190px 1fr}}@media(max-width:720px){.shell{display:block}.sidebar{padding:16px}.sidebar nav{display:flex;flex-wrap:wrap;margin-top:18px;gap:4px}.sidebar .identity{margin:14px 12px}.sidebar .logout{position:absolute;top:20px;right:16px}.main{padding:18px}.top{align-items:start}.top h1{font-size:24px}.grid2{grid-template-columns:1fr}.cards{gap:10px}.card{padding:15px}.card .value{font-size:24px}.pay-header{display:block}.toolbar{align-items:start;flex-direction:column}.pay-total{margin-top:15px}}@page{size:letter landscape;margin:.25in}@media print{body{background:white;font-size:9px}.sidebar,.top,.no-print,#notice,dialog{display:none!important}.shell{display:block}.main{padding:0}.panel{border:0;padding:3px;margin:0;break-inside:avoid}.grid2{gap:15px}.pay-header{margin-bottom:5px;padding-bottom:5px}.pay-header h1{font-size:19px}.pay-total{font-size:24px}.row{padding:3px 0}.stars .star{padding:3px}.star b{font-size:15px}.print-only{display:block}table{font-size:8px}th,td{padding:3px 4px}.table-wrap{overflow:visible}.badge{font-size:9px;padding:2px 5px}h2{font-size:12px;margin-bottom:4px}.muted{font-size:9px}.print-sheet{break-after:page}#print-note{display:none}.actions{display:none}}
