:root{--bg:#050d18;--panel:#0b1828;--panel2:#0a1421;--line:#1b344f;--text:#eef5ff;--muted:#8ea4bf;--blue:#1684ff;--green:#20df72;--orange:#ffae2b;--red:#ff4d5d;--violet:#b046e7;--cyan:#22c6da}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 45% -10%,#10243d 0,#050d18 38%);color:var(--text);font-family:Inter,Arial,sans-serif;font-size:14px}button,select,input{font:inherit}.sidebar{position:fixed;left:0;top:0;bottom:0;width:240px;padding:18px 14px;background:linear-gradient(180deg,#071321,#091827);border-right:1px solid #10283e;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:10px;padding:4px 13px 22px}.brand-logo{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#1677ff,#01a8ff);font-weight:800;box-shadow:0 0 24px rgba(0,153,255,.28)}.brand h1{margin:0;font-size:21px;letter-spacing:-.5px}.brand span{color:#2188ff;font-size:11px;letter-spacing:2px;font-weight:700}.menu{display:flex;flex-direction:column;gap:4px;overflow:auto;padding-right:2px}.menu::-webkit-scrollbar{width:4px}.menu::-webkit-scrollbar-thumb{background:#27425f;border-radius:10px}.menu a{color:#b9c7d8;text-decoration:none;padding:11px 12px;border-radius:9px;display:flex;align-items:center;gap:12px;font-size:13px;white-space:nowrap}.menu a b{width:19px;text-align:center;font-size:17px}.menu a:hover,.menu a.active{background:linear-gradient(90deg,#147df5,#1268d5);color:white;box-shadow:0 8px 22px rgba(20,125,245,.22)}.connected-icon{color:#22e875;text-shadow:0 0 10px #22e875}.menu a.active .connected-icon{color:white}.system-card{margin-top:auto;border:1px solid #203650;border-radius:13px;padding:13px;background:#091625}.system-title{display:flex;justify-content:space-between;align-items:center}.system-title span{color:#29e66f;background:#083720;padding:4px 8px;border-radius:5px;font-size:10px}.system-card p{display:flex;justify-content:space-between;color:#9eafc3;font-size:10px;margin:12px 0 6px}.system-card b{color:#d7e2f0}.progress{height:5px;background:#203145;border-radius:10px;overflow:hidden}.progress i{display:block;height:100%;background:#2b86ff}.progress.green i{background:#20c66c}.main{margin-left:240px;padding:0 18px 24px}.topbar{min-height:78px;background:linear-gradient(180deg,#0b1929,#091522);border:1px solid #11263b;border-top:none;border-radius:0 0 13px 13px;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;margin-bottom:14px}.page-title{display:flex;gap:16px;align-items:center}.hamburger{background:none;border:0;color:#dce8f6;font-size:21px}.page-title h2{margin:0;font-size:22px}.page-title p{margin:3px 0 0;color:#9aadc3;font-size:12px}.top-info{display:flex;align-items:center}.info-box{height:50px;min-width:145px;border-left:1px solid #142a40;display:flex;align-items:center;justify-content:center;gap:10px;color:#dde8f4;font-size:12px}.info-box.online{border:1px solid #17334d;border-radius:10px;background:#0c1b2c;min-width:175px}.info-box i{width:10px;height:10px;border-radius:50%;background:#23d85f;box-shadow:0 0 11px #23d85f}.info-box span{display:flex;flex-direction:column}.info-box strong{color:#23e36a;margin-top:3px}.user{display:flex;align-items:center;gap:10px;padding-left:16px}.avatar{width:36px;height:36px;border-radius:50%;background:#13253a;display:grid;place-items:center;font-weight:700}.user span{display:flex;flex-direction:column}.user small{color:#93a6bd;margin-top:3px}.big-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.big-actions button{height:58px;border:1px solid #dce3eb;border-radius:11px;background:linear-gradient(180deg,#fff,#f2f5f8);color:#15243a;font-weight:700;font-size:14px;box-shadow:0 4px 14px rgba(0,0,0,.2);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;transition:.2s}.big-actions button:hover{transform:translateY(-2px)}.action-icon{color:#087df4;font-size:22px}.stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:15px}.card{min-height:102px;border-radius:12px;border:1px solid;padding:14px 14px;display:flex;align-items:center;gap:12px;background:#102034;overflow:hidden;box-shadow:inset 0 1px rgba(255,255,255,.025)}.ico{font-size:28px;min-width:34px;text-align:center;text-shadow:0 0 15px currentColor}.card-copy{min-width:0;flex:1}.card span,.card strong,.card small{display:block}.card span{font-size:11px;color:#dbe6f4;line-height:1.25;min-height:28px}.card strong{font-size:22px;margin:3px 0 5px;white-space:nowrap;letter-spacing:-.7px}.card strong.money{font-size:19px}.card strong em{font-size:12px;font-style:normal;font-weight:700;opacity:.9}.card small{font-size:9px;color:#c7d4e4;white-space:nowrap}.green-card{background:linear-gradient(135deg,#0d3d24,#0b281b);border-color:#0d7437}.blue-card{background:linear-gradient(135deg,#102b4f,#0c1d34);border-color:#1c5b99}.cyan-card{background:linear-gradient(135deg,#063e42,#0a262c);border-color:#087a7e}.orange-card{background:linear-gradient(135deg,#573514,#33200f);border-color:#8d510b}.red-card{background:linear-gradient(135deg,#4a191d,#2e1015);border-color:#a4222d}.violet-card{background:linear-gradient(135deg,#351850,#1c112c);border-color:#71359b}.gray-card{background:linear-gradient(135deg,#263241,#151d27);border-color:#526276}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(330px,.92fr);gap:14px}.left-column,.right-column{display:flex;flex-direction:column;gap:14px}.panel{background:linear-gradient(180deg,#0c1929,#091522);border:1px solid #1b3450;border-radius:12px;padding:14px;box-shadow:0 10px 28px rgba(0,0,0,.14)}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.panel h3{margin:0;font-size:14px}.panel p{margin:5px 0 0;color:#91a5bd;font-size:11px}.panel-head button,.panel-head a{background:#111f31;border:1px solid #29415d;color:#c7d5e5;border-radius:6px;padding:6px 11px;font-size:10px;text-decoration:none}.refresh{font-size:9px;color:#96a9bf}.refresh i{display:inline-block;width:7px;height:7px;background:#24dc67;border-radius:50%;margin-left:5px}.controls{display:grid;grid-template-columns:1.25fr 1.15fr .65fr .22fr;gap:10px}.controls select,.controls button{height:35px;border-radius:6px;border:1px solid #2a415c;background:#0b1827;color:#dbe7f5;padding:0 11px;font-size:11px}.controls button{background:#147df5;border-color:#147df5;font-weight:700}.controls .stop{background:#233247;border-color:#233247}.chart-box{height:230px;margin-top:8px}.traffic-summary{border:1px solid #1d3854;border-radius:11px;display:grid;grid-template-columns:repeat(3,1fr);margin-top:8px;overflow:hidden}.traffic-summary>div{padding:10px 16px;display:flex;align-items:center;gap:10px;border-right:1px solid #1b324a}.traffic-summary>div:last-child{border-right:0}.traffic-summary span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:19px}.down{color:#22e38c;background:#083a34}.up{color:#2a8cff;background:#0d2850}.trend{color:#1684ff}.traffic-summary p{margin:0;font-size:10px}.traffic-summary strong{display:block;color:#e7f0ff;font-size:16px;margin-top:3px}.lower-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:14px}table{width:100%;border-collapse:collapse}th{text-align:left;color:#b3c1d2;font-size:9px;padding:8px;border-bottom:1px solid #29405a;text-transform:uppercase;letter-spacing:.4px}td{padding:9px 8px;border-bottom:1px solid #1c3047;color:#c3d1e1;font-size:10px}.tag{padding:4px 7px;border-radius:5px}.tag.pending{background:#503707;color:#ffbc16}.tag.paid{background:#0a3e1d;color:#22e65a}.tag.overdue{background:#4a171c;color:#ff4b58}.activity-list{list-style:none;padding:0;margin:0}.activity-list li{display:grid;grid-template-columns:10px 1fr auto;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid #1b3047}.activity-list i{width:9px;height:9px;border-radius:50%}.activity-list div{display:flex;flex-direction:column;gap:3px}.activity-list strong{font-size:10px}.activity-list span,.activity-list time{font-size:9px;color:#91a5bd}.green-dot{background:#25da63}.blue-dot{background:#1789ff}.orange-dot{background:#ffad17}.red-dot{background:#ff4652}.live{background:#073a2b;color:#18d96c;border-radius:20px;padding:6px 10px;font-size:9px;font-weight:700}.donut-wrap{height:190px;position:relative}.donut-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:none}.donut-center strong{font-size:24px}.donut-center span{font-size:10px;color:#91a5bd}.legend-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.legend-grid div{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:7px;background:#0b1725;border:1px solid #17304a;border-radius:8px;padding:8px}.legend-grid i{width:7px;height:7px;border-radius:50%}.legend-grid span{font-size:9px;color:#9fb1c7}.legend-grid strong{font-size:11px}.lg-green{background:#28df68}.lg-orange{background:#ffac27}.lg-red{background:#ff4d5d}.lg-gray{background:#708197}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.metric-grid div{background:#0a1725;border:1px solid #19334e;border-radius:8px;padding:10px}.metric-grid span{display:block;color:#8fa4bf;font-size:9px}.metric-grid strong{display:block;margin-top:5px;font-size:14px}.port-on{color:#21e36b;background:#073a20;border:1px solid #0a6736;border-radius:20px;padding:6px 10px;font-size:9px}.mode-row,.power-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mode,.power-actions button{height:35px;border-radius:7px;border:1px solid #294460;background:#101f31;color:#b9c9dc;font-size:11px}.mode.active{background:#15355d;border-color:#207cdf;color:white}.power-actions{margin-top:9px}.power-off{background:#351720!important;border-color:#6e2631!important;color:#ff7680!important}.power-on{background:#0d3b23!important;border-color:#17663b!important;color:#35e678!important}.connected-preview{margin-top:14px}.connected-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.connected-row{display:grid;grid-template-columns:10px 1fr auto;grid-template-areas:'dot person time' 'dot traffic traffic';gap:3px 9px;background:#091624;border:1px solid #18334e;border-radius:9px;padding:10px}.connected-row>i{grid-area:dot;width:8px;height:8px;background:#25df6a;border-radius:50%;margin-top:4px;box-shadow:0 0 8px #25df6a}.connected-row>div{grid-area:person}.connected-row strong{font-size:10px}.connected-row span{display:block;font-size:9px;color:#8fa4bf;margin-top:3px}.connected-row b{grid-area:time;font-size:9px;color:#9db1c9}.connected-row em{grid-area:traffic;font-style:normal;font-size:9px;color:#54c9ff}.back-link{color:#82bfff;text-decoration:none;font-size:12px}.connected-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}.connected-stats article{background:linear-gradient(180deg,#0c1929,#091522);border:1px solid #1b3450;border-radius:12px;padding:16px}.connected-stats span{display:block;color:#90a5bf;font-size:11px}.connected-stats strong{display:block;font-size:24px;margin-top:6px}.filters{display:grid;grid-template-columns:1.5fr .7fr .7fr .4fr;gap:10px;margin-bottom:14px}.filters input,.filters select,.filters button{height:38px;border-radius:7px;border:1px solid #29415d;background:#0b1827;color:#dbe7f5;padding:0 12px}.filters button,.details-btn{background:#147df5;border-color:#147df5;color:white;font-weight:700}.online-tag{color:#2ae36f;background:#07371e;border-radius:14px;padding:5px 8px}.details-btn{border:0;border-radius:6px;padding:6px 9px;font-size:9px}
@media(max-width:1350px){.stats{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr}.right-column{display:grid;grid-template-columns:repeat(3,1fr)}.clients-state{grid-row:span 2}.connected-grid{grid-template-columns:1fr 1fr}}
@media(max-width:980px){.sidebar{width:74px}.brand div:last-child,.menu span,.system-card{display:none}.main{margin-left:74px}.top-info .date,.top-info .time{display:none}.big-actions{grid-template-columns:repeat(2,1fr)}.right-column{grid-template-columns:1fr 1fr}.clients-state{grid-column:span 2}.lower-grid{grid-template-columns:1fr}.connected-stats{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr 1fr}.connected-grid{grid-template-columns:1fr}}
@media(max-width:620px){.sidebar{display:none}.main{margin-left:0;padding:0 10px 20px}.topbar{padding:12px}.top-info .online,.user span{display:none}.big-actions,.stats,.right-column,.connected-stats{grid-template-columns:1fr}.clients-state{grid-column:auto}.controls{grid-template-columns:1fr 1fr}.traffic-summary{grid-template-columns:1fr}.traffic-summary>div{border-right:0;border-bottom:1px solid #1b324a}.filters{grid-template-columns:1fr}.card{min-height:92px}}

/* Ajustes finales del Dashboard */
.card{min-height:108px}.card span{min-height:0;font-size:11px;font-weight:600}.card strong{font-size:24px;margin:7px 0 6px}.card strong.money{font-size:20px}.card small{font-size:9px}.right-column .clients-state{height:100%}.right-column{min-height:100%}

/* Módulo de usuarios y autenticación */
.session-card{margin-top:auto;border:1px solid #203650;border-radius:12px;padding:12px;background:#091625;display:flex;flex-direction:column;gap:5px}.session-card strong{font-size:12px}.session-card span{font-size:10px;color:#8ea4bf}.session-card a{margin-top:7px;color:#ff8791;text-decoration:none;font-size:10px}.primary-btn{border:0;border-radius:8px;background:#147df5;color:#fff;padding:10px 16px;font-weight:700;cursor:pointer}.flash{padding:11px 14px;border-radius:8px;margin:0 0 14px;border:1px solid}.flash.success{background:#0b3821;border-color:#166a3a;color:#57ed91}.flash.error{background:#3d171d;border-color:#7f2a35;color:#ff929a}.user-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:14px}.user-stats article{background:linear-gradient(180deg,#0c1929,#091522);border:1px solid #1b3450;border-radius:12px;padding:16px}.user-stats span{display:block;color:#90a5bf;font-size:10px}.user-stats strong{display:block;font-size:25px;margin-top:7px}.users-toolbar{display:flex;gap:10px;margin-bottom:14px}.users-toolbar input{flex:1;height:40px;border-radius:8px;border:1px solid #29415d;background:#0b1827;color:#fff;padding:0 13px}.users-toolbar button{border:1px solid #29415d;background:#111f31;color:#dbe7f5;border-radius:8px;padding:0 14px}.table-scroll{overflow:auto}.users-panel td strong,.users-panel td small{display:block}.users-panel td small{color:#7f95af;margin-top:4px}.role,.status{display:inline-block;padding:5px 9px;border-radius:15px;font-size:9px;font-weight:700}.role-administrador{background:#4b1820;color:#ff7783}.role-cobrador{background:#0a3e23;color:#45e584}.role-tecnico{background:#102f55;color:#67afff}.status.enabled{background:#083921;color:#37e177}.status.disabled{background:#34202a;color:#ac9aa2}.actions-cell{display:flex;gap:5px;align-items:center}.actions-cell form{margin:0}.actions-cell button{width:31px;height:29px;border:1px solid #29415d;background:#122238;color:#cfe0f3;border-radius:6px;cursor:pointer}.actions-cell button.danger{background:#3a171e;color:#ff7783;border-color:#6d2731}.modal{display:none;position:fixed;z-index:20;inset:0;background:rgba(2,8,15,.82);align-items:center;justify-content:center;padding:20px}.modal.show{display:flex}.modal-box{width:min(720px,100%);max-height:92vh;overflow:auto;background:#0b1828;border:1px solid #29415d;border-radius:14px;padding:22px;position:relative;box-shadow:0 20px 70px rgba(0,0,0,.55)}.modal-box h3{margin:0;font-size:20px}.modal-box>p{color:#8ea4bf}.modal-close{position:absolute;right:15px;top:13px;border:0;background:transparent;color:#fff;font-size:25px;cursor:pointer}.user-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.user-form.one-column{grid-template-columns:1fr}.user-form label{color:#b8c8da;font-size:11px}.user-form input,.user-form select{width:100%;height:40px;margin-top:6px;border-radius:7px;border:1px solid #29415d;background:#071421;color:#fff;padding:0 11px}.user-form .full{grid-column:1/-1;height:42px}.small-modal{width:min(430px,100%)}.empty-module{margin-top:14px;min-height:220px;display:grid;place-content:center;text-align:center}.empty-module h1{margin:0 0 8px}.empty-module p{font-size:13px}.login-body{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(430px,100%);background:linear-gradient(180deg,#0d1b2c,#081422);border:1px solid #1f3a57;border-radius:18px;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.45)}.login-brand{padding:0 0 22px}.login-card h2{margin:0;font-size:24px}.login-card>p{color:#8ea4bf}.login-form{display:flex;flex-direction:column;gap:14px;margin:20px 0}.login-form label{font-size:11px;color:#b8c8da}.login-form input{width:100%;height:43px;margin-top:6px;border:1px solid #29415d;border-radius:8px;background:#071421;color:#fff;padding:0 12px}.login-form button{height:44px;border:0;border-radius:8px;background:#147df5;color:#fff;font-weight:800;cursor:pointer}.login-card>small{color:#8297b0}
@media(max-width:1200px){.user-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.user-stats{grid-template-columns:1fr 1fr}.user-form{grid-template-columns:1fr}.users-toolbar{flex-direction:column}.users-toolbar button{height:40px}}

/* Módulo de clientes */
.client-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:14px}.client-stats article{background:linear-gradient(180deg,#0c1929,#091522);border:1px solid #1b3450;border-radius:12px;padding:16px}.client-stats article:nth-child(2){border-color:#17623a}.client-stats article:nth-child(3){border-color:#6b4a16}.client-stats article:nth-child(4){border-color:#46566a}.client-stats article:nth-child(5){border-color:#65407a}.client-stats span{display:block;color:#90a5bf;font-size:10px}.client-stats strong{display:block;font-size:25px;margin-top:7px}.client-stats strong.money{font-size:18px}.clients-toolbar{display:grid;grid-template-columns:1fr 210px auto;gap:10px;margin-bottom:14px}.clients-toolbar input,.clients-toolbar select,.clients-toolbar button{height:40px;border-radius:8px;border:1px solid #29415d;background:#0b1827;color:#fff;padding:0 13px}.clients-toolbar button{background:#111f31;cursor:pointer}.clients-panel td strong,.clients-panel td small{display:block}.clients-panel td small{color:#7f95af;margin-top:4px}.client-status{display:inline-block;padding:5px 9px;border-radius:15px;font-size:9px;font-weight:700}.client-status.activo{background:#083921;color:#37e177}.client-status.suspendido{background:#581622;color:#ff6678;border:1px solid #a82d43}.client-status.retirado{background:#27313e;color:#9badc1}.balance-due{color:#ffb94c}.balance-ok{color:#42df82}.permission-note{margin-bottom:14px;padding:10px 12px;border:1px solid #2b4a68;border-radius:8px;background:#0c2033;color:#9fc4e8;font-size:11px}.empty-row{text-align:center;padding:35px;color:#7f95af}.client-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.client-form h4{grid-column:1/-1;margin:8px 0 -2px;padding-bottom:8px;border-bottom:1px solid #203650;color:#7ebaff;font-size:12px}.client-form label{color:#b8c8da;font-size:11px}.client-form input,.client-form select,.client-form textarea{width:100%;margin-top:6px;border-radius:7px;border:1px solid #29415d;background:#071421;color:#fff;padding:0 11px}.client-form input,.client-form select{height:40px}.client-form textarea{padding:10px;resize:vertical}.client-form .span-2,.client-form .full{grid-column:1/-1}.client-form .full{height:43px}.client-modal{width:min(860px,100%)}.details-modal{width:min(700px,100%)}.client-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.client-details>div{background:#071421;border:1px solid #203650;border-radius:9px;padding:12px}.client-details .wide{grid-column:1/-1}.client-details span{display:block;color:#7f95af;font-size:9px;text-transform:uppercase;letter-spacing:.4px}.client-details strong{display:block;margin-top:5px;font-size:12px;color:#e6f0fc;word-break:break-word}
@media(max-width:1200px){.client-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.client-stats{grid-template-columns:1fr 1fr}.clients-toolbar{grid-template-columns:1fr}.client-form,.client-details{grid-template-columns:1fr}.client-form .span-2,.client-details .wide{grid-column:auto}}@media(max-width:500px){.client-stats{grid-template-columns:1fr}}

/* Módulo de facturación */
.invoice-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:14px}.invoice-stats article{background:linear-gradient(180deg,#0c1929,#091522);border:1px solid #1b3450;border-radius:12px;padding:16px}.invoice-stats article:nth-child(2){border-color:#6b4a16}.invoice-stats article:nth-child(3){border-color:#17623a}.invoice-stats article:nth-child(4){border-color:#6d2731}.invoice-stats article:nth-child(5){border-color:#65407a}.invoice-stats span{display:block;color:#90a5bf;font-size:10px}.invoice-stats strong{display:block;font-size:25px;margin-top:7px}.invoice-stats strong.money{font-size:18px}.invoice-toolbar{display:grid;grid-template-columns:1fr 210px auto;gap:10px;margin-bottom:14px}.invoice-toolbar input,.invoice-toolbar select,.invoice-toolbar button{height:40px;border-radius:8px;border:1px solid #29415d;background:#0b1827;color:#fff;padding:0 13px}.invoice-toolbar button{background:#111f31;cursor:pointer}.invoice-panel td strong,.invoice-panel td small{display:block}.invoice-panel td small{color:#7f95af;margin-top:4px}.invoice-status{display:inline-block;padding:5px 9px;border-radius:15px;font-size:9px;font-weight:700}.invoice-status.pendiente{background:#4b3410;color:#ffc052}.invoice-status.pagada{background:#083921;color:#37e177}.invoice-status.vencida{background:#4b1820;color:#ff7783}.invoice-status.anulada{background:#27313e;color:#9badc1}.invoice-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.invoice-form label{color:#b8c8da;font-size:11px}.invoice-form input,.invoice-form select,.invoice-form textarea{width:100%;margin-top:6px;border-radius:7px;border:1px solid #29415d;background:#071421;color:#fff;padding:0 11px}.invoice-form input,.invoice-form select{height:40px}.invoice-form textarea{padding:10px;resize:vertical}.invoice-form .span-2,.invoice-form .full{grid-column:1/-1}.invoice-form .full{height:43px}.invoice-modal{width:min(760px,100%)}.invoice-detail-modal{width:min(700px,100%)}.invoice-print-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #29415d;padding-bottom:16px;margin-bottom:16px}.invoice-print-head h2{margin:0;font-size:27px}.invoice-print-head span{color:#2188ff;letter-spacing:2px;font-size:11px}.invoice-print-head>div:last-child{text-align:right}.invoice-print-head small{display:block;color:#8ea4bf;margin-top:5px}.invoice-print-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.invoice-print-grid>div{background:#071421;border:1px solid #203650;border-radius:9px;padding:12px}.invoice-print-grid .wide{grid-column:1/-1}.invoice-print-grid span{display:block;color:#7f95af;font-size:9px;text-transform:uppercase}.invoice-print-grid strong{display:block;margin-top:5px}.invoice-print-grid small{display:block;color:#8ea4bf;margin-top:5px}
.invoice-toolbar.invoice-toolbar-complete{grid-template-columns:minmax(240px,1fr) 170px 190px 165px auto auto}.invoice-results{display:flex;gap:24px;align-items:center;justify-content:flex-end;color:#8ea4bf;font-size:11px;margin:-3px 0 12px}.invoice-results span:first-child{margin-right:auto}.invoice-results strong{color:#e8f1fb}.invoice-total-preview{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border-radius:9px;border:1px solid #24548a;background:#0a2038}.invoice-total-preview span{color:#9ab1ca}.invoice-total-preview strong{font-size:20px;color:#5aa9ff}.actions-cell button.pay-action{background:#0a4a2d;border-color:#147448;color:#6af0a2}.invoice-print-brand{display:flex;align-items:center;gap:12px}.invoice-print-brand img{width:54px;height:54px;object-fit:contain;border-radius:50%;background:#fff}.invoice-print-brand>div h2{margin:0}
@media(max-width:1200px){.invoice-stats{grid-template-columns:repeat(3,1fr)}.invoice-toolbar.invoice-toolbar-complete{grid-template-columns:1fr 180px 160px auto}.invoice-toolbar.invoice-toolbar-complete button:last-child{grid-column:4}}@media(max-width:760px){.invoice-stats{grid-template-columns:1fr 1fr}.invoice-toolbar,.invoice-toolbar.invoice-toolbar-complete,.invoice-form,.invoice-print-grid{grid-template-columns:1fr}.invoice-toolbar.invoice-toolbar-complete button:last-child{grid-column:auto}.invoice-form .span-2,.invoice-print-grid .wide{grid-column:auto}.invoice-results{align-items:flex-start;flex-direction:column;gap:5px}}@media(max-width:500px){.invoice-stats{grid-template-columns:1fr}}
@media print{body{background:#fff;color:#111}.sidebar,.main,.no-print{display:none!important}.modal{display:block!important;position:static;background:#fff;padding:0}.modal:not(#modalVerFactura){display:none!important}#modalVerFactura .modal-box{width:100%;max-width:none;border:0;box-shadow:none;background:#fff;color:#111}.invoice-print-grid>div{background:#fff;border-color:#ccc}.invoice-print-grid span,.invoice-print-grid small,.invoice-print-head small{color:#555}}

/* Módulo de pagos */
.payment-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:14px}.payment-stats article{background:linear-gradient(180deg,#0c1929,#091522);border:1px solid #1b3450;border-radius:12px;padding:16px}.payment-stats article:nth-child(1){border-color:#17623a}.payment-stats article:nth-child(2){border-color:#0e6a78}.payment-stats article:nth-child(3){border-color:#6b4a16}.payment-stats article:nth-child(4){border-color:#17623a}.payment-stats article:nth-child(5){border-color:#6d2731}.payment-stats span{display:block;color:#90a5bf;font-size:10px}.payment-stats strong{display:block;font-size:25px;margin-top:7px}.payment-stats strong.money{font-size:18px}.payment-stats small{display:block;color:#7890ab;font-size:9px;margin-top:5px}.payment-toolbar{display:grid;grid-template-columns:1fr 210px auto;gap:10px;margin-bottom:14px}.payment-toolbar input,.payment-toolbar select,.payment-toolbar button{height:40px;border-radius:8px;border:1px solid #29415d;background:#0b1827;color:#fff;padding:0 13px}.payment-toolbar button{background:#111f31;cursor:pointer}.payment-panel td strong,.payment-panel td small{display:block}.payment-panel td small{color:#7f95af;margin-top:4px}.payment-amount{color:#42df82}.payment-status{display:inline-block;padding:5px 9px;border-radius:15px;font-size:9px;font-weight:700}.payment-status.aplicado{background:#083921;color:#37e177}.payment-status.anulado{background:#4b1820;color:#ff7783}.payment-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.payment-form label{color:#b8c8da;font-size:11px}.payment-form input,.payment-form select,.payment-form textarea{width:100%;margin-top:6px;border-radius:7px;border:1px solid #29415d;background:#071421;color:#fff;padding:0 11px}.payment-form input,.payment-form select{height:40px}.payment-form textarea{padding:10px;resize:vertical}.payment-form .span-2,.payment-form .full{grid-column:1/-1}.payment-form .full{height:43px}.payment-modal{width:min(760px,100%)}.payment-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.payment-summary>div,.payment-summary>span{background:#071421;border:1px solid #203650;border-radius:9px;padding:12px}.payment-summary span{display:block;color:#7f95af;font-size:9px}.payment-summary strong{display:block;margin-top:5px}.payment-summary small{display:block;color:#8ea4bf;margin-top:5px}.payment-empty{margin-top:18px;padding:30px;text-align:center;border:1px dashed #29415d;border-radius:10px;color:#8ea4bf}.receipt-modal{width:min(650px,100%)}.receipt-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #29415d;padding-bottom:16px;margin-bottom:16px}.receipt-head h2{margin:0;font-size:27px}.receipt-head span{color:#20c878;letter-spacing:2px;font-size:11px}.receipt-head>div:last-child{text-align:right}.receipt-head small{display:block;color:#8ea4bf;margin-top:5px}.receipt-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.receipt-grid>div{background:#071421;border:1px solid #203650;border-radius:9px;padding:12px}.receipt-grid .wide{grid-column:1/-1}.receipt-grid span{display:block;color:#7f95af;font-size:9px;text-transform:uppercase}.receipt-grid strong{display:block;margin-top:5px;text-transform:capitalize}.receipt-grid small{display:block;color:#8ea4bf;margin-top:5px}.receipt-total{margin:18px 0;padding:16px;border-radius:10px;background:#082d1d;border:1px solid #17623a;display:flex;justify-content:space-between;align-items:center}.receipt-total span{color:#9bcdb3}.receipt-total strong{font-size:22px;color:#42df82}
@media(max-width:1200px){.payment-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.payment-stats{grid-template-columns:1fr 1fr}.payment-toolbar,.payment-form,.payment-summary,.receipt-grid{grid-template-columns:1fr}.payment-form .span-2,.payment-summary .span-2,.receipt-grid .wide{grid-column:auto}}@media(max-width:500px){.payment-stats{grid-template-columns:1fr}}
@media print{body{background:#fff;color:#111}.sidebar,.main,.no-print{display:none!important}.modal{display:block!important;position:static;background:#fff;padding:0}.modal:not(#modalVerRecibo){display:none!important}#modalVerRecibo .modal-box{width:100%;max-width:none;border:0;box-shadow:none;background:#fff;color:#111}.receipt-grid>div{background:#fff;border-color:#ccc}.receipt-grid span,.receipt-grid small,.receipt-head small{color:#555}.receipt-total{background:#fff;border-color:#333}.receipt-total strong{color:#111}}

/* Módulos Reportes y Configuración */
.report-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:14px}.report-stats article{background:linear-gradient(180deg,#0c1929,#091522);border:1px solid #1b3450;border-radius:12px;padding:16px}.report-stats article:nth-child(1){border-color:#2d65aa}.report-stats article:nth-child(2){border-color:#17623a}.report-stats article:nth-child(3){border-color:#6d4a18}.report-stats span{display:block;color:#90a5bf;font-size:10px}.report-stats strong{display:block;font-size:19px;margin-top:7px}.report-filter{margin-bottom:14px}.report-filter-grid{display:grid;grid-template-columns:1fr 1fr 1fr auto auto;gap:10px;align-items:end}.report-filter-grid label{color:#b8c8da;font-size:11px}.report-filter-grid input,.report-filter-grid select{display:block;width:100%;height:40px;margin-top:6px;border-radius:8px;border:1px solid #29415d;background:#071421;color:#fff;padding:0 11px}.secondary-btn,.report-export a{display:inline-flex;align-items:center;justify-content:center;height:40px;border:1px solid #29415d;background:#111f31;color:#dbe7f5;border-radius:8px;padding:0 14px;text-decoration:none;font-weight:700}.report-export{display:flex;gap:10px;margin-bottom:14px}.report-panel{margin-bottom:14px}.report-panel td small{display:block;color:#7f95af;margin-top:4px}.settings-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px}.settings-panel{padding:20px}.settings-title{display:flex;gap:12px;align-items:center;padding-bottom:14px;border-bottom:1px solid #1e354e;margin-bottom:16px}.settings-title>span{width:42px;height:42px;border-radius:10px;background:#102b4f;display:grid;place-items:center;font-size:20px}.settings-title h3{margin:0}.settings-title p{margin:4px 0 0;color:#8ea4bf;font-size:10px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.settings-grid label{color:#b8c8da;font-size:11px}.settings-grid input,.settings-grid select{width:100%;height:41px;margin-top:6px;border-radius:8px;border:1px solid #29415d;background:#071421;color:#fff;padding:0 11px}.settings-grid .span-2{grid-column:1/-1}.settings-info{grid-column:1/-1}.settings-info>p{color:#91a5bd}.save-settings{grid-column:1/-1;justify-self:end;min-width:210px;height:44px}
@media(max-width:1100px){.report-stats{grid-template-columns:repeat(3,1fr)}.report-filter-grid{grid-template-columns:1fr 1fr}.settings-layout{grid-template-columns:1fr}}@media(max-width:650px){.report-stats{grid-template-columns:1fr}.report-filter-grid,.settings-grid{grid-template-columns:1fr}.settings-grid .span-2{grid-column:auto}.report-export{flex-direction:column}.save-settings{width:100%}}
@media print{.sidebar,.topbar .primary-btn,.no-print,.report-export{display:none!important}.main{margin-left:0}.panel,.report-stats article{box-shadow:none}}

/* Módulo Red / MikroTik */
.mikrotik-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.mikrotik-summary article{background:linear-gradient(180deg,#0c1929,#091522);border:1px solid #1b3450;border-radius:12px;padding:16px}.mikrotik-summary article:nth-child(1){border-color:#17623a}.mikrotik-summary article:nth-child(2){border-color:#6d2731}.mikrotik-summary article:nth-child(3){border-color:#6b4a16}.mikrotik-summary article:nth-child(4){border-color:#0e6a78}.mikrotik-summary span{display:block;color:#90a5bf;font-size:10px}.mikrotik-summary strong{display:block;font-size:25px;margin-top:7px}.mikrotik-summary small{display:block;color:#7890ab;font-size:9px;margin-top:5px}.network-notice{display:flex;gap:12px;align-items:center;padding:13px 16px;margin-bottom:14px;border:1px solid #2d6cdf;background:rgba(45,108,223,.1);border-radius:10px}.network-notice strong{color:#76a8ff}.network-notice span{color:#aab7c9;font-size:11px}.network-panel{margin-bottom:14px}.search-input{width:min(330px,100%);height:38px;background:#0b1827;border:1px solid #29415d;color:#fff;padding:0 12px;border-radius:8px}.network-status{display:inline-flex;padding:5px 9px;border-radius:15px;font-size:9px;font-weight:700}.network-status.active{background:#083921;color:#37e177}.network-status.inactive{background:#27313e;color:#9badc1}.network-status.suspended{background:#4b1820;color:#ff7783}.network-status.pending{background:#4b3410;color:#ffc052}.network-actions{display:flex;gap:5px}.network-actions form{margin:0}.network-btn{width:31px;height:29px;border:1px solid #29415d;background:#122238;color:#cfe0f3;border-radius:6px;cursor:pointer}.network-btn.danger{background:#3a171e;color:#ff7783;border-color:#6d2731}.network-btn.success{background:#0b3821;color:#57ed91;border-color:#166a3a}.network-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.router-list{display:grid;gap:10px}.router-card{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #203650;background:#071421;border-radius:9px}.router-card>div:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1}.router-card span,.router-card small{color:#8493a9;font-size:10px}.router-icon{width:40px;height:40px;border-radius:9px;display:grid;place-items:center;background:#132b48;color:#65a1ff;font-size:20px}.network-activity{display:grid;gap:12px}.network-activity article{display:flex;gap:10px;padding-bottom:10px;border-bottom:1px solid #1b3047}.network-activity i{width:9px;height:9px;margin-top:5px;border-radius:50%;background:#3c82f6;box-shadow:0 0 0 4px rgba(60,130,246,.12)}.network-activity p{margin:4px 0;color:#9ba8bb;font-size:10px}.network-activity small{color:#6f7c90;font-size:9px}@media(max-width:1000px){.mikrotik-summary{grid-template-columns:1fr 1fr}.network-grid{grid-template-columns:1fr}}@media(max-width:600px){.mikrotik-summary{grid-template-columns:1fr}.network-notice{align-items:flex-start;flex-direction:column}.panel-head{align-items:flex-start;gap:10px;flex-direction:column}}

/* Módulo Copias de Seguridad */
.backup-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.backup-stats article{background:linear-gradient(180deg,#0c1929,#091522);border:1px solid #1b3450;border-radius:12px;padding:16px}.backup-stats article:nth-child(1){border-color:#2d65aa}.backup-stats article:nth-child(2){border-color:#0e6a78}.backup-stats article:nth-child(3){border-color:#6b4a16}.backup-stats article:nth-child(4){border-color:#17623a}.backup-stats span{display:block;color:#90a5bf;font-size:10px}.backup-stats strong{display:block;font-size:22px;margin-top:7px}.backup-stats strong.backup-last{font-size:14px;line-height:1.5}.backup-stats small{display:block;color:#7890ab;font-size:9px;margin-top:5px}.backup-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);gap:14px}.backup-side{display:flex;flex-direction:column;gap:14px}.backup-actions{display:flex;gap:7px;align-items:center}.backup-actions form{margin:0}.compact{height:32px!important;padding:0 10px!important;font-size:10px!important}.danger-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #74303a;background:#451a22;color:#ff8893;border-radius:8px;padding:0 14px;height:40px;font-weight:700;cursor:pointer}.backup-form{display:grid;gap:13px}.backup-form label{color:#b8c8da;font-size:11px}.backup-form input,.backup-form select{display:block;width:100%;height:41px;margin-top:6px;border-radius:8px;border:1px solid #29415d;background:#071421;color:#fff;padding:0 11px}.backup-form input[type=file]{height:auto;padding:10px}.switch-row{display:flex!important;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid #29415d;border-radius:8px;background:#071421}.switch-row input{width:18px!important;height:18px!important;margin:0!important}.restore-warning{padding:11px;border:1px solid #6b4a16;background:#35250f;color:#f1c36b;border-radius:8px;font-size:10px;line-height:1.5;margin-bottom:13px}.restore-btn{width:100%}.empty-row{text-align:center!important;color:#8094ad!important;padding:30px!important}@media(max-width:1100px){.backup-stats{grid-template-columns:1fr 1fr}.backup-grid{grid-template-columns:1fr}}@media(max-width:600px){.backup-stats{grid-template-columns:1fr}.backup-actions{align-items:stretch;flex-direction:column}.backup-actions form,.backup-actions button,.backup-actions a{width:100%}}

.big-actions .quick-action{display:flex;align-items:center;justify-content:center;gap:18px;text-decoration:none;color:inherit;background:#f8fafc;border:1px solid #d7dee8;border-radius:16px;min-height:84px;font-weight:700;font-size:20px;box-sizing:border-box}.big-actions .quick-action:hover{transform:translateY(-1px);filter:brightness(.98)}

/* Corrección del formulario Nuevo Ticket */
.ticket-modal{width:min(1080px,96vw);padding:32px;border-radius:18px}
.ticket-modal h3{font-size:30px;margin-bottom:6px}
.ticket-modal>p{font-size:16px;margin:0 0 24px}
.ticket-modal .user-form{gap:20px;margin-top:0}
.ticket-modal .user-form label{display:flex;flex-direction:column;gap:8px;font-size:16px;color:#b8c8da}
.ticket-modal .user-form input,
.ticket-modal .user-form select,
.ticket-modal .user-form textarea{box-sizing:border-box;width:100%;margin-top:0;border:1px solid #29415d;border-radius:12px;background:#071421;color:#fff;font:inherit;outline:none}
.ticket-modal .user-form input,
.ticket-modal .user-form select{height:60px;padding:0 22px}
.ticket-modal .user-form textarea{min-height:125px;padding:16px 22px;resize:vertical}
.ticket-modal .user-form input:focus,
.ticket-modal .user-form select:focus,
.ticket-modal .user-form textarea:focus{border-color:#2188ff;box-shadow:0 0 0 3px rgba(33,136,255,.14)}
.ticket-modal .primary-btn.full{height:64px;border-radius:12px;font-size:20px}
@media(max-width:700px){.ticket-modal{padding:22px}.ticket-modal h3{font-size:24px}.ticket-modal .user-form input,.ticket-modal .user-form select{height:52px}.ticket-modal .primary-btn.full{height:54px;font-size:17px}}

/* Corrección: acciones rápidas del Dashboard con el tamaño original */
.big-actions .quick-action{
  height:58px;
  min-height:58px;
  border:1px solid #dce3eb;
  border-radius:11px;
  background:linear-gradient(180deg,#fff,#f2f5f8);
  color:#15243a;
  font-weight:700;
  font-size:14px;
  box-shadow:0 4px 14px rgba(0,0,0,.2);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:0 12px;
  text-decoration:none;
  transition:.2s;
}

.menu .smartolt-menu-link b{height:24px;display:grid;place-items:center}
.menu .smartolt-menu-link b img{display:block;width:24px;height:24px;object-fit:contain;border-radius:6px}

/* Dashboard: clientes por estado y tráfico en dos mitades */
.dashboard-grid{grid-template-columns:1fr}
.dashboard-insights-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:14px;align-items:stretch}
.dashboard-insights-grid>.panel{min-width:0;height:100%}
.client-traffic-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(190px,.75fr);min-height:254px;margin:0 -14px -14px}
.client-traffic-line{position:relative;min-width:0;padding:10px 16px 16px}
.client-traffic-total{background:#08131e;border-left:1px solid #172d43;padding:8px 18px 14px;display:flex;flex-direction:column}
.client-traffic-total>strong{font-size:27px;line-height:1.1}
.client-traffic-total>span{color:#8fa7c1;font-size:11px;margin-top:6px}
.client-traffic-donut{height:145px;position:relative;margin:8px 0}
.client-traffic-donut>div{position:absolute;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none}
.client-traffic-donut>div strong{font-size:28px}
.client-traffic-donut>div span{font-size:10px;margin-top:2px}
.client-traffic-legend{display:grid;gap:7px}
.client-traffic-legend p{display:grid;grid-template-columns:8px auto 1fr;align-items:center;gap:8px;margin:0;font-size:10px}
.client-traffic-legend p i{width:8px;height:8px;border-radius:50%}
.client-traffic-legend p span{color:#8fa7c1}
.traffic-download-dot{background:#3895e8}.traffic-upload-dot{background:#10b4b6}
@media(max-width:1100px){.dashboard-insights-grid{grid-template-columns:1fr}}
@media(max-width:620px){.client-traffic-layout{grid-template-columns:1fr}.client-traffic-line{height:230px}.client-traffic-total{border-left:0;border-top:1px solid #172d43}}

/* Datos del servidor */
.server-health-panel{padding:16px}.server-health-list{display:grid}.server-health-list>div{min-height:54px;display:grid;grid-template-columns:46px minmax(150px,1fr) minmax(170px,1.45fr);align-items:center;gap:12px;border-bottom:1px solid #26394c;padding:8px 4px}.server-health-list>div:last-child{border-bottom:0}.server-health-list>div>span{font-size:11px;color:#eaf3ff}.server-health-list>div>strong{font-size:11px;text-align:right;color:#b8d4ef}.server-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:#fff;font-style:normal;font-size:18px}.cores-icon{background:#8b4be0}.load-icon{background:#3297e5}.server-health-list .cpu-icon{background:#43b6d5}.memory-icon{background:#ff525d}.disk-icon,.backup-icon{background:#ee4895}.server-health-list .temperature-icon{background:#f28c35}.server-progress{height:24px;border-radius:6px;background:#bbc0c5;position:relative;overflow:hidden}.server-progress b{display:block;height:100%;width:0;background:#ffad25;transition:width .3s}.server-progress em{position:absolute;inset:0;display:grid;place-items:center;font-size:9px;font-style:normal;font-weight:800;color:#fff;text-shadow:0 1px 2px #333}.server-split{height:24px;border-radius:6px;overflow:hidden;display:flex;background:#3999eb}.server-split b{display:grid;place-items:center;min-width:0;font-size:9px;color:#fff}.server-split b:first-child{background:#ffad25}.server-split b:last-child{background:#3999eb}@media(max-width:700px){.server-health-list>div{grid-template-columns:40px 1fr}.server-health-list>div>*:last-child{grid-column:2;text-align:left;width:100%}}
.big-actions .quick-action:hover{
  transform:translateY(-2px);
  filter:none;
}
.big-actions .quick-action .action-icon{
  color:#087df4;
  font-size:22px;
  line-height:1;
}

/* Accesos rápidos elegantes */
.big-actions{gap:8px;width:50%}
.big-actions .quick-action{position:relative;justify-content:flex-start;height:68px;min-height:68px;padding:0 9px;gap:8px;background:linear-gradient(145deg,#0f2135,#0a1726);border:1px solid #203b58;border-radius:13px;color:#eef6ff;box-shadow:0 8px 24px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.035);overflow:hidden;isolation:isolate}
.big-actions .quick-action::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--action-color);box-shadow:0 0 16px var(--action-color)}
.big-actions .quick-action::after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-48px;top:-55px;background:var(--action-glow);z-index:-1}
.big-actions .quick-action:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--action-color) 55%,#203b58);box-shadow:0 13px 30px rgba(0,0,0,.3)}
.big-actions .quick-action .action-icon{width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:grid;place-items:center;background:var(--action-soft);border:1px solid var(--action-border);color:var(--action-color);font-size:19px;font-weight:800;text-shadow:0 0 14px var(--action-glow)}
.quick-action-copy{display:flex;min-width:0;flex-direction:column;gap:4px}.quick-action-copy strong{font-size:13px;line-height:1;color:#f4f8ff}.quick-action-copy small{font-size:9px;font-weight:500;color:#8299b4}.big-actions .quick-action>i{margin-left:auto;color:#65809e;font-size:24px;font-style:normal;transition:transform .2s,color .2s}.big-actions .quick-action:hover>i{transform:translateX(3px);color:var(--action-color)}
.action-payment{--action-color:#31dc7a;--action-soft:#0a3523;--action-border:#17643d;--action-glow:rgba(49,220,122,.22)}
.action-client{--action-color:#3698ff;--action-soft:#0b294b;--action-border:#18528b;--action-glow:rgba(54,152,255,.24)}
.action-ticket{--action-color:#b06cff;--action-soft:#281641;--action-border:#583283;--action-glow:rgba(176,108,255,.22)}
.action-settings{--action-color:#ffae37;--action-soft:#38250d;--action-border:#76501c;--action-glow:rgba(255,174,55,.22)}
body.light-theme .big-actions .quick-action{background:linear-gradient(145deg,#fff,#f2f6fa);border-color:#d4dee9;color:#172437;box-shadow:0 8px 20px rgba(32,57,85,.11)}
body.light-theme .quick-action-copy strong{color:#172437}body.light-theme .quick-action-copy small{color:#71849a}
@media(max-width:1200px){.big-actions{width:100%}}
@media(max-width:620px){.big-actions .quick-action{height:70px;min-height:70px}}

/* Experiencia móvil global */
@media(max-width:900px){
  html,body{max-width:100%;overflow-x:hidden}
  .sidebar{display:flex!important;width:min(286px,86vw)!important;padding:16px 13px;z-index:90;transform:translateX(-105%)}
  body.sidebar-mobile-open .sidebar{transform:translateX(0)}
  .sidebar .brand div:last-child,.sidebar .menu span,.sidebar .session-card{display:flex}
  .sidebar .brand{justify-content:flex-start}
  .sidebar .menu a{min-height:44px}
  .main{width:100%;margin-left:0!important;padding:0 12px 22px}
  .main .topbar{min-height:70px;padding:11px 8px 11px 58px;margin-bottom:12px}
  .global-controls{left:12px;right:12px;top:12px}
  .theme-toggle-fixed{min-width:44px;width:44px;padding:0}
  .theme-toggle-fixed .theme-label{display:none}
  .panel,.left-column,.dashboard-grid,.dashboard-insights-grid,.dashboard-bottom-grid{min-width:0;max-width:100%}
  .panel{padding:12px}
  .panel-head{gap:8px;align-items:flex-start}
  .panel-head .refresh{max-width:45%;text-align:right;line-height:1.35}
  .controls{grid-template-columns:1fr 1fr}
  .controls select{min-width:0;width:100%}
  .chart-box{height:210px}
  .dashboard-table-wrap,.table-scroll,.panel:has(>table){overflow-x:auto;-webkit-overflow-scrolling:touch}
  table{width:max-content;min-width:100%}
  .modal{padding:8px}.modal-box{max-height:96dvh;padding:18px 14px;border-radius:12px}
}
@media(max-width:620px){
  .main{padding:0 9px 18px}
  .main .topbar{border-radius:0 0 11px 11px}
  .page-title h2{font-size:18px}.page-title p{font-size:10px}
  .top-info{margin-left:auto}.top-info .avatar{width:32px;height:32px;font-size:11px}
  .big-actions{grid-template-columns:1fr 1fr!important;gap:9px;margin-bottom:12px}
  .big-actions .quick-action{height:68px;min-height:68px;padding:0 10px;gap:9px;border-radius:12px}
  .big-actions .quick-action .action-icon{width:36px;height:36px;flex-basis:36px;font-size:19px;border-radius:10px}
  .quick-action-copy strong{font-size:11px}.quick-action-copy small{font-size:8px}.big-actions .quick-action>i{display:none}
  .stats{grid-template-columns:1fr 1fr!important;gap:9px}
  .card{min-height:96px!important;padding:11px;gap:7px}.ico{font-size:21px;min-width:26px}.card strong{font-size:19px}.card strong.money{font-size:15px}.card small{white-space:normal;line-height:1.25}
  .lower-grid,.dashboard-insights-grid,.dashboard-bottom-grid{grid-template-columns:1fr!important;gap:10px}
  .controls{grid-template-columns:1fr}.controls button{height:40px}
  .traffic-summary{grid-template-columns:1fr}.traffic-summary>div{border-right:0;border-bottom:1px solid #1b324a}
  .donut-wrap{height:175px}.legend-grid{grid-template-columns:1fr}
  .client-traffic-layout{margin:0 -12px -12px}
  .server-health-list>div{padding:9px 0}
}
@media(max-width:390px){
  .big-actions,.stats{grid-template-columns:1fr!important}
  .top-info .user{display:none}
}

/* Cierre de modales: siempre por encima de los controles globales */
.modal{z-index:200}
.payment-modal{padding-top:24px}
.payment-modal>h3{padding-right:52px}
.payment-modal>.modal-close,.receipt-modal>.modal-close{z-index:3;top:11px;right:11px;width:38px;height:38px;padding:0;display:grid;place-items:center;border:1px solid #31465c;border-radius:10px;background:#050b12;color:#fff;font-size:25px;line-height:1;box-shadow:0 7px 18px rgba(0,0,0,.38)}
.payment-modal>.modal-close:hover,.receipt-modal>.modal-close:hover{background:#35151b;border-color:#7d2933;color:#ff8d96}
body.light-theme .payment-modal>.modal-close,body.light-theme .receipt-modal>.modal-close{background:#172437;border-color:#263a52;color:#fff}
@media(max-width:620px){.payment-modal>.modal-close,.receipt-modal>.modal-close{position:sticky;float:right;top:0;margin:-7px -2px 4px 10px}}
.payment-panel tbody tr.payment-selected-row{background:rgba(25,119,220,.14);box-shadow:inset 3px 0 #278cff}
.payment-panel .table-scroll{scroll-behavior:smooth}
.payment-selection-banner{margin:-3px 0 12px;padding:10px 13px;border:1px solid #17623a;border-radius:10px;background:linear-gradient(90deg,#092c1c,#0b2030);display:grid;grid-template-columns:auto 1fr;align-items:center;gap:3px 10px}
.payment-selection-banner[hidden]{display:none}.payment-selection-banner span{color:#75dfa4;font-size:9px;text-transform:uppercase;font-weight:800}.payment-selection-banner strong{font-size:13px;color:#fff}.payment-selection-banner small{grid-column:1/-1;color:#91a6bd;font-size:9px}
.monthly-growth{margin-top:22px;padding-top:17px;border-top:1px solid #29405a}.monthly-growth-title{display:flex;align-items:center;gap:9px;margin-bottom:12px}.monthly-growth-title span{color:#36a7ff;font-size:22px}.monthly-growth-title h3{font-size:16px;color:#dce8f6}.monthly-growth-chart{height:260px}.monthly-growth-chart canvas{width:100%!important;height:100%!important}body.light-theme .monthly-growth{border-top-color:#d7e0ea}body.light-theme .monthly-growth-title h3{color:#53677f}
.client-selection-banner{margin:0 0 12px;padding:11px 13px;border:2px solid #29d878;border-radius:10px;background:linear-gradient(135deg,#07532e,#0a2830);box-shadow:0 8px 22px rgba(21,210,109,.2)}
.client-selection-banner[hidden]{display:none}.client-selection-banner span,.client-selection-banner strong,.client-selection-banner small{display:block}.client-selection-banner span{color:#8fffc0;font-size:9px;font-weight:800}.client-selection-banner strong{margin-top:4px;color:#fff;font-size:16px}.client-selection-banner small{margin-top:3px;color:#b7d9ca}.clients-panel tbody tr.client-selected-row{background:rgba(25,119,220,.16);box-shadow:inset 3px 0 #278cff}
@media(max-width:620px){
  #tablaClientes th:first-child,#tablaClientes td:first-child,#tablaPagos th:nth-child(2),#tablaPagos td:nth-child(2){position:static;box-shadow:none}
}


/* Dashboard compacto: mismo alto, mitad del ancho y colores únicos */
.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.stats .card{min-height:92px;padding:10px;gap:7px}
.stats .ico{font-size:22px;min-width:26px}
.stats .card strong{font-size:19px}
.stats .card strong.money{font-size:14px}
.stats .card small{white-space:normal;line-height:1.2}
.card-active{background:linear-gradient(135deg,#0d3d24,#0b281b);border-color:#0d7437}
.card-billing{background:linear-gradient(135deg,#351850,#1c112c);border-color:#71359b}
.card-pending-invoices{background:linear-gradient(135deg,#573514,#33200f);border-color:#8d510b}
.card-payments{background:linear-gradient(135deg,#063e42,#0a262c);border-color:#087a7e}
.card-suspended{background:linear-gradient(135deg,#4a191d,#2e1015);border-color:#a4222d}
.card-total{background:linear-gradient(135deg,#102b4f,#0c1d34);border-color:#1c5b99}
.card-retired{background:linear-gradient(135deg,#263241,#151d27);border-color:#526276}
.card-collected-today{background:linear-gradient(135deg,#314012,#1d280b);border-color:#6f8d1a}
.card-due-soon{background:linear-gradient(135deg,#493d08,#292205);border-color:#a58b12}
.card-open-tickets{background:linear-gradient(135deg,#12384a,#0a2532);border-color:#277895}
.card-pending-payments{background:linear-gradient(135deg,#4a2438,#2c1321);border-color:#9a476f}
.card-issued-invoices{background:linear-gradient(135deg,#2d2252,#19132f);border-color:#6353a8}
@media(max-width:1550px){.stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1250px){.stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1050px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.stats{grid-template-columns:1fr}}


/* Tarjetas del Dashboard como accesos directos */
.stat-link {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}
.stat-link:visited { color: inherit; }
.stat-link:hover {
  transform: translateY(-3px);
  filter: brightness(1.08);
  box-shadow: 0 12px 28px rgba(0, 0, 0, .24);
}
.stat-link:focus-visible {
  outline: 3px solid #4da3ff;
  outline-offset: 3px;
}

/* Dashboard: sector y últimos pagos en el espacio inferior */
.right-column{display:flex;flex-direction:column;gap:14px}
.sector-panel{min-height:360px}
.panel-link{color:#78adff;text-decoration:none;font-size:10px;font-weight:700;border:1px solid #28496d;border-radius:7px;padding:7px 10px;background:#0b2036}
.panel-link:hover{background:#123253;color:#fff}
.sector-chart-wrap{height:225px;position:relative;margin:4px auto 12px;max-width:310px}
.sector-legend{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}
.sector-legend a{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:8px;color:#b9c8da;text-decoration:none;padding:7px 8px;border-radius:7px;background:#071421;border:1px solid #172c43;font-size:10px}
.sector-legend a:hover{border-color:#3479c5;background:#0d2035}
.sector-legend i{width:8px;height:8px;border-radius:50%;background:hsl(calc(var(--sector-index) * 39 + 198),72%,57%)}
.sector-legend strong{color:#fff}
.recent-payments-dashboard{margin-top:14px;margin-bottom:18px}
.dashboard-table-wrap{overflow-x:auto}
.recent-payments-dashboard table{width:100%;border-collapse:collapse}
.recent-payments-dashboard th{color:#7f95af;font-size:9px;text-transform:uppercase;text-align:left;padding:10px 12px;border-bottom:1px solid #203650}
.recent-payments-dashboard td{padding:12px;border-bottom:1px solid #172c43;color:#c7d5e6;font-size:11px}
.recent-payments-dashboard td strong,.recent-payments-dashboard td small{display:block}
.recent-payments-dashboard td small{color:#7188a2;margin-top:4px;font-size:9px}
.recent-payments-dashboard td a{color:#83b4ff;text-decoration:none;font-weight:700}
.recent-payments-dashboard tr.clickable-payment{cursor:pointer}
.recent-payments-dashboard tr.clickable-payment:hover{background:#0d2035}
.dashboard-payment-amount{color:#43df84!important;font-weight:800}
.dashboard-empty{text-align:center;color:#7890aa;padding:34px 12px!important}
@media(max-width:1050px){.sector-legend{grid-template-columns:1fr}.sector-chart-wrap{height:210px}}

/* Paneles inferiores: cuadros izquierdo y derecho */
.dashboard-bottom-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);
  gap:14px;
  margin-top:14px;
  align-items:stretch;
}
.dashboard-bottom-grid .sector-panel,
.dashboard-bottom-grid .bottom-payments-card{
  margin:0;
  min-height:390px;
  height:100%;
}
.dashboard-bottom-grid .sector-chart-wrap{height:215px}
.dashboard-bottom-grid .dashboard-table-wrap{max-height:300px;overflow:auto}
.dashboard-bottom-grid .recent-payments-dashboard{margin:0}
@media(max-width:1100px){
  .dashboard-bottom-grid{grid-template-columns:1fr}
  .dashboard-bottom-grid .sector-panel,
  .dashboard-bottom-grid .bottom-payments-card{min-height:auto}
}

/* ===== Navegación fija y tema claro/oscuro global ===== */
.global-controls{position:fixed;top:14px;left:272px;right:32px;z-index:80;pointer-events:none;display:flex;justify-content:space-between;align-items:center;transition:left .25s ease}
.global-control-btn{pointer-events:auto;border:1px solid #29415d;background:#0c1b2c;color:#edf5ff;height:42px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:7px;box-shadow:0 8px 24px rgba(0,0,0,.24);cursor:pointer;font-weight:800;transition:transform .18s ease,background .18s ease,border-color .18s ease}
.global-control-btn:hover{transform:translateY(-1px);background:#132b46;border-color:#3e6e9f}
.menu-toggle-fixed{width:44px;font-size:21px}
.theme-toggle-fixed{min-width:78px;height:34px;padding:0 9px;font-size:10px}
.theme-icon{font-size:18px;line-height:1}.theme-label{line-height:1}
.theme-clock-stack{pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:3px}
.header-date-time{display:flex;align-items:center;justify-content:center;gap:6px;color:#91a5bd;font-size:8px;white-space:nowrap}
.header-date-time strong{color:#dce8f6;font-size:9px}
body.light-theme .header-date-time{color:#687a90}
body.light-theme .header-date-time strong{color:#26394f}
.page-title>.hamburger{display:none}
.sidebar{transition:transform .25s ease}
.main{transition:margin-left .25s ease}
body.sidebar-collapsed .sidebar{transform:translateX(-100%)}
body.sidebar-collapsed .main{margin-left:0}
body.sidebar-collapsed .global-controls{left:18px}
.sidebar-overlay{display:none}

/* Tema claro: conserva los colores de estado, pero aclara fondos, paneles y formularios */
body.light-theme{
  --bg:#eef3f8;--panel:#ffffff;--panel2:#f7f9fc;--line:#d4deea;--text:#172437;--muted:#65758a;
  background:linear-gradient(180deg,#eef3f8,#e7edf5);color:var(--text)
}
body.light-theme .sidebar{background:linear-gradient(180deg,#ffffff,#f4f7fb);border-right-color:#d7e0ea;box-shadow:5px 0 20px rgba(32,57,85,.08)}
body.light-theme .brand h1{color:#142238}
body.light-theme .menu a{color:#41536a}
body.light-theme .menu a:hover,body.light-theme .menu a.active{color:#fff}
body.light-theme .session-card,body.light-theme .system-card{background:#fff;border-color:#d5dfeb;color:#25364c}
body.light-theme .session-card span,body.light-theme .system-card p{color:#66778c}
body.light-theme .topbar{background:linear-gradient(180deg,#fff,#f7f9fc);border-color:#d7e1ec;box-shadow:0 6px 18px rgba(35,58,83,.06)}
body.light-theme .page-title h2,body.light-theme .user strong{color:#172437}
body.light-theme .page-title p,body.light-theme .user small{color:#687a90}
body.light-theme .avatar{background:#e5edf6;color:#1e3550}
body.light-theme .info-box{color:#26394f;border-left-color:#d8e1eb}
body.light-theme .info-box.online{background:#f5f9fd;border-color:#d2deea}
body.light-theme .panel{background:linear-gradient(180deg,#fff,#f8fafc);border-color:#d6e0eb;box-shadow:0 9px 24px rgba(31,54,78,.08)}
body.light-theme .panel h3,body.light-theme .panel strong{color:#172437}
body.light-theme .panel p,body.light-theme .refresh{color:#6b7d92}
body.light-theme .panel-head button,body.light-theme .panel-head a,body.light-theme .panel-link{background:#eef4fa;border-color:#cad8e7;color:#245a92}
body.light-theme .controls select,body.light-theme .controls button:not(.stop),body.light-theme select,body.light-theme input,body.light-theme textarea{background:#fff;color:#172437;border-color:#c9d5e3}
body.light-theme .controls .stop{background:#e8eef5;color:#344b64;border-color:#cdd8e5}
body.light-theme th{color:#607188;border-bottom-color:#d7e1eb}
body.light-theme td{color:#33475e;border-bottom-color:#e0e7ef}
body.light-theme .activity-list li{border-bottom-color:#e0e7ef}
body.light-theme .activity-list span,body.light-theme .activity-list time{color:#708197}
body.light-theme .legend-grid div,body.light-theme .metric-grid div,body.light-theme .sector-legend a{background:#f5f8fb;border-color:#d7e1eb;color:#40536a}
body.light-theme .legend-grid span{color:#64758a}
body.light-theme .traffic-summary{border-color:#d8e2ec}
body.light-theme .traffic-summary>div{border-right-color:#d8e2ec}
body.light-theme .traffic-summary p{color:#607289}
body.light-theme .traffic-summary strong{color:#172437}
body.light-theme .recent-payments-dashboard tr.clickable-payment:hover{background:#eef5fb}
body.light-theme .recent-payments-dashboard td{color:#33475e;border-bottom-color:#e0e7ef}
body.light-theme .recent-payments-dashboard th{color:#65768b;border-bottom-color:#d6e0ea}
body.light-theme .modal{background:rgba(31,47,65,.46)}
body.light-theme .modal-box,body.light-theme .ticket-modal{background:#fff;border-color:#d2dde8;color:#172437}
body.light-theme .ticket-modal .user-form label{color:#40536a}
body.light-theme .ticket-modal .user-form input,body.light-theme .ticket-modal .user-form select,body.light-theme .ticket-modal .user-form textarea{background:#fff;color:#172437;border-color:#c8d5e3}
body.light-theme .global-control-btn{background:#fff;color:#172437;border-color:#ccd8e5;box-shadow:0 8px 22px rgba(34,57,82,.15)}
body.light-theme .global-control-btn:hover{background:#edf4fb;border-color:#9bb7d5}
body.light-theme .dashboard-empty{color:#687a8f}
body.light-theme .chart-box canvas,body.light-theme .donut-wrap canvas,body.light-theme .sector-chart-wrap canvas{filter:saturate(.95)}

@media(max-width:900px){
  .sidebar{z-index:90;transform:translateX(-100%)}
  .main{margin-left:0}
  .global-controls{top:8px;left:14px;right:22px}
  body.sidebar-mobile-open .sidebar{transform:translateX(0)}
  body.sidebar-mobile-open .sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.48);z-index:85}
}

/* Botón fijo para volver al Dashboard: deja libre el título de cada página */
.global-controls + .sidebar-overlay{}
.menu-toggle-fixed{text-decoration:none}
.dashboard-title-link{display:block;color:inherit;text-decoration:none;cursor:pointer}
.dashboard-title-link:hover{color:#5aa9ff}
.dashboard-main{width:calc(100% - 240px);max-width:1380px;margin-right:auto}
body:has(.dashboard-main) .global-controls{right:max(32px,calc(100vw - 1602px))}
@media(max-width:980px){.dashboard-main{width:calc(100% - 74px)}}
@media(max-width:980px){body:has(.dashboard-main) .global-controls{right:22px}}
@media(max-width:620px){.dashboard-main{width:100%}}
.module-home-link{cursor:pointer;transition:color .18s ease}
.module-home-link:hover,.module-home-link:focus-visible{color:#5aa9ff;outline:none}
.main .topbar{padding-left:72px}
@media(max-width:900px){.main .topbar{padding-left:70px}}

/* Ajuste de la barra superior: reserva un espacio propio para el selector de tema. */
.main .topbar{
  padding-right:150px !important;
}
.topbar .top-info{
  min-width:0;
}
.topbar .user{
  flex:0 0 auto;
  margin-right:0;
}
.theme-toggle-fixed{
  right:18px;
  flex:0 0 auto;
}

/* En pantallas más estrechas el selector ocupa menos espacio y nunca tapa al usuario. */
@media(max-width:1150px){
  .theme-toggle-fixed{min-width:48px;width:48px;padding:0}
  .theme-toggle-fixed .theme-label{display:none}
  .main .topbar{padding-right:76px !important}
}
@media(max-width:620px){
  .main .topbar{padding-left:64px !important;padding-right:68px !important}
  .theme-toggle-fixed{right:10px}
}

/* Configuración: logo de la empresa */
.brand-logo.has-company-logo{overflow:hidden;padding:0;background:#fff;border:1px solid #2d4d70}
.brand-logo.has-company-logo img{width:100%;height:100%;object-fit:contain;display:block}
.logo-settings-content{display:grid;grid-template-columns:190px 1fr;gap:22px;align-items:center}
.company-logo-preview{height:150px;border:1px dashed #35516f;border-radius:12px;background:#071421;display:grid;place-items:center;overflow:hidden;padding:12px}
.company-logo-preview img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.default-logo-preview{width:90px;height:90px;border-radius:18px;background:linear-gradient(135deg,#1684ff,#5a39d0);display:grid;place-items:center;font-size:32px;font-weight:800;color:#fff;box-shadow:0 10px 26px rgba(22,132,255,.25)}
.logo-upload-controls{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.file-upload-label{display:inline-flex!important;align-items:center;justify-content:center;height:42px;padding:0 16px;border-radius:8px;background:#147df5;color:#fff!important;font-weight:700;cursor:pointer;margin:0!important}
.file-upload-label input{display:none}
.logo-upload-controls small{color:#8ea4bf;line-height:1.5}
.logo-actions{display:flex;gap:10px;flex-wrap:wrap}
.danger-btn{display:inline-flex;align-items:center;justify-content:center;height:40px;border:1px solid #7c2832;background:#401820;color:#ff8b94;border-radius:8px;padding:0 14px;font-weight:700;cursor:pointer}
body.light-theme .company-logo-preview{background:#f7f9fc;border-color:#b8c8d9}
body.light-theme .logo-upload-controls small{color:#64768b}
body.light-theme .brand-logo.has-company-logo{background:#fff;border-color:#cbd8e6}
@media(max-width:650px){.logo-settings-content{grid-template-columns:1fr}.company-logo-preview{height:130px}.logo-actions{width:100%}.logo-actions>*{flex:1}}


/* Encabezado lateral: mostrar únicamente el logo de la empresa */
.brand.brand-logo-only{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:2px 8px 20px;min-height:82px;text-align:center}
.brand.brand-logo-only .brand-logo{width:150px;height:68px;border-radius:12px}
.brand.brand-logo-only .brand-logo.has-company-logo{background:transparent;border:0;box-shadow:none}
.brand.brand-logo-only .brand-logo.has-company-logo img{width:100%;height:100%;object-fit:contain}
@media(max-width:980px){.brand.brand-logo-only{padding:2px 0 20px}.brand.brand-logo-only .brand-logo{width:54px;height:54px}}


/* Logo preview fix */
.company-logo-preview{
    width:220px;
    height:220px;
    margin:auto;
    border:1px dashed #35516f;
    border-radius:16px;
    background:#071421;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:10px;
}
.company-logo-preview img{
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
    object-fit:contain;
    display:block;
}

/* Corrección: logo circular en el menú lateral */
.brand.brand-logo-only .brand-logo,
.brand.brand-logo-only .brand-logo.has-company-logo{
    width:110px;
    height:110px;
    border-radius:50%;
    overflow:hidden;
    background:#fff;
    border:1px solid #2d4d70;
    box-shadow:none;
    padding:0;
}
.brand.brand-logo-only .brand-logo.has-company-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
    border-radius:50%;
    display:block;
}
@media(max-width:980px){
    .brand.brand-logo-only .brand-logo,
    .brand.brand-logo-only .brand-logo.has-company-logo{
        width:54px;
        height:54px;
    }
}

.brand-company-name{display:block;width:100%;text-align:center;color:#fff;font-weight:700;font-size:15px;line-height:1.2;margin:0;padding:0 10px;overflow-wrap:anywhere;}
.brand.brand-logo-only{text-decoration:none;color:inherit}

/* Ajuste final: conservar el logo perfectamente circular con el nombre debajo */
.brand.brand-logo-only{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
    text-align:center !important;
}
.brand.brand-logo-only .brand-logo,
.brand.brand-logo-only .brand-logo.has-company-logo{
    width:120px !important;
    height:120px !important;
    min-width:120px !important;
    min-height:120px !important;
    max-width:120px !important;
    max-height:120px !important;
    flex:0 0 120px !important;
    aspect-ratio:1 / 1 !important;
    border-radius:50% !important;
    overflow:hidden !important;
    padding:0 !important;
    background:#fff !important;
    border:1px solid #2d4d70 !important;
    box-shadow:none !important;
    display:block !important;
}
.brand.brand-logo-only .brand-logo.has-company-logo img{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center !important;
    border-radius:50% !important;
    display:block !important;
}
.brand.brand-logo-only .brand-company-name{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 8px !important;
    text-align:center !important;
}
@media(max-width:980px){
    .brand.brand-logo-only .brand-logo,
    .brand.brand-logo-only .brand-logo.has-company-logo{
        width:54px !important;
        height:54px !important;
        min-width:54px !important;
        min-height:54px !important;
        max-width:54px !important;
        max-height:54px !important;
        flex-basis:54px !important;
    }
}


body.light-theme .brand-company-name{
  color:#172437 !important;
}
.login-company-logo{width:74px;height:74px;flex:0 0 74px;border-radius:50%;overflow:hidden;background:#fff;border:1px solid #2d4d70}
.login-company-logo img{width:100%;height:100%;object-fit:contain;display:block}
.login-brand h1{overflow-wrap:anywhere}
body.light-theme .metric-value,
body.light-theme .stat-value,
body.light-theme .card-value,
body.light-theme .value,
body.light-theme .summary-value{
  color:#172437 !important;
}

/* Marca lateral: logo y nombre ordenados sin invadir el menú */
.sidebar .brand.brand-logo-only{
  flex:0 0 auto !important;
  gap:9px !important;
  min-height:0 !important;
  padding:4px 6px 18px !important;
}
.sidebar .brand.brand-logo-only .brand-logo,
.sidebar .brand.brand-logo-only .brand-logo.has-company-logo{
  width:88px !important;
  height:88px !important;
  min-width:88px !important;
  min-height:88px !important;
  max-width:88px !important;
  max-height:88px !important;
  flex-basis:88px !important;
}
.sidebar .brand.brand-logo-only .brand-company-name{
  max-width:200px !important;
  padding:0 4px !important;
  font-size:13px !important;
  line-height:1.25 !important;
}
.sidebar .menu{min-height:0}
.payment-history-panel{margin-top:16px}
.payment-history-panel .panel-head>strong{color:#65b5ff;white-space:nowrap}
.payment-history-panel td small{display:block;margin-top:4px;color:#8198b2}
.payment-history-panel .actions-cell{display:flex;align-items:center;gap:7px;white-space:nowrap}
.payment-history-panel .inline-form{display:inline}
.payment-delete-btn{border:1px solid #7f2732;background:#3d1720;color:#ff8791;border-radius:7px;padding:7px 10px;cursor:pointer;font-weight:700}
.payment-delete-btn:hover{background:#591d28;color:#fff}
.invoice-mobile-payment{color:#45d88a!important;font-weight:800}
.invoice-receipt-action{display:inline-grid;place-items:center;min-width:32px;height:32px;border:1px solid #285b82;border-radius:7px;background:#102b43;color:#65baff;text-decoration:none}
.invoice-clear-filter{height:40px;display:grid;place-items:center;padding:0 14px;border:1px solid #29415d;border-radius:8px;background:#111f31;color:#dce8f5;text-decoration:none}
.invoice-client-search{display:grid;grid-template-columns:minmax(240px,1fr) minmax(260px,1.4fr) auto auto;gap:12px;align-items:center;margin-bottom:16px;padding:14px;border:1px solid #24548a;border-radius:10px;background:#0a2038}.invoice-client-search>div{display:flex;flex-direction:column;gap:4px}.invoice-client-search strong{color:#e8f1fb;font-size:12px}.invoice-client-search small{color:#8ea4bf;font-size:10px}.invoice-client-search input{width:100%;height:42px;border:1px solid #37658f;border-radius:8px;background:#071421;color:#fff;padding:0 13px}.invoice-client-search button,.invoice-client-search a{height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #287bd1;border-radius:8px;background:#147df5;color:#fff;padding:0 16px;text-decoration:none;font-weight:700;cursor:pointer;white-space:nowrap}.invoice-client-search a{border-color:#29415d;background:#111f31;color:#dce8f5}@media(max-width:900px){.invoice-client-search{grid-template-columns:1fr}.invoice-client-search button,.invoice-client-search a{width:100%}}
.invoice-pagination{display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap;margin-top:16px}
.invoice-pagination a{min-width:38px;height:38px;display:grid;place-items:center;padding:0 12px;border:1px solid #29415d;border-radius:8px;background:#0b1827;color:#bcd0e5;text-decoration:none}
.invoice-pagination a.active{background:#147df5;border-color:#147df5;color:#fff;font-weight:800}
.payment-history-receipt{width:auto;padding:0 10px;white-space:nowrap}
.menu-group{display:block}
.menu-group summary{color:#b9c7d8;padding:11px 12px;border-radius:9px;display:flex;align-items:center;gap:12px;font-size:13px;white-space:nowrap;cursor:pointer;list-style:none}
.menu-group summary::-webkit-details-marker{display:none}
.menu-group summary b{width:19px;text-align:center;font-size:17px}
.menu-group summary span{flex:1}
.menu-group summary i{font-style:normal;font-size:15px;transition:transform .2s}
.menu-group[open] summary i{transform:rotate(180deg)}
.menu-group summary:hover,.menu-group summary.active{background:linear-gradient(90deg,#147df5,#1268d5);color:white;box-shadow:0 8px 22px rgba(20,125,245,.22)}
.menu-submenu{display:flex;flex-direction:column;gap:3px;padding:4px 0 4px 17px}
.menu-submenu a{padding:9px 10px;font-size:12px}
.menu-submenu a b{font-size:14px}
body.light-theme .menu-group summary{color:#41536a}
body.light-theme .menu-group summary:hover,body.light-theme .menu-group summary.active{color:#fff}

/* Módulo de cuadres */
.cuadre-filter{margin-bottom:14px}
.cuadre-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr)) auto;gap:10px;align-items:end}
.cuadre-filter-grid label{color:#b8c8da;font-size:11px}
.cuadre-filter-grid input,.cuadre-filter-grid select{display:block;width:100%;height:40px;margin-top:6px;border-radius:8px;border:1px solid #29415d;background:#071421;color:#fff;padding:0 11px}
.cuadre-filter-grid button{height:40px}
.cuadre-heading{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:12px;margin-bottom:14px}
.cuadre-heading>div,.cuadre-methods article{background:linear-gradient(180deg,#0c1929,#091522);border:1px solid #1b3450;border-radius:12px;padding:16px}
.cuadre-heading span,.cuadre-methods span{display:block;color:#90a5bf;font-size:10px}
.cuadre-heading strong,.cuadre-methods strong{display:block;font-size:19px;margin-top:7px}
.cuadre-heading .cuadre-total{border-color:#18804b;background:linear-gradient(135deg,#0d3d24,#0b281b)}
.cuadre-heading .cuadre-total strong{color:#45e584;font-size:24px}
.cuadre-methods{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:14px}
.cuadre-methods article{padding:14px}
.cuadre-methods strong{font-size:16px}
.cuadre-table td strong,.cuadre-table td small{display:block}
.cuadre-table td small{color:#7f95af;margin-top:4px}
.cuadre-method{display:inline-block;text-transform:capitalize;background:#102f55;color:#8bc2ff;border-radius:14px;padding:5px 9px}
.cuadre-amount{color:#45e584;font-weight:800;white-space:nowrap}
.cuadre-table tfoot td{font-weight:800;border-top:2px solid #29415d}
body.light-theme .cuadre-filter-grid input,body.light-theme .cuadre-filter-grid select{background:#fff;color:#172437;border-color:#c9d5e3}
@media(max-width:1100px){.cuadre-filter-grid{grid-template-columns:repeat(3,1fr)}.cuadre-methods{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.cuadre-filter-grid,.cuadre-heading,.cuadre-methods{grid-template-columns:1fr}}
@media print{.cuadre-heading>div,.cuadre-methods article,.cuadre-table{box-shadow:none}.cuadre-filter{display:none!important}}

/* Barra compacta para tablet */
@media (min-width:901px) and (max-width:980px){
  .sidebar .brand.brand-logo-only{padding:2px 0 14px !important}
  .sidebar .brand.brand-logo-only .brand-logo,
  .sidebar .brand.brand-logo-only .brand-logo.has-company-logo{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    min-height:48px !important;
    max-width:48px !important;
    max-height:48px !important;
    flex-basis:48px !important;
  }
  .sidebar .brand.brand-logo-only .brand-company-name{display:none !important}
}

/* Menú desplegable para teléfono */
@media (max-width:900px){
  .sidebar{width:min(280px,84vw)}
  .sidebar .brand.brand-logo-only{padding:4px 6px 18px !important}
  .sidebar .brand.brand-logo-only .brand-logo,
  .sidebar .brand.brand-logo-only .brand-logo.has-company-logo{
    width:82px !important;
    height:82px !important;
    min-width:82px !important;
    min-height:82px !important;
    max-width:82px !important;
    max-height:82px !important;
    flex-basis:82px !important;
  }
  .sidebar .brand.brand-logo-only .brand-company-name{
    display:block !important;
    max-width:230px !important;
    font-size:13px !important;
  }
}

/* Directorio de clientes inspirado en una tabla administrativa clásica */
.clients-list-panel{padding:0;overflow:hidden}
.clients-page-main{padding-top:0}
.clients-compact-header{min-height:76px;display:flex;align-items:center;padding:10px 150px 10px 72px;border:1px solid #11263b;border-top:0;border-radius:0 0 13px 13px;background:linear-gradient(180deg,#0b1929,#091522);margin-bottom:14px}
.clients-compact-header a{color:inherit;text-decoration:none}
.clients-compact-header h2{margin:0;font-size:22px;transition:color .18s ease}
.clients-compact-header p{margin:4px 0 0;color:var(--muted);font-size:11px}
.clients-compact-header a:hover h2{color:#5aa9ff}
.clients-list-heading{padding:20px 20px 16px;border-bottom:1px solid var(--line)}
.clients-list-heading h3{font-size:18px}
.clients-list-heading h3::first-letter{color:#35d377}
.clients-list-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:18px 20px}
.clients-list-controls label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}
.clients-list-controls select,.clients-list-controls input,.clients-column-filters input,.clients-column-filters select{height:36px;border:1px solid #29415d;border-radius:6px;background:#071421;color:var(--text);padding:0 10px}
.clients-list-controls select{width:72px}
.clients-search-label{justify-self:end}
.clients-search-label input{width:230px}
.clients-add-btn{background:#25b95f}
.clients-toolbar-actions{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}
.clients-toolbar-actions a{height:38px;padding:0 14px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#fff;text-decoration:none;font-weight:700;font-size:11px;white-space:nowrap}
.clients-export-btn{background:#45b6d8;border:1px solid #67c9e5}
.clients-import-btn{height:38px;padding:0 14px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#687789;border:1px solid #8795a5;color:#fff;font-weight:700;font-size:11px;white-space:nowrap;cursor:pointer}
.clients-reports-btn{background:#f2a23c;border:1px solid #ffbc65}
.clients-reports-btn small{font-size:8px;color:inherit}
.mikrotik-live-status{grid-column:1/-1;justify-self:end;color:#42df82;font-size:10px}
.mikrotik-live-status.error{color:#ff7d87}
.clients-directory-table{min-width:900px!important;table-layout:fixed}
.clients-directory-table th:nth-child(1),.clients-directory-table td:nth-child(1){width:16%}
.clients-directory-table th:nth-child(2),.clients-directory-table td:nth-child(2){width:17%}
.clients-directory-table th:nth-child(3),.clients-directory-table td:nth-child(3){width:14%}
.clients-directory-table th:nth-child(4),.clients-directory-table td:nth-child(4){width:13%}
.clients-directory-table th:nth-child(5),.clients-directory-table td:nth-child(5){width:18%}
.clients-directory-table th:nth-child(6),.clients-directory-table td:nth-child(6){width:22%}
.clients-directory-table thead>tr:first-child th{font-size:10px;padding:11px 9px;background:rgba(20,54,84,.42)}
.clients-directory-table tbody td{padding:10px 9px}
.clients-column-filters th{padding:7px!important;background:rgba(7,20,33,.55)}
.clients-column-filters input,.clients-column-filters select{width:100%;height:33px;font-size:9px}
.clients-table-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 20px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}
.clients-pagination,.clients-pagination span{display:flex;align-items:center}
.clients-pagination button{min-width:34px;height:34px;padding:0 10px;border:1px solid #29415d;background:#101f31;color:#cfe0f3;cursor:pointer}
.clients-pagination>button:first-child{border-radius:6px 0 0 6px}
.clients-pagination>button:last-child{border-radius:0 6px 6px 0}
.clients-pagination span button{padding:0;border-left:0}
.clients-pagination button.active{background:#147df5;color:#fff;border-color:#147df5}
.clients-pagination button:disabled{opacity:.42;cursor:not-allowed}
.mikrotik-test-actions{display:flex;align-items:center;gap:12px;margin-top:18px}
.mikrotik-test-actions small{color:var(--muted);font-size:10px}
.mikrotik-test-btn{cursor:pointer;border-color:#238653;background:#0b3821;color:#70eda7}
.mikrotik-test-btn:disabled{opacity:.65;cursor:wait}
.mikrotik-import-btn{cursor:pointer;border-color:#2866aa;background:#102f55;color:#8fc4ff}
.mikrotik-import-btn:disabled{opacity:.65;cursor:wait}
.mikrotik-test-result{display:none;margin-top:12px;padding:10px 12px;border-radius:8px;font-size:11px}
.mikrotik-test-result:not(:empty){display:block}
.mikrotik-test-result.success{border:1px solid #176a3b;background:#0b3821;color:#70eda7}
.mikrotik-test-result.error{border:1px solid #7f2a35;background:#3d171d;color:#ff9aa2}
.mikrotik-test-result a{color:inherit;font-weight:800;margin-left:6px}
body.light-theme .clients-list-controls select,body.light-theme .clients-list-controls input,body.light-theme .clients-column-filters input,body.light-theme .clients-column-filters select{background:#fff;color:#172437;border-color:#c9d5e3}
body.light-theme .clients-compact-header{background:linear-gradient(180deg,#fff,#f7f9fc);border-color:#d7e1ec}
body.light-theme .clients-directory-table thead>tr:first-child th{background:#edf3f8}
body.light-theme .clients-column-filters th{background:#f7f9fc}
body.light-theme .clients-pagination button{background:#fff;color:#334b64;border-color:#cad6e2}
body.light-theme .clients-pagination button.active{background:#147df5;color:#fff}
@media(max-width:760px){
  .clients-compact-header{min-height:70px;padding:9px 68px 9px 64px}
  .clients-compact-header h2{font-size:18px}
  .clients-compact-header p{display:none}
  .clients-list-controls{grid-template-columns:1fr;padding:14px}
  .clients-list-controls label,.clients-search-label{justify-self:stretch}
  .clients-search-label input{width:100%}
  .clients-add-btn{width:100%}
  .clients-toolbar-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .clients-toolbar-actions .clients-add-btn{grid-column:1/-1}
  .clients-toolbar-actions a{width:100%}
  .clients-toolbar-actions .clients-import-btn{width:100%}
  .clients-table-footer{align-items:flex-start;flex-direction:column}
  .mikrotik-test-actions{align-items:stretch;flex-direction:column}
  .mikrotik-test-btn{width:100%}
}

/* Acciones de clientes compactas y alineadas en una sola fila */
.clients-directory-table .client-actions{
  display:flex !important;
  align-items:center !important;
  flex-wrap:nowrap !important;
  gap:6px !important;
  min-width:244px !important;
  white-space:nowrap;
}
.clients-directory-table .client-actions button,
.clients-directory-table .client-actions a{
  width:34px !important;
  min-width:34px !important;
  height:34px !important;
  padding:0 !important;
  flex:0 0 34px !important;
  border-radius:8px !important;
  font-size:13px !important;
}
.clients-directory-table .client-actions span{display:none !important}
.clients-directory-table .client-actions form{display:flex !important;flex:0 0 34px !important}
.clients-directory-table .client-actions button.danger{width:34px !important;min-width:34px !important}
.clients-directory-table .client-actions .action-charge{display:none !important}
.clients-directory-table .client-actions .action-invoice{display:none !important}
.clients-directory-table .client-actions{min-width:204px !important}
.clients-directory-table .client-actions .action-extension{border-color:#735ec8!important;background:#2c2259!important;color:#c7baff!important}
.payment-charge-main{background:#0b8f4d!important;border:1px solid #16ad64!important}
.payment-header-actions{display:flex;align-items:center;gap:10px}
.payment-header-actions .primary-btn{height:44px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap}
.payment-balance-main{background:#1c72dc!important;border:1px solid #3590ff!important}
@media(max-width:650px){.payment-header-actions{flex-direction:column;align-items:stretch}.payment-header-actions .primary-btn{height:38px}}
.invoice-create-main{background:#174f91!important;border:1px solid #2876c9!important}
.client-status.cortado{background:#4b1820;color:#ff7783}.client-status.vencido{background:#5a3508;color:#ffc04d;border:1px solid #a86b12}

/* Alta de clientes por pestañas */
.client-wizard-modal{width:min(900px,94vw);height:min(720px,92vh);max-height:92vh;padding:0;overflow:hidden;background:#0b1828;color:#dbe7f5;border-color:#29415d;border-radius:7px;display:flex;flex-direction:column}
.client-wizard-head{height:62px;min-height:62px;display:flex;align-items:center;justify-content:center;background:#2497e8;color:#fff;position:relative}
.client-wizard-head h3{font-size:21px;font-weight:600}.client-wizard-head .modal-close{top:12px;right:20px;font-weight:800}
.client-wizard-form{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden}
.client-tabs{display:flex;flex:0 0 auto;gap:0;margin:14px 22px 0;border-bottom:1px solid #29415d;overflow-x:auto}
.client-tabs button{height:50px;padding:0 22px;border:1px solid transparent;border-bottom:0;background:transparent;color:#8eabc8;font-size:15px;cursor:pointer;white-space:nowrap}
.client-tabs button.active{background:#102338;color:#fff;border-color:#29415d;border-radius:5px 5px 0 0;position:relative;top:1px}
.client-tab-pane{display:none;padding:22px 26px;overflow-y:auto;min-height:0}.client-tab-pane.active{display:block;flex:1}
.client-wizard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px}
.client-wizard-grid .span-2{grid-column:1/-1}
.client-wizard-grid label,.client-wizard-grid .client-field,.client-survey label{display:flex;flex-direction:column;gap:6px;color:#9eb3ca;font-size:13px;font-weight:700}
.client-wizard-grid input,.client-wizard-grid select,.client-wizard-grid textarea,.client-survey select,.client-survey textarea{box-sizing:border-box;width:100%;height:44px;border:1px solid #29415d;border-radius:3px;background:#071421;color:#dbe7f5;padding:0 14px;font:inherit;outline:none;color-scheme:dark}
.client-wizard-grid textarea,.client-survey textarea{height:auto;min-height:70px;padding:13px 18px;resize:vertical}
.client-wizard-grid input:focus,.client-wizard-grid select:focus,.client-wizard-grid textarea:focus,.client-survey select:focus,.client-survey textarea:focus{border-color:#2497e8;box-shadow:0 0 0 3px rgba(36,151,232,.13)}
.client-wizard-grid input[readonly]{background:#101f31;color:#42df82;font-size:17px;font-weight:700}
.client-survey{display:grid;grid-template-columns:1fr 1fr;gap:22px}.client-survey h4,.client-survey p{grid-column:1/-1;margin:0}.client-survey h4{font-size:20px}.client-survey p{color:#8ea4bf}
.client-wizard-footer{flex:0 0 auto;margin-top:auto;display:flex;justify-content:flex-end;gap:14px;padding:14px 22px;border-top:1px solid #29415d;background:#091625}
.client-wizard-footer button{height:42px;padding:0 20px;border-radius:5px;font-size:14px}.client-wizard-footer .secondary-btn{border:1px solid #29415d;background:#101f31;color:#dbe7f5;cursor:pointer}
body.light-theme .client-wizard-modal{background:#f8fafc;color:#3c4a59;border-color:#aebdcc}
body.light-theme .client-tabs{border-color:#d7dee5}
body.light-theme .client-tabs button{color:#55708d}
body.light-theme .client-tabs button.active{background:#fff;color:#4d4d4d;border-color:#d7dee5}
body.light-theme .client-wizard-grid label,body.light-theme .client-survey label{color:#6d8299}
body.light-theme .client-wizard-grid input,body.light-theme .client-wizard-grid select,body.light-theme .client-wizard-grid textarea,body.light-theme .client-survey select,body.light-theme .client-survey textarea{border-color:#cbd3db;background:#fff;color:#4c535a;color-scheme:light}
body.light-theme .client-wizard-grid input[readonly]{background:#eee;color:#07911a}
body.light-theme .client-survey p{color:#71859a}
body.light-theme .client-wizard-footer{border-color:#d7dee5;background:#fff}
body.light-theme .client-wizard-footer .secondary-btn{border-color:#ccd3da;background:#fff;color:#444}
.password-sync-field{display:flex}.password-sync-field>input{min-width:0;flex:1;border-radius:3px 0 0 3px}.password-sync-field .sync-mt-check{height:44px;flex:0 0 auto;display:flex;flex-direction:row;align-items:center;gap:7px;padding:0 12px;border:1px solid #2b5d46;border-left:0;border-radius:0 3px 3px 0;background:#102d23;color:#75dca5;white-space:nowrap}.password-sync-field .sync-mt-check input{width:16px;height:16px;margin:0;accent-color:#1687ef}body.light-theme .password-sync-field .sync-mt-check{background:#eaf5ec;color:#526058;border-color:#bfd4c4}
@media(max-width:760px){.client-wizard-modal{width:100%;max-height:96vh}.client-wizard-head{height:60px}.client-tabs{overflow-x:auto;margin:12px 12px 0}.client-tabs button{height:50px;padding:0 15px;font-size:14px;white-space:nowrap}.client-tab-pane{padding:20px 16px}.client-wizard-grid,.client-survey{grid-template-columns:1fr}.client-wizard-grid .span-2,.client-survey h4,.client-survey p{grid-column:auto}.client-wizard-form{min-height:560px}.client-wizard-footer{padding:14px 16px}}

/* Administración de planes */
.plans-layout{display:grid;grid-template-columns:minmax(300px,420px) 1fr;gap:16px}.plans-list-panel td strong{display:block}.plans-list-panel .panel-head{padding-bottom:14px;border-bottom:1px solid var(--line)}@media(max-width:900px){.plans-layout{grid-template-columns:1fr}}
.recent-activity-dashboard{border-top:4px solid #147df5}.activity-table-wrap{max-height:390px;overflow:auto}.recent-activity-dashboard th:first-child,.recent-activity-dashboard td:first-child{width:92px;white-space:nowrap}.recent-activity-dashboard th:nth-child(2),.recent-activity-dashboard td:nth-child(2){width:105px}.recent-activity-dashboard td:last-child{line-height:1.45}.side-activity-dashboard{flex:1;min-height:330px}.side-activity-dashboard .activity-table-wrap{max-height:430px}.side-activity-dashboard td{vertical-align:top}
.dashboard-bottom-grid .sector-panel:only-child{grid-column:1/-1}
.router-health-panel{padding:16px}.router-health-grid{display:grid;gap:14px}.health-card{min-height:170px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:22px;border-radius:14px;background:linear-gradient(145deg,#111923,#090e14);box-shadow:0 8px 20px rgba(0,0,0,.22)}.health-card>div:first-child{align-self:stretch;display:flex;flex-direction:column}.health-card span{font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#edf4ff}.health-card strong{display:block;margin-top:10px;font-size:34px;color:#fff}.health-card small{margin-top:auto;color:#b6c8dc}.health-card small b{color:#fff}.health-icon{width:112px;height:112px;flex:0 0 112px;border-radius:50%;display:grid;place-items:center;background:#41464e;color:#fff;font-size:52px}.temperature-icon{font-size:45px}.health-error{background:#4b1820!important;color:#ff8e98!important}@media(max-width:1350px){.router-health-grid{grid-template-columns:1fr 1fr}.health-card{min-height:150px}}@media(max-width:700px){.router-health-grid{grid-template-columns:1fr}.health-card{min-height:140px}.health-icon{width:90px;height:90px;flex-basis:90px;font-size:40px}}
.compact-router-health .router-health-grid{grid-template-columns:1fr}.compact-router-health .health-card{min-height:145px;padding:16px}.compact-router-health .health-icon{width:86px;height:86px;flex-basis:86px;font-size:38px}.compact-router-health .health-card span{font-size:12px}.compact-router-health .health-card strong{font-size:28px}.compact-router-health .health-card small{font-size:9px}
.ip-segment-create{margin-bottom:16px}.ip-segment-form{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;align-items:start}.ip-segment-form label{color:#b8c8da;font-size:12px;font-weight:700}.ip-segment-form input,.ip-segment-form select{display:block;width:100%;height:46px;margin-top:8px;border:1px solid #29415d;border-radius:7px;background:#071421;color:#dbe7f5;padding:0 14px}.ip-segment-form small{display:block;margin-top:6px;color:#8196ad;font-weight:400}.ip-segment-form button{grid-column:1/-1;justify-self:center;min-width:240px;font-size:16px}.ip-segments-list code{color:#ff7182}.ip-segments-list td strong,.ip-segments-list td small{display:block}.ip-segments-list td small{margin-top:5px;color:#8298b0}.ip-segments-list form{margin:0}.ip-segments-list button.danger{width:36px;height:34px;border:1px solid #8a3039;border-radius:6px;background:#c83e49;color:#fff;cursor:pointer}.segment-usage{width:130px;height:12px;border-radius:8px;background:#17283a;overflow:hidden}.segment-usage span{display:block;height:100%;background:#22be91}@media(max-width:850px){.ip-segment-form{grid-template-columns:1fr}.ip-segment-form button{grid-column:auto;width:100%}}
.auto-ip-field{display:flex}.auto-ip-field input{min-width:0;flex:1;border-radius:3px 0 0 3px}.auto-ip-field button{width:48px;border:1px solid #168ac5;border-left:0;border-radius:0 4px 4px 0;background:#24a9d8;color:#fff;font-size:24px;cursor:pointer}.client-wizard-grid label>small{color:#7890a8;font-size:9px;font-weight:500}
.connected-live-status{margin:-2px 0 12px;color:#42df82;font-size:10px}
.connected-live-status.error{color:#ff7783}
#tablaConectados{min-width:1050px}
#tablaConectados td strong,#tablaConectados td small{display:block}
#tablaConectados td small{margin-top:4px;color:var(--muted)}
#tablaConectados th:first-child,#tablaConectados td:first-child{min-width:130px;padding-left:18px}
#tablaConectados th:nth-child(2),#tablaConectados td:nth-child(2){min-width:210px}
#tablaConectados th:nth-child(7),#tablaConectados td:nth-child(7){min-width:155px}
#tablaConectados .online-tag{display:inline-flex;align-items:center;white-space:nowrap;min-width:98px;justify-content:center}
.ppp-traffic-values{display:flex;align-items:center;gap:14px;white-space:nowrap}
.ppp-traffic-values>span{display:grid;grid-template-columns:auto auto;gap:0 4px;align-items:center}
.ppp-traffic-values strong{font-size:11px}
.ppp-traffic-values small{grid-column:1/-1;margin:2px 0 0!important;font-size:8px}
.ppp-traffic-values .download{color:#28c879}
.ppp-traffic-values .upload{color:#2788ff}
.live-session-badge{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:7px 10px;border-radius:15px;background:#0b3821;color:#57ed91;font-size:9px;font-weight:800}

/* Corrección exacta del Dashboard en tema claro:
   las tarjetas conservan fondo oscuro, por eso sus valores e iconos deben ser claros. */
body.light-theme .stats .card .ico,
body.light-theme .stats .card strong,
body.light-theme .stats .card strong.money,
body.light-theme .stats .card strong.money em{
    color:#ffffff !important;
    opacity:1 !important;
}

/* Acciones rápidas del módulo de Clientes */
.client-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:300px}.client-actions button,.client-actions a{width:auto;min-width:58px;height:31px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid #29415d;background:#122238;color:#cfe0f3;border-radius:7px;cursor:pointer;text-decoration:none;font-size:10px;font-weight:700;white-space:nowrap}.client-actions button:hover,.client-actions a:hover{transform:translateY(-1px);filter:brightness(1.12)}.client-actions .action-view{border-color:#2c5f91}.client-actions .action-edit{border-color:#765e28}.client-actions .action-charge{background:#0c3824;border-color:#17623a;color:#72efaa}.client-actions .action-invoice{background:#12345d;border-color:#245d9d;color:#8fc4ff}.client-actions .action-state{background:#3d2e12;border-color:#70591f;color:#ffd36d}.client-actions form{display:inline-flex}.client-actions button.danger{min-width:31px;width:31px;padding:0;background:#3a171e;color:#ff7783;border-color:#6d2731}.clients-panel table{min-width:1180px}.clients-panel tbody tr:hover{background:rgba(32,72,112,.16)}
@media(max-width:760px){.client-actions{min-width:230px}.client-actions button span,.client-actions a span{display:none}.client-actions button,.client-actions a{min-width:34px;width:34px;padding:0}}
.payment-client-results{display:grid;gap:7px;max-height:260px;overflow-y:auto}
.payment-client-results:empty{display:none}
.payment-client-results button{display:flex;flex-direction:column;gap:3px;width:100%;padding:11px 14px;border:1px solid var(--border,#29435e);border-radius:9px;background:var(--card,#0b1b2c);color:inherit;text-align:left;cursor:pointer}
.payment-client-results button:hover{border-color:#2498e5;background:rgba(36,152,229,.12)}
.payment-client-results button strong{font-size:15px}
.payment-client-results button span{font-size:12px;color:var(--muted,#8ea8c3);white-space:normal}
.payment-client-no-results{padding:12px;border:1px solid var(--border,#29435e);border-radius:9px;color:var(--muted,#8ea8c3)}
.selected-payment-client{padding:14px;border:2px solid #2188ff;border-radius:11px;background:linear-gradient(135deg,#0d3158,#0a2038);box-shadow:0 8px 22px rgba(20,125,245,.18)}
.selected-payment-client span,.selected-payment-client strong,.selected-payment-client small{display:block}
.selected-payment-client span{font-size:9px;color:#83bfff;font-weight:800;letter-spacing:.7px}
.selected-payment-client strong{margin-top:5px;font-size:19px;color:#fff}
.selected-payment-client small{margin-top:5px;color:#b8cbe0}
@media(max-width:620px){
  .selected-payment-client{order:-1;position:sticky;top:0;z-index:5;border-color:#29d878;background:linear-gradient(135deg,#07532e,#0a2830);box-shadow:0 8px 24px rgba(21,210,109,.3)}
  .selected-payment-client span{color:#8fffc0}
  .selected-payment-client strong{font-size:19px}
}
.payment-row-actions{min-width:190px;flex-wrap:wrap}
.actions-cell button.payment-row-charge,.actions-cell button.payment-row-print{width:auto;height:36px;padding:0 12px;font-weight:700;white-space:nowrap}
.actions-cell button.payment-row-charge{background:#07994f;border-color:#12b965;color:#fff}
.actions-cell button.payment-row-charge:hover{background:#0bad5b}
.actions-cell button.payment-row-print{background:#122b49;border-color:#28527d;color:#d9ebff}
@media print{
 body.printing-receipt{background:#fff!important;color:#111!important}
 body.printing-receipt>*{display:none!important}
 body.printing-receipt>#modalVerRecibo{display:block!important;position:static!important;inset:auto!important;background:#fff!important;padding:0!important}
 body.printing-receipt #modalVerRecibo .modal-box{display:block!important;width:80mm!important;max-width:80mm!important;max-height:none!important;overflow:visible!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;color:#111!important;padding:0!important;margin:0!important}
 body.printing-receipt #reciboImprimible{display:block!important}
 body.printing-receipt .receipt-grid>div{background:#fff!important;border-color:#bbb!important}
 body.printing-receipt .receipt-grid span,body.printing-receipt .receipt-grid small,body.printing-receipt .receipt-head small{color:#555!important}
 body.printing-receipt .receipt-total{background:#fff!important;border-color:#333!important}
 body.printing-receipt .receipt-total strong{color:#111!important}
}
.cuadre-print-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}

/* Servicios */
.service-tabs{display:flex;gap:10px;margin-bottom:14px}.service-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:0 17px;border:1px solid #29415d;border-radius:9px;background:#0b1827;color:#aebed1;text-decoration:none;font-weight:700}.service-tabs a.active,.service-tabs a:hover{background:#147df5;border-color:#3590ff;color:#fff}
.service-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.service-stats article{background:linear-gradient(180deg,#0c1929,#091522);border:1px solid #1b3450;border-radius:12px;padding:16px}.service-stats span{display:block;color:#90a5bf;font-size:10px}.service-stats strong{display:block;font-size:25px;margin-top:7px}.service-panel td strong{display:block}.service-panel table{min-width:900px}
body.light-theme .service-tabs a:not(.active){background:#fff;color:#172437;border-color:#c9d5e3}@media(max-width:650px){.service-tabs{overflow:auto}.service-tabs a{white-space:nowrap}.service-stats{grid-template-columns:1fr}}

/* SMARTOLT */
.smartolt-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.smartolt-stats article{background:linear-gradient(180deg,#0c1929,#091522);border:1px solid #1b3450;border-radius:12px;padding:16px}.smartolt-stats span,.smartolt-stats small{display:block;color:#90a5bf;font-size:10px}.smartolt-stats strong{display:block;font-size:24px;margin:7px 0}.smartolt-stats .smartolt-connection{border-color:#087a7e;background:linear-gradient(135deg,#063e42,#0a262c)}.smartolt-stats .smartolt-connection strong{color:#39d9dc;font-size:18px}.smartolt-panel td strong{display:block}.smartolt-mac{font-family:Consolas,monospace;color:#43cfff;font-weight:700}.smartolt-panel table{min-width:850px}@media(max-width:900px){.smartolt-stats{grid-template-columns:1fr 1fr}}@media(max-width:520px){.smartolt-stats{grid-template-columns:1fr}}

/* Inventario */
.inventory-tabs{display:flex;gap:8px;margin-bottom:14px;overflow:auto;padding-bottom:2px}
.inventory-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:0 16px;border:1px solid #29415d;border-radius:9px;background:#0b1827;color:#aebed1;text-decoration:none;white-space:nowrap;font-weight:700}
.inventory-tabs a:hover,.inventory-tabs a.active{background:#1c72dc;border-color:#3590ff;color:#fff}
.inventory-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.inventory-stats article{background:linear-gradient(180deg,#0c1929,#091522);border:1px solid #1b3450;border-radius:12px;padding:16px}
.inventory-stats article:nth-child(3){border-color:#7b581d}.inventory-stats article:nth-child(4){border-color:#236ca9}
.inventory-stats span{display:block;color:#90a5bf;font-size:10px}.inventory-stats strong{display:block;font-size:25px;margin-top:7px}
.inventory-form-panel,.inventory-panel{margin-bottom:14px}
.inventory-form{display:grid;grid-template-columns:1fr 1fr 160px;gap:14px;align-items:end}
.inventory-form label{color:#b8c8da;font-size:11px}.inventory-form label.span-2{grid-column:span 2}
.inventory-form input,.inventory-form select{display:block;width:100%;height:41px;margin-top:6px;border-radius:8px;border:1px solid #29415d;background:#071421;color:#fff;padding:0 11px}
.inventory-form button{height:41px}.inventory-panel td strong,.inventory-panel td small{display:block}.inventory-panel td small{color:#7f95af;margin-top:4px}
.inventory-quantity{font-weight:800;color:#67afff;font-size:12px}.inventory-status{display:inline-block;padding:5px 9px;border-radius:15px;font-size:9px;font-weight:800}
.inventory-status.ok{background:#083921;color:#37e177}.inventory-status.low{background:#4b3010;color:#ffc45d}.inventory-status.returned{background:#253142;color:#aab9ca}
.inventory-return{height:32px!important;font-size:9px}.inventory-panel form{margin:0}
body.light-theme .inventory-tabs a:not(.active),body.light-theme .inventory-form input,body.light-theme .inventory-form select{background:#fff;color:#172437;border-color:#c9d5e3}
@media(max-width:900px){.inventory-stats{grid-template-columns:1fr 1fr}.inventory-form{grid-template-columns:1fr 1fr}.inventory-form label.span-2{grid-column:span 1}}
@media(max-width:600px){.inventory-stats,.inventory-form{grid-template-columns:1fr}.inventory-tabs a{padding:0 12px}}

/* Recibo térmico */
.thermal-receipt{width:min(380px,100%);margin:auto;background:#fff;color:#111;padding:18px 20px;font-family:Arial,sans-serif;font-size:13px}
.thermal-company{text-align:center}.thermal-company img{display:block;max-width:105px;max-height:70px;object-fit:contain;margin:0 auto 8px}.thermal-company h2{margin:0 0 4px;font-size:21px;font-weight:900;line-height:1.15}.thermal-company p{margin:2px 0}
.thermal-separator{border-top:1px dashed #111;margin:7px 0}.thermal-title{text-align:center}.thermal-title h3{margin:0 0 4px;font-size:16px}.thermal-title p{margin:2px 0}
.thermal-client h4,.thermal-account h4{margin:0 0 4px}.thermal-client p{margin:3px 0}.thermal-row{display:flex;justify-content:space-between;gap:9px;margin:4px 0}.thermal-row>*:first-child{min-width:0}.thermal-row>*:last-child{text-align:right;white-space:nowrap}.thermal-table-head{font-size:13px}
.thermal-total{display:flex;justify-content:space-between;gap:8px;background:#e7e7e7;padding:6px 4px;margin:6px -4px;font-size:16px}.thermal-account{margin-top:10px}.thermal-account h4{text-align:center;font-size:14px}.thermal-balance{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;padding-top:5px;border-top:1px solid #111;font-size:13px}.thermal-balance strong:first-child{min-width:0;line-height:1.15}.thermal-balance strong:last-child{font-size:18px;white-space:nowrap;text-align:right}
.thermal-final-line{border-top:2px dashed #111;margin:12px -12px 8px}.thermal-next{display:flex;justify-content:space-between;gap:8px;font-size:13px}.thermal-next strong:last-child{white-space:nowrap}.thermal-thanks{text-align:center;margin:10px 0 0;font-weight:700}
@media print{
 body.printing-receipt{margin:0!important}
 body.printing-receipt #modalVerRecibo{width:80mm!important;page:thermal-ticket}
 body.printing-receipt .thermal-receipt{box-sizing:border-box;width:72mm;max-width:72mm;margin:0 auto!important;padding:2mm;background:#fff;color:#000;font-size:9pt;overflow-wrap:anywhere}
 body.printing-receipt .thermal-company img{max-width:30mm;max-height:20mm}
 #modalVerFactura{width:80mm!important;page:thermal-ticket}
 #modalVerFactura .modal-box{box-sizing:border-box!important;width:80mm!important;max-width:80mm!important;padding:4mm!important;margin:0!important}
 #modalVerFactura .invoice-print-head{display:block!important;text-align:center!important;padding-bottom:3mm!important;margin-bottom:3mm!important}
 #modalVerFactura .invoice-print-brand{display:block!important}
 #modalVerFactura .invoice-print-brand img{display:block;width:auto!important;max-width:30mm!important;height:auto!important;max-height:20mm!important;margin:0 auto 2mm!important;border-radius:0!important}
 #modalVerFactura .invoice-print-head h2{font-size:18pt!important;font-weight:900!important;line-height:1.15!important}
 #modalVerFactura .invoice-print-head>div:last-child{display:none!important}
 #modalVerFactura .invoice-print-grid{display:block!important;margin:0!important}
 #modalVerFactura .invoice-print-grid>section{display:block!important;background:#fff!important;color:#111!important;border:0!important;border-bottom:1px dashed #222!important;border-radius:0!important;padding:2.5mm 0!important;overflow-wrap:anywhere}
 #modalVerFactura .invoice-print-grid span{display:block!important;color:#111!important;font-size:8pt!important;font-weight:700!important;letter-spacing:.3px}
 #modalVerFactura .invoice-print-grid strong{display:block!important;margin-top:1mm!important}
 #modalVerFactura .invoice-print-grid small{display:block!important;color:#333!important;margin-top:1mm!important;line-height:1.4!important}
 #modalVerFactura .ticket-dates{display:grid!important;grid-template-columns:1fr 1fr!important;gap:3mm!important}
 #modalVerFactura .ticket-dates div:last-child{text-align:right!important}
 #modalVerFactura .ticket-amounts>div{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:3mm!important;margin:1.5mm 0!important}
 #modalVerFactura .ticket-amounts>div strong{margin:0!important;text-align:right!important;white-space:nowrap!important}
 #modalVerFactura .ticket-grand-total{border-top:2px solid #111!important;padding-top:2.5mm!important;margin-top:2.5mm!important;font-size:14pt!important}
 #modalVerFactura .ticket-balance{background:#eee!important;padding:2mm!important;font-size:11pt!important}
 #modalVerFactura .ticket-footer{text-align:center!important;padding:4mm 0 1mm!important;font-weight:700!important}
 #modalVerFactura .app-ticket-lines{display:block!important;font-family:Arial,sans-serif!important;font-size:10pt!important}
 #modalVerFactura .app-ticket-lines p{display:block!important;margin:1.2mm 0!important;line-height:1.3!important}
 #modalVerFactura .app-ticket-rule{border-top:1px dashed #111!important;margin:2.5mm 0!important}
 #modalVerFactura .app-ticket-amount,#modalVerFactura .app-ticket-total{display:flex!important;justify-content:space-between!important;gap:3mm!important}
 #modalVerFactura .app-ticket-amount strong,#modalVerFactura .app-ticket-total strong{white-space:nowrap!important;text-align:right!important}
 #modalVerFactura .app-ticket-total{border-top:1px solid #111!important;border-bottom:1px solid #111!important;padding:2mm 0!important;margin:2mm 0!important;font-size:14pt!important}
 #modalVerFactura .app-ticket-thanks{text-align:center!important;font-weight:900!important;margin-top:3mm!important}
}
@page thermal-ticket{size:80mm auto;margin:0}

/* Procesamiento de cuadres */
.collector-close-card{display:flex;align-items:center;gap:18px;margin-bottom:14px}.collector-close-card>div{flex:1}.collector-close-card span,.collector-close-card small{display:block;color:#8ea4bf;font-size:10px}.collector-close-card strong{display:block;color:#45e584;font-size:24px;margin:5px 0}.collector-close-card button{min-width:180px}.collector-close-card button:disabled{opacity:.45;cursor:not-allowed}.collector-review{border-left:1px solid #29415d;padding-left:18px}.collector-review strong{color:#ffc45d}
.billing-close-panel{margin-bottom:14px;border-color:#2670ad}.billing-close-count{background:#102f55;color:#8bc2ff;border-radius:15px;padding:6px 10px;font-size:10px}.billing-close-grid{display:grid;gap:9px}.billing-close-grid article{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;background:#071421;border:1px solid #29415d;border-radius:10px;padding:13px}.billing-close-grid span,.billing-close-grid small{display:block;color:#8ea4bf;font-size:9px}.billing-close-grid article>div strong{display:block;margin:4px 0}.billing-close-total{font-size:18px;color:#45e584;white-space:nowrap}.billing-close-grid form{margin:0}.billing-close-empty{padding:18px;text-align:center;color:#8094ad;border:1px dashed #29415d;border-radius:9px}
.invoice-header-actions{display:flex;align-items:center;gap:10px}.invoice-header-actions .primary-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;text-decoration:none}.process-close-main{background:#7653d6!important;border:1px solid #9679ec!important}
.collector-balances{display:grid;gap:9px;margin-bottom:14px}.collector-balances article{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;padding:13px;border:1px solid #29415d;border-radius:10px;background:#0a1929}.collector-balances span,.collector-balances small{display:block;color:#8ea4bf;font-size:9px}.collector-balances article>div strong{display:block;margin:4px 0}.collector-balances .has-balance{color:#45e584;font-size:19px}.collector-balances .zero-balance{color:#8ea4bf;font-size:19px}.collector-balances form{margin:0}.collector-balances button:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:700px){.collector-close-card{align-items:stretch;flex-direction:column}.collector-review{border-left:0;border-top:1px solid #29415d;padding:12px 0 0}.billing-close-grid article{grid-template-columns:1fr}.billing-close-grid button{width:100%}}

@media print{
  body.cuadres-page{background:#fff!important;color:#111!important}
  body.cuadres-page .sidebar,
  body.cuadres-page .global-controls,
  body.cuadres-page .sidebar-overlay,
  body.cuadres-page .no-print{display:none!important}
  body.cuadres-page .main{display:block!important;margin:0!important;padding:0!important}
  body.cuadres-page .topbar{display:flex!important;background:#fff!important;color:#111!important;border:0!important;border-bottom:2px solid #222!important;border-radius:0!important;padding:0 0 12px!important;min-height:auto!important}
  body.cuadres-page .topbar .page-title p{color:#555!important}
  body.cuadres-page .cuadre-heading,
  body.cuadres-page .cuadre-methods,
  body.cuadres-page .cuadre-table{display:grid!important}
  body.cuadres-page .cuadre-heading>div,
  body.cuadres-page .cuadre-methods article,
  body.cuadres-page .cuadre-table{background:#fff!important;color:#111!important;border-color:#999!important}
  body.cuadres-page .cuadre-heading span,
  body.cuadres-page .cuadre-methods span,
  body.cuadres-page .panel p{color:#555!important}
  body.cuadres-page .cuadre-heading strong,
  body.cuadres-page .cuadre-methods strong,
  body.cuadres-page .cuadre-amount,
  body.cuadres-page th,
  body.cuadres-page td{color:#111!important}
  body.cuadres-page .cuadre-table{display:block!important;box-shadow:none!important;margin-top:12px}
  body.cuadres-page table{display:table!important}
  body.cuadres-page thead{display:table-header-group!important}
  body.cuadres-page tbody{display:table-row-group!important}
  body.cuadres-page tr{display:table-row!important}
  body.cuadres-page th,body.cuadres-page td{display:table-cell!important;border-color:#bbb!important}
  body.cuadres-page .cuadre-method{background:#eee!important;color:#111!important;border:1px solid #bbb!important}
}
.payment-invoice-checks{display:grid;gap:8px;margin:0 0 8px;padding:10px;border:1px solid #294463;border-radius:10px;background:#081727}
.payment-invoice-option{display:flex;align-items:center;gap:10px;padding:10px;border-radius:8px;background:#10243a;cursor:pointer}
.payment-invoice-option:has(input:checked){outline:2px solid #20c978;background:#0d4935}
.payment-invoice-option input{width:18px;height:18px;accent-color:#20c978}
.payment-invoice-option span{display:flex;flex-direction:column;gap:3px}.payment-invoice-option small{color:#9db4cd}
.connected-filters{grid-template-columns:minmax(180px,1fr) auto 180px 180px auto;align-items:center}
.connected-count{color:#62d9ff;white-space:nowrap;font-size:12px}
.connected-filters #buscarConectado{width:260px;max-width:260px}
#tablaConectados{min-width:900px}
#tablaConectados th:nth-child(2),#tablaConectados td:nth-child(2){min-width:155px}
#tablaConectados th:nth-child(3),#tablaConectados td:nth-child(3){min-width:105px}
#tablaConectados{min-width:760px}
#tablaConectados th,#tablaConectados td{padding-left:5px;padding-right:5px}
#tablaConectados th:nth-child(2),#tablaConectados td:nth-child(2){min-width:120px;width:120px}
#tablaConectados th:nth-child(3),#tablaConectados td:nth-child(3){min-width:82px;width:82px}
#tablaConectados{min-width:980px;table-layout:fixed}
#tablaConectados th,#tablaConectados td{vertical-align:middle;overflow:hidden}
#tablaConectados th:nth-child(1),#tablaConectados td:nth-child(1){width:120px}
#tablaConectados th:nth-child(2),#tablaConectados td:nth-child(2){width:220px;min-width:220px}
#tablaConectados th:nth-child(3),#tablaConectados td:nth-child(3){width:125px;min-width:125px}
#tablaConectados th:nth-child(4),#tablaConectados td:nth-child(4){width:105px}
#tablaConectados th:nth-child(5),#tablaConectados td:nth-child(5){width:130px}
#tablaConectados th:nth-child(6),#tablaConectados td:nth-child(6){width:100px}
#tablaConectados th:nth-child(7),#tablaConectados td:nth-child(7){width:160px;min-width:160px}
#tablaConectados th:nth-child(8),#tablaConectados td:nth-child(8){width:110px}
#tablaConectados th:nth-child(6),#tablaConectados td:nth-child(6){color:#d39bff;font-weight:700;font-size:11px;white-space:nowrap}
.collector-balances .collector-balance-card{grid-template-columns:minmax(0,1fr) auto}
.collector-balance-actions{grid-column:1/-1;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.collector-balance-actions details{min-width:0;flex:1}
.collector-balance-actions summary{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid #2d6594;border-radius:7px;background:#102b44;color:#9fd2ff;font-size:11px;font-weight:800;cursor:pointer;list-style:none}
.collector-balance-actions summary::-webkit-details-marker{display:none}
.collector-balance-actions details[open] summary{margin-bottom:10px;background:#17446b;color:#fff}
.collector-payment-detail{max-width:100%;border:1px solid #243d55;border-radius:8px}
.collector-payment-detail table{min-width:900px;background:#081522}
.collector-payment-detail th,.collector-payment-detail td{padding:8px}
.collector-payment-detail td form{display:inline-flex}
@media(max-width:700px){.collector-balance-actions{flex-direction:column}.collector-balance-actions>form,.collector-balance-actions>form button{width:100%}}
.receipt-share-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
.receipt-share-actions button{min-height:42px;border-radius:8px;font-weight:800;cursor:pointer}
.whatsapp-receipt-btn{border:1px solid #128c4a;background:#1fbf63;color:#fff}
.whatsapp-receipt-btn:hover{background:#169c50}
.whatsapp-receipt-btn:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:520px){.receipt-share-actions{grid-template-columns:1fr}}
