:root{--cream:#f4f0e8;--paper:#fffcf6;--ink:#30271f;--muted:#746c61;--line:#dcd1c0;--gold:#a87742;--dark:#302b23;--red:#a33f31;--green:#526848;font:15px/1.55 Arial,sans-serif;color:var(--ink);background:var(--cream)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer;color:inherit;background:none;border:0;padding:10px 14px}button:disabled{opacity:.45;cursor:default}a{color:var(--gold);text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b9894f;outline-offset:3px}[hidden]{display:none!important}.topbar{height:92px;background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 44px}.brand{display:flex;align-items:center;gap:20px;text-decoration:none;color:var(--ink);font-size:15px;letter-spacing:2px}.brand img{width:70px;height:60px;object-fit:contain}.brand-sub{display:block;letter-spacing:2px;font-size:9px;color:var(--gold);margin-top:3px}.topbar nav{display:flex;gap:20px;align-items:center;font-size:13px;color:var(--muted)}.layout{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 92px)}aside{border-right:1px solid var(--line);padding:40px 22px;position:relative}.eyebrow,.nav-label,.period label{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--gold)}.nav-label{color:var(--muted);margin-top:35px}.nav-item{display:flex;justify-content:space-between;width:100%;text-align:left;padding:13px 12px;margin:3px 0;border-left:2px solid transparent;font-size:14px}.nav-item.active{background:#e9e0d2;border-left-color:var(--gold);font-weight:700}.nav-item:hover{background:#ede6db}.sidebar-note{color:var(--muted);font:italic 16px/1.6 Georgia,serif;border-top:1px solid var(--line);padding-top:24px;margin:55px 10px}main{max-width:1550px;width:100%;padding:48px 52px 24px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:28px}h1,h2,h3{font-family:Georgia,serif;font-weight:400}h1{font-size:clamp(34px,3.6vw,57px);line-height:1.12;letter-spacing:-1.8px;margin:10px 0 18px}h2{font-size:30px;line-height:1.2;margin:6px 0 14px;letter-spacing:-.5px}h3{font-size:25px;margin:0}.page-heading p:not(.eyebrow){color:var(--muted);margin:0}.period{min-width:240px}.period>div{border:1px solid var(--line);background:var(--paper);display:flex;margin-top:8px;align-items:center}.period input{border:0;background:transparent;width:165px;padding:10px 3px}.period button{font-size:24px;padding:6px 12px}.summary{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);margin:28px 0 46px;padding:25px 0}.summary>div{padding:0 24px;border-right:1px solid var(--line)}.summary>div:first-child{padding-left:0}.summary>div:last-child{border:0}.summary p{margin:0 0 8px;color:var(--muted);font-size:12px}.summary strong{font:32px Georgia,serif;display:block;letter-spacing:-.7px}.summary small{display:block;color:var(--muted);font-size:11px;margin-top:7px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}.section-heading .eyebrow{margin:0}.muted{color:var(--muted)}.small{font-size:12px}.department-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.department-card{background:var(--paper);padding:25px 25px 18px;border:1px solid var(--line);display:flex;flex-direction:column;min-height:255px}.department-card .card-top{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:28px}.tag{font-size:10px;letter-spacing:.4px;color:var(--muted);white-space:nowrap;background:#efe8dc;padding:4px 7px}.tag.ready{color:var(--green);background:#e9ecdf}.big-number{font:45px Georgia,serif;letter-spacing:-1px;margin:0}.card-main{display:flex;justify-content:space-between;align-items:end;gap:10px}.card-main small{color:var(--muted);font-size:11px}.card-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.card-facts dt{color:var(--muted);font-size:10px}.card-facts dd{margin:4px 0;font-size:14px}.card-footer{margin-top:auto;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px;font-size:11px;color:var(--muted)}.card-footer button{font-size:12px;color:var(--ink);padding:6px 0}.empty-card{color:var(--muted);font-size:13px;min-height:100px;max-width:245px}.over{color:var(--red)!important}.source-note{display:flex;align-items:center;justify-content:space-between;gap:25px;border-block:1px solid var(--line);padding:24px 0;margin-top:32px;font-size:12px}.source-note strong{font-size:13px}.source-note p{margin:6px 0 0;color:var(--muted);max-width:680px}.primary{background:var(--dark);color:white;border:1px solid var(--dark);padding:12px 21px}.secondary{border:1px solid #bcb09e;background:var(--paper);padding:11px 16px;font-size:13px}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.notice{padding:18px 22px;border-left:2px solid var(--gold);background:#eee7db;margin-bottom:28px;font-size:13px}.notice:empty{display:none}.table-wrap{overflow-x:auto;background:var(--paper);border:1px solid var(--line)}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;text-align:right;font-size:13px}th,td{border-bottom:1px solid #e9e1d6;padding:12px 10px}thead{background:#ece4d7}thead th{font-size:11px;font-weight:600;white-space:nowrap;padding-block:18px}th:first-child{text-align:left;min-width:105px;padding-left:20px}tbody th{font-weight:400}td input{width:100%;min-width:75px;max-width:125px;padding:9px 8px;border:1px solid #ddd4c6;background:#fffefa;text-align:right;font-size:13px;border-radius:0}tr.closed{color:#8b8478;background:#f3eee5}tr.closed input{background:transparent;border-color:transparent}td.cost,td.percentage{min-width:100px}.export-row{display:flex;justify-content:space-between;align-items:center;gap:30px;margin:25px 0}.export-row>p{max-width:570px}footer{border-top:1px solid var(--line);margin-top:55px;padding:22px 0;display:flex;justify-content:space-between;color:var(--muted);font-size:10px;letter-spacing:1px}footer span:last-child{font:italic 14px Georgia,serif;letter-spacing:0}#feedback{font-size:13px;min-height:20px;color:var(--muted);margin:0}.error{color:var(--red)!important}dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:36px;max-width:800px;width:calc(100% - 32px);max-height:90vh;overflow-y:auto}dialog::backdrop{background:#211a1466;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;gap:20px;align-items:start}.dialog-heading button{font-size:25px}.dialog-actions{justify-content:flex-end;margin-top:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}label{display:block;font-size:12px;font-weight:600;margin:15px 0}label input:not([type=checkbox]),label select,label textarea{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid var(--line);background:white;color:var(--ink)}label small{display:block;font-weight:400;color:var(--muted);margin-top:5px}.checks{display:flex;gap:8px 20px;flex-wrap:wrap}.checks label,.check{display:flex;gap:10px;align-items:center}.check input{width:18px;height:18px;accent-color:var(--gold)}fieldset{border:1px solid var(--line);margin:20px 0}legend{font-size:12px;color:var(--muted);padding:0 8px}details{border-block:1px solid var(--line);padding:16px 0;margin:20px 0}summary{cursor:pointer}textarea{min-height:85px}#member-list{display:grid;gap:10px}#member-list button{text-align:left;border:1px solid var(--line);font-size:13px}#member-list small{display:block;color:var(--muted)}#login{min-height:100vh;display:grid;place-items:center;background:var(--dark);padding:30px}.login-card{max-width:490px;width:100%;background:var(--cream);padding:45px}.login-card img{width:85px;height:70px;object-fit:contain}.login-card h1{font-size:48px}.login-card .primary{width:100%;margin-top:15px}.login-card p{font-size:13px}.login-card .eyebrow{font-size:10px}.labor-field-error{font-size:10px;color:var(--red)}@media(max-width:1200px){main{padding:35px 28px}.layout{grid-template-columns:180px minmax(0,1fr)}aside{padding:30px 12px}.department-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.summary strong{font-size:27px}.summary>div{padding:0 14px}.section-heading{align-items:start;flex-direction:column}.summary{margin-bottom:32px}}@media(max-width:760px){.topbar{padding:0 18px;height:76px}.topbar nav{gap:3px;font-size:11px}.brand{gap:8px;font-size:12px;letter-spacing:1px}.brand img{width:48px;height:45px}.layout{display:block}aside{border-right:0;border-bottom:1px solid var(--line);padding:12px 16px;display:flex;overflow:auto;gap:8px;white-space:nowrap}aside>.eyebrow,.nav-label,.sidebar-note{display:none}#department-nav{display:flex;gap:6px}.nav-item{width:auto;display:block;padding:10px;font-size:12px}.nav-item span{display:none}main{padding:30px 20px}.page-heading{align-items:start;flex-direction:column;gap:20px}.period{min-width:0;width:100%}.period>div{justify-content:space-between}.period input{flex:1;text-align:center}.summary{grid-template-columns:1fr 1fr;gap:25px 0}.summary>div{padding:0 12px!important}.summary>div:nth-child(2){border:0}.summary strong{font-size:28px}.department-cards{grid-template-columns:1fr}.department-card{min-height:230px}.source-note,.export-row{align-items:start;flex-direction:column}.form-grid{grid-template-columns:1fr;gap:0}dialog{padding:23px}.actions{width:100%;gap:8px}.actions button{flex:1}.login-card{padding:28px}.login-card h1{font-size:41px}footer{gap:20px}}@page{size:A4 landscape;margin:10mm}@media print{.topbar,aside,.period,.actions,footer,#feedback,.notice,#overview,.page-heading p,dialog{display:none!important}.layout{display:block}main{padding:0;max-width:none}body{background:white}h1{font-size:25px}.page-heading{margin-bottom:10px}.summary{margin:8px 0;padding:10px 0}.summary strong{font-size:20px}.summary p{font-size:9px}.table-wrap{overflow:visible;border:0}table{font-size:9px}thead th{font-size:8px;padding:5px}td,th{padding:3px 5px}td input{padding:0;border:0;font-size:9px;min-width:0;max-width:100px;background:none}tr{break-inside:avoid}.section-heading{margin:5px 0}h2{font-size:18px}.section-heading .eyebrow{display:none}.export-row{margin:8px 0}.muted.small{font-size:9px}}
