:root{
  --navy:#12385b;--navy-deep:#0b2945;--blue:#216a9d;--sky:#eaf4fa;
  --gold:#d7a94b;--ink:#183247;--muted:#657a8d;--line:#dce6ed;
  --bg:#f3f7fa;--surface:#fff;--shadow:0 12px 35px rgba(12,44,70,.09)
}
body{background:linear-gradient(180deg,#edf4f8 0,#f7f9fb 220px);letter-spacing:.005em}
.top{height:72px;padding:0 24px;background:linear-gradient(100deg,var(--navy-deep),var(--navy));box-shadow:0 5px 24px rgba(5,27,47,.18);position:sticky;top:0;z-index:50}
.crest,.login-brand-mark,.role-loading-mark{border-radius:14px!important;background:linear-gradient(145deg,#fff,#dceaf3)!important;color:var(--navy)!important;border:0!important;box-shadow:inset 0 0 0 1px #fff,0 6px 18px #071d3030;font-family:Georgia,serif}
.brand b{font-size:18px;letter-spacing:.01em}.brand small{opacity:.72}
.control-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:1px solid #ffffff48;border-radius:10px;color:#fff;text-decoration:none;font-weight:750;white-space:nowrap;background:#ffffff0d}
.control-link:hover{background:#ffffff1c}.layout{grid-template-columns:268px minmax(0,1fr);min-height:calc(100vh - 72px)}
aside{padding:16px 12px 22px;border-right:1px solid #d9e4eb;box-shadow:4px 0 18px rgba(20,55,82,.035);position:sticky;top:72px;height:calc(100vh - 72px);overflow:auto}
.sidebar-heading{height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 8px 8px}.school-year{padding:0;font-size:10px;font-weight:800;letter-spacing:.13em}.sidebar-collapse{border:0;background:#edf3f7;color:var(--navy);border-radius:8px;width:28px;height:28px;font-size:20px;cursor:pointer}
.nav{display:grid;gap:3px}.nav button{min-height:43px;margin:0;padding:10px 12px;border-radius:10px;font-size:13px;font-weight:650;transition:.18s ease}.nav button:hover{background:#f0f5f8;color:var(--navy);transform:translateX(2px)}.nav button.active{background:linear-gradient(90deg,#e3f0f7,#eef6fa);box-shadow:inset 3px 0 var(--blue);color:var(--navy)}.nav i{font-size:17px;color:var(--blue)}
.privacy{display:grid;gap:5px;margin:22px 2px 0;background:#edf6f5;border-color:#d4e9e5;color:#496d6b}.privacy b{color:#245b58}.privacy span{display:block}
.main{padding:30px 34px 92px}.toolbar h1,.heading h1{font-size:28px;letter-spacing:-.02em}.panel,.admin-card,.stat,.student,.teacher-welcome,.chart-card{border-color:#e0e8ee;box-shadow:var(--shadow)}.panel,.admin-card,.student,.teacher-welcome{border-radius:16px}.stat{border-radius:14px}.primary{background:linear-gradient(135deg,var(--navy),#1f628f);border-radius:10px;box-shadow:0 5px 14px rgba(18,56,91,.18)}.primary:hover{filter:brightness(1.06);transform:translateY(-1px)}.secondary,.iconbtn{border-radius:9px}.data-table th{background:#f2f6f9;color:#526b7d;letter-spacing:.04em}
.version-chip{position:fixed;right:9px;bottom:7px;z-index:5;font:700 10px Arial;color:#6f7f90;background:#fff;border:1px solid var(--line);border-radius:12px;padding:4px 8px}.mobile-bottom-nav{display:none}

/* Acceso nacional */
.login-layer{padding:0;background:#eef4f7;grid-template-columns:minmax(420px,1.08fr) minmax(420px,.92fr);overflow:auto}
.login-showcase{min-height:100vh;padding:52px clamp(38px,6vw,92px);display:flex;flex-direction:column;color:#fff;background:radial-gradient(circle at 84% 14%,#3c789f 0,transparent 29%),radial-gradient(circle at 12% 84%,#285c79 0,transparent 32%),linear-gradient(145deg,#092641 0,#123d60 58%,#174f70 100%);position:relative;overflow:hidden}
.login-showcase:after{content:"";position:absolute;width:460px;height:460px;border:1px solid #ffffff13;border-radius:50%;right:-190px;bottom:-170px;box-shadow:0 0 0 70px #ffffff08,0 0 0 140px #ffffff05}.login-brand{display:flex;align-items:center;gap:13px;position:relative;z-index:1}.login-brand-mark{width:50px;height:50px;display:grid;place-items:center;font-weight:900;font-size:18px}.login-brand b,.login-brand small{display:block}.login-brand b{font-size:18px}.login-brand small{margin-top:3px;color:#c7d9e5;font-size:11px}.login-message{margin:auto 0;max-width:690px;position:relative;z-index:1}.eyebrow{font-size:10px;font-weight:900;letter-spacing:.17em;color:#dcb85f}.login-message h1{font-size:clamp(38px,4.7vw,64px);line-height:1.04;letter-spacing:-.045em;margin:17px 0 21px}.login-message p{font-size:17px;line-height:1.7;color:#d8e6ef;max-width:600px}.login-benefits{display:flex;flex-wrap:wrap;gap:10px;position:relative;z-index:1}.login-benefits span{padding:9px 12px;border:1px solid #ffffff25;border-radius:20px;background:#ffffff0d;font-size:12px;color:#e5eff5}.login-trust{margin-top:25px;font-size:11px;color:#b8cedc;position:relative;z-index:1}.login-access{min-height:100vh;display:grid;place-items:center;padding:40px}.login-card{width:min(470px,100%);padding:42px;border:1px solid #e0e8ed;border-radius:22px;box-shadow:0 24px 70px rgba(24,58,82,.13)}.login-card .login-mark{display:none}.login-card h2{color:var(--navy);font-size:29px;letter-spacing:-.025em;margin:12px 0 7px}.login-card>p{margin:0 0 27px;color:var(--muted);line-height:1.5}.login-card label{margin:15px 0 7px}.login-input-wrap{height:48px;display:flex;align-items:center;border:1px solid #cfdae2;border-radius:10px;background:#fbfcfd;transition:.18s}.login-input-wrap:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #2b77aa18;background:#fff}.login-input-wrap>span{width:42px;text-align:center;color:#7d91a0}.login-input-wrap input{height:100%;flex:1;width:auto;border:0!important;background:transparent!important;padding:0 8px 0 0!important;outline:0}.password-toggle{width:auto!important;margin:0 8px 0 0!important;border:0;background:none;color:var(--blue);font-size:11px;font-weight:800;cursor:pointer}.login-submit{width:100%;min-height:48px;margin-top:22px}.demo-link{display:block;text-align:center;margin-top:15px;color:var(--blue);font-size:13px;font-weight:750;text-decoration:none}.demo-link:hover{text-decoration:underline}.login-foot{border-top:1px solid #e7edf1;padding-top:17px;line-height:1.5}

body.sidebar-compact .layout{grid-template-columns:82px minmax(0,1fr)}body.sidebar-compact aside{padding-inline:9px}body.sidebar-compact .nav button{justify-content:center}body.sidebar-compact .nav span,body.sidebar-compact .school-year,body.sidebar-compact .privacy{display:none}body.sidebar-compact .sidebar-heading{justify-content:center}body.sidebar-compact .sidebar-collapse{transform:rotate(180deg)}

@media(max-width:1000px){.layout{grid-template-columns:82px minmax(0,1fr)}aside{padding-inline:9px}.sidebar-heading{justify-content:center}.sidebar-collapse{display:none}.nav span,.school-year,.privacy{display:none}.nav button{justify-content:center}.login-layer{grid-template-columns:1fr 1fr}.login-showcase{padding:40px}.login-message h1{font-size:42px}}
@media(max-width:760px){body{background:#f4f7f9}.top{height:64px;padding:0 12px}.layout{display:block;min-height:calc(100vh - 64px)}aside{top:64px;height:calc(100vh - 64px)}.brand b{font-size:15px}.brand small,.pill,.control-link span{display:none}.control-link{padding:0 10px}.main{padding:20px 13px 96px}.toolbar h1,.heading h1{font-size:24px}.version-chip{display:none}.mobile-bottom-nav{position:fixed;z-index:65;left:0;right:0;bottom:0;height:70px;padding:7px max(7px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left));display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border-top:1px solid #dce6ed;box-shadow:0 -8px 24px rgba(16,48,73,.1)}.mobile-bottom-nav button{border:0;background:none;color:#64798a;display:grid;place-items:center;align-content:center;gap:3px;font-size:9px;font-weight:750;border-radius:9px}.mobile-bottom-nav i{font-style:normal;font-size:19px}.mobile-bottom-nav button.active{color:var(--navy);background:#edf5f9}.login-layer{display:block;padding:0;background:#fff}.login-showcase{min-height:auto;padding:28px 24px 70px}.login-message{margin:56px 0 0}.login-message h1{font-size:37px}.login-message p{font-size:14px}.login-benefits,.login-trust{display:none}.login-access{min-height:auto;padding:0 16px 34px;margin-top:-38px;position:relative;z-index:2}.login-card{padding:28px 23px;border-radius:20px}.login-card h2{font-size:25px}.login-card .eyebrow{display:none}}
@media(max-width:420px){.cycle-pill{display:none}.login-message h1{font-size:33px}.login-showcase{padding-inline:20px}.login-access{padding-inline:10px}.mobile-bottom-nav span{font-size:8px}}
@media print{.mobile-bottom-nav,.version-chip{display:none!important}}

/* V40.1 — lenguaje visual de plataforma y reportes trimestrales */
.nav i{width:22px;height:22px;display:grid;place-items:center;color:var(--blue);flex:0 0 22px;font-size:0}.nav i svg,.mobile-bottom-nav i svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.view.active{animation:viewEnter .22s ease both}@keyframes viewEnter{from{opacity:.55;transform:translateY(4px)}to{opacity:1;transform:none}}
.toolbar{margin-bottom:20px}.stat{position:relative;overflow:hidden}.stat:after{content:"";position:absolute;right:-20px;bottom:-32px;width:72px;height:72px;border-radius:50%;background:#edf5f9}.admin-card{transition:transform .18s,box-shadow .18s}.admin-card:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(12,44,70,.13)}.data-table tbody tr{transition:background .15s}.data-table tbody tr:hover{background:#f8fbfd}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #2c7cad42;outline-offset:2px}
.report-filter-shell{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin-bottom:18px;box-shadow:0 8px 24px rgba(12,44,70,.06)}.report-filters{padding:0;border:0;align-items:center}.report-filters select,.report-filters input{min-height:44px;background:#fff;border-color:#cfdce5}.report-filters select{min-width:175px}.report-filters #reportPeriod{min-width:265px}.report-filters label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.report-range-hint{display:flex;align-items:center;gap:12px;margin-top:12px;padding:10px 13px;background:linear-gradient(90deg,#eaf4fa,#f5f9fb);border-radius:10px;color:var(--navy)}.report-range-hint b{font-size:13px}.report-range-hint span{font-size:12px;color:var(--muted)}
@media(max-width:760px){.mobile-bottom-nav i{width:22px;height:22px;display:grid;place-items:center;font-size:0}.report-filter-shell{padding:11px}.report-filters{display:grid;grid-template-columns:1fr 1fr}.report-filters select,.report-filters #reportPeriod,.report-filters label{width:100%;min-width:0}.report-filters #reportPeriod{grid-column:1/-1}.report-range-hint{align-items:flex-start;flex-direction:column;gap:3px}}

/* V40.3 — temporalidad independiente y recorrido del producto */
.report-filters #reportTrimester{min-width:210px;border-color:#82aac4;background:#f4faff;font-weight:750;color:var(--navy)}
.login-showcase{padding-top:34px;padding-bottom:26px}.login-message{margin:42px 0 18px;max-width:760px}.login-message h1{font-size:clamp(34px,3.4vw,49px);margin:12px 0 10px}.login-message p{font-size:14px;margin:0}.product-carousel{position:relative;z-index:2;max-width:820px}.carousel-viewport{position:relative;min-height:278px}.product-slide{position:absolute;inset:0;display:grid;grid-template-columns:minmax(210px,.72fr) minmax(330px,1.28fr);gap:20px;align-items:center;opacity:0;visibility:hidden;transform:translateX(18px);transition:opacity .38s ease,transform .38s ease,visibility .38s}.product-slide.active{opacity:1;visibility:visible;transform:none}.slide-copy>span{font-size:9px;font-weight:900;letter-spacing:.14em;color:#e5bd58}.slide-copy h2{font-size:23px;line-height:1.15;margin:9px 0;color:#fff}.slide-copy p{font-size:12px;line-height:1.55;color:#cfdee8;margin:0}.platform-preview{background:#fff;color:var(--ink);border:1px solid #ffffff70;border-radius:15px;padding:14px;box-shadow:0 18px 45px #061a2b55;min-height:240px}.preview-top{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:9px;border-bottom:1px solid #e1eaf0;padding-bottom:10px}.preview-top>i{width:31px;height:31px;border-radius:8px;background:var(--navy);color:#fff;display:grid;place-items:center;font:700 10px Georgia}.preview-top>b{font-size:12px;color:var(--navy)}.preview-top>small{font-size:8px;color:var(--muted)}.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:13px 0}.preview-grid>span{background:#f0f6f9;border-radius:8px;padding:10px}.preview-grid small,.preview-grid b{display:block}.preview-grid small{font-size:8px;color:var(--muted)}.preview-grid b{font-size:19px;color:var(--navy);margin-top:4px}.preview-list{display:grid;gap:6px}.preview-list>b{font-size:10px}.preview-list>span{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:7px;border:1px solid #e5ecf1;border-radius:7px;padding:7px;font-size:9px}.preview-list>span>i{width:7px;height:7px;border-radius:50%;background:#2e8b70}.preview-list small{color:var(--muted)}.preview-form{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.preview-form>span{border:1px solid #dce6ed;border-radius:8px;padding:10px}.preview-form .wide{grid-column:1/-1}.preview-form small,.preview-form b{display:block}.preview-form small{font-size:8px;color:var(--muted);margin-bottom:5px}.preview-form b{font-size:10px}.preview-action{background:var(--navy);color:#fff;border-radius:8px;padding:9px;text-align:center;font-size:9px;font-weight:800}.preview-chart{display:grid;gap:17px;margin-top:19px}.preview-chart>span{display:grid;grid-template-columns:120px 1fr 30px;gap:8px;align-items:center}.preview-chart b,.preview-chart small{font-size:9px}.preview-chart i{height:9px;background:#e7eef3;border-radius:10px;overflow:hidden}.preview-chart i:before{content:"";display:block;width:var(--value);height:100%;background:linear-gradient(90deg,var(--blue),#2e8b70);border-radius:10px}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:8px}.carousel-controls>button{width:32px;height:28px;border:1px solid #ffffff42;background:#ffffff12;color:#fff;border-radius:8px;cursor:pointer}.carousel-dots{display:flex;gap:7px}.carousel-dots button{width:7px;height:7px;padding:0;border:0;border-radius:10px;background:#ffffff55;cursor:pointer;transition:.2s}.carousel-dots button.active{width:25px;background:#e5bd58}.login-benefits{margin-top:12px}.login-benefits span{padding:6px 10px;font-size:9px}.login-trust{margin-top:12px}
@media(max-width:1000px){.login-message{margin-top:30px}.product-slide{grid-template-columns:1fr}.slide-copy{display:none}.carousel-viewport{min-height:245px}.platform-preview{min-height:225px}.login-benefits{display:none}}
@media(max-width:760px){.report-filters #reportTrimester{grid-column:1/-1;width:100%}.login-message{margin:38px 0 13px}.login-message h1{font-size:31px}.product-carousel{display:block}.carousel-viewport{min-height:220px}.product-slide{display:block}.platform-preview{min-height:205px;padding:11px}.preview-grid{margin:9px 0}.preview-list>span:last-child{display:none}.carousel-controls{margin-top:5px}.login-showcase{padding-bottom:58px}.login-access{margin-top:-28px}}

/* V40.4 — coherencia entre portada y tableros internos */
.report-dashboard-body{padding:22px}.dashboard-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px}.dashboard-title small{font-size:9px;font-weight:900;letter-spacing:.14em;color:var(--blue)}.dashboard-title h2{margin:5px 0 0;color:var(--navy)}.dashboard-title>span{background:#edf5f9;color:var(--navy);border-radius:20px;padding:8px 12px;font-size:11px;font-weight:800}.platform-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:17px 0}.platform-metric{position:relative;border:1px solid #dde7ed;border-radius:13px;padding:14px;background:#fff;box-shadow:0 7px 20px rgba(13,47,73,.05)}.platform-metric>span{display:flex;align-items:center;gap:7px;color:var(--ink);font-size:11px;font-weight:800}.platform-metric>span>i,.status-dot,.attention-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#2e8b70;flex:0 0 9px}.platform-metric>b{display:block;color:var(--navy);font-size:23px;margin:8px 0}.platform-metric>div{height:9px;background:#e5edf2;border-radius:12px;overflow:hidden}.platform-metric>div>i{display:block;height:100%;min-width:0;border-radius:12px;background:linear-gradient(90deg,#2476a5,#329679)}.platform-metric>small{display:block;margin-top:7px;color:var(--muted);font-size:9px}.platform-metric.tone-blue>span>i{background:#2476a5}.platform-metric.tone-blue>div>i{background:linear-gradient(90deg,#174f7b,#3190b0)}.platform-metric.tone-green>span>i{background:#2e8b70}.platform-metric.tone-green>div>i{background:linear-gradient(90deg,#2476a5,#2e8b70)}.platform-metric.tone-teal>span>i{background:#268b99}.platform-metric.tone-teal>div>i{background:linear-gradient(90deg,#286aa6,#36a08d)}.platform-metric.tone-orange>span>i{background:#d98027}.platform-metric.tone-orange>div>i{background:linear-gradient(90deg,#d7a94b,#d87932)}.attention-chart{margin-top:16px}.attention-chart h3 small{font-weight:400;color:var(--muted)}.chart-track{height:11px;background:#e5edf2}.chart-bar{background:linear-gradient(90deg,#2476a5 0%,#2e8b70 100%)!important;box-shadow:inset 0 0 0 1px #ffffff16}.attention-dot{margin-right:7px;vertical-align:middle}.report-tabs{margin:18px 0;border:0;padding:0}.record-row>div>small .status-dot{margin-right:6px;vertical-align:middle}.followup-card{border-left:0;position:relative;overflow:hidden}.followup-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,#2476a5,#2e8b70)}.followup-card>small{display:flex;align-items:center;gap:7px}.followup-card .status-dot{background:linear-gradient(135deg,#2476a5,#2e8b70)}
@media(max-width:900px){.platform-metrics{grid-template-columns:1fr}.dashboard-title{align-items:flex-start;flex-direction:column}.report-dashboard-body{padding:16px}}

/* V40.5 — formulario de usuarios y asignación matricial */
#userModal .modal-box{width:min(820px,calc(100vw - 32px))}.group-access-matrix{display:grid;max-height:360px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}.group-matrix-head,.group-matrix-row{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center}.group-matrix-head{position:sticky;top:0;z-index:2;background:#eef5f9;color:var(--navy);border-bottom:1px solid var(--line);padding:10px 12px;font-size:11px}.group-matrix-row{padding:9px 12px;border-bottom:1px solid #e8eef2}.group-matrix-row:last-child{border-bottom:0}.group-matrix-row>b{font-size:16px;color:var(--navy)}.group-matrix-row>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.group-matrix-option{min-width:58px;height:38px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 10px;border:1px solid #cfdee7;border-radius:9px;background:#fbfdfe;cursor:pointer;font-weight:800;color:#536a7d}.group-matrix-option:has(input:checked){border-color:#2476a5;background:linear-gradient(135deg,#e5f2f8,#edf8f4);color:var(--navy);box-shadow:0 0 0 2px #2476a518}.group-matrix-option input{accent-color:#2476a5}.group-other-button{height:38px;border:1px dashed #9bb8ca;border-radius:9px;background:#f4f9fc;color:var(--blue);padding:0 12px;font-weight:800;cursor:pointer}.group-other-button:hover{background:#e9f4fa}.modal-body #newFunctionOther{margin-top:8px;border-color:#82aac4;background:#f5fbff}
@media(max-width:700px){#userModal .modal-box{width:calc(100vw - 16px)!important}.group-matrix-head,.group-matrix-row{grid-template-columns:58px 1fr}.group-matrix-row{padding:9px 8px}.group-matrix-row>div{gap:6px}.group-matrix-option{min-width:52px}.group-other-button{padding:0 9px}}

/* V40.7 — solicitud nacional y control Superadmin */
.service-info-button{width:100%!important;margin:12px 0 0!important;padding:11px 13px;border:1px solid #cbdde8;border-radius:11px;background:linear-gradient(90deg,#eff7fb,#f2faf7);color:var(--navy);display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer}.service-info-button span{font-size:10px;color:var(--muted)}.service-info-button b{font-size:11px;color:var(--blue);white-space:nowrap}.service-info-button:hover{border-color:#8eb6cd;background:linear-gradient(90deg,#e6f3f9,#e9f8f2)}body.modal-open{overflow:hidden}.service-modal{position:fixed;inset:0;z-index:300;background:#071b2dcc;backdrop-filter:blur(7px);display:none;overflow:auto;padding:24px}.service-modal.show{display:block}.service-modal-card{width:min(1120px,100%);margin:auto;background:#f5f8fa;border-radius:24px;overflow:hidden;position:relative;box-shadow:0 30px 90px #03101b99}.service-modal-close{position:absolute;z-index:2;right:18px;top:16px;width:38px;height:38px;border:1px solid #ffffff45;border-radius:50%;background:#ffffff16;color:#fff;font-size:24px;cursor:pointer}.service-hero{padding:42px clamp(24px,5vw,64px);color:#fff;background:radial-gradient(circle at 88% 10%,#3b83aa 0,transparent 32%),linear-gradient(125deg,#0b2945,#175276)}.service-hero>span{font-size:10px;letter-spacing:.16em;font-weight:900;color:#e0b751}.service-hero h2{font-size:clamp(28px,4vw,44px);line-height:1.08;max-width:800px;margin:12px 0}.service-hero p{margin:0;color:#d4e2eb}.service-content{padding:26px clamp(18px,4vw,48px) 42px}.service-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:-45px;position:relative}.service-steps article{background:#fff;border:1px solid #dce6ed;border-radius:15px;padding:18px;box-shadow:0 12px 30px #12334f13;display:flex;gap:12px}.service-steps article>i{width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:linear-gradient(135deg,#1f6c99,#309377);color:#fff;display:grid;place-items:center;font-style:normal;font-size:10px;font-weight:900}.service-steps b,.service-steps span{display:block}.service-steps b{font-size:12px;color:var(--navy);margin-bottom:5px}.service-steps span{font-size:10px;line-height:1.45;color:var(--muted)}.service-plans{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}.service-plans>div{padding:18px;border:1px solid #dce6ed;border-radius:14px;background:#fff}.service-plans>div.featured{border-color:#7eaf9f;background:linear-gradient(135deg,#edf7fa,#eef9f4)}.service-plans span,.service-plans b,.service-plans small{display:block}.service-plans span{font-size:9px;font-weight:900;letter-spacing:.13em;color:var(--blue)}.service-plans b{font-size:17px;color:var(--navy);margin:6px 0}.service-plans small{color:var(--muted);line-height:1.5}.service-request-form{background:#fff;border:1px solid #dce6ed;border-radius:18px;padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.service-request-form .full,.form-intro{grid-column:1/-1}.form-intro h3{font-size:23px;color:var(--navy);margin:0}.form-intro p{color:var(--muted);margin:5px 0 3px}.service-request-form label{font-size:10px;font-weight:800;color:#52697b}.service-request-form input,.service-request-form select,.service-request-form textarea{display:block;width:100%;margin-top:6px;border:1px solid #cfdee7;border-radius:9px;background:#fbfdfe;padding:11px;color:var(--ink)}.service-request-form textarea{resize:vertical}.service-consent{display:flex;align-items:flex-start;gap:9px}.service-consent input{width:auto;margin:2px 0 0}.service-consent span{font-size:10px;font-weight:500;color:var(--muted)}.service-honeypot{position:absolute!important;left:-10000px!important}.service-form-message{font-size:11px;min-height:16px}.service-form-message.ok{color:#24715d}.service-form-message.error{color:#b13e3e}.request-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.request-summary>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow)}.request-summary small,.request-summary b{display:block}.request-summary small{color:var(--muted)}.request-summary b{font-size:26px;color:var(--navy);margin-top:6px}.request-list{display:grid;gap:14px}.request-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:19px;box-shadow:var(--shadow)}.request-card header{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #e6edf1;padding-bottom:13px}.request-card h3{margin:7px 0 4px;color:var(--navy)}.request-card p{margin:0;color:var(--muted)}.request-card time{font-size:10px;color:var(--muted)}.request-status{display:inline-block;border-radius:15px;padding:5px 9px;background:#eaf3f8;color:var(--blue);font-size:9px;font-weight:900}.status-activada,.status-aprobada{background:#e8f5ef;color:#28765f}.status-descartada{background:#f3ecec;color:#9d4545}.request-data{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:15px 0}.request-data span{background:#f5f8fa;border-radius:9px;padding:10px}.request-data small,.request-data b{display:block}.request-data small{font-size:8px;color:var(--muted);margin-bottom:4px}.request-data b{font-size:11px}.request-message{background:#f3f8fb;border-left:4px solid var(--blue);padding:11px!important;border-radius:7px;color:var(--ink)!important}.request-actions{display:grid;grid-template-columns:180px 1fr auto;gap:9px}.request-actions select,.request-actions input{border:1px solid #cfdee7;border-radius:9px;padding:10px;background:#fff}
@media(max-width:800px){.service-modal{padding:8px}.service-modal-card{border-radius:17px}.service-hero{padding:34px 22px 64px}.service-steps{grid-template-columns:1fr 1fr}.service-plans,.service-request-form{grid-template-columns:1fr}.service-request-form>*{grid-column:1!important}.request-summary{grid-template-columns:1fr 1fr}.request-data{grid-template-columns:1fr 1fr}.request-actions{grid-template-columns:1fr}.request-card header{flex-direction:column;gap:7px}}
@media(max-width:480px){.service-steps{grid-template-columns:1fr}.service-plans{grid-template-columns:1fr}.request-data{grid-template-columns:1fr}.service-content{padding-inline:11px}.service-request-form{padding:16px}}

/* V40.8 — experiencia comercial y consulta breve */
.service-hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.service-hero-tags b{font-size:10px;font-weight:700;padding:8px 11px;border:1px solid #ffffff36;border-radius:999px;background:#ffffff10}.service-story{display:grid;grid-template-columns:.8fr 1.2fr;gap:22px;align-items:center;margin:4px 0 26px}.service-story-copy{padding:8px}.service-kicker{display:block;font-size:9px;font-weight:900;letter-spacing:.15em;color:#247c75;margin-bottom:7px}.service-story h3,.service-how h3{font-size:clamp(21px,2.5vw,29px);line-height:1.15;color:var(--navy);margin:0 0 10px}.service-story-copy p,.service-how-title p{color:var(--muted);font-size:12px;line-height:1.65;margin:0}.service-benefits{display:grid;grid-template-columns:1fr 1fr;gap:10px}.service-benefits article{min-height:122px;border:1px solid #dce7ed;border-radius:15px;padding:15px;background:#fff;box-shadow:0 8px 24px #12334f0b}.service-benefits i{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#1e6a98,#339575);color:#fff;font-size:9px;font-style:normal;font-weight:900;margin-bottom:12px}.service-benefits b,.service-benefits span{display:block}.service-benefits b{font-size:13px;color:var(--navy);margin-bottom:5px}.service-benefits span{font-size:10px;line-height:1.45;color:var(--muted)}.service-how{border-radius:20px;padding:24px;background:linear-gradient(135deg,#eaf4f9,#edf8f4);border:1px solid #d2e4e6}.service-how-title{max-width:700px;margin-bottom:17px}.service-how .service-steps{margin:0;grid-template-columns:repeat(4,1fr)}.service-how .service-steps article{box-shadow:none}.service-plans{margin:18px 0}.service-request-form.compact{max-width:900px;margin:0 auto;padding:clamp(18px,3vw,30px);border-top:4px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(90deg,#1e6a98,#339575) border-box}.service-request-form.compact .form-intro{padding-bottom:10px;border-bottom:1px solid #e4ecef}.service-request-form label[hidden]{display:none!important}.service-request-form label small{font-size:9px;font-weight:500;color:#8093a1}.service-privacy{display:flex;gap:11px;padding:13px;border-radius:11px;background:#eef7f4;border:1px solid #cde5dc;color:#526f69}.service-privacy i{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:#2f9279;color:#fff;font-style:normal}.service-privacy span{font-size:10px;line-height:1.5}.service-privacy b{display:block;color:#1f6253;margin-bottom:2px}
@media(max-width:800px){.service-story{grid-template-columns:1fr}.service-how .service-steps{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.service-benefits,.service-how .service-steps{grid-template-columns:1fr}.service-hero-tags b{width:100%}.service-story{gap:12px}}

/* V40.10 — carrusel contenido y recorrido informativo desde el inicio */
@media(max-width:1000px){.product-carousel{padding-bottom:8px}.carousel-viewport{min-height:315px}.carousel-controls{position:relative;z-index:4;margin-top:8px}.carousel-controls>button{flex:0 0 38px;width:38px;height:34px;background:#ffffff1c;border-color:#ffffff66;box-shadow:0 5px 16px #061a2b33}.carousel-dots{min-height:34px;align-items:center}}
@media(max-width:760px){.carousel-viewport{min-height:315px}.carousel-controls{margin-top:10px}.login-showcase{padding-bottom:64px}}
@media(max-width:420px){.carousel-viewport{min-height:330px}.carousel-controls>button{width:36px;height:32px}}

/* V40.14 — enlaces discretos conservando la portada original */
.login-quick-links{position:absolute;z-index:4;top:38px;right:clamp(24px,4vw,58px);display:flex;align-items:center;gap:6px}.login-quick-links button,.login-quick-links a{border:1px solid #ffffff32;border-radius:8px;background:#ffffff0b;color:#e5eff5;padding:8px 10px;text-decoration:none;font-size:10px;font-weight:800;cursor:pointer;white-space:nowrap}.login-quick-links button:hover,.login-quick-links a:hover{background:#ffffff18;border-color:#ffffff55}.login-quick-links .highlight{background:#ffffff18;color:#f1c65d;border-color:#d9b55466}
@media(max-width:1180px){.login-quick-links{position:relative;top:auto;right:auto;margin-top:15px;flex-wrap:wrap}.login-message{margin-top:25px}}
@media(max-width:760px){.login-quick-links{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:16px}.login-quick-links button,.login-quick-links a{text-align:center;padding:9px 7px}.login-message{margin-top:28px}}

/* Solicitudes organizadas en ventanas desplegables por estado */
.request-groups{display:grid;gap:12px}.request-group{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:var(--shadow)}.request-group>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 20px;cursor:pointer;color:var(--navy);font-weight:850}.request-group>summary::-webkit-details-marker{display:none}.request-group>summary:after{content:'⌄';font-size:20px;color:var(--blue);transition:transform .2s}.request-group[open]>summary:after{transform:rotate(180deg)}.request-group-title{display:flex;align-items:center;gap:10px}.request-group-count{min-width:30px;text-align:center;border-radius:999px;padding:5px 9px;background:#e8f2f8;color:var(--blue);font-size:12px}.request-group-body{display:grid;gap:12px;padding:0 14px 14px;border-top:1px solid #e7edf1}.request-group-body .request-card{box-shadow:none;margin-top:14px;background:#fbfdfe}.request-group-empty{padding:18px;color:var(--muted);font-size:13px}.request-summary>button{border:1px solid var(--line);border-radius:14px;background:#fff;padding:16px;text-align:left;box-shadow:var(--shadow);cursor:pointer}.request-summary>button small,.request-summary>button b{display:block}.request-summary>button small{color:var(--muted)}.request-summary>button b{font-size:26px;color:var(--navy);margin-top:6px}@media(max-width:760px){.request-group>summary{padding:14px}.request-group-body{padding:0 8px 8px}}

.family-access-note{margin-top:12px;padding:11px 13px;border:1px solid #d8e5ec;border-radius:11px;background:#f4f8fb;color:var(--navy);display:grid;gap:4px}.family-access-note b{font-size:11px}.family-access-note span{font-size:10px;line-height:1.45;color:var(--muted)}
