:root{--bg:#f7f8fc;--surface:#fff;--ink:#252a35;--muted:#8490a1;--line:#e5e9f2;--blue:#4350d8;--soft:#eff1ff;--green:#0d8a62;--red:#bb4356;--yellow:#ffe300}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:13px/1.48 Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink)}input,button,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}a{text-decoration:none;color:inherit}.hidden{display:none!important}.shell{display:flex;min-height:100vh}.sidebar{width:235px;flex-shrink:0;background:white;border-right:1px solid var(--line);height:100vh;position:sticky;top:0;display:flex;flex-direction:column}.brand{height:88px;padding:20px 15px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.brandlogo{background:var(--yellow);border-radius:12px;height:42px;width:42px;display:grid;place-items:center;font-size:24px;font-weight:900;color:#171823;position:relative}.brandlogo span{font-size:11px;position:absolute;bottom:2px;right:7px}.brand b{display:block;font-size:12px;white-space:nowrap}.brand small{display:block;color:var(--muted);font-size:10px}.sidenav{padding:18px 10px;overflow-y:auto}.nav-single,.nav-group-title,.nav-items button{border:0;background:transparent;width:100%;text-align:left;border-radius:9px;display:flex;align-items:center;gap:12px;padding:11px 12px;color:#596474;font-size:12px;font-weight:650}.nav-single:hover,.nav-group-title:hover,.nav-items button:hover{background:#f4f5ff}.nav-single.active,.nav-items button.active{background:#eef0ff;color:#3d48d0}.nav-single .arrow{margin-left:auto}.nicon{width:18px;text-align:center;font-size:16px}.nav-group{margin-top:7px}.nav-group-title span{margin-left:auto}.nav-items{display:none;margin-left:24px;border-left:1px solid #e7eafa;padding:2px 0 3px 8px}.nav-items.open{display:block}.nav-items button{font-size:11px;font-weight:550;padding:9px 11px}.sidebar-footer{margin-top:auto;padding:16px;font-size:10px;border-top:1px solid var(--line);color:#7e8799}.sidebar-footer small{font-size:10px}.dot{display:inline-block;height:7px;width:7px;border-radius:50%;background:#12a574;margin-right:5px}.workspace{flex:1;min-width:0}.topbar{height:66px;border-bottom:1px solid var(--line);background:white;display:flex;align-items:center;justify-content:space-between;padding:0 34px}.breadcrumbs{font-size:11px;color:#9aa1b0}.breadcrumbs b{color:#44516c}.topbar-right{font-size:11px;color:#6b788d}.content{max-width:1310px;margin:auto;padding:34px 32px 60px;min-height:calc(100vh - 120px)}.head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:0 0 22px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.5px;color:#8490a1}h1{font-size:25px;line-height:1.4;letter-spacing:-.7px;margin:2px 0}h2{font-size:15px;margin:0}h3{font-size:13px;margin:0}p{color:var(--muted);font-size:12px;margin:4px 0 10px}.shop-control{min-width:190px}.shop-control label{margin-bottom:5px}.module{display:none}.module.active{display:block}.card{border:1px solid var(--line);border-radius:13px;background:white;padding:22px;box-shadow:0 2px 5px #1d244005;min-width:0}.card+.card{margin-top:15px}.sectionhead{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:16px}.sectionhead p{font-size:11px;margin:3px 0}.notice{background:#f0f2ff;border:1px solid #e4e7ff;color:#5a6194;border-radius:9px;padding:13px 15px;font-size:12px;margin-bottom:17px}.notice.warn{background:#fff8ed;border-color:#f0e5d4;color:#996c27}.notice.danger{background:#fff1f2;color:#9b2f46;border-color:#f3d1d6}.card .notice{margin-top:13px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:16px}.stat{border:1px solid var(--line);background:white;border-radius:12px;padding:17px;min-width:0}.stat span{display:block;color:#818b9d;font-size:11px}.stat strong{font-size:22px;letter-spacing:-.7px;display:block;margin-top:7px;white-space:nowrap}.stat strong.green{color:var(--green)}.stat strong.red{color:var(--red)}.stat small{color:var(--muted);font-size:10px}.twocol{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:17px;align-items:start}.datehead{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:15px}.datehead>div:last-child{width:180px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.field.wide{grid-column:1/-1}.field{min-width:0}label{display:block;font-size:11px;color:#4b566a;font-weight:650;margin-bottom:6px}input,select{width:100%;border:1px solid #d9deec;border-radius:8px;padding:10px 12px;background:white;color:var(--ink);min-height:42px;outline:0}input:focus,select:focus{border-color:#7b83e8;box-shadow:0 0 0 3px #eceeff}input[type=checkbox]{width:auto;min-height:0;box-shadow:none}.inline{display:flex;gap:7px}.inline input,.inline select{flex:1;min-width:0}.btn{border:1px solid #dfe3f0;border-radius:8px;padding:10px 13px;min-height:40px;color:#4b5574;background:white;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.btn:hover{background:#f5f6ff}.btn.primary{background:var(--blue);border-color:var(--blue);color:white}.btn.primary:hover{background:#303dc7}.btn.small{min-height:34px;padding:7px 10px}.btn.iconbtn{width:42px;min-width:42px;font-size:20px;padding:4px}.btn.danger{color:var(--red)}.btn.subtle{background:#eef0ff;color:var(--blue)}.actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}.divider{height:1px;background:var(--line);margin:19px 0}.hint{font-size:11px}.line-entry{display:grid;grid-template-columns:minmax(0,1.8fr) 75px minmax(0,.9fr) 45px;gap:8px;margin:13px 0}.line-entry .addline{height:42px}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:11px}.table th{font-weight:700;color:#8b96a6;text-align:left;background:#f9fafd}.table th,.table td{padding:10px 8px;border-bottom:1px solid #eff1f5}.table .right{text-align:right}.total{background:#f0f1ff;padding:15px 16px;border-radius:10px;display:flex;justify-content:space-between;align-items:center;margin-top:14px}.total strong{font-size:21px}.note{font-size:11px;background:#f7f8fb;border:1px solid var(--line);padding:12px;margin-top:15px;border-radius:9px;color:#7b8594}.list{display:grid;gap:9px}.record{border:1px solid var(--line);border-radius:10px;padding:13px 14px;background:white}.record summary{list-style:none;cursor:pointer}.record summary::-webkit-details-marker{display:none}.recordhead{display:flex;align-items:center;justify-content:space-between;gap:12px}.recordhead b{font-size:12px}.recordhead small{display:block;color:var(--muted);margin-top:2px}.recordright{text-align:right;flex-shrink:0}.recordright strong{font-size:13px}.recordright small{display:block;font-size:10px}.record-body{margin-top:10px;padding-top:11px;border-top:1px solid var(--line)}.record-body .line{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid #f1f2f6;font-size:11px}.record-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.pill{font-size:10px;border-radius:25px;background:#eef0f8;color:#646e81;padding:5px 9px;white-space:nowrap}.pill.amber{background:#fff3e6;color:#995d15}.pill.green{background:#e5f6ee;color:#0e8962}.empty{padding:25px 8px;color:#9ba4b2;text-align:center;font-size:12px}.accountrow{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #edf0f4}.accountrow b{font-size:12px}.accountrow small{display:block;color:var(--muted);font-size:10px}.accountrow:last-child{border-bottom:0}.accountvalue{display:flex;align-items:center;gap:8px}.right{text-align:right}.checks{display:flex;gap:20px}.checks label{display:flex;align-items:center;gap:7px}.quick{display:flex;gap:8px;flex-wrap:wrap}.search{max-width:420px;margin-bottom:15px}.footer{border-top:1px solid var(--line);font-size:10px;color:#9aa4b2;text-align:center;padding:16px}.toast{display:none;background:#28314b;color:white;padding:13px 15px;border-radius:9px;position:fixed;bottom:22px;right:22px;z-index:100;max-width:370px}.toast.show{display:block}.modal-shade{position:fixed;inset:0;background:#17213e95;z-index:80;display:flex;align-items:center;justify-content:center;padding:17px}.modal{background:#fff;width:min(540px,100%);max-height:90vh;overflow:auto;border-radius:14px;padding:24px;box-shadow:0 15px 65px #11172b4f}.modal .field{margin-top:13px}.modal .sectionhead{margin:0 0 14px}.money{font-variant-numeric:tabular-nums}.red{color:var(--red)}.green{color:var(--green)}.help{font-size:11px;color:var(--muted)}
@media(max-width:1180px){.twocol{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:780px){.shell{display:block}.sidebar{height:auto;width:100%;position:relative;border-right:0;border-bottom:1px solid var(--line)}.brand{height:61px;padding:10px 13px}.sidenav{padding:7px 8px;display:flex;flex-wrap:wrap;gap:6px;overflow:visible}.nav-single,.nav-group-title{white-space:nowrap;font-size:11px;flex-shrink:0;width:auto}.nav-group{margin:0;position:relative}.nav-items{position:static;z-index:10;left:0;top:42px;margin:0;padding:4px;background:white;box-shadow:0 5px 22px #19213c38;border:1px solid var(--line);border-radius:9px;min-width:200px}.nav-items button{white-space:nowrap}.sidebar-footer{display:none}.topbar{height:50px;padding:0 14px}.content{padding:20px 13px 35px}.head{align-items:start;flex-direction:column}.shop-control{width:100%}.stats{gap:8px}.stat{padding:13px}.stat strong{font-size:19px}.card{padding:15px}.datehead{flex-wrap:wrap}.datehead>div:last-child{width:100%}.line-entry{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.line-entry .field:first-child{grid-column:1/-1}.line-entry .field:last-child{align-self:end}.formgrid{gap:10px}.recordhead{gap:7px}}@media(max-width:380px){.formgrid{grid-template-columns:1fr}.field.wide{grid-column:auto}.stat strong{font-size:16px}.line-entry{grid-template-columns:1fr}.line-entry .field:first-child{grid-column:auto}}

/* v1.4 borrador: panel cohesionado, jerarquía financiera y controles discretos. */
.stat{box-shadow:0 4px 12px rgba(36,43,74,.035);transition:box-shadow .18s ease,transform .18s ease}
.stat:hover{box-shadow:0 7px 22px rgba(36,43,74,.065);transform:translateY(-1px)}
#summaryDashboard .stat:last-child strong{color:#7755c7}
.export-actions,.filter-tabs{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.filter-tabs{margin-bottom:14px}.filter-tabs .btn{min-width:82px}
#reservas .accountrow{gap:20px}#cadenas h3{margin-top:10px}
@media (max-width:780px){.export-actions .btn{font-size:11px}.filter-tabs .btn{min-width:0}}

.stat strong.violet{color:#7956c7}
