:root{
  --green:#0b5f35;
  --green2:#073b22;
  --accent:#d6a300;
  --bg:#f6f4ee;
  --panel:#fffdfa;
  --line:#e2dacb;
  --text:#172019;
  --muted:#68736a;
  --danger:#b42318;
  --income:#eef6ff;
  --expense:#effaf1;
  --new:#fff7db;
  --shadow:0 10px 28px #1b351f10;
}
*{box-sizing:border-box}
html{font-size:16px}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:linear-gradient(180deg,#f8f6f0 0,#f2f5f0 100%);color:var(--text);font-size:15px;line-height:1.38}
a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}
.topbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.55rem 1rem;background:linear-gradient(90deg,#122016,#073b22);color:#fff;position:sticky;top:0;z-index:10;box-shadow:0 4px 18px #0003;border-bottom:3px solid var(--accent)}
.brand{font-weight:850;color:#fff;font-size:1.02rem;letter-spacing:.2px;white-space:nowrap}.brand:hover{text-decoration:none}
.topbar nav{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.topbar nav a,.linklike{color:#fff;background:#ffffff12;border:1px solid #ffffff22;border-radius:999px;font:inherit;font-weight:750;cursor:pointer;padding:.28rem .56rem;line-height:1.15;min-height:1.8rem}
.topbar nav a:hover,.linklike:hover{background:#ffffff20;text-decoration:none}
.container{max-width:1360px;margin:0 auto;padding:1rem}.view-desktop .container{max-width:none}
.page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.15rem 0 1rem}.page-head h1,.panel h1,.panel h2{margin:.05rem 0}.page-head h1{font-size:1.85rem}.panel h2{font-size:1.45rem}.muted{color:var(--muted);font-size:.9rem}.small-note{margin-top:.65rem}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.75rem;margin-bottom:1rem}.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:.9rem;box-shadow:var(--shadow)}.card h3{margin:0 0 .3rem;display:flex;justify-content:space-between;gap:.6rem}.card h3 span{color:var(--muted);font-weight:750}.big{font-size:1.5rem;font-weight:850}.pos{color:#087333}.neg{color:#9d5a00}.panel{margin-bottom:1rem}.narrow{max-width:900px}
.button,button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);padding:.34rem .56rem;font-weight:750;cursor:pointer;min-height:1.85rem;line-height:1.15;font-size:.92rem}button:hover,.button:hover{filter:brightness(.98);text-decoration:none}.primary{background:var(--green);border-color:var(--green);color:#fff}.secondary{background:#faf9f5}.danger{background:#fff4f4;border-color:#efb5b5;color:var(--danger)}button:disabled{opacity:.45;cursor:not-allowed}.small{padding:.23rem .46rem;border-radius:8px;font-size:.84rem;min-height:1.62rem}
.flash{padding:.6rem .8rem;border-radius:11px;margin:0 0 1rem;border:1px solid}.flash-success{background:#edf8ef;border-color:#b9e2c3}.flash-error{background:#fff0f0;border-color:#f1b8b8}
.child-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin:0 0 1rem}.child-tabs a{padding:.34rem .62rem;border:1px solid var(--line);background:#fff;border-radius:999px;font-weight:750}.child-tabs a.active{background:var(--green);border-color:var(--green);color:#fff}
.grid-form,.filter-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:.55rem .7rem;align-items:end}.filter-form{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.full{grid-column:1/-1}
label{display:flex;flex-direction:column;gap:.2rem;font-weight:750;color:#25372b;font-size:.88rem}label.check{display:grid;grid-template-columns:1.05rem 1fr;align-items:start;gap:.45rem;margin-top:.15rem;line-height:1.25}label.check.full{grid-column:1/-1}
input,select,textarea{width:100%;border:1px solid #ccc5b7;border-radius:8px;padding:.33rem .5rem;font:inherit;background:#fff;min-height:1.9rem;font-size:.93rem}textarea{min-height:4.8rem;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #b8d7c4;border-color:#6fa77f}
input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:1rem;height:1rem;min-height:0;margin:.12rem 0 0;border:1.5px solid #9aa895;border-radius:4px;background:#fff;display:inline-grid;place-content:center;flex:0 0 auto}input[type="checkbox"]::before{content:"";width:.52rem;height:.52rem;transform:scale(0);transition:transform .08s ease-in-out;box-shadow:inset 1em 1em var(--green);clip-path:polygon(14% 44%,0 62%,38% 100%,100% 18%,82% 0,34% 67%)}input[type="checkbox"]:checked::before{transform:scale(1)}input[type="checkbox"]:checked{border-color:var(--green);background:#eef8f1}
.form-actions{display:flex;gap:.42rem;flex-wrap:wrap;align-items:center}.inline-form{display:flex;gap:.45rem;flex-wrap:wrap;align-items:end}.inline-form input,.inline-form select{width:auto;min-width:180px}.bulkbar{display:flex;gap:.4rem;flex-wrap:wrap;margin:.3rem 0 .65rem;align-items:center}.bulkbar select{max-width:180px}.bulkbar input{max-width:220px}
.records-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.45rem}.records-head h2{margin:0}.export-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.export-actions .muted{margin-right:.1rem}.table-wrap{width:100%;overflow-x:auto;overflow-y:visible;border:1px solid var(--line);border-radius:12px;background:#fff}.table-wrap table{min-width:980px}
table{width:100%;border-collapse:separate;border-spacing:0;background:#fff}th,td{padding:.48rem .58rem;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}th{background:#eee8dc;font-weight:850;position:static;z-index:auto}tbody tr:last-child td{border-bottom:0}tr.row-expense{background:var(--expense)}tr.row-income{background:var(--income)}tr.row-status-rejected{opacity:.72}.muted-row{opacity:.65}.sort{color:var(--text)}.checkcol{width:34px}.status,.type{display:inline-flex;padding:.16rem .4rem;border-radius:99px;font-size:.78rem;font-weight:850}.status-new{background:var(--new);color:#8a5a00}.status-approved{background:#e8f7ec;color:#12652d}.status-rejected{background:#ffecec;color:#a12018}.type-expense{background:#dff6e6}.type-income{background:#e0f0ff}.reject{color:var(--danger);font-weight:850}.amount{font-weight:850;white-space:nowrap}.actions{display:flex;gap:.3rem;flex-wrap:wrap;min-width:220px;border:0}.actions form{display:inline-flex;gap:.25rem;align-items:center}.reason{max-width:120px;padding:.28rem}.attachment{display:block;font-size:.86rem;margin:.1rem 0}.pagination{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.85rem}.pagination a{padding:.3rem .52rem;border:1px solid var(--line);border-radius:8px;background:#fff}.pagination a.active{background:var(--green);color:#fff;border-color:var(--green)}code{white-space:pre-wrap;font-size:.85rem}.print-only{display:none!important}
@media(max-width:760px){body{font-size:15px}.topbar{align-items:flex-start;flex-direction:column}.topbar nav{gap:.35rem;justify-content:flex-start}.topbar nav a,.linklike{padding:.28rem .5rem}.page-head{align-items:stretch;flex-direction:column}.container{padding:.7rem}.cards{grid-template-columns:1fr}.filter-form,.grid-form{grid-template-columns:1fr}.inline-form input,.inline-form select{width:100%}.records-head{align-items:flex-start;flex-direction:column}.table-wrap{overflow:visible;border:0;background:transparent}.table-wrap table{min-width:0}table,thead,tbody,tr,th,td{display:block;width:100%}thead{display:none}tr{border:1px solid var(--line);border-radius:12px;margin:.7rem 0;padding:.4rem;background:#fff}td{border:0;padding:.4rem .5rem}td::before{content:attr(data-label);display:block;color:var(--muted);font-size:.75rem;font-weight:850;text-transform:uppercase}.actions{min-width:0}.reason{max-width:100%}.bulkbar input,.bulkbar select{max-width:none;width:100%}}
@media print{*{box-shadow:none!important}body{background:#fff;color:#000;font-size:12px}.topbar,.form-actions,.bulkbar,.child-tabs,.page-head .button,.export-actions,.actions,.pagination,.flash,button,.button,.no-print{display:none!important}.container{max-width:none;padding:0}.panel,.card{border:1px solid #999;border-radius:0;padding:.55rem;margin:0 0 .7rem;background:#fff}.cards{display:block}.card{break-inside:avoid;margin-bottom:.45rem}.table-wrap{overflow:visible;border:0}.table-wrap table{min-width:0}th,td{padding:.25rem .35rem;border-bottom:1px solid #bbb}th{background:#eee!important}.print-only{display:block!important}a{color:#000;text-decoration:none}.page-head{display:block;margin:0 0 .5rem}}

/* v1.2.3 */
.attachment-item{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;margin:.12rem 0}.attachment-delete{display:inline-flex;margin:0}.attachment-delete button{min-height:1.35rem;padding:.12rem .32rem;font-size:.76rem}.attachment{display:inline-flex;align-items:center;gap:.2rem}
tr.row-status-rejected td:not(.actions){text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:#9d2b25}tr.row-status-rejected .status, tr.row-status-rejected .type{text-decoration:none}.row-status-rejected .reject{text-decoration:none;display:inline-block}
@media print{.attachment-delete{display:none!important}tr.row-status-rejected td:not(.actions){text-decoration:line-through}}

.compact-check { display: inline-flex; align-items: center; gap: 0.45rem; margin: 0.35rem 0 0.7rem; font-weight: 700; }
.compact-check input[type="checkbox"] { width: 1.05rem; height: 1.05rem; margin: 0; accent-color: #00864b; }

/* v1.2.5 */
.brand-user{font-weight:700;opacity:.88;font-size:.92em}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:.1rem .38rem;font-size:.75rem;font-weight:850;background:#eee8dc;color:#25372b;text-decoration:none}.badge.ok{background:#e8f7ec;color:#12652d}.table-wrap form{margin:0}
