:root{--navy:#10243e;--ink:#172434;--muted:#708096;--line:#e6ebf1;--bg:#f5f7fa;--blue:#2475e6;--green:#178b65;--amber:#d98016;--purple:#7257d5;--red:#c64b4b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:var(--navy);color:#fff;padding:28px 18px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:12px;align-items:center;color:#fff;text-decoration:none;font:800 21px Manrope;margin:0 10px 34px}.brand-mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#2d8bff,#50d0b0);display:grid;place-items:center}.brand small,.user small,.gmail-state small{display:block;font:400 10px "DM Sans";color:#9fb0c5;letter-spacing:.04em}.nav-item{color:#aebed0;text-decoration:none;padding:11px 13px;margin:3px 0;border-radius:9px;display:flex;align-items:center;gap:11px;font-size:14px}.nav-item span{font-size:18px}.nav-item b{margin-left:auto;background:#29415e;color:#cad7e6;border-radius:12px;padding:2px 8px;font-size:11px}.nav-item.active,.nav-item:hover{background:#1d3b60;color:white}.sidebar-bottom{margin-top:auto}.gmail-state{margin:0 7px 15px;padding:12px;background:#172f4d;border:1px solid #294968;border-radius:10px;display:flex;gap:9px;font-size:12px}.gmail-state>span{width:8px;height:8px;border-radius:50%;background:#35c992;box-shadow:0 0 0 4px #24554f;margin-top:4px}.user{border-top:1px solid #29415b;margin-top:14px;padding:18px 5px 0;display:flex;align-items:center;gap:9px;font-size:12px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e6edf5;color:#263c57;font-weight:700}.user button{margin-left:auto;background:none;border:0;color:#fff;font-size:19px}main{margin-left:244px;padding:32px 38px 50px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.eyebrow{font-size:11px;color:#7f8b9a;letter-spacing:.09em;text-transform:uppercase;font-weight:700}.topbar h1{font:800 28px Manrope;margin:3px 0}.topbar p{margin:0;color:var(--muted);font-size:14px}.top-actions{display:flex;gap:10px}.primary,.secondary,.icon-btn{border:0;border-radius:9px;padding:11px 16px;font:600 13px "DM Sans";cursor:pointer}.primary{background:var(--blue);color:#fff;box-shadow:0 4px 10px #2475e630}.secondary{background:white;border:1px solid var(--line);color:#314156}.icon-btn{background:white;border:1px solid var(--line);position:relative;font-size:18px}.icon-btn i{position:absolute;right:5px;top:4px;background:#dc514f;color:#fff;border-radius:50%;font:600 8px sans-serif;width:13px;height:13px;display:grid;place-items:center}.menu{display:none}.alert{background:#fff9ea;border:1px solid #f1dfaf;border-radius:11px;padding:14px 16px;display:flex;align-items:center;gap:12px;margin-bottom:20px}.alert-icon{width:33px;height:33px;border-radius:8px;background:#fff0c7;color:#ba7517;display:grid;place-items:center;font-weight:800}.alert p{margin:2px 0 0;color:#826d4e;font-size:12px}.alert button{margin-left:auto;border:0;background:none;color:#a36411;font-weight:700;cursor:pointer}.alert .dismiss{margin-left:8px;font-size:20px;color:#9a875f}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}.metrics article,.workspace{background:white;border:1px solid var(--line);border-radius:12px}.metrics article{padding:17px 18px}.metric-head{display:flex;justify-content:space-between}.metric-icon{width:32px;height:32px;border-radius:8px;display:grid;place-items:center}.blue{background:#e9f2ff;color:var(--blue)}.amber{background:#fff2df;color:var(--amber)}.purple{background:#f0edff;color:var(--purple)}.green{background:#e7f8f1;color:var(--green)}.trend{font-size:10px;font-weight:700}.trend.up{color:var(--green)}.trend.down{color:var(--red)}.trend.neutral{color:var(--amber)}.metrics p{font-size:12px;color:var(--muted);margin:13px 0 4px}.metrics strong{font:800 23px Manrope}.metrics small{display:block;color:#9aa6b5;font-size:10px;margin-top:5px}.workspace{overflow:hidden}.section-head{display:flex;justify-content:space-between;align-items:center;padding:21px 23px}.section-head h2{font:800 18px Manrope;margin:0 0 3px}.section-head p{font-size:12px;color:var(--muted);margin:0}.toolbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 22px;display:flex;align-items:center;gap:16px}.search{border:1px solid var(--line);border-radius:8px;padding:8px 10px;color:#8290a1;min-width:250px}.search input{border:0;outline:0;margin-left:7px;width:210px;font:12px "DM Sans"}.filters{display:flex;gap:4px}.filter,.filter-more{border:0;background:transparent;color:#748296;font:600 11px "DM Sans";padding:8px 10px;cursor:pointer;border-radius:7px}.filter.active{background:#eaf2ff;color:#2169c9}.filter span{background:#eef1f5;padding:2px 6px;border-radius:9px;margin-left:4px}.filter.active span{background:#d7e7ff}.filter-more{margin-left:auto;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:#8895a6;text-transform:uppercase;font-size:9px;letter-spacing:.07em;padding:12px 18px;background:#fafbfc}td{padding:14px 18px;border-top:1px solid #edf0f4}.client{display:flex;align-items:center;gap:10px}.client-logo{width:33px;height:33px;border-radius:8px;background:#edf2f7;color:#41617f;display:grid;place-items:center;font-weight:800}.client strong{display:block;font-size:12px}.client small,.muted{color:#8c98a7}.amount{font-weight:700}.pill{display:inline-block;border-radius:12px;padding:4px 8px;font-size:10px;font-weight:700}.pill.por-facturar{background:#fff1db;color:#ad690c}.pill.facturada{background:#ebe9ff;color:#6350b5}.pill.pagada{background:#e4f7ee;color:#137655}.pill.falta-oc{background:#ffe8e6;color:#b44343}.responsible{display:flex;align-items:center;gap:7px}.mini-avatar{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#e7edf5;color:#415671;font-size:9px;font-weight:700}.more{border:0;background:none;font-size:20px;color:#718095;cursor:pointer}.table-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:12px 20px;color:#8b98a8;font-size:10px}.table-footer button{border:1px solid var(--line);background:#fff;padding:5px 9px;color:#8794a4}.table-footer .active{background:#1f6fda;color:#fff}.empty{text-align:center;padding:45px;display:none;color:#8895a5}.empty span{font-size:30px}.empty h3{color:#314156;margin:8px 0 4px}.empty p{margin:0}dialog{border:0;border-radius:15px;padding:0;width:min(480px,90vw);box-shadow:0 20px 70px #0d1b2b44}dialog::backdrop{background:#0d1b2b77}dialog form{padding:27px}.dialog-close{float:right;background:none;border:0;font-size:23px;color:#718095;cursor:pointer}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#f6f8fb;padding:15px;border-radius:10px;margin:16px 0}.detail-grid span{font-size:10px;color:#8592a2}.detail-grid strong{display:block;margin-top:2px;font-size:13px}dialog label{display:block;font-size:11px;font-weight:700;margin-top:13px}dialog select,dialog input{width:100%;padding:10px;margin-top:5px;border:1px solid var(--line);border-radius:8px;font:13px "DM Sans"}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.toast{position:fixed;right:30px;bottom:30px;background:#163555;color:white;padding:13px 18px;border-radius:9px;box-shadow:0 10px 30px #10243e33;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none;font-size:13px}.toast.show{opacity:1;transform:none}@media(max-width:1050px){.metrics{grid-template-columns:repeat(2,1fr)}.filters{display:none}}@media(max-width:750px){.sidebar{transform:translateX(-100%)}main{margin:0;padding:20px}.menu{display:block;border:0;background:none;font-size:22px}.topbar>div:first-of-type{flex:1;margin-left:8px}.top-actions .icon-btn{display:none}.alert button:not(.dismiss){display:none}.metrics{grid-template-columns:1fr 1fr}.toolbar{flex-wrap:wrap}.search{width:100%}.table-wrap{overflow-x:auto}table{min-width:780px}.section-head{align-items:flex-start}.section-head .secondary{font-size:0}.section-head .secondary:first-letter{font-size:18px}}@media(max-width:480px){.metrics{grid-template-columns:1fr}.topbar h1{font-size:22px}.top-actions .primary{font-size:0;padding:11px}.top-actions .primary:first-letter{font-size:18px}}
:root{scroll-behavior:smooth}.payments-panel{margin-top:20px;overflow:hidden;background:#fff;border:1px solid #e6ebf1;border-radius:12px}.payment-grid{padding:0 22px 22px;display:grid;grid-template-columns:1fr 1fr;gap:13px}.payment-card{border:1px solid #e6ebf1;border-radius:11px;padding:16px;display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:start}.payment-icon{width:38px;height:38px;border-radius:9px;background:#e4f7ee;color:#178b65;display:grid;place-items:center;font-weight:800}.payment-icon.amber-bg{background:#fff1db;color:#a96813}.payment-main h3{font:700 13px Manrope;margin:5px 0}.payment-main p{font-size:11px;color:#708096;margin:0 0 11px}.source-tag{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:#7d8a9a;font-weight:700}.payment-meta{display:flex;gap:17px;color:#8a96a5;font-size:9px}.payment-meta b{color:#526276;margin-left:4px}.payment-action{text-align:right;display:flex;flex-direction:column;gap:13px;align-items:flex-end}.confidence{font-size:9px;background:#e4f7ee;color:#157655;padding:4px 7px;border-radius:10px;font-weight:700}.confidence.warning{background:#fff1db;color:#a96813}.payment-action button{white-space:nowrap;padding:9px 11px;font-size:10px}.dialog-copy{color:#708096;font-size:12px;line-height:1.5}.allocation{display:flex;align-items:center;gap:10px;border:1px solid #e6ebf1;border-radius:9px;padding:12px;margin:17px 0}.allocation label{margin:0;flex:1}.allocation>input{width:120px;margin:0}.allocation-summary{display:grid;grid-template-columns:1fr auto;gap:9px;background:#f6f8fb;padding:13px;border-radius:9px;font-size:11px}.allocation-summary strong{text-align:right}@media(max-width:1050px){.payment-grid{grid-template-columns:1fr}.payment-card{grid-template-columns:auto 1fr}.payment-action{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between}}
