:root{
  --mock-bg:#f6fbfa;
  --mock-surface:#ffffff;
  --mock-line:#dfe9e8;
  --mock-text:#0f2c36;
  --mock-muted:#6f8591;
  --mock-teal:#0d7d78;
  --mock-teal-2:#0bb4b4;
  --mock-teal-3:#083b45;
  --mock-blue:#3678ff;
  --mock-purple:#7b4dff;
  --mock-orange:#ff9b3f;
  --mock-red:#ff5e65;
  --mock-shadow:0 18px 40px rgba(16,46,61,.08);
}
body{background:var(--mock-bg);color:var(--mock-text)}
.mockup-shell{grid-template-columns:290px 1fr;background:var(--mock-bg)}
.mockup-sidebar{background:linear-gradient(180deg,#032b34 0%, #063841 36%, #072b33 100%);padding:22px 18px;box-shadow:inset -1px 0 0 rgba(255,255,255,.06)}
.mockup-brand-box{padding-bottom:22px;margin-bottom:18px;border-bottom:1px solid rgba(255,255,255,.08)}
.mockup-brand-logo{width:210px;max-width:100%}
.mockup-nav{gap:10px}.mockup-nav .nav-direct,.mockup-nav .nav-group summary,.mockup-nav .nav-group-links a{border-radius:16px}
.mockup-nav .nav-direct{background:rgba(255,255,255,.03)}
.mockup-nav details{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);padding:8px 8px 10px}
.mockup-nav summary{padding:10px 12px;cursor:pointer;list-style:none}.mockup-nav summary::-webkit-details-marker{display:none}
.mockup-nav .nav-group-links{display:flex;flex-direction:column;gap:6px;padding:4px 4px 0}.mockup-nav .nav-group-links a{padding:10px 12px;color:#dff6f3}
.mockup-nav .nav-group-links a:hover,.mockup-nav .nav-direct:hover{background:rgba(13,180,180,.12)}
.mockup-sidebar .nav-icon{width:18px;display:inline-flex;justify-content:center;margin-right:10px;opacity:.9}.mockup-sidebar .nav-title{display:flex;align-items:center;font-weight:800;color:#fff}.mockup-sidebar .nav-caret{color:#9dded8}
.mockup-sidebar-tools{margin-top:16px;display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.mockup-sidebar-tools .sidebar-tool{background:transparent;border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:14px;padding:12px 10px;font-weight:700}
.mockup-main{min-width:0}.mockup-topbar{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;background:#fff;border-bottom:1px solid var(--mock-line);padding:18px 26px;position:sticky;top:0;z-index:20}
.mockup-topbar .topbar-center{min-width:0}.mockup-search{display:flex;align-items:center;gap:10px;background:#fbfdfd;border:1px solid var(--mock-line);border-radius:18px;padding:0 14px;height:54px;max-width:480px;margin:0 auto}.mockup-search input{border:0;outline:0;background:transparent;flex:1;font-size:15px}.mockup-search kbd{background:#eef4f4;border:1px solid #d9e4e4;border-radius:8px;padding:3px 7px;font-size:12px;color:#567}.icon-btn{width:48px;height:48px;border-radius:14px;border:1px solid var(--mock-line);background:#fff}.mockup-user-chip{padding:10px 14px;border-radius:16px}.mockup-new-btn{height:50px;padding:0 22px;border-radius:14px;background:linear-gradient(135deg,#0a6f6c,#0b9a92)}
.mockup-content{padding:24px 26px 40px}.section-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:900;color:#0a7b75;margin-bottom:6px}.mockup-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.mockup-page-head h2{margin:0 0 6px;font-size:42px;line-height:1.05}.page-head-actions{display:flex;gap:10px}.pill-btn{height:42px;padding:0 16px;border-radius:14px;border:1px solid var(--mock-line);background:#fff;color:var(--mock-text);font-weight:700}
.card{background:var(--mock-surface);border:1px solid var(--mock-line);border-radius:26px;padding:22px;box-shadow:var(--mock-shadow)}
.card h3{font-size:24px;margin:0 0 14px}.muted{color:var(--mock-muted)}
.mockup-kpi-grid{display:grid;gap:18px;margin-bottom:18px}.mockup-kpi-grid.three-up{grid-template-columns:1.1fr 1.1fr 1fr}.mockup-kpi-grid.five-up{grid-template-columns:1fr 1fr .8fr .8fr .8fr}
.mockup-chart-card .chart-card{box-shadow:none;border:0;padding:0;background:transparent}.mockup-chart-card .chart-title{font-weight:800;font-size:18px;color:var(--mock-text);margin-bottom:14px}.chart-grid{display:grid;gap:18px}.donut{width:180px;height:180px;margin:0 auto 16px;position:relative;border-radius:50%}.donut::after{content:'';position:absolute;inset:18px;background:#fff;border-radius:50%;box-shadow:inset 0 0 0 1px #edf3f3}.donut span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:1;font-size:38px;font-weight:900;color:var(--mock-text)}
.legend{display:grid;gap:8px}.legend span{display:flex;align-items:center;gap:8px;color:var(--mock-muted);font-weight:700}.dot{width:10px;height:10px;border-radius:50%}.c1{background:var(--mock-teal)}.c2{background:var(--mock-blue)}.c3{background:var(--mock-purple)}.c4{background:var(--mock-orange)}
.bar-list{display:grid;gap:16px}.bar-row{display:grid;grid-template-columns:180px 1fr auto;gap:12px;align-items:center}.bar-row span{font-weight:700;color:var(--mock-text)}.bar-track{height:10px;background:#edf3f3;border-radius:999px;overflow:hidden}.bar-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--mock-teal),var(--mock-teal-2))}
.mockup-health-shell{margin-bottom:18px}.mockup-health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.mockup-health-card{border:1px solid var(--mock-line);border-radius:22px;padding:18px;background:#fbfdfd}.health-card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:12px}.health-card-top strong{display:block;font-size:20px}.health-card-top span{color:var(--mock-muted);font-size:13px}.health-state{padding:7px 12px;border-radius:999px;font-size:12px;font-weight:900}.health-state.ok{background:#e7faf2;color:#117b46}.health-state.warning{background:#fff2e7;color:#ca6a00}.health-state.pending{background:#f1ecff;color:#6b42e2}
.health-meter{display:grid;grid-template-columns:46px 1fr auto;gap:10px;align-items:center;margin:12px 0}.health-meter label{font-weight:800;color:#314b57;font-size:12px}.health-meter i{height:8px;border-radius:999px;background:linear-gradient(90deg,var(--mock-teal),#24c3be);display:block}.health-meter em{font-style:normal;color:#4f6470;font-weight:700;font-size:12px}
.mockup-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mockup-table{width:100%;border-collapse:separate;border-spacing:0}.mockup-table thead th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#6a7f8a;background:#f7fbfb;padding:14px;border-bottom:1px solid var(--mock-line);text-align:left}.mockup-table tbody td{padding:14px;border-bottom:1px solid #eef3f3;color:#233944;vertical-align:top}.mockup-table tbody tr:hover{background:#fbfefe}
.admin-hero{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;margin-bottom:18px}.admin-hero-icon{width:72px;height:72px;border-radius:24px;background:linear-gradient(135deg,#def7f3,#eefbfb);display:flex;align-items:center;justify-content:center;font-size:30px}.stat-card span,.money-card span{display:block;color:var(--mock-muted);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.stat-card strong,.money-card strong{display:block;font-size:34px;margin-top:8px;color:var(--mock-text)}.stat-card small,.money-card small{display:block;margin-top:8px;color:#0f8c79;font-weight:800}
.mockup-kpi-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}.strip-kpi{background:#fff;border:1px solid var(--mock-line);border-radius:20px;padding:14px 16px;box-shadow:var(--mock-shadow)}.strip-kpi span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--mock-muted);font-weight:800}.strip-kpi strong{display:block;font-size:28px;margin-top:8px;color:var(--mock-text)}
.mockup-inbox-card{overflow:hidden}.filter-row{display:grid;grid-template-columns:minmax(260px,1.6fr) 180px auto;gap:10px;align-items:end}.filter-row input,.filter-row select,.mockup-login-card input{height:50px;border:1px solid var(--mock-line);border-radius:14px;padding:0 14px;background:#fff}.professional-table thead th{font-size:12px;font-weight:900;color:#5b6b7f;text-transform:uppercase;letter-spacing:.06em;background:#f8fafc}.professional-table td{padding:14px;vertical-align:middle}.professional-table td strong{display:block;color:#172b4d}.professional-table td small{display:block;color:#7b8794;margin-top:4px}.inbox-quick-filters{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 16px}.mini-chip{display:inline-flex;align-items:center;padding:10px 12px;border-radius:999px;background:#eef8f7;color:#0a7c74;font-weight:800;border:1px solid #d5efed}.attachment-btn{display:inline-flex;align-items:center;justify-content:center;min-width:138px;border-radius:12px;background:#effaf9;color:#085f61;border:1px solid #98dfdc;font-weight:900}
.mockup-login-page{display:grid;grid-template-columns:1.05fr .95fr;min-height:100vh;background:#f7fbfa}.mockup-login-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 52% 8%, rgba(13,180,180,.28), transparent 22%), linear-gradient(135deg,#042930 0%,#01434d 42%,#021b22 100%);color:#fff}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 35%), radial-gradient(circle at 76% 80%, rgba(13,180,180,.24), transparent 18%)}.hero-overlay::before{content:'';position:absolute;left:0;right:0;bottom:-40px;height:220px;background:radial-gradient(circle at 60% 0%, rgba(13,180,180,.35), transparent 38%)}.hero-overlay::after{content:'';position:absolute;left:12%;right:10%;bottom:36px;height:160px;border-bottom:2px solid rgba(13,180,180,.28);border-radius:0 0 60% 60%;box-shadow:0 -20px 0 rgba(13,180,180,.08),0 -46px 0 rgba(13,180,180,.05)}.hero-inner{position:relative;z-index:1;max-width:640px;padding:58px 54px 46px}.hero-logo{width:240px;max-width:100%;margin-bottom:26px}.hero-kicker{text-transform:uppercase;letter-spacing:.16em;font-weight:900;font-size:14px;color:#0ed0c8;margin-bottom:18px}.mockup-login-hero h1{font-size:62px;line-height:.98;margin:0 0 14px}.mockup-login-hero p{font-size:22px;line-height:1.45;color:#d8f4f1;max-width:520px}.hero-bullets{display:grid;gap:18px;margin-top:40px}.hero-bullet{display:grid;grid-template-columns:42px 1fr;gap:16px;align-items:start}.hero-bullet span{width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:#7df2eb}.hero-bullet strong{display:block;font-size:26px;margin-bottom:4px}.hero-bullet small{display:block;font-size:17px;line-height:1.5;color:#c8eeea}
.mockup-login-panel{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:50px;background:#f7fbfa}.login-env-pill{align-self:flex-end;margin-bottom:18px;padding:12px 16px;border-radius:999px;background:#fff;border:1px solid var(--mock-line);font-weight:800;color:#0d6e69}.mockup-login-card{width:min(560px,100%);background:#fff;border:1px solid var(--mock-line);border-radius:32px;padding:42px 44px;box-shadow:var(--mock-shadow)}.login-card-head-icon{width:70px;height:70px;border-radius:50%;margin:0 auto 20px;background:#eefaf8;display:flex;align-items:center;justify-content:center;font-size:28px}.mockup-login-card h2{text-align:center;font-size:42px;margin:0 0 10px}.mockup-login-card>p{text-align:center;font-size:20px;color:var(--mock-muted);margin:0 0 26px}.mockup-login-card label{display:block;font-size:15px;font-weight:800;margin:16px 0 8px;color:#25424d}.login-remember-row{display:flex;justify-content:space-between;align-items:center;margin:18px 0 20px}.login-remember-row a{color:#0b7f79;font-weight:800}.remember-check{display:flex;align-items:center;gap:8px;font-weight:700;color:#456}.login-submit{width:100%;height:58px;border-radius:16px;font-size:20px}.login-help{margin-top:16px;text-align:center;color:#567;font-size:14px}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:#eef7f6;color:var(--mock-teal);font-weight:900;font-size:12px;white-space:nowrap}.status-requiere_revision{background:#fff7ed;color:#c2410c}.status-pendiente_revision,.status-pending{background:#eff6ff;color:#1d4ed8}.status-procesado{background:#ecfdf5;color:#047857}.status-aprobado,.status-ok{background:#dcfce7;color:#166534}.status-fallido,.status-warning{background:#fff4eb;color:#c96a11}.status-duplicado{background:#f3e8ff;color:#7c3aed}
.flash-stack{padding:0 26px;margin-top:16px}.flash{padding:11px 13px;border-radius:13px;margin:8px 0;background:#eef7f6;border:1px solid #d6e8e5;color:#163c38}.flash.danger{background:#fff5f5;border-color:#fed7d7;color:#c0392b}.flash.warning{background:#fffaf0;border-color:#feebc8;color:#b7791f}.flash.success{background:#effcf6;border-color:#c6f6d5}.flash.info{background:#eef7ff;border-color:#bee3f8}
@media (max-width: 1440px){.mockup-kpi-grid.five-up{grid-template-columns:repeat(3,minmax(0,1fr))}.mockup-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 1180px){.mockup-shell{grid-template-columns:1fr}.mockup-sidebar{position:relative;height:auto}.mockup-topbar{grid-template-columns:1fr;}.mockup-search{max-width:none}.mockup-login-page{grid-template-columns:1fr}.mockup-kpi-grid.three-up,.mockup-kpi-grid.five-up,.mockup-bottom-grid,.mockup-health-grid{grid-template-columns:1fr}.filter-row{grid-template-columns:1fr}.mockup-page-head{flex-direction:column}.mockup-page-head h2,.mockup-login-card h2,.mockup-login-hero h1{font-size:34px}}
