:root{--bg:#f4f7fb;--surface:#fff;--surface-2:#f8fafc;--surface-3:#eef3f8;--text:#142237;--muted:#6f7f94;--line:#e2e8f0;--primary:#123e69;--primary-2:#1f5f95;--green:#238765;--teal:#2aa580;--orange:#d98b2b;--red:#c65151;--violet:#7657c8;--cyan:#2b84a8;--shadow:0 14px 36px rgba(24,45,72,.075);--shadow-hover:0 20px 50px rgba(22,49,79,.14);--r:18px}*{box-sizing:border-box}html{font-family:Inter,Aptos,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}body{margin:0;min-height:100vh;background:radial-gradient(circle at 78% -10%,rgba(42,165,128,.09),transparent 28%),radial-gradient(circle at 15% 12%,rgba(31,95,149,.055),transparent 26%),var(--bg)}body.dark{--bg:#0f1724;--surface:#172235;--surface-2:#1c2a40;--surface-3:#23334c;--text:#edf4ff;--muted:#9aacc3;--line:#2b3b55;--shadow:0 14px 36px rgba(0,0,0,.24);--shadow-hover:0 24px 54px rgba(0,0,0,.36)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#0d3155 0%,#123f6c 58%,#0d3458 100%);padding:20px 14px;color:#fff;display:flex;flex-direction:column;z-index:30;box-shadow:14px 0 40px rgba(12,43,74,.08)}.brand{display:flex;align-items:center;gap:11px;padding:5px 7px 20px}.brand-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,#fff,#d9ebf7);color:#123e69;display:grid;place-items:center;font-weight:900;box-shadow:0 9px 20px rgba(0,0,0,.16)}.brand strong,.brand span{display:block}.brand strong{font-size:14px;letter-spacing:.12em}.brand span{font-size:11px;color:#bed2e5;margin-top:2px}.sidebar nav{display:grid;gap:5px}.nav-link{display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:11px;color:#c9d9e8;font-size:13px;font-weight:600;transition:.18s ease;position:relative}.nav-link:hover{background:rgba(255,255,255,.075);color:#fff;transform:translateX(2px)}.nav-link.active{background:rgba(255,255,255,.12);color:#fff}.nav-link.active:before{content:"";position:absolute;left:0;width:3px;height:18px;border-radius:0 4px 4px 0;background:#58d0a5;box-shadow:0 0 14px rgba(88,208,165,.45)}.sidebar-foot{margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.11)}.user-chip{display:flex;gap:9px;align-items:center;padding:8px}.avatar{width:34px;height:34px;border-radius:11px;background:linear-gradient(145deg,#63d6ae,#b8f1dc);color:#0d3a53;display:grid;place-items:center;font-weight:900}.user-chip strong,.user-chip span{display:block}.user-chip strong{font-size:12px}.user-chip span{font-size:10px;color:#bcd1e3;margin-top:2px}.main{min-width:0}.topbar{height:92px;padding:20px 30px 14px;display:flex;justify-content:space-between;align-items:center}.topbar h1{margin:3px 0 0;font-size:24px;letter-spacing:-.035em}.eyebrow{text-transform:uppercase;color:var(--muted);font-size:9px;letter-spacing:.18em;font-weight:800}.top-actions{display:flex;align-items:center;gap:9px}.top-context{display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.72);backdrop-filter:blur(12px);font-size:10px;color:var(--muted)}.dark .top-context{background:rgba(23,34,53,.85)}.top-context strong{color:var(--text)}.icon-btn{width:36px;height:36px;border-radius:11px;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;transition:.18s}.icon-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.content{padding:0 30px 34px;max-width:1540px;margin:0 auto}.grid{display:grid;gap:14px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:18px;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.card.hover:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:rgba(31,95,149,.22)}.card.soft{box-shadow:none;background:var(--surface-2)}.metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.metric-card{min-height:88px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,var(--surface),var(--surface-2));padding:13px 14px;display:flex;align-items:center;gap:12px;position:relative;overflow:hidden;transition:.22s}.metric-card:after{content:"";position:absolute;width:86px;height:86px;border-radius:50%;right:-34px;top:-34px;background:var(--metric-glow,rgba(31,95,149,.08));transition:.22s}.metric-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}.metric-card:hover:after{transform:scale(1.25)}.metric-icon{width:38px;height:38px;flex:0 0 38px;border-radius:12px;display:grid;place-items:center;background:var(--metric-bg,#eaf2fa);color:var(--metric-color,var(--primary))}.metric-card .value{font-size:21px;font-weight:850;letter-spacing:-.035em;line-height:1}.metric-card .label{font-size:10px;color:var(--muted);margin-top:5px}.accent-blue{--metric-color:#1f5f95;--metric-bg:#e9f3fc;--metric-glow:rgba(31,95,149,.10)}.accent-green{--metric-color:#238765;--metric-bg:#e8f7f1;--metric-glow:rgba(35,135,101,.11)}.accent-orange{--metric-color:#c97e22;--metric-bg:#fff3df;--metric-glow:rgba(217,139,43,.12)}.accent-violet{--metric-color:#7657c8;--metric-bg:#f0ecff;--metric-glow:rgba(118,87,200,.11)}.section-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-end;margin:22px 0 10px}.section-head h2{margin:0;font-size:16px;letter-spacing:-.015em}.section-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.btn{border:0;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 12px;border-radius:10px;font-size:11px;font-weight:800;background:var(--primary);color:#fff;cursor:pointer;transition:.18s ease;white-space:nowrap}.btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(18,62,105,.18)}.btn.secondary{background:var(--surface);border:1px solid var(--line);color:var(--text);box-shadow:none}.btn.secondary:hover{border-color:#b9c9d9}.btn.green{background:var(--green)}.btn.danger{background:var(--red)}.btn.sm{padding:7px 9px;border-radius:9px;font-size:10px}.btn.ghost{background:transparent;color:var(--primary);border:1px solid transparent}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.branch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.branch-tile{position:relative;border:1px solid var(--line);border-radius:15px;background:var(--surface);padding:13px;display:flex;align-items:center;gap:11px;overflow:hidden;transition:.2s}.branch-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:rgba(31,95,149,.25)}.branch-tile:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--branch-accent,#1f5f95)}.branch-code{width:36px;height:36px;border-radius:11px;background:var(--surface-3);color:var(--primary);display:grid;place-items:center;font-size:12px;font-weight:900}.branch-tile strong{font-size:12px}.branch-tile .meta{font-size:10px;color:var(--muted);margin-top:3px}.hero-panel{border-radius:20px;padding:20px;background:linear-gradient(135deg,#123e69,#1b5f91 62%,#238765);color:#fff;position:relative;overflow:hidden;box-shadow:0 18px 44px rgba(18,62,105,.18)}.hero-panel:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(255,255,255,.11);border-radius:50%;right:-100px;top:-135px;box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 95px rgba(255,255,255,.018)}.hero-panel h2{margin:7px 0 4px;font-size:22px;letter-spacing:-.04em}.hero-panel p{margin:0;color:#dbeaf5;font-size:11px;max-width:680px}.hero-panel .toolbar{margin-top:15px;position:relative;z-index:2}.hero-panel .btn.secondary{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);color:#fff;backdrop-filter:blur(10px)}.period-year{margin-top:18px}.year-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.year-head h2{font-size:19px;margin:0}.year-count{font-size:10px;color:var(--muted);background:var(--surface-3);padding:4px 7px;border-radius:999px}.months-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.month-card{min-height:112px;border:1px solid var(--line);border-radius:15px;background:var(--surface);padding:14px;position:relative;overflow:hidden;transition:.2s}.month-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:rgba(35,135,101,.25)}.month-card .month-no{font-size:9px;font-weight:900;letter-spacing:.14em;color:var(--muted)}.month-card h3{font-size:15px;margin:5px 0 10px}.month-card .month-meta{display:flex;gap:8px;flex-wrap:wrap}.month-card:after{content:"";width:70px;height:70px;border-radius:50%;background:rgba(35,135,101,.07);position:absolute;right:-24px;bottom:-25px}.month-empty{border-style:dashed;background:transparent}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:11px;min-width:760px}.table th{position:sticky;top:0;background:var(--surface-2);color:#66768c;text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.09em;padding:11px 12px;border-bottom:1px solid var(--line);z-index:2}.table td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr{transition:.14s}.table tbody tr:hover{background:rgba(31,95,149,.035)}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:850;background:var(--surface-3);color:#526177}.badge.ok{background:#e7f6f0;color:#20775a}.badge.warn{background:#fff2dd;color:#9b641c}.badge.blue{background:#e9f2fb;color:#285f91}.badge.red{background:#fdeaea;color:#a33f3f}.badge.violet{background:#f0ebff;color:#684bb1}.dark .badge{background:#253751;color:#c8d6e8}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field label{display:block;font-size:9px;letter-spacing:.08em;font-weight:850;color:var(--muted);margin:0 0 6px}.input,.select,.textarea{width:100%;border:1px solid var(--line);background:var(--surface-2);color:var(--text);border-radius:10px;padding:10px 11px;outline:0;font-size:11px;transition:.18s}.input:focus,.select:focus,.textarea:focus{border-color:#78a4c8;box-shadow:0 0 0 4px rgba(31,95,149,.08);background:var(--surface)}.textarea{min-height:82px;resize:vertical}.upload-shell{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:14px}.dropzone{min-height:285px;border:1.5px dashed #93afc8;border-radius:18px;background:linear-gradient(180deg,rgba(241,247,252,.85),rgba(250,252,254,.72));display:grid;place-items:center;text-align:center;padding:30px;cursor:pointer;transition:.22s;position:relative;overflow:hidden}.dark .dropzone{background:#172942}.dropzone:after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;background:rgba(42,165,128,.07);right:-85px;bottom:-105px}.dropzone:hover,.dropzone.drag{border-color:var(--green);background:linear-gradient(180deg,#f2fbf7,#f8fcfa);transform:translateY(-1px)}.dark .dropzone:hover,.dark .dropzone.drag{background:#193149}.drop-icon{width:52px;height:52px;border-radius:16px;background:var(--surface);color:var(--primary);display:grid;place-items:center;margin:0 auto 12px;box-shadow:var(--shadow)}.dropzone h3{font-size:17px;margin:0}.dropzone p{font-size:11px;color:var(--muted);margin:7px auto 12px;max-width:440px}.file-list{margin-top:10px;display:grid;gap:7px}.file-pill{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid var(--line);background:var(--surface-2);border-radius:10px;font-size:10px}.upload-side{display:grid;gap:10px;align-content:start}.mini-panel{border:1px solid var(--line);border-radius:15px;background:var(--surface);padding:14px}.mini-panel h3{font-size:12px;margin:0 0 9px}.mini-list{display:grid;gap:7px}.mini-row{display:flex;justify-content:space-between;gap:10px;font-size:10px;padding:7px 0;border-bottom:1px solid var(--line)}.mini-row:last-child{border-bottom:0}.mini-row span{color:var(--muted)}.split{display:flex;gap:12px;align-items:center;justify-content:space-between}.muted{color:var(--muted)}.small{font-size:10px}.money{font-variant-numeric:tabular-nums;font-weight:800}.toolbar{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.searchbox{position:relative}.searchbox svg{position:absolute;left:9px;top:9px;color:var(--muted)}.searchbox .input{padding-left:32px;min-width:220px}.empty{padding:36px 18px;text-align:center;color:var(--muted);font-size:11px}.empty svg{margin-bottom:8px}.toast-inline{display:flex;align-items:center;gap:9px;padding:11px 13px;border:1px solid #c9eadf;background:#effaf6;color:#216e55;border-radius:11px;margin-bottom:12px;font-size:11px;animation:toastIn .28s ease both}.toast-inline.error{border-color:#efcccc;background:#fff1f1;color:#8f3939}.preview-table{max-height:560px}.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(8,18,32,.48);backdrop-filter:blur(6px);z-index:100;place-items:center;padding:18px}.modal-backdrop.open{display:grid}.modal{width:min(680px,100%);max-height:90vh;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:19px;box-shadow:0 32px 90px rgba(0,0,0,.28);padding:20px}.checks{display:flex;gap:7px;flex-wrap:wrap}.checkchip{font-size:10px;padding:7px 8px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2)}.export-preview{border-radius:16px;border:1px solid var(--line);overflow:hidden;background:#fff}.export-preview-head{padding:17px;background:linear-gradient(135deg,var(--preview-primary,#143D68),color-mix(in srgb,var(--preview-primary,#143D68) 78%,#fff));color:#fff}.export-preview-head strong{display:block;font-size:17px}.export-preview-head span{font-size:9px;opacity:.8}.export-preview-body{padding:14px;color:#142237}.preview-tabs{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:12px}.preview-tab{font-size:8px;font-weight:800;padding:6px 7px;border-radius:7px;background:#eef3f8;color:#53657a}.preview-tab.active{background:var(--preview-accent,#26936B);color:#fff}.preview-line{height:7px;border-radius:5px;background:#eef2f6;margin:7px 0}.preview-line.w70{width:70%}.preview-line.w45{width:45%}.tech-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.tech-chip{font-size:9px;padding:6px 8px;border:1px solid var(--line);background:var(--surface-2);border-radius:8px}.file-type{width:32px;height:32px;border-radius:9px;display:grid;place-items:center}.file-type.xlsx{background:#e7f6f0;color:#20775a}.file-type.pdf{background:#fdeaea;color:#a33f3f}.footer{text-align:center;color:var(--muted);font-size:9px;padding:0 20px 20px}.login-page{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr;background:var(--bg)}.login-visual{padding:50px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,#0d3155,#174f7c 58%,#1d755e);color:#fff;position:relative;overflow:hidden}.login-visual:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.11);border-radius:50%;right:-190px;bottom:-210px;box-shadow:0 0 0 65px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018)}.login-logo{display:flex;gap:11px;align-items:center}.login-copy{max-width:600px;z-index:2}.login-copy h1{font-size:44px;line-height:1.02;letter-spacing:-.055em;margin:0 0 14px}.login-copy p{color:#d2e4f0;line-height:1.65;max-width:510px;font-size:13px}.login-metrics{display:flex;gap:9px;margin-top:24px}.login-metric{padding:11px 13px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.06);border-radius:12px;backdrop-filter:blur(12px)}.login-metric strong,.login-metric span{display:block}.login-metric strong{font-size:13px}.login-metric span{font-size:9px;color:#c8dbe8;margin-top:3px}.login-panel{display:grid;place-items:center;padding:36px}.login-card{width:min(410px,100%)}.login-card h2{font-size:27px;letter-spacing:-.04em;margin:0}.login-card>p{color:var(--muted);font-size:12px;margin:7px 0 24px}.stack{display:grid;gap:12px}.login-card .btn{width:100%;padding:12px}.install-box{width:min(720px,calc(100% - 32px));margin:46px auto}@keyframes toastIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media(max-width:1180px){.metric-strip{grid-template-columns:repeat(2,1fr)}.branch-grid{grid-template-columns:repeat(2,1fr)}.months-grid{grid-template-columns:repeat(3,1fr)}.upload-shell{grid-template-columns:1fr}}@media(max-width:860px){.app-shell{grid-template-columns:72px 1fr}.sidebar{padding:18px 9px}.brand>div:not(.brand-mark),.nav-link span,.user-chip>div:not(.avatar){display:none}.nav-link{justify-content:center;padding:10px}.topbar{padding:18px 18px 12px}.content{padding:0 18px 28px}.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}.months-grid{grid-template-columns:repeat(2,1fr)}.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-panel{min-height:100vh}}@media(max-width:620px){.grid-2,.grid-3,.grid-4,.form-grid,.metric-strip,.branch-grid,.months-grid{grid-template-columns:1fr}.top-context{display:none}.content{padding:0 12px 24px}.topbar{padding:15px 14px 10px;height:80px}.topbar h1{font-size:20px}.card{padding:14px}.section-head{align-items:flex-start;flex-direction:column}.searchbox,.searchbox .input{width:100%;min-width:0}.upload-shell{grid-template-columns:1fr}.dropzone{min-height:240px;padding:22px}.hero-panel{padding:17px}}
.sheet-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;margin-bottom:8px;scrollbar-width:thin}.sheet-tab{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding:9px 13px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--muted);font-weight:750;font-size:12px;box-shadow:0 5px 18px rgba(24,54,88,.04);transition:.2s ease}.sheet-tab:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--brand) 35%,var(--line));color:var(--brand)}.sheet-tab.active{background:linear-gradient(135deg,var(--brand),#24699c);color:#fff;border-color:transparent;box-shadow:0 9px 24px rgba(20,61,104,.2)}.preview-meta{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.preview-meta strong{color:var(--text);font-size:13px}.pdf-preview-card{padding:8px;height:72vh;min-height:520px;overflow:hidden}.pdf-preview-card iframe{width:100%;height:100%;border:0;border-radius:14px;background:#f4f6f8}

/* ===== REFIDER DATA HUB 1.2 — refined interface ===== */
:root{
  --luxe-blue:#123f6f;--luxe-blue-2:#1d6294;--luxe-mint:#2aa77d;--luxe-ink:#122033;
  --glass:rgba(255,255,255,.76);--glass-border:rgba(143,163,185,.25);--soft-shadow:0 16px 45px rgba(20,52,83,.09);
}
body{background:radial-gradient(circle at 82% 1%,rgba(42,167,125,.08),transparent 22%),radial-gradient(circle at 36% -8%,rgba(54,123,245,.07),transparent 24%),#f5f8fc}
body.dark{--glass:rgba(24,36,53,.82);--glass-border:rgba(109,133,160,.20)}
.sidebar{background:linear-gradient(180deg,#0b2d4d 0%,#103c66 48%,#0c3459 100%);padding:18px 13px;box-shadow:14px 0 42px rgba(10,40,68,.10)}
.brand{padding:4px 8px 19px}.brand-mark{border-radius:14px;background:linear-gradient(145deg,#f8fcff,#dcecf8);box-shadow:0 12px 28px rgba(0,0,0,.16)}
.nav-link{border-radius:13px;padding:10px 11px;font-size:12.5px}.nav-link.active{background:linear-gradient(90deg,rgba(255,255,255,.14),rgba(255,255,255,.075));box-shadow:inset 0 0 0 1px rgba(255,255,255,.035)}
.topbar{height:86px;padding:18px 28px 12px}.topbar h1{font-size:23px}.content{padding:0 28px 36px;max-width:1510px}.card{border-color:rgba(164,181,201,.30);box-shadow:0 10px 28px rgba(24,52,80,.055)}
.btn{border-radius:11px}.btn.luxe{background:linear-gradient(135deg,#123f6f,#1c6498);box-shadow:0 12px 26px rgba(18,63,111,.18)}.btn.glass{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.19);color:#fff;backdrop-filter:blur(14px);box-shadow:none}.btn.glass.strong{background:rgba(255,255,255,.18)}
.eyebrow.light{color:#cde2f1}.text-link{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800;color:var(--primary)}
.section-pill{padding:6px 9px;border-radius:999px;background:var(--surface-3);color:var(--muted);font-size:9px;font-weight:800;white-space:nowrap}.premium-head{align-items:center;margin-top:25px}.premium-head h2{font-size:17px;margin-top:4px}.premium-head.compact{margin-top:24px}.premium-head p{max-width:780px;line-height:1.55}

/* Dashboard */
.dash-stage{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(285px,.65fr);gap:13px;align-items:stretch}
.dash-spotlight{min-height:222px;border-radius:24px;padding:24px 25px;background:linear-gradient(125deg,#103b69 0%,#1c6091 61%,#268b71 100%);color:#fff;position:relative;overflow:hidden;box-shadow:0 22px 54px rgba(20,65,105,.17);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px}
.spotlight-orb{position:absolute;border-radius:50%;pointer-events:none}.spotlight-orb.one{width:290px;height:290px;border:1px solid rgba(255,255,255,.10);right:-100px;top:-145px;box-shadow:0 0 0 54px rgba(255,255,255,.022),0 0 0 108px rgba(255,255,255,.014)}.spotlight-orb.two{width:105px;height:105px;background:rgba(255,255,255,.035);left:44%;bottom:-74px;filter:blur(1px)}
.spotlight-copy{position:relative;z-index:2;align-self:center}.spotlight-period{display:flex;gap:10px;align-items:baseline;margin:10px 0 5px}.spotlight-period span{font-size:30px;font-weight:850;letter-spacing:-.055em}.spotlight-period strong{font-size:18px;font-weight:700;color:#d9ebf7}.spotlight-copy p{margin:0;color:#d5e7f2;font-size:11.5px}.spotlight-actions{display:flex;gap:8px;margin-top:17px}
.spotlight-metrics{position:relative;z-index:2;align-self:center;display:grid;min-width:205px;background:rgba(6,33,57,.17);border:1px solid rgba(255,255,255,.13);border-radius:18px;overflow:hidden;backdrop-filter:blur(13px)}.spotlight-metrics div{padding:11px 14px;border-bottom:1px solid rgba(255,255,255,.09)}.spotlight-metrics div:last-child{border-bottom:0}.spotlight-metrics span,.spotlight-metrics strong{display:block}.spotlight-metrics span{font-size:8.5px;text-transform:uppercase;letter-spacing:.12em;color:#bfd7e7}.spotlight-metrics strong{font-size:13px;margin-top:3px}
.dash-command{border:1px solid rgba(151,171,193,.28);background:var(--glass);backdrop-filter:blur(18px);border-radius:24px;padding:19px;box-shadow:var(--soft-shadow);display:flex;flex-direction:column}.command-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.command-head h3{margin:4px 0 0;font-size:16px;letter-spacing:-.025em}.command-badge{font-size:9px;font-weight:850;background:#eaf6f1;color:#267b61;padding:6px 8px;border-radius:999px}.command-stats{display:grid;gap:7px;margin:16px 0}.command-stats a{display:flex;align-items:center;gap:10px;padding:9px 10px;background:var(--surface-2);border:1px solid var(--line);border-radius:13px;transition:.2s}.command-stats a:hover{transform:translateX(3px);border-color:rgba(31,95,149,.25)}.command-stats a>span{width:30px;height:30px;border-radius:9px;background:#eaf2fb;color:#1f5f95;display:grid;place-items:center}.command-stats strong,.command-stats small{display:block}.command-stats strong{font-size:13px}.command-stats small{font-size:9px;color:var(--muted);margin-top:1px}.command-link{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:800;color:var(--primary);padding-top:9px}

/* Branch book cards */
.branch-book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.branch-book-grid.large{gap:13px}
.branch-book-card{position:relative;background:linear-gradient(155deg,var(--surface) 0%,var(--surface) 72%,color-mix(in srgb,var(--accent) 4%,var(--surface)) 100%);border:1px solid rgba(150,170,193,.30);border-radius:20px;padding:15px;box-shadow:0 10px 30px rgba(24,52,80,.055);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.branch-book-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--accent),transparent 78%)}.branch-book-card:hover{transform:translateY(-4px);box-shadow:0 21px 45px color-mix(in srgb,var(--accent) 11%,rgba(22,47,75,.10));border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}
.book-card-head{display:flex;align-items:center;gap:10px}.branch-monogram{width:39px;height:39px;border-radius:12px;background:color-mix(in srgb,var(--accent) 10%,var(--surface-3));color:var(--accent);display:grid;place-items:center;font-size:13px;font-weight:900;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent)}.book-title{min-width:0;flex:1}.book-title span{display:block;font-size:7.5px;font-weight:900;letter-spacing:.14em;color:var(--muted)}.book-title h3{font-size:12.5px;margin:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ready-dot{font-size:8.5px;font-weight:800;color:var(--muted);display:inline-flex;align-items:center;gap:5px}.ready-dot i{width:6px;height:6px;border-radius:50%;background:#36b788;box-shadow:0 0 0 4px rgba(54,183,136,.10)}
.book-mini-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:13px 0 10px}.book-mini-metrics div{padding:7px 8px;border-radius:11px;background:var(--surface-2);border:1px solid rgba(160,180,200,.18);min-width:0}.book-mini-metrics span,.book-mini-metrics strong{display:block}.book-mini-metrics span{font-size:7.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.book-mini-metrics strong{font-size:10px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.book-tabs-preview{display:flex;gap:4px;margin:2px 0 9px;overflow:hidden}.book-tabs-preview span{font-size:7px;font-weight:850;padding:4px 6px;border-radius:6px;background:color-mix(in srgb,var(--accent) 7%,var(--surface-2));color:color-mix(in srgb,var(--accent) 78%,var(--text));white-space:nowrap}
.book-file{display:flex;align-items:center;gap:9px;padding:9px 9px;border-radius:13px;background:linear-gradient(145deg,#f4faf7,#f7fafc);border:1px solid rgba(69,150,116,.18)}.dark .book-file{background:var(--surface-2)}.book-file.missing{font-size:9px;color:var(--muted);border-style:dashed;background:var(--surface-2)}.book-file-icon{width:31px;height:31px;border-radius:9px;background:#e4f5ed;color:#24795c;display:grid;place-items:center;flex:0 0 31px}.book-file-info{min-width:0;flex:1}.book-file-info strong,.book-file-info span{display:block}.book-file-info strong{font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.book-file-info span{font-size:8px;color:var(--muted);margin-top:2px}.book-file-actions{display:flex;gap:4px}.book-file-actions a{width:28px;height:28px;border-radius:8px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;color:var(--primary);transition:.18s}.book-file-actions a:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 35%,var(--line));box-shadow:0 6px 14px rgba(20,60,98,.08)}.book-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px;font-size:8.5px;color:var(--muted)}.book-card-foot a{display:inline-flex;align-items:center;gap:4px;color:var(--primary);font-weight:800}

/* Recent months */
.recent-month-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.recent-month{background:var(--surface);border:1px solid rgba(155,175,197,.28);border-radius:15px;padding:11px;transition:.2s;box-shadow:0 7px 20px rgba(24,52,80,.035)}.recent-month:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(24,52,80,.08)}.recent-month-top{display:flex;align-items:center;justify-content:space-between}.recent-month-top span{font-size:9px;font-weight:900;color:var(--primary);background:#edf4fb;padding:4px 6px;border-radius:7px}.recent-month-top small{font-size:8px;color:var(--muted)}.recent-month>strong{display:block;font-size:11px;margin:9px 0 5px}.recent-month-meta{font-size:7.8px;color:var(--muted);display:flex;align-items:center;gap:5px;white-space:nowrap}.recent-month-meta i{width:5px;height:5px;border-radius:50%;background:#c4cfdb}.recent-month-meta i.on{background:#2eb183;box-shadow:0 0 0 3px rgba(46,177,131,.09)}
.empty-luxe{border:1px dashed #cbd7e4;border-radius:20px;background:rgba(255,255,255,.52);padding:34px;text-align:center;color:var(--muted)}.empty-luxe>div{width:48px;height:48px;border-radius:15px;background:#edf4fb;color:var(--primary);display:grid;place-items:center;margin:0 auto 11px}.empty-luxe h3{color:var(--text);margin:0;font-size:15px}.empty-luxe p{font-size:10px;margin:6px auto 13px;max-width:520px}

/* Years + months */
.periods-toolbar{display:flex;justify-content:space-between;gap:22px;align-items:center;padding:3px 0 8px}.periods-toolbar h2{font-size:22px;letter-spacing:-.04em;margin:4px 0}.periods-toolbar p{margin:0;color:var(--muted);font-size:11px;max-width:720px;line-height:1.6}.years-stack{display:grid;gap:16px;margin-top:13px}.year-shell{background:var(--surface);border:1px solid rgba(154,174,196,.28);border-radius:22px;padding:15px 16px 17px;box-shadow:0 12px 34px rgba(24,52,80,.05)}.year-shell-head{display:grid;grid-template-columns:auto minmax(0,1fr) 210px;align-items:center;gap:12px;padding:1px 2px 13px;border-bottom:1px solid var(--line)}.year-number{font-size:25px;font-weight:900;letter-spacing:-.055em;color:var(--primary)}.year-copy span,.year-copy strong{display:block}.year-copy span{font-size:7.5px;letter-spacing:.14em;font-weight:900;color:var(--muted)}.year-copy strong{font-size:10px;margin-top:3px}.year-progress span{font-size:8px;color:var(--muted);display:block;text-align:right;margin-bottom:4px}.year-progress div{height:5px;border-radius:99px;background:var(--surface-3);overflow:hidden}.year-progress i{display:block;height:100%;background:linear-gradient(90deg,#2c85c1,#2eac7e);border-radius:99px}.months-luxe-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.month-luxe-card{display:grid;grid-template-columns:31px minmax(0,1fr) auto 20px;align-items:center;gap:8px;padding:9px 10px;border-radius:13px;background:var(--surface-2);border:1px solid transparent;transition:.2s}.month-luxe-card:hover{transform:translateY(-2px);background:var(--surface);border-color:#c9d6e3;box-shadow:0 8px 20px rgba(24,52,80,.055)}.month-luxe-card.has-data{background:linear-gradient(145deg,#f8fbff,#f5fbf8);border-color:rgba(47,146,110,.16)}.dark .month-luxe-card.has-data{background:var(--surface-2)}.month-luxe-no{width:29px;height:29px;border-radius:9px;background:#e9f1f8;color:var(--primary);display:grid;place-items:center;font-size:8px;font-weight:900}.month-luxe-card.has-data .month-luxe-no{background:#e5f5ef;color:#237a5c}.month-luxe-main strong,.month-luxe-main span{display:block}.month-luxe-main strong{font-size:10.5px}.month-luxe-main span{font-size:7.5px;color:var(--muted);margin-top:2px}.month-luxe-counts{display:flex;gap:3px}.month-luxe-counts span{display:inline-flex;align-items:center;gap:3px;padding:4px 5px;border-radius:7px;background:var(--surface);font-size:7.5px;color:var(--muted);border:1px solid var(--line)}.month-luxe-counts span.active{color:#25775c;background:#e9f6f1;border-color:#d7eee5}.month-arrow{color:#97a6b6}.luxe-modal{border-radius:22px}.year-input{font-size:21px;font-weight:850;letter-spacing:.02em;text-align:center}.twelve-preview{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.twelve-preview span{padding:6px 4px;text-align:center;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);font-size:8px;font-weight:800;color:var(--muted);text-transform:uppercase}

/* Batch */
.batch-topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;background:var(--surface);border:1px solid rgba(154,174,196,.28);border-radius:20px;padding:14px 16px;box-shadow:0 11px 30px rgba(24,52,80,.05)}.batch-date{display:flex;align-items:center;gap:8px;padding-right:14px;border-right:1px solid var(--line)}.batch-date>span{font-size:25px;font-weight:900;color:var(--primary);letter-spacing:-.04em}.batch-date div{font-size:10px;font-weight:800}.batch-date small{display:block;color:var(--muted);font-size:8px;margin-top:1px}.batch-title h2{font-size:16px;margin:3px 0}.batch-title p{font-size:9px;color:var(--muted);margin:0}.batch-actions{display:flex;gap:7px;align-items:center}.batch-actions form{margin:0}.consolidated-file-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px 13px;border-radius:16px;background:linear-gradient(145deg,#f8fcfa,#f8fbfe);border:1px solid rgba(53,144,111,.17);box-shadow:0 8px 24px rgba(24,52,80,.045)}.dark .consolidated-file-card{background:var(--surface)}.consolidated-icon{width:40px;height:40px;border-radius:12px;background:#e5f5ed;color:#24795c;display:grid;place-items:center}.consolidated-info span,.consolidated-info strong,.consolidated-info small{display:block}.consolidated-info span{font-size:7.5px;font-weight:900;letter-spacing:.13em;color:#2b7f62}.consolidated-info strong{font-size:11.5px;margin:3px 0}.consolidated-info small{font-size:8px;color:var(--muted)}.consolidated-actions{display:flex;gap:5px}.source-vault{margin-top:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden}.source-vault summary{cursor:pointer;list-style:none;padding:11px 13px;display:flex;justify-content:space-between;align-items:center}.source-vault summary::-webkit-details-marker{display:none}.source-vault summary>div{display:flex;gap:9px;align-items:center}.source-vault summary span strong,.source-vault summary span small{display:block}.source-vault summary strong{font-size:10px}.source-vault summary small{font-size:8px;color:var(--muted);margin-top:2px}.source-vault-body{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:10px}.source-vault-body>div{padding:8px 9px;border-radius:10px;background:var(--surface-2)}.source-vault-body span,.source-vault-body small{display:block}.source-vault-body span{font-size:9px;font-weight:700}.source-vault-body small{font-size:7.5px;color:var(--muted);margin-top:2px}

/* Existing components tuned */
.dropzone{border-radius:20px;background:linear-gradient(145deg,#fbfdff,#f5faf8);border-color:#cbd9e7}.dropzone:hover{border-color:#72a8ce;box-shadow:inset 0 0 0 1px rgba(54,123,245,.06)}.table-wrap{border-radius:15px}.table thead th{font-size:8px;letter-spacing:.08em}.table td{font-size:9.5px}.input,.select{border-radius:11px}.modal{border-radius:20px}

@media(max-width:1220px){.dash-stage{grid-template-columns:1fr}.dash-command{display:grid;grid-template-columns:minmax(0,1fr) 2fr auto;gap:15px;align-items:center}.command-stats{grid-template-columns:repeat(3,1fr);margin:0}.command-link{margin:0}.branch-book-grid{grid-template-columns:repeat(2,1fr)}.recent-month-row{grid-template-columns:repeat(3,1fr)}.months-luxe-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){.dash-spotlight{grid-template-columns:1fr}.spotlight-metrics{grid-template-columns:repeat(3,1fr);min-width:0}.spotlight-metrics div{border-bottom:0;border-right:1px solid rgba(255,255,255,.09)}.spotlight-metrics div:last-child{border-right:0}.dash-command{display:block}.command-stats{grid-template-columns:repeat(3,1fr);margin:14px 0}.branch-book-grid{grid-template-columns:1fr}.months-luxe-grid{grid-template-columns:repeat(2,1fr)}.year-shell-head{grid-template-columns:auto 1fr}.year-progress{grid-column:1/-1}.batch-topbar{grid-template-columns:auto 1fr}.batch-actions{grid-column:1/-1}.consolidated-file-card{grid-template-columns:auto 1fr}.consolidated-actions{grid-column:1/-1;justify-content:flex-end}.recent-month-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.dash-spotlight{padding:18px}.spotlight-period span{font-size:25px}.spotlight-metrics{grid-template-columns:1fr}.spotlight-metrics div{border-right:0;border-bottom:1px solid rgba(255,255,255,.09)}.command-stats{grid-template-columns:1fr}.book-mini-metrics{grid-template-columns:1fr}.months-luxe-grid{grid-template-columns:1fr}.month-luxe-card{grid-template-columns:31px 1fr auto}.month-luxe-counts{display:none}.recent-month-row{grid-template-columns:1fr}.source-vault-body{grid-template-columns:1fr}.batch-topbar{grid-template-columns:1fr}.batch-date{border-right:0;border-bottom:1px solid var(--line);padding:0 0 9px}.batch-actions{justify-content:flex-start;flex-wrap:wrap}.consolidated-file-card{grid-template-columns:1fr}.consolidated-actions{justify-content:flex-start;flex-wrap:wrap}}

/* v1.2 · Period detail */
.month-focus{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 18px;border:1px solid rgba(139,164,191,.22);border-radius:21px;background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(248,252,255,.92));box-shadow:0 15px 38px rgba(25,52,81,.065);position:relative;overflow:hidden}.dark .month-focus{background:linear-gradient(135deg,var(--surface),var(--surface-2))}.month-focus:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:8%;top:-125px;background:radial-gradient(circle,rgba(59,161,126,.13),rgba(59,161,126,0) 68%);pointer-events:none}.month-focus-date{display:flex;align-items:center;gap:10px;padding-right:16px;border-right:1px solid var(--line)}.month-focus-date>span{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:18px;font-weight:950;letter-spacing:-.04em;color:#fff;background:linear-gradient(145deg,#174e80,#2d789c);box-shadow:0 10px 24px rgba(27,90,133,.19)}.month-focus-date strong,.month-focus-date small{display:block}.month-focus-date strong{font-size:12px}.month-focus-date small{font-size:9px;color:var(--muted);margin-top:2px}.month-focus-info{min-width:0}.month-focus-info h2{margin:3px 0 3px;font-size:20px;letter-spacing:-.035em}.month-focus-info p{margin:0;color:var(--muted);font-size:9.5px}.month-focus-actions{display:flex;align-items:center;gap:7px;position:relative;z-index:2}.compact-card{min-height:0}.compact-card .book-card-head{padding-bottom:8px}.compact-card .book-file{margin-top:8px}.process-chip-row{display:flex;gap:7px;flex-wrap:wrap}.process-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:9px;font-weight:750;color:var(--muted);transition:.18s}.process-chip:hover{color:var(--primary);border-color:rgba(31,95,149,.27);transform:translateY(-1px)}.history-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.history-mini-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 11px;border:1px solid var(--line);border-radius:13px;background:var(--surface);transition:.2s;min-width:0}.history-mini-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:rgba(31,95,149,.24)}.history-mini-card .file-type{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:#e7f6ef;color:#287b5e}.history-mini-card .file-type.pdf{background:#fdebea;color:#ab4141}.history-mini-card strong,.history-mini-card span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-mini-card strong{font-size:9.5px}.history-mini-card span{font-size:7.8px;color:var(--muted);margin-top:2px}.soft-empty{border:1px dashed #cbd7e3;border-radius:15px;padding:18px;text-align:center;color:var(--muted);font-size:10px;background:rgba(255,255,255,.38)}.dark .soft-empty{background:rgba(255,255,255,.015)}

@media(max-width:980px){.history-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.month-focus{grid-template-columns:auto 1fr}.month-focus-actions{grid-column:1/-1}.month-focus-date{align-self:stretch}}
@media(max-width:620px){.month-focus{grid-template-columns:1fr}.month-focus-date{border-right:0;border-bottom:1px solid var(--line);padding:0 0 11px}.month-focus-actions{flex-wrap:wrap}.history-card-grid{grid-template-columns:1fr}}
.upgrade-note{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(218,150,55,.26);border-radius:14px;background:linear-gradient(145deg,#fffaf0,#fffdf8);color:#80551d;box-shadow:0 7px 20px rgba(146,93,25,.045)}.dark .upgrade-note{background:rgba(201,126,34,.08);color:#e9bc7d}.upgrade-note>svg{color:#bf7b23}.upgrade-note strong,.upgrade-note span{display:block}.upgrade-note strong{font-size:9.5px}.upgrade-note span{font-size:8.3px;margin-top:2px;opacity:.82}@media(max-width:620px){.upgrade-note{grid-template-columns:auto 1fr}.upgrade-note .btn{grid-column:1/-1}}

/* ========================================================================== */
/* REFIDER DATA HUB 1.3 - identidad visual institucional                     */
/* ========================================================================== */
:root{
  --brand-primary:#000074;--brand-accent:#68BF00;--brand-highlight:#F3D900;
  --sidebar-brand:#00005E;--app-bg:#F5F8FC;
  --bg:var(--app-bg);--surface:#FFFFFF;--surface-2:#F8FAFD;--surface-3:#EEF3F8;
  --text:#17213A;--muted:#6A7890;--line:#DDE5EF;--primary:var(--brand-primary);
  --primary-2:#1616A0;--green:var(--brand-accent);--teal:#18A78D;--orange:#E3A02D;
  --red:#D34B5B;--violet:#7657C8;--cyan:#2B84A8;
  --shadow:0 14px 38px rgba(0,0,72,.075);--shadow-hover:0 24px 60px rgba(0,0,72,.14);--r:20px;
}
html{background:var(--app-bg)!important;color-scheme:light!important}
body,body.dark{--bg:var(--app-bg)!important;--surface:#fff!important;--surface-2:#f8fafd!important;--surface-3:#eef3f8!important;--text:#17213a!important;--muted:#6a7890!important;--line:#dde5ef!important;background:
  radial-gradient(circle at 94% 2%,color-mix(in srgb,var(--brand-accent) 12%,transparent) 0 11%,transparent 28%),
  radial-gradient(circle at 66% -8%,color-mix(in srgb,var(--brand-highlight) 10%,transparent) 0 9%,transparent 22%),
  linear-gradient(135deg,#fbfdff 0%,var(--app-bg) 42%,#f4f8fd 100%)!important;color:var(--text)!important}
::selection{background:color-mix(in srgb,var(--brand-accent) 25%,white);color:var(--brand-primary)}
*{scrollbar-width:thin;scrollbar-color:#b6c3d3 transparent}

/* layout */
.app-shell{grid-template-columns:250px minmax(0,1fr)!important;background:transparent}
.sidebar{width:auto!important;background:
  radial-gradient(circle at 25% 3%,rgba(104,191,0,.24),transparent 20%),
  radial-gradient(circle at 110% 16%,rgba(243,217,0,.10),transparent 28%),
  linear-gradient(180deg,var(--sidebar-brand) 0%,#060665 48%,#00004d 100%)!important;padding:19px 14px!important;box-shadow:20px 0 50px rgba(0,0,72,.10)!important;border-right:1px solid rgba(255,255,255,.08)}
.brand-logo{margin:0 3px 18px;padding:10px 10px!important;border-radius:18px;background:rgba(255,255,255,.98);box-shadow:0 12px 30px rgba(0,0,0,.18);gap:11px!important;overflow:hidden}
.brand-logo img{width:52px;height:52px;object-fit:contain;flex:none}
.brand-logo strong{color:var(--brand-primary)!important;font-size:15px!important;letter-spacing:.12em!important}
.brand-logo span{color:#65728b!important;font-weight:700!important;font-size:10px!important}
.nav-caption{font-size:9px;letter-spacing:.19em;font-weight:900;color:rgba(255,255,255,.43);padding:0 13px 8px}
.sidebar nav{gap:5px!important}
.nav-link{min-height:43px;padding:10px 12px!important;border-radius:13px!important;color:#d5dcf8!important;font-size:12.5px!important;font-weight:720!important;border:1px solid transparent;transform:none!important;overflow:hidden}
.nav-link svg{opacity:.9;flex:none}.nav-link:hover{color:#fff!important;background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.09);transform:translateX(2px)!important}
.nav-link.active{color:#fff!important;background:linear-gradient(100deg,rgba(104,191,0,.25),rgba(255,255,255,.10))!important;border-color:rgba(104,191,0,.25);box-shadow:inset 3px 0 0 var(--brand-accent),0 8px 25px rgba(0,0,0,.12)}
.nav-link.active:before{display:none!important}.nav-link.active i{position:absolute;right:10px;width:7px;height:7px;border-radius:99px;background:var(--brand-highlight);box-shadow:0 0 12px rgba(243,217,0,.65)}
.sidebar-foot{border-top-color:rgba(255,255,255,.12)!important}.avatar{background:linear-gradient(145deg,var(--brand-accent),#c9ff6f)!important;color:#071f49!important;box-shadow:0 5px 15px rgba(104,191,0,.24)}
.user-chip strong{color:#fff}.user-chip span{color:#b8c3ef!important}.logout-link{margin-top:4px}
.main{background:transparent!important}.topbar{height:90px!important;padding:19px 32px 14px!important;position:relative;z-index:20}.top-title h1{font-size:25px!important;color:#121d39;letter-spacing:-.04em!important}.top-title .eyebrow{color:var(--brand-primary)!important}
.top-actions{gap:9px!important}.top-quick,.system-dot,.top-context{height:38px;border-radius:12px!important}
.top-quick{position:relative;overflow:hidden;display:flex;align-items:center;gap:7px;padding:0 13px;background:var(--brand-primary);color:#fff!important;font-size:11px;font-weight:800;box-shadow:0 8px 20px rgba(0,0,116,.15);transition:.2s}.top-quick:hover{transform:translateY(-2px);background:#15159a}
.system-dot{display:flex;align-items:center;gap:7px;padding:0 11px;background:#fff;border:1px solid var(--line);color:#546179;font-size:10px;font-weight:750;box-shadow:0 6px 18px rgba(13,34,69,.04)}.system-dot i{width:8px;height:8px;border-radius:99px;background:var(--brand-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-accent) 15%,transparent)}
.top-context,.dark .top-context{background:rgba(255,255,255,.94)!important;border-color:var(--line)!important;color:#728099!important;box-shadow:0 6px 20px rgba(13,34,69,.035)}.top-context strong{color:var(--brand-primary)!important}
.content{padding:0 32px 38px!important;max-width:1580px!important}.footer{color:#8995a7!important;font-size:10px;padding:18px 32px 28px!important}

/* components */
.card{border:1px solid rgba(210,221,234,.9)!important;border-radius:20px!important;background:rgba(255,255,255,.97)!important;box-shadow:0 13px 35px rgba(18,40,74,.055)!important}.card.hover:hover{border-color:color-mix(in srgb,var(--brand-accent) 26%,var(--line))!important;box-shadow:var(--shadow-hover)!important}
.eyebrow{color:#738199!important;font-size:9px!important;font-weight:900!important;letter-spacing:.18em!important}.eyebrow.light{color:rgba(255,255,255,.74)!important}
.section-head{margin:28px 0 12px!important;align-items:flex-end!important}.section-head h2{font-size:19px!important;letter-spacing:-.025em;color:#17213a}.section-head p{color:var(--muted)!important;line-height:1.55;margin-top:4px!important}.premium-head{position:relative}.premium-head:before{content:"";width:29px;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--brand-accent),var(--brand-highlight));position:absolute;left:0;top:-9px}
.section-pill,.command-badge{background:#fff!important;border:1px solid var(--line)!important;color:var(--brand-primary)!important;box-shadow:0 7px 18px rgba(0,0,72,.045);font-weight:800!important}
.muted{color:var(--muted)!important}.small{font-size:11px!important}
.badge{border-radius:999px!important;padding:5px 8px!important;font-weight:800!important;background:#f0f3f8!important;color:#55637a!important}.badge.blue{background:#eeeeff!important;color:var(--brand-primary)!important}.badge.ok{background:#eef9e5!important;color:#477f00!important}.badge.red{background:#fff0f2!important;color:#bb3546!important}.badge.warn{background:#fff8d9!important;color:#8b7500!important}

/* all actionable controls: explicit colors prevent transparent labels */
.btn,.btn:link,.btn:visited,button.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 15px;border-radius:12px!important;border:1px solid var(--brand-primary)!important;background:linear-gradient(135deg,var(--brand-primary),#17179a)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:none!important;font-size:11px!important;font-weight:850!important;line-height:1.1;box-shadow:0 8px 20px rgba(0,0,116,.15)!important;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease,border-color .18s ease!important;opacity:1!important}
.btn svg{color:currentColor!important;opacity:1!important}.btn:hover,.btn:focus-visible{color:#fff!important;-webkit-text-fill-color:#fff!important;transform:translateY(-2px)!important;box-shadow:0 13px 28px rgba(0,0,116,.21)!important;filter:saturate(1.07)}
.btn.secondary,.btn.ghost,.btn.secondary:visited,.btn.ghost:visited{background:#fff!important;border-color:#d8e1ed!important;color:var(--brand-primary)!important;-webkit-text-fill-color:var(--brand-primary)!important;box-shadow:0 7px 17px rgba(18,40,74,.05)!important}
.btn.secondary:hover,.btn.ghost:hover{background:#f5f7ff!important;border-color:color-mix(in srgb,var(--brand-primary) 30%,#d8e1ed)!important;color:var(--brand-primary)!important;-webkit-text-fill-color:var(--brand-primary)!important}
.btn.green{background:linear-gradient(135deg,#559f00,var(--brand-accent))!important;border-color:#559f00!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:0 8px 21px rgba(104,191,0,.20)!important}.btn.luxe{background:linear-gradient(115deg,var(--brand-accent),#4d9a00)!important;border-color:#579f04!important;color:#fff!important;-webkit-text-fill-color:#fff!important}.btn.glass{background:rgba(255,255,255,.13)!important;border-color:rgba(255,255,255,.30)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:none!important;backdrop-filter:blur(10px)}.btn.glass.strong{background:#fff!important;color:var(--brand-primary)!important;-webkit-text-fill-color:var(--brand-primary)!important;border-color:#fff!important}.btn.sm{min-height:34px!important;padding:7px 11px!important;font-size:10px!important}.btn:disabled{opacity:.72!important;cursor:wait!important;color:#fff!important;-webkit-text-fill-color:#fff!important}.btn.secondary:disabled,.btn.ghost:disabled{color:var(--brand-primary)!important;-webkit-text-fill-color:var(--brand-primary)!important}
.ripple{position:absolute;width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.45);transform:translate(-50%,-50%);pointer-events:none;animation:ripple .65s ease-out forwards}.btn.secondary .ripple,.top-quick .ripple{background:rgba(104,191,0,.20)}@keyframes ripple{to{width:260px;height:260px;opacity:0}}
.btn-spinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}
.icon-btn{color:var(--brand-primary)!important;background:#fff!important;border-color:var(--line)!important}.icon-btn:hover{background:#f3f6fb!important;color:var(--brand-primary)!important}
.text-link{color:var(--brand-primary)!important;font-weight:800}.text-link:hover{color:#4e9500!important}

/* forms */
.input,.select,.textarea{min-height:43px!important;border:1px solid #d7e0ec!important;background:#f9fbfe!important;color:#1b2740!important;-webkit-text-fill-color:#1b2740!important;border-radius:12px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;transition:.18s!important}.input:hover,.select:hover,.textarea:hover{border-color:#bcc9d9!important}.input:focus,.select:focus,.textarea:focus{outline:none!important;border-color:var(--brand-accent)!important;background:#fff!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-accent) 12%,transparent)!important}.input[readonly]{background:#eef2f7!important;color:#68748a!important;-webkit-text-fill-color:#68748a!important}.field label{color:#68778f!important;font-size:9px!important;font-weight:900!important;letter-spacing:.075em!important}.field small{color:#8591a4}.color-field{padding:4px!important;cursor:pointer}.checkchip{background:#f8fafd!important;border:1px solid #dce4ef!important;color:#56647b!important;border-radius:11px!important;font-weight:750!important}.checkchip:has(input:checked){background:#f2faea!important;border-color:color-mix(in srgb,var(--brand-accent) 35%,#dce4ef)!important;color:#456f0e!important}.checkchip input{accent-color:var(--brand-accent)}
.searchbox{background:#fff!important;border:1px solid var(--line)!important;border-radius:12px!important;padding-left:10px!important;color:#7b879a}.searchbox .input{border:0!important;background:transparent!important;box-shadow:none!important;min-height:36px!important}

/* dashboard */
.dash-stage{display:grid!important;grid-template-columns:minmax(0,1.7fr) minmax(290px,.65fr)!important;gap:14px!important;align-items:stretch}
.dash-spotlight{min-height:228px!important;border-radius:25px!important;padding:27px 29px!important;position:relative;overflow:hidden;background:
  radial-gradient(circle at 93% -20%,rgba(243,217,0,.24),transparent 31%),
  radial-gradient(circle at 72% 125%,rgba(104,191,0,.42),transparent 36%),
  linear-gradient(120deg,#00005d 0%,var(--brand-primary) 48%,#161697 100%)!important;box-shadow:0 22px 55px rgba(0,0,91,.18)!important;border:1px solid rgba(255,255,255,.08);color:#fff}
.dash-spotlight:after{content:"";position:absolute;width:280px;height:280px;border:1px solid rgba(255,255,255,.11);border-radius:50%;right:-110px;top:-140px;box-shadow:0 0 0 35px rgba(255,255,255,.025),0 0 0 70px rgba(255,255,255,.02)}
.spotlight-copy{position:relative;z-index:2;max-width:620px}.spotlight-period{display:flex!important;align-items:baseline;gap:10px!important;margin:12px 0 5px}.spotlight-period span{font-size:36px!important;font-weight:900!important;letter-spacing:-.055em}.spotlight-period strong{font-size:17px;color:var(--brand-highlight)!important}.spotlight-copy p{color:rgba(255,255,255,.74)!important;margin:0 0 18px!important;font-size:12px}.spotlight-actions{display:flex;gap:8px;flex-wrap:wrap}.spotlight-metrics{position:absolute!important;right:26px!important;bottom:23px!important;z-index:3;display:flex!important;gap:7px!important}.spotlight-metrics>div{min-width:128px!important;background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.14)!important;backdrop-filter:blur(9px);border-radius:14px!important;padding:10px 12px!important}.spotlight-metrics span{color:rgba(255,255,255,.62)!important;font-size:9px!important;text-transform:uppercase;font-weight:800;letter-spacing:.08em}.spotlight-metrics strong{color:#fff!important;font-size:13px!important;display:block;margin-top:3px}
.spotlight-orb{display:none!important}
.dash-command{border:1px solid #dce4ef!important;background:linear-gradient(145deg,#fff,#f7f9fc)!important;border-radius:25px!important;padding:22px!important;box-shadow:0 17px 42px rgba(18,40,74,.07)!important;position:relative;overflow:hidden}.dash-command:before{content:"";position:absolute;width:120px;height:120px;background:radial-gradient(circle,color-mix(in srgb,var(--brand-accent) 16%,transparent),transparent 68%);right:-25px;top:-30px}.command-head{position:relative}.command-head h3{font-size:17px!important;color:#17213a}.command-stats{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;margin:16px 0 12px}.command-stats a{background:#fff!important;border:1px solid #e1e7f0!important;border-radius:13px!important;padding:9px 10px!important;display:flex!important;align-items:center;gap:10px;transition:.18s}.command-stats a:hover{transform:translateX(3px);border-color:color-mix(in srgb,var(--brand-accent) 25%,#e1e7f0)!important;box-shadow:0 8px 18px rgba(0,0,72,.05)}.command-stats a>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#f1f4ff;color:var(--brand-primary)}.command-stats strong{font-size:14px;color:#17213a}.command-stats small{color:#78859a}.command-link{position:relative;overflow:hidden;color:var(--brand-primary)!important;font-weight:850!important;font-size:10px!important;display:flex;align-items:center;justify-content:space-between;padding:8px 2px}
.executive-strip{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin:13px 0 6px!important}.executive-kpi{--mx:50%;--my:50%;position:relative;overflow:hidden;min-height:76px!important;background:#fff!important;border:1px solid #dfe6ef!important;border-radius:17px!important;padding:12px!important;display:flex!important;align-items:center;gap:10px;box-shadow:0 10px 25px rgba(18,40,74,.045);transition:.22s}.executive-kpi:after,.branch-book-card:after,.branch-admin-card:after,.month-luxe-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.85),transparent 38%);opacity:0;transition:.2s}.executive-kpi:hover:after,.branch-book-card:hover:after,.branch-admin-card:hover:after,.month-luxe-card:hover:after{opacity:.42}.executive-kpi:hover{transform:translateY(-4px);box-shadow:0 17px 35px rgba(0,0,72,.095);border-color:#cdd9e7}.executive-kpi>i{margin-left:auto;color:#9aa5b6}.executive-kpi small{display:block;color:#8490a3;font-size:9px;text-transform:uppercase;letter-spacing:.04em;font-weight:800}.executive-kpi strong{font-size:12px;color:#1c2840;display:block;margin-top:3px}.kpi-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:none}.kpi-icon.navy{background:#eeeeff;color:var(--brand-primary)}.kpi-icon.green{background:#eff9e6;color:#589c05}.kpi-icon.yellow{background:#fff9cf;color:#9a8600}.kpi-icon.blue{background:#eaf6ff;color:#247ba8}
.upgrade-note{border-radius:15px!important;border:1px solid #f0df8a!important;background:linear-gradient(90deg,#fffced,#fff)!important;color:#655b22!important;box-shadow:0 8px 20px rgba(97,83,12,.05)}

/* branch cards */
.branch-book-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}.branch-book-grid.large{gap:14px!important}
.branch-book-card{--mx:50%;--my:50%;position:relative;isolation:isolate;overflow:hidden;border:1px solid #dce5ef!important;border-radius:20px!important;background:linear-gradient(145deg,#fff 0%,#fbfdff 75%,color-mix(in srgb,var(--accent) 7%,#fff) 100%)!important;padding:17px!important;box-shadow:0 13px 32px rgba(18,40,74,.055)!important;transition:.24s ease!important}.branch-book-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent);border-radius:20px 0 0 20px;box-shadow:0 0 24px color-mix(in srgb,var(--accent) 25%,transparent)}.branch-book-card:hover{transform:translateY(-5px)!important;border-color:color-mix(in srgb,var(--accent) 38%,#dce5ef)!important;box-shadow:0 22px 48px rgba(0,0,72,.11)!important}.branch-book-card>*{position:relative;z-index:2}
.book-card-head{display:flex;align-items:center;gap:10px!important}.branch-monogram{width:43px!important;height:43px!important;border-radius:13px!important;background:color-mix(in srgb,var(--accent) 12%,#f3f6fb)!important;color:#17213a!important;border:1px solid color-mix(in srgb,var(--accent) 22%,#e4e9f0)!important;font-size:14px!important;font-weight:900!important}.book-title{min-width:0;flex:1}.book-title span{font-size:8px!important;color:#8a96a7!important;letter-spacing:.12em;font-weight:900}.book-title h3{font-size:14px!important;color:#17213a!important;margin-top:2px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ready-dot{background:#f1fae9!important;color:#4b8409!important;border:1px solid #d9efc4!important;border-radius:999px!important;padding:5px 8px!important;font-size:8px!important;font-weight:900!important}.ready-dot i{background:var(--brand-accent)!important}
.book-mini-metrics{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:7px!important;margin:14px 0 11px!important}.book-mini-metrics>div{padding:8px 9px!important;border-radius:11px!important;background:#f7f9fc!important;border:1px solid #e7ecf2!important;min-width:0}.book-mini-metrics span{font-size:8px!important;color:#8792a4!important;text-transform:uppercase;font-weight:800}.book-mini-metrics strong{font-size:10.5px!important;color:#26324a!important;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.book-tabs-preview{display:flex!important;gap:4px!important;flex-wrap:wrap;margin-bottom:10px}.book-tabs-preview span{padding:4px 6px!important;border-radius:7px!important;background:#f1f4f8!important;color:#758198!important;font-size:7.5px!important;font-weight:850!important;border:1px solid #e4e9ef!important}
.book-file{border:1px solid #dce4ef!important;background:#fff!important;border-radius:13px!important;padding:9px!important;display:flex!important;align-items:center;gap:9px!important;min-width:0;box-shadow:0 5px 15px rgba(20,43,75,.035)}.book-file-icon{width:35px!important;height:35px!important;border-radius:10px!important;background:#eef8e8!important;color:#4f9202!important;display:grid;place-items:center;flex:none}.book-file-info{min-width:0;flex:1}.book-file-info strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px!important;color:#213049}.book-file-info span{font-size:8.5px!important;color:#8994a5!important}.book-file-actions{display:flex;gap:5px;flex:none}.book-file-actions a,.book-file-actions a:visited{width:31px;height:31px;border-radius:9px!important;display:grid;place-items:center!important;background:#f5f7fb!important;border:1px solid #dfe6ee!important;color:var(--brand-primary)!important;-webkit-text-fill-color:var(--brand-primary)!important;opacity:1!important;transition:.18s}.book-file-actions a:hover{background:var(--brand-primary)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;transform:translateY(-2px)}.book-file.missing{color:#967c00!important;background:#fff9dd!important;border-color:#f0e2a2!important;font-size:10px}
.book-card-foot{display:flex!important;justify-content:space-between;align-items:center;margin-top:10px!important;padding-top:9px!important;border-top:1px dashed #dfe5ed;color:#78859a!important;font-size:9px!important}.book-card-foot a,.book-card-foot a:visited{display:flex;align-items:center;gap:4px;color:var(--brand-primary)!important;-webkit-text-fill-color:var(--brand-primary)!important;font-weight:850;opacity:1!important}.book-card-foot a:hover{color:#579e00!important}

/* consolidated and batch */
.batch-topbar{border:1px solid #dce5ef!important;background:linear-gradient(135deg,#fff,#f8fafe)!important;border-radius:20px!important;box-shadow:0 13px 34px rgba(18,40,74,.06)!important;padding:16px 18px!important}.batch-date{background:linear-gradient(145deg,var(--brand-primary),#17179b)!important;color:#fff!important;border-radius:14px!important;box-shadow:0 9px 21px rgba(0,0,116,.16)}.batch-date small{color:var(--brand-highlight)!important}.batch-title h2{color:#17213a!important;font-size:19px!important}.batch-title p{color:var(--muted)!important}.batch-actions{gap:7px!important}
.consolidated-file-card{border:1px solid #dbe4ef!important;background:linear-gradient(135deg,#fff 0%,#f9fbff 72%,#f1f9e9 100%)!important;border-radius:18px!important;box-shadow:0 12px 32px rgba(18,40,74,.055)!important;position:relative;overflow:hidden}.consolidated-file-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(var(--brand-accent),var(--brand-highlight))}.consolidated-icon{background:#eef8e8!important;color:#559b03!important;border-radius:13px!important}.consolidated-info span{color:#8793a6!important}.consolidated-info strong{color:#17213a!important}.consolidated-info small{color:#78859a!important}
.source-vault{border:1px solid #dce4ef!important;background:#fff!important;border-radius:17px!important;box-shadow:0 9px 25px rgba(18,40,74,.045)!important}.source-vault summary{color:#26334a!important}.source-vault summary small{color:#8792a4!important}.source-vault-body{background:#f8fafd!important;border-top-color:#e4e9f0!important}.source-vault-body div{border-bottom-color:#e3e8ef!important}.source-vault-body small{color:#8792a4!important}

/* years and months */
.periods-toolbar,.year-shell,.month-focus{border:1px solid #dce4ef!important;background:#fff!important;border-radius:20px!important;box-shadow:0 12px 31px rgba(18,40,74,.05)!important}.year-shell{overflow:hidden}.year-shell-head{background:linear-gradient(90deg,#f9fbfe,#fff)!important;border-bottom:1px solid #e5eaf1!important;padding:16px 18px!important}.year-number{color:var(--brand-primary)!important}.year-progress{background:#eef1f6!important}.year-progress i{background:linear-gradient(90deg,var(--brand-accent),#91d638)!important}.months-luxe-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:8px!important;padding:14px!important}.month-luxe-card{--mx:50%;--my:50%;position:relative;overflow:hidden;background:#f9fbfd!important;border:1px solid #e1e7ef!important;border-radius:14px!important;min-height:96px!important;padding:10px!important;transition:.2s!important}.month-luxe-card:hover{background:#fff!important;border-color:color-mix(in srgb,var(--brand-accent) 30%,#e1e7ef)!important;transform:translateY(-3px);box-shadow:0 12px 25px rgba(0,0,72,.07)}.month-luxe-card.active{background:linear-gradient(145deg,#fff,#f4fbea)!important;border-color:#d2e9bc!important}.month-luxe-no{color:#96a1b1!important}.month-luxe-main strong{color:#1d2940!important}.month-luxe-main span{color:#8994a5!important}.month-luxe-counts span{background:#eef2f7!important;color:#66748a!important}.month-luxe-counts .active{background:#eef9e5!important;color:#4e850d!important}.month-arrow{color:var(--brand-primary)!important}
.month-focus{background:linear-gradient(135deg,#fff,#f8faff)!important}.month-focus-date{background:linear-gradient(145deg,var(--brand-primary),#18189d)!important;color:#fff!important}.month-focus-date small{color:var(--brand-highlight)!important}.month-focus-info h2{color:#17213a!important}.month-focus-info p{color:var(--muted)!important}.history-mini-card,.recent-month{border-color:#e0e6ef!important;background:#fff!important}.recent-month:hover,.history-mini-card:hover{border-color:#cbd8e6!important;box-shadow:0 10px 24px rgba(0,0,72,.055)}

/* branches administration */
.branch-admin-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}.branch-admin-card{--mx:50%;--my:50%;position:relative;overflow:hidden;background:linear-gradient(145deg,#fff,#fafcff)!important;border:1px solid #dce4ee!important;border-radius:19px!important;padding:16px!important;box-shadow:0 11px 28px rgba(18,40,74,.05)!important;transition:.22s}.branch-admin-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(0,0,72,.09)}.branch-admin-accent{position:absolute!important;left:0!important;top:0!important;right:0!important;height:4px!important;background:var(--branch-color)!important}.branch-admin-head{display:flex;align-items:center;gap:10px!important}.branch-code{width:43px!important;height:43px!important;border-radius:13px!important;background:color-mix(in srgb,var(--branch-color) 12%,#f2f5f9)!important;color:#202a42!important;border:1px solid color-mix(in srgb,var(--branch-color) 25%,#e1e7ef)!important;display:grid;place-items:center;font-weight:900}.branch-admin-head small{color:#8b96a7!important;font-size:8px!important}.branch-admin-head h3{color:#17213a!important;font-size:14px!important}.status-pill{border-radius:999px!important;font-size:8px!important;font-weight:900!important}.status-pill.active{background:#edf9e4!important;color:#4e840e!important}.status-pill.off{background:#f0f2f5!important;color:#7b8798!important}.branch-aliases{border-top:1px dashed #dfe5ed!important;border-bottom:1px dashed #dfe5ed!important}.branch-aliases span{color:#8b96a7!important}.branch-aliases p{color:#59677d!important}.branch-admin-actions{gap:6px!important}

/* preview */
.sheet-tabs{gap:7px!important;margin-bottom:11px!important;overflow:auto;padding-bottom:3px}.sheet-tab,.sheet-tab:visited{display:flex!important;align-items:center;gap:6px!important;min-height:36px;padding:8px 12px!important;border-radius:11px!important;background:#fff!important;border:1px solid #dfe6ef!important;color:#69778e!important;-webkit-text-fill-color:#69778e!important;font-size:10px!important;font-weight:850!important;opacity:1!important;white-space:nowrap;box-shadow:0 5px 14px rgba(18,40,74,.035)}.sheet-tab:hover{border-color:#c7d2e1!important;color:var(--brand-primary)!important;-webkit-text-fill-color:var(--brand-primary)!important}.sheet-tab.active{background:linear-gradient(135deg,var(--brand-primary),#16169c)!important;border-color:var(--brand-primary)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:0 8px 19px rgba(0,0,116,.15)!important}.preview-meta{background:#fbfcfe!important;border-bottom:1px solid #e2e7ef!important;color:#7c899b!important}.preview-meta strong{color:#17213a!important}.preview-table{max-height:62vh!important;background:#fff}.preview-table .table thead th{position:sticky;top:0;z-index:4}.pdf-preview-card{padding:8px!important;background:#eef2f7!important}.pdf-preview-card iframe{min-height:72vh!important;border-radius:13px!important;background:#fff!important}
.preview-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border-top:1px solid #e3e8ef;background:#fbfcfe}.preview-pagination span{font-size:10px;color:#7c899b}.preview-pagination .toolbar{margin:0}

/* tables */
.table-wrap{border:1px solid #e0e6ee!important;border-radius:15px!important;background:#fff!important}.table{color:#27334a!important}.table thead th{background:#f3f6fa!important;color:#68768d!important;border-bottom:1px solid #dce4ed!important;font-size:8.5px!important;letter-spacing:.065em!important;text-transform:uppercase!important;font-weight:900!important;padding:11px 12px!important}.table tbody td{border-bottom:1px solid #edf0f4!important;padding:10px 12px!important;background:#fff!important;color:#344057!important;font-size:10px!important}.table tbody tr:nth-child(even) td{background:#fbfcfe!important}.table tbody tr:hover td{background:#f5faef!important}.table th.sortable:after{content:"↕";margin-left:5px;color:#a7b0be;font-size:9px}.table th.sort-asc:after{content:"↑";color:var(--brand-accent)}.table th.sort-desc:after{content:"↓";color:var(--brand-accent)}

/* modal */
.modal-backdrop{background:rgba(10,17,43,.48)!important;backdrop-filter:blur(7px)!important}.modal{background:#fff!important;color:#17213a!important;border:1px solid rgba(255,255,255,.5)!important;border-radius:21px!important;box-shadow:0 35px 90px rgba(0,0,40,.24)!important}.luxe-modal{max-width:760px!important}.modal-head{border-bottom:1px solid #e6eaf0!important;padding-bottom:13px}.modal h2{color:#17213a!important}.modal .icon-btn{color:var(--brand-primary)!important}

/* upload */
.upload-shell{gap:14px!important}.dropzone{border:1.5px dashed #bfcadc!important;background:linear-gradient(145deg,#fff,#f8fafc)!important;border-radius:20px!important;color:#637087!important;transition:.2s!important}.dropzone:hover,.dropzone.drag,.dropzone.has-files{border-color:var(--brand-accent)!important;background:#f7fced!important;box-shadow:0 0 0 5px color-mix(in srgb,var(--brand-accent) 8%,transparent)!important}.drop-icon{background:linear-gradient(145deg,#eeeeff,#f4f4ff)!important;color:var(--brand-primary)!important}.file-pill{background:#fff!important;border:1px solid #e0e6ee!important;border-radius:11px!important;color:#334056!important}.file-pill-name{display:flex;align-items:center;gap:8px;min-width:0}.file-pill-name strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.process-chip-row span{background:#f6f8fb!important;border-color:#e0e6ee!important;color:#68768b!important}

/* settings and export preview */
.ui-config-grid{gap:18px!important}.logo-config{background:linear-gradient(145deg,#f8fafd,#fff)!important;border:1px solid #dfe6ef!important;border-radius:17px!important;padding:14px!important}.logo-preview{width:130px!important;height:90px!important;border:1px solid #e2e7ee!important;background:#fff!important;border-radius:13px!important}.logo-preview img{width:100%;height:100%;object-fit:contain;padding:7px}.logo-config strong{color:#17213a}.logo-config span{color:#8792a4!important}.export-preview{--preview-primary:var(--brand-primary);--preview-accent:var(--brand-accent);--preview-highlight:var(--brand-highlight);border-radius:20px!important;border:1px solid #dbe3ed!important;overflow:hidden!important;background:#fff!important;box-shadow:0 13px 34px rgba(18,40,74,.055)!important}.export-preview-head{background:linear-gradient(115deg,var(--preview-primary),color-mix(in srgb,var(--preview-primary) 80%,#3636b2))!important;border-bottom:4px solid var(--preview-accent)!important;color:#fff!important}.export-preview-head:after{content:"";position:absolute;right:0;bottom:0;width:80px;height:5px;background:var(--preview-highlight)}.export-preview-head strong,.export-preview-head span{color:#fff!important}.export-preview-body{background:#fff!important}.preview-tab{background:#f0f3f7!important;color:#67758c!important}.preview-tab.active{background:var(--preview-primary)!important;color:#fff!important}.preview-line{background:#e9edf3!important}
.tech-row{border-top-color:#e4e9f0!important}.tech-chip{background:#f7f9fc!important;border-color:#dfe5ed!important;color:#68758b!important}.tech-chip:hover{border-color:#c8d4e2!important;color:var(--brand-primary)!important}

/* login + installer */
.login-page{min-height:100vh!important;display:grid!important;grid-template-columns:minmax(430px,1.05fr) minmax(420px,.95fr)!important;background:
  radial-gradient(circle at 83% 8%,rgba(104,191,0,.12),transparent 25%),
  radial-gradient(circle at 64% 86%,rgba(243,217,0,.10),transparent 22%),
  #f6f9fd!important}
.login-visual{position:relative;overflow:hidden;padding:40px 48px!important;background:
  radial-gradient(circle at 12% 12%,rgba(104,191,0,.35),transparent 23%),
  radial-gradient(circle at 82% 90%,rgba(243,217,0,.20),transparent 29%),
  linear-gradient(140deg,#00004f 0%,var(--brand-primary) 57%,#151594 100%)!important;color:#fff!important}.login-visual:after{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(255,255,255,.10);border-radius:50%;right:-210px;top:-120px;box-shadow:0 0 0 50px rgba(255,255,255,.025),0 0 0 100px rgba(255,255,255,.018)}
.login-logo{position:relative;z-index:2;display:flex!important;align-items:center;gap:12px;background:#fff!important;width:max-content;max-width:230px;padding:9px 13px!important;border-radius:17px!important;box-shadow:0 12px 30px rgba(0,0,0,.17)}.login-logo img{width:62px;height:58px;object-fit:contain}.login-logo strong{color:var(--brand-primary)!important;font-size:15px}.login-logo span{color:#66748a!important;font-size:10px!important;display:block}.login-copy{position:relative;z-index:2;max-width:670px!important;margin:auto 0!important}.login-copy h1{font-size:39px!important;line-height:1.04!important;letter-spacing:-.045em!important;color:#fff!important;max-width:600px;margin:12px 0!important}.login-copy>p{color:rgba(255,255,255,.74)!important;font-size:13px!important;line-height:1.65!important;max-width:575px}.login-metrics{grid-template-columns:repeat(3,1fr)!important;gap:8px!important;margin-top:24px!important}.login-metric{background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:14px!important;backdrop-filter:blur(10px)!important;padding:12px!important}.login-metric strong{color:#fff!important;font-size:13px!important}.login-metric span{color:rgba(255,255,255,.62)!important;font-size:9px!important}.login-panel{background:transparent!important;padding:42px!important;display:grid!important;place-items:center!important}.login-card{width:min(440px,100%)!important;background:#fff!important;border:1px solid #dfe5ee!important;border-radius:24px!important;padding:30px!important;box-shadow:0 25px 70px rgba(18,40,74,.11)!important;position:relative;overflow:hidden}.login-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--brand-primary) 0 35%,var(--brand-accent) 35% 78%,var(--brand-highlight) 78%)}.login-card h2{font-size:27px!important;color:#17213a!important;margin:6px 0!important}.login-card>p{color:#77859a!important}.login-card .btn{width:100%;margin-top:2px;min-height:44px!important}
.install-box{max-width:850px!important;margin:45px auto!important;padding:28px!important}.install-brand{display:flex;align-items:center;gap:12px;margin-bottom:20px}.install-brand img{width:76px;height:62px;object-fit:contain}.install-brand strong{display:block;color:var(--brand-primary);letter-spacing:.12em}.install-brand span{font-size:10px;color:#77859a}

/* Empty states */
.empty,.empty-luxe,.soft-empty{color:#8692a4!important;background:#fbfcfe!important}.empty-luxe{border:1px dashed #cfd8e4!important;border-radius:18px!important}.toast-inline.success{background:#eff9e7!important;border-color:#d8edc6!important;color:#487d0c!important}.toast-inline.error{background:#fff1f3!important;border-color:#f2d3d8!important;color:#a83846!important}

/* responsive */
@media(max-width:1240px){.branch-book-grid,.branch-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.months-luxe-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.executive-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}.spotlight-metrics{position:relative!important;right:auto!important;bottom:auto!important;margin-top:18px!important}.dash-spotlight{min-height:270px!important}}
@media(max-width:980px){.app-shell{grid-template-columns:78px minmax(0,1fr)!important}.sidebar{padding:16px 10px!important}.brand-logo{padding:7px!important;justify-content:center}.brand-logo img{width:45px;height:45px}.brand-logo>div,.nav-caption,.nav-link span,.sidebar-foot .user-chip>div:not(.avatar){display:none!important}.nav-link{justify-content:center!important;padding:10px!important}.nav-link.active i{right:5px}.user-chip{justify-content:center}.content,.topbar{padding-left:20px!important;padding-right:20px!important}.dash-stage{grid-template-columns:1fr!important}.login-page{grid-template-columns:1fr!important}.login-visual{min-height:410px;padding:30px!important}.login-panel{padding:28px!important}}
@media(max-width:720px){.app-shell{display:block!important}.sidebar{position:relative!important;width:100%!important;height:auto!important;display:block!important;padding:10px!important}.brand-logo{width:max-content;margin-bottom:8px}.brand-logo>div{display:block!important}.nav-caption,.sidebar-foot{display:none!important}.sidebar nav{display:flex!important;overflow:auto!important;padding-bottom:4px}.nav-link{min-width:max-content!important;justify-content:flex-start!important}.nav-link span{display:inline!important}.topbar{height:auto!important;padding-top:16px!important}.top-actions .system-dot,.top-context span,.top-quick span{display:none}.content{padding:0 14px 28px!important}.dash-spotlight{padding:21px!important}.spotlight-period span{font-size:30px!important}.spotlight-metrics{display:grid!important;grid-template-columns:1fr 1fr!important}.spotlight-metrics>div{min-width:0!important}.branch-book-grid,.branch-admin-grid,.executive-strip,.grid-2,.grid-3,.grid-4{grid-template-columns:1fr!important}.months-luxe-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.book-mini-metrics{grid-template-columns:1fr 1fr!important}.login-visual{display:none!important}.login-page{display:block!important}.login-panel{min-height:100vh;padding:16px!important}.login-card{padding:24px!important}.section-head{align-items:flex-start!important;flex-direction:column!important}.batch-topbar{display:block!important}.batch-actions{margin-top:12px!important;flex-wrap:wrap}.consolidated-file-card{display:block!important}.consolidated-actions{margin-top:12px!important;flex-wrap:wrap}.form-grid{grid-template-columns:1fr!important}}

/* =========================================================
   REFIDER Data Hub v1.5 — exportaciones, correo y acciones
   ========================================================= */
.btn-preview,.btn-excel,.btn-pdf,.btn-mail{
  border:0!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
  box-shadow:0 9px 20px rgba(15,23,42,.12)!important;font-weight:850!important;
  position:relative;overflow:hidden;isolation:isolate
}
.btn-preview:link,.btn-preview:visited,.btn-preview:hover,.btn-preview:focus,
.btn-excel:link,.btn-excel:visited,.btn-excel:hover,.btn-excel:focus,
.btn-pdf:link,.btn-pdf:visited,.btn-pdf:hover,.btn-pdf:focus,
.btn-mail:link,.btn-mail:visited,.btn-mail:hover,.btn-mail:focus{
  color:#fff!important;-webkit-text-fill-color:#fff!important
}
.btn-preview{background:linear-gradient(135deg,#000074 0%,#1616a7 100%)!important}
.btn-excel{background:linear-gradient(135deg,#58aa00 0%,#75d100 100%)!important}
.btn-pdf{background:linear-gradient(135deg,#c72b40 0%,#e4495d 100%)!important}
.btn-mail{background:linear-gradient(135deg,#e6bd00 0%,#f3d900 100%)!important;color:#10185c!important;-webkit-text-fill-color:#10185c!important;box-shadow:0 9px 22px rgba(201,169,0,.20)!important}
.btn-mail:link,.btn-mail:visited,.btn-mail:hover,.btn-mail:focus{color:#10185c!important;-webkit-text-fill-color:#10185c!important}
.btn-preview:before,.btn-excel:before,.btn-pdf:before,.btn-mail:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.23),transparent 75%);transform:translateX(-120%);transition:transform .48s ease;z-index:-1}
.btn-preview:hover:before,.btn-excel:hover:before,.btn-pdf:hover:before,.btn-mail:hover:before{transform:translateX(120%)}
.btn-preview:hover,.btn-excel:hover,.btn-pdf:hover,.btn-mail:hover{transform:translateY(-2px)!important;filter:saturate(1.08) brightness(1.02)!important}
.btn-preview:disabled,.btn-excel:disabled,.btn-pdf:disabled,.btn-mail:disabled{opacity:.55!important;color:#fff!important;-webkit-text-fill-color:#fff!important;cursor:not-allowed;transform:none!important}
.btn-mail:disabled{color:#10185c!important;-webkit-text-fill-color:#10185c!important}

.export-action-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:11px}
.export-action-grid.dashboard-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
.export-action-grid.compact-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
.export-action-grid .btn{justify-content:center!important;min-width:0!important;width:100%!important;padding-left:9px!important;padding-right:9px!important}
.branch-delivery{margin-top:10px;padding:10px 11px;border:1px solid #e3e8f0;border-radius:13px;background:linear-gradient(135deg,#fff,#fafcff);display:flex;align-items:center;justify-content:space-between;gap:10px}
.delivery-email{min-width:0;display:flex;align-items:center;gap:8px;color:var(--brand-primary)}
.delivery-email>span{min-width:0;display:block}.delivery-email small{display:block;font-size:8px;letter-spacing:.14em;font-weight:900;color:#8995a8}.delivery-email strong{display:block;margin-top:2px;font-size:10px;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#26324a}
.delivery-dpf{font-size:9px;font-weight:850;color:#606d82;background:#f1f4f8;border-radius:999px;padding:5px 8px;white-space:nowrap}
.branch-send-form{margin-top:7px}.branch-send-form .btn{width:100%;justify-content:center!important}
.branch-email-mini{display:flex;align-items:center;gap:5px;margin-top:7px;font-size:9px;font-weight:750;color:#728096;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.branch-email-mini svg{color:var(--brand-accent);flex:0 0 auto}

.branch-admin-card{position:relative;overflow:hidden}.branch-admin-card:after{content:"";position:absolute;right:-26px;top:-35px;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle, color-mix(in srgb,var(--branch-color,#68BF00) 19%, transparent), transparent 67%);pointer-events:none}
.branch-mail-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:11px 0 3px;padding:9px 10px;border-radius:12px;background:#f7f9fc;border:1px solid #e6ebf2}
.branch-mail-row>div{min-width:0;display:flex;align-items:center;gap:7px}.branch-mail-row svg{color:var(--branch-color,#68BF00);flex:0 0 auto}.branch-mail-row strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.mail-state{font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:4px 7px;background:#eaf7df;color:#4c8710}.mail-state.off{background:#f2f4f7;color:#7c8798}

/* Dashboard: más profundidad visual sin tarjetas gigantes */
.dash-stage{position:relative}.dash-spotlight{box-shadow:0 24px 65px rgba(0,0,116,.18)!important}.dash-spotlight:after{content:"";position:absolute;left:0;bottom:0;height:4px;width:100%;background:linear-gradient(90deg,var(--brand-highlight) 0 20%,var(--brand-accent) 20% 58%,rgba(255,255,255,.2) 58%)}
.branch-book-card{background:linear-gradient(155deg,#fff 0%,#fff 72%,color-mix(in srgb,var(--accent,#68BF00) 6%,#fff) 100%)!important;border-color:color-mix(in srgb,var(--accent,#68BF00) 22%,#dfe5ed)!important;box-shadow:0 13px 34px rgba(31,42,72,.075)!important}
.branch-book-card:hover{box-shadow:0 22px 48px color-mix(in srgb,var(--accent,#68BF00) 12%,rgba(20,31,58,.12))!important;transform:translateY(-4px)!important}
.branch-monogram{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent,#68BF00) 35%,transparent),0 8px 19px color-mix(in srgb,var(--accent,#68BF00) 15%,transparent)!important}
.book-file{background:linear-gradient(135deg,#f7fafc,#fff)!important;border-color:#e2e8f1!important}.book-file-icon{background:linear-gradient(145deg,#e8f7dc,#f5ffed)!important;color:#559e04!important}
.ready-dot{box-shadow:0 5px 14px rgba(104,191,0,.10)}

/* Configuración: paneles claros con identidad REFIDER */
.export-preview{background:linear-gradient(145deg,#fff,#f8fbff)!important;border:1px solid #e1e7ef!important;box-shadow:0 13px 34px rgba(28,45,80,.06)!important}.export-preview-head{background:linear-gradient(110deg,var(--brand-primary),#1a1a9c)!important;border-bottom:4px solid var(--brand-accent)!important}.export-preview-head strong,.export-preview-head span{color:#fff!important}.preview-tab.active{background:var(--brand-accent)!important;color:#fff!important;border-color:var(--brand-accent)!important}

@media(max-width:900px){.export-action-grid,.export-action-grid.dashboard-actions,.export-action-grid.compact-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.export-action-grid,.export-action-grid.dashboard-actions,.export-action-grid.compact-actions{grid-template-columns:1fr}.branch-delivery{align-items:flex-start;flex-direction:column}.delivery-email strong{max-width:260px}}

/* =========================================================
   REFIDER Data Hub v1.5 — consolidado mensual visible
   ========================================================= */
.refider-master-card{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);grid-template-areas:"brand file" "actions actions";gap:14px 18px;margin:18px 0 8px;padding:20px;border-radius:24px;background:linear-gradient(125deg,#000074 0%,#090989 46%,#113b78 100%);box-shadow:0 24px 58px rgba(0,0,116,.2);color:#fff;border:1px solid rgba(255,255,255,.12)}
.refider-master-card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,var(--brand-highlight) 0 18%,var(--brand-accent) 18% 58%,#fff 58% 61%,transparent 61%)}
.master-glow{position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}.master-glow.one{width:260px;height:260px;right:-95px;top:-130px;background:rgba(104,191,0,.25)}.master-glow.two{width:190px;height:190px;right:95px;bottom:-135px;background:rgba(243,217,0,.15)}
.master-brand{grid-area:brand;display:flex;gap:14px;align-items:center;position:relative;z-index:1}.master-mark{width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,var(--brand-accent),#8adf25);color:#000074;display:grid;place-items:center;font-size:28px;font-weight:950;box-shadow:0 14px 30px rgba(104,191,0,.25);flex:0 0 auto}.master-mark.small{width:45px;height:45px;border-radius:14px;font-size:21px}
.master-brand span,.period-master-head>div:nth-child(2)>span{display:block;font-size:8px;letter-spacing:.17em;font-weight:900;color:#dbe4ff}.master-brand h2{font-size:20px;letter-spacing:-.035em;margin:4px 0 5px;color:#fff}.master-brand p{margin:0;color:#c9d6f1;font-size:10px;line-height:1.5}
.master-file{grid-area:file;position:relative;z-index:1;display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08);backdrop-filter:blur(9px);border-radius:17px;padding:12px}.master-file-icon{width:43px;height:43px;border-radius:13px;background:#eaf9dd;color:#529d00;display:grid;place-items:center;flex:0 0 auto}.master-file small,.master-file strong,.master-file span{display:block}.master-file small{font-size:7px;font-weight:900;letter-spacing:.12em;color:#d6e4ff}.master-file strong{font-size:11px;margin:3px 0;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px}.master-file span{font-size:8px;color:#c8d4eb}
.master-actions{grid-area:actions;position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.master-actions .btn{justify-content:center!important;min-height:38px}.master-open{background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.2)!important;color:#fff!important;-webkit-text-fill-color:#fff!important}.master-open:hover{background:rgba(255,255,255,.18)!important;transform:translateY(-2px)}

.period-master-card{margin:16px 0 18px;padding:16px;border-radius:21px;background:linear-gradient(145deg,#fff 0%,#f8fcff 62%,#f3fbe9 100%);border:1px solid #dce5ee;box-shadow:0 14px 38px rgba(24,52,80,.075);position:relative;overflow:hidden}.period-master-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--brand-highlight),var(--brand-accent),var(--brand-primary))}.period-master-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}.period-master-head>div:nth-child(2)>span{color:#5e6d82}.period-master-head h2{margin:3px 0 3px;font-size:17px;color:#14233d}.period-master-head p{margin:0;font-size:9px;color:#758196}.period-master-file{display:flex;gap:10px;align-items:center;margin-top:13px;padding:10px 11px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.period-master-file strong,.period-master-file span{display:block}.period-master-file strong{font-size:10.5px;color:#192743}.period-master-file span{font-size:8px;color:#7d899c;margin-top:2px}.period-master-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.period-master-actions .btn{min-height:34px}

/* El libro general siempre debe verse antes de los libros por sucursal */
.section-head.premium-head+.refider-master-card{margin-top:8px}

@media(max-width:980px){.refider-master-card{grid-template-columns:1fr;grid-template-areas:"brand" "file" "actions"}.master-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.master-brand{align-items:flex-start}.master-brand h2{font-size:17px}.master-actions{grid-template-columns:1fr}.period-master-head{grid-template-columns:auto 1fr}.period-master-head .ready-dot{grid-column:1/-1;width:max-content}.period-master-actions{display:grid;grid-template-columns:1fr}.period-master-actions .btn{width:100%;justify-content:center!important}}

/* =========================================================
   REFIDER Data Hub v1.6 — resumen ejecutivo visual
   ========================================================= */
.insight-grid{display:grid;grid-template-columns:minmax(0,1.45fr) repeat(2,minmax(260px,.775fr));gap:12px;margin:16px 0 22px}
.insight-card{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff 0%,#fbfdff 72%,#f7faee 100%);border:1px solid #dde5ee;border-radius:21px;padding:16px;box-shadow:0 14px 38px rgba(20,42,72,.075);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.insight-card:hover{transform:translateY(-3px);box-shadow:0 22px 48px rgba(14,35,67,.12);border-color:rgba(104,191,0,.32)}
.insight-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--brand-primary,#000074) 0 38%,var(--brand-accent,#68BF00) 38% 76%,var(--brand-highlight,#f3d900) 76%)}
.insight-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.insight-head.compact{align-items:center}.insight-head h3{font-size:15px;margin:3px 0 2px;letter-spacing:-.025em;color:#12213b}.insight-head p{margin:0;font-size:9px;color:#78869a}.insight-total{font-size:15px;font-weight:900;color:var(--brand-primary,#000074);white-space:nowrap}.trend-chip{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;background:#eff9e5;color:#4e8c0e;font-size:8px;font-weight:900;letter-spacing:.04em}.trend-chip.risk{background:#edf3fb;color:#315f8b}.trend-chip.risk.warn{background:#fff0df;color:#a25d0c}
.branch-bars{display:grid;gap:9px}.branch-bar-row{display:grid;grid-template-columns:minmax(135px,190px) minmax(90px,1fr);align-items:center;gap:11px}.branch-bar-label{display:flex;align-items:center;gap:8px;min-width:0}.branch-bar-code{width:27px;height:27px;border-radius:9px;background:#eef3f8;color:#000074;display:grid;place-items:center;font-size:9px;font-weight:950;flex:0 0 auto}.branch-bar-label div{min-width:0}.branch-bar-label strong,.branch-bar-label small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.branch-bar-label strong{font-size:9px;color:#25324a}.branch-bar-label small{font-size:8px;color:#8490a2;margin-top:1px}.branch-bar-track{height:8px;background:#edf1f6;border-radius:999px;overflow:hidden}.branch-bar-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--bar-color,#68BF00),color-mix(in srgb,var(--bar-color,#68BF00) 58%,#000074));box-shadow:0 0 0 1px color-mix(in srgb,var(--bar-color,#68BF00) 16%,transparent);animation:barGrow .7s ease both;transform-origin:left}
@keyframes barGrow{from{transform:scaleX(.06);opacity:.2}to{transform:scaleX(1);opacity:1}}
.donut-wrap{display:grid;place-items:center;padding:2px 0 8px}.finance-donut{width:146px;height:146px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--brand-primary,#000074) 0 var(--d1),var(--brand-accent,#68BF00) var(--d1) var(--d2),var(--brand-highlight,#f3d900) var(--d2) 100%);box-shadow:0 12px 28px rgba(0,0,116,.12);position:relative}.finance-donut:after{content:"";position:absolute;inset:23px;background:#fff;border-radius:50%;box-shadow:inset 0 0 0 1px #edf1f5}.finance-donut>div{position:relative;z-index:1;text-align:center;max-width:100px}.finance-donut strong,.finance-donut span{display:block}.finance-donut strong{font-size:11px;color:#101d37}.finance-donut span{font-size:8px;color:#8290a3;margin-top:2px}.donut-legend{display:grid;gap:6px;margin-top:3px}.donut-legend span{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:6px;font-size:8.5px;color:#66758a}.donut-legend i{width:7px;height:7px;border-radius:50%}.donut-legend .lg-a{background:#000074}.donut-legend .lg-b{background:#68BF00}.donut-legend .lg-c{background:#f3d900}.donut-legend b{color:#26344d}
.type-bars{display:grid;gap:8px}.type-bars>div{display:grid;grid-template-columns:72px 1fr 38px;gap:7px;align-items:center}.type-bars span{font-size:8px;color:#6e7d91;font-weight:750}.type-bars>div>div{height:7px;border-radius:999px;background:#edf1f6;overflow:hidden}.type-bars i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#000074,#366ea1 64%,#68BF00);animation:barGrow .75s ease both}.type-bars strong{font-size:8px;text-align:right;color:#25334a}.risk-line{margin-top:13px;padding-top:10px;border-top:1px dashed #dfe6ee;display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#778397}.risk-line strong{color:#c14d4d;font-size:10px}
@media(max-width:1180px){.insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.insight-wide{grid-column:1/-1}}
@media(max-width:720px){.insight-grid{grid-template-columns:1fr}.insight-wide{grid-column:auto}.branch-bar-row{grid-template-columns:120px 1fr}.finance-donut{width:132px;height:132px}}

/* =========================================================
   REFIDER Data Hub v1.7 — tablero ejecutivo y acabado visual
   ========================================================= */
body{background:
  radial-gradient(circle at 82% -8%,rgba(104,191,0,.13),transparent 29%),
  radial-gradient(circle at 64% 7%,rgba(243,217,0,.09),transparent 22%),
  radial-gradient(circle at 12% 8%,rgba(0,0,116,.07),transparent 25%),
  linear-gradient(180deg,#f8fbff 0%,#f3f7fb 58%,#f7faf2 100%)}
.content{max-width:1600px}.topbar{background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,0));backdrop-filter:blur(6px)}
.executive-kpi{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff 0%,#fbfdff 65%,#f7faef 100%)}
.executive-kpi:after{content:"";position:absolute;width:82px;height:82px;border-radius:50%;right:-40px;bottom:-43px;background:linear-gradient(145deg,rgba(104,191,0,.10),rgba(243,217,0,.06));transition:.25s ease}.executive-kpi:hover:after{transform:scale(1.35)}
.branch-book-card{background:linear-gradient(145deg,#fff 0%,#fbfdff 68%,color-mix(in srgb,var(--accent,#68BF00) 7%,#fff) 100%)}
.branch-book-card:hover{box-shadow:0 24px 54px color-mix(in srgb,var(--accent,#68BF00) 16%,rgba(0,0,116,.12));transform:translateY(-4px)}

.board-grid-v17{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.8fr) minmax(270px,.7fr);gap:12px;margin:-8px 0 24px}
.board-card{position:relative;overflow:hidden;border:1px solid #dce5ee;border-radius:22px;background:linear-gradient(145deg,#fff 0%,#fbfdff 70%,#f6faef 100%);box-shadow:0 14px 38px rgba(20,42,72,.075);padding:16px;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.board-card:hover{transform:translateY(-3px);box-shadow:0 24px 52px rgba(9,31,66,.12);border-color:rgba(104,191,0,.32)}
.board-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#000074 0 42%,#68bf00 42% 78%,#f3d900 78%)}
.board-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.board-card-head.compact{align-items:center}.board-card-head h3{font-size:15px;line-height:1.15;margin:3px 0 3px;color:#13213b;letter-spacing:-.025em}.board-card-head p{font-size:9px;color:#7b899c;margin:0}.board-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 8px;background:#edf3fb;color:#274f80;font-size:8px;font-weight:900;white-space:nowrap}.quality-score{width:46px;height:46px;border-radius:15px;background:linear-gradient(145deg,#000074,#174c89);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:950;box-shadow:0 10px 24px rgba(0,0,116,.18)}

.evolution-chart{height:190px;display:flex;gap:9px;align-items:flex-end;margin:14px 0 8px;padding:12px 8px 0;border-bottom:1px solid #dfe6ee;background:linear-gradient(180deg,rgba(238,244,250,.46),rgba(255,255,255,0));border-radius:14px 14px 0 0}.evolution-col{flex:1;min-width:38px;display:grid;grid-template-rows:1fr auto auto;gap:4px;height:100%;text-align:center}.evolution-bars{height:130px;display:flex;align-items:flex-end;justify-content:center;gap:3px}.evolution-bars i{width:min(19px,36%);min-height:3px;border-radius:7px 7px 2px 2px;transform-origin:bottom;animation:v17Rise .72s cubic-bezier(.2,.8,.2,1) both;box-shadow:0 5px 12px rgba(0,0,0,.08)}.evolution-bars .bar-cartera{background:linear-gradient(180deg,#285e9c,#000074)}.evolution-bars .bar-ahorros{background:linear-gradient(180deg,#9bd943,#68bf00)}.evolution-col strong{font-size:8px;color:#66758a}.evolution-col small{font-size:7px;color:#8a96a7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.evolution-legend{display:flex;gap:14px;justify-content:flex-end}.evolution-legend span{display:flex;align-items:center;gap:5px;font-size:8px;color:#748196}.evolution-legend i{width:9px;height:9px;border-radius:3px}.evolution-legend .cartera{background:#000074}.evolution-legend .ahorros{background:#68bf00}.board-empty{height:170px;display:grid;place-items:center;color:#8a96a7;font-size:9px}@keyframes v17Rise{from{transform:scaleY(.05);opacity:.2}to{transform:scaleY(1);opacity:1}}

.quality-list{display:grid;gap:12px;margin-top:16px}.quality-list>div{display:grid;grid-template-columns:minmax(105px,1.1fr) minmax(70px,1fr) 36px;gap:8px;align-items:center}.quality-list span b,.quality-list span small{display:block}.quality-list span b{font-size:8.5px;color:#2b3951}.quality-list span small{font-size:7.5px;color:#8995a7;margin-top:1px}.quality-list>div>div{height:7px;background:#edf1f6;border-radius:999px;overflow:hidden}.quality-list>div>div i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#000074,#2e6da5 56%,#68bf00);animation:barGrow .7s ease both}.quality-list>div>div i.mail-progress{background:linear-gradient(90deg,#f3d900,#efb928)}.quality-list>div>strong{font-size:8px;text-align:right;color:#31415b}

.ranking-list{display:grid;gap:9px;margin-top:14px}.ranking-row{display:grid;grid-template-columns:28px 7px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 0;border-bottom:1px dashed #e2e8ef}.ranking-row:last-child{border-bottom:0}.ranking-pos{width:27px;height:27px;border-radius:9px;background:#eef2f8;color:#000074;display:grid;place-items:center;font-size:8px;font-weight:950}.ranking-dot{width:7px;height:32px;border-radius:999px;background:var(--rank-color,#68bf00)}.ranking-row div strong,.ranking-row div small{display:block}.ranking-row div strong{font-size:8.5px;color:#26344d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ranking-row div small{font-size:7px;color:#8a96a7;margin-top:2px}.ranking-row>b{font-size:8px;color:#1d2d48;white-space:nowrap}.ranking-link{margin-top:12px;display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px solid #e5ebf1;color:#000074;font-size:8.5px;font-weight:850}.ranking-link:hover{color:#68a900}

.btn.btn-preview,.btn-preview{background:linear-gradient(135deg,#000074,#1919a4)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:transparent!important}.btn.btn-excel,.btn-excel{background:linear-gradient(135deg,#4cae00,#68bf00)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:transparent!important}.btn.btn-pdf,.btn-pdf{background:linear-gradient(135deg,#b63d4d,#d75a65)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:transparent!important}.btn.btn-mail,.btn-mail{background:linear-gradient(135deg,#f3d900,#efb91c)!important;color:#15213a!important;-webkit-text-fill-color:#15213a!important;border-color:transparent!important}.btn.btn-preview:hover,.btn.btn-excel:hover,.btn.btn-pdf:hover,.btn.btn-mail:hover{filter:saturate(1.06) brightness(1.03);transform:translateY(-2px)}

@media(max-width:1240px){.board-grid-v17{grid-template-columns:repeat(2,minmax(0,1fr))}.board-evolution{grid-column:1/-1}}
@media(max-width:760px){.board-grid-v17{grid-template-columns:1fr}.board-evolution{grid-column:auto}.evolution-chart{overflow-x:auto}.evolution-col{min-width:54px}.quality-list>div{grid-template-columns:105px 1fr 34px}}

/* v1.8 · alcance visible del consolidado */
.master-scope{position:relative;z-index:2;margin:14px 0 6px;padding:12px 14px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}
.master-scope-label{display:block;font-size:10px;font-weight:800;letter-spacing:.16em;color:rgba(255,255,255,.72);margin-bottom:8px}
.master-scope>div{display:flex;flex-wrap:wrap;gap:7px}.scope-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#fff;color:#14213d;font-size:11px;font-weight:700;box-shadow:0 7px 20px rgba(0,0,0,.08)}.scope-chip:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--scope-color)}.scope-chip b{color:#000074}.db-status-note{border-left:4px solid var(--brand-accent)}

/* =========================================================
   REFIDER Data Hub v2.0 — control mensual, seguridad y BD
   ========================================================= */
.user-chip-link{color:#fff;text-decoration:none;border-radius:14px;transition:.2s ease}.user-chip-link:hover{background:rgba(255,255,255,.08);transform:translateY(-1px)}
.workflow-card{margin:14px 0 24px;padding:18px;border:1px solid rgba(0,0,116,.11);border-radius:24px;background:linear-gradient(135deg,#fff 0%,#f8fbff 55%,#f5faec 100%);box-shadow:0 18px 46px rgba(20,42,72,.085);position:relative;overflow:hidden}.workflow-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#000074 0 42%,#68bf00 42% 78%,#f3d900 78%)}.workflow-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.workflow-head h3{margin:4px 0;font-size:18px;letter-spacing:-.03em}.workflow-head p{margin:0;color:#7b899c;font-size:10px}.workflow-score{min-width:68px;height:40px;border-radius:14px;display:grid;place-items:center;padding:0 12px;font-size:11px;font-weight:900;background:#eef2f8;color:#64748b}.workflow-score.ok{background:#edf8e2;color:#488a00;border:1px solid #cce9ae}.workflow-score.pending{background:#fff8d5;color:#907500;border:1px solid #f5e694}.workflow-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:18px}.workflow-step{position:relative;display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid #e1e7ef;border-radius:16px;background:#fff;color:#7a8799}.workflow-step>span{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:#eef2f7;font-size:9px;font-weight:950}.workflow-step strong,.workflow-step small{display:block}.workflow-step strong{font-size:9px;color:#4b5a70}.workflow-step small{font-size:7.5px;margin-top:2px}.workflow-step.done{border-color:rgba(104,191,0,.25);background:linear-gradient(145deg,#fff,#f8fced)}.workflow-step.done>span{background:#68bf00;color:#fff}.workflow-step.current{box-shadow:0 10px 24px rgba(0,0,116,.09);border-color:rgba(0,0,116,.2)}.workflow-step.current strong{color:#000074}.workflow-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}.workflow-delivery{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:9px;font-weight:800;color:#526176;padding:8px 10px;border-radius:999px;background:#eef3f8}.validation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:14px;padding-top:14px;border-top:1px dashed #dfe6ee}.validation-item{display:flex;gap:8px;align-items:center;padding:9px;border:1px solid #e3e9ef;border-radius:13px;background:#fff}.validation-item>span{width:24px;height:24px;border-radius:8px;display:grid;place-items:center}.validation-item.ok>span{background:#eaf7dc;color:#579700}.validation-item.bad>span{background:#fdecec;color:#b64d57}.validation-item strong,.validation-item small{display:block}.validation-item strong{font-size:8px;color:#293950}.validation-item small{font-size:7px;color:#8390a1;margin-top:2px}.ready-dot.sent{background:#ecf8df!important;color:#548f0c!important;border-color:#d0eab4!important}.ready-dot.sent i{background:#68bf00!important;box-shadow:0 0 0 4px rgba(104,191,0,.12)!important}
.security-alert{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;padding:14px 16px;border-radius:18px;border:1px solid #f2d76e;background:linear-gradient(135deg,#fffbea,#fff7c6);color:#6f5d00;box-shadow:0 12px 32px rgba(137,111,0,.08)}.security-alert strong,.security-alert span{display:block}.security-alert strong{font-size:12px}.security-alert span{font-size:9px;margin-top:3px;color:#806e1e}.profile-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);gap:14px}.profile-identity{display:flex;gap:16px;align-items:center;background:linear-gradient(145deg,#fff 0%,#f9fcff 65%,#f4fae9 100%)}.profile-avatar{width:74px;height:74px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(145deg,#000074,#174c89);color:#fff;font-size:28px;font-weight:950;box-shadow:0 16px 34px rgba(0,0,116,.18)}.profile-identity h2{margin:4px 0 3px;font-size:22px}.profile-identity p{margin:0;color:#738196;font-size:10px}.profile-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}.profile-tags span{font-size:8px;font-weight:850;padding:6px 8px;border-radius:999px;background:#edf3f8;color:#31445e}.profile-security h2{margin:5px 0 5px}.profile-facts{margin-top:14px}.profile-facts .card{box-shadow:none}.profile-facts span,.profile-facts strong{display:block}.profile-facts span{font-size:8px;color:#8491a4;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.profile-facts strong{font-size:11px;color:#23344e;margin-top:4px}.scope-list{display:flex;flex-wrap:wrap;gap:8px}.smtp-test-row{margin-top:14px;padding-top:14px;border-top:1px dashed #dce4ec;display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end}.smtp-test-row .field{margin:0}.command-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media(max-width:1100px){.validation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-grid{grid-template-columns:1fr}.workflow-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.workflow-steps,.validation-grid{grid-template-columns:1fr}.workflow-head{align-items:center}.workflow-delivery{margin-left:0}.smtp-test-row{grid-template-columns:1fr}.profile-identity{align-items:flex-start}.profile-avatar{width:58px;height:58px;border-radius:18px;font-size:22px}}

/* v2.0.0 · FTP inteligente y trazabilidad de distribución */
.expected-file-strip{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.expected-file-strip span{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border-radius:999px;background:linear-gradient(135deg,rgba(104,191,0,.12),rgba(243,217,0,.10));border:1px solid rgba(104,191,0,.22);font-size:11px;font-weight:800;color:#1f4f24}.ftp-smart-card{overflow:hidden}.ftp-detected td{background:linear-gradient(90deg,rgba(104,191,0,.035),rgba(255,255,255,0))}.ftp-process-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:13px 15px;border-radius:16px;background:#f6f9fc;border:1px solid var(--line)}.ftp-process-foot span{font-size:12px;color:var(--muted)}.ftp-process-foot strong{color:var(--primary);font-size:15px}.delivery-head{margin-top:26px}.delivery-history-card{padding:0;overflow:hidden}.delivery-history-list{display:grid}.delivery-history-row{display:grid;grid-template-columns:34px minmax(180px,1.3fr) minmax(120px,.55fr) minmax(180px,.85fr);gap:12px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--line);transition:.18s ease;background:#fff}.delivery-history-row:last-child{border-bottom:0}.delivery-history-row:hover{background:#f8fbff;transform:translateX(2px)}.delivery-history-icon{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#eef7e8;color:#4c9a00}.delivery-history-row.bad .delivery-history-icon{background:#fff0f0;color:#c93b3b}.delivery-history-main,.delivery-history-meta,.delivery-history-user{min-width:0;display:grid;gap:3px}.delivery-history-main strong{font-size:12px;color:var(--ink)}.delivery-history-main small,.delivery-history-meta small,.delivery-history-user small{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.delivery-history-meta{justify-items:start}.delivery-history-user span{font-size:11px;font-weight:800;color:#35435e}.compact-empty{padding:24px}.badge.warn{background:#fff4d6;color:#8a5a00;border-color:#f4d171}
@media(max-width:900px){.ftp-process-foot{align-items:stretch;flex-direction:column}.ftp-process-foot .btn{width:100%}.delivery-history-row{grid-template-columns:30px 1fr}.delivery-history-meta,.delivery-history-user{grid-column:2}}
.security-settings-card{position:relative;overflow:hidden}.security-settings-card:before{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-70px;top:-90px;background:radial-gradient(circle,rgba(0,0,116,.10),transparent 70%);pointer-events:none}.security-setting-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.security-setting-grid .field{padding:14px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbff)}.security-setting-grid small{display:block;margin-top:6px;color:var(--muted);font-size:10px;line-height:1.45}@media(max-width:760px){.security-setting-grid{grid-template-columns:1fr}}


/* v2.0 · calendario anual legible y centro de control */
.months-luxe-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:11px!important;padding:16px!important}
.month-luxe-card{display:grid!important;grid-template-areas:"no main arrow" "no counts arrow"!important;grid-template-columns:40px minmax(0,1fr) 22px!important;grid-template-rows:auto auto!important;align-items:center!important;column-gap:10px!important;row-gap:7px!important;min-height:108px!important;padding:13px 12px!important;overflow:hidden!important}
.month-luxe-no{grid-area:no!important;width:36px!important;height:36px!important;border-radius:11px!important;background:#edf2f8!important;color:#7d8ba1!important;font-size:9px!important;align-self:start!important}
.month-luxe-card.has-data .month-luxe-no{background:#ecf9e3!important;color:#4f8c08!important;box-shadow:inset 0 0 0 1px #d8edc4!important}
.month-luxe-main{grid-area:main!important;min-width:0!important;align-self:end!important}
.month-luxe-main strong{display:block!important;font-size:12px!important;line-height:1.2!important;color:#17243d!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.month-luxe-main span{display:block!important;margin-top:3px!important;font-size:8.5px!important;line-height:1.25!important;white-space:normal!important}
.month-luxe-counts{grid-area:counts!important;display:flex!important;gap:5px!important;min-width:0!important;align-self:start!important}
.month-luxe-counts span{min-width:42px!important;justify-content:center!important;padding:5px 7px!important;border-radius:8px!important;font-size:8px!important;white-space:nowrap!important}
.month-arrow{grid-area:arrow!important;align-self:center!important;justify-self:end!important}
.month-luxe-card.has-data{background:linear-gradient(145deg,#ffffff 0%,#f7fbff 58%,#f3fbe9 100%)!important;border-color:#d5e8c3!important}
.control-hero{position:relative;overflow:hidden;border-radius:24px;padding:22px 24px;background:linear-gradient(125deg,#000074 0%,#11169a 56%,#68BF00 145%);color:#fff;box-shadow:0 20px 48px rgba(0,0,82,.16);margin-bottom:14px}.control-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-85px;top:-120px;border:34px solid rgba(243,217,0,.13)}.control-hero .eyebrow{color:#f3d900}.control-hero h2{font-size:24px;margin:5px 0 7px;letter-spacing:-.04em}.control-hero p{max-width:720px;margin:0;color:rgba(255,255,255,.72);font-size:11px;line-height:1.6}.control-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:14px 0}.control-card{background:#fff;border:1px solid #dfe6ef;border-radius:18px;padding:15px;box-shadow:0 11px 28px rgba(18,40,74,.05);min-width:0}.control-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.control-card-head span{font-size:8px;font-weight:900;letter-spacing:.09em;color:#7f8ca0;text-transform:uppercase}.control-card h3{margin:8px 0 3px;font-size:14px;color:#182640}.control-card p{margin:0;color:#7c899b;font-size:9px;line-height:1.5}.health-dot{width:10px;height:10px;border-radius:50%;background:#c7ced8;box-shadow:0 0 0 4px #f1f3f6}.health-dot.ok{background:#68bf00;box-shadow:0 0 0 4px #edf8e3}.health-dot.warn{background:#f3d900;box-shadow:0 0 0 4px #fff9d8}.control-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.control-check{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid #e1e7ef;border-radius:14px;background:#fbfcfe}.control-check>span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#eef2f8;color:#52647c;flex:none}.control-check.ok>span{background:#edf9e4;color:#579700}.control-check.warn>span{background:#fff8d6;color:#9a8300}.control-check strong,.control-check small{display:block}.control-check strong{font-size:10px;color:#1c2940}.control-check small{font-size:8.5px;color:#8490a2;margin-top:2px;line-height:1.4}.control-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}
@media(max-width:1180px){.months-luxe-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.months-luxe-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.control-grid,.control-checks{grid-template-columns:1fr}}
@media(max-width:480px){.months-luxe-grid{grid-template-columns:1fr!important}}

/* v2.1.0 · distribución por sucursal y diagnóstico SMTP */
.distribution-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding:24px 26px;border-radius:24px;background:linear-gradient(125deg,#000074 0%,#0b168c 58%,#68bf00 155%);color:#fff;box-shadow:0 20px 48px rgba(0,0,82,.16);position:relative;overflow:hidden}.distribution-hero:after{content:"";position:absolute;width:260px;height:260px;border:34px solid rgba(243,217,0,.14);border-radius:50%;right:-96px;top:-130px}.distribution-hero>div,.distribution-hero-actions{position:relative;z-index:2}.distribution-hero h2{font-size:25px;letter-spacing:-.045em;margin:5px 0 7px}.distribution-hero p{max-width:760px;margin:0;color:rgba(255,255,255,.74);font-size:11px;line-height:1.65}.distribution-hero-actions{display:flex;gap:8px;flex-wrap:wrap}.distribution-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.distribution-summary>div{display:grid;grid-template-columns:38px 1fr;grid-template-areas:"ic sm" "ic st";align-items:center;column-gap:10px;padding:12px 14px;border:1px solid #dfe6ef;background:#fff;border-radius:16px;box-shadow:0 9px 24px rgba(18,40,74,.045)}.distribution-summary>div>span{grid-area:ic;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#eef3ff;color:var(--brand-primary)}.distribution-summary small{grid-area:sm;font-size:8px;font-weight:850;color:#8490a2;text-transform:uppercase;letter-spacing:.08em}.distribution-summary strong{grid-area:st;color:#1c2940;font-size:11px;margin-top:2px}.distribution-batch-select{min-width:270px}.distribution-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.72fr);gap:14px;align-items:start}.distribution-branch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.distribution-branch-card{position:relative;overflow:hidden;border:1px solid #dfe5ef;border-radius:19px;background:linear-gradient(145deg,#fff,#fbfdff 76%,color-mix(in srgb,var(--accent) 7%,#fff));padding:15px;box-shadow:0 11px 28px rgba(18,40,74,.05)}.distribution-branch-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent)}.distribution-card-head{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:9px;align-items:center}.distribution-card-head small{font-size:7.5px;letter-spacing:.1em;color:#8a96a7;font-weight:900}.distribution-card-head h3{font-size:13px;margin:2px 0 0;color:#1b2940}.distribution-recipient{display:flex;align-items:flex-start;gap:9px;padding:10px 11px;margin-top:12px;border-radius:12px;background:#f7f9fc;border:1px solid #e5eaf1}.distribution-recipient>span{color:var(--brand-primary);flex:none}.distribution-recipient small,.distribution-recipient strong{display:block}.distribution-recipient small{font-size:7.5px;color:#8b96a7;font-weight:850;letter-spacing:.08em}.distribution-recipient strong{font-size:9px;color:#36455d;margin-top:3px;line-height:1.45;word-break:break-word}.distribution-files{display:flex;gap:6px;flex-wrap:wrap;margin:9px 0}.file-pill.excel{color:#4b9200;background:#f0f9e8;border-color:#d9edc8}.file-pill.pdf{color:#b93333;background:#fff0f0;border-color:#f0cccc}.distribution-last{display:grid;grid-template-columns:1fr auto;grid-template-areas:"sm bd" "st bd";align-items:center;padding-top:8px;border-top:1px dashed #dfe5ec}.distribution-last small{grid-area:sm;font-size:7.5px;color:#929bad}.distribution-last strong{grid-area:st;font-size:8.5px;color:#5e6b7e}.distribution-last .badge{grid-area:bd}.distribution-actions{display:flex;justify-content:flex-end;gap:6px;align-items:center;margin-top:10px}.distribution-actions form{margin:0}.mail-preview-panel{position:sticky;top:18px;border-radius:20px;border:1px solid #dfe6ef;background:#fff;padding:13px;box-shadow:0 16px 42px rgba(18,40,74,.08)}.mail-preview-label{padding:4px 3px 11px}.mail-preview-label span,.mail-preview-label strong{display:block}.mail-preview-label span{font-size:8px;color:#8591a4;font-weight:900;letter-spacing:.1em}.mail-preview-label strong{font-size:10px;color:#25334b;margin-top:3px}.email-canvas{border:1px solid #e2e7ef;border-radius:16px;overflow:hidden;background:#fff}.email-brandline{height:6px;background:linear-gradient(90deg,#000074 0 58%,#68bf00 58% 86%,#f3d900 86%)}.email-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px}.email-head img{max-width:95px;max-height:45px}.email-head div{text-align:right}.email-head small,.email-head strong{display:block}.email-head small{font-size:6.5px;color:#8995a7;letter-spacing:.1em;font-weight:850}.email-head strong{font-size:9px;color:#000074;margin-top:3px}.email-hero{margin:0 16px;padding:15px;border-radius:13px;background:linear-gradient(135deg,#000074,#15159d);color:#fff}.email-hero small{font-size:6.5px;color:#f3d900;letter-spacing:.1em;font-weight:850}.email-hero h3{margin:5px 0 4px;font-size:17px}.email-hero span{font-size:8px;color:#d9e0ff}.email-body{padding:16px;font-size:9px;line-height:1.6;color:#40506a}.email-attachments{margin:0 16px 14px;padding:12px;background:#f7f9fc;border:1px solid #e5eaf1;border-radius:11px}.email-attachments>small{font-size:6.5px;color:#000074;font-weight:900;letter-spacing:.08em}.email-attachments>div{display:flex;gap:5px;margin-top:7px}.email-notice{margin:0 16px 14px;padding:10px 11px;border-radius:10px;background:#f2faeb;border:1px solid #dbeec8;color:#567f28}.email-notice strong,.email-notice span{display:block}.email-notice strong{font-size:8px}.email-notice span{font-size:7px;line-height:1.4;margin-top:2px}.email-footer{padding:12px 16px;background:#f7f9fc;border-top:1px solid #e7ebf1;color:#7c899b;font-size:7.5px;line-height:1.5}.email-footer span{color:#9aa5b3}.mail-preview-recipients{padding:10px 3px 2px}.mail-preview-recipients small,.mail-preview-recipients strong{display:block}.mail-preview-recipients small{font-size:7px;color:#8995a7;text-transform:uppercase;font-weight:900;letter-spacing:.08em}.mail-preview-recipients strong{font-size:8.5px;color:#34445d;margin-top:3px;line-height:1.5}

.smtp-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.65fr);gap:14px}.smtp-provider-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.smtp-provider-head h3{margin:4px 0 0;font-size:17px;color:#182640}.hostinger-guide{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;margin-bottom:14px;border-radius:14px;background:linear-gradient(90deg,#f4f8ff,#fbfff3);border:1px solid #dce7ef;color:#263750}.hostinger-guide>span{color:#000074;flex:none}.hostinger-guide strong,.hostinger-guide small{display:block}.hostinger-guide strong{font-size:10px}.hostinger-guide small{font-size:9px;line-height:1.55;color:#6f7d91;margin-top:3px}.smtp-save-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.smtp-save-actions span{font-size:9px;color:#7c899a}.smtp-action-row{display:flex;gap:8px;align-items:center;margin-top:14px;padding-top:14px;border-top:1px dashed #dce4ec}.smtp-test-inline{display:flex;gap:7px;align-items:center;flex:1}.smtp-test-inline .input{min-width:180px}.smtp-side-stack{display:grid;gap:12px}.smtp-status-card{background:linear-gradient(145deg,#fff,#f8fbff)}.smtp-status-head{display:flex;gap:10px;align-items:center}.smtp-status-head>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#eef2ff;color:#000074}.smtp-status-head small,.smtp-status-head h3{display:block}.smtp-status-head small{font-size:7px;color:#8491a4;letter-spacing:.08em;font-weight:850}.smtp-status-head h3{font-size:13px;margin:3px 0 0}.smtp-facts{display:grid;gap:7px;margin-top:13px}.smtp-facts>div{padding:9px 10px;border-radius:10px;background:#f7f9fc;border:1px solid #e6ebf1}.smtp-facts small,.smtp-facts strong{display:block}.smtp-facts small{font-size:7px;color:#8c97a8;text-transform:uppercase;font-weight:850}.smtp-facts strong{font-size:9px;color:#34435a;margin-top:2px;word-break:break-word}.smtp-email-preview h3{font-size:14px;margin:5px 0 10px}.smtp-email-preview>p{font-size:8.5px;color:#7d899a;line-height:1.55;margin:10px 0 0}.mini-email{border:1px solid #e1e7ee;border-radius:13px;overflow:hidden;background:#fff}.mini-mail-line{height:5px;background:linear-gradient(90deg,#000074 0 58%,#68bf00 58% 86%,#f3d900 86%)}.mini-mail-head{display:flex;justify-content:space-between;align-items:center;padding:10px 11px}.mini-mail-head img{max-width:72px;max-height:34px}.mini-mail-head span{font-size:7px;color:#000074;font-weight:800}.mini-mail-hero{margin:0 10px;padding:10px;border-radius:9px;background:#000074;color:#fff}.mini-mail-hero small,.mini-mail-hero strong,.mini-mail-hero span{display:block}.mini-mail-hero small{font-size:5.5px;color:#f3d900}.mini-mail-hero strong{font-size:12px;margin:3px 0}.mini-mail-hero span{font-size:6.5px;color:#dce2ff}.mini-mail-lines{padding:10px}.mini-mail-lines i{display:block;height:5px;background:#edf1f5;border-radius:99px;margin:5px 0}.mini-mail-lines i:nth-child(2){width:82%}.mini-mail-lines i:nth-child(3){width:63%}.mini-mail-files{display:flex;gap:5px;padding:0 10px 10px}.mini-mail-files b{font-size:6px;padding:4px 6px;border-radius:6px;background:#eff8e8;color:#4d8c08}.mini-mail-files b:last-child{background:#fff0f0;color:#b73535}.smtp-diagnostic-card{margin-top:14px;padding:16px;border:1px solid #dce5ef;border-radius:18px;background:#fff;box-shadow:0 11px 28px rgba(18,40,74,.05)}.smtp-diagnostic-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.smtp-diagnostic-head h3{font-size:15px;margin:4px 0 0}.smtp-diag-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.smtp-diag-step{display:flex;gap:9px;padding:11px;border-radius:12px;background:#f8fafc;border:1px solid #e4e9ef}.smtp-diag-step>span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;flex:none;background:#eef2f6;color:#7c8797}.smtp-diag-step.ok>span{background:#edf9e4;color:#579700}.smtp-diag-step.bad>span{background:#fff0f0;color:#c33b3b}.smtp-diag-step strong,.smtp-diag-step small{display:block}.smtp-diag-step strong{font-size:9px;color:#26354e}.smtp-diag-step small{font-size:8px;color:#7b8798;line-height:1.45;margin-top:2px;word-break:break-word}.smtp-alternatives{display:grid;gap:6px;margin-top:10px;padding-top:10px;border-top:1px dashed #dce3eb}.smtp-alternatives>strong{font-size:9px;color:#28374f}.smtp-alternatives span{font-size:8px;padding:7px 9px;border-radius:9px;background:#f7f9fc;color:#657387}.smtp-alternatives span.ok{background:#f0f9e8;color:#4e7f18}.smtp-alternatives span.bad{background:#fff2f2;color:#9b4343}.hostinger-preset.preset-done{background:#68bf00!important;color:#fff!important}

@media(max-width:1120px){.distribution-layout{grid-template-columns:1fr}.mail-preview-panel{position:relative;top:auto}.smtp-layout{grid-template-columns:1fr}.distribution-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.distribution-hero{align-items:flex-start;flex-direction:column}.distribution-branch-grid,.smtp-diag-grid{grid-template-columns:1fr}.distribution-summary{grid-template-columns:1fr}.smtp-action-row,.smtp-test-inline{align-items:stretch;flex-direction:column}.smtp-test-inline .input{width:100%;min-width:0}.distribution-batch-select{min-width:0;width:100%}}

/* =========================================================
   REFIDER Data Hub v2.2.0 · Responsive universal + UX segura
   ========================================================= */
:root{--mobile-dock-h:72px;--safe-bottom:env(safe-area-inset-bottom,0px)}
body{overflow-x:hidden}.topbar-leading{display:flex;align-items:center;gap:12px;min-width:0}.mobile-menu-btn,.sidebar-close,.sidebar-overlay,.mobile-dock,.sidebar-mobile-head{display:none}.top-command{height:38px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.94);color:#5f6f86;cursor:pointer;font-size:10px;font-weight:800;box-shadow:0 6px 20px rgba(13,34,69,.035);transition:.2s}.top-command:hover{transform:translateY(-2px);border-color:rgba(0,0,116,.18);color:var(--brand-primary);box-shadow:0 10px 25px rgba(0,0,116,.09)}.top-command kbd,.command-search kbd{font:700 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#8995a7;background:#f3f6fa;border:1px solid #dfe6ef;border-bottom-width:2px;padding:4px 5px;border-radius:6px}

/* Passwords: iconos vectoriales, sin imágenes raster y con foco accesible. */
.password-control{position:relative;width:100%}.password-control .input{width:100%;padding-right:48px!important}.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:#64748b;cursor:pointer;transition:.18s}.password-toggle:hover{background:#eef3f9;color:var(--brand-primary)}.password-toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-accent) 35%,transparent);outline-offset:1px}.password-strength{position:relative;display:flex;align-items:center;gap:8px;min-height:18px;margin-top:5px;font-size:9px;color:#8090a5}.password-strength:before{content:"";width:92px;height:5px;border-radius:99px;background:#e8edf4;box-shadow:inset 0 0 0 1px rgba(70,85,110,.05)}.password-strength i{position:absolute;left:0;width:var(--strength,5%);max-width:92px;height:5px;border-radius:99px;background:#d56b5d;transition:.24s ease}.password-strength[data-level="2"] i{background:#d8a227}.password-strength[data-level="3"] i{background:#a8b72e}.password-strength[data-level="4"] i,.password-strength[data-level="5"] i{background:var(--brand-accent)}

/* Login v2.2 */
.login-page{background:radial-gradient(circle at 88% 4%,rgba(104,191,0,.10),transparent 28%),radial-gradient(circle at 12% 92%,rgba(0,0,116,.07),transparent 30%),#f7f9fd!important}.login-visual{background:radial-gradient(circle at 14% 12%,rgba(104,191,0,.25),transparent 23%),radial-gradient(circle at 90% 86%,rgba(243,217,0,.12),transparent 30%),linear-gradient(150deg,#000052 0%,#07077e 54%,#0c3681 100%)!important}.login-logo{position:relative;z-index:2;padding:10px 12px;border-radius:18px;background:rgba(255,255,255,.96);width:max-content;box-shadow:0 16px 34px rgba(0,0,0,.2)}.login-logo img{width:58px;height:58px;object-fit:contain}.login-logo strong{color:var(--brand-primary);letter-spacing:.12em}.login-logo span{color:#6d7890;font-size:10px}.login-copy h1{max-width:680px}.login-panel{position:relative}.login-card{position:relative;background:rgba(255,255,255,.88);border:1px solid rgba(207,218,233,.86);border-radius:30px;padding:34px;box-shadow:0 30px 80px rgba(20,34,70,.13);backdrop-filter:blur(18px)}.login-card:before{content:"";position:absolute;left:0;right:0;top:0;height:6px;border-radius:30px 30px 0 0;background:linear-gradient(90deg,var(--brand-primary) 0 34%,var(--brand-accent) 34% 70%,var(--brand-highlight) 70%)}.login-card h2{margin-top:8px!important;font-size:34px!important}.login-card .field label{font-weight:900;letter-spacing:.06em}.login-card .input{min-height:54px;border-radius:15px;background:#f5f8fd;border-color:#d7e0ec}.login-card .input:focus{background:#fff;border-color:color-mix(in srgb,var(--brand-primary) 45%,#cbd5e1);box-shadow:0 0 0 4px rgba(0,0,116,.06)}.login-card .btn{min-height:54px;border-radius:15px!important;background:linear-gradient(135deg,var(--brand-primary),#1717a2)!important;box-shadow:0 16px 32px rgba(0,0,116,.18)}.login-mobile-brand{display:none}

/* Command palette / buscador rápido */
.command-palette{position:fixed;inset:0;z-index:160;display:none}.command-palette.open{display:block}.command-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(6,12,32,.46);backdrop-filter:blur(10px);cursor:default}.command-panel{position:relative;width:min(620px,calc(100% - 32px));max-height:min(720px,calc(100vh - 80px));margin:70px auto 0;background:rgba(255,255,255,.985);border:1px solid rgba(214,223,234,.9);border-radius:24px;box-shadow:0 38px 110px rgba(0,0,56,.30);overflow:hidden;animation:commandIn .2s ease both}.command-search{height:62px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid #e6ebf2;color:#728198}.command-search input{border:0;outline:0;background:transparent;font-size:15px;font-weight:650;color:#16213a;min-width:0}.command-search input::placeholder{color:#9aa6b6}.command-list{padding:9px;display:grid;gap:3px;max-height:520px;overflow:auto}.command-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 11px;border-radius:13px;color:#40516a;transition:.14s}.command-item>svg:first-child{width:36px;height:36px;padding:8px;border-radius:11px;background:#f0f4f9;color:var(--brand-primary)}.command-item strong,.command-item small{display:block}.command-item strong{font-size:11px;color:#1f2d46}.command-item small{font-size:9px;color:#8b97a8;margin-top:2px}.command-item:hover,.command-item.keyboard-active{background:linear-gradient(90deg,rgba(104,191,0,.09),rgba(0,0,116,.035));color:var(--brand-primary)}.command-item.keyboard-active>svg:first-child{background:#eaf7de;color:#539f00}.command-empty{display:none;padding:32px;text-align:center;color:#8a96a8;font-size:11px}.command-panel footer{padding:10px 14px;border-top:1px solid #e6ebf2;color:#99a4b3;font-size:8px;text-align:center;background:#fafbfd}@keyframes commandIn{from{opacity:0;transform:translateY(-12px) scale(.985)}to{opacity:1;transform:none}}body.command-open{overflow:hidden}

/* Micro-mejoras universales */
.card,.branch-book-card,.month-luxe-card,.control-card,.distribution-branch-card{transform:translateZ(0)}.btn,.top-quick,.top-command,.mobile-dock-item{-webkit-tap-highlight-color:transparent}.table-wrap{overscroll-behavior:contain;scrollbar-gutter:stable}.table-wrap:focus-visible{outline:2px solid color-mix(in srgb,var(--brand-accent) 45%,transparent);outline-offset:2px}.modal{overscroll-behavior:contain}.field .input,.field select,.field textarea{max-width:100%}

/* Tablet: menú compacto, contenido completo. */
@media(max-width:980px) and (min-width:761px){
  .top-command span,.top-command kbd{display:none}.top-command{width:38px;justify-content:center;padding:0}.topbar{padding-left:18px!important;padding-right:18px!important}.content{padding-left:18px!important;padding-right:18px!important}
}

/* Mobile: menú lateral real + dock inferior. */
@media(max-width:760px){
  html{scroll-padding-top:76px}.app-shell{display:block!important}.main{width:100%;padding-bottom:calc(var(--mobile-dock-h) + var(--safe-bottom) + 12px)}
  .sidebar{display:flex!important;position:fixed!important;z-index:151!important;left:0!important;top:0!important;bottom:0!important;width:min(88vw,330px)!important;height:100dvh!important;padding:12px 12px calc(16px + var(--safe-bottom))!important;transform:translate3d(-105%,0,0);transition:transform .28s cubic-bezier(.2,.75,.2,1)!important;box-shadow:26px 0 70px rgba(0,0,55,.25)!important;overflow:hidden!important}
  body.mobile-nav-open{overflow:hidden}.mobile-nav-open .sidebar{transform:translate3d(0,0,0)}.sidebar-overlay{display:block;position:fixed;z-index:150;inset:0;border:0;background:rgba(4,8,28,.42);backdrop-filter:blur(7px);opacity:0;visibility:hidden;transition:.24s}.mobile-nav-open .sidebar-overlay{opacity:1;visibility:visible}
  .sidebar-mobile-head{display:flex;align-items:center;justify-content:space-between;min-height:34px;padding:0 4px 7px;color:rgba(255,255,255,.6);font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.sidebar-close{display:grid;width:34px;height:34px;border:1px solid rgba(255,255,255,.13);border-radius:11px;place-items:center;background:rgba(255,255,255,.08);color:#fff}
  .brand-logo{display:flex!important;width:100%!important;margin:0 0 10px!important;padding:9px 10px!important;justify-content:flex-start!important}.brand-logo img{width:48px!important;height:48px!important}.brand-logo>div{display:block!important}.brand-logo strong{font-size:14px!important}.brand-logo span{font-size:9px!important}
  .nav-caption{display:block!important;padding:4px 11px 7px!important}.sidebar nav{display:grid!important;gap:4px!important;overflow-y:auto!important;overflow-x:hidden!important;padding:0 1px 8px!important;scrollbar-width:thin}.sidebar .nav-link{min-width:0!important;width:100%!important;justify-content:flex-start!important;min-height:43px!important;padding:9px 11px!important}.sidebar .nav-link span{display:inline!important;white-space:normal}.sidebar-foot{display:block!important;margin-top:auto!important;padding-top:10px!important}.sidebar-foot .user-chip>div:not(.avatar){display:block!important}
  .topbar{position:sticky!important;top:0!important;z-index:40!important;height:auto!important;min-height:72px!important;padding:11px 13px!important;background:rgba(248,250,253,.91)!important;border-bottom:1px solid rgba(221,228,237,.82);backdrop-filter:blur(18px) saturate(1.2)}.topbar-leading{gap:9px;min-width:0;flex:1}.mobile-menu-btn{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border:1px solid #dde4ee;border-radius:13px;background:#fff;color:var(--brand-primary);box-shadow:0 7px 19px rgba(0,0,74,.06)}.top-title{min-width:0}.top-title .eyebrow{font-size:7px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-title h1{font-size:20px!important;line-height:1.08;margin-top:4px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:48vw}.top-actions{gap:6px!important;flex:0 0 auto}.top-command,.top-context,.system-dot{display:none!important}.top-quick{width:42px;height:42px!important;padding:0!important;justify-content:center;border-radius:13px!important}.top-quick span{display:none!important}
  .content{padding:14px 12px 28px!important;max-width:none!important}.footer{padding-bottom:10px!important}.section-head{margin-top:20px!important;gap:7px!important}.section-head h2{font-size:17px!important}.section-head p{font-size:10px!important;line-height:1.5}.card{border-radius:18px!important;padding:14px!important}
  .hero-panel,.dash-spotlight{border-radius:22px!important;padding:18px!important}.spotlight-period span{font-size:28px!important}.spotlight-period b{font-size:17px!important}.spotlight-actions,.toolbar,.batch-actions,.consolidated-actions{gap:7px!important}.spotlight-actions .btn,.batch-actions .btn,.consolidated-actions .btn{min-height:38px}
  .spotlight-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.spotlight-metrics>div{padding:10px!important;border-radius:13px!important}.spotlight-metrics strong{font-size:13px!important}
  .metric-strip,.executive-strip,.branch-book-grid,.branch-admin-grid,.distribution-branch-grid,.grid-2,.grid-3,.grid-4,.insight-grid,.board-grid-v17,.control-grid,.control-checks{grid-template-columns:1fr!important}.branch-book-card{border-radius:21px!important}.book-mini-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}.months-luxe-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.month-luxe-card{min-height:126px!important;padding:13px!important}.month-luxe-card h3{font-size:14px!important}.month-luxe-card .month-luxe-meta{gap:5px!important}
  .refider-master-card{padding:16px!important;border-radius:22px!important}.master-brand{gap:10px!important}.master-mark{width:48px!important;height:48px!important;border-radius:15px!important}.master-file{min-width:0}.master-file strong{max-width:65vw!important}.master-actions{grid-template-columns:1fr 1fr!important}.period-master-actions{grid-template-columns:1fr 1fr!important}
  .table-wrap{width:100%;max-width:100%;border-radius:14px;box-shadow:inset -18px 0 25px -28px rgba(0,0,0,.5)}.table{min-width:760px!important}.table th,.table td{padding:10px!important}.preview-table{max-height:62dvh}.sheet-tabs{margin-left:-2px;margin-right:-2px}
  .modal-backdrop{padding:8px!important;align-items:end!important}.modal{width:100%!important;max-height:88dvh!important;border-radius:24px 24px 14px 14px!important;padding:17px!important}.modal .form-grid{grid-template-columns:1fr!important}
  .distribution-layout,.smtp-layout{grid-template-columns:1fr!important}.distribution-hero{padding:17px!important}.mail-preview-panel{position:relative!important;top:auto!important}.distribution-summary{grid-template-columns:1fr 1fr!important}
  .profile-identity{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:12px!important}.profile-security .form-grid{grid-template-columns:1fr!important}.profile-facts{grid-template-columns:1fr!important}
  .command-panel{width:calc(100% - 18px);max-height:calc(100dvh - 90px);margin:9px auto 0;border-radius:20px}.command-list{max-height:calc(100dvh - 180px)}.command-panel footer{display:none}
  .mobile-dock{position:fixed;z-index:120;left:9px;right:9px;bottom:calc(8px + var(--safe-bottom));height:64px;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;align-items:center;padding:5px;border:1px solid rgba(211,220,232,.88);border-radius:20px;background:rgba(255,255,255,.94);box-shadow:0 18px 46px rgba(6,19,52,.20);backdrop-filter:blur(18px) saturate(1.2)}.mobile-dock-item{position:relative;border:0;background:transparent;min-width:0;height:52px;border-radius:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#7a8799;font-size:8px;font-weight:800;cursor:pointer}.mobile-dock-item svg{width:20px;height:20px}.mobile-dock-item.active{color:var(--brand-primary);background:linear-gradient(145deg,rgba(0,0,116,.08),rgba(104,191,0,.10))}.mobile-dock-item.active:after{content:"";position:absolute;top:4px;width:18px;height:3px;border-radius:99px;background:var(--brand-accent)}
}

@media(max-width:520px){
  .top-title h1{max-width:43vw;font-size:19px!important}.content{padding-left:10px!important;padding-right:10px!important}.card{padding:13px!important}.spotlight-metrics{grid-template-columns:1fr 1fr!important}.master-actions,.period-master-actions{grid-template-columns:1fr!important}.months-luxe-grid{grid-template-columns:1fr!important}.distribution-summary{grid-template-columns:1fr!important}.book-mini-metrics{grid-template-columns:1fr 1fr!important}.mobile-dock{left:7px;right:7px;bottom:calc(6px + var(--safe-bottom))}.mobile-dock-item span{font-size:7.5px}.btn{white-space:normal;text-align:center}.login-panel{min-height:100dvh!important;padding:14px!important;align-content:center}.login-card{width:100%;padding:25px 20px!important;border-radius:25px}.login-card h2{font-size:30px!important}.login-card .input,.login-card .btn{min-height:52px}.login-mobile-brand{display:flex;align-items:center;gap:10px;width:max-content;max-width:100%;margin:0 auto 13px;padding:8px 11px;border:1px solid #dfe6ef;border-radius:16px;background:rgba(255,255,255,.92);box-shadow:0 12px 28px rgba(0,0,74,.07)}.login-mobile-brand img{width:43px;height:43px;object-fit:contain}.login-mobile-brand strong,.login-mobile-brand span{display:block}.login-mobile-brand strong{font-size:13px;letter-spacing:.12em;color:var(--brand-primary)}.login-mobile-brand span{font-size:9px;color:#78859a;margin-top:2px}.login-card>p{margin-bottom:18px}.login-visual{display:none!important}
}

@media(max-width:380px){.top-title h1{max-width:40vw;font-size:18px!important}.mobile-menu-btn,.top-quick{width:39px!important;height:39px!important}.mobile-dock{height:61px}.mobile-dock-item{height:49px}.mobile-dock-item svg{width:19px;height:19px}.spotlight-metrics{grid-template-columns:1fr!important}.book-mini-metrics{grid-template-columns:1fr!important}}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
@media(max-width:760px){.login-mobile-brand{display:flex;align-items:center;gap:10px;width:max-content;max-width:100%;margin:0 auto 13px;padding:8px 11px;border:1px solid #dfe6ef;border-radius:16px;background:rgba(255,255,255,.92);box-shadow:0 12px 28px rgba(0,0,74,.07)}.login-mobile-brand img{width:43px;height:43px;object-fit:contain}.login-mobile-brand strong,.login-mobile-brand span{display:block}.login-mobile-brand strong{font-size:13px;letter-spacing:.12em;color:var(--brand-primary)}.login-mobile-brand span{font-size:9px;color:#78859a;margin-top:2px}}

/* =========================================================
   REFIDER Data Hub v2.3.0 · Visor de hojas online
   ========================================================= */
.online-sheet-shell{--sheet-line:#dfe4ea;--sheet-head:#f3f6f9;--sheet-selected:#e8f2ff;--sheet-green:var(--brand-accent,#68bf00);border:1px solid #dce4ed;border-radius:20px;background:#fff;box-shadow:0 18px 50px rgba(14,35,70,.10);overflow:hidden;margin-top:10px}
.sheet-appbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-bottom:1px solid #e2e8ef;background:linear-gradient(180deg,#fff,#fbfcfe)}
.sheet-appbar-left{display:flex;align-items:center;gap:9px;min-width:0}.sheet-appbar-left>div{min-width:0}.sheet-appbar-left strong,.sheet-appbar-left small{display:block}.sheet-appbar-left strong{font-size:12px;color:#17243b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sheet-appbar-left small{font-size:8.5px;color:#8895a7;margin-top:2px}.sheet-file-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#edf9df,#dff4c7);color:#4f9700;border:1px solid #d3ebb7}.sheet-appbar-actions{display:flex;align-items:center;gap:7px;min-width:0}
.sheet-search{height:34px;min-width:220px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid #dce4ed;border-radius:10px;background:#f8fafc;color:#708096}.sheet-search:focus-within{border-color:color-mix(in srgb,var(--brand-primary) 35%,#dce4ed);box-shadow:0 0 0 3px rgba(0,0,116,.06);background:#fff}.sheet-search input{border:0;outline:0;background:transparent;width:100%;font-size:9px;color:#21314b}.sheet-filter-select{height:34px;border:1px solid #dce4ed;border-radius:10px;background:#fff;padding:0 30px 0 10px;font-size:9px;color:#31415a;font-weight:700;max-width:210px}.sheet-icon-btn{width:34px;height:34px;border:1px solid #dce4ed;border-radius:10px;background:#fff;color:#42526a;display:grid;place-items:center;cursor:pointer;transition:.18s}.sheet-icon-btn:hover{border-color:#bbc8d7;background:#f5f8fc;color:var(--brand-primary);transform:translateY(-1px)}
.sheet-tabs-online{margin:0;padding:8px 10px;border-bottom:1px solid #dfe6ed;background:#f8fafc;overflow-x:auto;display:flex;gap:6px}.sheet-tabs-online .sheet-tab{flex:0 0 auto;margin:0!important;box-shadow:none!important;border-radius:8px!important;min-height:30px!important;padding:6px 10px!important;background:#fff!important;color:#536176!important;border:1px solid #dfe5ec!important}.sheet-tabs-online .sheet-tab.active{background:#fff!important;color:var(--brand-primary)!important;border-color:color-mix(in srgb,var(--brand-primary) 35%,#dfe5ec)!important;box-shadow:inset 0 -3px 0 var(--sheet-green)!important}
.sheet-toolbar-row{height:38px;display:grid;grid-template-columns:70px 34px minmax(180px,1fr) auto auto;align-items:center;border-bottom:1px solid #dfe4ea;background:#fff}.sheet-name-box{height:100%;display:flex;align-items:center;padding:0 10px;border-right:1px solid #dfe4ea;font-size:9px;font-weight:800;color:#24344e;background:#f8fafc}.sheet-formula-label{height:100%;display:grid;place-items:center;border-right:1px solid #dfe4ea;font-family:Georgia,serif;font-style:italic;font-size:13px;color:#67778e}.sheet-formula-box{height:100%;display:flex;align-items:center;min-width:0;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9px;color:#3b4b63}.sheet-mini-btn{height:28px;margin-right:6px;padding:0 10px;border:1px solid #dfe4ea;border-radius:8px;background:#fff;color:#4d5d73;font-size:8px;font-weight:800;cursor:pointer}.sheet-mini-btn:hover{background:#f3f7fb;color:var(--brand-primary)}.sheet-zoom{display:flex;align-items:center;gap:3px;padding-right:8px}.sheet-zoom button{width:27px;height:27px;border:1px solid #dfe4ea;border-radius:8px;background:#fff;color:#34455e;font-weight:900;cursor:pointer}.sheet-zoom span{min-width:42px;text-align:center;font-size:8px;color:#5a697f;font-weight:800}
.sheet-viewport{position:relative;overflow:auto;max-height:68dvh;background:#fff;scrollbar-color:#a8b3c1 #eef2f5;scrollbar-width:thin}.sheet-canvas{position:relative;min-width:max-content;background:#fff}.sheet-grid{border-collapse:separate;border-spacing:0;table-layout:fixed;font-family:Arial,Helvetica,sans-serif;font-size:10px;color:#1f2c3e;background:#fff;zoom:1}.sheet-grid col.row-number-col{width:48px;min-width:48px}.sheet-grid th,.sheet-grid td{box-sizing:border-box}.sheet-col-letter,.sheet-corner{position:sticky;top:0;z-index:20;height:28px;background:#f2f4f7;color:#58667a;text-align:center;font-size:8px;font-weight:800;border-right:1px solid #d9dfe6;border-bottom:1px solid #cfd6df}.sheet-corner{left:0;z-index:30}.sheet-row-number{position:sticky;left:0;z-index:15;width:48px;min-width:48px;text-align:center;background:#f4f6f8;color:#788597;font-size:8px;font-weight:700;border-right:1px solid #cfd6df;border-bottom:1px solid #e2e6ea}.sheet-cell{height:24px;min-height:24px;padding:4px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-right:1px solid var(--sheet-line);border-bottom:1px solid var(--sheet-line);background-clip:padding-box;cursor:cell;transition:box-shadow .08s,background-color .08s}.sheet-cell:hover{box-shadow:inset 0 0 0 1px rgba(0,0,116,.18)}.sheet-cell.sheet-selected{position:relative;z-index:9;box-shadow:inset 0 0 0 2px #2c65d8!important;background-color:color-mix(in srgb,#2c65d8 7%,transparent)!important}.sheet-cell.sheet-match{background:#fff5ad!important}.sheet-cell.sheet-data-header{font-weight:800;color:#fff;background:var(--brand-primary);white-space:normal;line-height:1.15}.sheet-grid tr[data-header="1"] .sheet-cell{position:sticky;top:28px;z-index:12}.sheet-grid tr[data-header="1"] .sheet-row-number{position:sticky;top:28px;left:0;z-index:25;background:#e9edf2}.sheet-internal-link{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:inherit;text-decoration:none;font-weight:800}.sheet-internal-link:hover{text-decoration:underline;color:var(--brand-accent)}.sheet-drawing{position:absolute;z-index:7;object-fit:contain;pointer-events:none;filter:drop-shadow(0 3px 8px rgba(0,0,0,.08));max-width:none}.sheet-grid.no-gridlines .sheet-cell{border-color:transparent}.sheet-grid.no-gridlines .sheet-row-number,.sheet-grid.no-gridlines .sheet-col-letter{border-color:#e5e9ee}
.sheet-statusbar{min-height:38px;padding:7px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #dce3eb;background:#f8fafc;color:#6e7d91;font-size:8px}.sheet-statusbar>div{display:flex;align-items:center;gap:6px;min-width:0}.sheet-status-dot{width:7px;height:7px;border-radius:50%;background:#68bf00;box-shadow:0 0 0 3px rgba(104,191,0,.12)}.sheet-page-actions{margin-left:auto}.sheet-page-size select{height:28px;border:1px solid #dce4ed;border-radius:8px;background:#fff;padding:0 8px;font-size:8px;color:#43536a}.sheet-page-btn{width:28px;height:28px;border:1px solid #dce4ed;border-radius:8px;background:#fff;color:#30415a;display:grid;place-items:center;font-size:17px;text-decoration:none}.sheet-page-btn:hover{background:#f1f5f9;color:var(--brand-primary)}.sheet-csv-link{height:28px;display:flex;align-items:center;padding:0 9px;border-radius:8px;background:#edf8e4;color:#4a8d00;font-weight:900;text-decoration:none;border:1px solid #d7ecbf}.sheet-csv-link:hover{background:#e4f5d2;color:#3e7c00}.sheet-empty{padding:38px;text-align:center;color:#7c8a9d;background:#fff}
.preview-feature-strip{display:flex;flex-wrap:wrap;gap:7px;margin:9px 0 18px}.preview-feature-strip span{display:flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid #dfe6ed;border-radius:999px;background:#fff;color:#6f7e92;font-size:8px;box-shadow:0 5px 16px rgba(18,38,68,.04)}.preview-feature-strip b{color:#23324a}.sheet-search-empty{display:none;position:absolute;z-index:40;left:50%;top:55px;transform:translateX(-50%);padding:8px 12px;border-radius:10px;background:#18243a;color:#fff;font-size:8px;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.online-sheet-shell.sheet-fullscreen{position:fixed!important;z-index:1000!important;inset:8px!important;margin:0!important;border-radius:14px!important;display:flex;flex-direction:column;background:#fff}.online-sheet-shell.sheet-fullscreen .sheet-viewport{max-height:none;flex:1}.online-sheet-shell.sheet-fullscreen .sheet-canvas{min-height:100%}

@media(max-width:900px){.sheet-appbar{align-items:flex-start}.sheet-appbar-actions{flex-wrap:wrap;justify-content:flex-end}.sheet-search{min-width:160px}.sheet-filter-select{max-width:165px}.sheet-toolbar-row{grid-template-columns:62px 30px minmax(120px,1fr) auto}.sheet-zoom{display:none}.sheet-mini-btn{margin-right:7px}}
@media(max-width:760px){.preview-document-head{display:grid!important}.preview-document-head .toolbar{width:100%;display:grid;grid-template-columns:1fr 1fr}.online-sheet-shell{border-radius:16px}.sheet-appbar{display:grid;grid-template-columns:1fr}.sheet-appbar-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto;justify-content:stretch}.sheet-search{min-width:0;width:100%}.sheet-filter-form{grid-column:1/-1}.sheet-filter-select{max-width:none;width:100%}.sheet-toolbar-row{grid-template-columns:56px 28px minmax(0,1fr)}.sheet-mini-btn,.sheet-zoom{display:none}.sheet-formula-box{font-size:8px}.sheet-viewport{max-height:66dvh}.sheet-grid{font-size:9px}.sheet-grid col.row-number-col{width:40px;min-width:40px}.sheet-row-number{width:40px;min-width:40px}.sheet-statusbar{align-items:flex-start;display:grid}.sheet-page-actions{margin-left:0;flex-wrap:wrap}.preview-feature-strip{display:grid;grid-template-columns:1fr 1fr}.preview-feature-strip span{border-radius:12px}}
@media(max-width:480px){.sheet-appbar-actions{grid-template-columns:1fr auto}.sheet-icon-btn[data-sheet-gridlines]{display:none}.sheet-tabs-online{padding-left:7px;padding-right:7px}.sheet-tabs-online .sheet-tab{padding:6px 8px!important}.preview-feature-strip{grid-template-columns:1fr}.sheet-statusbar{font-size:7.5px}.sheet-csv-link{display:none}}

/* =========================================================
   REFIDER Data Hub v2.4.0 · Navegación estable + alertas
   ========================================================= */
.nav-caption-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px 6px}.nav-caption-row .nav-caption{padding:0 11px!important;min-width:0}.sidebar-collapse-btn{width:30px;height:30px;flex:0 0 30px;border:1px solid rgba(255,255,255,.13);border-radius:10px;background:rgba(255,255,255,.075);color:rgba(255,255,255,.82);display:grid;place-items:center;cursor:pointer;transition:.2s ease}.sidebar-collapse-btn:hover{background:rgba(255,255,255,.15);color:#fff;transform:translateX(-1px)}.sidebar-collapse-btn svg{transition:transform .2s ease}
.sidebar nav{scrollbar-color:rgba(255,255,255,.20) transparent}.sidebar nav::-webkit-scrollbar{width:5px}.sidebar nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.20);border-radius:99px}.sidebar nav::-webkit-scrollbar-track{background:transparent}

/* Sidebar de escritorio: ocupa exactamente el viewport y hace scroll solo en los módulos. */
@media(min-width:761px){
  .app-shell{display:block!important;min-height:100dvh!important}
  .sidebar{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:250px!important;height:100dvh!important;min-height:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;padding:16px 13px 12px!important;z-index:80!important;transition:width .24s cubic-bezier(.2,.75,.2,1),padding .24s ease!important}
  .sidebar .brand-logo{flex:0 0 auto;margin-bottom:10px!important}
  .sidebar .nav-caption-row{flex:0 0 auto}
  .sidebar nav{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;display:grid!important;align-content:start!important;gap:4px!important;padding:2px 2px 8px!important}
  .sidebar-foot{flex:0 0 auto!important;margin-top:0!important;padding-top:10px!important;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,50,.12))}
  .main{margin-left:250px!important;width:calc(100% - 250px)!important;min-height:100dvh!important;transition:margin-left .24s cubic-bezier(.2,.75,.2,1),width .24s cubic-bezier(.2,.75,.2,1)!important}
  body.sidebar-collapsed .sidebar{width:86px!important;padding-left:10px!important;padding-right:10px!important}
  body.sidebar-collapsed .main{margin-left:86px!important;width:calc(100% - 86px)!important}
  body.sidebar-collapsed .brand-logo{justify-content:center!important;padding:7px!important;margin-left:0!important;margin-right:0!important}
  body.sidebar-collapsed .brand-logo img{width:48px!important;height:48px!important}
  body.sidebar-collapsed .brand-logo>div,body.sidebar-collapsed .nav-caption,body.sidebar-collapsed .nav-link span,body.sidebar-collapsed .user-chip>div:not(.avatar){display:none!important}
  body.sidebar-collapsed .nav-caption-row{justify-content:center!important}
  body.sidebar-collapsed .sidebar-collapse-btn svg{transform:rotate(180deg)}
  body.sidebar-collapsed .sidebar .nav-link{justify-content:center!important;padding:9px!important;min-height:42px!important}
  body.sidebar-collapsed .sidebar .nav-link.active i{right:4px!important}
  body.sidebar-collapsed .user-chip{justify-content:center!important;padding:7px!important}
  body.sidebar-collapsed .logout-link{justify-content:center!important}
}

/* En laptops angostos el menú usa automáticamente modo compacto para dar más área al contenido. */
@media(min-width:761px) and (max-width:1080px){
  .sidebar{width:88px!important;padding-left:10px!important;padding-right:10px!important}.main{margin-left:88px!important;width:calc(100% - 88px)!important}
  .brand-logo{justify-content:center!important;padding:7px!important}.brand-logo img{width:48px!important;height:48px!important}.brand-logo>div,.nav-caption,.nav-link span,.sidebar-foot .user-chip>div:not(.avatar){display:none!important}
  .nav-caption-row{justify-content:center!important}.sidebar-collapse-btn{display:none!important}.sidebar .nav-link{justify-content:center!important;padding:9px!important}.sidebar .nav-link.active i{right:4px!important}.user-chip,.logout-link{justify-content:center!important}
}

/* Menú móvil: prevalece sobre el sidebar fijo de escritorio. */
@media(max-width:760px){
  .main{margin-left:0!important;width:100%!important}.sidebar-collapse-btn{display:none!important}.nav-caption-row{display:block!important}.nav-caption-row .nav-caption{display:block!important}
  .sidebar nav{flex:1 1 auto!important;min-height:0!important}.sidebar-foot{flex:0 0 auto!important}
}

/* Pantallas de poca altura: más densidad sin ocultar opciones. */
@media(min-width:761px) and (max-height:760px){
  .sidebar{padding-top:10px!important;padding-bottom:8px!important}.brand-logo{margin-bottom:6px!important;padding-top:7px!important;padding-bottom:7px!important}.brand-logo img{width:45px!important;height:45px!important}.sidebar .nav-link{min-height:38px!important;padding-top:7px!important;padding-bottom:7px!important}.sidebar-foot{padding-top:7px!important}.user-chip{padding-top:6px!important;padding-bottom:6px!important}
}

/* Notificaciones operativas */
.notification-trigger{position:relative;width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.96);color:var(--brand-primary);cursor:pointer;box-shadow:0 6px 20px rgba(13,34,69,.045);transition:.2s}.notification-trigger:hover{transform:translateY(-2px);box-shadow:0 11px 28px rgba(0,0,116,.10);border-color:color-mix(in srgb,var(--brand-primary) 18%,var(--line))}.notification-trigger b{position:absolute;right:-5px;top:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:#d9465b;color:#fff;border:2px solid #fff;display:grid;place-items:center;font-size:8px;line-height:1;font-weight:900;box-shadow:0 5px 12px rgba(217,70,91,.28)}
.notification-drawer{position:fixed;inset:0;z-index:210;pointer-events:none;visibility:hidden}.notification-drawer.open{pointer-events:auto;visibility:visible}.notification-backdrop{position:absolute;inset:0;border:0;background:rgba(5,9,31,.30);backdrop-filter:blur(5px);opacity:0;transition:.22s}.notification-drawer.open .notification-backdrop{opacity:1}.notification-panel{position:absolute;right:12px;top:12px;bottom:12px;width:min(430px,calc(100vw - 24px));display:flex;flex-direction:column;background:#fff;border:1px solid #dfe6ef;border-radius:24px;box-shadow:0 28px 80px rgba(5,17,52,.24);transform:translate3d(25px,0,0);opacity:0;transition:.25s cubic-bezier(.2,.75,.2,1);overflow:hidden}.notification-drawer.open .notification-panel{transform:none;opacity:1}.notification-panel>header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:20px 20px 15px;border-bottom:1px solid #e7ecf2;background:linear-gradient(145deg,#fff,#f9fbfe)}.notification-panel h2{margin:4px 0 3px;font-size:21px;letter-spacing:-.035em}.notification-panel header p{margin:0;font-size:9px;color:#7b8798}.notification-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:10px}.notification-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:11px;padding:12px;border:1px solid #e4e9f0;border-radius:15px;margin-bottom:8px;background:#fff;transition:.18s}.notification-item:hover{transform:translateY(-1px);border-color:#cbd7e4;box-shadow:0 10px 25px rgba(16,35,69,.07)}.notification-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#eef3f9;color:#395572}.notification-item strong{display:block;font-size:10.5px;color:#1c2940}.notification-item p{font-size:8.6px;line-height:1.5;color:#77859a;margin:3px 0 0}.notification-item.critical .notification-icon{background:#fff0f2;color:#bc3048}.notification-item.critical{border-left:3px solid #d9465b}.notification-item.warning .notification-icon{background:#fff7e7;color:#a77312}.notification-item.warning{border-left:3px solid #e8b93a}.notification-item.info .notification-icon{background:#eef5ff;color:#2c6ea6}.notification-item.info{border-left:3px solid #56a0d8}.notification-empty{min-height:230px;display:grid;place-items:center;align-content:center;text-align:center;color:#78869a}.notification-empty svg{color:var(--brand-accent);margin-bottom:8px}.notification-empty strong{font-size:13px;color:#263650}.notification-empty span{font-size:9px;margin-top:4px}.notification-panel>footer{display:flex;gap:7px;flex-wrap:wrap;padding:12px 14px;border-top:1px solid #e7ecf2;background:#fafbfd}
body.notifications-open{overflow:hidden}

/* Mejor lectura de tablas administrativas */
.admin-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:4px 0 14px}.admin-summary-card{display:flex;align-items:center;gap:10px;min-height:76px;padding:11px 12px;border:1px solid #dfe6ee;border-radius:15px;background:linear-gradient(145deg,#fff,#f8fbfe);box-shadow:0 8px 22px rgba(18,40,74,.045)}.admin-summary-card>span{width:36px;height:36px;flex:0 0 36px;border-radius:11px;display:grid;place-items:center;background:#eef4fb;color:var(--brand-primary)}.admin-summary-card strong,.admin-summary-card small{display:block}.admin-summary-card strong{font-size:18px;line-height:1;color:#182640}.admin-summary-card small{font-size:8px;color:#7d8a9d;margin-top:4px}.admin-summary-card.warn>span{background:#fff6df;color:#ad7a10}.admin-summary-card.green>span{background:#eff9e8;color:#568c1b}.admin-summary-card.red>span{background:#fff0f2;color:#bd3c51}.admin-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-bottom:1px solid var(--line);background:#fbfcfe}.admin-table-toolbar .searchbox{max-width:360px;flex:1}.role-filter{display:flex;gap:5px;flex-wrap:wrap}.role-filter button{border:1px solid #dce4ed;border-radius:999px;background:#fff;color:#68788e;padding:6px 9px;font-size:8px;font-weight:850;cursor:pointer}.role-filter button.active{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}

@media(max-width:760px){.notification-trigger{width:42px;height:42px;border-radius:13px}.notification-panel{inset:8px;width:auto;border-radius:22px}.admin-summary-grid{grid-template-columns:1fr 1fr}.admin-table-toolbar{align-items:stretch;flex-direction:column}.admin-table-toolbar .searchbox{max-width:none;width:100%}}
@media(max-width:420px){.admin-summary-grid{grid-template-columns:1fr}.notification-panel>header{padding:17px 16px 13px}.notification-list{padding:8px}}

/* REFIDER Data Hub v2.5.0 · Vaciado seguro de periodos */
.month-reset-note{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:6px 9px;border-radius:999px;background:#fff5df;border:1px solid #f0ddb6;color:#9a631d;font-size:10px;font-weight:800}.reset-month-modal{width:min(720px,100%);padding:0;overflow:hidden}.reset-month-head{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;padding:22px 22px 18px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fff 0%,#fff8f8 100%)}.reset-month-head h2{margin:4px 0 5px;font-size:23px;letter-spacing:-.035em}.reset-month-head p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}.reset-month-icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:#fdeaea;color:#b74444;border:1px solid #f5cece}.reset-impact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:18px 22px 0}.reset-impact-grid>div{border:1px solid var(--line);border-radius:14px;padding:13px;background:var(--surface-2)}.reset-impact-grid strong,.reset-impact-grid span{display:block}.reset-impact-grid strong{font-size:22px;line-height:1;color:#a33f3f}.reset-impact-grid span{font-size:9px;color:var(--muted);margin-top:6px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.reset-warning{margin:14px 22px 0;padding:14px 15px;border-radius:14px;background:#fff3f3;border:1px solid #f0cccc;color:#7d3131}.reset-warning strong{font-size:11px}.reset-warning p{font-size:10px;line-height:1.6;margin:5px 0 0}.reset-backup-note{display:flex;gap:11px;align-items:flex-start;margin:10px 22px 0;padding:13px 14px;border-radius:14px;background:#f1faeb;border:1px solid #dcefc9;color:#466f1c}.reset-backup-note svg{flex:0 0 auto;margin-top:1px}.reset-backup-note strong,.reset-backup-note span{display:block}.reset-backup-note strong{font-size:10px}.reset-backup-note span{font-size:9px;line-height:1.55;margin-top:3px;color:#63803e}.reset-month-modal form{padding:16px 22px 22px}.reset-confirm-input{border-color:#e7b7b7;background:#fffafa}.reset-confirm-input:focus{border-color:#c65151;box-shadow:0 0 0 4px rgba(198,81,81,.08)}.reset-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:2px}.month-focus-actions form{display:inline-flex;margin:0}@media(max-width:620px){.reset-impact-grid{grid-template-columns:1fr 1fr}.reset-impact-grid>div:last-child{grid-column:1/-1}.reset-month-head{grid-template-columns:auto 1fr}.reset-month-head>.icon-btn{grid-column:2;grid-row:1;justify-self:end}.reset-actions{display:grid;grid-template-columns:1fr}.reset-actions .btn{width:100%}.month-focus-actions{width:100%}.month-focus-actions>a,.month-focus-actions>button,.month-focus-actions>form,.month-focus-actions>form .btn{width:100%}}
