:root{--ink:#263b35;--brand:#603e39;--accent:#1c5b4b;--line:#d8dfdc;--bg:#f5f7f6}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 Arial,sans-serif}a{color:var(--accent)}button,input,select,textarea{font:inherit}button,.button{border:1px solid var(--line);background:white;border-radius:7px;padding:10px 15px;color:var(--ink);cursor:pointer;text-decoration:none;display:inline-block}button:hover,.button:hover{border-color:var(--accent)}button:disabled{opacity:.55;cursor:wait}.primary{background:var(--accent);color:white;border-color:var(--accent)}.danger{color:#9b2020}.bar{background:white;border-bottom:1px solid var(--line);padding:18px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--brand);font-weight:bold}.brand img{width:50px;height:50px;object-fit:contain}.brand small{display:block;font-size:14px;font-weight:normal}.wrap{max-width:1400px;margin:auto;padding:28px}.login{max-width:470px;background:white;border:1px solid var(--line);padding:30px;border-radius:14px;margin:45px auto}.login h1{margin-top:0}h1{font-size:30px;letter-spacing:-.5px;margin:0 0 5px}h2{font-size:22px;margin:0 0 16px}h3{font-size:18px}p{margin:8px 0 18px}.muted{color:#63726c;font-size:14px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.between{justify-content:space-between}.nav{display:flex;gap:5px;border-bottom:1px solid var(--line);margin:25px 0;overflow-x:auto}.nav button{border:0;background:none;white-space:nowrap;border-radius:0;padding:14px 18px}.nav button.active{color:var(--accent);border-bottom:3px solid var(--accent);font-weight:bold}.filters,.panel{padding:20px;background:white;border:1px solid var(--line);border-radius:10px;margin-bottom:20px}.filters{display:flex;gap:14px;align-items:end;flex-wrap:wrap}.filters label{flex:1;min-width:135px}label{display:block;font-size:14px;font-weight:bold}input,select,textarea{display:block;width:100%;border:1px solid #b9c6bf;border-radius:6px;background:white;padding:10px;margin-top:5px;min-height:44px;color:#203d31}textarea{min-height:80px;resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid #aacabc;outline-offset:2px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.card{background:white;border:1px solid var(--line);border-radius:10px;padding:20px}.card strong{display:block;font-size:25px;margin-top:8px;overflow-wrap:anywhere}.card.accent{border-top:4px solid var(--accent)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}th{background:#edf2ef;color:#365347;font-size:14px;white-space:nowrap}td,th{padding:13px 12px;border-bottom:1px solid #e2e7e4;vertical-align:top}td.amount,th.amount{text-align:right;white-space:nowrap}td button{font-size:14px;padding:5px 10px}tr:hover td{background:#f7faf8}.badge{display:inline-block;background:#eef1f0;border-radius:4px;padding:3px 8px;font-size:12px;white-space:nowrap}.approved{background:#e2f3e9;color:#1c6340}.pending{background:#fff1d0;color:#7c580e}.rejected,.void{background:#fbe5e5;color:#962929}.empty{text-align:center;padding:45px;color:#63726c}.notice{background:#eaf3ed;padding:12px 15px;border-left:3px solid var(--accent);margin-bottom:18px;font-size:14px}.error{background:#fff0ee;color:#962929}.grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.wide{grid-column:1/-1}.stack>*+*{margin-top:17px}.split{display:grid;grid-template-columns:1.1fr 1fr;gap:20px}dialog{border:1px solid var(--line);border-radius:12px;max-width:760px;width:calc(100% - 28px);max-height:90vh;padding:0;color:var(--ink)}dialog::backdrop{background:#162d2477}.dialog-head{padding:20px 24px;border-bottom:1px solid var(--line)}.dialog-body{padding:24px}.dialog-foot{padding:18px 24px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end}.dialog-head h2{margin:0}.detail{display:grid;grid-template-columns:150px 1fr;gap:12px;margin:15px 0}.detail dt{font-size:14px;color:#63726c}.detail dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.flash{position:fixed;bottom:25px;right:25px;padding:14px 20px;background:#1c4738;color:white;border-radius:8px;box-shadow:0 5px 25px #0002;max-width:90vw;z-index:10}.hidden,[hidden]{display:none!important}#printout{display:none}.login .button,.login button[type=submit]{width:100%;text-align:center}.separator{border-top:1px solid var(--line);margin:24px 0}.subtle{background:#f7f9f8}.actions{display:flex;gap:8px;flex-wrap:wrap}.small{font-size:14px}.login label{margin:15px 0}.history-detail{max-width:500px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.form-error{color:#a32323;font-size:14px;white-space:pre-wrap}.form-note{margin-top:6px;font-size:14px;font-weight:normal;color:#63726c}@media(max-width:800px){.bar{padding:14px 18px}.bar .brand{font-size:14px}.wrap{padding:18px}.cards{grid-template-columns:1fr 1fr}.split,.grid{grid-template-columns:1fr}.wide{grid-column:auto}.filters label{min-width:120px}.card{padding:15px}.card strong{font-size:21px}.bar .public-link{display:none}.login{margin:20px auto;padding:24px}.detail{grid-template-columns:1fr;gap:5px}.detail dd{margin-bottom:8px}h1{font-size:26px}}@media print{@page{size:A4 landscape;margin:12mm}body{background:white;font-size:10pt}.bar,#app,dialog,.flash{display:none!important}#printout{display:block!important}#printout h1{font-size:20pt}#printout h2{font-size:15pt;margin-top:20px}#printout table{font-size:9pt}#printout th,#printout td{padding:6px;word-break:break-word}#printout thead{display:table-header-group}#printout tr{break-inside:avoid}#printout .print-totals{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}#printout .print-totals div{border:1px solid #ccc;padding:8px}#printout .print-totals strong{display:block}}

@media(max-width:600px){.bar{flex-wrap:wrap}.bar #identity{width:100%}}
