:root{--primary:#5c5aed;--primary2:#7a8cff;--deep:#4338ca;--soft:#e9ebff;--bg:#f2f4f7;--ink:#1e2330;--muted:#667085;--line:#e4e8f2;--white:#fff;--shadow:0 14px 35px rgba(30,35,48,.055);--font:'Poppins','Segoe UI',system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font:14px/1.55 var(--font);margin:0;color:var(--ink);background:linear-gradient(180deg,#fff 0,#f7f8ff 55%,#f2f4f7 100%);min-height:100vh}a{text-decoration:none;color:inherit}button,input,select{font:inherit}.shell{min-height:100vh;display:flex}.side{flex:0 0 238px;background:linear-gradient(180deg,#fff,#f8f9ff 60%,#f3f5ff);border-right:1px solid var(--line);padding:23px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{padding:9px 10px 20px;border-bottom:1px solid var(--line);margin-bottom:18px}.brand img{width:180px;max-width:100%;display:block}.brand .minor{color:var(--muted);font-size:11px;letter-spacing:.12em;font-weight:700;margin:6px 0 0 36px;text-transform:uppercase}.menuhead{font-size:10px;font-weight:750;letter-spacing:.16em;color:#98a2b3;margin:18px 14px 10px;text-transform:uppercase}.nav{display:grid;gap:3px}.nav a{display:flex;align-items:center;gap:12px;min-height:42px;border:1px solid transparent;padding:0 13px;border-radius:11px;color:#505c70;font-weight:600;transition:.18s}.nav a svg{width:18px;height:18px;stroke-width:1.8}.nav a:hover{background:rgba(92,90,237,.08);color:var(--primary);transform:translateX(2px)}.nav a.active{color:#fff;background:linear-gradient(135deg,#5c5aed,#7a8cff);box-shadow:0 12px 24px rgba(92,90,237,.2)}.asidefoot{margin-top:auto;border-top:1px solid var(--line);padding:17px 10px 5px}.asidefoot b{display:block;color:#51576b;font-size:12px}.asidefoot small{display:block;color:#8a94a6;margin-top:3px}.main{flex:1;min-width:0;padding:0 38px 45px}.topbar{min-height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.topbar .breadcrumb{color:var(--muted);font-size:13px}.topbar .breadcrumb b{color:var(--ink);font-weight:700}.topright{display:flex;align-items:center;gap:12px}.pill{padding:6px 11px;border:1px solid #dedfff;border-radius:999px;color:var(--deep);font-size:11px;letter-spacing:.02em;font-weight:750;background:#f5f5ff}.avatar{width:35px;height:35px;background:linear-gradient(135deg,var(--primary),#8996fb);border-radius:11px;display:grid;place-items:center;color:white;font-size:12px;font-weight:700}.mainbody{max-width:1390px;margin:0 auto}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:var(--primary);font-weight:800}.hero{padding:35px 0 23px;display:flex;justify-content:space-between;gap:24px;align-items:center}.hero h1{margin:6px 0;font-size:clamp(25px,2.5vw,39px);line-height:1.2;letter-spacing:-.035em}.hero p{margin:5px 0;color:var(--muted);max-width:650px}.heroaside{padding:15px 18px;border:1px solid #e1e3fa;border-radius:14px;background:#f9faff;min-width:188px}.heroaside span{display:block;color:#858ba2;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.heroaside strong{display:block;margin-top:3px;font-size:13px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.card{background:white;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:21px;transition:transform .22s,box-shadow .22s,border-color .22s;min-width:0}.card:hover{transform:translateY(-3px);box-shadow:0 18px 35px rgba(92,90,237,.08);border-color:#d8dcff}.card .value{font-size:clamp(22px,2.7vw,30px);font-weight:800;letter-spacing:-1px;line-height:1.2;margin-top:18px}.card .klabel{font-size:12px;color:var(--muted);font-weight:600}.card .tiny{font-size:11px;color:#98a2b3;margin-top:8px}.row-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.iconround{display:inline-flex;color:var(--primary);border:1px solid #e8e9fd;padding:8px;border-radius:11px;background:#fafaff}.iconround svg{width:19px;height:19px;stroke-width:1.75}.sectionhead{margin:28px 0 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.sectionhead h2{margin:0;font-size:17px;letter-spacing:-.02em}.sectionhead .hint{color:var(--muted);font-size:12px}.layout2{display:grid;grid-template-columns:1.55fr 1fr;gap:16px}.panel{background:white;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:21px;overflow:hidden}.panel h3{font-size:15px;margin:0 0 5px}.panel .description{font-size:12px;color:var(--muted);margin:0 0 16px}.stack{display:grid;gap:13px}.channel{display:flex;gap:15px;align-items:flex-start;padding:14px 0;border-bottom:1px solid #f0f1f5}.channel:last-child{border-bottom:0}.channel .iconround{flex:0 0 auto}.channel b{display:block;font-size:13px}.channel small{color:var(--muted);font-size:12px}.channel div:nth-child(2){flex:1}.signal{display:inline-flex;align-items:center;gap:6px;color:#475467;background:#f7f8fb;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:700;white-space:nowrap}.signal:before{content:'';width:6px;height:6px;border-radius:50%;background:#a8afba}.signal.active{color:#067647;background:#ecfdf3}.signal.active:before{background:#12b76a}.signal.blocked{color:#b54708;background:#fffaeb}.signal.blocked:before{background:#f79009}.data{width:100%;border-collapse:collapse;text-align:left;min-width:610px}.data th{font-size:11px;color:#8790a5;text-transform:uppercase;letter-spacing:.04em;font-weight:700;padding:12px 11px;border-bottom:1px solid var(--line)}.data td{padding:13px 11px;border-bottom:1px solid #f0f2f6;font-size:12px;color:#4d586b}.data tbody tr:hover{background:#fafaff}.data tbody tr:last-child td{border-bottom:0}.scroll{overflow-x:auto}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.muted{color:var(--muted)}.empty{padding:28px;color:var(--muted);font-size:13px;text-align:center;background:#fcfcff;border:1px dashed #e0e3f2;border-radius:12px}.warning{background:#fff8eb;border:1px solid #ffebb9;border-radius:12px;padding:13px 15px;color:#965e14;font-size:12px;margin:14px 0}.notice{background:#f4f5ff;border:1px solid #e4e6ff;color:#5756a6;border-radius:12px;padding:13px 15px;font-size:12px;margin:14px 0}.utility{background:none;color:#637083;border:0;cursor:pointer;font-size:12px;padding:5px 8px;border-radius:9px}.utility:hover{background:#eeefff;color:var(--deep)}.utility svg{vertical-align:middle;width:15px;height:15px}.env{font-size:10px;font-weight:800;letter-spacing:.02em;color:#5555bb;background:#f0f1ff;padding:5px 7px;border-radius:8px}.env.prod{background:#fff3e8;color:#9b5400}.authwrap{width:100%;min-height:100vh;display:grid;place-items:center;padding:25px}.authbox{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:0 22px 65px rgba(30,35,48,.08)}.authbox>img{width:215px;max-width:100%}.authbox h1{font-size:23px;margin:26px 0 5px}.authbox p{color:var(--muted);margin:0 0 23px}.formgroup{margin:14px 0}.formgroup label{display:block;font-size:12px;font-weight:700;color:#526075;margin-bottom:8px}.formgroup input{width:100%;padding:13px 14px;border:1px solid #dce2ee;border-radius:11px;background:#fcfdff;outline:none}.formgroup input:focus{border-color:#7a8cff;box-shadow:0 0 0 3px #e9ebff}.btn{border:0;background:linear-gradient(135deg,#5c5aed,#7a8cff);color:#fff;padding:13px 20px;border-radius:11px;font-size:13px;font-weight:750;cursor:pointer}.btn:hover{filter:brightness(1.05)}.authbox .btn{width:100%;margin-top:8px}.authbox footer{text-align:center;color:#98a2b3;font-size:11px;margin-top:26px}.list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.info{display:flex;align-items:flex-start;gap:10px}.info svg{width:19px;height:19px;flex-shrink:0;color:var(--primary)}.info b{font-size:13px;display:block}.info span{color:var(--muted);font-size:12px}.footnote{margin-top:23px;color:#8991a1;font-size:11px;text-align:center}.legend{font-size:11px;color:var(--muted);margin-top:12px}code{background:#f4f5fa;border-radius:6px;padding:2px 5px}.logohelp{height:41px;object-fit:contain;max-width:180px}@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}.layout2{grid-template-columns:1fr}.list{grid-template-columns:repeat(2,1fr)}.main{padding-left:22px;padding-right:22px}}@media(max-width:730px){.shell{display:block}.side{height:auto;position:relative;padding:8px 14px;display:block;border-right:0;border-bottom:1px solid var(--line)}.brand{padding:6px;border:0;margin:0}.brand img{max-width:160px}.brand .minor,.asidefoot,.menuhead{display:none}.nav{display:flex;overflow-x:auto;gap:4px;padding:3px 0 7px}.nav a{flex:0 0 auto;min-height:37px;font-size:12px;padding:0 10px}.nav a svg{width:16px;height:16px}.main{padding:0 14px 30px}.topbar{min-height:52px}.hero{padding:22px 0 16px;display:block}.heroaside{margin-top:16px}.topright .pill{display:none}.cards,.list{grid-template-columns:1fr 1fr;gap:9px}.card{padding:15px}.card .value{font-size:21px}.panel{padding:15px}}@media(max-width:450px){.cards,.list{grid-template-columns:1fr}.hero h1{font-size:25px}}
/* Extensión visual oficial AnnualPOS - Olanzo Connect premium */
:root{--primary:#5c55ea;--deep:#463bc0;--bg:#f8f9fc;--shadow:0 12px 30px rgba(35,40,90,.045)}
body{background:linear-gradient(155deg,#ffffff,#f9faff 34%,#f5f6fc 100%);color:#263044}
.side{flex-basis:250px;box-shadow:3px 0 30px rgba(50,47,100,.025)}
.nav a.active{background:#efedff;color:#5142db;box-shadow:none;border:1px solid #ebe7ff}
.nav a:hover{transform:translateX(2px);background:#f4f1ff}
.pill{display:flex;align-items:center;gap:7px;background:#f7f7ff;font-size:11px}.pill svg{width:14px}
.topbar .breadcrumb span{margin:0 7px;color:#b3b9c6}.auth-label{font-size:11px;letter-spacing:.12em;color:var(--primary);font-weight:800;margin-top:24px}
.authbox h1{line-height:1.17;font-size:28px;letter-spacing:-.035em;margin-top:12px}.gradtext{background:linear-gradient(100deg,#5b49e1,#a456d7);-webkit-background-clip:text;background-clip:text;color:transparent}
.authbox{border-radius:25px;padding:37px}.authwrap{background:radial-gradient(ellipse at 75% 25%,#e8e8ff 0,transparent 42%),linear-gradient(135deg,#f8f9ff,#fff)}
.authbox .btn{display:flex;align-items:center;justify-content:center;gap:8px}.authbox .btn:disabled{opacity:.35;cursor:not-allowed}
.side .sidebar-support{margin-top:auto;display:flex;align-items:center;gap:10px;background:#f4f3ff;border:1px solid #e7e5ff;border-radius:13px;padding:13px 11px}
.side .sidebar-support b{display:block;font-size:12px}.side .sidebar-support small{display:block;color:#7c809a;font-size:11px}.side .pulse{width:8px;height:8px;border-radius:50%;background:#39be89;box-shadow:0 0 0 3px #d7f8e9}
.side .asidefoot{margin-top:12px}.hero-main{position:relative;min-height:270px;background:linear-gradient(130deg,rgba(255,255,255,.97),rgba(245,243,255,.98));border:1px solid #e9e7f7;border-radius:21px;padding:35px;margin:26px 0 20px;overflow:hidden}
.hero-main:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 78% 45%,rgba(146,121,237,.12),transparent 34%);pointer-events:none}
.hero-main h1{font-size:clamp(27px,2.8vw,41px);font-weight:800;position:relative}.hero-copy{position:relative;z-index:1;max-width:62%}.hero-main p{max-width:470px}.hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:20px}.hero-actions .btn{display:inline-flex;align-items:center;gap:8px}
.btn{box-shadow:0 5px 14px rgba(83,72,207,.12);display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .18s,box-shadow .18s,opacity .18s;white-space:nowrap}.btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(83,72,207,.17)}.btn-outline{background:white!important;color:#5953ae!important;border:1px solid #e0def8!important;box-shadow:none!important}.btn-outline:hover{background:#f9f8ff!important}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-block{width:100%}
.hero-visual{position:relative;width:285px;height:206px;flex:0 0 285px;display:grid;place-items:center}.hub{z-index:2;width:90px;height:90px;border:1px solid #e1defc;border-radius:22px;background:white;box-shadow:0 15px 42px rgba(80,70,170,.11);display:grid;place-items:center}.hub img{width:55px;height:55px;object-fit:contain}.orbit{position:absolute;border-radius:50%;border:1px dashed #c9c3fc}.orbit-one{width:175px;height:175px}.orbit-two{width:258px;height:258px;border-color:#dedbfa}.orb{position:absolute;z-index:3;display:grid;place-items:center;background:white;border:1px solid #e8e3ff;box-shadow:0 9px 19px rgba(95,75,190,.07);color:#5d55e6;border-radius:13px;width:47px;height:47px}.orb-a{top:13px;left:34px}.orb-b{right:15px;top:68px}.orb-c{bottom:6px;left:54px}.orb svg{width:23px;height:23px}
.card{border-radius:17px}.iconround{background:transparent;border:1px solid #eeeaff;border-radius:11px;color:#645add}.iconround svg{width:19px;height:19px}.klabel{font-size:12px}.panel{border-radius:17px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.subpill{color:#7e72c4;background:#f6f4ff;border:1px solid #e9e5ff;border-radius:30px;font-size:10px;padding:5px 10px}
.healthline{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f0f1f6;padding:13px 0;gap:8px;font-size:12px}.healthline span{display:flex;align-items:center;gap:12px;color:#667085}.healthline span svg{width:18px;height:18px;color:#766ceb}.healthline strong{color:#33354d}.healthline:last-of-type{border-bottom:0}
.small-notice{margin-bottom:0}.channel-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:185px}.channel-card h3{font-size:14px;margin:0}.channel-card p{font-size:12px;margin:0;flex:1}.channel-card .signal{margin-top:4px}.metric-small .card{padding:15px 20px}.metric-small .value{margin-top:6px}
.line-small{display:block;color:#99a2b5;font-size:11px}.flash{border-radius:12px;padding:13px 16px;margin:14px 0;font-size:12px}.flash.success{background:#ecfdf3;color:#027a48;border:1px solid #abefc6}
.token-once{background:#f0f7ff;border:1px solid #bedcff;border-radius:14px;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:15px;margin:15px 0;word-break:break-word}.token-once b{display:block}.token-once small{display:block;color:#657184}.token-once code{display:block;padding:7px;margin-top:6px;word-break:break-all}
.env-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.env-card{display:flex;flex-direction:column;gap:14px}.env-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.env-head h3{margin:3px 0;font-size:16px}.env-head small{color:#959cb1}.env-status{display:grid;justify-items:end;gap:6px}.env-summary{display:flex;flex-wrap:wrap;gap:8px;font-size:11px}.env-summary span{border:1px solid #eceef7;padding:5px 8px;border-radius:9px;color:#8490a2}.env-summary b{color:#4d4b78}.wh-label{font-size:11px;color:#929aad;display:flex;align-items:center;justify-content:space-between}.webhook-url{display:block;overflow-wrap:anywhere;font-size:10px;background:#f7f8fc;padding:12px;border-radius:10px}
.top-layout{grid-template-columns:1fr 1fr;margin-bottom:23px}
.modal{border:1px solid #e4e4f5;border-radius:21px;padding:0;width:min(555px,calc(100vw - 32px));max-height:min(85vh,880px);box-shadow:0 30px 90px rgba(27,31,70,.18);overflow-y:auto;background:#fff;color:#293347}.modal::backdrop{background:rgba(21,24,53,.38);backdrop-filter:blur(2px)}.modal-heading{padding:24px 27px 17px;border-bottom:1px solid #eff0f7;display:flex;justify-content:space-between;align-items:start;gap:10px}.modal-heading h2{margin:5px 0 0;font-size:19px;letter-spacing:-.03em}.modal-form{padding:17px 27px 23px}.modal .formgroup{margin:13px 0}.modal input:not([type=checkbox]),.modal select{width:100%;height:43px;border:1px solid #e0e4ef;border-radius:10px;background:#fefeff;padding:0 12px;font:inherit;outline:none}.modal input:focus,.modal select:focus{border-color:#988cfb;box-shadow:0 0 0 3px #eceaff}.modal input[readonly]{background:#f5f6f9;color:#7c8495}.modal label{display:block;font-size:11px;font-weight:700;color:#5e6880;margin-bottom:7px}.modal label small{font-size:10px;font-weight:400}.modal .formgroup small{display:block;color:#97a0af;margin-top:5px;font-size:11px}.modal .modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}.icon-close{font-size:23px;border:0;background:transparent;color:#8991a2;cursor:pointer}.icon-close:hover{color:#4a43a2}.two-input{display:grid;grid-template-columns:1fr 1fr;gap:12px}.setting-section{border-top:1px solid #eff0f6;padding:6px 0 11px}.setting-section:first-of-type{border:0}.setting-section h3{font-size:13px;color:#3a3e61}.checkline{display:flex!important;align-items:center;gap:10px;margin:13px 0!important;font-size:12px!important;cursor:pointer}.checkline input{width:17px;height:17px;accent-color:var(--primary)}.checkline.risk{color:#b54708}.req{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-bottom:1px solid #f1f1f7;font-size:11px}.req .good{color:#027a48}.req .bad{color:#b42318}
@media(max-width:1150px){.hero-visual{flex-basis:200px;width:200px;height:195px}.orbit-two{width:200px;height:200px}.hero-copy{max-width:70%}.env-grid{grid-template-columns:1fr}}
@media(max-width:730px){.side .sidebar-support{display:none}.hero-main{margin:15px 0;padding:24px}.hero-copy{max-width:100%}.hero-visual{display:none}.hero-actions{gap:8px}.hero-actions .btn{font-size:12px;padding:11px}.env-grid{grid-template-columns:1fr}.topright .avatar{display:none}.top-layout{grid-template-columns:1fr}.topbar .breadcrumb{font-size:10px}.cards.metric-small{grid-template-columns:repeat(2,minmax(0,1fr))}.two-input{grid-template-columns:1fr}.modal-heading{padding:20px}.modal-form{padding:18px}}
@media(max-width:450px){.hero-actions{display:grid}.hero-actions .btn{width:100%}.metric-small .card{padding:12px}}
.backup-action{margin:10px 0 5px}.backup-hint{display:block;font-size:11px;color:#8a91a3;line-height:1.5}
