
:root{
 --navy:#0b1f33;--navy2:#102a43;--blue:#2563eb;--cyan:#06b6d4;--bg:#f4f7fb;--card:#fff;
 --text:#17212b;--muted:#708094;--line:#dfe7ef;--danger:#dc2626;--success:#0f9f6e;--warning:#d97706;
 --sidebar:278px;--radius:20px;--shadow:0 12px 35px rgba(21,39,62,.08)
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}
a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.mobile-only{display:none}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar);background:linear-gradient(180deg,#071827 0%,#0b2237 60%,#0b1f33 100%);color:#fff;z-index:40;display:flex;flex-direction:column;box-shadow:10px 0 35px rgba(2,19,35,.08);transition:.25s}
.brand{height:86px;padding:18px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.08)}.brand img{width:185px;height:auto;filter:brightness(0) invert(1)}.brand .icon-btn{margin-left:auto;color:#b8ccdc}
.sidebar-scroll{padding:16px 14px;overflow:auto;flex:1}.menu-group{margin-bottom:11px}.menu-heading{width:100%;border:0;background:transparent;color:#7894aa;text-transform:uppercase;font-weight:800;letter-spacing:.08em;font-size:.69rem;padding:11px 12px;display:flex;justify-content:space-between;cursor:pointer}.menu-group:not(.open) .menu-items{display:none}.menu-group:not(.open) .menu-heading i{transform:rotate(-90deg)}
.menu-link{display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:14px;color:#c7d5e1;font-weight:650;margin:4px 0;transition:.2s}.menu-link:hover{background:rgba(255,255,255,.07);color:#fff}.menu-link.active{background:linear-gradient(90deg,rgba(37,99,235,.95),rgba(6,182,212,.76));color:#fff;box-shadow:0 8px 24px rgba(37,99,235,.22)}
.menu-link i{font-size:1.04rem}.sidebar-user{padding:14px;border-top:1px solid rgba(255,255,255,.08);display:grid;grid-template-columns:40px 1fr 28px;align-items:center;gap:10px}.sidebar-user .avatar{width:40px;height:40px;border-radius:13px;background:linear-gradient(135deg,var(--cyan),var(--blue));display:grid;place-items:center;font-weight:900}.sidebar-user strong,.sidebar-user small{display:block}.sidebar-user small{font-size:.73rem;color:#8fa7b9;margin-top:2px}
.app-main{margin-left:var(--sidebar);min-height:100vh;transition:.25s}.topbar{height:86px;background:rgba(255,255,255,.91);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:25;padding:0 30px;display:flex;align-items:center;justify-content:space-between}.topbar small{display:block;color:var(--muted);font-weight:700;font-size:.72rem}.topbar h1{font-size:1.4rem;margin:2px 0 0;color:var(--navy)}.content{padding:28px 30px 50px;max-width:1680px;margin:auto}.app-footer{padding:20px 30px 35px;color:var(--muted);font-size:.8rem;text-align:center}
.icon-btn{border:0;background:transparent;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;cursor:pointer}.icon-btn:hover{background:rgba(110,130,150,.12)}
.btn{border:0;border-radius:12px;padding:10px 15px;font-weight:800;display:inline-flex;align-items:center;gap:8px;cursor:pointer;min-height:42px}.btn-primary{background:linear-gradient(135deg,var(--blue),#1d4ed8);color:#fff;box-shadow:0 8px 20px rgba(37,99,235,.18)}.btn-light{background:#eef3f8;color:#334155}.btn-danger{background:#fee2e2;color:#b91c1c}.btn-sm{padding:7px 10px;min-height:34px;font-size:.82rem}
.hero{background:linear-gradient(115deg,#0b1f33,#102f50);color:#fff;border-radius:24px;padding:28px;display:grid;grid-template-columns:1.3fr .7fr;gap:20px;overflow:hidden;position:relative;box-shadow:var(--shadow);margin-bottom:22px}.hero:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(6,182,212,.22),transparent 65%);right:-80px;top:-180px}.hero h2{margin:4px 0 7px;font-size:2rem}.hero p{margin:0;color:#cfe0ed;max-width:800px}.hero .hero-actions{display:flex;justify-content:flex-end;align-items:center;z-index:2}.hero .btn{background:#fff;color:var(--navy)}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px}.kpi-card{position:relative;min-height:158px;border-radius:20px;overflow:hidden;color:#fff;padding:22px;background-size:cover;background-position:center;box-shadow:var(--shadow)}.kpi-card:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(4,16,28,.9),rgba(4,16,28,.58))}.kpi-card>*{position:relative;z-index:2}.kpi-card .eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#bcd0df;font-weight:800}.kpi-card .value{font-size:2rem;font-weight:900;margin-top:12px}.kpi-card .note{font-size:.82rem;color:#cfe0ed;margin-top:6px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}.panel-head{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head h3{margin:0;color:var(--navy);font-size:1.05rem}.panel-body{padding:20px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.section-title{display:flex;justify-content:space-between;align-items:center;margin:0 0 16px}.section-title h2{font-size:1.15rem;color:var(--navy);margin:0}
.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:760px}.table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#6d7f91;background:#f7f9fc;text-align:left;padding:12px;border-bottom:1px solid var(--line)}.table td{padding:13px 12px;border-bottom:1px solid #edf2f6;font-size:.9rem;vertical-align:middle}.table tr:hover td{background:#fbfdff}.actions{display:flex;gap:7px}
.badge{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:.73rem;font-weight:800}.badge-draft{background:#eef2f7;color:#64748b}.badge-sent{background:#dbeafe;color:#1d4ed8}.badge-accepted{background:#d1fae5;color:#047857}.badge-rejected{background:#fee2e2;color:#b91c1c}.badge-expired{background:#ffedd5;color:#c2410c}
.catalog-card{position:relative;min-height:205px;border-radius:20px;overflow:hidden;color:#fff;padding:20px;background-size:cover;background-position:center;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:flex-end}.catalog-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,18,32,.2),rgba(5,18,32,.94))}.catalog-card>*{position:relative}.catalog-card h3{margin:4px 0;font-size:1.12rem}.catalog-card p{margin:4px 0;color:#cbd8e3;font-size:.82rem}.catalog-card .price{font-weight:900;font-size:1.08rem;margin-top:9px}.catalog-card .card-actions{position:absolute;top:13px;right:13px;display:flex;gap:6px}.catalog-card .card-actions .btn{background:rgba(255,255,255,.9);color:#12263a}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:.78rem;font-weight:800;color:#46586a}.field input,.field select,.field textarea{width:100%;border:1px solid #d7e1ea;background:#fff;border-radius:12px;padding:11px 12px;outline:none;color:#182533;min-height:44px}.field textarea{min-height:96px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#8cb8ff;box-shadow:0 0 0 3px rgba(37,99,235,.09)}
.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.filters input,.filters select{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff}
.drawer-backdrop{position:fixed;inset:0;background:rgba(4,16,28,.48);z-index:70;opacity:0;visibility:hidden;transition:.2s}.drawer{position:fixed;top:0;right:0;height:100vh;width:min(560px,94vw);background:#fff;z-index:80;transform:translateX(102%);transition:.25s;box-shadow:-20px 0 60px rgba(5,20,36,.18);display:flex;flex-direction:column}.drawer.open{transform:none}.drawer-backdrop.open{opacity:1;visibility:visible}.drawer-head{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.drawer-head small{color:var(--muted);font-weight:700}.drawer-head h2{margin:2px 0 0;color:var(--navy);font-size:1.25rem}.drawer-body{padding:20px;overflow:auto;flex:1}
.alert{padding:12px 14px;border-radius:12px;margin-bottom:14px;font-weight:700}.alert-success{background:#d1fae5;color:#06634b}.alert-danger{background:#fee2e2;color:#991b1b}.alert-warning{background:#ffedd5;color:#9a3412}
.quote-builder{display:grid;grid-template-columns:1.45fr .55fr;gap:20px}.quote-items .item-row{display:grid;grid-template-columns:2.1fr .65fr .65fr .65fr .3fr;gap:8px;align-items:end;padding:12px 0;border-bottom:1px solid #edf2f6}.quote-items .item-row .field{gap:4px}.quote-summary{position:sticky;top:106px;height:max-content}.summary-row{display:flex;justify-content:space-between;padding:9px 0;color:#506173}.summary-row.total{font-size:1.25rem;font-weight:900;color:var(--navy);border-top:1px solid var(--line);margin-top:6px;padding-top:14px}.empty{padding:30px;text-align:center;color:var(--muted)}
.mobile-bottom-nav{display:none}
.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#fff}.login-visual{position:relative;background:linear-gradient(135deg,rgba(7,24,39,.94),rgba(10,55,88,.86)),url('../img/cards/ventas.svg') center/cover;color:#fff;padding:56px;display:flex;flex-direction:column;justify-content:space-between}.login-visual img{width:230px;filter:brightness(0) invert(1)}.login-visual h1{font-size:3.1rem;max-width:680px;margin:0}.login-visual p{font-size:1.05rem;color:#cfe0ed;max-width:640px}.login-box{display:grid;place-items:center;padding:32px}.login-card{width:min(430px,100%)}.login-card h2{font-size:2rem;color:var(--navy);margin-bottom:7px}.login-card>p{color:var(--muted);margin-top:0}.login-card .field{margin-bottom:13px}.login-card .btn{width:100%;justify-content:center;margin-top:7px}
body.sidebar-collapsed{--sidebar:86px}body.sidebar-collapsed .brand img{width:48px;object-fit:cover;object-position:left}body.sidebar-collapsed .menu-heading span,body.sidebar-collapsed .menu-heading i,body.sidebar-collapsed .menu-link span,body.sidebar-collapsed .sidebar-user>div:not(.avatar),body.sidebar-collapsed .sidebar-user>a{display:none}body.sidebar-collapsed .menu-link{justify-content:center}body.sidebar-collapsed .sidebar-user{grid-template-columns:1fr;justify-items:center}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.quote-builder{grid-template-columns:1fr}.quote-summary{position:static}.grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){
 .desktop-only{display:none!important}.mobile-only{display:grid}.sidebar{transform:translateX(-102%);width:min(310px,88vw)}.sidebar.open{transform:none}.mobile-overlay{position:fixed;inset:0;background:rgba(4,16,28,.48);z-index:35;opacity:0;visibility:hidden;transition:.2s}.mobile-overlay.open{opacity:1;visibility:visible}
 .app-main{margin-left:0}.topbar{height:74px;padding:0 16px}.topbar h1{font-size:1.14rem}.content{padding:18px 14px 90px}.hero{grid-template-columns:1fr;padding:22px}.hero h2{font-size:1.55rem}.hero .hero-actions{justify-content:flex-start}.kpi-grid{grid-template-columns:1fr 1fr;gap:12px}.kpi-card{min-height:135px;padding:17px}.kpi-card .value{font-size:1.55rem}.grid-2,.grid-3,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.panel-head{padding:15px}.panel-body{padding:15px}
 .mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;height:68px;background:#fff;border-top:1px solid var(--line);z-index:30;display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -8px 22px rgba(12,31,50,.07)}.mobile-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.64rem;color:#718195;gap:3px}.mobile-bottom-nav a i{font-size:1.12rem}.mobile-bottom-nav a.active{color:var(--blue)}.mobile-bottom-nav .bottom-create{width:52px;height:52px;align-self:center;justify-self:center;border-radius:18px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;transform:translateY(-13px);box-shadow:0 10px 25px rgba(37,99,235,.24)}.mobile-bottom-nav .bottom-create i{font-size:1.45rem}
 .quote-items .item-row{grid-template-columns:1fr 1fr}.quote-items .item-row .field:first-child{grid-column:1/-1}.quote-items .item-row .remove-wrap{grid-column:2;justify-self:end}.app-footer{display:none}
}
@media(max-width:560px){.kpi-grid{grid-template-columns:1fr}.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-box{padding:24px}.catalog-card{min-height:190px}.drawer{width:100vw}.top-actions .btn{padding:9px 12px}}

/* Landing / visual settings */
.settings-block{padding:4px 0 18px}.settings-block + .settings-block{border-top:1px solid var(--line);padding-top:22px;margin-top:12px}
.muted{color:var(--muted);font-size:.92rem}
.asset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.asset-card{border:1px solid var(--line);border-radius:18px;padding:14px;background:#fbfdff}
.asset-preview{height:170px;border-radius:14px;background:#eef3f8;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:12px}
.asset-preview img{max-width:100%;max-height:100%;object-fit:contain}
.asset-meta strong,.asset-meta small{display:block}.asset-meta small{color:var(--muted);word-break:break-all;margin-top:3px}

.landing-body{background:linear-gradient(180deg,#f8fbff,#eef4fb)}
.landing-header{max-width:1320px;margin:0 auto;padding:22px 24px;display:flex;justify-content:space-between;align-items:center;gap:18px}
.landing-brand{display:flex;align-items:center;gap:14px}.landing-brand img{width:64px;height:64px;object-fit:contain;background:#fff;border-radius:18px;padding:6px;box-shadow:var(--shadow)}.landing-brand strong{display:block;color:var(--navy);font-size:1.35rem}.landing-brand small{color:var(--muted)}
.landing-brand.compact img{width:56px;height:56px}
.landing-nav{display:flex;align-items:center;gap:20px}.landing-nav a{font-weight:700;color:#496174}
.landing-hero{max-width:1320px;margin:6px auto 0;padding:26px 24px 10px;display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:center}
.landing-kicker{display:inline-block;padding:8px 12px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:.76rem;font-weight:900;letter-spacing:.04em}
.landing-hero h1{font-size:3.35rem;line-height:1.05;margin:18px 0;color:var(--navy);max-width:700px}
.landing-hero p{font-size:1.12rem;color:#556779;max-width:680px;line-height:1.65}
.landing-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.landing-stats{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}.landing-stats div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 18px;box-shadow:var(--shadow);min-width:120px}.landing-stats strong{display:block;font-size:1.15rem;color:var(--navy)}.landing-stats span{font-size:.82rem;color:var(--muted)}
.landing-hero-card{display:flex;justify-content:center}
.mock-window{width:min(540px,100%);background:linear-gradient(180deg,#0b1f33,#163e6a);padding:18px;border-radius:28px;box-shadow:0 30px 70px rgba(20,38,60,.18)}
.mock-top{height:12px;width:72px;border-radius:999px;background:rgba(255,255,255,.35);margin-bottom:18px}
.mock-body{background:#fff;border-radius:22px;padding:22px}.mock-line{height:12px;background:#dce8f3;border-radius:999px;margin-bottom:12px}.mock-line.w80{width:80%}.mock-line.w55{width:55%}.mock-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.mock-box{height:110px;border-radius:18px;background:linear-gradient(135deg,#dbeafe,#eff6ff)}
.landing-section{max-width:1320px;margin:0 auto;padding:50px 24px}.landing-section.light{background:rgba(255,255,255,.55);border-radius:30px}
.section-intro{max-width:740px;margin-bottom:22px}.section-intro h2{font-size:2.2rem;color:var(--navy);margin:12px 0 8px}.section-intro p{color:#596b7f;line-height:1.65}
.landing-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.landing-feature-card{position:relative;min-height:260px;border-radius:24px;overflow:hidden;background-size:cover;background-position:center;box-shadow:var(--shadow)}
.landing-feature-card .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,18,32,.12),rgba(5,18,32,.9))}
.landing-feature-card .content{position:absolute;left:0;right:0;bottom:0;padding:22px;color:#fff}.landing-feature-card i{font-size:1.4rem}.landing-feature-card h3{margin:8px 0 6px;font-size:1.18rem}.landing-feature-card p{margin:0;color:#d7e6f0;line-height:1.5}
.benefit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.benefit-item{display:flex;gap:14px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow)}.benefit-item i{width:48px;height:48px;border-radius:14px;background:#eaf2ff;display:grid;place-items:center;color:var(--blue);font-size:1.2rem}.benefit-item h4{margin:2px 0 4px;color:var(--navy)}.benefit-item p{margin:0;color:#617285;line-height:1.55}
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.step-item{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:var(--shadow)}.step-item span{font-size:2rem;font-weight:900;color:#cbd5e1}.step-item h4{margin:12px 0 6px;color:var(--navy)}.step-item p{margin:0;color:#607183;line-height:1.55}
.landing-cta{max-width:1320px;margin:0 auto 26px;background:linear-gradient(135deg,#0b1f33,#163e6a);color:#fff;border-radius:30px;padding:32px 24px;display:flex;justify-content:space-between;align-items:center;gap:18px}.landing-cta h2{margin:0 0 10px;font-size:2rem}.landing-cta p{margin:0;color:#d3e4ef}
.landing-footer{max-width:1320px;margin:0 auto;padding:8px 24px 28px;display:flex;justify-content:space-between;align-items:center;gap:18px;color:#6a7b8e}

@media(max-width:1100px){
 .landing-card-grid{grid-template-columns:repeat(2,1fr)}.steps-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
 .asset-grid{grid-template-columns:1fr}
 .landing-header{padding:18px 14px;flex-direction:column;align-items:flex-start}.landing-nav{flex-wrap:wrap;gap:12px}
 .landing-hero{padding:14px 14px 0;grid-template-columns:1fr}.landing-hero h1{font-size:2.45rem}
 .landing-section{padding:40px 14px}.landing-card-grid,.benefit-grid,.steps-grid{grid-template-columns:1fr}
 .landing-cta,.landing-footer{margin-left:14px;margin-right:14px;padding-left:18px;padding-right:18px;flex-direction:column;align-items:flex-start}
}

/* Landing v2 */
.landing-header.glass{position:sticky;top:0;z-index:20;background:rgba(248,251,255,.82);backdrop-filter:blur(14px);border-bottom:1px solid rgba(209,220,232,.7)}
.landing-v2 .landing-header{max-width:none;padding-left:32px;padding-right:32px}
.hero-cover{min-height:86vh;background-size:cover;background-position:center;display:flex;align-items:center;padding:38px 32px 46px}
.hero-cover-inner{max-width:1320px;margin:0 auto;width:100%;display:grid;grid-template-columns:1.1fr .55fr;gap:28px;align-items:center}
.hero-copy{color:#fff;max-width:760px}
.landing-kicker.dark{background:rgba(255,255,255,.14);color:#fff}
.hero-copy h1{font-size:4rem;line-height:1.02;margin:18px 0 18px;color:#fff}
.hero-copy p{font-size:1.16rem;line-height:1.72;color:#dce9f2;max-width:720px}
.hero-bullets{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.hero-bullets span{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-weight:700}
.hero-bullets i{color:#7dd3fc}
.hero-highlight-card{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(14px);border-radius:26px;padding:26px;color:#fff;box-shadow:0 25px 70px rgba(2,18,32,.22)}
.hero-highlight-card small{color:#9dd9ff;font-weight:900;letter-spacing:.08em}
.hero-highlight-card h3{font-size:1.7rem;margin:12px 0 10px}
.hero-highlight-card p{color:#dce9f2;line-height:1.65}
.hero-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.hero-stat-grid div{background:rgba(255,255,255,.1);border-radius:18px;padding:14px}
.hero-stat-grid strong,.hero-stat-grid span{display:block}.hero-stat-grid strong{font-size:1.08rem}
.split-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:start}
.split-intro h2{font-size:2.35rem;color:var(--navy);margin:12px 0 14px}.split-intro p{color:#5b6d80;line-height:1.75}
.mini-feature-panel{background:#fff;border:1px solid var(--line);border-radius:28px;padding:22px;box-shadow:var(--shadow)}
.mini-feature{display:flex;gap:14px;align-items:flex-start;padding:12px 0}.mini-feature + .mini-feature{border-top:1px solid #edf2f6}
.mini-feature i{width:48px;height:48px;border-radius:14px;background:#eef4ff;color:#2563eb;display:grid;place-items:center;font-size:1.18rem}
.mini-feature strong,.mini-feature span{display:block}.mini-feature strong{color:var(--navy)}.mini-feature span{color:#6a7b8f;margin-top:3px}
.section-intro.center{text-align:center;max-width:860px;margin-left:auto;margin-right:auto}

@media(max-width:1100px){
 .hero-cover-inner,.split-intro{grid-template-columns:1fr}
 .hero-copy h1{font-size:3.2rem}
}
@media(max-width:820px){
 .landing-v2 .landing-header{padding-left:14px;padding-right:14px}
 .hero-cover{padding:18px 14px 28px;min-height:auto}
 .hero-copy h1{font-size:2.45rem}
 .hero-copy p{font-size:1.03rem}
 .hero-stat-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
 .hero-bullets{flex-direction:column;align-items:flex-start}
 .hero-stat-grid{grid-template-columns:1fr}
}

/* Landing premium v1.3.0 */
.landing-pro{background:#f5f8fc}
.landing-header-pro{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border-bottom:1px solid rgba(223,231,239,.85)}
.landing-header-inner{max-width:1380px;margin:0 auto;padding:18px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand-pro{display:flex;align-items:center}.brand-pro img{height:44px;width:auto;display:block;object-fit:contain}
.nav-pro{display:flex;align-items:center;gap:26px}.nav-pro a{font-weight:800;color:#456075}
.nav-pro .btn{color:#fff}
.hero-pro{min-height:92vh;background-size:cover;background-position:center;display:flex;align-items:center;padding:42px 28px}
.hero-pro-inner{max-width:1380px;margin:0 auto;width:100%;display:grid;grid-template-columns:1.08fr .54fr;gap:28px;align-items:center}
.hero-pro-copy{color:#fff;max-width:780px}
.hero-chip{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:.78rem;font-weight:900;letter-spacing:.05em}
.hero-pro-copy h1{font-size:4.2rem;line-height:1.02;margin:18px 0 20px;color:#fff;max-width:790px}
.hero-pro-copy p{font-size:1.14rem;line-height:1.75;color:#d9e7f1;max-width:720px}
.hero-pro-points{display:grid;grid-template-columns:1fr;gap:10px;margin:22px 0 10px}
.hero-pro-points div{display:inline-flex;align-items:center;gap:10px;color:#f4f8fb;font-weight:700}
.hero-pro-points i{color:#8be0b0}
.hero-pro .landing-actions{margin-top:24px}
.hero-side-pro{display:flex;justify-content:flex-end}
.executive-card{width:min(390px,100%);background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);box-shadow:0 25px 70px rgba(2,15,28,.25);backdrop-filter:blur(14px);border-radius:28px;padding:26px;color:#fff}
.executive-card small{display:block;color:#9fd1ff;font-weight:900;letter-spacing:.08em}
.executive-card h3{font-size:1.85rem;line-height:1.15;margin:12px 0 10px}
.executive-card p{margin:0;color:#dbe7f1;line-height:1.65}
.stats-pro{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.stats-pro div{background:rgba(255,255,255,.11);border-radius:18px;padding:14px}
.stats-pro strong,.stats-pro span{display:block}.stats-pro strong{font-size:1.05rem}.stats-pro span{color:#d9e7f1;font-size:.82rem}
.landing-section.narrow{max-width:1320px}
.intro-grid-pro{display:grid;grid-template-columns:1.08fr .62fr;gap:26px;align-items:start}
.intro-grid-pro h2{font-size:2.45rem;color:var(--navy);margin:12px 0 14px}
.intro-grid-pro p{color:#5c6f82;line-height:1.75}
.problem-solution-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:28px;padding:22px}
.ps-row + .ps-row{border-top:1px solid #edf2f6;margin-top:16px;padding-top:16px}
.ps-row p{margin:10px 0 0;color:#596b7d}
.tag{display:inline-flex;padding:7px 11px;border-radius:999px;font-size:.75rem;font-weight:900;letter-spacing:.03em}
.tag.red{background:#fee2e2;color:#b91c1c}.tag.green{background:#d1fae5;color:#047857}.tag.blue{background:#dbeafe;color:#1d4ed8}
.landing-card-grid.premium{grid-template-columns:repeat(4,1fr)}
.landing-feature-card.premium{min-height:320px;border-radius:26px;box-shadow:0 18px 40px rgba(13,29,50,.09)}
.landing-feature-card.premium .overlay{background:linear-gradient(180deg,rgba(5,18,32,.10),rgba(5,18,32,.93))}
.feature-badge{display:inline-flex;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.13);color:#fff;font-size:.74rem;font-weight:800}
.landing-feature-card.premium .content{padding:24px}.landing-feature-card.premium h3{font-size:1.28rem;margin-top:12px}
.landing-feature-card.premium p{font-size:.95rem;color:#d4e4ef}
.landing-cta.premium{border-radius:30px}
.footer-pro{background:linear-gradient(180deg,#071827,#0b2237);color:#fff;margin-top:10px}
.footer-pro-inner{max-width:1380px;margin:0 auto;padding:42px 28px 28px;display:grid;grid-template-columns:1.1fr .6fr .7fr .8fr;gap:28px}
.footer-brand img{height:50px;width:auto;display:block;object-fit:contain;margin-bottom:14px}
.footer-brand p{color:#c9d8e4;line-height:1.7;max-width:420px}
.footer-links h4,.footer-contact h4{margin:0 0 14px;color:#fff}
.footer-links a,.footer-contact p{display:block;margin:9px 0;color:#c9d8e4}
.footer-contact .btn{margin-top:12px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:16px 28px;text-align:center;color:#9fb5c7}

@media(max-width:1180px){
  .hero-pro-inner,.intro-grid-pro,.footer-pro-inner{grid-template-columns:1fr}
  .hero-side-pro{justify-content:flex-start}
  .landing-card-grid.premium{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  .landing-header-inner{padding:14px}
  .nav-pro{gap:14px;flex-wrap:wrap;justify-content:flex-end}
  .brand-pro img{height:38px}
  .hero-pro{padding:22px 14px 28px;min-height:auto}
  .hero-pro-copy h1{font-size:2.6rem}
  .intro-grid-pro h2{font-size:2rem}
  .landing-card-grid.premium{grid-template-columns:1fr}
  .footer-pro-inner{padding:32px 14px 20px}
}

/* NovaQuote SaaS Core · FASE 01 */
.tenant-card-side{margin:12px 14px 4px;padding:13px 14px;border-radius:16px;background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.08);color:#fff}
.tenant-card-side small,.tenant-card-side strong,.tenant-card-side span{display:block}.tenant-card-side small{font-size:.64rem;letter-spacing:.08em;color:#7fa1b9;font-weight:900}.tenant-card-side strong{font-size:.9rem;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tenant-card-side span{font-size:.7rem;color:#9db5c6;margin-top:3px}.tenant-card-side a{display:inline-flex;align-items:center;gap:6px;color:#8bd4ff;font-size:.72rem;font-weight:800;margin-top:9px}.tenant-card-side.super{background:linear-gradient(135deg,rgba(37,99,235,.18),rgba(6,182,212,.09))}
body.sidebar-collapsed .tenant-card-side{padding:10px 6px;text-align:center}body.sidebar-collapsed .tenant-card-side strong,body.sidebar-collapsed .tenant-card-side span,body.sidebar-collapsed .tenant-card-side a{display:none}
.top-title small{max-width:520px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.value-dual{font-size:1.25rem!important;display:flex;flex-direction:column;gap:2px}.value-dual span{display:block}
.drawer-section{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.drawer-section h3{margin:0 0 5px;color:var(--navy)}
.role-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.role-card{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fbfdff}.role-card strong{color:var(--navy)}.role-card p{font-size:.82rem;color:var(--muted);line-height:1.5;margin:7px 0 0}
.saas-hero{background:linear-gradient(115deg,#071827,#183d68)}
.login-note{font-size:.78rem;color:var(--muted);line-height:1.5;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
@media(max-width:1200px){.role-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.tenant-card-side{margin-left:12px;margin-right:12px}.role-grid{grid-template-columns:1fr}.top-title small{max-width:190px}}

/* NovaQuote 2.1.0 · FASE 02 · Navegación profesional */
.breadcrumbs{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.82rem;margin-bottom:14px}
.breadcrumbs a{font-weight:800;color:#4c6c88}.breadcrumbs i{font-size:.68rem}.breadcrumbs span{color:#7a8b9c}
.entity-link{display:block}.entity-link strong{color:var(--navy)}.entity-link:hover strong{color:var(--blue)}
.catalog-open-link{display:inline-flex;align-items:center;gap:7px;margin-top:12px;font-size:.82rem;font-weight:900;color:#fff}
.catalog-open-link:hover{transform:translateX(2px)}
.catalog-detail-hero{min-height:275px;background-size:cover;background-position:center;border-radius:24px;padding:28px;color:#fff;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;box-shadow:var(--shadow)}
.catalog-detail-hero h2{font-size:2rem;margin:12px 0 8px}.catalog-detail-hero p{color:#d6e5ef;max-width:720px;margin:0;line-height:1.6}
.catalog-detail-hero .btn{background:#fff;color:var(--navy)}
.catalog-detail-price{font-size:1.35rem;font-weight:900;margin-top:16px}.catalog-detail-price small{font-size:.78rem;color:#d6e5ef}
.info-list{display:flex;flex-direction:column}.info-list>div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid #edf2f6}.info-list>div:last-child{border-bottom:0}.info-list span{color:var(--muted);font-size:.82rem}.info-list strong{text-align:right;color:var(--navy);font-size:.88rem;word-break:break-word}
.detail-copy{line-height:1.75;color:#506274;margin:0}.url-mini{color:#2c78b7!important;font-weight:700}
.client-kpis .value{font-size:1.55rem}
@media(max-width:820px){
 .catalog-detail-hero{min-height:330px;padding:20px;flex-direction:column;align-items:flex-start;justify-content:flex-end}
 .catalog-detail-hero h2{font-size:1.6rem}
 .info-list>div{flex-direction:column;gap:4px}.info-list strong{text-align:left}
}

/* NovaQuote 2.1.1 · Vista de empresas / prueba sin credenciales */
.preview-mode-bar{margin:0;background:linear-gradient(90deg,#fff3d6,#fff8e8);border-bottom:1px solid #f2d28b;padding:10px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#75500b;font-size:.82rem}
.preview-mode-bar>div:first-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.preview-mode-bar>div:first-child i{color:#d08908}.preview-mode-bar span{color:#98701e}
.preview-role-links{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.preview-role-links a{padding:6px 9px;border-radius:9px;background:rgba(255,255,255,.72);border:1px solid #efd79d;color:#73530f;font-size:.72rem;font-weight:900}.preview-role-links a:hover{background:#fff}.preview-role-links .preview-exit{background:#7a4b0a;color:#fff;border-color:#7a4b0a}

.company-showcase-section{max-width:1380px}
.super-test-note{display:flex;align-items:center;gap:14px;max-width:950px;margin:0 auto 22px;padding:16px 18px;border-radius:18px;background:linear-gradient(135deg,#eaf4ff,#f5f9ff);border:1px solid #cfe2f7;color:#173e63}
.super-test-note>i{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:#fff;color:#2563eb;font-size:1.25rem;box-shadow:0 8px 18px rgba(37,99,235,.08)}
.super-test-note strong,.super-test-note span{display:block}.super-test-note span{margin-top:4px;color:#55708a;font-size:.9rem;line-height:1.5}

.public-company-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.public-company-card{min-height:210px;background:#fff;border:1px solid #dfe8f0;border-radius:24px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;gap:20px;box-shadow:0 12px 32px rgba(13,35,58,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.public-company-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(13,35,58,.11);border-color:#bed7ed}
.public-company-logo{height:65px;display:flex;align-items:center;justify-content:flex-start;background:transparent!important;border:0!important;padding:0!important}
.public-company-logo img{display:block;max-width:210px;max-height:62px;width:auto;height:auto;object-fit:contain}
.public-company-copy small{font-size:.69rem;font-weight:900;letter-spacing:.06em;color:#2f78b5}.public-company-copy h3{font-size:1.22rem;color:var(--navy);margin:7px 0 5px}.public-company-copy p{margin:0 0 12px;color:#6b7d8d;font-size:.86rem}
.company-enter{display:inline-flex;align-items:center;gap:8px;color:#2563eb;font-size:.85rem;font-weight:900;margin-top:8px}
.empty-company-public{grid-column:1/-1;text-align:center;background:#fff;border:1px dashed #cad8e5;border-radius:20px;padding:34px;color:#708294}

@media(max-width:1050px){.public-company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){
 .preview-mode-bar{padding:10px 14px;align-items:flex-start;flex-direction:column}
 .preview-role-links{width:100%}
 .public-company-grid{grid-template-columns:1fr}
 .public-company-card{min-height:185px}
}

/* NovaQuote 2.2.0 · FASE 03 · Propuestas interactivas */
.proposal-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.proposal-admin-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow)}
.proposal-admin-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.proposal-admin-top small{font-weight:900;color:#55718a}.proposal-admin-top h3{margin:5px 0 0;color:var(--navy);font-size:1.1rem}
.proposal-response-badge{padding:7px 10px;border-radius:999px;font-size:.7rem;font-weight:900;white-space:nowrap;background:#edf3f8;color:#587086}.response-aceptada{background:#dff7ec;color:#067651}.response-rechazada{background:#fee7e5;color:#ad271e}.response-cambios-solicitados{background:#fff1c9;color:#8c5f00}
.proposal-admin-stats{display:grid;grid-template-columns:80px 1fr 110px;gap:10px;margin:16px 0}.proposal-admin-stats div{background:#f6f9fc;border-radius:12px;padding:10px}.proposal-admin-stats span,.proposal-admin-stats strong{display:block}.proposal-admin-stats span{font-size:.66rem;color:var(--muted);font-weight:900}.proposal-admin-stats strong{font-size:.78rem;color:var(--navy);margin-top:4px}
.public-link-box{display:flex;align-items:center;gap:8px;background:#f2f6fa;border:1px solid #dce7ef;border-radius:12px;padding:9px 10px;min-width:0}.public-link-box span{font-family:monospace;font-size:.72rem;color:#37556e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.public-link-box button{border:0;background:#fff;width:34px;height:34px;border-radius:9px;color:#29679b;cursor:pointer}.public-link-box.large{padding:11px}
.proposal-control-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;margin-top:18px}.proposal-live-badge{font-size:.72rem;font-weight:900;padding:7px 10px;border-radius:999px}.proposal-live-badge.on{background:#dcf7eb;color:#087653}.proposal-live-badge.off{background:#edf1f5;color:#6e7e8e}
.proposal-share-layout{display:grid;grid-template-columns:190px 1fr;gap:20px}.proposal-qr-admin{text-align:center;border:1px solid #e1e9f0;background:#f8fbfd;border-radius:18px;padding:13px}.proposal-qr-admin svg{width:155px;height:155px;display:block;margin:auto}.proposal-qr-admin span{display:block;font-size:.7rem;color:var(--muted);margin-top:7px}
.proposal-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:12px}.proposal-metrics div{padding:10px;border-radius:12px;background:#f7fafc}.proposal-metrics span,.proposal-metrics strong{display:block}.proposal-metrics span{font-size:.65rem;color:var(--muted);font-weight:900}.proposal-metrics strong{font-size:.75rem;color:var(--navy);margin-top:4px;word-break:break-word}
.client-response-box{margin-top:12px;padding:12px 14px;border-radius:13px;background:#eef6ff;border:1px solid #d4e7f8}.client-response-box strong,.client-response-box span{display:block}.client-response-box strong{color:#1d5e93}.client-response-box span{font-size:.73rem;color:#688098;margin-top:4px}.client-response-box p{font-size:.8rem;color:#4e6579;margin:8px 0 0;line-height:1.5}
.proposal-control-actions{margin-top:13px}.proposal-control-actions form{display:inline-flex;margin:0}
.proposal-timeline{display:flex;flex-direction:column}.timeline-item{display:grid;grid-template-columns:14px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid #edf2f6}.timeline-item:last-child{border-bottom:0}.timeline-dot{width:9px;height:9px;border-radius:50%;background:#2f7ec0;margin-top:5px}.timeline-item strong,.timeline-item small{display:block}.timeline-item strong{font-size:.82rem;color:var(--navy)}.timeline-item small{font-size:.7rem;color:var(--muted);margin-top:2px}.timeline-item p{font-size:.76rem;color:#556c80;margin:5px 0 0}.empty.compact{padding:20px}
@media(max-width:1050px){.proposal-control-grid{grid-template-columns:1fr}.proposal-admin-grid{grid-template-columns:1fr}.proposal-share-layout{grid-template-columns:170px 1fr}.proposal-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.proposal-share-layout{grid-template-columns:1fr}.proposal-qr-admin{max-width:210px}.proposal-admin-stats{grid-template-columns:1fr 1fr}.proposal-metrics{grid-template-columns:1fr 1fr}}

.proposal-badge-stack{display:flex;flex-direction:column;align-items:flex-end;gap:6px}

/* NovaQuote 2.3.0 · FASE 04 · Constructor de plantillas */
.template-guide{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.template-guide>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;grid-template-columns:36px 1fr;column-gap:10px;align-items:center;box-shadow:0 8px 22px rgba(10,35,55,.04)}
.template-guide i{grid-row:1/3;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#edf5ff;color:#296fad}.template-guide strong{font-size:.82rem;color:var(--navy)}.template-guide span{font-size:.72rem;color:var(--muted);margin-top:2px}
.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.template-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow);transition:.18s ease}.template-card:hover{transform:translateY(-3px);box-shadow:0 20px 45px rgba(16,38,60,.10)}.template-card.inactive{opacity:.62}
.template-mini{height:205px;padding:18px;background:var(--tpl-surface);position:relative;overflow:hidden}.template-mini-top{display:flex;justify-content:space-between}.template-mini-top span:first-child{width:64px;height:8px;border-radius:9px;background:var(--tpl-primary)}.template-mini-top span:last-child{width:28px;height:8px;border-radius:9px;background:var(--tpl-accent)}
.template-mini-hero{margin-top:18px;border-radius:14px;background:linear-gradient(125deg,var(--tpl-primary),var(--tpl-secondary));height:92px;padding:15px;color:#fff}.template-mini-hero small,.template-mini-hero strong{display:block}.template-mini-hero small{font-size:.58rem;letter-spacing:.07em;color:#c8d9e7}.template-mini-hero strong{font-size:1rem;margin-top:6px}.template-mini-hero>span{display:block;width:62%;height:5px;border-radius:8px;background:rgba(255,255,255,.38);margin-top:10px}
.template-mini-body{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:12px}.template-mini-body span{height:38px;border-radius:9px;background:#fff;border:1px solid rgba(85,110,130,.12)}
.template-mini.theme-minimal{background:#fff}.template-mini.theme-minimal .template-mini-hero{background:#fff;color:var(--tpl-primary);border:1px solid #e2e9ef}.template-mini.theme-minimal .template-mini-hero small{color:var(--tpl-accent)}.template-mini.theme-minimal .template-mini-hero>span{background:#dbe5ee}
.template-mini.theme-executive .template-mini-hero,.template-mini.theme-premium .template-mini-hero{border-bottom:4px solid var(--tpl-accent)}.template-mini.theme-technical .template-mini-hero{background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(125deg,var(--tpl-primary),var(--tpl-secondary));background-size:14px 14px,14px 14px,cover}
.template-card-body{padding:17px}.template-title-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.template-title-row small{color:#6d8293;font-size:.68rem;font-weight:900;text-transform:uppercase}.template-title-row h3{margin:4px 0 0;color:var(--navy);font-size:1.08rem}.template-default-badge{padding:6px 8px;border-radius:999px;background:#e3f5eb;color:#087652;font-size:.65rem;font-weight:900}.template-card-body p{color:var(--muted);font-size:.8rem;line-height:1.5;min-height:38px}
.template-color-row{display:flex;align-items:center;gap:6px;margin:12px 0}.template-color-row>span{width:18px;height:18px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #d8e1e8}.template-color-row small{margin-left:auto;color:#788a9a;font-size:.7rem}.template-card form{display:inline-flex;margin:0}

.template-builder-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:20px;align-items:start}.template-builder-form{display:flex;flex-direction:column;gap:18px}.template-live-sticky{position:sticky;top:92px}.template-live-label{display:flex;justify-content:space-between;align-items:end;margin-bottom:10px}.template-live-label span{font-size:.7rem;font-weight:900;letter-spacing:.08em;color:#37698f}.template-live-label small{font-size:.68rem;color:var(--muted)}
.template-live-preview{border-radius:22px;background:var(--tpl-surface);border:1px solid #dae5ed;box-shadow:0 22px 60px rgba(14,36,57,.12);overflow:hidden;min-height:520px}.live-browser{height:34px;background:#fff;border-bottom:1px solid #e5ebf0;display:flex;align-items:center;gap:5px;padding:0 12px}.live-browser i{width:7px;height:7px;border-radius:50%;background:#c8d4dd}.live-hero{margin:15px;border-radius:16px;background:linear-gradient(125deg,var(--tpl-primary),var(--tpl-secondary));padding:25px;color:#fff}.live-hero>span{font-size:.58rem;font-weight:900;letter-spacing:.08em;color:#c9dbe8}.live-hero h3{font-size:1.35rem;margin:8px 0 6px;color:#fff}.live-hero p{font-size:.72rem;color:#d7e4ed;line-height:1.5}.live-price{display:inline-block;margin-top:12px;padding:8px 10px;border-radius:9px;background:#fff;color:var(--tpl-primary);font-weight:900;font-size:.8rem}
.template-live-preview.theme-minimal .live-hero{background:#fff;color:var(--tpl-primary);border:1px solid #dce6ee}.template-live-preview.theme-minimal .live-hero h3{color:var(--tpl-primary)}.template-live-preview.theme-minimal .live-hero p{color:#718293}.template-live-preview.theme-minimal .live-hero>span{color:var(--tpl-accent)}
.template-live-preview.theme-premium .live-hero,.template-live-preview.theme-executive .live-hero{border-bottom:5px solid var(--tpl-accent)}.template-live-preview.theme-technical .live-hero{background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(125deg,var(--tpl-primary),var(--tpl-secondary));background-size:16px 16px,16px 16px,cover}
.live-client{margin:15px;padding:13px;border-radius:12px;background:#fff;border:1px solid #e1e9ef}.live-client small,.live-client strong{display:block}.live-client small{font-size:.55rem;color:#7790a3;font-weight:900}.live-client strong{font-size:.78rem;color:var(--tpl-primary);margin-top:4px}.live-items{margin:0 15px;background:#fff;border:1px solid #e1e9ef;border-radius:12px;padding:10px}.live-items span{display:block;height:10px;border-radius:7px;background:#eaf0f4;margin:7px 0}.live-items span:nth-child(1){width:92%}.live-items span:nth-child(2){width:75%}.live-items span:nth-child(3){width:84%}.live-total{display:flex;justify-content:space-between;margin:12px 15px;padding:12px;border-top:2px solid var(--tpl-primary);color:var(--tpl-primary);font-size:.8rem}.live-action{margin:15px;background:var(--tpl-accent);color:#fff;text-align:center;padding:10px;border-radius:10px;font-size:.75rem;font-weight:900}.template-preview-note{font-size:.72rem;color:var(--muted);line-height:1.5;text-align:center}
.color-field>div{display:grid;grid-template-columns:52px 1fr;gap:8px}.color-field input[type=color]{width:52px;height:42px;padding:3px}.current-hero{display:flex;align-items:center;gap:12px;margin-bottom:9px}.current-hero img{width:110px;height:58px;object-fit:cover;border-radius:10px}.current-hero label{font-size:.75rem;color:var(--muted)}
.template-section-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden}.template-section-row{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;padding:12px 14px;border-bottom:1px solid #eaf0f4}.template-section-row:last-child{border-bottom:0}.template-section-row i{color:#3777aa}.template-section-row strong{font-size:.82rem;color:var(--navy)}.template-section-row label{font-size:.7rem;color:var(--muted);display:flex;align-items:center;gap:7px}.template-section-row select{width:60px;padding:6px}
.toggle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:15px}.switch-option{display:flex;align-items:center;gap:9px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fbfdff;font-size:.78rem;font-weight:800;color:#4d6376}.switch-option input{width:17px;height:17px}.builder-savebar{position:sticky;bottom:10px;background:rgba(255,255,255,.93);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:16px;padding:11px;display:flex;justify-content:flex-end;gap:8px;box-shadow:0 16px 35px rgba(15,35,55,.10);z-index:5}
.quote-template-panel{margin-top:18px}.template-style-chip{font-size:.7rem;font-weight:900;padding:7px 10px;border-radius:999px;color:#fff}.quote-template-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.quote-template-swatch{display:flex;gap:4px}.quote-template-swatch span{width:22px;height:22px;border-radius:7px;border:1px solid rgba(0,0,0,.08)}.quote-template-form{display:flex;gap:8px;flex:1;min-width:280px}.quote-template-form select{flex:1;min-width:180px}

@media(max-width:1150px){.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.template-builder-layout{grid-template-columns:1fr}.template-live-sticky{position:relative;top:0;max-width:520px;margin:auto}.template-guide{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.template-grid{grid-template-columns:1fr}.template-guide{grid-template-columns:1fr}.toggle-grid{grid-template-columns:1fr}.template-section-row{grid-template-columns:28px 1fr}.template-section-row label{grid-column:2}.quote-template-form{min-width:100%;flex-direction:column}.template-live-preview{min-height:470px}}

/* =========================================================
   NovaQuote 2.4.0 · FASE 05 · Pipeline / CRM Comercial
   ========================================================= */
.crm-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.crm-kpi{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 18px;box-shadow:var(--shadow);min-height:112px}
.crm-kpi span,.crm-kpi strong,.crm-kpi small{display:block}.crm-kpi span{font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.055em;color:#6e8395}.crm-kpi strong{font-size:1.45rem;color:var(--navy);margin-top:8px}.crm-kpi small{color:#7e91a1;font-size:.72rem;margin-top:5px}.crm-kpi.warning{border-color:#f0c96f;background:#fffaf0}.crm-kpi.warning strong{color:#a36500}

.pipeline-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.pipeline-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1}.pipeline-filters input{min-width:260px;flex:1}.pipeline-filters select{min-width:145px}
.pipeline-board{display:flex;gap:14px;overflow-x:auto;padding:2px 2px 16px;scroll-snap-type:x proximity;min-height:590px}
.pipeline-board::-webkit-scrollbar{height:10px}.pipeline-board::-webkit-scrollbar-thumb{background:#c8d5df;border-radius:999px}
.pipeline-column{width:310px;min-width:310px;background:#f5f8fb;border:1px solid #dfe8ef;border-radius:20px;display:flex;flex-direction:column;scroll-snap-align:start;max-height:calc(100vh - 285px)}
.pipeline-column-head{padding:14px 14px 11px;border-bottom:1px solid #dfe7ed;position:sticky;top:0;background:#f5f8fb;border-radius:20px 20px 0 0;z-index:2}
.pipeline-column-head>div{display:flex;align-items:center;gap:8px}.pipeline-column-head strong{font-size:.85rem;color:var(--navy)}.pipeline-column-head em{font-style:normal;background:#fff;border:1px solid #dbe5ec;border-radius:999px;padding:3px 7px;font-size:.65rem;font-weight:900;color:#60788a}.pipeline-column-head small{display:block;margin:7px 0 0 18px;font-size:.66rem;color:#7b8f9f;font-weight:800}
.stage-dot{width:10px;height:10px;border-radius:50%;display:inline-block;box-shadow:0 0 0 4px rgba(120,140,155,.10)}
.pipeline-dropzone{padding:10px;overflow-y:auto;min-height:180px;flex:1;transition:.15s}.pipeline-dropzone.drag-over{background:#e9f3ff;outline:2px dashed #4b8dc2;outline-offset:-6px;border-radius:0 0 18px 18px}.pipeline-empty-drop{text-align:center;padding:18px 8px;color:#9aabb8;font-size:.7rem}
.opportunity-card{background:#fff;border:1px solid #dce6ed;border-radius:16px;padding:13px;margin-bottom:10px;box-shadow:0 7px 20px rgba(17,41,62,.055);cursor:grab;transition:.16s}.opportunity-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(17,41,62,.10);border-color:#c8dbe9}.opportunity-card.dragging{opacity:.45;transform:rotate(1deg)}.opportunity-card:active{cursor:grabbing}
.opp-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.priority-pill{display:inline-flex;padding:5px 7px;border-radius:999px;font-size:.58rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.priority-low{background:#ecf4f7;color:#5c7483}.priority-medium{background:#eaf3ff;color:#276897}.priority-high{background:#fff0d4;color:#9d6200}.priority-critical{background:#fee9e7;color:#b3261e}.opp-probability{font-size:.68rem;font-weight:900;color:#547086}
.opp-title{display:block;margin:10px 0 7px;color:var(--navy);font-size:.92rem;font-weight:900;line-height:1.3}.opp-client,.opp-quote{display:flex;align-items:center;gap:6px;color:#698092;font-size:.72rem;margin-top:5px}.opp-quote{color:#39729e}.opp-value{font-size:1.08rem;font-weight:900;color:var(--navy);margin:12px 0 9px}
.opp-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px;border-top:1px solid #edf2f5;padding-top:8px}.opp-meta span{display:flex;align-items:center;gap:4px;color:#78909f;font-size:.62rem;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.opp-next{display:flex;gap:8px;align-items:flex-start;margin-top:9px;padding:8px;border-radius:10px;background:#f1f7fd;color:#3d6e95}.opp-next>i{margin-top:1px}.opp-next span{font-size:.64rem;line-height:1.35}.opp-next strong,.opp-next small{display:block}.opp-next strong{font-size:.57rem;text-transform:uppercase;letter-spacing:.04em}.opp-next small{margin-top:3px;color:#6f8ca3}.opp-next.overdue{background:#fff0ed;color:#b03a2e}.opp-next.empty-next{background:#f7f9fb;color:#8999a6}
.opp-card-actions{display:flex;justify-content:space-between;align-items:center;margin-top:9px}.opp-card-actions a,.opp-card-actions button{border:0;background:transparent;padding:3px;color:#2d6fa3;font-size:.66rem;font-weight:900;cursor:pointer}.opp-card-actions button{color:#607b8e}
.pipeline-toast{position:fixed;right:25px;bottom:25px;z-index:100;opacity:0;transform:translateY(12px);pointer-events:none;padding:11px 15px;border-radius:12px;color:#fff;font-size:.8rem;font-weight:900;transition:.2s}.pipeline-toast.show{opacity:1;transform:translateY(0)}.pipeline-toast.ok{background:#087653}.pipeline-toast.error{background:#b42318}

.drawer-section-intro{padding:4px 0 17px;border-bottom:1px solid var(--line);margin-bottom:16px}.drawer-kicker{font-size:.64rem;font-weight:900;letter-spacing:.08em;color:#3378ae}.drawer-section-intro h3{font-size:1.2rem;color:var(--navy);margin:6px 0}.drawer-section-intro p{font-size:.78rem;color:var(--muted);line-height:1.5;margin:0}

.opportunity-hero{background:linear-gradient(120deg,#0a2237,#123f64);border-radius:24px;padding:24px;color:#fff;display:grid;grid-template-columns:minmax(0,1fr) 240px auto;gap:22px;align-items:center;margin-bottom:16px;box-shadow:0 15px 35px rgba(7,31,51,.12)}
.opportunity-stage-line{display:flex;align-items:center;gap:8px;color:#bcd2e2;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.055em}.opportunity-stage-line span{width:10px;height:10px;border-radius:50%}.opportunity-hero h2{font-size:1.75rem;margin:10px 0 7px;line-height:1.2}.opportunity-hero-main>p{margin:0;color:#c8d9e6;font-size:.82rem}.opportunity-hero-main>p i{margin-right:5px}.opportunity-hero-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.opportunity-hero-tags>span:not(.priority-pill){background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:6px 8px;font-size:.64rem}
.opportunity-hero-value{padding:15px 18px;border-radius:17px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.08)}.opportunity-hero-value small,.opportunity-hero-value strong,.opportunity-hero-value span{display:block}.opportunity-hero-value small{font-size:.62rem;color:#aac3d5;font-weight:900;letter-spacing:.07em}.opportunity-hero-value strong{font-size:1.45rem;margin:7px 0 3px}.opportunity-hero-value span{font-size:.7rem;color:#bdd1df}.opportunity-hero-actions{display:flex;gap:8px;flex-direction:column}.opportunity-hero-actions .btn-light{background:#fff}
.opportunity-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.opportunity-kpis>div{background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px 15px}.opportunity-kpis span,.opportunity-kpis strong{display:block}.opportunity-kpis span{font-size:.65rem;text-transform:uppercase;font-weight:900;color:#7a8f9e}.opportunity-kpis strong{font-size:.88rem;color:var(--navy);margin-top:5px}
.opportunity-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}.opportunity-main,.opportunity-side{display:flex;flex-direction:column;gap:18px}
.next-action-card{display:grid;grid-template-columns:45px 1fr auto;gap:12px;align-items:center;padding:14px;border-radius:15px;background:#eef7ff;border:1px solid #d6e9f8}.next-action-card.overdue{background:#fff1ee;border-color:#f2d0ca}.next-action-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#fff;color:#2f77ad;font-size:1.1rem}.next-action-card.overdue .next-action-icon{color:#b43a2d}.next-action-card small,.next-action-card span{font-size:.7rem;color:#6b8396}.next-action-card h4{margin:4px 0;color:var(--navy);font-size:.95rem}.next-action-card p{margin:4px 0 5px;font-size:.76rem;color:#566d80;line-height:1.5}
.crm-timeline{padding-top:4px!important}.crm-timeline-item{display:grid;grid-template-columns:38px 1fr;gap:10px;position:relative;padding:9px 0 15px}.crm-timeline-item:after{content:"";position:absolute;left:18px;top:42px;bottom:-3px;width:1px;background:#e0e8ee}.crm-timeline-item:last-child:after{display:none}.crm-timeline-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;z-index:1}.crm-timeline-icon.stage{background:#edf5ff;color:#2873ab}.crm-timeline-icon.activity{background:#eef8f4;color:#15815e}.crm-timeline-copy strong{font-size:.8rem;color:var(--navy)}.crm-timeline-copy p{font-size:.76rem;color:#586f81;line-height:1.5;margin:4px 0}.crm-timeline-copy>span:not(.activity-status){font-size:.7rem;color:#698295;display:block}.crm-timeline-copy small{display:block;margin-top:5px;font-size:.65rem;color:#91a0ab}.activity-status{display:inline-flex;padding:4px 6px;border-radius:999px;font-size:.57rem;font-weight:900;margin-top:5px}.status-pendiente{background:#fff2cf;color:#956200}.status-completada{background:#e4f6ee;color:#087552}.status-cancelada{background:#edf1f4;color:#687985}
.stage-move-form .full,.opportunity-side .full{width:100%;justify-content:center}.stage-readonly{display:flex;align-items:center;gap:8px;font-weight:900;color:var(--navy)}.lost-reason{margin-top:13px;padding:11px;border-radius:11px;background:#fff0ee;color:#94342b}.lost-reason strong{font-size:.7rem}.lost-reason p{font-size:.75rem;margin:5px 0 0}
.opportunity-contact{display:flex;flex-direction:column;gap:9px}.opportunity-contact strong{color:var(--navy)}.opportunity-contact span,.opportunity-contact a{display:flex;gap:7px;align-items:center;font-size:.75rem;color:#61798b}.linked-quote{display:flex;align-items:center;gap:10px;margin-bottom:12px}.linked-quote>i{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#edf5fd;color:#2e75aa}.linked-quote strong,.linked-quote span{display:block}.linked-quote strong{font-size:.8rem;color:var(--navy)}.linked-quote span{font-size:.68rem;color:#6f8494;margin-top:3px}.opportunity-description{font-size:.79rem;line-height:1.65;color:#576f81;margin:0}

.activity-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:17px}.activity-kpis>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px}.activity-kpis span,.activity-kpis strong{display:block}.activity-kpis span{font-size:.65rem;text-transform:uppercase;color:#788d9d;font-weight:900}.activity-kpis strong{font-size:1.35rem;color:var(--navy);margin-top:6px}.activity-kpis .danger{background:#fff2ef;border-color:#f1d1cb}.activity-kpis .danger strong{color:#af3429}
.activity-list{display:flex;flex-direction:column;gap:10px}.activity-card{display:grid;grid-template-columns:48px minmax(0,1fr) 105px auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:17px;padding:14px 16px;box-shadow:0 7px 20px rgba(14,36,55,.04)}.activity-card.overdue{border-left:4px solid #d84b3e}.activity-type-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#edf6ff;color:#2f73a8;font-size:1rem}.activity-card-top{display:flex;align-items:center;gap:7px}.activity-card-top>span{font-size:.65rem;font-weight:900;color:#52738d;text-transform:uppercase}.activity-card-main h3{font-size:.9rem;color:var(--navy);margin:5px 0 4px}.activity-card-main>a{font-size:.7rem;color:#2e74a7;font-weight:800}.activity-card-main p{font-size:.72rem;color:#677e90;line-height:1.45;margin:6px 0 0}.activity-card-date{text-align:center}.activity-card-date strong,.activity-card-date span,.activity-card-date small{display:block}.activity-card-date strong{font-size:.78rem;color:var(--navy)}.activity-card-date span{font-size:.7rem;color:#708899;margin-top:2px}.activity-card-date small{font-size:.57rem;color:#b5352a;font-weight:900;margin-top:4px}.activity-card-actions{display:flex;gap:6px}.activity-card-actions form{display:inline-flex;margin:0}

.quote-opportunity-context{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid #cfe2f4;background:#eef7ff;border-radius:16px;margin-bottom:16px}.quote-opportunity-context>i{width:38px;height:38px;border-radius:11px;background:#fff;color:#2875ad;display:grid;place-items:center}.quote-opportunity-context strong,.quote-opportunity-context span{display:block}.quote-opportunity-context strong{font-size:.8rem;color:var(--navy)}.quote-opportunity-context span{font-size:.7rem;color:#668096;margin-top:3px}.quote-opportunity-context a{margin-left:auto;font-size:.7rem;font-weight:900;color:#2c73a8}
.quote-crm-link{margin-top:18px}.crm-stage-badge{display:inline-flex;padding:7px 10px;border-radius:999px;font-size:.67rem;font-weight:900;background:color-mix(in srgb,var(--stage-color) 14%,white);color:var(--stage-color);border:1px solid color-mix(in srgb,var(--stage-color) 25%,white)}.quote-crm-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.quote-crm-row strong,.quote-crm-row span{display:block}.quote-crm-row strong{font-size:.86rem;color:var(--navy)}.quote-crm-row span{font-size:.7rem;color:#718697;margin-top:4px}

.dashboard-crm-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.radar-commercial{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.radar-commercial>div{padding:12px;border-radius:12px;background:#f6f9fb}.radar-commercial span,.radar-commercial strong{display:block}.radar-commercial span{font-size:.62rem;color:#748a9b;font-weight:900;text-transform:uppercase}.radar-commercial strong{font-size:.9rem;color:var(--navy);margin-top:5px}.radar-commercial .danger{background:#fff1ee}.radar-commercial .danger strong{color:#ae372c}.radar-footer{margin-top:10px;font-size:.72rem;color:#678094}.radar-footer i{color:#d5a225;margin-right:5px}
.dashboard-task-list{padding-top:7px!important}.dashboard-task{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid #edf2f5}.dashboard-task:last-child{border-bottom:0}.dashboard-task>i{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:#eef6fc;color:#3575a5}.dashboard-task.overdue>i{background:#fff0ed;color:#b73e32}.dashboard-task strong,.dashboard-task span{display:block}.dashboard-task strong{font-size:.74rem;color:var(--navy)}.dashboard-task span{font-size:.64rem;color:#74899a;margin-top:2px}.dashboard-task small{font-size:.62rem;color:#778c9b;white-space:nowrap}

@media(max-width:1200px){.crm-kpi-grid{grid-template-columns:repeat(2,1fr)}.opportunity-layout{grid-template-columns:1fr}.opportunity-side{display:grid;grid-template-columns:repeat(2,1fr)}.opportunity-hero{grid-template-columns:1fr 210px}.opportunity-hero-actions{grid-column:1/-1;flex-direction:row}.activity-card{grid-template-columns:45px minmax(0,1fr) 90px}.activity-card-actions{grid-column:2/-1}.dashboard-crm-grid{grid-template-columns:1fr}}
@media(max-width:800px){.pipeline-toolbar{align-items:stretch;flex-direction:column}.pipeline-filters{display:grid;grid-template-columns:1fr 1fr}.pipeline-filters input{grid-column:1/-1;min-width:0}.pipeline-board{display:block;overflow:visible;min-height:0}.pipeline-column{width:100%;min-width:0;max-height:none;margin-bottom:12px}.pipeline-dropzone{overflow:visible}.opportunity-hero{grid-template-columns:1fr}.opportunity-hero-value{max-width:270px}.opportunity-kpis{grid-template-columns:1fr 1fr}.opportunity-side{grid-template-columns:1fr}.activity-kpis{grid-template-columns:1fr 1fr}.activity-card{grid-template-columns:42px minmax(0,1fr)}.activity-card-date{grid-column:2;text-align:left;display:flex;gap:7px;align-items:center}.activity-card-actions{grid-column:2;flex-wrap:wrap}}
@media(max-width:520px){.crm-kpi-grid{grid-template-columns:1fr}.pipeline-filters{grid-template-columns:1fr}.pipeline-filters input{grid-column:auto}.opportunity-kpis{grid-template-columns:1fr 1fr}.opportunity-hero{padding:18px}.opportunity-hero h2{font-size:1.4rem}.activity-kpis{grid-template-columns:1fr 1fr}.next-action-card{grid-template-columns:40px 1fr}.next-action-card form{grid-column:2}.quote-crm-row{align-items:flex-start;flex-direction:column}.quote-opportunity-context{align-items:flex-start}.quote-opportunity-context a{margin-left:0}.radar-commercial{grid-template-columns:1fr 1fr}}

/* =========================================================
   NovaQuote 2.5.0 · FASE 06 · Analítica Comercial
   ========================================================= */
.analytics-title{align-items:flex-end}.analytics-filter-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px 14px;margin-bottom:16px;box-shadow:0 8px 24px rgba(12,35,55,.04)}
.analytics-filter-panel form{display:flex;flex-direction:column;gap:10px}.analytics-preset{display:flex;gap:6px;flex-wrap:wrap}.analytics-preset a{border:1px solid #dbe5ed;background:#f8fafc;color:#567084;border-radius:999px;padding:7px 11px;font-size:.68rem;font-weight:900;cursor:pointer}.analytics-preset a.active{background:#0d3656;color:#fff;border-color:#0d3656}
.analytics-filter-fields{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.analytics-filter-fields label{display:flex;flex-direction:column;gap:4px;font-size:.62rem;text-transform:uppercase;font-weight:900;color:#718697}.analytics-filter-fields input,.analytics-filter-fields select{min-width:135px;padding:9px 10px;text-transform:none;font-weight:600}.analytics-filter-fields label:nth-child(3) select{min-width:190px}.analytics-period-caption{border-top:1px solid #edf2f5;margin-top:10px;padding-top:9px;font-size:.68rem;color:#738898}.analytics-period-caption i{margin-right:5px;color:#3679aa}
.analytics-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.analytics-kpi{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 17px;min-height:112px;box-shadow:0 8px 24px rgba(12,35,55,.04);position:relative;overflow:hidden}.analytics-kpi:after{content:"";position:absolute;width:80px;height:80px;border-radius:50%;right:-25px;top:-25px;background:#f1f6fa}.analytics-kpi span,.analytics-kpi strong,.analytics-kpi small{display:block;position:relative;z-index:1}.analytics-kpi span{font-size:.65rem;text-transform:uppercase;letter-spacing:.055em;font-weight:900;color:#718697}.analytics-kpi strong{font-size:1.35rem;color:var(--navy);margin-top:9px}.analytics-kpi small{font-size:.7rem;color:#7890a1;margin-top:4px}.analytics-kpi.primary{background:linear-gradient(130deg,#0a253b,#124b76);border:0}.analytics-kpi.primary span,.analytics-kpi.primary small{color:#b9d0df}.analytics-kpi.primary strong{color:#fff}.analytics-kpi.primary:after{background:rgba(255,255,255,.06)}.analytics-kpi.accent{border-color:#cfe1f2;background:#f2f8ff}.analytics-kpi.accent strong{color:#17679f}
.analytics-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.analytics-panel{margin:0}.analytics-panel .panel-head small{display:block;margin-top:3px}.analytics-panel .panel-body{padding:15px}
.analytics-funnel{display:flex;flex-direction:column;gap:12px}.funnel-row{display:grid;grid-template-columns:150px minmax(80px,1fr) 140px;gap:9px;align-items:center}.funnel-label{display:flex;align-items:center;gap:7px;min-width:0}.funnel-label strong{font-size:.73rem;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.funnel-label em{font-style:normal;font-size:.63rem;font-weight:900;background:#eef2f5;border-radius:999px;padding:3px 6px;color:#647b8d}.funnel-track{height:10px;border-radius:999px;background:#edf2f5;overflow:hidden}.funnel-track span{display:block;height:100%;border-radius:999px;min-width:3px}.funnel-money{font-size:.62rem;color:#6f8596;text-align:right}.funnel-money span{display:block}
.health-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.health-grid>div{display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:center;background:#f6f9fb;border:1px solid #e8eef2;border-radius:13px;padding:11px}.health-grid i{width:32px;height:32px;border-radius:9px;background:#fff;display:grid;place-items:center;color:#3b78a5}.health-grid span{font-size:.67rem;color:#60798c;font-weight:800}.health-grid strong{font-size:1rem;color:var(--navy)}.health-grid .warning{background:#fff8e9;border-color:#f2dfb4}.health-grid .warning i,.health-grid .warning strong{color:#a66a04}.health-grid .danger{background:#fff0ed;border-color:#f1d2cb}.health-grid .danger i,.health-grid .danger strong{color:#b83c31}.analytics-open-value{display:flex;gap:12px;align-items:center;margin-top:11px;padding-top:11px;border-top:1px solid #edf2f5;font-size:.67rem}.analytics-open-value span{color:#768b9b;margin-right:auto}.analytics-open-value strong{color:var(--navy)}
.trend-chart-wrap{position:relative}.trend-legend{display:flex;justify-content:flex-end;gap:13px;font-size:.65rem;color:#6c8293;margin-bottom:7px}.trend-legend span{display:flex;align-items:center;gap:5px}.trend-legend i{width:9px;height:9px;border-radius:3px}.trend-legend i.quote,.trend-bars span.quote{background:#a9c4d8}.trend-legend i.won,.trend-bars span.won{background:#1c7fb7}.trend-chart{height:220px;display:flex;align-items:flex-end;gap:10px;border-bottom:1px solid #dfe7ed;padding:12px 7px 0;background:repeating-linear-gradient(to top,#f8fafc 0,#f8fafc 1px,transparent 1px,transparent 50px)}.trend-month{height:100%;flex:1;min-width:42px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.trend-bars{height:185px;width:100%;display:flex;gap:4px;align-items:flex-end;justify-content:center}.trend-bars span{width:min(24px,38%);min-height:3px;border-radius:5px 5px 0 0;transition:.2s}.trend-month small{font-size:.58rem;color:#7b8f9e;margin:7px 0 5px;white-space:nowrap}.analytics-note{margin-top:9px;padding:8px 10px;border-radius:10px;background:#f5f8fa;color:#718595;font-size:.63rem;line-height:1.5}
.proposal-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.proposal-metrics>div{padding:10px;border-radius:11px;background:#f6f9fb;text-align:center}.proposal-metrics span,.proposal-metrics strong,.proposal-metrics em{display:block}.proposal-metrics span{font-size:.58rem;text-transform:uppercase;font-weight:900;color:#7a8f9e}.proposal-metrics strong{font-size:1rem;color:var(--navy);margin-top:5px}.proposal-metrics em{font-size:.58rem;font-style:normal;color:#2b78ae;margin-top:2px}.metric-progress{margin-top:12px}.metric-progress>div{display:flex;justify-content:space-between;font-size:.66rem;color:#667e90}.metric-progress>div strong{color:var(--navy)}.metric-progress>i{height:8px;background:#edf2f5;border-radius:999px;display:block;overflow:hidden;margin-top:5px}.metric-progress>i b{height:100%;display:block;background:#2b7bad;border-radius:999px}.metric-progress.accepted>i b{background:#07936b}
.target-list{display:flex;flex-direction:column;gap:13px}.target-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.target-row div span,.target-row div strong,.target-row div small{display:block}.target-row div span{font-size:.6rem;font-weight:900;color:#718798}.target-row div strong{font-size:.9rem;color:var(--navy);margin-top:3px}.target-row div small{font-size:.63rem;color:#7d91a0;margin-top:2px}.target-row em{font-style:normal;font-size:.78rem;font-weight:900;color:#2773a8}.target-row>i{grid-column:1/-1;height:9px;border-radius:999px;background:#edf2f5;overflow:hidden}.target-row>i b{display:block;height:100%;border-radius:999px;background:#2a7daf}.target-row.pen>i b{background:#0d8b70}.target-row.pen em{color:#0b8269}.drawer-target-help{display:flex;gap:8px;padding:11px;border-radius:12px;background:#eef7ff;color:#55758d;font-size:.7rem;line-height:1.45;margin-top:10px}.drawer-target-help i{color:#2e79ae}
.ranking-list{padding-top:5px!important}.ranking-row{display:grid;grid-template-columns:30px minmax(0,1fr) 135px 65px;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid #edf2f5}.ranking-row:last-child{border-bottom:0}.rank-number{width:27px;height:27px;border-radius:8px;background:#eef4f8;color:#52748d;display:grid;place-items:center;font-size:.65rem;font-weight:900}.ranking-row:nth-child(1) .rank-number{background:#fff3c9;color:#9b6a00}.ranking-row:nth-child(2) .rank-number{background:#eef1f4;color:#687b89}.ranking-row:nth-child(3) .rank-number{background:#f8e9dd;color:#9b5a2d}.rank-main strong,.rank-main small{display:block}.rank-main strong{font-size:.75rem;color:var(--navy)}.rank-main small{font-size:.61rem;color:#7a8f9f;margin-top:3px}.rank-values{text-align:right}.rank-values strong,.rank-values span{display:block}.rank-values strong{font-size:.68rem;color:var(--navy)}.rank-values span{font-size:.61rem;color:#74899a;margin-top:2px}.ranking-row>em{font-size:.61rem;font-style:normal;color:#2b78ad;font-weight:900;text-align:right}.ranking-row.client,.ranking-row.product{grid-template-columns:30px minmax(0,1fr) 135px}.bar-ranking{display:flex;flex-direction:column;gap:11px}.bar-rank-row>div{display:flex;align-items:center;gap:7px}.bar-rank-row strong{font-size:.7rem;color:var(--navy)}.bar-rank-row em{margin-left:auto;font-style:normal;font-size:.66rem;font-weight:900;color:#5e788c}.bar-rank-row>i{display:block;height:8px;background:#edf2f5;border-radius:999px;overflow:hidden;margin:5px 0}.bar-rank-row>i b{height:100%;display:block;border-radius:999px}.bar-rank-row small{font-size:.59rem;color:#7b8f9f}
.source-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.source-card{border:1px solid #e4ebf0;background:#f9fbfc;border-radius:13px;padding:12px}.source-card span,.source-card strong,.source-card small{display:block}.source-card span{font-size:.62rem;font-weight:900;color:#658095}.source-card strong{font-size:1.15rem;color:var(--navy);margin-top:5px}.source-card small{font-size:.6rem;color:#7d909f;margin-top:2px}.source-card i{height:6px;background:#e8eef2;border-radius:999px;display:block;overflow:hidden;margin-top:8px}.source-card i b{height:100%;display:block;background:#2c7aaa;border-radius:999px}.lost-reason-form{padding:10px;border:1px solid #f0d5cf;border-radius:12px;background:#fff7f5}

@media(max-width:1200px){.analytics-kpi-grid{grid-template-columns:repeat(2,1fr)}.analytics-two-col{grid-template-columns:1fr}.source-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.analytics-filter-fields{display:grid;grid-template-columns:1fr 1fr}.analytics-filter-fields label:nth-child(3){grid-column:1/-1}.analytics-filter-fields input,.analytics-filter-fields select,.analytics-filter-fields label:nth-child(3) select{min-width:0;width:100%}.analytics-kpi-grid{grid-template-columns:1fr 1fr}.funnel-row{grid-template-columns:120px 1fr}.funnel-money{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px}.proposal-metrics{grid-template-columns:repeat(3,1fr)}.ranking-row{grid-template-columns:28px minmax(0,1fr) 105px}.ranking-row>em{grid-column:2/-1}.source-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.analytics-title{align-items:flex-start}.analytics-title .actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.analytics-title .actions .btn{justify-content:center}.analytics-preset{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.analytics-preset a{white-space:nowrap}.analytics-filter-fields{grid-template-columns:1fr}.analytics-filter-fields label:nth-child(3){grid-column:auto}.analytics-kpi-grid{grid-template-columns:1fr}.analytics-kpi{min-height:100px}.health-grid{grid-template-columns:1fr}.funnel-row{grid-template-columns:105px 1fr}.trend-chart{overflow-x:auto;justify-content:flex-start}.trend-month{min-width:55px}.proposal-metrics{grid-template-columns:1fr 1fr}.source-grid{grid-template-columns:1fr}.ranking-row,.ranking-row.client,.ranking-row.product{grid-template-columns:27px minmax(0,1fr)}.rank-values{grid-column:2;text-align:left;display:flex;gap:8px}.ranking-row>em{grid-column:2;text-align:left}.analytics-open-value{flex-wrap:wrap}}

.dashboard-executive-strip{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:12px;margin-bottom:18px}.executive-progress-card,.executive-insight-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px 15px;box-shadow:0 7px 20px rgba(14,36,55,.04)}.executive-progress-head{display:flex;justify-content:space-between;align-items:flex-start}.executive-progress-head small,.executive-progress-head strong{display:block}.executive-progress-head small{font-size:.58rem;color:#758b9a;font-weight:900;letter-spacing:.05em}.executive-progress-head strong{font-size:.9rem;color:var(--navy);margin-top:4px}.executive-progress-head>span{font-size:.8rem;font-weight:900;color:#2779ad}.executive-progress-card>i{height:7px;background:#edf2f5;border-radius:999px;display:block;overflow:hidden;margin:9px 0 5px}.executive-progress-card>i b{display:block;height:100%;background:#2b7daf;border-radius:999px}.executive-progress-card.pen>i b{background:#0b8d6f}.executive-progress-card.pen .executive-progress-head>span{color:#0b8469}.executive-progress-card>small{font-size:.6rem;color:#7c909f}.executive-insight-card{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center}.executive-insight-card>i{width:38px;height:38px;border-radius:11px;background:#eef6fc;color:#2d77aa;display:grid;place-items:center}.executive-insight-card small,.executive-insight-card strong,.executive-insight-card span{display:block}.executive-insight-card small{font-size:.57rem;color:#778d9c;font-weight:900}.executive-insight-card strong{font-size:1.05rem;color:var(--navy);margin-top:3px}.executive-insight-card span{font-size:.61rem;color:#7b8f9e;margin-top:2px}.executive-insight-card em{font-size:.62rem;font-style:normal;font-weight:900;color:#2d75a8;white-space:nowrap}
.loss-reason-chip{display:inline-flex;padding:4px 7px;border-radius:999px;background:color-mix(in srgb,var(--loss-color) 12%,white);color:var(--loss-color);font-size:.62rem;font-weight:900;margin-right:7px;border:1px solid color-mix(in srgb,var(--loss-color) 25%,white)}
@media(max-width:1050px){.dashboard-executive-strip{grid-template-columns:1fr 1fr}.executive-insight-card{grid-column:1/-1}}@media(max-width:650px){.dashboard-executive-strip{grid-template-columns:1fr}.executive-insight-card{grid-column:auto}}

/* =========================================================
   NovaQuote 2.6.0 · FASE SaaS 06 REAL
   Suscripciones + Notificaciones + Automatizaciones internas
   ========================================================= */
.notification-bell{position:relative;width:42px;height:42px;border-radius:12px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;color:#355f7e;box-shadow:0 6px 16px rgba(15,38,58,.05)}
.notification-bell>span{position:absolute;right:-5px;top:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#c8382d;color:#fff;border:2px solid #fff;font-size:.55rem;font-weight:900;display:grid;place-items:center}
.tenant-subscription-mini{font-size:.59rem!important;color:#98b0c1!important;margin-top:2px}
.subscription-blocked-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#edf3f8,#f8fafc)}
.subscription-blocked-card{max-width:580px;background:#fff;border:1px solid #dfe7ed;border-radius:26px;padding:34px;text-align:center;box-shadow:0 28px 80px rgba(9,35,55,.12)}
.subscription-blocked-card>img{width:250px;max-width:70%;margin-bottom:24px}.blocked-icon{width:72px;height:72px;border-radius:22px;background:#fff0ed;color:#bd3d30;display:grid;place-items:center;font-size:1.8rem;margin:0 auto 15px}
.subscription-blocked-card>span{font-size:.66rem;letter-spacing:.09em;font-weight:900;color:#657e91}.subscription-blocked-card h1{font-size:1.65rem;color:var(--navy);line-height:1.25;margin:9px 0 12px}.subscription-blocked-card p{color:#647b8d;line-height:1.55}.blocked-note{padding:12px;border-radius:13px;background:#f5f8fa;color:#62798b;font-size:.74rem;line-height:1.5;margin:17px 0}

.saas-phase-banner{display:flex;gap:12px;align-items:center;background:linear-gradient(110deg,#0d2f4c,#155a86);border-radius:18px;padding:15px 18px;color:#fff;margin-bottom:18px}.saas-phase-banner>i{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.1);display:grid;place-items:center;font-size:1.1rem}.saas-phase-banner strong,.saas-phase-banner span{display:block}.saas-phase-banner strong{font-size:.82rem}.saas-phase-banner span{font-size:.7rem;color:#bdd3e1;margin-top:3px}
.saas-plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.saas-plan-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:17px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:13px}.saas-plan-card.inactive{opacity:.62}.plan-card-head{display:flex;gap:8px;align-items:flex-start}.plan-card-head>div{flex:1}.plan-card-head small{font-size:.57rem;color:#7790a2;font-weight:900}.plan-card-head h3{font-size:1.15rem;color:var(--navy);margin:4px 0}.plan-card-head p{font-size:.68rem;color:#718696;line-height:1.45;margin:0;min-height:38px}.plan-card-head>span{font-size:.57rem;font-weight:900;padding:5px 7px;border-radius:999px}.plan-card-head>span.active{background:#e6f7ef;color:#087653}.plan-card-head>span.inactive{background:#eef1f4;color:#73838f}
.plan-price-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.plan-price-row>div{padding:10px;border-radius:12px;background:#f5f8fa}.plan-price-row small,.plan-price-row strong{display:block}.plan-price-row small{font-size:.57rem;color:#7a8e9d;text-transform:uppercase;font-weight:900}.plan-price-row strong{font-size:.8rem;color:var(--navy);margin-top:4px}
.plan-limits{display:grid;grid-template-columns:1fr 1fr;gap:7px}.plan-limits span{display:flex;gap:5px;align-items:center;font-size:.63rem;color:#667f91}.plan-limits i{color:#3b7aa6}.plan-limits strong{font-size:.66rem;color:var(--navy)}.plan-features{display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:1px solid #edf2f5}.plan-features span{display:flex;gap:6px;align-items:center;font-size:.65rem}.plan-features .yes{color:#367258}.plan-features .no{color:#a07a75}.plan-features .yes i{color:#0a9b70}.plan-features .no i{color:#c45147}

.subscription-kpis,.saas-financial-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:17px}.subscription-kpis>div,.saas-financial-kpis>*{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;box-shadow:0 7px 20px rgba(13,37,58,.04)}.subscription-kpis span,.subscription-kpis strong,.subscription-kpis small,.saas-financial-kpis span,.saas-financial-kpis strong,.saas-financial-kpis small{display:block}.subscription-kpis span,.saas-financial-kpis span{font-size:.61rem;color:#778d9d;text-transform:uppercase;font-weight:900}.subscription-kpis strong,.saas-financial-kpis strong{font-size:1.15rem;color:var(--navy);margin-top:6px}.subscription-kpis small,.saas-financial-kpis small{font-size:.62rem;color:#7c909f;margin-top:3px}.subscription-kpis .warning,.saas-financial-kpis .warning{background:#fff9eb;border-color:#f1ddb0}.subscription-kpis .warning strong,.saas-financial-kpis .warning strong{color:#a46b05}.subscription-kpis .danger,.saas-financial-kpis .danger{background:#fff1ee;border-color:#f0d1ca}.subscription-kpis .danger strong,.saas-financial-kpis .danger strong{color:#b1392e}.saas-financial-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}
.subscription-filters form{display:flex;gap:7px;flex-wrap:wrap}.subscription-filters input{min-width:260px}.subscription-status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:.59rem;font-weight:900}.status-activa{background:#e5f7ef;color:#087653}.status-vencida{background:#fff0ed;color:#b43b30}.status-suspendida{background:#fff4d9;color:#996300}.status-cancelada{background:#eef1f4;color:#6b7c89}.text-danger{color:#b63a2f}.text-warning{color:#9a6704}

.subscription-tenant-hero{background:linear-gradient(125deg,#0a263d,#15547c);color:#fff;border-radius:22px;padding:22px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;margin-bottom:16px}.subscription-tenant-hero span,.subscription-tenant-hero small,.subscription-tenant-hero strong{display:block}.subscription-tenant-hero>div:first-child>span,.subscription-tenant-hero>div:last-child>small{font-size:.6rem;font-weight:900;letter-spacing:.08em;color:#bad0df}.subscription-tenant-hero h2{font-size:1.6rem;margin:7px 0}.subscription-tenant-hero p{margin:0;color:#c7d8e4;font-size:.75rem}.subscription-tenant-hero>div:last-child{min-width:210px;padding:13px;background:rgba(255,255,255,.08);border-radius:14px}.subscription-tenant-hero>div:last-child>span{font-size:.64rem;color:#bfd2df;margin-top:7px}
.subscription-usage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.usage-card{display:grid;grid-template-columns:40px 1fr;gap:9px;align-items:center;background:#f7f9fb;border:1px solid #e8eef2;border-radius:13px;padding:11px}.usage-card>i{width:38px;height:38px;border-radius:11px;background:#fff;color:#3276a7;display:grid;place-items:center}.usage-card span,.usage-card strong{display:block}.usage-card span{font-size:.62rem;color:#728899}.usage-card strong{font-size:.8rem;color:var(--navy);margin-top:3px}.usage-card em{height:6px;background:#e5ecef;border-radius:999px;display:block;overflow:hidden;margin-top:6px}.usage-card em b{height:100%;display:block;background:#2b7daf;border-radius:999px}
.subscription-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.subscription-feature-grid>div{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #e5ecef;border-radius:12px;font-size:.7rem}.subscription-feature-grid .enabled{color:#27705a;background:#f3fbf7}.subscription-feature-grid .disabled{color:#8e6b67;background:#fcf7f6}

.renewal-options{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:15px}.renewal-options input{display:none}.renewal-options span{display:block;text-align:center;padding:11px 7px;border:1px solid #dfe7ed;border-radius:11px;font-size:.69rem;font-weight:900;color:#60798c;cursor:pointer}.renewal-options input:checked+span{background:#0e4267;color:#fff;border-color:#0e4267}.renewal-result-note{display:flex;gap:8px;padding:11px;border-radius:12px;background:#eff7fd;color:#56768f;font-size:.7rem;line-height:1.45;margin-top:10px}.subscription-create-section{background:#f7fafc;border-radius:14px;padding:13px}.subscription-manage-link{display:flex;gap:10px;align-items:center;padding:11px;border-radius:12px;background:#f5f8fa}.subscription-manage-link>i{width:36px;height:36px;border-radius:10px;background:#fff;display:grid;place-items:center;color:#2d77aa}.subscription-manage-link>div{flex:1}.subscription-manage-link strong,.subscription-manage-link span{display:block}.subscription-manage-link strong{font-size:.75rem;color:var(--navy)}.subscription-manage-link span{font-size:.65rem;color:#7a8e9d;margin-top:2px}.subscription-manage-link>a{font-size:.65rem;font-weight:900;color:#2e75a8}
.subscription-history-list{display:flex;flex-direction:column;gap:10px}.subscription-history-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:9px;align-items:start;padding:11px;border:1px solid #e4ebf0;border-radius:12px}.subscription-history-item>i{width:34px;height:34px;border-radius:10px;background:#edf5fb;color:#3376a7;display:grid;place-items:center}.subscription-history-item strong,.subscription-history-item span,.subscription-history-item small{display:block}.subscription-history-item strong{font-size:.73rem;color:var(--navy)}.subscription-history-item span{font-size:.65rem;color:#647e91;margin-top:2px}.subscription-history-item small{font-size:.61rem;color:#8092a0;margin-top:3px}.subscription-history-item p{font-size:.65rem;color:#667d8f;line-height:1.4;margin:5px 0 0}.subscription-history-item em{font-style:normal;font-size:.57rem;color:#8395a2;text-align:right}

.saas-financial-hero .hero-actions{display:flex;gap:8px;flex-wrap:wrap}.saas-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.plan-distribution{display:flex;flex-direction:column;gap:11px}.plan-distribution>div{display:grid;grid-template-columns:110px 35px 65px 1fr;gap:8px;align-items:center}.plan-distribution span{font-size:.69rem;color:#617b8e;font-weight:900}.plan-distribution strong{font-size:.82rem;color:var(--navy)}.plan-distribution em{font-size:.58rem;font-style:normal;color:#81929e}.plan-distribution i{height:7px;background:#e9eff3;border-radius:999px;overflow:hidden}.plan-distribution i b{display:block;height:100%;background:#2c7dac;border-radius:999px}
.saas-renewal-list{display:flex;flex-direction:column;gap:8px}.saas-renewal-list>div{display:grid;grid-template-columns:1fr auto 30px;gap:9px;align-items:center;padding:9px 10px;border-radius:11px;background:#f7f9fb}.saas-renewal-list>div.warning{background:#fff8e8}.saas-renewal-list>div.danger{background:#fff0ed}.saas-renewal-list strong,.saas-renewal-list small{display:block}.saas-renewal-list strong{font-size:.7rem;color:var(--navy)}.saas-renewal-list small{font-size:.59rem;color:#788c9b;margin-top:2px}.saas-renewal-list em{font-size:.63rem;font-style:normal;font-weight:900;color:#5e778a}.saas-renewal-list button{border:0;background:#fff;width:28px;height:28px;border-radius:8px;color:#2f75a7;cursor:pointer}
.subscription-event-list{display:flex;flex-direction:column}.subscription-event-list>div{display:grid;grid-template-columns:30px 1fr auto;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid #edf2f5}.subscription-event-list>div:last-child{border-bottom:0}.subscription-event-list>div>i{width:28px;height:28px;border-radius:8px;background:#eef5fa;color:#3778a6;display:grid;place-items:center}.subscription-event-list strong,.subscription-event-list small{display:block}.subscription-event-list strong{font-size:.69rem;color:var(--navy)}.subscription-event-list small{font-size:.6rem;color:#758a99}.subscription-event-list em{font-size:.58rem;font-style:normal;color:#8495a0}

.notification-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:13px}.notification-summary>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px}.notification-summary span,.notification-summary strong{display:block}.notification-summary span{font-size:.59rem;color:#768b9a;text-transform:uppercase;font-weight:900}.notification-summary strong{font-size:1.15rem;color:var(--navy);margin-top:4px}.notification-filters .active{background:#0c3d60;color:#fff;border-color:#0c3d60}
.notification-list{display:flex;flex-direction:column;gap:9px}.notification-item{display:grid;grid-template-columns:42px 1fr;gap:11px;background:#fff;border:1px solid var(--line);border-left:4px solid #9bb2c2;border-radius:15px;padding:13px 14px;box-shadow:0 5px 18px rgba(12,35,55,.035)}.notification-item.unread{box-shadow:0 9px 24px rgba(12,35,55,.07)}.notification-item.read{opacity:.72}.notification-item.priority-warning{border-left-color:#d99b20}.notification-item.priority-danger{border-left-color:#ca493d}.notification-item.priority-success{border-left-color:#11916a}.notification-icon{width:39px;height:39px;border-radius:11px;background:#eef5fa;color:#3976a3;display:grid;place-items:center}.priority-warning .notification-icon{background:#fff7df;color:#a8730b}.priority-danger .notification-icon{background:#fff0ed;color:#ba3e33}.priority-success .notification-icon{background:#e9f8f1;color:#0b815d}.notification-top{display:flex;justify-content:space-between;gap:10px}.notification-top strong{font-size:.8rem;color:var(--navy)}.notification-top small{font-size:.58rem;color:#8797a3;white-space:nowrap}.notification-copy p{font-size:.71rem;color:#657d8f;line-height:1.45;margin:5px 0 7px}.notification-actions{display:flex;gap:12px;align-items:center}.notification-actions a,.notification-actions button{border:0;background:transparent;padding:0;color:#2f75a8;font-size:.64rem;font-weight:900;cursor:pointer}.notification-actions form{margin:0}
.automation-intro{display:flex;gap:12px;align-items:center;background:linear-gradient(115deg,#0b2e49,#174f73);color:#fff;border-radius:18px;padding:15px 17px;margin-bottom:16px}.automation-intro>i{width:44px;height:44px;border-radius:13px;background:rgba(255,255,255,.09);display:grid;place-items:center;font-size:1.15rem}.automation-intro strong{font-size:.8rem}.automation-intro p{font-size:.68rem;color:#bed1df;line-height:1.5;margin:4px 0 0}
.automation-rules-form{margin-bottom:16px}.automation-rule-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.automation-rule-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:9px;align-items:center;padding:12px;border:1px solid #e3ebf0;border-radius:13px;background:#fafcfd}.automation-rule-icon{width:37px;height:37px;border-radius:10px;background:#fff;color:#3276a6;display:grid;place-items:center}.automation-rule-copy strong,.automation-rule-copy p,.automation-rule-copy small{display:block}.automation-rule-copy strong{font-size:.72rem;color:var(--navy)}.automation-rule-copy p{font-size:.63rem;color:#657d8f;line-height:1.35;margin:3px 0}.automation-rule-copy small{font-size:.57rem;color:#8998a3}.automation-switch input{display:none}.automation-switch span{display:block;width:38px;height:22px;border-radius:999px;background:#cbd6dd;position:relative;cursor:pointer}.automation-switch span:after{content:"";position:absolute;width:16px;height:16px;background:#fff;border-radius:50%;top:3px;left:3px;transition:.15s;box-shadow:0 1px 4px rgba(0,0,0,.15)}.automation-switch input:checked+span{background:#1787bd}.automation-switch input:checked+span:after{left:19px}.automation-days{grid-column:2/-1;display:flex;gap:5px;align-items:center;justify-content:flex-end}.automation-days input{width:65px;padding:6px}.automation-days span{font-size:.6rem;color:#778b9a}.automation-status{padding-top:8px!important}.automation-run-status{display:grid;grid-template-columns:36px 1fr auto;gap:9px;align-items:center;padding:11px;border-radius:12px;background:#f5f8fa}.automation-run-status>i{width:34px;height:34px;border-radius:10px;background:#fff;display:grid;place-items:center;color:#3378a7}.automation-run-status strong,.automation-run-status span{display:block}.automation-run-status strong{font-size:.73rem;color:var(--navy)}.automation-run-status span{font-size:.61rem;color:#7b8f9f;margin-top:2px}.automation-run-status em{font-size:.62rem;font-style:normal;color:#2e75a7;font-weight:900}
.saas-automation-status{display:grid;grid-template-columns:150px 220px minmax(0,1fr);gap:11px;margin-bottom:16px}.saas-automation-status>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px}.saas-automation-status small,.saas-automation-status strong,.saas-automation-status span{display:block}.saas-automation-status small{font-size:.58rem;color:#778c9b;font-weight:900}.saas-automation-status strong{font-size:.9rem;color:var(--navy);margin-top:5px}.saas-automation-status span{font-size:.59rem;color:#7c8f9d;margin-top:2px}.cron-card code{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#f5f8fa;padding:6px;border-radius:7px;margin-top:5px;font-size:.6rem;color:#2d668d}

@media(max-width:1250px){.saas-plan-grid{grid-template-columns:repeat(2,1fr)}.saas-financial-kpis{grid-template-columns:repeat(3,1fr)}.subscription-usage-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:950px){.saas-dashboard-grid{grid-template-columns:1fr}.subscription-kpis{grid-template-columns:repeat(2,1fr)}.saas-automation-status{grid-template-columns:1fr 1fr}.cron-card{grid-column:1/-1}.automation-rule-grid{grid-template-columns:1fr}}
@media(max-width:700px){.saas-plan-grid{grid-template-columns:1fr}.saas-financial-kpis{grid-template-columns:1fr 1fr}.subscription-tenant-hero{grid-template-columns:1fr}.subscription-usage-grid,.subscription-feature-grid{grid-template-columns:1fr}.notification-summary{grid-template-columns:1fr 1fr 1fr}.subscription-filters form{display:grid;grid-template-columns:1fr 1fr}.subscription-filters input{grid-column:1/-1;min-width:0}.saas-automation-status{grid-template-columns:1fr}.cron-card{grid-column:auto}}
@media(max-width:500px){.subscription-kpis,.saas-financial-kpis{grid-template-columns:1fr}.plan-limits{grid-template-columns:1fr}.renewal-options{grid-template-columns:1fr 1fr}.notification-summary{grid-template-columns:1fr}.notification-item{grid-template-columns:36px 1fr}.notification-top{flex-direction:column;gap:3px}.automation-rule-card{grid-template-columns:34px minmax(0,1fr) auto}.subscription-filters form{grid-template-columns:1fr}.subscription-filters input{grid-column:auto}.plan-distribution>div{grid-template-columns:90px 30px 55px 1fr}}

.plan-revenue{padding:9px 10px;border-radius:11px;background:#eef6fb;border:1px solid #dceaf3}.plan-revenue span{display:block;font-size:.61rem;color:#688195}.plan-revenue span+span{margin-top:3px}.plan-revenue strong{color:#1d5f8d}


/* =========================================================
   NovaQuote 2.6.1 · FASE VISUAL 01
   Header Premium + Reestructuración Visual General
   ========================================================= */
:root{
 --sidebar:286px;
 --nq-surface:#ffffff;
 --nq-surface-soft:#f7fafd;
 --nq-surface-blue:#f1f7fc;
 --nq-border:#dce6ee;
 --nq-border-strong:#cedbe6;
 --nq-ink:#0b2238;
 --nq-ink-soft:#526b7e;
 --nq-blue:#155f91;
 --nq-blue-2:#0b3e63;
 --nq-accent:#1c8bc1;
 --nq-shadow-sm:0 7px 22px rgba(12,36,56,.055);
 --nq-shadow-md:0 15px 38px rgba(12,36,56,.075);
 --nq-shadow-lg:0 24px 60px rgba(9,31,49,.11);
}

/* Estructura global */
html{background:#eef3f7}
body.nq-app{
 background:
  radial-gradient(circle at 88% 6%,rgba(41,133,188,.075),transparent 23%),
  linear-gradient(180deg,#f5f8fb 0,#eff4f8 100%);
}
.app-main{background:transparent}
.content{
 max-width:1760px;
 padding:28px 34px 54px;
 position:relative;
}
.content:before{
 content:"";
 position:absolute;
 left:34px;right:34px;top:0;height:1px;
 background:linear-gradient(90deg,transparent,rgba(31,117,169,.16),transparent);
 pointer-events:none;
}

/* Sidebar refinado */
.sidebar{
 background:
  radial-gradient(circle at 20% 0,rgba(22,108,161,.18),transparent 32%),
  linear-gradient(180deg,#061827 0%,#09243a 55%,#071b2c 100%);
 border-right:1px solid rgba(255,255,255,.06);
 box-shadow:14px 0 42px rgba(3,20,34,.11);
}
.brand{
 height:102px;
 padding:21px 20px;
 border-bottom:1px solid rgba(255,255,255,.075);
 background:rgba(4,18,30,.24);
}
.brand img{width:190px;max-height:57px;object-fit:contain;object-position:left center}
.brand .icon-btn{
 width:36px;height:36px;border:1px solid rgba(255,255,255,.09);
 background:rgba(255,255,255,.035);
}
.brand .icon-btn:hover{background:rgba(255,255,255,.1)}
.sidebar-scroll{
 padding:14px 12px 18px;
 scrollbar-width:thin;
 scrollbar-color:rgba(163,193,214,.3) transparent;
}
.sidebar-scroll::-webkit-scrollbar{width:5px}
.sidebar-scroll::-webkit-scrollbar-thumb{background:rgba(163,193,214,.27);border-radius:999px}
.menu-group{margin-bottom:8px}
.menu-heading{
 padding:12px 13px 8px;
 color:#7895aa;
 font-size:.65rem;
 letter-spacing:.105em;
}
.menu-link{
 min-height:46px;
 gap:12px;
 padding:11px 13px;
 margin:3px 0;
 border:1px solid transparent;
 border-radius:13px;
 font-size:.91rem;
 font-weight:720;
 color:#bfd0dd;
}
.menu-link i{
 width:22px;
 display:grid;
 place-items:center;
 font-size:1rem;
 color:#9eb7c9;
}
.menu-link:hover{
 background:rgba(255,255,255,.055);
 border-color:rgba(255,255,255,.045);
 color:#fff;
 transform:translateX(2px);
}
.menu-link:hover i{color:#dcebf5}
.menu-link.active{
 position:relative;
 background:linear-gradient(115deg,#1763d6 0%,#179cc0 100%);
 border-color:rgba(255,255,255,.13);
 box-shadow:0 10px 26px rgba(5,105,188,.25);
 color:#fff;
}
.menu-link.active:before{
 content:"";
 position:absolute;
 left:-5px;top:10px;bottom:10px;width:3px;
 border-radius:999px;
 background:#8ee9ff;
 box-shadow:0 0 12px rgba(105,229,255,.55);
}
.menu-link.active i{color:#fff}
.tenant-card-side{
 margin:14px 14px 0;
 padding:15px;
 border-radius:16px;
 border:1px solid rgba(174,205,227,.13);
 background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
 box-shadow:inset 0 1px rgba(255,255,255,.035);
}
.tenant-card-side small{
 color:#83a6bd;
 font-size:.62rem;
 letter-spacing:.09em;
}
.tenant-card-side strong{
 margin-top:5px;
 font-size:.88rem;
 line-height:1.35;
}
.tenant-card-side span{font-size:.68rem;color:#92aabd}
.tenant-card-side a{
 display:inline-flex;align-items:center;gap:5px;
 margin-top:10px;color:#87d8ff;font-size:.66rem;font-weight:850;
}
.sidebar-user{
 min-height:76px;
 padding:13px 14px;
 background:rgba(3,17,29,.38);
 border-top:1px solid rgba(255,255,255,.07);
}
.sidebar-user .avatar{
 width:42px;height:42px;
 border-radius:13px;
 box-shadow:0 8px 20px rgba(18,123,206,.22);
}
.sidebar-user strong{font-size:.82rem;line-height:1.25}
.sidebar-user small{font-size:.65rem;color:#7f9aaf}

/* Header premium */
.topbar{
 min-height:108px;
 height:auto;
 padding:15px 32px;
 gap:24px;
 background:rgba(255,255,255,.96);
 backdrop-filter:blur(18px);
 -webkit-backdrop-filter:blur(18px);
 border-bottom:1px solid rgba(197,213,225,.84);
 box-shadow:0 10px 32px rgba(12,35,53,.055);
}
.topbar:after{
 content:"";
 position:absolute;
 left:0;right:0;bottom:-1px;height:1px;
 background:linear-gradient(90deg,rgba(19,118,175,.24),rgba(27,139,193,.08),transparent 80%);
}
.topbar-left{
 min-width:0;
 flex:1;
 display:flex;
 align-items:center;
 gap:15px;
}
.topbar-page-icon{
 flex:0 0 48px;
 width:48px;height:48px;
 border-radius:15px;
 display:grid;
 place-items:center;
 background:linear-gradient(145deg,#0a2942,#17628f);
 color:#fff;
 font-size:1.08rem;
 box-shadow:0 10px 24px rgba(10,66,104,.18);
 position:relative;
 overflow:hidden;
}
.topbar-page-icon:after{
 content:"";
 position:absolute;
 width:34px;height:34px;border-radius:50%;
 background:rgba(77,190,225,.18);
 right:-13px;top:-12px;
}
.topbar-copy{min-width:0;max-width:760px}
.topbar-breadcrumb{
 display:flex;
 align-items:center;
 gap:6px;
 color:#8091a0;
 font-size:.61rem;
 line-height:1;
 font-weight:850;
 text-transform:uppercase;
 letter-spacing:.075em;
 margin-bottom:7px;
}
.topbar-breadcrumb i{font-size:.53rem;color:#a8b5bf}
.topbar-breadcrumb .current{
 max-width:270px;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
 color:#43718f;
}
.topbar-title-row{
 display:flex;
 align-items:center;
 flex-wrap:wrap;
 gap:9px;
 min-width:0;
}
.topbar h1{
 margin:0;
 color:#0a2034;
 font-size:1.48rem;
 line-height:1.08;
 letter-spacing:-.025em;
 font-weight:880;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.topbar-copy>p{
 margin:5px 0 0;
 max-width:680px;
 color:#708393;
 font-size:.73rem;
 line-height:1.35;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.topbar-mode-badge{
 display:inline-flex;
 align-items:center;
 gap:5px;
 border:1px solid #efd695;
 background:#fff8e7;
 color:#8a5b08;
 border-radius:999px;
 padding:4px 7px;
 font-size:.57rem;
 font-weight:900;
 letter-spacing:.02em;
}
.top-actions{
 display:flex;
 align-items:center;
 justify-content:flex-end;
 gap:9px;
 flex:0 0 auto;
}
.topbar-plan-pill{
 min-height:43px;
 display:flex;
 align-items:center;
 gap:8px;
 padding:7px 11px;
 border:1px solid #dce6ed;
 border-radius:12px;
 background:#f8fbfd;
 box-shadow:0 5px 14px rgba(12,36,54,.035);
}
.topbar-plan-pill>span{
 font-size:.66rem;
 color:#496a81;
 font-weight:900;
}
.topbar-plan-pill>strong{
 display:inline-flex;
 align-items:center;
 gap:5px;
 font-size:.57rem;
 color:#567183;
 font-weight:850;
}
.subscription-dot:before{
 content:"";
 width:6px;height:6px;border-radius:50%;
 display:inline-block;
 background:#8094a3;
}
.subscription-dot.status-activa:before{background:#10a277;box-shadow:0 0 0 3px rgba(16,162,119,.1)}
.subscription-dot.status-vencida:before{background:#d54b3d}
.subscription-dot.status-suspendida:before{background:#d29519}
.notification-bell{
 width:43px;height:43px;
 border-radius:12px;
 border:1px solid #d9e4ec;
 background:#fff;
 color:#2d6287;
 box-shadow:0 6px 16px rgba(13,37,57,.05);
 transition:.18s ease;
}
.notification-bell:hover{
 transform:translateY(-1px);
 border-color:#bfd5e4;
 background:#f7fbfe;
 color:#155f91;
 box-shadow:0 10px 22px rgba(13,60,93,.08);
}
.notification-bell>span{
 right:-5px;top:-5px;
 border-width:2px;
}
.topbar-user-chip{
 min-height:43px;
 display:grid;
 grid-template-columns:34px minmax(0,1fr);
 align-items:center;
 gap:8px;
 padding:5px 10px 5px 6px;
 border:1px solid #dce6ed;
 border-radius:12px;
 background:#fff;
 min-width:150px;
 max-width:195px;
}
.topbar-avatar{
 width:32px;height:32px;
 border-radius:10px;
 display:grid;
 place-items:center;
 color:#fff;
 background:linear-gradient(145deg,#157eb6,#275fd5);
 font-size:.7rem;
 font-weight:900;
 box-shadow:0 6px 14px rgba(26,103,175,.18);
}
.topbar-user-chip strong,.topbar-user-chip span{
 display:block;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.topbar-user-chip strong{font-size:.66rem;color:#17344b}
.topbar-user-chip span{font-size:.56rem;color:#8494a0;margin-top:1px}
.topbar-primary-action{
 min-height:44px;
 border-radius:13px;
 padding:10px 15px;
 background:linear-gradient(135deg,#1e6de1,#1453cf);
 box-shadow:0 10px 24px rgba(28,91,207,.21);
 transition:.18s ease;
}
.topbar-primary-action:hover{
 transform:translateY(-1px);
 box-shadow:0 14px 28px rgba(28,91,207,.27);
}

/* Barra de Vista de Empresa */
.preview-mode-bar{
 margin:0;
 padding:9px 32px;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:16px;
 color:#674914;
 background:
  radial-gradient(circle at 8% 50%,rgba(239,170,34,.08),transparent 20%),
  linear-gradient(90deg,#fff9e9,#fffdf7);
 border-bottom:1px solid #eed79f;
 box-shadow:inset 0 -1px rgba(255,255,255,.65);
}
.preview-message{
 min-width:0;
 display:flex!important;
 align-items:center!important;
 gap:10px!important;
 flex-wrap:nowrap!important;
}
.preview-message-icon{
 flex:0 0 34px;
 width:34px;height:34px;
 border-radius:10px;
 display:grid;
 place-items:center;
 color:#9b6808;
 background:#fff;
 border:1px solid #efdba9;
 box-shadow:0 5px 12px rgba(137,91,7,.07);
}
.preview-message>div:last-child{min-width:0}
.preview-message small,.preview-message strong,.preview-message span{display:block}
.preview-message small{
 color:#9a731f!important;
 font-size:.55rem!important;
 font-weight:900;
 letter-spacing:.075em;
}
.preview-message strong{
 color:#593f10;
 font-size:.7rem;
 margin-top:2px;
 white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
 max-width:440px;
}
.preview-message span{
 margin-top:1px;
 color:#9b7527!important;
 font-size:.61rem!important;
}
.preview-role-links{
 display:flex;
 align-items:center;
 gap:5px;
 flex-wrap:nowrap;
}
.preview-role-links a{
 padding:6px 9px;
 border-radius:9px;
 background:rgba(255,255,255,.82);
 border:1px solid #ead59d;
 color:#765616;
 font-size:.62rem;
 font-weight:850;
 white-space:nowrap;
}
.preview-role-links a:hover{background:#fff;border-color:#d8bc70}
.preview-role-links a.active{
 background:#8d610b;
 color:#fff;
 border-color:#8d610b;
 box-shadow:0 5px 12px rgba(116,77,4,.12);
}
.preview-role-links .preview-exit{
 background:#5e4618;
 color:#fff;
 border-color:#5e4618;
}

/* Introducciones de módulo / títulos */
.section-title{
 position:relative;
 min-height:78px;
 margin:0 0 18px;
 padding:16px 18px 16px 21px;
 border:1px solid #dce6ee;
 border-radius:17px;
 background:
  radial-gradient(circle at 96% 20%,rgba(36,135,188,.07),transparent 19%),
  linear-gradient(110deg,#fff,#f9fcfe);
 box-shadow:var(--nq-shadow-sm);
 overflow:hidden;
}
.section-title:before{
 content:"";
 position:absolute;
 left:0;top:14px;bottom:14px;width:4px;
 border-radius:0 999px 999px 0;
 background:linear-gradient(180deg,#166ed4,#1da5bd);
}
.section-title>div:first-child{min-width:0}
.section-title h2{
 margin:0;
 color:#0c263c;
 font-size:1.17rem;
 line-height:1.18;
 letter-spacing:-.012em;
 font-weight:860;
}
.section-title small{
 display:block;
 margin-top:5px;
 color:#718596;
 font-size:.73rem;
 line-height:1.45;
 font-weight:520;
}
.section-title>.btn,.section-title>.actions,.section-title>form{
 flex:0 0 auto;
}

/* Superficies globales más premium */
.panel{
 border:1px solid #dbe5ed;
 border-radius:18px;
 background:rgba(255,255,255,.97);
 box-shadow:0 10px 29px rgba(12,37,57,.06);
}
.panel-head{
 padding:17px 19px;
 border-bottom:1px solid #e5edf2;
 background:linear-gradient(180deg,#fff,#fbfdfe);
}
.panel-head h3{
 color:#102a40;
 font-size:1rem;
 letter-spacing:-.008em;
}
.panel-head small{color:#7c8f9d;font-size:.67rem}
.panel-body{padding:19px}
.btn{
 border-radius:11px;
 transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-light{
 border:1px solid #e0e8ee;
 background:#f4f7f9;
 color:#294359;
}
.btn-light:hover{background:#edf3f7;border-color:#d5e1e9}
.filters,.pipeline-toolbar{
 border-radius:15px;
}
.filters input,.filters select,.pipeline-filters input,.pipeline-filters select{
 border-color:#d7e2ea!important;
 background:#fff!important;
 border-radius:10px!important;
 min-height:40px;
 outline:none;
}
.filters input:focus,.filters select:focus,.pipeline-filters input:focus,.pipeline-filters select:focus{
 border-color:#95bed8!important;
 box-shadow:0 0 0 3px rgba(32,122,177,.075);
}

/* Mejora base de tablas (el rediseño profundo queda para la fase visual de tablas) */
.table-wrap{
 border-radius:0 0 18px 18px;
 scrollbar-width:thin;
 scrollbar-color:#c7d6e0 transparent;
}
.table th{
 background:linear-gradient(180deg,#f8fbfd,#f2f6f9);
 color:#637a8b;
 padding:13px 14px;
 font-size:.66rem;
 letter-spacing:.07em;
 border-bottom:1px solid #dce6ed;
}
.table td{
 padding:14px;
 border-bottom:1px solid #e9eff3;
 color:#294052;
 font-size:.82rem;
}
.table tbody tr:last-child td{border-bottom:0}
.table tbody tr{transition:background .13s ease}
.table tr:hover td{background:#f8fbfd}

/* Estados vacíos generales */
.empty{
 min-height:112px;
 display:flex;
 align-items:center;
 justify-content:center;
 padding:28px 20px;
 text-align:center;
 color:#7b8e9d;
 background:
  radial-gradient(circle at 50% 0,rgba(31,132,185,.055),transparent 45%),
  #fff;
 font-size:.83rem;
}

/* Footer */
.app-footer{
 max-width:1760px;
 margin:0 auto;
 padding:11px 34px 28px;
 display:grid;
 grid-template-columns:auto 1fr auto;
 align-items:center;
 gap:16px;
 color:#7e8f9c;
 font-size:.65rem;
 text-align:left;
}
.app-footer-brand{display:flex;align-items:center;gap:7px}
.app-footer-brand strong{color:#2a4d67;font-size:.72rem}
.app-footer-brand span{
 padding:3px 6px;border-radius:999px;
 background:#e8f1f7;color:#4b718d;font-size:.54rem;font-weight:850;
}
.app-footer-copy{text-align:center}
.app-footer-version{font-size:.58rem;color:#9aa7b0}

/* Sidebar contraído */
body.sidebar-collapsed{--sidebar:88px}
body.sidebar-collapsed .brand{justify-content:center;padding-inline:14px}
body.sidebar-collapsed .brand img{width:48px;max-width:48px}
body.sidebar-collapsed .tenant-card-side{display:none}
body.sidebar-collapsed .menu-link{padding-inline:10px}
body.sidebar-collapsed .menu-link.active:before{left:-3px}

/* Responsive del nuevo header */
@media(max-width:1360px){
 .topbar-copy>p{max-width:470px}
 .topbar-user-chip{display:none!important}
 .topbar-plan-pill{max-width:145px}
 .topbar-plan-pill>span{max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media(max-width:1120px){
 .topbar{padding-inline:22px}
 .content{padding-inline:24px}
 .content:before{left:24px;right:24px}
 .preview-mode-bar{padding-inline:22px}
 .topbar-plan-pill{display:none!important}
 .topbar-copy>p{max-width:390px}
 .preview-message span{display:none}
}
@media(max-width:820px){
 .sidebar{width:min(300px,89vw)}
 .brand{height:88px;padding:17px}
 .topbar{
  min-height:76px;
  height:76px;
  padding:9px 13px;
  gap:8px;
 }
 .topbar-left{gap:8px}
 .topbar-menu-button{
  flex:0 0 38px;
  width:38px;height:38px;
  color:#21465f;
  background:#f2f6f9;
  border:1px solid #e0e8ee;
 }
 .topbar-copy{max-width:none}
 .topbar-breadcrumb,.topbar-copy>p,.topbar-mode-badge{display:none}
 .topbar h1{
  font-size:1.08rem;
  max-width:48vw;
 }
 .top-actions{gap:6px}
 .notification-bell{width:39px;height:39px;border-radius:11px}
 .topbar-primary-action{
  width:40px;height:40px;min-height:40px;padding:0;
  justify-content:center;border-radius:11px;
 }
 .preview-mode-bar{
  padding:8px 13px;
  gap:8px;
  align-items:center;
  flex-direction:row;
 }
 .preview-message-icon{width:30px;height:30px;flex-basis:30px}
 .preview-message small{display:none}
 .preview-message strong{font-size:.64rem;max-width:42vw}
 .preview-message span{display:block;font-size:.55rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:44vw}
 .preview-role-links a:not(.active):not(.preview-exit){display:none}
 .preview-role-links a{padding:5px 7px;font-size:.56rem}
 .preview-role-links .active{display:inline-flex}
 .content{
  padding:16px 13px 88px;
 }
 .content:before{display:none}
 .section-title{
  min-height:0;
  padding:14px 14px 14px 17px;
  margin-bottom:14px;
  gap:10px;
 }
 .section-title h2{font-size:1rem}
 .section-title small{font-size:.67rem}
 .section-title>.btn{padding:8px 10px;min-height:38px}
 .panel-head{padding:14px}
 .panel-body{padding:14px}
 .app-footer{display:none}
}
@media(max-width:560px){
 .topbar h1{max-width:42vw;font-size:1rem}
 .preview-message strong{max-width:39vw}
 .preview-message span{max-width:41vw}
 .section-title{
  align-items:flex-start;
  flex-direction:column;
 }
 .section-title>.btn,.section-title>.actions,.section-title>form{
  width:100%;
 }
 .section-title>.btn{justify-content:center}
}


/* =========================================================
   NovaQuote 2.6.2 · FASE VISUAL 02
   Cards Premium + Filtros + Empty States + Tabs + Microinteracciones
   ========================================================= */

/* --- Cards ejecutivas premium --- */
.visual-kpi-grid{gap:15px;margin-bottom:18px}
.visual-kpi-card{
 min-height:168px;
 padding:19px 19px 17px;
 display:grid;
 grid-template-columns:48px minmax(0,1fr) auto;
 grid-template-rows:auto 1fr;
 column-gap:12px;
 align-items:start;
 border:1px solid rgba(255,255,255,.11);
 box-shadow:0 16px 38px rgba(5,25,41,.14);
 transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.visual-kpi-card:after{
 background:
  linear-gradient(112deg,rgba(4,17,29,.94) 0%,rgba(6,27,44,.81) 54%,rgba(9,37,59,.62) 100%);
}
.visual-kpi-card:before{
 content:"";
 position:absolute;
 inset:0;
 background:
  radial-gradient(circle at 84% 20%,rgba(96,207,234,.18),transparent 22%),
  linear-gradient(180deg,transparent 60%,rgba(0,0,0,.14));
 z-index:1;
 pointer-events:none;
}
.visual-kpi-card:hover{
 transform:translateY(-4px);
 box-shadow:0 22px 48px rgba(5,25,41,.20);
 border-color:rgba(130,221,242,.22);
}
.visual-kpi-icon{
 position:relative;z-index:3;
 width:46px;height:46px;border-radius:14px;
 display:grid;place-items:center;
 background:rgba(255,255,255,.10);
 border:1px solid rgba(255,255,255,.13);
 color:#c7efff;
 font-size:1.05rem;
 backdrop-filter:blur(8px);
 box-shadow:inset 0 1px rgba(255,255,255,.08);
}
.visual-kpi-copy{
 position:relative;z-index:3;
 align-self:start;
 min-width:0;
}
.visual-kpi-card .eyebrow{
 font-size:.63rem;
 letter-spacing:.09em;
 color:#adc5d6;
}
.visual-kpi-card .value{
 margin-top:7px;
 font-size:1.8rem;
 line-height:1;
 letter-spacing:-.025em;
}
.visual-kpi-card .value-dual{font-size:1.03rem;line-height:1.35}
.visual-kpi-card .value-dual span+span{margin-top:2px}
.visual-kpi-card .note{
 margin-top:7px;
 font-size:.68rem;
 color:#bfd1de;
}
.visual-kpi-arrow{
 position:relative;z-index:3;
 width:29px;height:29px;border-radius:9px;
 display:grid;place-items:center;
 background:rgba(255,255,255,.07);
 color:#c8dce9;
 border:1px solid rgba(255,255,255,.08);
 opacity:.7;
 transition:.18s ease;
}
.visual-kpi-card:hover .visual-kpi-arrow{
 opacity:1;
 transform:translate(2px,-2px);
 color:#fff;
 background:rgba(255,255,255,.13);
}

/* Resúmenes blancos premium reutilizables */
.visual-summary-grid{
 display:grid;
 gap:12px;
 margin-bottom:17px;
}
.crm-kpi-grid.visual-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.activity-kpis.visual-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.notification-summary.visual-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.visual-summary-card,
.crm-kpi.visual-summary-card,
.activity-kpis .visual-summary-card,
.notification-summary .visual-summary-card{
 position:relative;
 min-height:118px;
 display:grid;
 grid-template-columns:42px minmax(0,1fr) auto;
 align-items:center;
 gap:11px;
 padding:15px 15px;
 overflow:hidden;
 border:1px solid #dce7ee;
 border-radius:17px;
 background:
  radial-gradient(circle at 100% 0,rgba(43,132,185,.07),transparent 34%),
  linear-gradient(145deg,#fff,#fbfdfe);
 box-shadow:0 9px 25px rgba(12,36,56,.055);
 transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.visual-summary-card:after{
 content:"";
 position:absolute;
 width:86px;height:86px;
 border-radius:50%;
 right:-42px;bottom:-50px;
 background:rgba(39,130,183,.045);
 pointer-events:none;
}
.visual-summary-card:hover{
 transform:translateY(-3px);
 box-shadow:0 16px 34px rgba(12,36,56,.09);
 border-color:#cddde8;
}
.visual-summary-card>i{
 width:41px;height:41px;border-radius:12px;
 display:grid;place-items:center;
 background:#edf6fb;
 border:1px solid #dcebf4;
 color:#2777aa;
 font-size:.98rem;
 position:relative;z-index:1;
}
.visual-summary-card>div{min-width:0;position:relative;z-index:1}
.visual-summary-card span,
.visual-summary-card strong,
.visual-summary-card small{display:block}
.visual-summary-card span{
 color:#6e8393;
 font-size:.61rem;
 text-transform:uppercase;
 letter-spacing:.06em;
 font-weight:900;
}
.visual-summary-card strong{
 margin-top:5px;
 color:#0f2b41;
 font-size:1.22rem;
 line-height:1.13;
 letter-spacing:-.018em;
}
.visual-summary-card small{
 margin-top:4px;
 color:#82939f;
 font-size:.61rem;
}
.visual-summary-card>em{
 align-self:start;
 padding:4px 6px;
 border-radius:999px;
 background:#f0f5f8;
 color:#708999;
 font-size:.49rem;
 font-style:normal;
 font-weight:900;
 letter-spacing:.06em;
 position:relative;z-index:1;
}
.visual-summary-card.accent{
 border-color:#cae1ef;
 background:
  radial-gradient(circle at 100% 0,rgba(31,151,201,.13),transparent 35%),
  linear-gradient(145deg,#f7fcff,#fff);
}
.visual-summary-card.accent>i{background:#e9f7fd;color:#1586b8}
.visual-summary-card.warning{
 border-color:#f0d9a7;
 background:linear-gradient(145deg,#fffaf0,#fff);
}
.visual-summary-card.warning>i{background:#fff2d7;color:#a46d0a;border-color:#f4deb1}
.visual-summary-card.warning strong{color:#8f5b04}
.visual-summary-card.danger{
 border-color:#efd0ca;
 background:linear-gradient(145deg,#fff3f0,#fff);
}
.visual-summary-card.danger>i{background:#ffe9e5;color:#bd4538;border-color:#f2d0c9}
.visual-summary-card.danger strong{color:#a4362b}

/* --- Filtros premium --- */
.filter-shell{
 margin-bottom:16px;
 padding:0;
 border:1px solid #dce6ed;
 border-radius:17px;
 background:rgba(255,255,255,.97);
 box-shadow:0 9px 27px rgba(12,36,56,.055);
 overflow:hidden;
}
.filter-shell-head{
 min-height:54px;
 padding:11px 14px;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;
 border-bottom:1px solid #e9eff3;
 background:linear-gradient(180deg,#fff,#fafcfd);
}
.filter-shell-head>div:first-child{
 min-width:0;
 display:flex;
 align-items:center;
 gap:9px;
}
.filter-shell-head>div:first-child>i{
 width:32px;height:32px;flex:0 0 32px;
 display:grid;place-items:center;
 border-radius:9px;
 background:#edf5fa;
 color:#3477a6;
 font-size:.78rem;
}
.filter-shell-head span{min-width:0}
.filter-shell-head strong,
.filter-shell-head small{display:block}
.filter-shell-head strong{
 color:#17334a;
 font-size:.71rem;
 font-weight:880;
}
.filter-shell-head small{
 margin-top:2px;
 color:#81919d;
 font-size:.59rem;
 line-height:1.35;
}
.filter-shell-secondary{
 display:inline-flex;align-items:center;gap:6px;
 padding:7px 9px;
 border-radius:9px;
 background:#f1f5f8;
 color:#45667e;
 border:1px solid #e0e9ee;
 font-size:.61rem;
 font-weight:850;
 white-space:nowrap;
 transition:.16s ease;
}
.filter-shell-secondary:hover{
 background:#eaf2f7;
 color:#235f88;
 transform:translateY(-1px);
}
.filter-fields{
 padding:11px 14px 13px;
 display:flex;
 align-items:flex-end;
 gap:8px;
 flex-wrap:wrap;
}
.filter-fields input,
.filter-fields select{
 min-height:40px;
 border:1px solid #d8e3ea;
 border-radius:10px;
 background:#fff;
 color:#304b60;
 padding:8px 10px;
 font-size:.74rem;
 outline:none;
 transition:border-color .15s ease,box-shadow .15s ease;
}
.filter-fields input:focus,
.filter-fields select:focus{
 border-color:#8dbcd8;
 box-shadow:0 0 0 3px rgba(31,124,180,.075);
}
.filter-search{
 position:relative;
 display:flex;
 align-items:center;
 min-width:260px;
 flex:1;
}
.filter-search>i{
 position:absolute;
 left:12px;
 z-index:1;
 color:#7790a0;
 font-size:.75rem;
 pointer-events:none;
}
.filter-search>input{
 width:100%;
 min-width:0!important;
 padding-left:34px!important;
}
.btn-filter{min-height:40px;padding-inline:13px}
.btn-filter-clear{min-height:40px;padding-inline:11px}
.compact-filter-shell .filter-fields{padding-top:12px}
.quote-search-row{padding-bottom:10px}

/* Tabs premium */
.filter-shell-tabs .filter-shell-head{border-bottom:1px solid #e8eff3}
.filter-tabs{
 display:flex;
 align-items:center;
 gap:6px;
 flex-wrap:wrap;
 padding:10px 13px 12px;
}
.filter-tabs a{
 min-height:35px;
 display:inline-flex;
 align-items:center;
 gap:7px;
 padding:7px 10px;
 border-radius:10px;
 border:1px solid transparent;
 background:#f1f5f8;
 color:#5b7385;
 font-size:.65rem;
 font-weight:850;
 transition:.16s ease;
}
.filter-tabs a:hover{
 transform:translateY(-1px);
 background:#eaf2f7;
 color:#225f89;
}
.filter-tabs a.active{
 color:#fff;
 border-color:#0d4b75;
 background:linear-gradient(135deg,#0d3b5f,#176d9e);
 box-shadow:0 7px 17px rgba(14,76,115,.18);
}
.filter-tabs a em{
 min-width:20px;height:20px;
 padding:0 5px;
 display:grid;place-items:center;
 border-radius:999px;
 background:#fff;
 color:#4b718c;
 font-size:.55rem;
 font-style:normal;
 font-weight:900;
 box-shadow:0 1px 3px rgba(10,40,60,.06);
}
.filter-tabs a.active em{
 background:rgba(255,255,255,.15);
 color:#fff;
 box-shadow:none;
}
.quote-filter-shell .filter-tabs,
.notification-filter-shell .filter-tabs{border-top:1px solid #edf2f5}
.analytics-filter-shell .filter-tabs{padding:9px 0 0}
.analytics-filter-shell .analytics-preset a{border-radius:9px}
.analytics-filter-shell form{padding:0 14px 12px}
.analytics-filter-shell .filter-fields{padding:9px 0 0}
.analytics-filter-shell .filter-shell-head{border-bottom:0}
.analytics-filter-shell .analytics-period-caption{
 margin:0;padding:7px 9px;
 display:grid;
 grid-template-columns:auto 1fr;
 align-items:center;
 column-gap:6px;
 border:1px solid #dce7ee;
 border-radius:10px;
 background:#f6f9fb;
 color:#698093;
 font-size:.56rem;
 white-space:nowrap;
}
.analytics-filter-shell .analytics-period-caption i{grid-row:1/3;margin:0}
.analytics-filter-shell .analytics-period-caption span,
.analytics-filter-shell .analytics-period-caption strong{display:block}
.analytics-filter-shell .analytics-period-caption strong{font-size:.58rem;color:#315b78;margin-top:1px}
.analytics-filter-fields label>span{
 display:block;
 margin-bottom:4px;
 color:#718797;
 font-size:.56rem;
 font-weight:900;
 text-transform:uppercase;
 letter-spacing:.05em;
}
.analytics-filter-fields label{font-size:inherit;text-transform:none;gap:0}

/* --- KPIs de Analítica --- */
.visual-analytics-kpis{gap:12px;margin-bottom:18px}
.visual-analytics-kpis .analytics-kpi{
 min-height:132px;
 padding:15px 16px 14px;
 border-radius:17px;
 display:grid;
 grid-template-columns:38px minmax(0,1fr) auto;
 grid-template-rows:auto auto auto;
 column-gap:10px;
 align-content:start;
 transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.visual-analytics-kpis .analytics-kpi:hover{
 transform:translateY(-3px);
 box-shadow:0 16px 34px rgba(12,36,56,.085);
 border-color:#cddde8;
}
.visual-analytics-kpis .analytics-kpi:after{
 width:100px;height:100px;
 right:-48px;top:-48px;
 background:rgba(31,130,183,.05);
}
.analytics-kpi-icon{
 grid-row:1/4;
 width:37px;height:37px;
 display:grid;place-items:center;
 border-radius:11px;
 background:#eff6fa;
 color:#3378a7;
 border:1px solid #e0ebf2;
 position:relative;z-index:2;
}
.visual-analytics-kpis .analytics-kpi>span{font-size:.58rem}
.visual-analytics-kpis .analytics-kpi>strong{
 grid-column:2/4;
 font-size:1.28rem;
 margin-top:6px;
}
.visual-analytics-kpis .analytics-kpi>small{
 grid-column:2/4;
 margin-top:4px;
}
.visual-analytics-kpis .analytics-kpi>em{
 position:absolute;
 right:13px;top:12px;z-index:2;
 padding:4px 6px;border-radius:999px;
 background:#f0f5f8;
 color:#718899;
 font-size:.47rem;
 font-style:normal;
 font-weight:900;
 letter-spacing:.05em;
}
.visual-analytics-kpis .analytics-kpi.primary .analytics-kpi-icon{
 background:rgba(255,255,255,.10);
 border-color:rgba(255,255,255,.11);
 color:#d4f2ff;
}
.visual-analytics-kpis .analytics-kpi.primary>em{
 background:rgba(255,255,255,.10);
 color:#d3e5ef;
}
.visual-analytics-kpis .analytics-kpi.success{
 border-color:#d7ebe4;
 background:linear-gradient(145deg,#f7fcfa,#fff);
}
.visual-analytics-kpis .analytics-kpi.success .analytics-kpi-icon{
 background:#e8f7f1;
 color:#0a8b66;
 border-color:#d6ece3;
}
.visual-analytics-kpis .analytics-kpi.success>strong{color:#096c52}

/* --- Empty States premium --- */
.empty-state{
 width:100%;
 min-height:150px;
 padding:28px 22px;
 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 text-align:center;
 background:
  radial-gradient(circle at 50% 0,rgba(39,133,186,.075),transparent 38%),
  linear-gradient(180deg,#fff,#fbfdfe);
 color:#728797;
}
.empty-state.compact{min-height:118px;padding:20px 16px}
.empty-state.table-empty{min-height:180px;margin:-14px;width:calc(100% + 28px)}
.empty-state-icon{
 width:52px;height:52px;
 display:grid;place-items:center;
 border-radius:16px;
 background:linear-gradient(145deg,#edf6fb,#f9fcfe);
 border:1px solid #dceaf2;
 color:#3a7ca9;
 font-size:1.15rem;
 box-shadow:0 8px 18px rgba(25,96,139,.08);
 margin-bottom:11px;
}
.empty-state.compact .empty-state-icon{width:42px;height:42px;border-radius:13px;font-size:.92rem;margin-bottom:8px}
.empty-state strong{
 color:#1a394f;
 font-size:.86rem;
 font-weight:880;
}
.empty-state p{
 max-width:520px;
 margin:5px auto 12px;
 color:#83939f;
 font-size:.68rem;
 line-height:1.5;
}
.empty-state.compact p{font-size:.62rem;margin-bottom:7px}
.empty-state>a:not(.btn){
 display:inline-flex;align-items:center;gap:5px;
 color:#2672a5;
 font-size:.63rem;
 font-weight:850;
}
.analytics-empty{min-height:205px}
.proposal-empty-panel{grid-column:1/-1}

/* --- Tarjetas de propuesta --- */
.proposal-admin-grid{gap:15px}
.proposal-admin-card{
 position:relative;
 border-color:#dce6ed;
 border-radius:18px;
 padding:17px;
 box-shadow:0 10px 28px rgba(12,36,56,.06);
 overflow:hidden;
 transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.proposal-admin-card:before{
 content:"";
 position:absolute;
 left:0;right:0;top:0;height:3px;
 background:linear-gradient(90deg,#1768d8,#1ba4bd);
 opacity:.9;
}
.proposal-admin-card:hover{
 transform:translateY(-3px);
 border-color:#cddde8;
 box-shadow:0 18px 38px rgba(12,36,56,.095);
}
.proposal-admin-top h3{font-size:1rem;letter-spacing:-.01em}
.proposal-response-badge,.proposal-live-badge{font-size:.58rem;padding:5px 8px}
.proposal-admin-stats{gap:7px;margin:14px 0}
.proposal-admin-stats div{
 border:1px solid #ebf0f4;
 background:#f8fafc;
}
.public-link-box{
 background:#f4f8fb;
 border-color:#dce7ee;
}
.public-link-box button{
 transition:.15s ease;
}
.public-link-box button:hover{background:#e8f2f8;transform:translateY(-1px)}
.public-link-box button.copied{background:#e4f7ef;color:#087858}

/* --- Pipeline cards / actividades --- */
.pipeline-column{
 border-color:#dbe5ec;
 background:linear-gradient(180deg,#f9fbfd,#f3f7fa);
 box-shadow:0 9px 24px rgba(13,38,57,.04);
}
.pipeline-column-head{
 background:rgba(255,255,255,.78);
 backdrop-filter:blur(8px);
 border-bottom-color:#e2eaf0;
}
.opportunity-card{
 border-color:#dfe8ee;
 border-radius:15px;
 box-shadow:0 7px 18px rgba(12,37,56,.045);
 transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.opportunity-card:hover{
 transform:translateY(-2px);
 border-color:#c7dae7;
 box-shadow:0 13px 26px rgba(12,37,56,.085);
}
.pipeline-empty-drop{
 border:1px dashed #cad9e4;
 border-radius:12px;
 color:#97a7b2;
 background:rgba(255,255,255,.44);
}
.activity-card{
 border-color:#dce6ed;
 border-radius:16px;
 box-shadow:0 8px 22px rgba(12,37,56,.05);
 transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.activity-card:hover{
 transform:translateY(-2px);
 border-color:#ccdce7;
 box-shadow:0 14px 30px rgba(12,37,56,.085);
}
.activity-type-icon{
 border-radius:13px;
 background:linear-gradient(145deg,#edf6fb,#f8fcfe);
 border:1px solid #dceaf2;
}

/* --- Notificaciones --- */
.notification-summary-premium{margin-bottom:14px}
.notification-item{
 border-radius:16px;
 padding:13px 14px;
 transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.notification-item:hover{
 transform:translateY(-2px);
 box-shadow:0 13px 28px rgba(12,35,55,.08);
 border-color:#cfdee8;
}
.notification-item.unread{
 background:linear-gradient(145deg,#fff,#fbfdff);
}
.notification-item.unread .notification-top strong:after{
 content:"";
 display:inline-block;
 width:6px;height:6px;
 margin-left:7px;
 border-radius:50%;
 background:#1785bd;
 vertical-align:middle;
 box-shadow:0 0 0 3px rgba(23,133,189,.08);
}

/* --- Paneles analíticos con hover sutil --- */
.analytics-panel{
 transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.analytics-panel:hover{
 box-shadow:0 15px 34px rgba(12,36,56,.075);
 border-color:#d0dfe9;
}
.health-grid>div,.proposal-metrics>div{
 transition:transform .15s ease,box-shadow .15s ease;
}
.health-grid>div:hover,.proposal-metrics>div:hover{
 transform:translateY(-2px);
 box-shadow:0 7px 16px rgba(12,36,56,.06);
}

/* --- Dashboard ejecutivo --- */
.executive-progress-card,.executive-insight-card{
 border-radius:15px;
 border-color:#dce6ed;
 transition:transform .17s ease,box-shadow .17s ease;
}
.executive-progress-card:hover,.executive-insight-card:hover{
 transform:translateY(-2px);
 box-shadow:0 13px 28px rgba(14,36,55,.075);
}
.executive-progress-card>i{height:6px}
.executive-insight-card>i{
 background:linear-gradient(145deg,#e9f5fb,#f8fcfe);
 border:1px solid #d9eaf3;
}

/* --- Microinteracciones globales --- */
.nq-toast-stack{
 position:fixed;
 right:22px;
 bottom:24px;
 z-index:1500;
 display:flex;
 flex-direction:column;
 gap:8px;
 pointer-events:none;
}
.nq-toast{
 min-width:260px;
 max-width:360px;
 display:grid;
 grid-template-columns:34px 1fr auto;
 gap:9px;
 align-items:center;
 padding:10px 11px;
 border:1px solid #dce6ed;
 border-radius:13px;
 background:rgba(255,255,255,.97);
 box-shadow:0 16px 38px rgba(8,29,45,.16);
 color:#29475d;
 transform:translateY(14px);
 opacity:0;
 animation:nqToastIn .2s ease forwards;
 pointer-events:auto;
}
.nq-toast>i{
 width:32px;height:32px;
 display:grid;place-items:center;
 border-radius:10px;
 background:#edf6fb;
 color:#2c76a8;
}
.nq-toast strong{font-size:.69rem}
.nq-toast button{border:0;background:none;color:#8b9aa5;cursor:pointer;padding:4px}
.nq-toast.success>i{background:#e7f7ef;color:#087c5a}
.nq-toast.warning>i{background:#fff4db;color:#9d6905}
.nq-toast.danger>i{background:#fff0ed;color:#b43b30}
@keyframes nqToastIn{to{transform:translateY(0);opacity:1}}
@keyframes nqPulseSoft{0%,100%{box-shadow:0 0 0 0 rgba(25,130,185,0)}50%{box-shadow:0 0 0 7px rgba(25,130,185,.05)}}
.notification-bell span{animation:nqPulseSoft 2.3s ease-in-out infinite}

/* Responsive Visual 02 */
@media(max-width:1250px){
 .crm-kpi-grid.visual-summary-grid,
 .activity-kpis.visual-summary-grid{grid-template-columns:repeat(2,1fr)}
 .visual-kpi-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
 .filter-shell-head small{display:none}
 .filter-fields{display:grid;grid-template-columns:1fr 1fr}
 .filter-search{grid-column:1/-1;min-width:0}
 .filter-fields .btn-filter,.filter-fields .btn-filter-clear{justify-content:center}
 .notification-summary.visual-summary-grid{grid-template-columns:1fr 1fr 1fr}
 .analytics-filter-shell .filter-shell-head{align-items:flex-start}
 .analytics-filter-shell .analytics-period-caption{display:none}
 .visual-analytics-kpis{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
 .visual-kpi-grid{grid-template-columns:1fr 1fr;gap:10px}
 .visual-kpi-card{
  min-height:145px;
  padding:14px;
  grid-template-columns:38px 1fr;
 }
 .visual-kpi-icon{width:37px;height:37px;border-radius:11px}
 .visual-kpi-arrow{display:none}
 .visual-kpi-card .value{font-size:1.42rem}
 .visual-kpi-card .value-dual{font-size:.88rem}
 .visual-summary-card,
 .crm-kpi.visual-summary-card,
 .activity-kpis .visual-summary-card,
 .notification-summary .visual-summary-card{
  min-height:105px;
  grid-template-columns:36px 1fr;
  padding:12px;
 }
 .visual-summary-card>i{width:35px;height:35px;border-radius:10px}
 .visual-summary-card>em{display:none}
 .filter-shell{border-radius:14px}
 .filter-shell-head{padding:10px 11px}
 .filter-fields{padding:10px 11px;grid-template-columns:1fr}
 .filter-search{grid-column:auto}
 .filter-tabs{
  flex-wrap:nowrap;
  overflow-x:auto;
  padding:8px 10px 10px;
  scrollbar-width:none;
 }
 .filter-tabs::-webkit-scrollbar{display:none}
 .filter-tabs a{white-space:nowrap;flex:0 0 auto}
 .analytics-filter-shell form{padding-inline:10px}
 .analytics-filter-shell .analytics-preset{padding-inline:0}
 .analytics-filter-shell .filter-fields{padding-inline:0}
 .visual-analytics-kpis{grid-template-columns:1fr 1fr}
 .visual-analytics-kpis .analytics-kpi{min-height:120px;padding:12px}
 .notification-summary.visual-summary-grid{grid-template-columns:1fr}
 .empty-state.table-empty{margin:-10px;width:calc(100% + 20px)}
 .nq-toast-stack{left:12px;right:12px;bottom:82px}
 .nq-toast{min-width:0;max-width:none;width:100%}
}
@media(max-width:500px){
 .visual-kpi-grid{grid-template-columns:1fr}
 .crm-kpi-grid.visual-summary-grid,
 .activity-kpis.visual-summary-grid{grid-template-columns:1fr 1fr}
 .visual-summary-card strong{font-size:1.05rem}
 .visual-summary-card small{font-size:.56rem}
 .visual-analytics-kpis{grid-template-columns:1fr}
 .filter-shell-head>div:first-child>i{display:none}
 .filter-shell-head{min-height:46px}
 .proposal-admin-card{padding:14px}
}

.nq-spinner{width:13px;height:13px;border-radius:50%;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;display:inline-block;animation:nqSpin .65s linear infinite}
.btn-light .nq-spinner{border-color:rgba(35,93,132,.20);border-top-color:#2a75a7}
@keyframes nqSpin{to{transform:rotate(360deg)}}
.filter-tabs a.is-loading{opacity:.6;pointer-events:none}
.nq-toast>div>div{font-size:.62rem;color:#6f8290;margin-top:2px;line-height:1.35}

/* SaaS y administración reciben el mismo acabado Visual 02 */
.subscription-kpis>div,.saas-financial-kpis>*{
 position:relative;overflow:hidden;
 transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.subscription-kpis>div:after,.saas-financial-kpis>*:after{
 content:"";position:absolute;width:76px;height:76px;border-radius:50%;
 right:-38px;bottom:-44px;background:rgba(35,127,180,.045);pointer-events:none;
}
.subscription-kpis>div:hover,.saas-financial-kpis>*:hover{
 transform:translateY(-3px);box-shadow:0 15px 32px rgba(12,36,56,.08);border-color:#ccdde8;
}
.saas-plan-card{
 transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.saas-plan-card:hover{
 transform:translateY(-4px);box-shadow:0 18px 40px rgba(12,36,56,.10);border-color:#cadde9;
}


/* =========================================================
   NovaQuote 2.6.3 · FASE VISUAL 03
   Pipeline + Actividades + Notificaciones
   ========================================================= */

/* ---------- Pipeline profundo ---------- */
.pipeline-page-title .actions{display:flex;gap:8px;flex-wrap:wrap}
.pipeline-executive-kpis{margin-bottom:15px}
.pipeline-filter-shell{margin-bottom:12px}
.pipeline-view-controls{
 display:flex;
 align-items:center;
 gap:5px;
 padding:3px;
 border-radius:10px;
 background:#f1f5f8;
 border:1px solid #e0e8ee;
}
.pipeline-density-btn{
 min-height:30px;
 display:inline-flex;
 align-items:center;
 gap:5px;
 padding:5px 8px;
 border:0;
 border-radius:7px;
 background:transparent;
 color:#6f8493;
 font-size:.58rem;
 font-weight:850;
 cursor:pointer;
 transition:.15s ease;
}
.pipeline-density-btn:hover{color:#2b648b;background:#fff}
.pipeline-density-btn.active{
 background:#fff;
 color:#185f8d;
 box-shadow:0 3px 9px rgba(12,37,56,.07);
}
.pipeline-stage-nav{
 display:none;
 align-items:center;
 gap:6px;
 margin:0 0 10px;
 padding:3px 1px 6px;
 overflow-x:auto;
 scrollbar-width:none;
}
.pipeline-stage-nav::-webkit-scrollbar{display:none}
.pipeline-stage-nav button{
 flex:0 0 auto;
 min-height:34px;
 display:inline-flex;
 align-items:center;
 gap:7px;
 padding:6px 9px 6px 10px;
 border:1px solid #dbe5ec;
 border-radius:10px;
 background:#fff;
 color:#587084;
 font-size:.61rem;
 font-weight:850;
 cursor:pointer;
 box-shadow:0 4px 12px rgba(12,36,56,.04);
 transition:.16s ease;
}
.pipeline-stage-nav button:before{
 content:"";
 width:7px;height:7px;
 border-radius:50%;
 background:var(--stage-color,#5d8ba7);
 box-shadow:0 0 0 3px color-mix(in srgb,var(--stage-color,#5d8ba7) 12%,transparent);
}
.pipeline-stage-nav button em{
 min-width:18px;height:18px;
 display:grid;place-items:center;
 padding:0 4px;
 border-radius:999px;
 background:#eef3f6;
 color:#567185;
 font-size:.52rem;
 font-style:normal;
}
.pipeline-stage-nav button.active{
 border-color:color-mix(in srgb,var(--stage-color,#2778aa) 42%,#d8e3ea);
 color:#17384f;
 background:linear-gradient(145deg,#fff,#f7fbfd);
 box-shadow:0 7px 16px rgba(12,36,56,.07);
}
.pipeline-stage-nav button.active em{
 background:var(--stage-color,#2778aa);
 color:#fff;
}

.premium-pipeline-board{
 gap:12px;
 padding-bottom:12px;
 scroll-snap-type:x proximity;
 scrollbar-width:thin;
 scrollbar-color:#c7d6e0 transparent;
}
.premium-pipeline-column{
 flex:0 0 326px;
 width:326px;
 min-width:326px;
 border-radius:17px;
 overflow:hidden;
 scroll-snap-align:start;
 background:
  linear-gradient(180deg,color-mix(in srgb,var(--stage-color,#2778aa) 3%,#fbfdfe),#f5f8fa);
 border:1px solid #dbe5ec;
 box-shadow:0 10px 24px rgba(12,36,56,.045);
}
.premium-pipeline-column .pipeline-column-head{
 position:sticky;
 top:0;
 z-index:4;
 min-height:72px;
 padding:11px 12px;
 display:flex;
 align-items:flex-start;
 justify-content:space-between;
 gap:10px;
 background:rgba(255,255,255,.94);
 backdrop-filter:blur(12px);
 border-top:3px solid var(--stage-color,#2778aa);
}
.pipeline-stage-main{
 min-width:0;
 display:grid!important;
 grid-template-columns:10px minmax(0,1fr) auto;
 align-items:center;
 gap:7px;
}
.pipeline-stage-main>span:nth-child(2){min-width:0}
.pipeline-stage-main strong,
.pipeline-stage-main small{display:block}
.pipeline-stage-main strong{
 color:#173248;
 font-size:.72rem;
 line-height:1.1;
}
.pipeline-stage-main small{
 margin-top:2px;
 color:#8998a3;
 font-size:.51rem;
 white-space:nowrap;
}
.pipeline-stage-main em{
 min-width:23px;height:23px;
 display:grid;place-items:center;
 border-radius:999px;
 background:color-mix(in srgb,var(--stage-color,#2778aa) 10%,#edf3f6);
 color:color-mix(in srgb,var(--stage-color,#2778aa) 75%,#173248);
 font-size:.57rem;
 font-style:normal;
 font-weight:900;
}
.pipeline-stage-money{
 display:flex;
 flex-direction:column;
 align-items:flex-end;
 gap:2px;
 padding-top:1px;
}
.pipeline-stage-money span{
 color:#738898;
 font-size:.52rem;
 font-weight:800;
 white-space:nowrap;
}
.premium-pipeline-column .pipeline-dropzone{
 min-height:540px;
 padding:10px;
 gap:9px;
}
.premium-pipeline-column .pipeline-dropzone.drag-over{
 background:color-mix(in srgb,var(--stage-color,#2778aa) 7%,#f4f8fa);
 box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--stage-color,#2778aa) 28%,transparent);
}
.premium-opportunity-card{
 position:relative;
 padding:13px;
 border-radius:15px;
 border:1px solid #dce6ed;
 background:linear-gradient(145deg,#fff,#fbfdfe);
 box-shadow:0 7px 17px rgba(12,36,56,.05);
 overflow:hidden;
}
.premium-opportunity-card:before{
 content:"";
 position:absolute;
 left:0;top:0;bottom:0;width:3px;
 background:var(--stage-color,#2c7daa);
 opacity:.7;
}
.premium-opportunity-card.has-overdue:before{background:#d44a3d}
.premium-opportunity-card.close-overdue{border-color:#efd2cc}
.premium-opportunity-card:hover{
 transform:translateY(-3px);
 border-color:#c7dae7;
 box-shadow:0 15px 28px rgba(12,37,56,.095);
}
.premium-opportunity-card.dragging{
 opacity:.62;
 transform:rotate(1deg) scale(.985);
 box-shadow:0 20px 42px rgba(8,31,48,.16);
}
.premium-opportunity-card .opp-card-top{
 min-height:30px;
 align-items:center;
}
.premium-opportunity-card .priority-pill{
 display:inline-flex;
 align-items:center;
 gap:4px;
 padding:4px 7px;
 border-radius:999px;
 font-size:.51rem;
 font-weight:900;
 text-transform:uppercase;
 letter-spacing:.04em;
}
.premium-opportunity-card .priority-pill i{font-size:.48rem}
.probability-ring{
 --probability:0;
 width:34px;height:34px;
 display:grid;place-items:center;
 border-radius:50%;
 background:
  radial-gradient(circle at center,#fff 59%,transparent 60%),
  conic-gradient(#2288ba calc(var(--probability)*1%),#e6edf2 0);
}
.probability-ring b{
 width:27px;height:27px;
 display:grid;place-items:center;
 border-radius:50%;
 background:#fff;
 color:#37647f;
 font-size:.48rem;
}
.premium-opportunity-card .opp-title{
 margin-top:8px;
 font-size:.84rem;
 line-height:1.28;
 color:#102c42;
 font-weight:880;
 letter-spacing:-.008em;
}
.opp-client-premium{
 margin-top:10px;
 display:grid;
 grid-template-columns:32px minmax(0,1fr);
 align-items:center;
 gap:8px;
}
.opp-client-avatar{
 width:31px;height:31px;
 display:grid;place-items:center;
 border-radius:10px;
 background:linear-gradient(145deg,#e7f3f9,#f7fbfd);
 border:1px solid #d8e8f1;
 color:#2878a9;
 font-size:.66rem;
 font-weight:900;
}
.opp-client-premium strong,
.opp-client-premium small{display:block}
.opp-client-premium strong{
 color:#365368;
 font-size:.65rem;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.opp-client-premium small{
 margin-top:2px;
 color:#91a0aa;
 font-size:.53rem;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.opp-financial-row{
 margin-top:11px;
 padding:10px 0;
 display:flex;
 align-items:flex-end;
 justify-content:space-between;
 gap:8px;
 border-top:1px solid #edf2f5;
 border-bottom:1px solid #edf2f5;
}
.opp-financial-row>div small,
.opp-financial-row>div strong{display:block}
.opp-financial-row>div small{
 color:#8295a2;
 font-size:.5rem;
 text-transform:uppercase;
 letter-spacing:.045em;
 font-weight:900;
}
.opp-financial-row>div strong{
 margin-top:3px;
 color:#0d3350;
 font-size:.78rem;
}
.opp-quote-chip{
 max-width:112px;
 display:inline-flex;
 align-items:center;
 gap:4px;
 padding:5px 6px;
 border-radius:8px;
 background:#edf5fa;
 color:#326f98;
 font-size:.52rem;
 font-weight:850;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.opp-quote-chip.muted{
 background:#f3f5f7;
 color:#8a9aa5;
}
.opp-progress{
 margin-top:9px;
 display:grid;
 grid-template-columns:1fr auto;
 align-items:center;
 gap:7px;
}
.opp-progress i{
 height:5px;
 display:block;
 overflow:hidden;
 border-radius:999px;
 background:#e9eff3;
}
.opp-progress i b{
 height:100%;
 display:block;
 border-radius:999px;
 background:linear-gradient(90deg,#2195bf,#1c67cf);
}
.opp-progress span{
 color:#8394a0;
 font-size:.49rem;
 white-space:nowrap;
}
.opp-meta-premium{
 margin-top:10px;
 display:flex;
 justify-content:space-between;
 gap:7px;
 align-items:center;
}
.opp-owner-chip{
 min-width:0;
 display:flex;
 align-items:center;
 gap:5px;
}
.opp-owner-chip>b{
 width:23px;height:23px;
 flex:0 0 23px;
 display:grid;place-items:center;
 border-radius:8px;
 background:#eef4f8;
 color:#426b87;
 font-size:.53rem;
}
.opp-owner-chip>span{
 max-width:95px;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
 color:#6f8392;
 font-size:.54rem;
}
.opp-close-chip{
 display:flex;
 align-items:center;
 gap:4px;
 color:#718695;
 font-size:.52rem;
 white-space:nowrap;
}
.opp-close-chip i{color:#5b86a3}
.opp-close-chip b{
 padding:2px 4px;
 border-radius:999px;
 background:#fff0ed;
 color:#b33b30;
 font-size:.43rem;
}
.opp-close-chip.overdue{color:#a64136}
.premium-opportunity-card .opp-next{
 margin-top:10px;
 padding:9px;
 border-radius:11px;
 display:grid;
 grid-template-columns:27px minmax(0,1fr);
 gap:7px;
 align-items:start;
 background:#f4f8fb;
 border:1px solid #e4edf2;
}
.premium-opportunity-card .opp-next>i{
 width:26px;height:26px;
 display:grid;place-items:center;
 border-radius:8px;
 background:#fff;
 color:#377aa6;
 box-shadow:0 2px 7px rgba(13,44,67,.05);
}
.premium-opportunity-card .opp-next span small,
.premium-opportunity-card .opp-next span strong,
.premium-opportunity-card .opp-next span em{display:block}
.premium-opportunity-card .opp-next span small{
 color:#8a9aa5;
 font-size:.47rem;
 text-transform:uppercase;
 font-weight:900;
 letter-spacing:.04em;
}
.premium-opportunity-card .opp-next span strong{
 margin-top:2px;
 color:#426178;
 font-size:.57rem;
 line-height:1.3;
}
.premium-opportunity-card .opp-next span em{
 margin-top:2px;
 color:#8093a0;
 font-size:.49rem;
 font-style:normal;
}
.premium-opportunity-card .opp-next.overdue{
 background:#fff3f0;
 border-color:#f0d4ce;
}
.premium-opportunity-card .opp-next.overdue>i{
 color:#bb4035;
 background:#fff;
}
.premium-opportunity-card .opp-next.empty-next{
 background:#fafcfd;
 border-style:dashed;
}
.premium-opportunity-card .opp-next.empty-next strong{color:#8496a2}
.premium-opportunity-card .opp-card-actions{
 margin-top:10px;
 padding-top:9px;
 display:flex;
 align-items:center;
 justify-content:space-between;
 border-top:1px solid #edf2f5;
}
.premium-opportunity-card .opp-card-actions a,
.premium-opportunity-card .opp-card-actions button{
 display:inline-flex;
 align-items:center;
 gap:4px;
 border:0;
 background:none;
 color:#2f719e;
 font-size:.56rem;
 font-weight:900;
 cursor:pointer;
 padding:3px 0;
}
.premium-opportunity-card .opp-card-actions button:hover,
.premium-opportunity-card .opp-card-actions a:hover{color:#0c5687}
.premium-pipeline-column .pipeline-empty-drop{
 min-height:58px;
 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 gap:2px;
 margin-top:2px;
 padding:9px;
 border-radius:11px;
 border:1px dashed #cad9e4;
 background:rgba(255,255,255,.48);
 color:#94a4af;
 text-align:center;
}
.premium-pipeline-column .pipeline-empty-drop i{font-size:.84rem;color:#82a3b9}
.premium-pipeline-column .pipeline-empty-drop strong{font-size:.56rem;color:#748b9a}
.premium-pipeline-column .pipeline-empty-drop span{font-size:.49rem}
.pipeline-mobile-hint{
 display:none;
 margin-top:4px;
 padding:7px 9px;
 align-items:center;
 justify-content:center;
 gap:6px;
 border-radius:9px;
 background:#eef5f9;
 color:#6d8698;
 font-size:.56rem;
}
.premium-pipeline-board[data-density="compact"] .premium-pipeline-column{
 flex-basis:282px;width:282px;min-width:282px;
}
.premium-pipeline-board[data-density="compact"] .premium-opportunity-card{padding:10px}
.premium-pipeline-board[data-density="compact"] .opp-client-premium{margin-top:7px}
.premium-pipeline-board[data-density="compact"] .opp-financial-row{margin-top:8px;padding:7px 0}
.premium-pipeline-board[data-density="compact"] .opp-progress{margin-top:7px}
.premium-pipeline-board[data-density="compact"] .opp-next{margin-top:7px;padding:7px}
.premium-pipeline-board[data-density="compact"] .opp-client-premium small,
.premium-pipeline-board[data-density="compact"] .opp-progress span{display:none}

/* ---------- Actividades profundas ---------- */
.activity-focus-grid a.visual-summary-card,
.notification-focus-grid a.visual-summary-card{
 text-decoration:none;
 color:inherit;
}
.activity-focus-grid .visual-summary-card.selected,
.notification-focus-grid .visual-summary-card.selected{
 box-shadow:0 0 0 2px rgba(28,127,184,.18),0 15px 34px rgba(12,36,56,.08);
 border-color:#a9cde1;
}
.activity-focus-grid .visual-summary-card.selected:before,
.notification-focus-grid .visual-summary-card.selected:before{
 content:"";
 position:absolute;
 left:0;right:0;bottom:0;height:3px;
 background:linear-gradient(90deg,#1768d8,#1ca5bc);
}
.activity-workspace{
 display:flex;
 flex-direction:column;
 gap:14px;
}
.activity-timeline-section{
 border:1px solid #dce6ed;
 border-radius:17px;
 background:rgba(255,255,255,.88);
 box-shadow:0 9px 26px rgba(12,36,56,.05);
 overflow:hidden;
}
.activity-timeline-head{
 min-height:55px;
 padding:10px 14px;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:10px;
 border-bottom:1px solid #e7eef3;
 background:linear-gradient(180deg,#fff,#fbfdfe);
}
.activity-timeline-head>div{
 display:flex;
 align-items:center;
 gap:8px;
}
.activity-group-icon{
 width:32px;height:32px;
 display:grid;place-items:center;
 border-radius:10px;
 background:#eef5f9;
 color:#3a7ba6;
}
.activity-timeline-head strong,
.activity-timeline-head small{display:block}
.activity-timeline-head strong{color:#18364c;font-size:.72rem}
.activity-timeline-head small{margin-top:1px;color:#8998a3;font-size:.54rem}
.activity-timeline-head>em{
 font-size:.5rem;
 font-style:normal;
 font-weight:900;
 color:#9a6b11;
 text-transform:uppercase;
 letter-spacing:.05em;
}
.group-vencidas .activity-timeline-head{background:linear-gradient(180deg,#fff8f5,#fff)}
.group-vencidas .activity-group-icon{background:#fff0ec;color:#bc4236}
.group-hoy .activity-group-icon{background:#eaf7fd;color:#1686b8}
.group-completadas .activity-group-icon{background:#e8f7ef;color:#087e5b}
.activity-timeline-list{
 position:relative;
 padding:8px 10px 10px 26px;
}
.activity-timeline-list:before{
 content:"";
 position:absolute;
 left:18px;
 top:8px;bottom:10px;width:2px;
 background:linear-gradient(180deg,#d9e6ee,#eef3f6);
}
.activity-timeline-card{
 position:relative;
 min-height:114px;
 margin:6px 0;
 display:grid;
 grid-template-columns:16px 42px minmax(0,1fr) 116px auto;
 gap:10px;
 align-items:center;
 padding:12px 12px 12px 4px;
 border:1px solid #dfe8ee;
 border-radius:14px;
 background:linear-gradient(145deg,#fff,#fcfdfe);
 box-shadow:0 6px 16px rgba(12,36,56,.035);
}
.activity-timeline-card:hover{
 transform:translateY(-2px);
 box-shadow:0 13px 26px rgba(12,36,56,.075);
}
.activity-timeline-marker{
 position:relative;
 width:16px;height:100%;
 display:grid;place-items:center;
 z-index:2;
}
.activity-timeline-marker span{
 width:10px;height:10px;
 border-radius:50%;
 background:#3e8ab6;
 border:3px solid #fff;
 box-shadow:0 0 0 2px #cfe2ed;
}
.activity-timeline-card.overdue .activity-timeline-marker span{
 background:#ca453a;
 box-shadow:0 0 0 2px #f0d2cc;
}
.activity-timeline-card .activity-type-icon{
 width:40px;height:40px;
 display:grid;place-items:center;
 margin:0;
}
.activity-card-main{min-width:0}
.activity-card-top{
 display:flex;
 align-items:center;
 gap:5px;
 flex-wrap:wrap;
}
.activity-type-pill{
 display:inline-flex;
 align-items:center;
 gap:4px;
 padding:4px 6px;
 border-radius:7px;
 background:#eef5f9;
 color:#3d708f;
 font-size:.5rem!important;
 font-weight:850;
}
.activity-status{
 padding:4px 6px!important;
 border-radius:7px!important;
 font-size:.48rem!important;
}
.activity-overdue-pill{
 display:inline-flex!important;
 align-items:center;
 gap:3px;
 padding:4px 6px;
 border-radius:7px;
 background:#fff0ed;
 color:#b83e33!important;
 font-size:.47rem!important;
 font-weight:900;
}
.activity-timeline-card h3{
 margin:5px 0 0;
 color:#17344a;
 font-size:.79rem;
 line-height:1.3;
}
.activity-opportunity-link{
 margin-top:5px;
 display:flex;
 align-items:center;
 gap:5px;
 min-width:0;
 color:#54748a;
 font-size:.57rem;
}
.activity-opportunity-link i{color:#3c81aa}
.activity-opportunity-link strong{
 max-width:220px;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
 color:#2d668b;
}
.activity-opportunity-link span{
 max-width:160px;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
 color:#81929e;
}
.activity-timeline-card .activity-card-main>p{
 margin:6px 0 0;
 max-width:560px;
 color:#7b8c98;
 font-size:.58rem;
 line-height:1.45;
}
.activity-owner-row{
 margin-top:7px;
 display:flex;
 align-items:center;
 gap:6px;
}
.activity-owner-avatar{
 width:24px;height:24px;
 display:grid;place-items:center;
 border-radius:8px;
 background:#edf4f8;
 color:#416c88;
 font-size:.52rem;
 font-weight:900;
}
.activity-owner-row small,
.activity-owner-row strong{display:block}
.activity-owner-row small{color:#97a4ad;font-size:.44rem;text-transform:uppercase;font-weight:900}
.activity-owner-row strong{margin-top:1px;color:#647c8d;font-size:.52rem}
.activity-timeline-card .activity-card-date{
 width:auto;
 min-width:0;
 display:flex;
 flex-direction:column;
 align-items:flex-start;
 padding:8px 9px;
 border-radius:11px;
 background:#f7fafc;
 border:1px solid #e7eef3;
}
.activity-date-icon{
 width:26px;height:26px;
 display:grid;place-items:center;
 border-radius:8px;
 background:#fff;
 color:#3e81aa;
 margin-bottom:5px;
}
.activity-card-date strong{font-size:.62rem;color:#294b62}
.activity-card-date>span:not(.activity-date-icon){font-size:.53rem;color:#82929d;margin-top:1px}
.activity-card-date small{margin-top:5px!important;font-size:.43rem!important;color:#b64035!important}
.activity-timeline-card .activity-card-actions{
 min-width:92px;
 display:flex;
 flex-direction:column;
 gap:5px;
 align-items:stretch;
}
.activity-timeline-card .activity-card-actions form{margin:0}
.activity-timeline-card .activity-card-actions .btn{
 width:100%;
 justify-content:center;
 white-space:nowrap;
}
.activity-completed-anim{
 opacity:.35;
 transform:translateX(18px)!important;
 transition:.35s ease!important;
}
.status-card-completada{opacity:.78}
.status-card-cancelada{opacity:.68}

/* ---------- Notificaciones profundas ---------- */
.notification-focus-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.notification-stream-count{
 padding:5px 7px;
 border-radius:999px;
 background:#eef4f7;
 color:#718694;
 font-size:.52rem;
 font-weight:850;
 white-space:nowrap;
}
.notification-workspace{
 display:flex;
 flex-direction:column;
 gap:14px;
}
.notification-stream-section{
 border:1px solid #dce6ed;
 border-radius:17px;
 background:rgba(255,255,255,.9);
 box-shadow:0 9px 26px rgba(12,36,56,.05);
 overflow:hidden;
}
.notification-stream-head{
 min-height:48px;
 display:flex;
 align-items:center;
 gap:10px;
 padding:9px 13px;
 border-bottom:1px solid #e7eef3;
 background:linear-gradient(180deg,#fff,#fbfdfe);
}
.notification-stream-head>div{
 display:flex;
 align-items:baseline;
 gap:6px;
}
.notification-stream-head strong{color:#17364c;font-size:.7rem}
.notification-stream-head span{color:#8b9aa5;font-size:.52rem}
.notification-stream-head>i{
 flex:1;height:1px;
 background:linear-gradient(90deg,#e6edf2,transparent);
}
.notification-stream{
 position:relative;
 padding:8px 10px 10px 25px;
}
.notification-stream:before{
 content:"";
 position:absolute;
 left:18px;
 top:8px;bottom:10px;width:2px;
 background:linear-gradient(180deg,#d9e6ee,#eef3f6);
}
.notification-stream-card{
 position:relative;
 min-height:105px;
 margin:6px 0;
 display:grid;
 grid-template-columns:16px 40px minmax(0,1fr);
 gap:10px;
 align-items:start;
 padding:12px 13px 12px 3px;
 border-left-width:1px;
 border-radius:14px;
}
.notification-timeline{
 position:relative;
 width:16px;height:100%;
 display:grid;place-items:start center;
 padding-top:13px;
 z-index:2;
}
.notification-timeline span{
 width:10px;height:10px;
 border-radius:50%;
 background:#7c96a8;
 border:3px solid #fff;
 box-shadow:0 0 0 2px #d6e3eb;
}
.notification-stream-card.unread .notification-timeline span{
 background:#1686bd;
 box-shadow:0 0 0 2px #cae5f2;
}
.notification-stream-card.priority-danger .notification-timeline span{
 background:#c74438;
 box-shadow:0 0 0 2px #f0d0ca;
}
.notification-stream-card.priority-warning .notification-timeline span{
 background:#d69a20;
 box-shadow:0 0 0 2px #f4e3bd;
}
.notification-stream-card .notification-icon{
 width:39px;height:39px;
 margin-top:2px;
 border-radius:12px;
}
.notification-meta-row{
 display:flex;
 align-items:center;
 gap:5px;
 flex-wrap:wrap;
 margin-bottom:5px;
}
.notification-category,
.notification-priority,
.notification-new-pill{
 display:inline-flex;
 align-items:center;
 gap:4px;
 padding:4px 6px;
 border-radius:7px;
 font-size:.47rem;
 font-weight:850;
}
.notification-category{
 background:#edf5fa;
 color:#3c7396;
}
.notification-priority{background:#f2f5f7;color:#718492}
.priority-label-warning{background:#fff5dd;color:#986609}
.priority-label-danger{background:#fff0ed;color:#b33d32}
.priority-label-success{background:#e8f7ef;color:#0a7f5c}
.notification-new-pill{
 background:#e9f6fc;
 color:#167dac;
}
.notification-stream-card .notification-top{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:10px;
}
.notification-stream-card .notification-top strong{
 color:#17364c;
 font-size:.76rem;
 line-height:1.3;
}
.notification-stream-card .notification-top small{
 display:inline-flex;
 align-items:center;
 gap:4px;
 color:#91a0aa;
 font-size:.5rem;
}
.notification-stream-card .notification-copy>p{
 margin:5px 0 8px;
 max-width:880px;
 color:#718595;
 font-size:.62rem;
 line-height:1.5;
}
.notification-stream-card .notification-actions{
 display:flex;
 align-items:center;
 gap:13px;
}
.notification-stream-card .notification-actions a,
.notification-stream-card .notification-actions button{
 display:inline-flex;
 align-items:center;
 gap:4px;
 color:#2e739e;
 font-size:.55rem;
 font-weight:900;
}
.notification-stream-card.read{
 opacity:.7;
 background:#fbfcfd;
}
.notification-stream-card.read .notification-icon{
 filter:saturate(.55);
}
.notification-read-anim{
 opacity:.6!important;
 background:#f7fafb!important;
 transition:.3s ease;
}

/* ---------- Responsive profundo ---------- */
@media(max-width:1250px){
 .notification-focus-grid{grid-template-columns:repeat(2,1fr)!important}
 .activity-timeline-card{
  grid-template-columns:16px 40px minmax(0,1fr) 106px;
 }
 .activity-timeline-card .activity-card-actions{
  grid-column:3/5;
  flex-direction:row;
  justify-content:flex-end;
  min-width:0;
 }
 .activity-timeline-card .activity-card-actions .btn{width:auto}
}
@media(max-width:900px){
 .pipeline-stage-nav{display:flex}
 .pipeline-view-controls span{display:none}
 .pipeline-density-btn{width:31px;justify-content:center;padding:5px}
 .premium-pipeline-column{
  flex-basis:82vw;
  width:82vw;
  min-width:82vw;
  max-width:360px;
 }
 .premium-pipeline-board[data-density="compact"] .premium-pipeline-column{
  flex-basis:74vw;width:74vw;min-width:74vw;
 }
 .pipeline-mobile-hint{display:flex}
 .activity-timeline-list{padding-left:19px}
 .activity-timeline-list:before{left:12px}
 .activity-timeline-card{
  grid-template-columns:12px 38px minmax(0,1fr);
  padding-right:10px;
 }
 .activity-timeline-card .activity-card-date{
  grid-column:3;
  flex-direction:row;
  align-items:center;
  gap:6px;
  padding:6px 8px;
 }
 .activity-timeline-card .activity-card-date .activity-date-icon{display:none}
 .activity-timeline-card .activity-card-date small{margin:0 0 0 auto!important}
 .activity-timeline-card .activity-card-actions{
  grid-column:3;
  justify-content:flex-start;
 }
 .notification-stream{padding-left:19px}
 .notification-stream:before{left:12px}
 .notification-stream-card{
  grid-template-columns:12px 38px minmax(0,1fr);
 }
}
@media(max-width:700px){
 .pipeline-executive-kpis{grid-template-columns:1fr 1fr!important}
 .pipeline-filter-shell .filter-shell-head{align-items:center}
 .premium-pipeline-board{
  margin-left:-13px;
  margin-right:-13px;
  padding-left:13px;
  padding-right:13px;
  scroll-padding-left:13px;
 }
 .premium-pipeline-column{
  flex-basis:86vw;width:86vw;min-width:86vw;
 }
 .premium-pipeline-board[data-density="compact"] .premium-pipeline-column{
  flex-basis:78vw;width:78vw;min-width:78vw;
 }
 .activity-focus-grid{grid-template-columns:1fr 1fr!important}
 .activity-timeline-section,.notification-stream-section{border-radius:14px}
 .activity-timeline-head,.notification-stream-head{padding-inline:11px}
 .notification-focus-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:520px){
 .pipeline-executive-kpis{grid-template-columns:1fr!important}
 .premium-pipeline-column{
  flex-basis:89vw;width:89vw;min-width:89vw;
 }
 .premium-pipeline-board[data-density="compact"] .premium-pipeline-column{
  flex-basis:83vw;width:83vw;min-width:83vw;
 }
 .pipeline-stage-nav button{font-size:.57rem}
 .pipeline-stage-nav button em{min-width:17px;height:17px}
 .opp-meta-premium{align-items:flex-start;flex-direction:column}
 .premium-opportunity-card .opp-card-actions{gap:8px}
 .activity-focus-grid{grid-template-columns:1fr 1fr!important}
 .activity-timeline-list{padding:7px 7px 8px 13px}
 .activity-timeline-list:before{display:none}
 .activity-timeline-card{
  grid-template-columns:36px minmax(0,1fr);
  padding:11px;
  gap:8px;
 }
 .activity-timeline-marker{display:none}
 .activity-timeline-card .activity-type-icon{width:35px;height:35px}
 .activity-timeline-card .activity-card-main{grid-column:2}
 .activity-opportunity-link{flex-wrap:wrap}
 .activity-opportunity-link strong,
 .activity-opportunity-link span{max-width:100%}
 .activity-timeline-card .activity-card-date{
  grid-column:1/-1;
  margin-top:2px;
 }
 .activity-timeline-card .activity-card-actions{
  grid-column:1/-1;
  width:100%;
 }
 .activity-timeline-card .activity-card-actions form,
 .activity-timeline-card .activity-card-actions .btn{flex:1;width:100%}
 .notification-focus-grid{grid-template-columns:1fr 1fr!important}
 .notification-stream{padding:7px}
 .notification-stream:before{display:none}
 .notification-stream-card{
  grid-template-columns:35px minmax(0,1fr);
  padding:11px;
 }
 .notification-timeline{display:none}
 .notification-stream-card .notification-icon{width:35px;height:35px}
 .notification-stream-card .notification-copy{grid-column:2}
 .notification-stream-card .notification-top{
  align-items:flex-start;
  flex-direction:column;
  gap:3px;
 }
 .notification-stream-card .notification-actions{flex-wrap:wrap}
 .notification-stream-count{display:none}
}

/* Movimiento de etapas en móvil */
.opp-move-toggle{display:none!important}
.opp-mobile-stage-menu{display:none}
@media(max-width:900px){
 .premium-opportunity-card .opp-card-actions{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:5px;
 }
 .premium-opportunity-card .opp-card-actions a,
 .premium-opportunity-card .opp-card-actions button{
  justify-content:center;
  padding:6px 4px;
  border-radius:8px;
  background:#f2f6f9;
 }
 .opp-move-toggle{display:inline-flex!important}
 .opp-mobile-stage-menu{
  margin-top:7px;
  padding:8px;
  border-radius:10px;
  background:#f6f9fb;
  border:1px solid #e2eaf0;
 }
 .opp-mobile-stage-menu.open{display:block}
 .opp-mobile-stage-menu>small{
  display:block;
  margin-bottom:6px;
  color:#8093a0;
  font-size:.48rem;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-weight:900;
 }
 .opp-mobile-stage-menu>div{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
 }
 .opp-mobile-stage-btn{
  display:inline-flex;
  align-items:center;
  gap:4px;
  min-height:29px;
  padding:5px 7px;
  border:1px solid #dce6ed;
  border-radius:8px;
  background:#fff;
  color:#557085;
  font-size:.5rem;
  font-weight:850;
  cursor:pointer;
 }
 .opp-mobile-stage-btn i{
  width:6px;height:6px;border-radius:50%;
  background:var(--move-color,#2b7da9);
 }
 .opp-mobile-stage-btn:disabled{opacity:.45}
}


/* =========================================================
   NovaQuote 2.6.4 · FASE VISUAL 04
   Analítica Gerencial + Tablas Premium + Directorios + Responsive Cards
   ========================================================= */

/* ---------- Tablas premium ---------- */
.premium-table{
 min-width:780px;
 border-collapse:separate;
 border-spacing:0;
 background:#fff;
}
.premium-table thead th{
 position:relative;
 height:44px;
 padding:11px 14px;
 background:linear-gradient(180deg,#f8fbfd,#f2f6f9);
 color:#60798b;
 border-top:1px solid #eef3f6;
 border-bottom:1px solid #dbe5ec;
 font-size:.61rem;
 letter-spacing:.075em;
 font-weight:900;
}
.premium-table thead th:first-child{padding-left:18px}
.premium-table thead th:last-child{padding-right:18px;text-align:right}
.premium-table tbody td{
 position:relative;
 padding:14px;
 background:#fff;
 border-bottom:1px solid #e9eff3;
 color:#385166;
 font-size:.74rem;
 line-height:1.4;
 transition:background .14s ease,border-color .14s ease;
}
.premium-table tbody tr:last-child td{border-bottom:0}
.premium-table tbody tr:hover td{
 background:#f9fcfe;
 border-color:#e1eaf0;
}
.premium-table tbody tr:hover .table-primary-cell:before{
 opacity:1;
}
.table-primary-cell{
 min-width:175px;
 display:table-cell;
}
.table-primary-cell:before{
 content:"";
 position:absolute;
 left:0;top:11px;bottom:11px;width:3px;
 border-radius:0 999px 999px 0;
 background:linear-gradient(180deg,#1974d5,#1ba2bd);
 opacity:0;
 transition:.15s ease;
}
.table-primary-cell>a,
.table-primary-cell>span:not(.table-entity-icon):not(.table-entity-avatar),
.table-primary-cell{
 vertical-align:middle;
}
.table-primary-cell .entity-link{
 display:inline-flex;
 flex-direction:column;
 justify-content:center;
 gap:1px;
 vertical-align:middle;
 max-width:230px;
}
.table-primary-cell .entity-link strong{color:#17374e;font-size:.75rem}
.table-primary-cell .entity-link small{color:#8b9ba6;font-size:.57rem}
.table-entity-icon,
.table-entity-avatar{
 width:34px;height:34px;
 display:inline-grid;
 place-items:center;
 margin-right:8px;
 vertical-align:middle;
 border-radius:10px;
 border:1px solid #dce9f1;
 background:linear-gradient(145deg,#eaf5fa,#f9fcfe);
 color:#317ba9;
 font-size:.76rem;
 box-shadow:0 4px 11px rgba(26,103,147,.06);
}
.table-entity-avatar{
 border-radius:11px;
 background:linear-gradient(145deg,#edf5fb,#e7f2f8);
 font-weight:900;
 font-size:.66rem;
}
.table-primary-cell>strong{
 color:#17374e;
 font-size:.77rem;
}
.table-primary-cell>span:last-child{
 display:inline-flex;
 flex-direction:column;
 vertical-align:middle;
 max-width:230px;
}
.table-primary-cell>span:last-child strong{color:#17374e;font-size:.76rem}
.table-primary-cell>span:last-child small{
 display:block;
 margin-top:2px;
 color:#8799a5;
 font-size:.56rem;
}
.table-primary-cell .url-mini{
 display:block;
 margin-top:3px;
 color:#5f8299;
 font-size:.49rem;
 font-style:normal;
}
.table-main-text{color:#31546a;font-weight:720}
.table-date,
.table-contact{
 display:inline-flex;
 align-items:center;
 gap:5px;
 color:#62798a;
 font-size:.66rem;
}
.table-date i,
.table-contact i{color:#6090ae;font-size:.64rem}
.table-money{
 color:#103b59;
 font-size:.73rem;
 white-space:nowrap;
}
.table-code{
 display:inline-flex;
 padding:4px 6px;
 border-radius:7px;
 background:#f2f5f7;
 color:#62798a;
 font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
 font-size:.59rem;
}
.table-soft-chip,
.table-plan-name{
 display:inline-flex;
 align-items:center;
 padding:4px 7px;
 border-radius:8px;
 background:#eef5f9;
 color:#396b8b;
 font-size:.59rem;
 font-weight:850;
}
.table-plan-name{background:#edf3ff;color:#3e61a1}
.table-subline{
 display:block;
 margin-top:4px;
 color:#8799a5;
 font-size:.54rem;
}
.table-action-code{
 display:inline-flex;
 padding:5px 7px;
 border-radius:8px;
 background:#f1f6f9;
 color:#2f688e;
 font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
 font-size:.56rem;
 font-weight:800;
}
.table-actions-cell{text-align:right}
.table-actions-cell .actions{justify-content:flex-end;flex-wrap:nowrap}
.mobile-table-action-label{display:none}

/* ---------- Responsive tables become cards ---------- */
@media(max-width:760px){
 .table-wrap:has(.mobile-card-table){
  overflow:visible;
  border-radius:0!important;
 }
 .mobile-card-table{
  min-width:0!important;
  width:100%;
  display:block;
  background:transparent;
 }
 .mobile-card-table thead{display:none}
 .mobile-card-table tbody{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:0;
 }
 .mobile-card-table tbody tr{
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  padding:12px 13px;
  border:1px solid #dce6ed;
  border-radius:15px;
  background:
   radial-gradient(circle at 100% 0,rgba(35,129,183,.055),transparent 34%),
   #fff;
  box-shadow:0 8px 22px rgba(12,36,56,.055);
 }
 .mobile-card-table tbody tr:hover td{background:transparent}
 .mobile-card-table tbody td{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  min-height:50px;
  padding:9px 7px;
  border:0;
  border-bottom:1px solid #edf2f5;
  background:transparent!important;
  font-size:.68rem;
 }
 .mobile-card-table tbody td[data-label]:before{
  content:attr(data-label);
  display:block;
  margin-bottom:4px;
  color:#8a99a4;
  font-size:.48rem;
  line-height:1;
  font-weight:900;
  letter-spacing:.055em;
  text-transform:uppercase;
 }
 .mobile-card-table tbody td:nth-last-child(-n+2){border-bottom:0}
 .mobile-card-table tbody td.table-primary-cell{
  grid-column:1/-1;
  min-height:58px;
  padding-top:2px;
  padding-bottom:10px;
  border-bottom:1px solid #e4edf2;
  flex-direction:row;
  justify-content:flex-start;
  align-items:center;
 }
 .mobile-card-table tbody td.table-primary-cell:before{
  display:none!important;
 }
 .mobile-card-table tbody td.table-primary-cell:after{
  content:"";
  position:absolute;
  left:0;top:13px;bottom:13px;width:3px;
  border-radius:0 999px 999px 0;
  background:linear-gradient(180deg,#176fd4,#1ba4bd);
 }
 .mobile-card-table .table-primary-cell .table-entity-icon,
 .mobile-card-table .table-primary-cell .table-entity-avatar{flex:0 0 36px}
 .mobile-card-table .table-primary-cell>a,
 .mobile-card-table .table-primary-cell>span:last-child{max-width:calc(100% - 46px)}
 .mobile-card-table tbody td.table-actions-cell{
  grid-column:1/-1;
  min-height:42px;
  padding:9px 0 0;
  align-items:stretch;
  border-top:1px solid #edf2f5;
 }
 .mobile-card-table tbody td.table-actions-cell:before{display:none}
 .mobile-card-table .table-actions-cell .actions{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(70px,1fr));
  width:100%;
  gap:5px;
 }
 .mobile-card-table .table-actions-cell .btn{
  justify-content:center;
  width:100%;
  min-height:34px;
 }
 .mobile-table-action-label{display:inline}
 .mobile-card-table tbody td[colspan]{
  grid-column:1/-1;
  display:block;
  padding:0;
  border:0;
  min-height:0;
 }
 .mobile-card-table tbody td[colspan]:before{display:none}
 .mobile-card-table .empty-state.table-empty{
  width:100%;
  margin:0;
  min-height:185px;
  border-radius:14px;
 }
 .quote-items-table tbody td.table-primary-cell{flex-direction:row}
 .audit-premium-table tbody tr{grid-template-columns:1fr}
 .audit-premium-table tbody td{border-bottom:1px solid #edf2f5}
 .audit-premium-table tbody td:last-child{border-bottom:0}
}
@media(max-width:480px){
 .mobile-card-table tbody tr{grid-template-columns:1fr;padding:11px}
 .mobile-card-table tbody td{
  min-height:44px;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 4px;
 }
 .mobile-card-table tbody td[data-label]:before{
  margin:0;
  flex:0 0 86px;
 }
 .mobile-card-table tbody td.table-primary-cell{
  flex-direction:row;
  justify-content:flex-start;
 }
 .mobile-card-table tbody td.table-actions-cell{
  display:block;
 }
}

/* ---------- Analítica ejecutiva ---------- */
.analytics-manager-brief{
 margin-bottom:17px;
 border:1px solid #d9e5ed;
 border-radius:18px;
 background:
  radial-gradient(circle at 0 0,rgba(33,126,181,.09),transparent 24%),
  linear-gradient(145deg,#fff,#f8fbfd);
 box-shadow:0 11px 30px rgba(12,36,56,.06);
 overflow:hidden;
}
.manager-brief-head{
 min-height:57px;
 padding:11px 15px;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;
 border-bottom:1px solid #e5edf2;
}
.manager-brief-head>div{
 display:flex;
 align-items:center;
 gap:9px;
 min-width:0;
}
.manager-brief-icon{
 width:34px;height:34px;
 display:grid;place-items:center;
 border-radius:10px;
 background:linear-gradient(145deg,#0e3f63,#1977a8);
 color:#fff;
 box-shadow:0 7px 16px rgba(14,78,119,.16);
}
.manager-brief-head strong,
.manager-brief-head small{display:block}
.manager-brief-head strong{color:#17364c;font-size:.74rem}
.manager-brief-head small{margin-top:2px;color:#80929f;font-size:.58rem}
.manager-brief-head>em{
 padding:5px 7px;
 border-radius:999px;
 background:#edf4f8;
 color:#5f7e93;
 font-size:.51rem;
 font-style:normal;
 font-weight:850;
 white-space:nowrap;
}
.manager-brief-grid{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:9px;
 padding:11px;
}
.manager-brief-card{
 position:relative;
 min-height:102px;
 display:grid;
 grid-template-columns:38px minmax(0,1fr) auto;
 gap:9px;
 align-items:center;
 padding:12px;
 border:1px solid #e1e9ef;
 border-radius:14px;
 background:#fff;
 color:inherit;
 transition:transform .17s ease,box-shadow .17s ease,border-color .17s ease;
 overflow:hidden;
}
.manager-brief-card:hover{
 transform:translateY(-2px);
 border-color:#cddde8;
 box-shadow:0 11px 24px rgba(12,36,56,.07);
}
.manager-brief-card>i{
 width:37px;height:37px;
 display:grid;place-items:center;
 border-radius:11px;
 background:#edf6fb;
 color:#347ba8;
}
.manager-brief-card span{min-width:0}
.manager-brief-card small,
.manager-brief-card strong,
.manager-brief-card em{display:block}
.manager-brief-card small{
 color:#80929e;
 font-size:.51rem;
 text-transform:uppercase;
 letter-spacing:.045em;
 font-weight:900;
}
.manager-brief-card strong{
 margin-top:4px;
 color:#17364c;
 font-size:.75rem;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.manager-brief-card em{
 margin-top:3px;
 color:#82939f;
 font-size:.53rem;
 font-style:normal;
 line-height:1.35;
}
.manager-brief-card>b{
 width:25px;height:25px;
 display:grid;place-items:center;
 border-radius:8px;
 background:#f1f5f8;
 color:#688498;
 font-size:.6rem;
}
.manager-brief-card.success>i{background:#e7f7ef;color:#087b59}
.manager-brief-card.warning>i{background:#fff4dc;color:#9a6808}
.manager-brief-card.danger>i{background:#fff0ed;color:#b63e33}
.manager-brief-card.danger{border-color:#efd7d2}
.analytics-panel-premium{
 overflow:hidden;
 border-radius:18px;
}
.analytics-panel-head>div:first-child{
 display:flex;
 align-items:center;
 gap:9px;
}
.analytics-panel-icon{
 width:34px;height:34px;
 flex:0 0 34px;
 display:grid;place-items:center;
 border-radius:10px;
 background:#edf5fa;
 color:#3478a5;
}
.analytics-panel-head>div:first-child>span:last-child h3,
.analytics-panel-head>div:first-child>span:last-child small{display:block}
.trend-summary-mini{
 display:flex;
 align-items:center;
 gap:7px;
}
.trend-summary-mini>span{
 min-width:100px;
 padding:6px 8px;
 border-radius:9px;
 background:#f4f8fa;
 border:1px solid #e4ecf1;
}
.trend-summary-mini small,
.trend-summary-mini strong,
.trend-summary-mini em{display:block}
.trend-summary-mini small{
 color:#8998a3;
 font-size:.46rem;
 text-transform:uppercase;
 font-weight:900;
}
.trend-summary-mini strong{
 margin-top:2px;
 color:#28506b;
 font-size:.57rem;
}
.trend-summary-mini em{
 margin-top:1px;
 color:#758b9a;
 font-size:.49rem;
 font-style:normal;
}
.premium-ranking-row{
 min-height:64px;
 padding:9px 7px;
 border-radius:11px;
 transition:background .15s ease,transform .15s ease;
}
.premium-ranking-row:hover{
 background:#f7fafc;
 transform:translateX(2px);
}
.premium-ranking-row .rank-number{
 width:32px;height:32px;
 display:grid;
 grid-template-columns:1fr;
 place-items:center;
 border-radius:10px;
 background:#eef4f7;
 color:#607a8d;
 position:relative;
}
.premium-ranking-row .rank-number i{
 position:absolute;
 right:-4px;top:-5px;
 color:#d49a25;
 font-size:.62rem;
}
.premium-ranking-row .rank-number b{font-size:.61rem}
.premium-ranking-row .rank-1{background:#fff6db;color:#8d640d}
.premium-ranking-row .rank-2{background:#f1f4f6;color:#627381}
.premium-ranking-row .rank-3{background:#fff0e1;color:#995c28}
.premium-ranking-row .rank-main>i{
 display:block;
 width:100%;
 max-width:150px;
 height:4px;
 margin-top:5px;
 overflow:hidden;
 border-radius:999px;
 background:#e9eff3;
}
.premium-ranking-row .rank-main>i b{
 display:block;
 height:100%;
 border-radius:999px;
 background:linear-gradient(90deg,#2288ba,#1b6dd2);
}

/* ---------- Catálogo / directorios ---------- */
.grid-3:has(.premium-catalog-card){gap:16px}
.premium-catalog-card{
 min-height:260px;
 padding:0;
 justify-content:flex-end;
 border:1px solid rgba(255,255,255,.08);
 box-shadow:0 14px 34px rgba(5,24,39,.14);
 transition:transform .2s ease,box-shadow .2s ease;
}
.premium-catalog-card:before{
 background:
  linear-gradient(180deg,rgba(4,15,27,.14) 0%,rgba(4,17,29,.38) 38%,rgba(4,17,29,.96) 78%),
  linear-gradient(120deg,rgba(22,95,139,.14),transparent 50%);
}
.premium-catalog-card:hover{
 transform:translateY(-5px);
 box-shadow:0 22px 46px rgba(5,24,39,.20);
}
.catalog-card-top{
 position:absolute!important;
 top:13px;left:13px;right:13px;
 display:flex;
 align-items:center;
 gap:6px;
 padding-right:42px;
}
.catalog-type-chip,
.catalog-pricing-chip{
 display:inline-flex;
 align-items:center;
 gap:4px;
 padding:5px 7px;
 border-radius:8px;
 background:rgba(6,22,35,.62);
 border:1px solid rgba(255,255,255,.12);
 color:#eaf6fc;
 backdrop-filter:blur(8px);
 font-size:.52rem;
 font-weight:850;
}
.catalog-pricing-chip{
 color:#bcd5e4;
 background:rgba(6,22,35,.46);
}
.premium-catalog-card .card-actions{top:12px;right:12px}
.premium-catalog-card .card-actions .btn{
 width:34px;height:34px;
 padding:0;
 justify-content:center;
 border-radius:10px;
 background:rgba(255,255,255,.92);
 box-shadow:0 5px 14px rgba(0,0,0,.12);
}
.catalog-card-copy{
 position:relative!important;
 padding:18px;
}
.premium-catalog-card h3{
 margin:0;
 font-size:1.08rem;
 line-height:1.2;
 letter-spacing:-.012em;
}
.premium-catalog-card p{
 min-height:38px;
 margin:6px 0 0;
 color:#bacbd7;
 font-size:.66rem;
 line-height:1.45;
}
.catalog-card-bottom{
 margin-top:14px;
 padding-top:12px;
 display:flex;
 align-items:flex-end;
 justify-content:space-between;
 gap:10px;
 border-top:1px solid rgba(255,255,255,.11);
}
.catalog-card-bottom>div small,
.catalog-card-bottom>div strong,
.catalog-card-bottom>div em{display:block}
.catalog-card-bottom>div small{
 color:#91abba;
 font-size:.46rem;
 text-transform:uppercase;
 letter-spacing:.05em;
 font-weight:900;
}
.catalog-card-bottom>div strong{
 margin-top:3px;
 color:#fff;
 font-size:.9rem;
}
.catalog-card-bottom>div em{
 margin-top:1px;
 color:#8fa7b7;
 font-size:.47rem;
 font-style:normal;
}
.premium-catalog-card .catalog-open-link{
 min-height:32px;
 display:inline-flex;
 align-items:center;
 gap:5px;
 padding:6px 8px;
 border-radius:9px;
 background:rgba(255,255,255,.10);
 border:1px solid rgba(255,255,255,.10);
 color:#e7f5fb;
 font-size:.56rem;
 font-weight:850;
}
.premium-catalog-card:hover .catalog-open-link{background:rgba(255,255,255,.16)}
.catalog-empty-panel{grid-column:1/-1}
.premium-role-grid{
 display:grid;
 grid-template-columns:repeat(5,minmax(0,1fr));
 gap:10px;
}
.premium-role-card{
 min-height:130px;
 display:flex;
 flex-direction:column;
 align-items:flex-start;
 gap:9px;
 padding:14px;
 border:1px solid #dfe8ee;
 border-radius:14px;
 background:
  radial-gradient(circle at 100% 0,rgba(37,132,184,.06),transparent 40%),
  #fff;
 transition:transform .17s ease,box-shadow .17s ease,border-color .17s ease;
}
.premium-role-card:hover{
 transform:translateY(-3px);
 border-color:#ccdde8;
 box-shadow:0 13px 28px rgba(12,36,56,.075);
}
.premium-role-card>i{
 width:35px;height:35px;
 display:grid;place-items:center;
 border-radius:10px;
 background:#edf5fa;
 color:#3378a6;
}
.premium-role-card strong{color:#1a3a50;font-size:.7rem}
.premium-role-card p{
 margin:4px 0 0;
 color:#80929f;
 font-size:.57rem;
 line-height:1.45;
}

/* SaaS premium table nuances */
.saas-companies-table .table-primary-cell{min-width:220px}
.subscriptions-table .table-primary-cell{min-width:220px}
.subscription-status{
 display:inline-flex;
 align-items:center;
 gap:5px;
}
.subscription-status:before{
 content:"";
 width:6px;height:6px;
 border-radius:50%;
 background:currentColor;
 opacity:.75;
}

/* ---------- Responsive Visual 04 ---------- */
@media(max-width:1250px){
 .manager-brief-grid{grid-template-columns:repeat(2,1fr)}
 .premium-role-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
 .trend-summary-mini{display:none}
 .premium-role-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
 .manager-brief-grid{grid-template-columns:1fr 1fr}
 .manager-brief-head small{display:none}
 .analytics-manager-brief{border-radius:15px}
 .manager-brief-card{min-height:94px}
 .grid-3:has(.premium-catalog-card){grid-template-columns:1fr 1fr}
 .premium-catalog-card{min-height:235px}
 .premium-role-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
 .manager-brief-grid{grid-template-columns:1fr}
 .manager-brief-card{min-height:82px}
 .grid-3:has(.premium-catalog-card){grid-template-columns:1fr}
 .premium-catalog-card{min-height:245px}
 .premium-role-grid{grid-template-columns:1fr}
 .premium-role-card{min-height:96px;flex-direction:row}
}

/* =========================================================
   NovaQuote 2.6.5 · FASE VISUAL 05
   Botones Premium + Escala Tipográfica + Jerarquía de Lectura
   ========================================================= */

html{
 font-size:16px;
}
body{
 line-height:1.45;
}

/* ---------- Botones globales ---------- */
.btn,
.topbar-primary-action,
.btn-filter,
.btn-filter-clear{
 min-height:46px;
 padding:11px 18px;
 border-radius:14px;
 font-size:.96rem;
 line-height:1.1;
 font-weight:820;
 letter-spacing:-.012em;
}
.btn i,
.topbar-primary-action i,
.btn-filter i,
.btn-filter-clear i{
 font-size:1rem;
}
.btn-primary,
.topbar-primary-action{
 background:linear-gradient(135deg,#2366e8 0%,#1a55d9 100%);
 color:#fff;
 box-shadow:0 12px 26px rgba(29,84,214,.19);
}
.btn-primary:hover,
.topbar-primary-action:hover{
 box-shadow:0 16px 32px rgba(29,84,214,.24);
}
.btn-light,
.btn-filter-clear{
 background:#fff;
 color:#23435a;
 border:1px solid #d8e3eb;
 box-shadow:0 6px 16px rgba(15,45,67,.05);
}
.btn-light:hover,
.btn-filter-clear:hover{
 background:#f8fbfd;
 border-color:#c6d7e2;
 color:#163d58;
}
.btn-danger{
 box-shadow:0 8px 18px rgba(185,28,28,.10);
}
.btn-sm{
 min-height:38px;
 padding:8px 12px;
 border-radius:11px;
 font-size:.88rem;
}
.actions .btn{
 min-height:38px;
 padding:8px 12px;
 font-size:.88rem;
}

/* Hero actions: menos bloques blancos, más integrados al hero */
.hero .hero-actions{
 gap:10px;
 flex-wrap:wrap;
}
.hero .hero-actions .btn{
 min-height:44px;
 padding:10px 15px;
 border-radius:14px;
 background:rgba(255,255,255,.10);
 color:#fff;
 border:1px solid rgba(255,255,255,.15);
 box-shadow:none;
 backdrop-filter:blur(8px);
}
.hero .hero-actions .btn:hover{
 background:rgba(255,255,255,.16);
 border-color:rgba(255,255,255,.22);
}

/* ---------- Tipografía principal ---------- */
.menu-heading{font-size:.76rem}
.menu-link{font-size:.95rem}
.sidebar-user strong{font-size:.85rem}
.sidebar-user small{font-size:.72rem}
.topbar-breadcrumb{font-size:.71rem}
.topbar-breadcrumb i{font-size:.6rem}
.topbar h1{font-size:1.72rem}
.topbar-copy>p{font-size:.9rem;line-height:1.45}
.topbar-mode-badge{font-size:.72rem;padding:5px 9px}
.topbar-plan-pill{min-height:46px;padding:8px 12px;border-radius:13px}
.topbar-plan-pill>span{font-size:.78rem}
.topbar-plan-pill>strong{font-size:.68rem}
.topbar-user-chip{min-height:46px;padding:6px 11px 6px 7px;grid-template-columns:36px minmax(0,1fr);min-width:185px;max-width:225px}
.topbar-avatar{width:34px;height:34px;font-size:.76rem}
.topbar-user-chip strong{font-size:.82rem}
.topbar-user-chip span{font-size:.69rem}

.section-title h2{font-size:1.42rem;line-height:1.12}
.section-title small{font-size:.92rem;line-height:1.45;color:#617789}
.panel-head h3{font-size:1.14rem}
.panel-head small{font-size:.8rem;line-height:1.45}
.field label{font-size:.84rem}
.field input,.field select,.field textarea{font-size:.95rem}
.table th{font-size:.75rem}
.table td{font-size:.93rem}
.badge{font-size:.79rem}
.app-footer{font-size:.73rem}
.app-footer-brand strong{font-size:.8rem}
.app-footer-brand span{font-size:.62rem}
.app-footer-version{font-size:.66rem}

/* ---------- Tabs y filtros con mejor lectura ---------- */
.filter-tabs a,
.analytics-preset a,
.preview-role-links a{
 min-height:38px;
 padding:8px 12px;
 border-radius:12px;
 font-size:.8rem;
}
.filter-tabs a em,
.analytics-preset a em{
 font-size:.62rem;
 min-width:22px;
 height:22px;
}
.filter-search>label,
.filter-shell-title small,
.filter-shell-title p,
.quote-search-row small{
 font-size:.84rem;
}

/* ---------- Cards con microtexto más cómodo ---------- */
.visual-kpi-card .eyebrow,
.kpi-card .eyebrow,
.manager-brief-card small,
.visual-summary-card span,
.visual-summary-card small,
.manager-brief-head small,
.catalog-card-bottom>div small,
.catalog-card-bottom>div em,
.catalog-card-copy p,
.premium-role-card p,
.table-primary-cell .entity-link small,
.table-primary-cell>span:last-child small,
.table-subline,
.table-date,
.table-contact,
.subscription-history-item span,
.subscription-history-item small,
.notification-top small,
.notification-copy p,
.automation-rule-copy p,
.automation-rule-copy small,
.plan-distribution span,
.plan-distribution em,
.premium-ranking-row .rank-main>small,
.premium-ranking-row .rank-main>em,
.analytics-panel-head small,
.trend-summary-mini small,
.trend-summary-mini em,
.manager-brief-card em,
.manager-brief-head>em,
.visual-summary-card>em,
.topbar-copy small{
 font-size:.76rem !important;
 line-height:1.45;
}
.visual-kpi-card .value{font-size:1.95rem}
.visual-kpi-card .value-dual{font-size:1.12rem}
.visual-kpi-card .note{font-size:.8rem}
.visual-summary-card strong{font-size:1.32rem}
.visual-summary-card>em{padding:5px 8px}
.visual-summary-card span{letter-spacing:.05em}
.kpi-card .note{font-size:.88rem}
.kpi-card .eyebrow{font-size:.8rem}

/* Tables premium */
.premium-table thead th{font-size:.72rem}
.premium-table tbody td{font-size:.84rem}
.table-entity-icon,
.table-entity-avatar{width:36px;height:36px}
.table-money{font-size:.82rem}
.table-code,
.table-soft-chip,
.table-plan-name,
.table-action-code{font-size:.68rem}
.mobile-card-table tbody td[data-label]:before{font-size:.6rem}

/* Empty states y apoyos */
.empty-state h3{font-size:1.1rem}
.empty-state p{font-size:.92rem;line-height:1.5}
.empty-state .btn{margin-top:6px}

/* ---------- Responsive de esta fase ---------- */
@media(max-width:1120px){
 .topbar h1{font-size:1.52rem}
 .topbar-copy>p{font-size:.83rem}
 .section-title h2{font-size:1.28rem}
}
@media(max-width:820px){
 .btn,
 .topbar-primary-action,
 .btn-filter,
 .btn-filter-clear{min-height:42px;padding:10px 15px;font-size:.92rem}
 .topbar h1{font-size:1.15rem}
 .topbar-copy>p{font-size:.76rem}
 .topbar-mode-badge{font-size:.64rem}
 .section-title h2{font-size:1.08rem}
 .section-title small{font-size:.78rem}
 .filter-tabs a,
 .analytics-preset a,
 .preview-role-links a{font-size:.74rem;min-height:36px;padding:7px 10px}
 .topbar-user-chip{min-width:0;max-width:180px}
}
@media(max-width:560px){
 .btn,
 .topbar-primary-action,
 .btn-filter,
 .btn-filter-clear{width:auto}
 .hero .hero-actions{width:100%}
 .hero .hero-actions .btn{flex:1;justify-content:center}
}

/* =========================================================
   NovaQuote 2.6.6 · PERFIL + BRANDING SIDEBAR
   ========================================================= */
.brand-logo-wrap{display:flex;align-items:center;min-width:0;flex:1;text-decoration:none}
.brand-logo-full,.brand-logo-compact{display:block;object-fit:contain;object-position:left center}
.brand-logo-full{width:190px;max-width:100%;max-height:58px}
.brand-logo-compact{display:none;width:44px;height:44px;max-width:44px;max-height:44px}
.brand .icon-btn{flex:0 0 auto}
body.sidebar-collapsed .brand-logo-full{display:none}
body.sidebar-collapsed .brand-logo-compact{display:block}

.avatar{display:grid;place-items:center;overflow:hidden;color:#fff;background:linear-gradient(145deg,#157eb6,#275fd5);font-weight:900}
.avatar.has-photo{background:#eff6fb}
.avatar-photo{width:100%;height:100%;display:block;object-fit:cover}
.sidebar-user .avatar,
.topbar-avatar.avatar,
.table-entity-avatar.avatar{display:grid;place-items:center}
.sidebar-user{grid-template-columns:42px 1fr 28px;gap:10px}
.sidebar-user>div:nth-child(2){min-width:0}
.sidebar-user em{display:block;font-style:normal;font-size:.62rem;color:#6f8aa0;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-user-chip .avatar{flex:0 0 auto}
.table-primary-cell .table-entity-avatar.avatar{flex:0 0 36px}

.profile-settings-grid{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:18px;align-items:start}
.profile-settings-card{border:1px solid #d9e5ee;border-radius:18px;padding:18px;background:linear-gradient(180deg,#fcfeff 0%,#f5f9fc 100%)}
.profile-settings-preview{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.profile-settings-avatar{width:78px;height:78px;border-radius:24px;overflow:hidden;background:linear-gradient(145deg,#157eb6,#275fd5);display:grid;place-items:center;color:#fff;font-size:1.65rem;font-weight:900;box-shadow:0 12px 28px rgba(24,95,173,.18)}
.profile-settings-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.profile-settings-preview strong{display:block;font-size:1rem;color:#143047}
.profile-settings-preview small{display:block;font-size:.86rem;color:#5d7589;margin-top:3px}
.profile-settings-preview em{display:block;font-style:normal;font-size:.78rem;color:#7f97aa;margin-top:4px}
.form-grid.compact{gap:14px}
.asset-meta small{word-break:break-all}

@media(max-width:980px){
 .profile-settings-grid{grid-template-columns:1fr}
}
@media(max-width:820px){
 .brand-logo-full{width:170px;max-height:52px}
 .brand-logo-compact{width:40px;height:40px}
}

/* =========================================================
   NovaQuote 2.7.0 · INDEX PRINCIPAL ESTILO NETFLIX / PREMIUM
   ========================================================= */
html{scroll-behavior:smooth}
.nq-landing-body{
 background:
  radial-gradient(circle at top center,rgba(30,81,157,.10),transparent 26%),
  linear-gradient(180deg,#eef4f9 0%,#e8f0f7 100%);
 color:#102c44;
}
.nq-landing-body p{
 text-align:justify;
 text-justify:inter-word;
}
.nq-landing-body .nq-section-head.center p,
.nq-landing-body .nq-hero-copy p,
.nq-landing-body .nq-showcase-card p,
.nq-landing-body .nq-company-card p,
.nq-landing-body .nq-poster-card p,
.nq-landing-body .nq-benefit-media p,
.nq-landing-body .nq-usecase-card p,
.nq-landing-body .nq-cta-panel p,
.nq-landing-body .footer-brand p,
.nq-landing-body .footer-contact p{max-width:none}
.nq-landing-header{
 position:sticky;top:0;z-index:120;
 background:rgba(249,252,255,.84);
 backdrop-filter:blur(18px);
 border-bottom:1px solid rgba(205,220,232,.8);
}
.nq-landing-header-inner{
 max-width:1380px;
 margin:0 auto;
 padding:14px 24px;
 display:grid;
 grid-template-columns:auto 1fr;
 align-items:center;
 gap:22px;
}
.nq-landing-brand{display:inline-flex;align-items:center;min-width:0}
.nq-landing-brand img{height:52px;max-width:240px;object-fit:contain;object-position:left center;display:block}
.nq-nav-toggle{
 display:none;
 width:46px;height:46px;border-radius:14px;border:1px solid #d7e4ee;background:#fff;color:#133b5a;
 box-shadow:0 10px 24px rgba(11,39,64,.06)
}
.nq-landing-nav{
 display:flex;align-items:center;justify-content:flex-end;gap:28px;
}
.nq-landing-nav>a{
 color:#3a566d;font-weight:850;font-size:1.03rem;letter-spacing:-.01em;
}
.nq-landing-nav>a:hover{color:#143b63}
.nq-header-actions{display:flex;align-items:center;gap:10px}
.nq-header-actions .btn{min-height:46px}

.nq-landing-main{overflow:hidden}
.nq-hero{
 max-width:1460px;
 margin:18px auto 0;
 border-radius:34px;
 background-size:cover;background-position:center;
 box-shadow:0 30px 70px rgba(4,17,32,.18);
 position:relative;
 overflow:hidden;
}
.nq-hero:before{
 content:"";position:absolute;inset:0;
 background:
  radial-gradient(circle at 20% 20%,rgba(37,111,183,.25),transparent 28%),
  radial-gradient(circle at 75% 15%,rgba(255,255,255,.10),transparent 18%),
  linear-gradient(120deg,rgba(4,16,27,.1),rgba(4,16,27,.35));
 pointer-events:none;
}
.nq-hero-inner{
 position:relative;z-index:2;
 max-width:1380px;
 margin:0 auto;
 padding:58px 28px 40px;
 display:grid;grid-template-columns:minmax(0,1.04fr) minmax(360px,.62fr);gap:28px;align-items:center;
}
.nq-chip{
 display:inline-flex;align-items:center;gap:8px;
 padding:11px 16px;border-radius:999px;
 background:rgba(255,255,255,.10);
 border:1px solid rgba(255,255,255,.13);
 color:#eff6fb;font-weight:900;font-size:.83rem;text-transform:uppercase;letter-spacing:.06em;
}
.nq-chip.light{background:#dce9ff;color:#2057d2;border-color:#dce9ff}
.nq-chip.dark{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.12)}
.nq-hero-copy{color:#fff}
.nq-hero-copy h1{
 margin:18px 0 16px;
 font-size:4.25rem;line-height:.99;letter-spacing:-.045em;
 color:#fff;max-width:860px;
}
.nq-hero-copy p{
 margin:0;max-width:760px;
 font-size:1.14rem;line-height:1.78;color:#d9e7f2;
}
.nq-hero-points{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0}
.nq-hero-points span{
 display:inline-flex;align-items:center;gap:9px;
 min-height:42px;padding:10px 14px;border-radius:14px;
 background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);
 color:#fff;font-weight:760;font-size:.95rem;
}
.nq-hero-points i{color:#89e1b3}
.nq-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 0}
.nq-hero-strip{
 margin-top:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
}
.nq-hero-strip>div{
 min-height:92px;padding:16px;border-radius:18px;
 background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);
 backdrop-filter:blur(10px);
}
.nq-hero-strip strong{display:block;color:#fff;font-size:1.02rem}
.nq-hero-strip span{display:block;color:#d7e6f1;margin-top:5px;font-size:.88rem;line-height:1.45;text-align:left}
.nq-hero-showcase{display:flex;flex-direction:column;gap:16px}
.nq-showcase-card{
 padding:26px 24px;border-radius:28px;
 background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.10));
 border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(14px);
 box-shadow:0 18px 42px rgba(5,14,28,.12);color:#fff;
}
.nq-showcase-card small{display:block;color:#b7cfe2;font-size:.82rem;font-weight:900;letter-spacing:.08em}
.nq-showcase-card h3{margin:14px 0 10px;font-size:2.15rem;line-height:1.06;color:#fff;letter-spacing:-.03em}
.nq-showcase-card p{margin:0;color:#d9e7f0;font-size:1rem;line-height:1.68}
.nq-metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.nq-metric-grid>div{
 min-height:88px;padding:16px;border-radius:18px;
 background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.12)
}
.nq-metric-grid strong{display:block;font-size:1.45rem;color:#fff;line-height:1.08}
.nq-metric-grid span{display:block;margin-top:4px;color:#cce0ee;font-size:.87rem;text-align:left}
.nq-showcase-stack{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.nq-mini-poster{
 min-height:185px;padding:18px;border-radius:22px;background-size:cover;background-position:center;
 display:flex;flex-direction:column;justify-content:flex-end;gap:6px;color:#fff;
 border:1px solid rgba(255,255,255,.10);box-shadow:0 14px 36px rgba(5,16,28,.16)
}
.nq-mini-poster span{display:inline-flex;align-items:center;width:max-content;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.14);font-size:.78rem;font-weight:850}
.nq-mini-poster strong{font-size:1.08rem;line-height:1.25}

.nq-section{max-width:1380px;margin:0 auto;padding:36px 24px}
.nq-section + .nq-section{padding-top:6px}
.nq-section-head{margin-bottom:18px}
.nq-section-head.compact{margin-bottom:16px}
.nq-section-head.left{max-width:860px}
.nq-section-head.center{text-align:center;max-width:980px;margin-left:auto;margin-right:auto}
.nq-section-head h2{
 margin:14px 0 10px;color:#0d2742;
 font-size:3.05rem;line-height:1.08;letter-spacing:-.035em;
}
.nq-section-head p{margin:0;color:#5f7487;font-size:1.08rem;line-height:1.78}
.nq-about{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:22px;align-items:start}
.nq-about-grid{display:grid;grid-template-columns:1fr;gap:18px;padding-top:58px}
.nq-side-insight{
 border-radius:28px;padding:26px;background:#fff;border:1px solid #dbe8f1;
 box-shadow:0 18px 42px rgba(11,35,57,.06)
}
.nq-side-insight.image{min-height:255px;background-size:cover;background-position:center;color:#fff;border:none;display:flex;flex-direction:column;justify-content:flex-end}
.nq-side-insight.image h3,.nq-side-insight.image p{color:#fff}
.nq-side-insight .tone{display:inline-flex;width:max-content;padding:8px 12px;border-radius:999px;font-size:.85rem;font-weight:900}
.nq-side-insight .tone.red{background:#fde2e1;color:#c2382a}
.nq-side-insight .tone.green{background:#d7f3df;color:#157647}
.nq-side-insight h3{margin:14px 0 10px;font-size:1.55rem;line-height:1.18;color:#102a42}
.nq-side-insight p{margin:0;color:#607486;line-height:1.72;font-size:1rem}

.nq-company-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.nq-company-card{
 min-height:280px;padding:18px;background-size:cover;background-position:center;border-radius:26px;
 border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 42px rgba(5,16,28,.12);
 display:flex;flex-direction:column;justify-content:space-between;overflow:hidden
}
.nq-company-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.nq-company-card .public-company-logo{
 width:84px;height:84px;padding:12px;border-radius:22px;background:rgba(255,255,255,.96);box-shadow:none
}
.nq-company-code{display:inline-flex;align-items:center;min-height:32px;padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:.76rem;font-weight:900;letter-spacing:.04em}
.nq-company-card .public-company-copy small{color:#cfe0ec;font-size:.78rem;font-weight:900;letter-spacing:.08em}
.nq-company-card .public-company-copy h3{margin:8px 0 8px;color:#fff;font-size:2rem;line-height:1.12}
.nq-company-card .public-company-copy p{margin:0;color:#d4e4ef;line-height:1.63;min-height:52px}
.nq-company-card .company-enter{margin-top:16px;color:#fff;background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.12)}

.nq-catalog-section{padding-top:16px}
.nq-poster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.nq-poster-card{
 min-height:340px;padding:18px;border-radius:28px;overflow:hidden;position:relative;
 background-size:cover;background-position:center;
 display:flex;flex-direction:column;justify-content:space-between;
 box-shadow:0 18px 42px rgba(5,16,28,.12);border:1px solid rgba(255,255,255,.08)
}
.nq-poster-tag{
 display:inline-flex;width:max-content;align-items:center;min-height:34px;padding:8px 12px;border-radius:999px;
 background:rgba(255,255,255,.14);backdrop-filter:blur(8px);color:#fff;font-size:.79rem;font-weight:900
}
.nq-poster-copy{max-width:92%}
.nq-poster-copy h3{margin:0;color:#fff;font-size:2rem;line-height:1.08;letter-spacing:-.025em}
.nq-poster-copy p{margin:10px 0 0;color:#d4e4ef;font-size:1rem;line-height:1.7}

.nq-benefit-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.nq-benefit-media{
 min-height:290px;padding:18px;border-radius:26px;background-size:cover;background-position:center;
 display:flex;flex-direction:column;justify-content:space-between;color:#fff;
 box-shadow:0 18px 42px rgba(5,16,28,.12)
}
.nq-benefit-badge{display:inline-flex;align-items:center;gap:8px;width:max-content;min-height:36px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.14);font-size:.8rem;font-weight:900}
.nq-benefit-copy h3{margin:0;color:#fff;font-size:1.9rem;line-height:1.1;letter-spacing:-.025em}
.nq-benefit-copy p{margin:10px 0 0;color:#d4e4ef;font-size:1rem;line-height:1.7}

.nq-usecase-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.nq-usecase-card{
 min-height:300px;padding:20px;border-radius:24px;background-size:cover;background-position:center;
 display:flex;flex-direction:column;justify-content:flex-end;color:#fff;box-shadow:0 18px 42px rgba(5,16,28,.12)
}
.nq-usecase-card strong{display:block;color:#d7e6f2;font-size:2.2rem;line-height:1;font-weight:900;margin-bottom:10px}
.nq-usecase-card h3{margin:0;color:#fff;font-size:1.52rem;line-height:1.12}
.nq-usecase-card p{margin:10px 0 0;color:#d4e4ef;line-height:1.66}

.nq-cta-panel{
 max-width:1380px;margin:10px auto 24px;padding:32px 28px;border-radius:30px;background-size:cover;background-position:center;
 display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;color:#fff;
 box-shadow:0 24px 52px rgba(5,16,28,.16)
}
.nq-cta-panel h2{margin:14px 0 10px;font-size:3rem;line-height:1.04;letter-spacing:-.035em;color:#fff}
.nq-cta-panel p{margin:0;color:#d4e4ef;line-height:1.7;font-size:1.02rem;max-width:880px}
.nq-cta-panel .cta-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.nq-footer-pro{margin-top:0}
.nq-footer-pro .footer-pro-inner{padding-top:34px}
.nq-footer-pro .footer-brand p,
.nq-footer-pro .footer-contact p{color:#d6e4ee}
.nq-footer-pro .footer-links a{font-size:1rem}
.nq-footer-pro .footer-brand img{max-width:240px}

/* dense public company section */
.nq-company-section .section-intro,.nq-company-section .nq-section-head{margin-bottom:14px}
.empty-company-public{padding:30px;border-radius:22px;background:#fff;border:1px dashed #d7e4ed;color:#5d7588}

@media(max-width:1240px){
 .nq-hero-inner{grid-template-columns:1fr;gap:22px}
 .nq-about{grid-template-columns:1fr}
 .nq-about-grid{padding-top:0;grid-template-columns:1fr 1fr}
 .nq-company-grid,.nq-poster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .nq-usecase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .nq-cta-panel{grid-template-columns:1fr}
 .nq-cta-panel .cta-actions{justify-content:flex-start}
}
@media(max-width:980px){
 .nq-landing-header-inner{grid-template-columns:1fr auto;gap:12px}
 .nq-nav-toggle{display:inline-grid;place-items:center}
 .nq-landing-nav{
  position:absolute;left:14px;right:14px;top:100%;margin-top:10px;
  display:none;flex-direction:column;align-items:stretch;gap:12px;
  padding:18px;border-radius:22px;background:rgba(255,255,255,.98);
  border:1px solid #dce8f0;box-shadow:0 20px 44px rgba(7,30,50,.10)
 }
 .nq-landing-nav.is-open{display:flex}
 .nq-landing-nav>a{font-size:1rem}
 .nq-header-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
 .nq-header-actions .btn{width:100%;justify-content:center}
 .nq-hero{margin-top:10px;border-radius:26px}
 .nq-hero-inner{padding:34px 16px 24px}
 .nq-hero-copy h1{font-size:3rem}
 .nq-section{padding:28px 14px}
 .nq-section-head h2{font-size:2.4rem}
 .nq-showcase-stack{grid-template-columns:1fr 1fr 1fr}
 .nq-poster-card{min-height:300px}
}
@media(max-width:760px){
 .nq-hero-copy h1{font-size:2.45rem}
 .nq-hero-copy p{font-size:1rem}
 .nq-hero-strip{grid-template-columns:1fr}
 .nq-about-grid{grid-template-columns:1fr}
 .nq-company-grid,.nq-poster-grid,.nq-benefit-media-grid,.nq-usecase-grid{grid-template-columns:1fr}
 .nq-showcase-stack{grid-template-columns:1fr}
 .nq-metric-grid{grid-template-columns:1fr 1fr}
 .nq-company-card .public-company-copy h3,.nq-poster-copy h3,.nq-benefit-copy h3{font-size:1.65rem}
 .nq-cta-panel h2{font-size:2.4rem}
}
@media(max-width:520px){
 .nq-landing-brand img{height:44px;max-width:190px}
 .nq-header-actions{grid-template-columns:1fr}
 .nq-hero-copy h1{font-size:2.08rem}
 .nq-chip{font-size:.72rem;padding:9px 12px}
 .nq-hero-points span{width:100%}
 .nq-showcase-card{padding:18px}
 .nq-showcase-card h3{font-size:1.55rem}
 .nq-metric-grid{grid-template-columns:1fr}
 .nq-company-card{min-height:250px}
 .nq-poster-card,.nq-benefit-media,.nq-usecase-card{min-height:260px}
 .nq-section-head h2,.nq-cta-panel h2{font-size:1.95rem}
 .nq-cta-panel{padding:22px 14px;border-radius:24px}
}

/* =========================================================
   NovaQuote 2.7.1 · REFINAMIENTO DEL INDEX PRINCIPAL
   - títulos más contenidos
   - cards más compactos
   - header más coherente con el proyecto
   ========================================================= */
.nq-landing-body-v271{
  background:linear-gradient(180deg,#edf3f8 0%,#e9f0f6 100%);
}
.nq-landing-body-v271 .nq-landing-header{
  background:linear-gradient(90deg,rgba(7,18,31,.96),rgba(12,35,60,.93));
  border-bottom:1px solid rgba(123,155,187,.18);
  box-shadow:0 14px 34px rgba(4,15,27,.12);
}
.nq-landing-body-v271.nq-header-scrolled .nq-landing-header{
  box-shadow:0 16px 38px rgba(4,15,27,.18);
}
.nq-landing-body-v271 .nq-landing-header-inner{
  max-width:1360px;
  padding:12px 24px;
  gap:24px;
}
.nq-landing-body-v271 .nq-landing-brand{
  gap:10px;
}
.nq-landing-body-v271 .nq-landing-brand img{
  height:42px;
  max-width:170px;
  opacity:.96;
}
.nq-brand-text{display:flex;flex-direction:column;line-height:1.05}
.nq-brand-text strong{font-size:1.14rem;color:#ffffff;font-weight:900;letter-spacing:-.02em}
.nq-brand-text small{font-size:.73rem;color:#9db9d4;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.nq-landing-body-v271 .nq-nav-toggle{
  color:#fff;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.10)
}
.nq-landing-body-v271 .nq-landing-nav{gap:22px}
.nq-landing-body-v271 .nq-landing-nav>a{
  color:#dbe7f2;
  font-size:.98rem;
  font-weight:800;
}
.nq-landing-body-v271 .nq-landing-nav>a:hover{color:#ffffff}
.nq-landing-body-v271 .nq-header-actions{gap:10px}
.nq-landing-body-v271 .nq-header-actions .btn{
  min-height:44px;
  padding:0 18px;
  border-radius:16px;
  font-weight:850;
}
.nq-landing-body-v271 .nq-header-actions .btn-light{
  background:rgba(255,255,255,.08);
  color:#fff;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:none;
}
.nq-landing-body-v271 .nq-header-actions .btn-light:hover{background:rgba(255,255,255,.12)}
.nq-landing-body-v271 .nq-header-actions .btn-primary{
  background:linear-gradient(135deg,#2e6bff,#1d57e4);
  box-shadow:0 12px 24px rgba(29,87,228,.22);
}

.nq-landing-body-v271 .nq-hero{
  max-width:1400px;
  margin-top:18px;
  border-radius:30px;
}
.nq-landing-body-v271 .nq-hero-inner{
  max-width:1320px;
  padding:46px 24px 28px;
  grid-template-columns:minmax(0,1fr) minmax(350px,.54fr);
  gap:22px;
}
.nq-landing-body-v271 .nq-chip{
  padding:9px 14px;
  font-size:.76rem;
}
.nq-landing-body-v271 .nq-hero-copy h1{
  margin:16px 0 12px;
  font-size:3.45rem;
  line-height:1.01;
  max-width:780px;
}
.nq-landing-body-v271 .nq-hero-copy p{
  max-width:720px;
  font-size:1.04rem;
  line-height:1.72;
}
.nq-landing-body-v271 .nq-hero-points{gap:8px;margin-top:18px}
.nq-landing-body-v271 .nq-hero-points span{
  min-height:38px;
  padding:8px 12px;
  border-radius:12px;
  font-size:.90rem;
}
.nq-landing-body-v271 .nq-hero-actions{margin-top:20px}
.nq-landing-body-v271 .nq-hero-strip{margin-top:20px;gap:10px}
.nq-landing-body-v271 .nq-hero-strip>div{
  min-height:72px;
  padding:13px 14px;
  border-radius:16px;
}
.nq-landing-body-v271 .nq-hero-strip strong{font-size:.96rem}
.nq-landing-body-v271 .nq-hero-strip span{font-size:.82rem;line-height:1.35}
.nq-landing-body-v271 .nq-showcase-card{
  padding:22px 20px;
  border-radius:24px;
}
.nq-landing-body-v271 .nq-showcase-card h3{
  margin:10px 0 8px;
  font-size:1.72rem;
}
.nq-landing-body-v271 .nq-showcase-card p{
  font-size:.95rem;
  line-height:1.6;
}
.nq-landing-body-v271 .nq-metric-grid{gap:10px;margin-top:14px}
.nq-landing-body-v271 .nq-metric-grid>div{
  min-height:78px;
  padding:14px;
  border-radius:16px;
}
.nq-landing-body-v271 .nq-metric-grid strong{font-size:1.2rem}
.nq-landing-body-v271 .nq-metric-grid span{font-size:.81rem}
.nq-landing-body-v271 .nq-showcase-stack{gap:10px}
.nq-landing-body-v271 .nq-mini-poster{
  min-height:136px;
  padding:14px;
  border-radius:18px;
}
.nq-landing-body-v271 .nq-mini-poster strong{font-size:.97rem;line-height:1.22}
.nq-landing-body-v271 .nq-mini-poster span{padding:5px 9px;font-size:.72rem}

.nq-landing-body-v271 .nq-section{
  max-width:1320px;
  padding:28px 22px;
}
.nq-landing-body-v271 .nq-section + .nq-section{padding-top:0}
.nq-landing-body-v271 .nq-section-head{margin-bottom:14px}
.nq-landing-body-v271 .nq-section-head h2{
  margin:12px 0 8px;
  font-size:2.45rem;
  line-height:1.08;
}
.nq-landing-body-v271 .nq-section-head p{
  font-size:1rem;
  line-height:1.72;
}
.nq-landing-body-v271 .nq-about{
  grid-template-columns:minmax(0,1fr) 380px;
  gap:18px;
}
.nq-landing-body-v271 .nq-about-grid{gap:14px;padding-top:50px}
.nq-landing-body-v271 .nq-side-insight{
  padding:22px;
  border-radius:24px;
}
.nq-landing-body-v271 .nq-side-insight h3{font-size:1.15rem;line-height:1.3;margin:12px 0 8px}
.nq-landing-body-v271 .nq-side-insight p{font-size:.96rem;line-height:1.64}
.nq-landing-body-v271 .nq-side-insight.image{min-height:220px}

.nq-landing-body-v271 .super-test-note{
  padding:16px 18px;
  border-radius:20px;
}
.nq-landing-body-v271 .nq-company-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.nq-landing-body-v271 .nq-company-card{
  min-height:232px;
  padding:16px;
  border-radius:22px;
}
.nq-landing-body-v271 .nq-company-card .public-company-logo{width:68px;height:68px;padding:10px;border-radius:18px}
.nq-landing-body-v271 .nq-company-code{min-height:28px;padding:5px 10px;font-size:.72rem}
.nq-landing-body-v271 .nq-company-card .public-company-copy h3{
  font-size:1.05rem;
  line-height:1.22;
  margin:8px 0 6px;
}
.nq-landing-body-v271 .nq-company-card .public-company-copy p{
  font-size:.90rem;
  line-height:1.48;
  min-height:auto;
}
.nq-landing-body-v271 .nq-company-card .company-enter{margin-top:12px}

.nq-landing-body-v271 .nq-poster-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.nq-landing-body-v271 .nq-poster-card{
  min-height:250px;
  padding:16px;
  border-radius:22px;
}
.nq-landing-body-v271 .nq-poster-tag{min-height:30px;padding:6px 10px;font-size:.74rem}
.nq-landing-body-v271 .nq-poster-copy{max-width:88%}
.nq-landing-body-v271 .nq-poster-copy h3{
  font-size:1.10rem;
  line-height:1.22;
}
.nq-landing-body-v271 .nq-poster-copy p{
  font-size:.89rem;
  line-height:1.58;
  margin-top:8px;
}

.nq-landing-body-v271 .nq-benefit-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.nq-landing-body-v271 .nq-benefit-media{
  min-height:220px;
  padding:16px;
  border-radius:22px;
}
.nq-landing-body-v271 .nq-benefit-badge{min-height:30px;padding:6px 10px;font-size:.74rem}
.nq-landing-body-v271 .nq-benefit-copy h3{font-size:1.08rem;line-height:1.2}
.nq-landing-body-v271 .nq-benefit-copy p{font-size:.90rem;line-height:1.56;margin-top:8px}

.nq-landing-body-v271 .nq-usecase-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.nq-landing-body-v271 .nq-usecase-card{
  min-height:238px;
  padding:16px;
  border-radius:22px;
}
.nq-landing-body-v271 .nq-usecase-card strong{font-size:1.15rem;margin-bottom:8px}
.nq-landing-body-v271 .nq-usecase-card h3{font-size:1.08rem;line-height:1.2}
.nq-landing-body-v271 .nq-usecase-card p{font-size:.90rem;line-height:1.56;margin-top:8px}

.nq-landing-body-v271 .nq-cta-panel{
  max-width:1320px;
  margin:6px auto 24px;
  padding:26px 24px;
  border-radius:24px;
  gap:18px;
}
.nq-landing-body-v271 .nq-cta-panel h2{font-size:2.3rem;line-height:1.06;margin:12px 0 8px}
.nq-landing-body-v271 .nq-cta-panel p{font-size:.98rem;line-height:1.66}
.nq-landing-body-v271 .nq-cta-panel .cta-actions .btn{min-height:44px;padding:0 18px;border-radius:15px}

.nq-landing-body-v271 .footer-pro-inner{max-width:1320px;padding:26px 22px 20px}
.nq-landing-body-v271 .footer-brand img{max-width:200px}
.nq-landing-body-v271 .footer-brand p,
.nq-landing-body-v271 .footer-contact p,
.nq-landing-body-v271 .footer-links a{font-size:.96rem;line-height:1.66}

@media(max-width:1240px){
  .nq-landing-body-v271 .nq-about{grid-template-columns:1fr}
  .nq-landing-body-v271 .nq-about-grid{padding-top:0;grid-template-columns:1fr 1fr}
  .nq-landing-body-v271 .nq-company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nq-landing-body-v271 .nq-usecase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
  .nq-landing-body-v271 .nq-landing-nav{
    background:linear-gradient(180deg,rgba(8,18,31,.98),rgba(11,31,54,.98));
    border-color:rgba(255,255,255,.08);
  }
  .nq-landing-body-v271 .nq-landing-nav>a{color:#e1ebf4}
  .nq-landing-body-v271 .nq-header-actions .btn-light{background:rgba(255,255,255,.06)}
  .nq-landing-body-v271 .nq-hero-inner{grid-template-columns:1fr;padding:34px 18px 22px}
  .nq-landing-body-v271 .nq-hero-copy h1{font-size:2.7rem}
  .nq-landing-body-v271 .nq-section{padding:24px 16px}
  .nq-landing-body-v271 .nq-section-head h2{font-size:2.05rem}
}
@media(max-width:760px){
  .nq-brand-text{display:none}
  .nq-landing-body-v271 .nq-hero-copy h1{font-size:2.22rem}
  .nq-landing-body-v271 .nq-hero-copy p,
  .nq-landing-body-v271 .nq-section-head p{font-size:.96rem}
  .nq-landing-body-v271 .nq-company-grid,
  .nq-landing-body-v271 .nq-poster-grid,
  .nq-landing-body-v271 .nq-benefit-media-grid,
  .nq-landing-body-v271 .nq-usecase-grid,
  .nq-landing-body-v271 .nq-about-grid{grid-template-columns:1fr}
  .nq-landing-body-v271 .nq-showcase-stack{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:560px){
  .nq-landing-body-v271 .nq-landing-header-inner{padding:10px 14px}
  .nq-landing-body-v271 .nq-landing-brand img{height:38px;max-width:150px}
  .nq-landing-body-v271 .nq-header-actions{grid-template-columns:1fr}
  .nq-landing-body-v271 .nq-hero-copy h1{font-size:1.92rem}
  .nq-landing-body-v271 .nq-section-head h2,
  .nq-landing-body-v271 .nq-cta-panel h2{font-size:1.72rem}
  .nq-landing-body-v271 .nq-showcase-stack{grid-template-columns:1fr}
  .nq-landing-body-v271 .nq-metric-grid{grid-template-columns:1fr 1fr}
}

/* =========================================================
   NovaQuote 2.7.2 · HERO FULL WIDTH
   Hero a todo el ancho, sin esquinas redondeadas
   ========================================================= */
.nq-landing-body-v271 .nq-hero{
  width:100%;
  max-width:none;
  margin:0;
  border-radius:0;
  box-shadow:0 24px 54px rgba(4,17,32,.16);
}
.nq-landing-body-v271 .nq-hero-inner{
  width:min(100%, 1360px);
  max-width:1360px;
  margin:0 auto;
  padding-left:28px;
  padding-right:28px;
}
@media(max-width:980px){
  .nq-landing-body-v271 .nq-hero{
    margin:0;
    border-radius:0;
  }
}
@media(max-width:560px){
  .nq-landing-body-v271 .nq-hero-inner{
    padding-left:16px;
    padding-right:16px;
  }
}

/* =========================================================
   NovaQuote 2.7.3 · HEADER FINO + DIRECTORIO EMPRESAS + LOGIN POR EMPRESA
   ========================================================= */

/* 1. Header público con tipografía menos pesada */
.nq-landing-body-v271 .nq-landing-nav>a{
  font-weight:650;
  letter-spacing:0;
}
.nq-landing-body-v271 .nq-header-actions .btn{
  font-weight:720;
}
.nq-landing-body-v271 .nq-brand-text small{
  color:#9db9d4;
  font-size:.69rem;
  font-weight:600;
  letter-spacing:.045em;
}
.nq-landing-body-v271 .nq-landing-brand img{
  max-width:180px;
}

/* 2. Directorio público de empresas */
.nq-company-directory{
  margin-top:14px;
  border:1px solid #d7e4ee;
  border-radius:24px;
  background:rgba(255,255,255,.72);
  box-shadow:0 16px 38px rgba(15,42,65,.055);
  overflow:hidden;
}
.nq-company-directory-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  padding:18px;
  border-bottom:1px solid #e2eaf0;
  background:linear-gradient(180deg,#ffffff,#f8fbfd);
}
.nq-company-search-wrap{
  position:relative;
  display:flex;
  align-items:center;
  min-height:50px;
  border:1px solid #cfdde8;
  border-radius:15px;
  background:#fff;
  box-shadow:0 5px 14px rgba(18,55,82,.035);
}
.nq-company-search-wrap>i{
  position:absolute;
  left:16px;
  color:#5681a0;
  font-size:1rem;
}
.nq-company-search-wrap input{
  width:100%;
  height:48px;
  padding:0 48px 0 44px;
  border:0;
  outline:0;
  background:transparent;
  color:#17334a;
  font:inherit;
  font-size:.96rem;
}
.nq-company-search-wrap input::placeholder{color:#8799a7}
.nq-company-clear{
  position:absolute;
  right:8px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:10px;
  background:#f1f6f9;
  color:#668397;
  cursor:pointer;
}
.nq-company-clear:hover{background:#e7f0f6;color:#234c68}
.nq-company-directory-meta{
  min-width:190px;
  padding-right:4px;
  text-align:right;
}
.nq-company-directory-meta strong,
.nq-company-directory-meta span{display:block}
.nq-company-directory-meta strong{color:#15344c;font-size:.88rem}
.nq-company-directory-meta span{margin-top:3px;color:#8495a2;font-size:.72rem}
.nq-company-filter-row{
  display:flex;
  align-items:center;
  gap:8px;
  padding:12px 18px;
  border-bottom:1px solid #e5edf2;
  overflow-x:auto;
  scrollbar-width:none;
}
.nq-company-filter-row::-webkit-scrollbar{display:none}
.nq-company-filter-row button{
  min-height:36px;
  padding:7px 12px;
  border:1px solid #d8e4ec;
  border-radius:11px;
  background:#f6f9fb;
  color:#5b7385;
  font-size:.78rem;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
}
.nq-company-filter-row button:hover{background:#eef5f9;color:#244c68}
.nq-company-filter-row button.is-active{
  color:#fff;
  border-color:#155f8b;
  background:linear-gradient(135deg,#0f527a,#187baa);
  box-shadow:0 7px 14px rgba(19,102,151,.14);
}
.nq-company-directory .nq-company-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  padding:18px;
}
.nq-directory-company-card{
  min-height:238px!important;
  border-radius:20px!important;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.nq-directory-company-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 36px rgba(4,18,31,.16);
}
.nq-directory-company-card .public-company-logo{
  width:64px!important;
  height:64px!important;
  border-radius:17px!important;
}
.nq-directory-company-card .public-company-copy h3{
  font-size:1.05rem!important;
  line-height:1.22!important;
}
.nq-directory-company-card .public-company-copy p{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:42px!important;
  font-size:.84rem!important;
  line-height:1.48!important;
}
.nq-directory-company-card .company-enter{
  display:inline-flex;
  align-items:center;
  gap:6px;
  width:max-content;
  min-height:32px;
  padding:6px 9px;
  border-radius:9px;
  font-size:.76rem;
  font-weight:800;
  text-decoration:none;
}
.nq-company-empty{
  min-height:210px;
  margin:18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  border:1px dashed #ccdce8;
  border-radius:18px;
  background:#f8fbfd;
  color:#7d919f;
}
.nq-company-empty[hidden]{display:none}
.nq-company-empty i{
  width:48px;height:48px;display:grid;place-items:center;
  border-radius:14px;background:#eaf4fa;color:#2d7ca8;font-size:1.1rem;
}
.nq-company-empty strong{margin-top:10px;color:#24435a;font-size:1rem}
.nq-company-empty span{margin-top:4px;font-size:.83rem}
.nq-company-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:0 18px 18px;
}
.nq-company-pagination[hidden]{display:none}
.nq-company-pagination button{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 12px;
  border:1px solid #d5e2eb;
  border-radius:11px;
  background:#fff;
  color:#264961;
  font-size:.78rem;
  font-weight:750;
  cursor:pointer;
}
.nq-company-pagination button:hover:not(:disabled){background:#f2f7fa}
.nq-company-pagination button:disabled{opacity:.38;cursor:not-allowed}
.nq-company-pagination span{color:#738997;font-size:.76rem;font-weight:700}

/* 3. Login 2.7.3 · diferenciado por empresa */
.login-v273-body{
  min-height:100vh;
  margin:0;
  background:#f3f7fa;
  color:#102d44;
}
.login-v273-page{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(520px,1.04fr) minmax(500px,.96fr);
}
.login-v273-visual{
  position:relative;
  min-height:100vh;
  padding:42px 48px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  color:#fff;
  background-size:cover;
  background-position:center;
  overflow:hidden;
}
.login-v273-visual:before{
  content:"";
  position:absolute;inset:0;
  background:radial-gradient(circle at 20% 20%,rgba(39,124,184,.19),transparent 28%),linear-gradient(120deg,rgba(2,14,24,.08),rgba(3,20,35,.28));
  pointer-events:none;
}
.login-v273-visual>*{position:relative;z-index:1}
.login-v273-visual-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.login-v273-platform-brand{display:inline-flex;align-items:center}
.login-v273-platform-brand img{width:230px;max-height:58px;object-fit:contain;object-position:left center;filter:none}
.login-v273-visual-top>span{
  display:inline-flex;
  padding:8px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.11);
  color:#c9dce9;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.login-v273-visual-copy{max-width:720px}
.login-v273-company-identity{
  display:flex;
  align-items:center;
  gap:13px;
  margin-bottom:22px;
}
.login-v273-company-logo{
  width:66px;height:66px;padding:8px;
  display:grid;place-items:center;
  border-radius:18px;
  background:rgba(255,255,255,.96);
  box-shadow:0 12px 28px rgba(0,0,0,.12);
}
.login-v273-company-logo img{max-width:100%;max-height:100%;object-fit:contain}
.login-v273-company-identity small,
.login-v273-company-identity strong{display:block}
.login-v273-company-identity small{color:#9fc1d8;font-size:.72rem;font-weight:800;letter-spacing:.06em}
.login-v273-company-identity strong{margin-top:4px;color:#fff;font-size:1rem}
.login-v273-eyebrow{
  display:inline-flex;
  padding:8px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.09);
  color:#d5e5ef;
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.06em;
}
.login-v273-visual-copy h1{
  max-width:700px;
  margin:0 0 14px;
  color:#fff;
  font-size:3.35rem;
  line-height:1.02;
  letter-spacing:-.038em;
}
.login-v273-visual-copy p{
  max-width:700px;
  margin:0;
  color:#d4e4ef;
  font-size:1rem;
  line-height:1.72;
  text-align:justify;
}
.login-v273-benefits{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:22px;
}
.login-v273-benefits span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:8px 11px;
  border-radius:11px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  color:#edf6fb;
  font-size:.82rem;
  font-weight:700;
}
.login-v273-benefits i{color:#72d6ad}
.login-v273-visual-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  color:#9db8ca;
  font-size:.75rem;
}
.login-v273-visual-foot span{display:inline-flex;align-items:center;gap:6px}

.login-v273-panel{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:34px;
  background:
    radial-gradient(circle at 100% 0,rgba(40,105,183,.07),transparent 28%),
    linear-gradient(180deg,#fbfdff,#f3f7fa);
}
.login-v273-panel-inner{width:min(540px,100%)}
.login-v273-nav-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-bottom:14px;
}
.login-v273-nav-actions a{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 11px;
  border:1px solid #d8e4ec;
  border-radius:11px;
  background:#fff;
  color:#3f6077;
  font-size:.76rem;
  font-weight:750;
  box-shadow:0 5px 14px rgba(12,43,68,.04);
}
.login-v273-nav-actions a:hover{background:#f5f9fb;color:#1e4c6b}
.login-v273-card{
  padding:30px;
  border:1px solid #dbe6ee;
  border-radius:26px;
  background:#fff;
  box-shadow:0 22px 58px rgba(10,38,60,.08);
}
.login-v273-card-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}
.login-v273-card-brand>img{width:190px;max-height:56px;object-fit:contain;object-position:left center}
.login-v273-selected-logo{
  width:62px;height:62px;padding:8px;
  display:grid;place-items:center;
  border-radius:17px;
  border:1px solid #dce8ef;
  background:#f8fbfd;
}
.login-v273-selected-logo img{max-width:100%;max-height:100%;object-fit:contain}
.login-v273-card-brand small,
.login-v273-card-brand strong,
.login-v273-card-brand span{display:block}
.login-v273-card-brand small{color:#7d92a0;font-size:.68rem;text-transform:uppercase;font-weight:800;letter-spacing:.05em}
.login-v273-card-brand strong{max-width:320px;margin-top:2px;color:#16344b;font-size:.95rem;line-height:1.2}
.login-v273-card-brand span{margin-top:3px;color:#8b9ba6;font-size:.72rem}
.login-v273-heading{margin-bottom:20px}
.login-v273-access-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:31px;
  padding:6px 9px;
  border-radius:9px;
  background:#eaf4fb;
  color:#3179a5;
  font-size:.70rem;
  font-weight:800;
}
.login-v273-heading h2{margin:12px 0 6px;color:#0e2b44;font-size:2rem;line-height:1.05;letter-spacing:-.025em}
.login-v273-heading p{margin:0;color:#6f8494;font-size:.92rem;line-height:1.5}
.login-v273-form .field{margin-bottom:14px}
.login-v273-form .field label{display:block;margin-bottom:7px;color:#324f64;font-size:.78rem;font-weight:800}
.login-input-shell{
  min-height:50px;
  display:flex;
  align-items:center;
  position:relative;
  border:1px solid #cfdde7;
  border-radius:13px;
  background:#fbfdff;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.login-input-shell:focus-within{
  border-color:#4c91c7;
  background:#fff;
  box-shadow:0 0 0 4px rgba(54,132,188,.08);
}
.login-input-shell>i{position:absolute;left:14px;color:#7190a5}
.login-input-shell input{
  width:100%;
  height:48px;
  padding:0 46px 0 40px;
  border:0;
  outline:0;
  background:transparent;
  color:#14344d;
  font:inherit;
  font-size:.91rem;
}
.login-input-shell input::placeholder{color:#9aa9b4}
.login-input-shell button{
  position:absolute;right:7px;
  width:35px;height:35px;
  display:grid;place-items:center;
  border:0;border-radius:9px;
  background:transparent;color:#7892a4;cursor:pointer;
}
.login-input-shell button:hover{background:#edf4f8;color:#2b668e}
.login-v273-submit{
  width:100%;
  min-height:50px;
  justify-content:center;
  margin-top:4px;
  border-radius:13px;
  font-size:.9rem;
  font-weight:800;
}
.login-v273-company-note{
  display:flex;
  gap:9px;
  margin-top:16px;
  padding:11px 12px;
  border-radius:11px;
  background:#f1f7fb;
  color:#5f788a;
  font-size:.75rem;
  line-height:1.45;
}
.login-v273-company-note i{color:#3583af;margin-top:1px}
.login-v273-help{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:18px;
  padding-top:15px;
  border-top:1px solid #e7edf2;
  color:#81939f;
  font-size:.75rem;
}
.login-v273-help a{color:#226ba0;font-weight:800}
.login-v273-legal{
  max-width:460px;
  margin:14px auto 0;
  color:#8b9ba6;
  text-align:center;
  font-size:.72rem;
  line-height:1.5;
}

@media(max-width:1160px){
  .nq-company-directory .nq-company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .login-v273-page{grid-template-columns:1fr 1fr}
  .login-v273-visual{padding:38px 34px}
  .login-v273-visual-copy h1{font-size:2.7rem}
}
@media(max-width:900px){
  .nq-company-directory-top{grid-template-columns:1fr}
  .nq-company-directory-meta{text-align:left;min-width:0}
  .login-v273-page{grid-template-columns:1fr}
  .login-v273-visual{min-height:340px;padding:30px 24px}
  .login-v273-visual-copy h1{font-size:2.25rem;max-width:600px}
  .login-v273-benefits{display:none}
  .login-v273-visual-foot{display:none}
  .login-v273-panel{min-height:auto;padding:26px 18px 38px}
}
@media(max-width:700px){
  .nq-company-directory .nq-company-grid{grid-template-columns:1fr}
  .nq-company-directory{border-radius:18px}
  .nq-company-directory-top{padding:14px}
  .nq-company-filter-row{padding:10px 14px}
  .nq-company-directory .nq-company-grid{padding:14px}
  .nq-directory-company-card{min-height:220px!important}
}
@media(max-width:560px){
  .nq-landing-body-v271 .nq-landing-nav>a{font-weight:620}
  .login-v273-visual{min-height:270px;padding:22px 16px}
  .login-v273-visual-top>span{display:none}
  .login-v273-platform-brand img{width:190px}
  .login-v273-visual-copy h1{font-size:1.85rem;margin-bottom:9px}
  .login-v273-visual-copy p{font-size:.86rem;line-height:1.58}
  .login-v273-company-identity{margin-bottom:14px}
  .login-v273-company-logo{width:54px;height:54px;border-radius:15px}
  .login-v273-panel{padding:18px 12px 28px}
  .login-v273-nav-actions{justify-content:stretch}
  .login-v273-nav-actions a{flex:1;justify-content:center}
  .login-v273-card{padding:22px 16px;border-radius:20px}
  .login-v273-heading h2{font-size:1.65rem}
  .login-v273-help{align-items:flex-start;flex-direction:column}
}

/* =========================================================
   NovaQuote 2.7.4 · LOGO DE EMPRESA SIN CONTENEDOR EN LOGIN
   ========================================================= */
.login-v273-company-identity{
  align-items:center;
  gap:16px;
}
.login-v273-company-logo{
  width:auto;
  min-width:92px;
  max-width:170px;
  height:72px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
  flex:0 0 auto;
}
.login-v273-company-logo img{
  display:block;
  width:auto;
  height:auto;
  max-width:170px;
  max-height:72px;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.12));
}
.login-v273-card-brand{
  align-items:center;
  gap:16px;
}
.login-v273-selected-logo{
  width:auto;
  min-width:86px;
  max-width:150px;
  height:58px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
  flex:0 0 auto;
}
.login-v273-selected-logo img{
  display:block;
  width:auto;
  height:auto;
  max-width:150px;
  max-height:58px;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 2px 5px rgba(14,39,58,.08));
}
@media(max-width:760px){
  .login-v273-company-logo{
    min-width:72px;
    max-width:125px;
    height:56px;
  }
  .login-v273-company-logo img{max-width:125px;max-height:56px}
  .login-v273-selected-logo{
    min-width:68px;
    max-width:115px;
    height:48px;
  }
  .login-v273-selected-logo img{max-width:115px;max-height:48px}
}

/* =========================================================
   NovaQuote 2.7.5 · LOGIN EMPRESARIAL CON JERARQUÍA DE MARCA
   El logo queda independiente del texto y la empresa se presenta
   en bloques visuales separados, más limpios y profesionales.
   ========================================================= */
.login-v275-company-identity{
  display:block;
  margin-bottom:22px;
}
.login-v275-company-logo{
  min-width:0;
  max-width:220px;
  height:78px;
  margin-bottom:14px;
}
.login-v275-company-logo img{
  max-width:220px;
  max-height:78px;
  object-position:left center;
}
.login-v275-company-meta{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
  max-width:560px;
}
.login-v275-company-kicker{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  color:#a8c7dc;
  font-size:.70rem;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.login-v275-company-meta strong{
  color:#fff;
  font-size:1.05rem;
  line-height:1.28;
  font-weight:850;
}
.login-v275-company-meta small{
  color:#8fb0c7;
  font-size:.78rem;
  line-height:1.4;
}

.login-v275-card-brand{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  margin:0 0 22px;
  padding:4px 0 20px;
  border-bottom:1px solid #e3edf4;
  text-align:center;
}
.login-v275-card-brand-label{
  color:#7b92a4;
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.login-v275-selected-logo{
  min-width:0;
  max-width:220px;
  width:auto;
  height:70px;
  justify-content:center;
  margin:2px 0 4px;
}
.login-v275-selected-logo img{
  max-width:220px;
  max-height:70px;
  object-position:center center;
}
.login-v275-card-company-copy{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
  max-width:390px;
}
.login-v275-card-company-copy strong{
  color:#17354b;
  font-size:1rem;
  line-height:1.3;
  font-weight:850;
}
.login-v275-card-company-copy span{
  color:#879ba9;
  font-size:.73rem;
  line-height:1.4;
}

/* El bloque de acceso respira mejor debajo de la identidad corporativa. */
.login-v275-card-brand + .login-v273-heading{
  margin-top:0;
}
.login-v275-card-brand + .login-v273-heading .login-v273-access-chip{
  margin-bottom:2px;
}

@media(max-width:760px){
  .login-v275-company-logo{
    max-width:180px;
    height:64px;
  }
  .login-v275-company-logo img{
    max-width:180px;
    max-height:64px;
  }
  .login-v275-selected-logo{
    max-width:180px;
    height:58px;
  }
  .login-v275-selected-logo img{
    max-width:180px;
    max-height:58px;
  }
  .login-v275-company-meta strong{font-size:.98rem}
}

/* =========================================================
   NovaQuote 2.7.6 · LOGO SIDEBAR EN COLOR ORIGINAL
   ========================================================= */
/*
   Regla histórica `.brand img { filter:brightness(0) invert(1) }`
   convertía cualquier logo cargado a blanco. Los logos administrables
   del sidebar deben conservar exactamente los colores del archivo subido.
*/
.brand .brand-logo-full,
.brand .brand-logo-compact{
  filter:none !important;
  -webkit-filter:none !important;
  opacity:1;
  background:transparent;
  mix-blend-mode:normal;
}
.brand .brand-logo-full{
  object-fit:contain;
  object-position:left center;
}
.brand .brand-logo-compact{
  object-fit:contain;
  object-position:center center;
}

/* =========================================================
   NovaQuote 2.7.7 · DOBLE LOGO PARA LOGIN EMPRESARIAL
   ========================================================= */
.settings-block-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}
.settings-block-head h3{margin:0 0 6px}
.settings-block-head .muted{margin:0;max-width:780px}
.settings-status-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:36px;
  padding:8px 12px;
  border-radius:999px;
  background:#eef6ff;
  border:1px solid #d9eaff;
  color:#1d66a6;
  font-size:.78rem;
  font-weight:850;
  white-space:nowrap;
}
.login-logo-settings-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.login-logo-setting-card{
  border:1px solid #dbe7ef;
  border-radius:20px;
  background:#fff;
  padding:16px;
  box-shadow:0 12px 28px rgba(13,42,64,.05);
}
.login-logo-setting-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}
.login-logo-setting-head>span{
  width:42px;
  height:42px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:#eef6fb;
  color:#1f77ad;
  flex:0 0 auto;
}
.login-logo-setting-head strong{
  display:block;
  color:#17354b;
  font-size:.96rem;
}
.login-logo-setting-head small{
  display:block;
  color:#71899c;
  font-size:.76rem;
  margin-top:3px;
  line-height:1.4;
}
.login-logo-preview{
  min-height:150px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  overflow:hidden;
  margin-bottom:14px;
}
.login-logo-preview img{
  display:block;
  max-width:82%;
  max-height:92px;
  object-fit:contain;
  filter:none!important;
}
.login-logo-preview-dark{
  background:linear-gradient(145deg,#061a2c,#0d3555);
  border:1px solid rgba(255,255,255,.08);
}
.login-logo-preview-light{
  background:#fbfdff;
  border:1px solid #dce7ef;
}
.login-logo-setting-card .field{margin-bottom:0}
.login-logo-setting-card .field small{
  display:block;
  margin-top:7px;
  color:#7890a3;
  font-size:.75rem;
  line-height:1.42;
}

/* Los logos del login siempre se muestran con el archivo original. */
.login-v275-company-logo img,
.login-v275-selected-logo img{
  filter:none!important;
}

@media(max-width:900px){
  .login-logo-settings-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .settings-block-head{flex-direction:column}
  .settings-status-chip{white-space:normal}
  .login-logo-preview{min-height:120px;padding:18px}
  .login-logo-preview img{max-height:72px}
}

/* =========================================================
   NovaQuote 2.7.8 · LOGO CORRECTO EN CARDS DE EMPRESA
   - usa logo para fondo claro
   - placa clara horizontal y limpia
   ========================================================= */
.nq-directory-company-card .nq-company-logo-lightplate{
  width:auto!important;
  min-width:132px;
  max-width:190px;
  height:58px!important;
  padding:8px 11px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.96)!important;
  border:0!important;
  box-shadow:0 8px 18px rgba(0,0,0,.10)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  overflow:hidden;
}
.nq-directory-company-card .nq-company-logo-lightplate img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:168px!important;
  max-height:42px!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:none!important;
}
@media(max-width:700px){
  .nq-directory-company-card .nq-company-logo-lightplate{
    min-width:122px;
    max-width:175px;
    height:54px!important;
    padding:7px 10px!important;
  }
  .nq-directory-company-card .nq-company-logo-lightplate img{
    max-width:154px!important;
    max-height:39px!important;
  }
}

/* =========================================================
   NovaQuote 2.7.9 · LOGO DE EMPRESA LIBRE SOBRE CARD OSCURO
   - usa login_logo_dark
   - sin contenedor, placa, fondo, borde ni sombra
   ========================================================= */
.nq-directory-company-card .nq-company-logo-darkfree{
  width:auto!important;
  min-width:0!important;
  max-width:205px!important;
  height:64px!important;
  padding:0!important;
  margin:0!important;
  border-radius:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  overflow:visible!important;
}
.nq-directory-company-card .nq-company-logo-darkfree img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:200px!important;
  max-height:60px!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:none!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
@media(max-width:700px){
  .nq-directory-company-card .nq-company-logo-darkfree{
    max-width:180px!important;
    height:58px!important;
  }
  .nq-directory-company-card .nq-company-logo-darkfree img{
    max-width:176px!important;
    max-height:54px!important;
  }
}

/* =========================================================
   NovaQuote 2.7.10 · CARD EMPRESA PREMIUM
   ========================================================= */
.nq-company-card-premium{
  position:relative;
  overflow:hidden;
  min-height:252px!important;
  padding:18px!important;
  border:1px solid rgba(176,205,229,.10)!important;
  border-radius:22px!important;
  box-shadow:0 16px 36px rgba(4,17,30,.14)!important;
  isolation:isolate;
}
.nq-company-card-premium:before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.04),transparent 38%,rgba(29,105,182,.08));
  pointer-events:none;
  z-index:-1;
}
.nq-company-card-glow{
  position:absolute;
  width:180px;height:180px;
  border-radius:50%;
  right:-70px;top:-80px;
  background:radial-gradient(circle,rgba(52,143,225,.22),rgba(52,143,225,0) 68%);
  pointer-events:none;
}
.nq-company-card-premium:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 22px 46px rgba(4,17,30,.22)!important;
  border-color:rgba(93,169,232,.24)!important;
}
.nq-company-card-premium .nq-company-top{
  align-items:flex-start;
}
.nq-company-card-premium .public-company-logo{
  width:150px!important;
  height:62px!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
}
.nq-company-card-premium .public-company-logo img{
  max-width:100%;
  max-height:58px;
  width:auto;
  height:auto;
  object-fit:contain;
  object-position:left top;
  filter:none!important;
}
.nq-company-top-meta{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:7px;
}
.nq-company-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(12,44,62,.72);
  border:1px solid rgba(255,255,255,.10);
  color:#d9eef7;
  font-size:.68rem;
  font-weight:800;
}
.nq-company-status i{
  width:7px;height:7px;border-radius:50%;
  background:#43d29c;
  box-shadow:0 0 0 4px rgba(67,210,156,.11);
}
.nq-company-card-premium .nq-company-code{
  background:rgba(255,255,255,.09)!important;
  border:1px solid rgba(255,255,255,.09);
  color:#f5f9fc!important;
  font-size:.67rem!important;
  min-height:26px!important;
  padding:4px 9px!important;
}
.nq-company-card-content{
  margin-top:24px;
}
.nq-company-eyebrow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:7px;
}
.nq-company-eyebrow span{
  color:#b7d0e3;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
}
.nq-company-eyebrow em{
  font-style:normal;
  color:#a9d7f4;
  font-size:.61rem;
  font-weight:800;
  padding:4px 7px;
  border-radius:999px;
  background:rgba(42,124,188,.14);
  border:1px solid rgba(96,177,236,.13);
}
.nq-company-card-premium .public-company-copy h3{
  margin:0!important;
  color:#fff!important;
  font-size:1.08rem!important;
  line-height:1.22!important;
  letter-spacing:-.015em;
  max-width:94%;
}
.nq-company-card-premium .public-company-copy p{
  margin:7px 0 0!important;
  color:#c8dae8!important;
  font-size:.82rem!important;
  line-height:1.48!important;
  min-height:auto!important;
  -webkit-line-clamp:2;
}
.nq-company-card-footer{
  margin-top:18px;
  padding-top:13px;
  border-top:1px solid rgba(255,255,255,.10);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.nq-company-access-copy{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#9fb8ca;
  font-size:.67rem;
  font-weight:700;
}
.nq-company-card-premium .company-enter{
  margin:0!important;
  min-height:36px!important;
  padding:8px 12px!important;
  border-radius:11px!important;
  background:linear-gradient(135deg,#2367ea,#1a55d9)!important;
  border:1px solid rgba(255,255,255,.07)!important;
  color:#fff!important;
  font-size:.78rem!important;
  font-weight:850!important;
  box-shadow:0 8px 20px rgba(29,85,217,.22);
}
.nq-company-card-premium:hover .company-enter{
  background:linear-gradient(135deg,#2f74f4,#205ddd)!important;
  transform:translateX(1px);
}
.nq-company-card-premium .company-enter .bi-arrow-right-short{
  font-size:1rem;
}

@media(max-width:760px){
  .nq-company-card-premium{min-height:238px!important}
  .nq-company-card-premium .public-company-logo{width:138px!important;height:58px!important}
  .nq-company-card-footer{align-items:flex-end}
  .nq-company-access-copy{max-width:105px;line-height:1.25}
}

/* =========================================================
   NovaQuote 2.7.11 · ADMINISTRADOR DE IMÁGENES DEL INDEX
   ========================================================= */
.index-media-title{margin-bottom:16px}
.index-media-guide{
 display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:14px;align-items:center;
 padding:16px 18px;margin-bottom:16px;border:1px solid #cfe1ec;border-radius:20px;
 background:linear-gradient(135deg,#f9fcff,#eef7fc);box-shadow:0 10px 26px rgba(14,49,73,.05)
}
.index-media-guide-icon{
 width:52px;height:52px;border-radius:16px;display:grid;place-items:center;
 background:linear-gradient(145deg,#0e5d8b,#188fc2);color:#fff;font-size:1.2rem
}
.index-media-guide strong{display:block;color:#102f47;font-size:1rem}
.index-media-guide p{margin:4px 0 0;color:#5f7789;font-size:.88rem;line-height:1.5;text-align:left}
.index-media-guide-tags{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.index-media-guide-tags span{padding:6px 9px;border-radius:999px;background:#fff;border:1px solid #d6e5ee;color:#446075;font-size:.7rem;font-weight:800}
.index-media-form{padding-bottom:88px}
.index-media-modules{display:grid;gap:14px}
.index-media-module{
 border:1px solid #d7e4ed;border-radius:22px;background:#fff;overflow:hidden;
 box-shadow:0 12px 30px rgba(13,45,68,.055)
}
.index-media-module>summary{
 list-style:none;cursor:pointer;display:grid;grid-template-columns:42px 42px minmax(0,1fr) auto 22px;gap:12px;align-items:center;
 padding:16px 18px;background:linear-gradient(180deg,#fff,#f9fcfe);user-select:none
}
.index-media-module>summary::-webkit-details-marker{display:none}
.index-media-number{font-size:.72rem;font-weight:900;color:#628096;letter-spacing:.09em}
.index-media-summary-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#eaf5fb;color:#1577a8;font-size:1rem}
.index-media-summary-copy{min-width:0}
.index-media-summary-copy strong{display:block;color:#102f47;font-size:1rem}
.index-media-summary-copy small{display:block;color:#6c8293;font-size:.78rem;line-height:1.42;margin-top:3px}
.index-media-count{padding:6px 9px;border-radius:999px;background:#edf5fa;color:#527084;font-size:.68rem;font-weight:850;white-space:nowrap}
.index-media-chevron{color:#6b8597;transition:transform .2s ease}
.index-media-module[open] .index-media-chevron{transform:rotate(180deg)}
.index-media-module-body{padding:0 16px 16px;border-top:1px solid #edf2f5}
.index-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-top:14px}
.index-media-card{border:1px solid #dce7ee;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 9px 22px rgba(13,44,67,.045)}
.index-media-preview{position:relative;aspect-ratio:var(--media-ratio);background:#071a2d;overflow:hidden}
.index-media-preview img{width:100%;height:100%;display:block;object-fit:cover}
.index-media-size{
 position:absolute;left:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;
 padding:6px 9px;border-radius:10px;background:rgba(5,20,33,.82);color:#fff;font-size:.7rem;font-weight:850;backdrop-filter:blur(7px)
}
.index-media-card-body{padding:14px}
.index-media-card-head small{display:block;font-size:.62rem;font-weight:900;letter-spacing:.08em;color:#7290a5}
.index-media-card-head h3{margin:3px 0 0;color:#102f47;font-size:.98rem;line-height:1.25}
.index-media-card-body>p{margin:8px 0 10px;color:#627b8e;font-size:.78rem;line-height:1.48;text-align:left;min-height:38px}
.index-media-recommendation{display:flex;gap:7px;align-items:center;padding:8px 10px;border-radius:11px;background:#eef8f2;color:#2f6950;font-size:.72rem;line-height:1.35}
.index-media-recommendation i{color:#16885e}
.index-media-upload{
 margin-top:10px;display:flex;align-items:center;justify-content:center;min-height:40px;padding:8px 11px;
 border:1px dashed #91bfd4;border-radius:12px;background:#f4fbfe;color:#176d99;font-size:.78rem;font-weight:850;cursor:pointer;transition:.18s ease
}
.index-media-upload:hover{background:#eaf7fc;border-color:#4aa3ca}
.index-media-upload input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.index-media-path{display:block;margin-top:8px;color:#91a2af;font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.index-media-savebar{
 position:sticky;bottom:14px;z-index:12;margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;
 padding:13px 15px;border-radius:18px;background:rgba(7,31,50,.95);backdrop-filter:blur(12px);box-shadow:0 18px 40px rgba(4,19,31,.20);color:#fff
}
.index-media-savebar strong{display:block;font-size:.9rem}
.index-media-savebar span{display:block;margin-top:2px;color:#b8cede;font-size:.73rem}
.index-media-savebar .btn{flex:0 0 auto}
.page-saas-index-media .topbar-primary-action{display:none}

@media(max-width:1180px){
 .index-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .index-media-guide{grid-template-columns:52px 1fr}
 .index-media-guide-tags{grid-column:1/-1;justify-content:flex-start}
}
@media(max-width:760px){
 .index-media-title{align-items:flex-start}
 .index-media-title .actions{width:100%}
 .index-media-title .actions .btn{width:100%;justify-content:center}
 .index-media-module>summary{grid-template-columns:34px 38px minmax(0,1fr) 20px;padding:13px 12px;gap:9px}
 .index-media-count{display:none}
 .index-media-summary-icon{width:38px;height:38px}
 .index-media-summary-copy small{font-size:.72rem}
 .index-media-grid{grid-template-columns:1fr}
 .index-media-module-body{padding:0 10px 10px}
 .index-media-guide{grid-template-columns:44px 1fr;padding:13px}
 .index-media-guide-icon{width:44px;height:44px;border-radius:13px}
 .index-media-savebar{align-items:stretch;flex-direction:column;bottom:8px}
 .index-media-savebar .btn{width:100%;justify-content:center}
}

/* =========================================================
   NovaQuote 2.7.12 · INDEX VISUAL REFINADO / CARDS PREMIUM
   Más vida en imágenes, mejor equilibrio del bloque "Sobre el proyecto"
   y cards estilo catálogo tipo campus/cursos.
   ========================================================= */

.nq-landing-body-v2712 .nq-section[id],
.nq-landing-body-v2712 section[id]{scroll-margin-top:108px}

.nq-landing-body-v2712{
 background:
  radial-gradient(circle at top center,rgba(44,104,196,.10),transparent 24%),
  linear-gradient(180deg,#eff4f9 0%,#edf3f8 38%,#e9f0f6 100%);
}
.nq-landing-body-v2712 .nq-section{
 max-width:1340px;
 padding-top:30px;
 padding-bottom:30px;
}
.nq-landing-body-v2712 .nq-section-head p{max-width:1020px;margin-left:auto;margin-right:auto}
.nq-landing-body-v2712 .nq-section-head.left p{margin-left:0;margin-right:0}

/* HERO: overlays más ligeros para que la imagen respire mejor */
.nq-landing-body-v2712 .nq-hero:before{
 background:
  radial-gradient(circle at 18% 18%,rgba(54,129,210,.22),transparent 24%),
  radial-gradient(circle at 76% 12%,rgba(255,255,255,.14),transparent 16%),
  linear-gradient(120deg,rgba(4,16,27,.04),rgba(4,16,27,.26));
}
.nq-landing-body-v2712 .nq-showcase-card{
 background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.10));
 box-shadow:0 18px 42px rgba(5,14,28,.16);
}
.nq-landing-body-v2712 .nq-mini-poster{
 position:relative;
 overflow:hidden;
 min-height:150px;
 box-shadow:0 18px 36px rgba(5,16,28,.18);
}
.nq-landing-body-v2712 .nq-mini-poster::after{
 content:"";
 position:absolute;
 inset:0;
 background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.05) 48%,rgba(5,16,28,.14) 100%);
 pointer-events:none;
}
.nq-landing-body-v2712 .nq-mini-poster > *{position:relative;z-index:1}
.nq-landing-body-v2712 .nq-mini-poster span{background:rgba(255,255,255,.18)}

/* SOBRE EL PROYECTO: eliminar vacío y dar balance */
.nq-landing-body-v2712 .nq-about{
 grid-template-columns:minmax(0,1.1fr) minmax(320px,.72fr);
 gap:22px;
 align-items:start;
}
.nq-landing-body-v2712 .nq-about-copy{
 display:flex;
 flex-direction:column;
 gap:18px;
}
.nq-landing-body-v2712 .nq-about-pillars{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:14px;
}
.nq-landing-body-v2712 .nq-about-pillars article{
 background:#fff;
 border:1px solid #d8e5ef;
 border-radius:22px;
 padding:18px 16px;
 box-shadow:0 16px 30px rgba(11,35,57,.05);
}
.nq-landing-body-v2712 .nq-about-pillars strong{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 width:40px;height:40px;
 border-radius:14px;
 background:linear-gradient(135deg,#e8f1ff,#dce9ff);
 color:#1d57e4;
 font-size:1rem;
 font-weight:900;
}
.nq-landing-body-v2712 .nq-about-pillars h4{
 margin:14px 0 8px;
 color:#0f2b45;
 font-size:1.04rem;
 line-height:1.3;
}
.nq-landing-body-v2712 .nq-about-pillars p{
 margin:0;
 color:#617689;
 font-size:.93rem;
 line-height:1.62;
}
.nq-landing-body-v2712 .nq-about-side{
 display:grid;
 gap:14px;
 align-self:stretch;
}
.nq-landing-body-v2712 .nq-side-insight.compact{
 min-height:auto;
}
.nq-landing-body-v2712 .nq-side-insight.image{
 min-height:320px;
 box-shadow:0 18px 42px rgba(5,16,28,.14);
}

/* MÓDULOS estilo curso/catálogo */
.nq-landing-body-v2712 .nq-module-grid{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:18px;
}
.nq-landing-body-v2712 .nq-module-card{
 background:#fff;
 border:1px solid #d9e6ef;
 border-radius:26px;
 overflow:hidden;
 box-shadow:0 18px 38px rgba(10,29,49,.06);
 display:flex;
 flex-direction:column;
 height:100%;
 transition:transform .18s ease, box-shadow .18s ease;
}
.nq-landing-body-v2712 .nq-module-card:hover{
 transform:translateY(-4px);
 box-shadow:0 24px 46px rgba(10,29,49,.10);
}
.nq-landing-body-v2712 .nq-module-media{
 min-height:176px;
 background-size:cover;
 background-position:center;
 position:relative;
 display:flex;
 align-items:flex-start;
 padding:16px;
}
.nq-landing-body-v2712 .nq-module-media::after{
 content:"";
 position:absolute;
 inset:auto 0 0 0;
 height:42%;
 background:linear-gradient(180deg,rgba(3,14,26,0),rgba(3,14,26,.22));
 pointer-events:none;
}
.nq-landing-body-v2712 .nq-module-tag{
 position:relative;
 z-index:1;
 display:inline-flex;
 align-items:center;
 min-height:32px;
 padding:7px 11px;
 border-radius:999px;
 background:rgba(255,255,255,.90);
 color:#123f67;
 font-size:.76rem;
 font-weight:900;
 box-shadow:0 8px 18px rgba(8,24,41,.10);
}
.nq-landing-body-v2712 .nq-module-body{
 padding:18px 18px 16px;
 display:flex;
 flex-direction:column;
 gap:10px;
 flex:1;
}
.nq-landing-body-v2712 .nq-module-body h3{
 margin:0;
 color:#0f2b45;
 font-size:1.28rem;
 line-height:1.2;
}
.nq-landing-body-v2712 .nq-module-body p{
 margin:0;
 color:#5f7487;
 font-size:.95rem;
 line-height:1.65;
}
.nq-landing-body-v2712 .nq-module-foot{
 margin-top:auto;
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:12px;
 padding-top:10px;
 border-top:1px solid #e6eef5;
}
.nq-landing-body-v2712 .nq-module-foot span{
 color:#6f8394;
 font-size:.82rem;
 font-weight:700;
}
.nq-landing-body-v2712 .nq-module-foot strong{
 color:#1b4fce;
 font-size:.84rem;
 font-weight:900;
}

/* BENEFICIOS con fondo vivo y caja de lectura */
.nq-landing-body-v2712 .nq-benefit-media-grid{gap:18px}
.nq-landing-body-v2712 .nq-benefit-media{
 min-height:260px;
 position:relative;
 overflow:hidden;
 box-shadow:0 18px 38px rgba(5,16,28,.10);
}
.nq-landing-body-v2712 .nq-benefit-media::after{
 content:"";
 position:absolute;
 inset:auto 0 0 0;
 height:62%;
 background:linear-gradient(180deg,rgba(4,15,28,0),rgba(4,15,28,.12) 16%,rgba(4,15,28,.88));
 pointer-events:none;
}
.nq-landing-body-v2712 .nq-benefit-badge,
.nq-landing-body-v2712 .nq-benefit-copy{position:relative;z-index:1}
.nq-landing-body-v2712 .nq-benefit-copy{
 max-width:85%;
 background:linear-gradient(180deg,rgba(6,22,37,.14),rgba(6,22,37,.52));
 border:1px solid rgba(255,255,255,.10);
 border-radius:18px;
 padding:14px 14px 12px;
 backdrop-filter:blur(4px);
}
.nq-landing-body-v2712 .nq-benefit-copy h3{font-size:1.18rem}

/* TIPOS DE COTIZACIÓN estilo tarjeta limpia */
.nq-landing-body-v2712 .nq-usecase-grid-v2{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:18px;
}
.nq-landing-body-v2712 .nq-usecase-card-v2{
 background:#fff;
 border:1px solid #d9e6ef;
 border-radius:24px;
 overflow:hidden;
 box-shadow:0 18px 38px rgba(10,29,49,.06);
}
.nq-landing-body-v2712 .nq-usecase-media{
 min-height:174px;
 background-size:cover;
 background-position:center;
 padding:16px;
 position:relative;
 display:flex;
 align-items:flex-end;
}
.nq-landing-body-v2712 .nq-usecase-media::after{
 content:"";
 position:absolute;
 inset:0;
 background:linear-gradient(180deg,rgba(255,255,255,0),rgba(4,15,28,.14) 48%,rgba(4,15,28,.38) 100%);
 pointer-events:none;
}
.nq-landing-body-v2712 .nq-usecase-media strong{
 position:relative;
 z-index:1;
 width:50px;height:50px;
 margin:0;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 border-radius:16px;
 background:rgba(255,255,255,.92);
 color:#123f67;
 font-size:1rem;
 font-weight:900;
 box-shadow:0 10px 24px rgba(8,24,41,.12);
}
.nq-landing-body-v2712 .nq-usecase-body{
 padding:18px 18px 16px;
}
.nq-landing-body-v2712 .nq-usecase-body h3{
 margin:0;
 color:#0f2b45;
 font-size:1.22rem;
 line-height:1.22;
}
.nq-landing-body-v2712 .nq-usecase-body p{
 margin:10px 0 0;
 color:#5f7487;
 font-size:.94rem;
 line-height:1.62;
}

/* CTA ligeramente más vivo */
.nq-landing-body-v2712 .nq-cta-panel{
 box-shadow:0 24px 44px rgba(5,16,28,.12);
}

@media(max-width:1240px){
 .nq-landing-body-v2712 .nq-about,
 .nq-landing-body-v2712 .nq-module-grid,
 .nq-landing-body-v2712 .nq-usecase-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))}
 .nq-landing-body-v2712 .nq-about{grid-template-columns:1fr}
 .nq-landing-body-v2712 .nq-about-side{grid-template-columns:1fr 1fr}
}
@media(max-width:980px){
 .nq-landing-body-v2712 .nq-benefit-media-grid,
 .nq-landing-body-v2712 .nq-module-grid,
 .nq-landing-body-v2712 .nq-usecase-grid-v2{grid-template-columns:1fr 1fr}
 .nq-landing-body-v2712 .nq-about-pillars{grid-template-columns:1fr}
}
@media(max-width:760px){
 .nq-landing-body-v2712 .nq-about-side,
 .nq-landing-body-v2712 .nq-benefit-media-grid,
 .nq-landing-body-v2712 .nq-module-grid,
 .nq-landing-body-v2712 .nq-usecase-grid-v2{grid-template-columns:1fr}
 .nq-landing-body-v2712 .nq-benefit-copy{max-width:100%}
}

/* =========================================================
   NovaQuote 2.7.13 · REPLANTEAMIENTO ÚLTIMA SECCIÓN
   Se reemplaza la sección final de tipos de cotización por
   un formato premium, oscuro y coherente con el resto del landing.
   ========================================================= */
.nq-landing-body-v2712 .nq-use-cases-v3 .nq-section-head p{
 max-width:900px;
}
.nq-landing-body-v2712 .nq-business-grid{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:18px;
}
.nq-landing-body-v2712 .nq-business-card{
 position:relative;
 min-height:330px;
 border-radius:28px;
 overflow:hidden;
 background-size:cover;
 background-position:center;
 border:1px solid rgba(255,255,255,.10);
 box-shadow:0 18px 38px rgba(10,29,49,.09);
 display:flex;
 flex-direction:column;
 justify-content:space-between;
 padding:20px;
 isolation:isolate;
 transition:transform .18s ease, box-shadow .18s ease;
}
.nq-landing-body-v2712 .nq-business-card::before{
 content:"";
 position:absolute;
 inset:0;
 background:radial-gradient(circle at 14% 16%,rgba(74,149,255,.16),transparent 22%),
            radial-gradient(circle at 82% 12%,rgba(255,255,255,.08),transparent 18%);
 pointer-events:none;
 z-index:-1;
}
.nq-landing-body-v2712 .nq-business-card:hover{
 transform:translateY(-4px);
 box-shadow:0 26px 52px rgba(10,29,49,.15);
}
.nq-landing-body-v2712 .nq-business-card-top,
.nq-landing-body-v2712 .nq-business-card-body,
.nq-landing-body-v2712 .nq-business-card-foot{position:relative;z-index:1}
.nq-landing-body-v2712 .nq-business-card-top{
 display:flex;
 align-items:flex-start;
 justify-content:space-between;
 gap:12px;
}
.nq-landing-body-v2712 .nq-business-number{
 width:54px;height:54px;
 border-radius:18px;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 background:rgba(255,255,255,.92);
 color:#123f67;
 font-size:1.15rem;
 font-weight:900;
 box-shadow:0 10px 24px rgba(8,24,41,.14);
}
.nq-landing-body-v2712 .nq-business-chip{
 display:inline-flex;
 align-items:center;
 padding:8px 12px;
 min-height:34px;
 border-radius:999px;
 background:rgba(255,255,255,.14);
 border:1px solid rgba(255,255,255,.12);
 backdrop-filter:blur(6px);
 color:#eef5ff;
 font-size:.77rem;
 font-weight:800;
}
.nq-landing-body-v2712 .nq-business-card-body{
 margin-top:auto;
 display:flex;
 flex-direction:column;
 gap:10px;
}
.nq-landing-body-v2712 .nq-business-card-body h3{
 margin:0;
 color:#fff;
 font-size:1.78rem;
 line-height:1.08;
 text-shadow:0 6px 16px rgba(0,0,0,.24);
}
.nq-landing-body-v2712 .nq-business-card-body p{
 margin:0;
 color:rgba(244,248,255,.92);
 font-size:1rem;
 line-height:1.66;
 text-align:left;
 text-wrap:pretty;
}
.nq-landing-body-v2712 .nq-business-card-foot{
 margin-top:18px;
 padding-top:14px;
 border-top:1px solid rgba(255,255,255,.14);
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:10px;
 color:#d8e6ff;
 font-size:.88rem;
}
.nq-landing-body-v2712 .nq-business-card-foot span{
 display:inline-flex;
 align-items:center;
 gap:8px;
 font-weight:700;
}
.nq-landing-body-v2712 .nq-business-card-foot strong{
 color:#fff;
 font-size:.88rem;
 font-weight:900;
 letter-spacing:.03em;
}
@media(max-width:1240px){
 .nq-landing-body-v2712 .nq-business-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .nq-landing-body-v2712 .nq-business-grid{grid-template-columns:1fr}
 .nq-landing-body-v2712 .nq-business-card{min-height:300px;padding:18px}
 .nq-landing-body-v2712 .nq-business-card-body h3{font-size:1.52rem}
}

/* =========================================================
   NovaQuote 2.7.14 · SOBRE EL PROYECTO PREMIUM
   Replanteamiento editorial + visual + flujo comercial
   ========================================================= */
.nq-landing-body-v2712 .nq-about-v2{
 display:block;
}
.nq-landing-body-v2712 .nq-about-v2-grid{
 display:grid;
 grid-template-columns:minmax(0,1.03fr) minmax(390px,.78fr);
 gap:22px;
 align-items:stretch;
}
.nq-landing-body-v2712 .nq-about-v2-copy{
 background:linear-gradient(145deg,#ffffff 0%,#f7fbff 100%);
 border:1px solid #d9e6ef;
 border-radius:30px;
 padding:30px;
 box-shadow:0 20px 42px rgba(10,29,49,.06);
}
.nq-landing-body-v2712 .nq-about-v2-copy .nq-section-head{
 margin:0;
 max-width:none;
}
.nq-landing-body-v2712 .nq-about-v2-copy .nq-section-head h2{
 max-width:840px;
 font-size:2.55rem;
 line-height:1.05;
 margin-top:14px;
}
.nq-landing-body-v2712 .nq-about-v2-copy .nq-section-head p{
 font-size:1rem;
 line-height:1.75;
 color:#5d7488;
}
.nq-landing-body-v2712 .nq-about-v2-highlights{
 margin-top:22px;
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:12px;
}
.nq-landing-body-v2712 .nq-about-v2-highlights>div{
 min-height:118px;
 padding:16px;
 border-radius:20px;
 background:#f2f7fb;
 border:1px solid #dce8f1;
 display:flex;
 align-items:flex-start;
 gap:12px;
}
.nq-landing-body-v2712 .nq-about-v2-highlights i{
 width:42px;height:42px;flex:0 0 42px;
 display:grid;place-items:center;
 border-radius:14px;
 background:linear-gradient(135deg,#dfeeff,#edf5ff);
 color:#1768b2;
 font-size:1rem;
}
.nq-landing-body-v2712 .nq-about-v2-highlights span{display:block}
.nq-landing-body-v2712 .nq-about-v2-highlights strong{
 display:block;
 color:#102c44;
 font-size:.94rem;
 line-height:1.3;
}
.nq-landing-body-v2712 .nq-about-v2-highlights small{
 display:block;
 margin-top:5px;
 color:#667b8d;
 font-size:.82rem;
 line-height:1.45;
}

.nq-landing-body-v2712 .nq-about-v2-visual{
 min-height:430px;
 position:relative;
 overflow:hidden;
 border-radius:30px;
 background-size:cover;
 background-position:center;
 box-shadow:0 22px 48px rgba(5,16,28,.14);
 border:1px solid rgba(255,255,255,.12);
 padding:24px;
 display:flex;
 flex-direction:column;
 justify-content:flex-end;
 isolation:isolate;
}
.nq-landing-body-v2712 .nq-about-v2-visual::before{
 content:"";
 position:absolute;
 inset:0;
 background:
  radial-gradient(circle at 15% 12%,rgba(58,136,220,.20),transparent 24%),
  linear-gradient(180deg,rgba(255,255,255,.02),rgba(4,15,28,.08));
 z-index:-1;
}
.nq-landing-body-v2712 .nq-about-v2-badge{
 position:absolute;
 top:20px;left:20px;
 display:inline-flex;
 align-items:center;
 gap:8px;
 padding:9px 13px;
 border-radius:999px;
 background:rgba(255,255,255,.14);
 border:1px solid rgba(255,255,255,.14);
 backdrop-filter:blur(8px);
 color:#fff;
 font-size:.78rem;
 font-weight:850;
}
.nq-landing-body-v2712 .nq-about-v2-visual-copy{
 position:relative;
 z-index:2;
 max-width:82%;
}
.nq-landing-body-v2712 .nq-about-v2-visual-copy>span{
 color:#9fc3e4;
 font-size:.76rem;
 font-weight:900;
 letter-spacing:.08em;
}
.nq-landing-body-v2712 .nq-about-v2-visual-copy h3{
 margin:8px 0 8px;
 color:#fff;
 font-size:2rem;
 line-height:1.08;
 letter-spacing:-.025em;
}
.nq-landing-body-v2712 .nq-about-v2-visual-copy p{
 margin:0;
 color:#d7e5f0;
 font-size:.95rem;
 line-height:1.65;
 text-align:left;
}
.nq-landing-body-v2712 .nq-about-v2-floating{
 position:absolute;
 display:flex;
 align-items:center;
 gap:10px;
 min-width:190px;
 padding:12px 14px;
 border-radius:17px;
 background:rgba(255,255,255,.92);
 box-shadow:0 14px 30px rgba(4,15,28,.14);
 border:1px solid rgba(224,234,242,.86);
 backdrop-filter:blur(8px);
}
.nq-landing-body-v2712 .nq-about-v2-floating i{
 width:36px;height:36px;flex:0 0 36px;
 display:grid;place-items:center;
 border-radius:12px;
 background:#e9f3ff;
 color:#1768b2;
}
.nq-landing-body-v2712 .nq-about-v2-floating span{display:block}
.nq-landing-body-v2712 .nq-about-v2-floating strong{
 display:block;
 color:#102c44;
 font-size:.84rem;
 line-height:1.2;
}
.nq-landing-body-v2712 .nq-about-v2-floating small{
 display:block;
 color:#6f8394;
 font-size:.72rem;
 margin-top:3px;
}
.nq-landing-body-v2712 .nq-about-v2-floating-one{top:80px;right:18px}
.nq-landing-body-v2712 .nq-about-v2-floating-two{top:158px;right:34px}

.nq-landing-body-v2712 .nq-about-v2-flow{
 margin-top:18px;
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:14px;
}
.nq-landing-body-v2712 .nq-about-v2-flow article{
 position:relative;
 overflow:hidden;
 min-height:188px;
 padding:18px;
 border-radius:24px;
 background:linear-gradient(145deg,#0c2238 0%,#123b5d 100%);
 border:1px solid rgba(255,255,255,.08);
 box-shadow:0 16px 32px rgba(5,16,28,.08);
 color:#fff;
}
.nq-landing-body-v2712 .nq-about-v2-flow article::after{
 content:"";
 position:absolute;
 width:120px;height:120px;
 border-radius:50%;
 right:-36px;bottom:-48px;
 background:rgba(255,255,255,.05);
}
.nq-landing-body-v2712 .nq-about-v2-step-icon{
 width:46px;height:46px;
 display:grid;place-items:center;
 border-radius:15px;
 background:rgba(255,255,255,.10);
 color:#8ad5ff;
 font-size:1.05rem;
}
.nq-landing-body-v2712 .nq-about-v2-step-number{
 position:absolute;
 right:16px;top:16px;
 color:rgba(255,255,255,.36);
 font-size:1.25rem;
 font-weight:900;
}
.nq-landing-body-v2712 .nq-about-v2-flow h4{
 margin:18px 0 7px;
 color:#fff;
 font-size:1.12rem;
 line-height:1.2;
}
.nq-landing-body-v2712 .nq-about-v2-flow p{
 margin:0;
 color:#cbdceb;
 font-size:.88rem;
 line-height:1.55;
 text-align:left;
}

@media(max-width:1180px){
 .nq-landing-body-v2712 .nq-about-v2-grid{grid-template-columns:1fr}
 .nq-landing-body-v2712 .nq-about-v2-visual{min-height:390px}
 .nq-landing-body-v2712 .nq-about-v2-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
 .nq-landing-body-v2712 .nq-about-v2-copy{padding:22px}
 .nq-landing-body-v2712 .nq-about-v2-copy .nq-section-head h2{font-size:2rem}
 .nq-landing-body-v2712 .nq-about-v2-highlights{grid-template-columns:1fr}
 .nq-landing-body-v2712 .nq-about-v2-visual-copy{max-width:100%}
 .nq-landing-body-v2712 .nq-about-v2-floating{display:none}
}
@media(max-width:620px){
 .nq-landing-body-v2712 .nq-about-v2-flow{grid-template-columns:1fr}
 .nq-landing-body-v2712 .nq-about-v2-visual{min-height:330px;padding:18px}
 .nq-landing-body-v2712 .nq-about-v2-visual-copy h3{font-size:1.55rem}
}

/* =========================================================
   NovaQuote 2.7.15 · IMÁGENES ADMINISTRABLES EN FLUJO ABOUT
   Organiza · Cotiza · Presenta · Convierte
   ========================================================= */
.nq-landing-body-v2712 .nq-about-v2-flow article.nq-about-v2-step-media{
 min-height:240px;
 padding:18px;
 background-size:cover;
 background-position:center;
 display:flex;
 flex-direction:column;
 justify-content:space-between;
 isolation:isolate;
 box-shadow:0 18px 38px rgba(5,16,28,.12);
 transition:transform .18s ease,box-shadow .18s ease;
}
.nq-landing-body-v2712 .nq-about-v2-flow article.nq-about-v2-step-media:hover{
 transform:translateY(-4px);
 box-shadow:0 26px 48px rgba(5,16,28,.18);
}
.nq-landing-body-v2712 .nq-about-v2-flow article.nq-about-v2-step-media::before{
 content:"";
 position:absolute;
 inset:0;
 background:
  radial-gradient(circle at 18% 12%,rgba(72,160,255,.18),transparent 24%),
  linear-gradient(180deg,rgba(255,255,255,.02),rgba(4,15,28,.06));
 z-index:-1;
 pointer-events:none;
}
.nq-landing-body-v2712 .nq-about-v2-flow article.nq-about-v2-step-media::after{
 display:none;
}
.nq-landing-body-v2712 .nq-about-v2-step-head{
 display:flex;
 align-items:flex-start;
 justify-content:space-between;
 gap:12px;
 position:relative;
 z-index:2;
}
.nq-landing-body-v2712 .nq-about-v2-step-media .nq-about-v2-step-icon{
 background:rgba(255,255,255,.14);
 border:1px solid rgba(255,255,255,.12);
 backdrop-filter:blur(8px);
 color:#9ee0ff;
 box-shadow:0 10px 22px rgba(0,0,0,.12);
}
.nq-landing-body-v2712 .nq-about-v2-step-media .nq-about-v2-step-number{
 position:static;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-width:48px;
 height:38px;
 padding:0 12px;
 border-radius:999px;
 background:rgba(255,255,255,.90);
 color:#123f67;
 font-size:.88rem;
 font-weight:900;
 box-shadow:0 10px 22px rgba(0,0,0,.10);
}
.nq-landing-body-v2712 .nq-about-v2-step-copy{
 position:relative;
 z-index:2;
 padding:14px 14px 12px;
 border-radius:18px;
 background:linear-gradient(180deg,rgba(4,15,28,.20),rgba(4,15,28,.58));
 border:1px solid rgba(255,255,255,.10);
 backdrop-filter:blur(4px);
}
.nq-landing-body-v2712 .nq-about-v2-step-copy h4{
 margin:0 0 7px;
 font-size:1.18rem;
}
.nq-landing-body-v2712 .nq-about-v2-step-copy p{
 color:#e0ebf4;
 font-size:.90rem;
 line-height:1.55;
}
@media(max-width:620px){
 .nq-landing-body-v2712 .nq-about-v2-flow article.nq-about-v2-step-media{min-height:270px}
}

/* =========================================================
   NovaQuote 2.8.0 · CONSOLIDACIÓN 01 / SALUD DEL SISTEMA
   ========================================================= */
.nq-health-title{align-items:center;gap:24px}
.nq-health-title p{margin:6px 0 0;color:#6b7f92;max-width:780px}
.nq-health-score{min-width:210px;border-radius:22px;padding:18px 20px;background:#fff;border:1px solid #d8e5ef;box-shadow:0 14px 30px rgba(10,31,50,.06);display:flex;flex-direction:column;align-items:flex-end}
.nq-health-score span{font-size:.72rem;font-weight:900;letter-spacing:.08em;color:#74899b}.nq-health-score strong{font-size:2rem;line-height:1.05;margin:6px 0}.nq-health-score small{color:#7b8fa1}.nq-health-score.is-good strong{color:#0f8f61}.nq-health-score.is-warn strong{color:#ba7a00}.nq-health-score.is-bad strong{color:#c33a3a}
.nq-health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}
.nq-health-card{position:relative;background:#fff;border:1px solid #d8e5ef;border-radius:22px;padding:18px;display:grid;grid-template-columns:52px 1fr;gap:14px;min-height:148px;box-shadow:0 14px 30px rgba(10,31,50,.05)}
.nq-health-card.is-bad{border-color:#f0c9c9;background:linear-gradient(180deg,#fff,#fff8f8)}
.nq-health-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#eef8f4;color:#0f8f61;font-size:1.35rem}.nq-health-card.is-bad .nq-health-icon{background:#fff0f0;color:#c33a3a}
.nq-health-copy small{font-size:.70rem;font-weight:900;letter-spacing:.08em;color:#8093a4}.nq-health-copy h3{font-size:1.08rem;margin:5px 0;color:#102c45}.nq-health-copy p{margin:0;color:#6a7f92;font-size:.9rem;line-height:1.5}.nq-health-state{position:absolute;right:14px;top:14px;font-size:.72rem;font-weight:900;padding:6px 9px;border-radius:999px;background:#e9f7f1;color:#0f8f61}.nq-health-card.is-bad .nq-health-state{background:#fff0f0;color:#c33a3a}
.nq-health-panels{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:18px}.nq-health-panel{overflow:hidden}.nq-health-panel .panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px;border-bottom:1px solid #e5edf3}.nq-health-panel .panel-head h3{margin:0;color:#102c45}.nq-health-panel .panel-head p{margin:6px 0 0;color:#71869a}.nq-health-panel .badge{border-radius:999px;padding:7px 10px;font-size:.74rem;font-weight:900}.nq-health-panel .badge.success{background:#e7f7ef;color:#0d895b}.nq-health-panel .badge.warning{background:#fff4db;color:#a86b00}.nq-health-panel .badge.danger{background:#ffe8e8;color:#b63030}
.nq-health-check-list{padding:10px 20px 18px}.nq-health-check-list>div{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #edf2f6}.nq-health-check-list>div:last-child{border-bottom:0}.nq-health-check-list i.bi-check-circle-fill{color:#0f8f61}.nq-health-check-list i.bi-x-circle-fill{color:#c33a3a}.nq-health-check-list span{font-weight:750;color:#233f56}.nq-health-check-list strong{font-size:.78rem;color:#73879a}
.nq-health-empty{padding:34px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:7px}.nq-health-empty i{font-size:2rem;color:#0f8f61}.nq-health-empty strong{font-size:1.05rem;color:#15344f}.nq-health-empty span{color:#75899b}.nq-health-obsolete{padding:16px 20px;display:flex;flex-wrap:wrap;gap:8px}.nq-health-obsolete code{background:#f3f6f9;color:#354f66;border-radius:9px;padding:6px 8px;font-size:.78rem}.nq-health-obsolete span{color:#74889a;font-size:.82rem;align-self:center}
.nq-health-release{margin-top:18px;padding:22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.nq-health-release small{font-size:.72rem;font-weight:900;letter-spacing:.08em;color:#7c91a4}.nq-health-release h3{margin:6px 0 5px;color:#102c45}.nq-health-release p{margin:0;color:#6f8396}.nq-health-release-actions{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:1100px){.nq-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nq-health-panels{grid-template-columns:1fr}}
@media(max-width:720px){.nq-health-title{align-items:flex-start}.nq-health-score{width:100%;align-items:flex-start}.nq-health-grid{grid-template-columns:1fr}.nq-health-card{grid-template-columns:46px 1fr}.nq-health-icon{width:46px;height:46px}.nq-health-release{align-items:flex-start;flex-direction:column}.nq-health-release-actions{width:100%}.nq-health-release-actions .btn{flex:1}}

/* =========================================================
   NovaQuote 2.8.1 · BRANDING GLOBAL DEL SUPERADMINISTRADOR
   Centro único para logos de sidebar, login, index, footer y favicon.
   ========================================================= */
.nq-brand-admin-head{
 display:flex;
 align-items:flex-end;
 justify-content:space-between;
 gap:22px;
 margin:0 0 22px;
 padding:24px 26px;
 border:1px solid #d7e5ef;
 border-radius:26px;
 background:
  radial-gradient(circle at 92% 4%,rgba(41,116,255,.10),transparent 28%),
  linear-gradient(135deg,#ffffff,#f7fbff);
 box-shadow:0 18px 38px rgba(11,35,57,.06);
}
.nq-brand-admin-kicker{
 display:inline-flex;
 align-items:center;
 gap:8px;
 color:#1766d5;
 font-size:.78rem;
 font-weight:900;
 letter-spacing:.08em;
 text-transform:uppercase;
}
.nq-brand-admin-head h2{
 margin:8px 0 7px;
 color:#0d2943;
 font-size:1.9rem;
 line-height:1.08;
}
.nq-brand-admin-head p{
 margin:0;
 max-width:760px;
 color:#667d90;
 font-size:.96rem;
 line-height:1.6;
}
.nq-brand-admin-actions{
 display:flex;
 flex-wrap:wrap;
 justify-content:flex-end;
 gap:9px;
}
.nq-brand-admin-actions .btn{min-height:43px;border-radius:14px}
.nq-brand-admin-form{display:grid;gap:20px}
.nq-brand-admin-section{
 padding:22px;
 border:1px solid #d9e6ef;
 border-radius:26px;
 background:#fff;
 box-shadow:0 16px 34px rgba(11,35,57,.045);
}
.nq-brand-admin-section.compact{padding-bottom:24px}
.nq-brand-admin-section-head{
 display:flex;
 align-items:flex-start;
 gap:14px;
 margin-bottom:18px;
}
.nq-brand-step{
 flex:0 0 auto;
 width:42px;height:42px;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 border-radius:14px;
 background:linear-gradient(135deg,#e6f1ff,#dbeaff);
 color:#1e5ce1;
 font-size:.86rem;
 font-weight:950;
}
.nq-brand-admin-section-head h3{
 margin:1px 0 4px;
 color:#102c45;
 font-size:1.22rem;
}
.nq-brand-admin-section-head p{
 margin:0;
 color:#718596;
 font-size:.9rem;
 line-height:1.5;
}
.nq-brand-surface-grid{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:16px;
}
.nq-brand-surface-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.nq-brand-surface-card{
 display:flex;
 flex-direction:column;
 min-width:0;
 padding:14px;
 border:1px solid #dbe7ef;
 border-radius:22px;
 background:linear-gradient(180deg,#fff,#fbfdff);
 transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.nq-brand-surface-card:hover{
 transform:translateY(-2px);
 border-color:#bed6e8;
 box-shadow:0 16px 28px rgba(11,35,57,.07);
}
.nq-brand-surface-card.featured{padding:16px}
.nq-brand-preview{
 height:132px;
 display:flex;
 align-items:center;
 justify-content:center;
 padding:18px;
 border-radius:17px;
 overflow:hidden;
 position:relative;
}
.nq-brand-preview.dark,
.nq-brand-preview.dark-square{
 background:
  radial-gradient(circle at 80% 10%,rgba(57,126,194,.22),transparent 28%),
  #082033;
}
.nq-brand-preview.light,
.nq-brand-preview.light-square{
 background:
  linear-gradient(45deg,#f5f8fb 25%,transparent 25%),
  linear-gradient(-45deg,#f5f8fb 25%,transparent 25%),
  linear-gradient(45deg,transparent 75%,#f5f8fb 75%),
  linear-gradient(-45deg,transparent 75%,#f5f8fb 75%),#fff;
 background-size:18px 18px;
 background-position:0 0,0 9px,9px -9px,-9px 0;
 border:1px solid #edf1f5;
}
.nq-brand-preview.login{height:170px}
.nq-brand-preview img{
 display:block;
 max-width:92%;
 max-height:82px;
 width:auto;
 height:auto;
 object-fit:contain;
 filter:none!important;
}
.nq-brand-preview.dark-square img,
.nq-brand-preview.light-square img{max-width:82px;max-height:82px}
.nq-brand-preview.login img{max-height:105px}
.nq-brand-surface-copy{padding:14px 3px 12px;min-height:128px}
.nq-brand-surface-copy strong{
 display:block;
 color:#102b44;
 font-size:1rem;
 line-height:1.3;
}
.nq-brand-surface-copy p{
 margin:7px 0 10px;
 color:#6e8394;
 font-size:.85rem;
 line-height:1.5;
}
.nq-brand-surface-copy span{
 display:inline-flex;
 align-items:center;
 gap:6px;
 color:#34719a;
 font-size:.76rem;
 font-weight:800;
}
.nq-brand-surface-card .field{margin-top:auto;margin-bottom:8px}
.nq-brand-surface-card .field input[type=file]{font-size:.82rem}
.nq-brand-reset{
 display:flex;
 align-items:center;
 gap:8px;
 min-height:34px;
 color:#7c8f9d;
 font-size:.76rem;
 cursor:pointer;
}
.nq-brand-reset input{width:16px;height:16px}
.nq-brand-data-grid{margin-top:4px}
.nq-brand-sticky-save{
 position:sticky;
 bottom:14px;
 z-index:18;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:18px;
 padding:14px 16px 14px 18px;
 border:1px solid rgba(166,194,218,.8);
 border-radius:19px;
 background:rgba(255,255,255,.94);
 backdrop-filter:blur(14px);
 box-shadow:0 18px 42px rgba(9,31,53,.15);
}
.nq-brand-sticky-save>div{display:flex;flex-direction:column;gap:2px}
.nq-brand-sticky-save strong{color:#14354f;font-size:.88rem}
.nq-brand-sticky-save span{color:#7d909f;font-size:.75rem}
.nq-brand-sticky-save .btn{min-height:44px;border-radius:14px;padding-inline:19px}

/* Footer interno con logo administrable */
.app-footer-brand img{
 display:block;
 width:auto;
 height:24px;
 max-width:132px;
 object-fit:contain;
 filter:none!important;
}

@media(max-width:1320px){
 .nq-brand-surface-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:920px){
 .nq-brand-admin-head{align-items:flex-start;flex-direction:column}
 .nq-brand-admin-actions{justify-content:flex-start}
 .nq-brand-surface-grid,
 .nq-brand-surface-grid.two{grid-template-columns:1fr}
 .nq-brand-surface-copy{min-height:auto}
}
@media(max-width:620px){
 .nq-brand-admin-head,.nq-brand-admin-section{padding:17px;border-radius:21px}
 .nq-brand-admin-head h2{font-size:1.55rem}
 .nq-brand-admin-actions{display:grid;grid-template-columns:1fr;width:100%}
 .nq-brand-admin-actions .btn{width:100%;justify-content:center}
 .nq-brand-sticky-save{bottom:8px;align-items:stretch;flex-direction:column}
 .nq-brand-sticky-save .btn{width:100%;justify-content:center}
}

/* =========================================================
   NovaQuote 2.8.2 · ACCESOS Y ADMINISTRACIONES SEPARADAS
   ========================================================= */
.nq-superadmin-login-visual{background-position:center;background-size:cover}
.nq-superadmin-login-card{border:1px solid #d8e5ef;box-shadow:0 26px 70px rgba(8,26,44,.12)}
.nq-superadmin-card-brand{display:flex;flex-direction:column;align-items:center;gap:14px;padding-bottom:22px;border-bottom:1px solid #e5edf4}
.nq-superadmin-card-brand>img{max-width:230px;max-height:78px;object-fit:contain;filter:none}
.nq-superadmin-login-label{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#edf4ff;color:#1d58bb;font-size:.78rem;font-weight:850}

.access-security-title{margin-bottom:18px}
.access-architecture-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:20px}
.access-architecture-card{display:flex;gap:18px;align-items:flex-start;padding:22px;border-radius:24px;border:1px solid #d6e4ee;background:#fff;box-shadow:0 16px 36px rgba(11,34,55,.06)}
.access-architecture-card.global{background:linear-gradient(135deg,#0b263e,#153f62);border-color:#214c6d;color:#fff}
.access-architecture-card.tenant{background:linear-gradient(135deg,#f9fcff,#edf6ff)}
.access-architecture-icon{flex:0 0 54px;width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:rgba(255,255,255,.12);font-size:1.25rem;color:#63c8ff}
.access-architecture-card.tenant .access-architecture-icon{background:#e3f2ff;color:#1978b9}
.access-architecture-card small{display:block;font-size:.72rem;letter-spacing:.09em;font-weight:900;opacity:.72;margin-bottom:7px}
.access-architecture-card h3{margin:0 0 8px;font-size:1.28rem;line-height:1.25}
.access-architecture-card p{margin:0;color:inherit;opacity:.78;line-height:1.6}
.access-url{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-size:.86rem;font-weight:800;opacity:.86}

.access-status-panel{margin-top:0}
.access-status-panel .panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px}
.access-status-panel .panel-head h3{margin:0 0 3px}
.access-status-panel .panel-head small{color:#6c8092}
.access-healthy{padding:34px 20px}
.access-conflict-list{display:grid;gap:16px;padding:18px}
.access-conflict-card{border:1px solid #efd7aa;background:linear-gradient(180deg,#fffdf8,#fffaf0);border-radius:22px;padding:20px}
.access-conflict-head{display:flex;align-items:flex-start;gap:15px}
.access-conflict-icon{width:48px;height:48px;flex:0 0 48px;border-radius:16px;display:grid;place-items:center;background:#fff1d2;color:#b87500;font-size:1.2rem}
.access-conflict-head small{display:block;color:#a76d07;letter-spacing:.07em;font-weight:900;font-size:.72rem;margin-bottom:4px}
.access-conflict-head h3{margin:0 0 5px;font-size:1.18rem}
.access-conflict-head p{margin:0;color:#637689;line-height:1.55}
.access-warning-note{display:flex;gap:10px;align-items:flex-start;margin:16px 0;padding:13px 14px;border-radius:15px;background:#eef6ff;color:#315876;font-size:.92rem;line-height:1.5}
.access-existing-admins{display:grid;gap:7px;margin:16px 0;padding:14px;border-radius:16px;background:#eefaf4;border:1px solid #cee9da}
.access-existing-admins>strong{color:#17653c}
.access-existing-admins span{font-size:.9rem;color:#4d6c5d}
.access-separate-form{margin-top:16px}
.access-separate-form .form-grid.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.access-form-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid #eadfc8;color:#66798a;font-size:.9rem}

@media(max-width:980px){
 .access-architecture-grid{grid-template-columns:1fr}
 .access-separate-form .form-grid.three{grid-template-columns:1fr}
 .access-form-footer{align-items:flex-start;flex-direction:column}
}
@media(max-width:640px){
 .access-architecture-card{padding:18px}
 .access-conflict-head{flex-direction:column}
 .access-status-panel .panel-head{align-items:flex-start;flex-direction:column}
}

/* =========================================================
   NovaQuote 2.8.3 · CORRECCIÓN LOGIN SUPERADMINISTRADOR
   - limita correctamente el logo oscuro
   - recupera la jerarquía visual del panel izquierdo
   - evita logos gigantes/cortados por dimensiones del archivo subido
   ========================================================= */
.nq-superadmin-login-visual{
  padding:42px 48px;
  background-position:center;
  background-size:cover;
}
.nq-superadmin-visual-top{
  width:100%;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.nq-superadmin-platform-brand{
  flex:0 1 270px;
  min-width:0;
  height:62px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  overflow:visible;
}
.nq-superadmin-platform-brand img{
  display:block;
  width:auto!important;
  height:auto!important;
  max-width:260px!important;
  max-height:58px!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:none!important;
}
.nq-superadmin-visual-top>span{
  flex:0 0 auto;
  white-space:nowrap;
}
.nq-superadmin-visual-copy{
  max-width:720px;
  margin:auto 0;
}
.nq-superadmin-visual-copy .login-v273-eyebrow{
  margin-bottom:16px;
}
.nq-superadmin-visual-copy h1{
  max-width:700px;
  margin:0 0 16px;
  font-size:3.05rem;
  line-height:1.04;
}
.nq-superadmin-visual-copy p{
  max-width:690px;
}
.nq-superadmin-login-visual .login-v273-benefits{
  margin-top:20px;
}
.nq-superadmin-card-brand>img{
  display:block;
  width:auto!important;
  height:auto!important;
  max-width:230px!important;
  max-height:72px!important;
  object-fit:contain!important;
  filter:none!important;
}
@media(max-width:1180px){
  .nq-superadmin-platform-brand{max-width:230px}
  .nq-superadmin-platform-brand img{max-width:220px!important;max-height:52px!important}
  .nq-superadmin-visual-copy h1{font-size:2.65rem}
}
@media(max-width:980px){
  .nq-superadmin-login-visual{padding:30px 26px}
  .nq-superadmin-visual-copy{margin:28px 0 18px}
}
@media(max-width:760px){
  .nq-superadmin-platform-brand{height:52px;max-width:200px}
  .nq-superadmin-platform-brand img{max-width:190px!important;max-height:46px!important}
  .nq-superadmin-visual-top>span{font-size:.66rem}
}
