:root{
  --bg:#f2f7f7;
  --panel:#ffffff;
  --panel-soft:#f7fbfb;
  --ink:#102a2e;
  --muted:#667b7f;
  --line:#dbe8e8;
  --navy:#061719;
  --navy-2:#0b2629;
  --teal:#18d8cd;
  --teal-2:#0fb4aa;
  --teal-soft:#e5fbf8;
  --blue:#2472ff;
  --danger:#c9364d;
  --success:#087f5b;
  --warning:#9a6700;
  --shadow:0 18px 48px rgba(4,37,40,.10);
  --shadow-soft:0 8px 24px rgba(4,37,40,.06);
  --radius:20px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 95% 5%,rgba(24,216,205,.10),transparent 24%),var(--bg);color:var(--ink);font-family:"Segoe UI",Arial,sans-serif;line-height:1.45}
a{color:var(--teal-2)}
button,input,select,textarea{font:inherit}
img{max-width:100%}

/* Navegación */
.topbar{min-height:82px;background:linear-gradient(115deg,#061719 0%,#0a2326 58%,#0b3133 100%);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:11px clamp(18px,4vw,64px);position:sticky;top:0;z-index:50;box-shadow:0 12px 36px rgba(0,20,23,.25);border-bottom:1px solid rgba(49,235,224,.18)}
.brand{display:flex;gap:13px;align-items:center}.brand-link{text-decoration:none;color:#fff;min-width:max-content}.brand-logo{width:52px;height:52px;border-radius:15px;object-fit:cover;border:1px solid rgba(63,243,232,.38);box-shadow:0 0 0 4px rgba(24,216,205,.08),0 9px 25px rgba(0,0,0,.28)}.brand strong,.brand small{display:block}.brand strong{font-size:20px;letter-spacing:.1px}.brand small{color:#a8c7c8;font-size:11px;margin-top:3px}.centered{justify-content:center;margin-bottom:24px}.main-nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}.main-nav>a{color:#d7e7e8;text-decoration:none;padding:10px 11px;border-radius:11px;font-size:14px;transition:.18s ease}.main-nav>a:hover,.main-nav>a.active{background:rgba(24,216,205,.12);color:#6ef6ee}.main-nav .logout-link{color:#ffc1ca}.profile-link{display:flex!important;align-items:center;gap:8px!important;border:1px solid rgba(255,255,255,.13);margin-left:5px;padding:6px 9px!important}.profile-link>span:last-child{display:grid}.profile-link strong{font-size:11px;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-link small{font-size:9px;color:#9dbabc}.avatar{width:30px;height:30px;border-radius:10px;background:linear-gradient(135deg,var(--teal),#72fff7);color:#063033;display:grid;place-items:center;font-weight:900}.nav-toggle{display:none;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;width:43px;height:43px;border-radius:12px;font-size:20px}

/* Estructura general */
.container{max-width:1480px;margin:0 auto;padding:34px clamp(16px,4vw,62px) 64px;min-height:calc(100vh - 138px)}.site-footer{display:flex;justify-content:center;align-items:center;gap:10px;color:#688083;padding:0 20px 26px}.site-footer span{font-weight:800;color:#1f585c}.site-footer small{font-size:11px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:24px}.page-head h1{font-size:clamp(30px,4vw,45px);line-height:1.08;margin:6px 0 0;letter-spacing:-1px}.page-head.compact{margin:0;padding:18px 20px}.page-head.compact h2{margin:0}.eyebrow{font-size:11px;letter-spacing:2.2px;font-weight:900;color:#109e98}.muted{color:var(--muted);line-height:1.6}.center{text-align:center}.empty{text-align:center;color:var(--muted);padding:44px}.notice{margin-top:20px;padding:18px 20px;border-radius:15px;background:#fff8db;border:1px solid #f3df8c;color:#765a00}

/* Hero */
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#061719 0%,#0c2c2f 58%,#0f4d4d 100%);color:#fff;border-radius:30px;padding:clamp(32px,5vw,62px);display:flex;align-items:center;justify-content:space-between;gap:35px;box-shadow:0 25px 70px rgba(4,37,40,.20);border:1px solid rgba(24,216,205,.18)}.hero:before{content:"";position:absolute;width:380px;height:380px;border-radius:50%;right:-110px;top:-170px;background:radial-gradient(circle,rgba(45,242,230,.28),rgba(45,242,230,0) 68%)}.hero:after{content:"";position:absolute;inset:auto 5% 0 auto;width:45%;height:1px;background:linear-gradient(90deg,transparent,rgba(75,255,244,.55),transparent)}.hero>div{position:relative;z-index:1}.hero h1{font-size:clamp(37px,5vw,66px);line-height:1.01;max-width:900px;margin:10px 0 18px;letter-spacing:-2px}.hero p{font-size:18px;color:#c8dddd;max-width:760px;line-height:1.65}.metric{min-width:205px;min-height:205px;border:1px solid rgba(84,255,244,.28);border-radius:999px;display:grid;place-content:center;text-align:center;background:rgba(255,255,255,.05);box-shadow:inset 0 0 55px rgba(24,216,205,.08),0 0 45px rgba(24,216,205,.10)}.metric strong{font-size:58px;color:#65fff5}.metric span,.metric small{display:block;color:#c4dddd}.metric small{font-size:10px;margin-top:6px;max-width:155px}

/* Botones */
.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.btn{border:0;border-radius:12px;padding:12px 17px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-size:14px;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.btn:hover{transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,var(--teal),var(--teal-2));color:#042426;box-shadow:0 9px 22px rgba(15,180,170,.22)}.btn.primary:hover{box-shadow:0 13px 28px rgba(15,180,170,.30)}.btn.secondary{background:#def9f6;color:#0b7772}.btn.ghost{background:#f0f6f6;color:#31575a}.btn.danger{background:#fff0f2;color:var(--danger)}.btn.small{padding:8px 10px;font-size:12px;border-radius:9px}.btn:disabled{opacity:.58;cursor:not-allowed;transform:none}.warning-btn{background:#fff4d6;color:#7a4d00;border:1px solid #f2c66d}.warning-btn:hover{background:#ffe9ad}

/* Tarjetas */
.cards{display:grid;gap:18px;margin-top:22px}.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-soft)}.card h2,.card h3{margin-top:0}.card p{color:var(--muted);line-height:1.65}.card-icon{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:13px;background:linear-gradient(135deg,#dcfbf8,#eefdfc);color:#0b8e88;font-weight:900;margin-bottom:15px;border:1px solid #c5f4ef}.split{display:grid;grid-template-columns:minmax(280px,390px) 1fr;gap:20px;align-items:start}.sticky-card{position:sticky;top:104px}.table-card{padding:0;overflow:hidden}.table-card>h2{padding:24px 24px 0}.query-card{padding:24px}.import-card{margin-bottom:22px;background:linear-gradient(135deg,#fff 0%,#effcfb 100%);border-color:#c4eeeb}.import-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.import-head h2{margin:6px 0 8px}.import-head p{margin:0;max-width:850px}.debug-card{margin-bottom:16px}.debug-card summary{cursor:pointer;font-weight:800}.debug-card code{word-break:break-all}.debug-card pre{background:#071719;color:#d7f6f3;padding:16px;border-radius:12px;white-space:pre-wrap;max-height:330px;overflow:auto}

/* Formularios */
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid.one{grid-template-columns:1fr}.query-grid{grid-template-columns:repeat(4,minmax(160px,1fr))}.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.import-grid{grid-template-columns:180px minmax(260px,1.4fr) minmax(220px,1fr) minmax(250px,1fr);align-items:end;margin-top:20px}.form-grid label{display:grid;gap:7px;font-weight:800;font-size:13px}.form-grid label small{font-weight:500;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #cfe0e1;border-radius:11px;background:#fff;color:var(--ink);outline:none;transition:.15s ease}input,select{height:46px;padding:0 13px}textarea{padding:12px 13px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#20cfc6;box-shadow:0 0 0 4px rgba(24,216,205,.12)}.span-2{grid-column:span 2}.span-all{grid-column:1/-1}.check-label{display:flex!important;grid-template-columns:22px 1fr!important;align-items:center;gap:10px!important;min-height:44px;padding:10px 12px;border:1px solid #d4e5e5;border-radius:11px;background:#fff}.check-label input{width:18px;height:18px;margin:0}.check-label span{font-weight:700;line-height:1.35}.token-fixed{display:flex;flex-direction:column;justify-content:center;gap:5px;min-height:72px;padding:12px 14px;border:1px dashed #99c9c7;border-radius:12px;background:#f4fdfc}.token-fixed strong{font-size:14px}.token-fixed small{color:#647b7d;line-height:1.35}.scan-limit{display:grid}.resolution-only{display:none}

/* Tablas */
.table-wrap{overflow:auto}table{border-collapse:separate;border-spacing:0;width:100%;min-width:820px}th,td{padding:15px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;font-size:13px}th{position:sticky;top:0;z-index:1;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#637a7d;background:#f6fbfb}tbody tr{background:#fff}tbody tr:hover{background:#f6fdfc}td small{display:block;color:var(--muted);margin-top:4px;max-width:280px;overflow:hidden;text-overflow:ellipsis}.row-actions{display:flex;gap:7px;justify-content:flex-end}.row-actions form{margin:0}.code-cell{max-width:230px!important;word-break:break-all;white-space:normal}.wide-actions{min-width:320px;flex-wrap:wrap}.table-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid var(--line);background:#f8fcfc}.table-tools label{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:800}.table-tools select{width:auto;min-width:90px}.table-pagination{display:flex;align-items:center;gap:10px}.table-pagination span{font-size:13px;color:var(--muted);min-width:190px;text-align:center}.result-document-row[style*="display: none"]+.result-json-row{display:none!important}.json-row{display:none;background:#071719;color:#d6eeec}.json-row.open{display:table-row}.json-row td{padding:0}.json-row pre{margin:0;padding:20px;max-height:440px;overflow:auto;font-size:12px;line-height:1.6;white-space:pre-wrap}

/* Indicadores */
.badge{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:900;background:#edf3f3;color:#455f62}.badge.production,.badge.ok{background:#e6f8f1;color:#087f5b}.badge.sandbox{background:#fff3d4;color:#895d00}.badge.off{background:#f1f3f4;color:#7b8492}.badge.status{background:#e8f1ff;color:#3156aa}.badge.legal{background:#e9f8f5;color:#16705a}.badge.invoice{background:#eee9ff;color:#5f3dc4}.badge.pos{background:#e3fbf8;color:#087f78}.badge.api{background:#e8f6ff;color:#21618d;white-space:nowrap}.metric-row{display:flex;gap:10px}.metric-row>div{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px 18px;min-width:120px;box-shadow:0 5px 16px rgba(4,37,40,.04)}.metric-row strong,.metric-row span{display:block}.metric-row strong{font-size:27px}.metric-row span{color:var(--muted);font-size:12px}.result-head{display:flex;align-items:center;justify-content:space-between;margin:24px 0 14px}

/* Alertas */
.alert{padding:15px 18px;border-radius:13px;margin-bottom:18px;border:1px solid transparent;line-height:1.55}.alert.success{background:#e9f9f2;border-color:#bcebd8;color:#086143}.alert.danger{background:#fff0f2;border-color:#f6c7ce;color:#9d2437}.alert.warning{background:#fff8df;border-color:#f1df99;color:#7a5a00}.alert.info{background:#eafaf8;border-color:#bfeee9;color:#176963}.compact-alert{margin:16px 0 0}

/* Usuarios */
.user-split{grid-template-columns:minmax(320px,430px) 1fr}.company-assignment{display:block}.checkbox-list{display:grid;gap:8px;max-height:360px;overflow:auto;padding:8px 2px}.checkbox-list .check-label{min-height:54px}.checkbox-list small{display:block;color:var(--muted);margin-top:2px}

/* Paquetes */
.package-split{grid-template-columns:minmax(310px,390px) 1fr;align-items:start}.package-list{display:grid;gap:16px}.package-card{border-left:5px solid #6b7a90}.package-card.success{border-left-color:#11a36a}.package-card.warning{border-left-color:#e2a400}.package-card.danger{border-left-color:#d33a4f}.package-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.package-top h2{margin:5px 0}.package-balance{font-size:36px;font-weight:900;text-align:right}.package-balance small{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.9px}.progress{height:12px;background:#edf3f3;border-radius:999px;overflow:hidden;margin:16px 0}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--teal-2),var(--teal));border-radius:999px}.package-card.warning .progress span{background:#e2a400}.package-card.danger .progress span{background:#d33a4f}.package-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.package-stats>div{padding:11px;border-radius:11px;background:#f3f9f9}.package-stats strong,.package-stats small{display:block}.package-stats small{color:var(--muted);margin-top:3px}.package-meta{font-size:12px;color:var(--muted);line-height:1.55}.package-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}.package-actions form{margin:0}.recharge-form{display:grid!important;grid-template-columns:100px minmax(120px,1fr) auto;gap:7px;flex:1}.recharge-form input{min-width:0;padding:9px 10px}.report-metrics{margin:22px 0;flex-wrap:wrap}.report-metrics>div{min-width:150px}.package-dashboard .mini-package strong{font-size:36px;display:block;margin:8px 0}.package-dashboard .mini-package span,.package-dashboard .mini-package small{display:block;color:var(--muted)}.mini-package.success{border-top:4px solid #11a36a}.mini-package.warning{border-top:4px solid #e2a400}.mini-package.danger{border-top:4px solid #d33a4f}

/* Login e identidad */
.auth-shell{background:#041315}.auth-container{min-height:100vh;display:grid;place-items:center;padding:28px}.auth-stage{width:min(1040px,100%);display:grid;grid-template-columns:1.12fr .88fr;background:#07191b;border:1px solid rgba(62,237,225,.20);border-radius:30px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.42)}.auth-visual{position:relative;min-height:650px;background:#041315;overflow:hidden}.auth-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 65%,#07191b),linear-gradient(0deg,#07191b 0%,transparent 32%)}.auth-visual img{width:100%;height:100%;object-fit:cover;display:block;opacity:.96}.auth-visual-copy{position:absolute;z-index:2;left:36px;right:36px;bottom:38px;color:#fff}.auth-visual-copy h1{font-size:38px;margin:0 0 8px}.auth-visual-copy p{color:#b9d6d6;margin:0;max-width:540px}.auth-panel{background:#fff;padding:clamp(28px,5vw,56px);display:flex;flex-direction:column;justify-content:center}.auth-card{width:min(460px,100%);background:var(--panel);padding:34px;border-radius:var(--radius);box-shadow:var(--shadow)}.auth-card.wide{width:min(720px,100%);max-width:720px}.auth-panel .auth-card{width:100%;padding:0;box-shadow:none}.auth-logo{display:flex;align-items:center;gap:12px;margin-bottom:28px}.auth-logo img{width:62px;height:62px;border-radius:18px;object-fit:cover;box-shadow:0 10px 30px rgba(6,35,38,.18)}.auth-logo strong{font-size:26px;display:block}.auth-logo small{display:block;color:var(--muted)}.auth-links{display:flex;justify-content:space-between;gap:12px;margin-top:15px;font-size:13px}.auth-links a{text-decoration:none;font-weight:700}.secure-note{margin-top:18px;padding:12px 14px;border-radius:12px;background:#f2fbfa;color:#477073;font-size:12px}

/* Automatización */
.scheduler-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.schedule-card{position:relative;overflow:hidden}.schedule-card .time{font-size:34px;font-weight:900;color:#0a817b}.schedule-card .status-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:6px}.status-dot.ok{background:#16a36b}.status-dot.wait{background:#d89a00}.cron-url{display:flex;gap:8px;align-items:center;background:#071719;color:#c9efec;padding:12px;border-radius:12px}.cron-url code{word-break:break-all;flex:1}.run-log{display:grid;gap:9px}.run-log>div{display:grid;grid-template-columns:180px 110px 1fr;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfefe}

/* Loading iClickPOS */
.loading-overlay{position:fixed;inset:0;background:rgba(2,15,17,.82);backdrop-filter:blur(8px);z-index:9999;display:grid;place-items:center;color:#fff;text-align:center;padding:20px;animation:overlayIn .2s ease}.loading-box{position:relative;width:min(360px,92vw);background:linear-gradient(145deg,#071719,#0c2d30);border:1px solid rgba(83,255,244,.28);border-radius:26px;padding:32px 30px;box-shadow:0 30px 90px rgba(0,0,0,.48),0 0 55px rgba(24,216,205,.12);overflow:hidden}.loading-box:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(24,216,205,.12);filter:blur(28px);top:-90px;right:-65px}.loading-logo-wrap{position:relative;width:92px;height:92px;margin:0 auto 19px}.loading-logo{width:92px;height:92px;border-radius:24px;object-fit:cover;position:relative;z-index:2;box-shadow:0 0 0 6px rgba(24,216,205,.08)}.loading-ring,.loading-ring:after{position:absolute;inset:-8px;border-radius:31px;border:2px solid transparent;border-top-color:#4dfff4;border-right-color:rgba(77,255,244,.35);content:"";animation:spin 1.15s linear infinite}.loading-ring:after{inset:6px;animation-direction:reverse;animation-duration:1.7s}.loading-box strong,.loading-box span{display:block;position:relative;z-index:2}.loading-box strong{font-size:19px}.loading-box span{color:#acd0d0;margin-top:7px;font-size:13px}.loading-bar{height:5px;margin-top:22px;border-radius:999px;background:rgba(255,255,255,.10);overflow:hidden}.loading-bar:after{content:"";display:block;width:40%;height:100%;background:linear-gradient(90deg,transparent,#4dfff4,transparent);animation:loadbar 1.2s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes loadbar{from{transform:translateX(-120%)}to{transform:translateX(350%)}}@keyframes overlayIn{from{opacity:0}to{opacity:1}}

/* Responsive */
@media(max-width:1160px){.query-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cards.three{grid-template-columns:1fr 1fr}.split,.user-split,.package-split{grid-template-columns:1fr}.sticky-card{position:static}.import-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scheduler-grid{grid-template-columns:1fr 1fr}.topbar{align-items:flex-start}.nav-toggle{display:block;margin-left:auto}.main-nav{display:none;width:100%;flex-basis:100%;justify-content:flex-start;padding:10px 0 2px}.main-nav.open{display:flex}.topbar{flex-wrap:wrap}.profile-link{margin-left:0}}
@media(max-width:800px){.cards.three{grid-template-columns:1fr}.hero{padding:34px 24px}.metric{display:none}.auth-stage{grid-template-columns:1fr}.auth-visual{min-height:340px}.auth-visual:after{background:linear-gradient(0deg,#07191b 0%,transparent 60%)}.auth-panel{padding:30px 22px}.scheduler-grid{grid-template-columns:1fr}.run-log>div{grid-template-columns:1fr}.site-footer{flex-direction:column}.page-head{align-items:flex-start;flex-direction:column}.package-top{flex-direction:column}.package-balance{text-align:left}.package-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.recharge-form{grid-template-columns:1fr}}
@media(max-width:620px){.container{padding:24px 14px 50px}.form-grid,.query-grid,.compact-grid,.import-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.result-head{align-items:flex-start;flex-direction:column;gap:14px}.metric-row{width:100%;overflow:auto}.table-tools{align-items:stretch;flex-direction:column}.table-pagination{justify-content:space-between}.table-pagination span{min-width:0}.auth-visual{display:none}.auth-stage{border-radius:22px}.auth-container{padding:16px}.main-nav>a{width:calc(50% - 4px)}.profile-link{width:100%!important}.logout-link{width:100%!important}.brand small{display:none}}
