:root{--navy:#0b2239;--navy-2:#153d62;--blue:#2468a2;--sky:#edf6ff;--ink:#162334;--muted:#6b7787;--line:#e3e9ef;--bg:#f4f7fa;--success:#16805c;--warning:#b46a00;--danger:#b83b4b;--purple:#6d55a8}
*{box-sizing:border-box}html{background:var(--bg)}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}.app-body{min-height:100vh}
.login-page{min-height:100vh;background:radial-gradient(circle at 15% 15%,#dceefe 0,transparent 34%),linear-gradient(145deg,#f7fafc 0,#edf3f8 100%)}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card-wrap{width:min(100%,460px)}.login-brand{display:flex;align-items:center;gap:13px;margin-bottom:18px;padding:0 5px}.login-company{font-size:1.08rem;font-weight:800}.login-card{border-radius:24px!important;box-shadow:0 22px 55px rgba(13,36,58,.12)!important}.login-kicker{display:inline-flex;padding:6px 10px;border-radius:999px;background:var(--sky);color:var(--blue);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.brand-mark,.brand-icon{display:grid;place-items:center;background:linear-gradient(145deg,var(--navy-2),var(--navy));color:#fff;font-weight:850;letter-spacing:.02em;box-shadow:0 8px 20px rgba(11,34,57,.2)}.brand-mark{width:56px;height:56px;border-radius:17px}.brand-icon{width:42px;height:42px;border-radius:13px;flex:0 0 auto}
.app-shell{min-height:100vh}.sidebar{width:260px;position:fixed;inset:0 auto 0 0;background:linear-gradient(180deg,#0b2239 0,#102f4c 100%);color:#fff;z-index:1030}.sidebar-brand{display:flex;align-items:center;gap:12px;color:#fff}.sidebar-brand small,.sidebar-mobile small{color:#aebfd0}.sidebar .nav-link,.sidebar-mobile .nav-link{display:flex;align-items:center;gap:12px;color:#c6d5e2;border-radius:12px;padding:12px 14px;font-weight:600}.sidebar .nav-link i,.sidebar-mobile .nav-link i{font-size:1.05rem;width:20px}.sidebar .nav-link:hover,.sidebar .nav-link.active,.sidebar-mobile .nav-link:hover,.sidebar-mobile .nav-link.active{background:rgba(255,255,255,.12);color:#fff}.sidebar-mobile{background:linear-gradient(180deg,#0b2239,#102f4c);color:#fff;max-width:300px}.app-main{min-width:0;margin-left:260px;width:calc(100% - 260px)}.topbar{min-height:72px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1020}.content-wrap{max-width:1540px;margin:0 auto}.brand-eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:750}.topbar-title{font-size:.98rem}.user-pill{align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:#f5f8fb;color:#566273;font-size:.82rem}.mobile-menu-btn{width:42px;height:42px;border-radius:12px;background:#f2f6f9;font-size:1.2rem}
.page-title{font-size:1.75rem;font-weight:800;letter-spacing:-.035em}.page-subtitle{color:var(--muted)}.metric-card,.panel-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 7px 24px rgba(19,43,65,.045)}.metric-card{padding:20px}.metric-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--sky);color:var(--blue);font-size:1.2rem}.metric-label{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.065em;font-weight:800}.metric-value{font-size:1.65rem;font-weight:800;margin-top:6px;letter-spacing:-.025em}.status-metric .metric-value{font-size:1.45rem}.quick-link{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:15px;text-decoration:none;color:var(--ink);transition:.16s}.quick-link:hover{border-color:#b8c8d7;transform:translateY(-1px);box-shadow:0 7px 20px rgba(25,45,66,.07)}
.table thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.045em;color:#657180;background:#f8fafc;border-bottom-color:var(--line);white-space:nowrap}.table td{vertical-align:middle}.table>tbody>tr:hover>*{background:#fbfdff}.badge-provisional{background:#fff5ce;color:#7a5900;border:1px solid #f8df81}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;font-size:.74rem;font-weight:800;white-space:nowrap}.status-pendiente{background:#fff0f1;color:#a63040}.status-proceso{background:#fff5db;color:#966000}.status-entregado{background:#e8f6ef;color:#147052}.seller-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#f0f3f8;color:#536071;font-size:.75rem;font-weight:700}.money-positive{font-weight:750;color:var(--success)}.filter-card{background:#fff;border:1px solid var(--line);border-radius:16px}.form-label{font-weight:700;font-size:.88rem}.form-control,.form-select{border-color:#d8e0e8;border-radius:11px;min-height:44px}.form-control:focus,.form-select:focus{border-color:#6ca2cf;box-shadow:0 0 0 .2rem rgba(36,104,162,.12)}.btn{border-radius:10px;font-weight:650}.btn-primary{background:var(--navy-2);border-color:var(--navy-2)}.btn-primary:hover{background:var(--navy);border-color:var(--navy)}.btn-soft{background:var(--sky);color:var(--blue);border:1px solid #d6eaf9}.btn-soft:hover{background:#deeffd;color:var(--navy-2)}
.client-card-mobile{background:#fff;border:1px solid var(--line);border-radius:17px;padding:16px;box-shadow:0 5px 18px rgba(22,50,79,.04)}.client-card-mobile+.client-card-mobile{margin-top:12px}.client-mobile-name{font-size:1rem;font-weight:800;line-height:1.2}.client-mobile-ref{font-size:.75rem;color:var(--muted)}.client-mobile-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}.client-mobile-label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:750;margin-bottom:2px}.client-mobile-value{font-size:.88rem;font-weight:650}.client-mobile-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.client-mobile-actions .btn{min-height:42px}.mobile-filter-toggle{display:none}
.invoice-shell{max-width:760px;margin:0 auto}.invoice-paper{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 16px 45px rgba(19,43,65,.08)}.invoice-brand{display:flex;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:2px solid var(--navy)}.invoice-total{font-size:1.6rem;font-weight:850;color:var(--success)}.invoice-row{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px dashed #e3e7eb}.invoice-row:last-child{border-bottom:0}
.report-brand{display:none}.report-actions{display:flex;gap:8px;flex-wrap:wrap}.report-range{font-size:.8rem;color:var(--muted)}
@media(max-width:991.98px){.app-main{margin-left:0;width:100%}.content-wrap{padding-bottom:36px!important}.topbar{min-height:66px}.page-title{font-size:1.55rem}.metric-card{padding:17px}}
@media(max-width:767.98px){.content-wrap{padding:14px!important}.page-title{font-size:1.42rem}.page-subtitle{font-size:.9rem}.metric-card{border-radius:16px;padding:15px}.metric-value{font-size:1.35rem}.metric-label{font-size:.68rem}.desktop-client-table{display:none!important}.client-mobile-list{display:block!important}.filter-card{padding:14px!important}.mobile-filter-toggle{display:inline-flex}.report-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.report-actions .btn:last-child:nth-child(odd){grid-column:1/-1}.invoice-paper{padding:18px;border-radius:16px}.invoice-brand{flex-direction:column}.invoice-row{font-size:.9rem}.login-shell{padding:16px}.login-card .card-body{padding:26px!important}}
@media(min-width:768px){.client-mobile-list{display:none!important}}
@media(max-width:420px){.client-mobile-grid{grid-template-columns:1fr}.client-mobile-actions{grid-template-columns:1fr 1fr}.client-mobile-actions .btn-danger-lite{grid-column:1/-1}.user-pill{display:none!important}}
@media print{body{background:#fff}.sidebar,.sidebar-mobile,.topbar,.no-print,.btn,.filter-card{display:none!important}.app-main{margin-left:0;width:100%}.content-wrap{max-width:none;padding:0!important}.panel-card,.metric-card,.invoice-paper{box-shadow:none;border-color:#ccc}.report-brand{display:block;margin-bottom:14px}.desktop-client-table{display:block!important}.client-mobile-list{display:none!important}.table{font-size:9pt}.invoice-shell{max-width:100%}.invoice-paper{border:0;padding:0}}

/* v4: botones centrados, estado del cliente y reporte responsive */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.38rem;text-align:center;line-height:1.15;vertical-align:middle}.btn i{line-height:1;flex:0 0 auto}.action-buttons{display:flex;align-items:center;justify-content:center;gap:6px}.action-buttons form{margin:0;display:flex}.action-buttons .btn{min-width:38px;min-height:36px}.client-account-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 10px;border-radius:999px;font-size:.74rem;font-weight:800;white-space:nowrap}.client-status-active{background:#e8f6ef;color:#147052;border:1px solid #cfeadc}.client-status-inactive{background:#eef1f4;color:#5d6875;border:1px solid #dce2e8}.client-card-inactive{background:#fafbfc}.metric-icon-muted{background:#eef1f4;color:#66717e}.metric-total{border-color:#cce8dc;background:linear-gradient(180deg,#fff,#f7fcf9)}.report-total-row td{background:#f4faf7!important;border-top:2px solid #cce8dc}.report-mobile-list{display:none}.report-client-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px}.report-client-card+.report-client-card{margin-top:11px}
@media(max-width:767.98px){.client-mobile-actions .btn,.client-mobile-actions form .btn{width:100%;min-height:44px;padding:.65rem .55rem}.client-mobile-actions{grid-template-columns:1fr 1fr}.client-mobile-actions form{grid-column:1/-1}.report-desktop-table{display:none!important}.report-mobile-list{display:block!important}.report-actions .btn{min-height:44px;width:100%}.filter-card .btn{min-height:44px}.account-metric .metric-value{font-size:1.35rem}.invoice-shell .btn{min-height:44px}}
@media(min-width:768px){.report-mobile-list{display:none!important}}
@media print{.report-mobile-list{display:none!important}.report-desktop-table{display:block!important}}
