:root{--nav:#10283d;--brand:#16778a;--bg:#f3f6fa;--line:#e1e8ef;--muted:#6f8091}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#17283c;font:15px/1.5 system-ui,sans-serif}.shell{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.side{background:var(--nav);color:white;padding:28px 18px}.brand{font-size:22px;font-weight:800;margin:0 10px 28px}.brand small{display:block;font-size:12px;color:#91aabc}.nav{display:grid;gap:5px}.nav a{color:#b8cad7;text-decoration:none;padding:11px 13px;border-radius:10px}.nav a:hover,.nav .on{background:#1d425c;color:#fff}.main{padding:34px 40px}.top{display:flex;justify-content:space-between;align-items:center}.top h1{margin:0}.top p{color:var(--muted);margin:3px 0}.panel,.card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 30px #17324b0d;padding:22px;margin-top:20px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card span{color:var(--muted)}.card strong{display:block;font-size:25px;margin-top:7px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.wide{grid-column:span 2}label{display:grid;gap:5px;font-weight:650}input,select{border:1px solid #cbd7e2;border-radius:9px;padding:10px;font:inherit}.btn{border:0;border-radius:9px;padding:10px 14px;background:var(--brand);color:#fff;font-weight:700;cursor:pointer}.ghost{background:#edf3f6;color:#24435a}table{width:100%;border-collapse:collapse;margin-top:16px}th,td{text-align:left;padding:11px 9px;border-bottom:1px solid #e9eef3}th{font-size:12px;text-transform:uppercase;color:var(--muted)}.badge{padding:4px 8px;border-radius:20px;background:#fff0d8;color:#91631e}.pago{background:#ddf5e7;color:#26714e}.flash{padding:12px;border-radius:9px;background:#ddf5e7;margin-top:15px}.error{background:#fae2e4;color:#9d2931}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 20%,#cceee8,transparent 35%),var(--bg)}.login{width:min(420px,92%)}.login form{display:grid;gap:15px}.empty{text-align:center;color:var(--muted)}@media(max-width:800px){.shell{display:block}.side{position:static}.main{padding:20px 12px}.cards,.grid{grid-template-columns:1fr}.wide{grid-column:auto}}

.trial-balance{max-width:1050px;margin-inline:auto;padding:30px 34px}.report-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;border-bottom:2px solid var(--nav);padding-bottom:20px}.report-heading h2{font-size:27px;margin:2px 0}.report-heading p,.report-heading small{color:var(--muted);margin:0}.report-kicker{color:var(--brand);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.statement-section{margin-top:30px}.statement-section h3{background:#eef4f7;border-left:4px solid var(--brand);font-size:15px;letter-spacing:.08em;margin:0;padding:10px 13px}.table-wrap{overflow-x:auto}.statement-table{margin-top:4px}.statement-table th,.statement-table td{padding:12px 13px}.statement-table tbody tr:hover{background:#f8fafc}.statement-table .account-code{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.money-column{text-align:right!important;font-variant-numeric:tabular-nums;white-space:nowrap}.statement-table tfoot th{background:#10283d;color:#fff;border:0;font-size:13px;padding-block:14px}.statement-table tfoot th:first-child{text-align:right}
@media(max-width:800px){.trial-balance{padding:20px 16px}.report-heading{display:block}.report-heading small{display:block;margin-top:8px}}
@media print{@page{size:A4 portrait;margin:14mm}body{background:#fff;color:#000;font-size:10pt}.side,.top,.flash{display:none!important}.shell{display:block}.main{padding:0}.panel.trial-balance{border:0;box-shadow:none;margin:0;max-width:none;padding:0}.report-heading{border-color:#000}.statement-section{break-inside:avoid}.statement-section h3{background:#eee!important;border-color:#000}.statement-table tfoot th{background:#ddd!important;color:#000!important;border-top:2px solid #000}.statement-table tbody tr:hover{background:transparent}}
.report-filter{max-width:1050px;margin-inline:auto;grid-template-columns:180px 160px 180px;align-items:end}
.account-row>td{padding:0}.account-details summary{align-items:center;cursor:pointer;display:grid;gap:16px;grid-template-columns:minmax(130px,1fr) minmax(220px,3fr) minmax(150px,1fr);list-style:none;padding:12px 13px}.account-details summary::-webkit-details-marker{display:none}.account-details summary .account-code{color:var(--brand);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:4px}.account-details summary .account-code:before{content:"▸";display:inline-block;margin-right:8px;text-decoration:none;transition:transform .15s}.account-details[open] summary .account-code:before{transform:rotate(90deg)}.account-details[open] summary{background:#f3f7f9}.entry-wrap{background:#f8fafc;border-top:1px solid var(--line);padding:8px 18px 18px 42px}.entry-table{background:#fff;border:1px solid var(--line);margin:0}.entry-table th,.entry-table td{font-size:13px;padding:8px 10px}.entry-table tbody tr:last-child td{border-bottom:0}
@media(max-width:800px){.account-details summary{grid-template-columns:1fr}.account-details summary .money-column{text-align:left!important}.entry-wrap{overflow-x:auto;padding:8px}.entry-table{min-width:650px}}
@media print{.report-filter{display:none!important}}
