:root{--ink:#17313a;--muted:#6d7e83;--line:#dce6e7;--bg:#f4f7f6;--primary:#087b70;--primary-dark:#075e57;--nav:#102f35;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:var(--nav);color:white;padding:28px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none;font-size:14px;line-height:1.1;padding:0 10px 30px}.brand-mark{width:43px;height:43px;border-radius:13px;background:#65d1b8;color:#0c3c3b;display:grid;place-items:center;font-weight:900}.brand b{font-size:17px}.sidebar nav{display:grid;gap:7px}.sidebar nav a{display:flex;align-items:center;gap:12px;color:#d5e7e7;text-decoration:none;padding:12px 14px;border-radius:10px}.sidebar nav a:hover{background:#1d454a;color:white}.sidebar nav a:first-child{background:#1b4a4e}.sidebar-foot{margin-top:auto;color:#86a7a9;font-size:11px;padding:14px 10px;border-top:1px solid #285057}main{margin-left:245px;min-height:100vh}.topbar{height:88px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px}.topbar>div{display:grid;gap:3px}.topbar strong{font-size:18px}.eyebrow{font-size:10px;letter-spacing:.14em;font-weight:800;color:#67908b}.content{padding:36px 42px 60px;max-width:1550px}.hero,.page-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.hero h1,.page-title h1,.form-intro h1{font-family:Georgia,serif;font-size:34px;margin:5px 0 7px;color:#193b40}.hero p,.page-title p,.form-intro p,.panel-head p{margin:0;color:var(--muted)}.btn{border:0;border-radius:9px;padding:11px 16px;font-weight:700;text-decoration:none;font-size:13px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.primary{background:var(--primary);color:white}.primary:hover{background:var(--primary-dark)}.secondary,.ghost{background:white;color:var(--ink);border:1px solid var(--line)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:22px}.stats article{background:white;border:1px solid var(--line);border-radius:13px;padding:20px;position:relative}.stats small{font-size:10px;color:var(--muted);letter-spacing:.08em;font-weight:800}.stats strong{display:block;font-family:Georgia,serif;font-size:35px;margin:10px 0 3px}.stats p{font-size:12px;color:var(--muted);margin:0}.dot{position:absolute;right:18px;top:20px;width:9px;height:9px;border-radius:50%}.amber{background:#d79829}.green{background:#35a474}.blue{background:#3c89bc}.purple{background:#8d6bc2}.panel{background:white;border:1px solid var(--line);border-radius:13px;overflow:hidden}.panel-head{padding:21px 24px;border-bottom:1px solid var(--line)}.panel-head h2{margin:0 0 4px;font:700 20px Georgia,serif}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;background:#f8faf9;color:#60777b;font-size:10px;letter-spacing:.08em;padding:13px 18px}td{padding:15px 18px;border-top:1px solid #edf1f1;vertical-align:middle}td b{display:block;margin-bottom:4px}td small{display:block;color:var(--muted);font-size:11px}.time{font-size:17px}.badge{display:inline-block;border-radius:30px;padding:5px 9px;font-size:10px;font-weight:800;background:#edf1f1;color:#536468}.badge.confirmado{background:#e4f2ff;color:#236b9c}.badge.realizado{background:#e3f5ea;color:#24764a}.badge.cancelado,.badge.no_atendido{background:#fbe9e9;color:#a83c3c}.badge.en_ruta{background:#fff1d9;color:#98631c}.link{color:var(--primary);font-weight:700;text-decoration:none}.empty{text-align:center;padding:46px 20px;color:var(--muted)}.empty span{font-size:35px}.empty h3{color:var(--ink);margin:8px}.empty p{margin:0 0 18px}.message{background:#e4f5ee;color:#176b4b;border:1px solid #bde5d3;padding:12px 16px;border-radius:9px;margin-bottom:20px}.filters{display:grid;grid-template-columns:2fr 1fr 1.25fr 1.25fr auto auto;align-items:end;gap:11px;background:white;border:1px solid var(--line);padding:17px;border-radius:13px;margin-bottom:16px}.filters label,.field{display:grid;gap:6px}.filters label{font-size:10px;font-weight:800;color:var(--muted);letter-spacing:.05em}input,select,textarea,.form-control{width:100%;border:1px solid #cad8d9;background:white;color:var(--ink);border-radius:8px;padding:10px 11px;font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #087b7015}.actions{display:flex;align-items:center;gap:12px}.actions select{padding:6px;width:125px;font-size:11px}.form-shell{max-width:780px;margin:auto}.form-intro{margin-bottom:22px}.form-card{background:white;border:1px solid var(--line);border-radius:14px;padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:19px}.field label{font-size:12px;font-weight:750}.field label span{color:#c94b4b}.field:has(textarea),.form-actions,.errors{grid-column:1/-1}.field-error,.errors{color:#a22f2f;background:#fff0f0;border-radius:6px;padding:7px;font-size:12px}.form-actions{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);padding-top:20px;margin-top:4px}@media(max-width:1050px){.stats{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr 1fr}.sidebar{width:78px}.sidebar .brand span:last-child,.sidebar nav span,.sidebar-foot{display:none}main{margin-left:78px}}@media(max-width:700px){.topbar{padding:0 18px}.topbar .eyebrow{display:none}.content{padding:24px 16px}.stats{grid-template-columns:1fr}.hero{align-items:flex-start;gap:15px;flex-direction:column}.form-card{grid-template-columns:1fr}.field{grid-column:1}.filters{grid-template-columns:1fr}.sidebar{display:none}main{margin:0}.topbar .btn{padding:9px}}
/* Identidad institucional Aló Red */
.institution-logo{width:310px;height:70px;object-fit:contain;object-position:left center}
.topbar-actions{display:flex;align-items:center;gap:28px;margin-left:auto}
.topbar-actions>div{display:grid;gap:3px;text-align:right}
.topbar-user{color:var(--muted);font-size:11px}.topbar-logout{margin:0}.topbar-logout .btn{white-space:nowrap}
@media(max-width:900px){.institution-logo{width:230px}.topbar-actions>div{display:none}}
@media(max-width:700px){.institution-logo{width:180px;height:58px}.topbar-actions{margin-left:12px;gap:8px}.topbar-actions>a.btn{font-size:0}.topbar-actions>a.btn::after{content:'＋';font-size:18px}.topbar-logout .btn{padding:9px 10px;font-size:11px}}
/* Logística territorial */
.priority{display:inline-block;padding:5px 9px;border-radius:30px;font-size:10px;font-weight:850;background:#eef1f1;color:#536468}.priority.urgente{background:#fde5e5;color:#ad2828}.priority.alta{background:#fff0d8;color:#9b6415}.priority.media{background:#e4f2ff;color:#236b9c}.priority.baja{background:#e8f5eb;color:#317249}.wide{max-width:980px}.location-field{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:8px}.location-field p{margin:4px 0 8px;color:var(--muted);font-size:12px}.location-field>span{font-size:11px;color:#9b6415}.location-field>span.ready{color:#24764a;font-weight:800}#patient-map{grid-column:1/-1;height:330px;border:1px solid var(--line);border-radius:10px}.route-filters{display:flex;align-items:end;gap:12px;background:white;border:1px solid var(--line);border-radius:13px;padding:16px;margin-bottom:15px}.route-filters label{display:grid;gap:5px;font-size:10px;font-weight:800;color:var(--muted);min-width:190px}.route-stats{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:12px;margin-bottom:15px}.route-stats article{background:white;border:1px solid var(--line);padding:14px 17px;border-radius:11px}.route-stats small{display:block;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.08em}.route-stats strong{display:block;margin-top:5px;font:700 22px Georgia,serif}.logistics-grid{display:grid;grid-template-columns:minmax(420px,1.35fr) minmax(350px,1fr);gap:15px}.map-panel{padding:10px}#route-map{height:540px;border-radius:8px}.map-note{font-size:10px;color:var(--muted);margin:8px 4px 0}.route-list{max-height:610px;overflow:auto}.route-stop{display:grid;grid-template-columns:35px 1fr auto;gap:11px;align-items:start;padding:16px;border-top:1px solid var(--line)}.stop-number{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:var(--primary);color:white;font-weight:850}.route-stop p{margin:3px 0;color:var(--muted);font-size:12px}.route-stop small{color:#789094;font-size:10px}.missing-panel{margin-top:15px}.missing-list>div{display:grid;grid-template-columns:1fr 2fr auto;gap:15px;padding:13px 20px;border-top:1px solid var(--line);font-size:12px}.missing-list span{color:var(--muted)}@media(max-width:1000px){.logistics-grid{grid-template-columns:1fr}.route-stats{grid-template-columns:1fr 1fr}.route-filters{flex-wrap:wrap}}@media(max-width:700px){.route-stats{grid-template-columns:1fr}.route-filters{display:grid}.route-filters label{min-width:0}#route-map{height:420px}.missing-list>div{grid-template-columns:1fr}.route-stop{grid-template-columns:35px 1fr}.route-stop>.priority{grid-column:2}}
.sidebar-foot{line-height:1.45}
/* Marca ALÓRED Agenda */
.alored-brand{gap:11px;padding:2px 8px 27px}.alored-symbol{position:relative;width:43px;height:43px;flex:0 0 43px;display:grid;place-items:center;border-radius:14px 14px 14px 4px;background:linear-gradient(145deg,#39c8dc,#1da8d2);color:white;font-size:25px;font-weight:900;line-height:1;box-shadow:0 7px 18px #051e2440}.alored-symbol::after{content:'';position:absolute;right:-3px;top:7px;width:6px;height:6px;border:2px solid #8de8f1;border-left:0;border-bottom:0;border-radius:0 8px 0 0;transform:rotate(12deg)}.alored-wordmark{display:flex;flex-direction:column;line-height:1}.alored-wordmark strong{font-size:17px;letter-spacing:-.025em}.alored-wordmark strong span:first-child{color:#fff}.alored-wordmark strong span:last-child{color:#5ed9e6}.alored-wordmark small{margin-top:5px;color:#d9f3f5;font-size:10px;font-weight:750;letter-spacing:.13em;text-transform:uppercase}
/* Flujo separado: priorización y logística vehicular */
.priority.sin_priorizar{background:#eef1f1;color:#67777a}.priority-kpi{display:flex;align-items:center;gap:9px;background:#fff7e8;border:1px solid #efd49d;border-radius:12px;padding:12px 17px;color:#8b5a11}.priority-kpi strong{font:700 28px Georgia,serif}.priority-kpi span{font-size:11px;font-weight:800;text-transform:uppercase}.priority-legend{display:flex;align-items:center;gap:18px;background:white;border:1px solid var(--line);border-radius:11px;padding:12px 16px;margin-bottom:15px;font-size:11px}.priority-legend span{display:flex;align-items:center;gap:6px}.priority-legend i{width:8px;height:8px;border-radius:50%}.priority-legend .urgent{background:#c73737}.priority-legend .high{background:#d68a26}.priority-legend .medium{background:#3987b5}.priority-legend .low{background:#489064}.priority-legend small{margin-left:auto;color:var(--muted)}.priority-row.unclassified{box-shadow:inset 4px 0 #d7a140}.priority-form{display:flex;gap:7px;align-items:center}.priority-form select{min-width:130px}.priority-form .btn{padding:9px 11px}.notice{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;background:#eef8f7;border:1px solid #c7e4e0;border-radius:11px;padding:13px 17px;margin-bottom:14px;font-size:12px}.notice.warning{background:#fff7e8;border-color:#efd49d}.notice span{color:var(--muted)}.workflow-strip{display:flex;align-items:center;justify-content:center;gap:10px;background:#eaf3f2;color:#567174;border-radius:11px;padding:12px;margin-bottom:14px;font-size:11px}.workflow-strip span{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:white;border:1px solid #bfd4d2;font-weight:800}.workflow-strip span.done{background:var(--primary);border-color:var(--primary);color:white}.workflow-strip i{font-style:normal;color:#9bb2b1}.assignment-panel{margin-bottom:20px}.assignment-panel .panel-head{display:flex;justify-content:space-between;align-items:center}.counter{min-width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e6f3f1;color:var(--primary);font-weight:850}.assignment-row{display:grid;grid-template-columns:1fr auto minmax(310px,.8fr);align-items:center;gap:14px;padding:14px 20px;border-top:1px solid var(--line)}.assignment-row p{margin:3px 0 0;color:var(--muted);font-size:11px}.assignment-row form{display:flex;gap:7px}.assignment-row select{min-width:180px}.empty.compact{padding:20px}.route-heading{display:flex;align-items:end;justify-content:space-between;margin:25px 0 12px}.route-heading h2{font:700 26px Georgia,serif;margin:4px 0}.route-heading p{margin:0;color:var(--muted);font-size:12px}.route-summary{display:flex;align-items:center;gap:10px}.route-summary>span{background:white;border:1px solid var(--line);border-radius:9px;padding:9px 12px;font-size:11px}.route-summary b{font-size:17px;margin-right:3px}@media(max-width:900px){.assignment-row{grid-template-columns:1fr auto}.assignment-row form{grid-column:1/-1}.route-heading{align-items:flex-start;flex-direction:column;gap:12px}.priority-legend{flex-wrap:wrap}.priority-legend small{width:100%;margin:0}}@media(max-width:700px){.notice{grid-template-columns:1fr}.workflow-strip{justify-content:flex-start;overflow:auto}.workflow-strip b{white-space:nowrap}.assignment-row{grid-template-columns:1fr}.assignment-row form{grid-column:auto;flex-direction:column}.route-summary{flex-wrap:wrap}}
/* Acceso y usuarios */
.session-user{display:grid;gap:2px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid #285057}.session-user b{font-size:12px;color:white}.session-user span{font-size:9px;color:#9bc1c2;text-transform:uppercase;letter-spacing:.08em}.session-user form{margin-top:6px}.session-user button,.text-button{padding:0;border:0;background:none;color:#72d7cd;font:700 10px inherit;cursor:pointer}.login-page{min-height:100vh;background:#0d3439;display:grid;place-items:center;padding:30px}.login-shell{width:min(980px,100%);display:grid;grid-template-columns:1.15fr .85fr;background:white;border-radius:20px;overflow:hidden;box-shadow:0 30px 80px #03171975}.login-brand{background:#eef6f5;padding:42px;display:flex;flex-direction:column;justify-content:space-between}.login-brand img{width:100%;max-height:130px;object-fit:contain}.login-brand h1{font:700 42px Georgia,serif;margin:10px 0;color:#153f45}.login-brand p{color:var(--muted);line-height:1.6;max-width:480px}.login-card{padding:50px 42px;display:flex;flex-direction:column;justify-content:center}.login-icon{width:48px;height:48px;border-radius:14px 14px 14px 4px;display:grid;place-items:center;background:#26b6d5;color:white;font-size:25px;font-weight:900}.login-card h2{font:700 29px Georgia,serif;margin:20px 0 4px}.login-card p{color:var(--muted);margin:0 0 22px}.login-card form{display:grid;gap:16px}.login-card label{display:grid;gap:7px;font-size:11px;font-weight:800}.login-card input{padding:13px}.login-card .btn{padding:13px}.login-card>small{color:var(--muted);margin-top:18px;text-align:center}.role-badge{display:inline-block;background:#e9f3f2;color:#256b67;border-radius:7px;padding:5px 8px;font-size:10px;font-weight:800}.user-actions{display:flex;gap:12px;align-items:center}.text-button{color:#a64242;font-size:11px}@media(max-width:760px){.login-shell{grid-template-columns:1fr}.login-brand{padding:25px}.login-brand img{max-height:80px}.login-brand>div{display:none}.login-card{padding:35px 25px}}
/* Seguridad y respaldos */
.security-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}.security-stats article{background:white;border:1px solid var(--line);border-radius:12px;padding:18px}.security-stats small{font-size:9px;font-weight:850;letter-spacing:.08em;color:var(--muted)}.security-stats strong{display:block;font:700 25px Georgia,serif;margin:8px 0 3px;overflow:hidden;text-overflow:ellipsis}.security-stats p{margin:0;color:var(--muted);font-size:10px}.audit-event{display:inline-block;padding:4px 7px;border-radius:6px;background:#e9f3f2;color:#256b67;font-size:9px;font-weight:850}.login-card button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:850px){.security-stats{grid-template-columns:1fr}}

/* Acceso simplificado */
.login-page-simple{background:#f3f5f7;color:#111;padding:32px}
.login-shell-simple{display:block;width:min(672px,100%);margin:0;background:#fff;border:1px solid #d9dde1;border-radius:20px;overflow:visible;box-shadow:0 2px 5px #0000001f}
.login-card-simple{display:block;padding:42px 36px 38px}
.login-card-simple header{text-align:center;margin-bottom:34px}
.login-card-simple h1{font:800 36px/1.2 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;margin:0 0 22px;color:#090909}
.login-card-simple header p{font-size:20px;line-height:1.45;color:#707070;margin:0}
.login-card-simple form{display:grid;gap:0}
.login-card-simple form>label:not(.remember-row){display:block;font-size:20px;font-weight:750;margin:0 0 8px}
.login-card-simple form>input:not([type=hidden]):not([type=checkbox]){height:55px;border:1px solid #d9dde1;border-radius:11px;padding:0 18px;font-size:19px;color:#222;box-shadow:0 2px 4px #0000000d;margin-bottom:24px}
.login-card-simple form>input:focus{border-color:#777;box-shadow:0 0 0 3px #11111112}
.remember-row{display:flex!important;grid-template-columns:none!important;align-items:center;gap:13px;margin:2px 0 26px!important;font-size:19px!important;font-weight:500!important;cursor:pointer}
.remember-row input{width:24px;height:24px;margin:0;accent-color:#111}
.login-submit{min-height:55px;width:100%;border:0;border-radius:11px;background:#171717;color:#fff;font:750 18px/1 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;display:flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer}
.login-submit:hover{background:#000}
.forgot-link{display:block;margin-top:49px;text-align:center;color:#0099e5;font-size:20px;text-decoration:none}
.forgot-link:hover{text-decoration:underline}
.login-card-simple .errors{margin-bottom:22px;text-align:center}
.recovery-card header{margin-bottom:30px}
@media(max-width:700px){.login-page-simple{padding:18px}.login-card-simple{padding:34px 22px}.login-card-simple h1{font-size:30px}.login-card-simple header p,.forgot-link{font-size:17px}}

/* Identidad lateral de ALÓRED */
.login-page-simple:has(.login-layout){display:block;padding:0;overflow:auto}
.login-layout{width:100%;min-height:100vh;display:grid;grid-template-columns:minmax(360px,1fr) minmax(540px,1fr);margin:0}
.login-identity{background:linear-gradient(135deg,#064765 0%,#0479a3 58%,#08a6d4 100%);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px;text-align:center;position:relative;overflow:hidden}
.login-identity:before,.login-identity:after{content:"";position:absolute;border:1px solid #ffffff20;border-radius:50%}
.login-identity:before{width:520px;height:520px;left:-270px;top:-260px}
.login-identity:after{width:430px;height:430px;right:-260px;bottom:-250px}
.login-identity h2{position:relative;z-index:1;font-size:28px;margin:34px 0 8px}
.login-identity p{position:relative;z-index:1;font-size:17px;margin:0;color:#e5f8ff}
.alored-side-banner{position:relative;z-index:1;width:min(720px,92%);height:auto;display:block;border-radius:14px;box-shadow:0 18px 48px #00344c45}
.login-form-zone{display:grid;place-items:center;padding:42px;background:#f3f5f7}
.login-form-zone .login-shell-simple{width:min(672px,100%);margin:0}
@media(max-width:900px){.login-layout{grid-template-columns:1fr}.login-identity{min-height:245px;padding:34px}.alored-side-banner{width:min(620px,95%)}.login-identity h2{font-size:22px;margin:22px 0 5px}.login-identity p{font-size:14px}.login-form-zone{padding:28px 18px}}

/* Portal principal */
.portal-home{min-height:100vh;background:#f4f6f8;color:#26364d}.portal-header{height:88px;background:#fff;border-bottom:1px solid #dfe4e8;box-shadow:0 2px 5px #15263b12;display:flex;align-items:center;padding:0 34px;gap:44px;position:sticky;top:0;z-index:20}.portal-brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#24364e;min-width:225px}.portal-brand>span{width:52px;height:52px;border-radius:16px 16px 16px 5px;background:linear-gradient(145deg,#08a7d7,#087ea9);color:#fff;display:grid;place-items:center;font-size:31px;font-weight:900}.portal-brand div{display:grid}.portal-brand strong{font-size:22px;line-height:1}.portal-brand small{margin-top:5px;color:#6d7887;font-size:11px;letter-spacing:.13em;text-transform:uppercase}.portal-header nav{display:flex;align-items:center;justify-content:center;gap:34px;flex:1}.portal-header nav a{color:#344054;text-decoration:none;font-size:16px;font-weight:650;padding:32px 0 27px;border-bottom:4px solid transparent}.portal-header nav a:hover,.portal-header nav a.active{color:#058ebd;border-bottom-color:#09a4d6}.portal-user{display:flex;align-items:center;gap:12px}.portal-user>div{display:grid;text-align:right;white-space:nowrap}.portal-user>div strong{font-size:13px}.portal-user>div small{font-size:10px;color:#768194;text-transform:uppercase}.portal-user>span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#059ed1;color:#fff;font-size:18px;font-weight:850}.portal-user form{margin:0}.portal-user button{border:0;background:none;color:#6b7686;font-weight:700;cursor:pointer}.portal-content{margin:0 auto;max-width:1880px;padding:48px 44px 60px}.welcome-banner{min-height:228px;border-radius:24px;background:linear-gradient(110deg,#06a4da 0%,#0589ba 55%,#057a9e 100%);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:42px 50px;box-shadow:0 10px 26px #066f9824}.welcome-banner h1{font-size:42px;line-height:1.12;margin:0 0 14px}.welcome-banner p{font-size:24px;margin:0;color:#eaf9ff}.portal-clock{min-width:390px;border-radius:20px;background:#ffffff2b;display:flex;align-items:center;justify-content:center;gap:22px;padding:35px}.portal-clock span{font-size:57px;line-height:1}.portal-clock strong{font-size:43px;white-space:nowrap}.quick-access{margin-top:36px;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 4px 11px #1b34501a}.quick-access>header{padding:25px 36px;color:#fff;font-size:20px;font-weight:800;background:linear-gradient(100deg,#c8c1e8,#65a9d8 58%,#08a4d8)}.quick-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:22px;padding:62px 36px 36px}.quick-card{min-height:170px;background:#f8fafc;border:1px solid #dbe3ec;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;text-decoration:none;color:#23344c;padding:20px;transition:.18s ease}.quick-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #1d38531c;border-color:#b9dceb}.quick-icon{width:72px;height:72px;border-radius:20px;color:#fff;display:grid;place-items:center;font-size:36px;font-weight:800;box-shadow:0 5px 10px #26364d24}.quick-card strong{font-size:18px;margin-top:20px}.quick-card small{color:#738095;margin-top:5px}.blue-icon{background:#1763ff}.purple-icon{background:#b23cff}.teal-icon{background:#03bfa9}.orange-icon{background:#ff6500}.indigo-icon{background:#6259f7}.pink-icon{background:#ff1550}.home-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:28px}.home-summary article{display:grid;grid-template-columns:1fr auto;background:#fff;border:1px solid #e0e6ec;border-radius:16px;padding:22px;box-shadow:0 3px 8px #1b34500d}.home-summary span{font-size:13px;color:#748094}.home-summary strong{grid-row:1/3;grid-column:2;font-size:34px;color:#058ebd}.home-summary a{font-size:12px;color:#058ebd;text-decoration:none;font-weight:700;margin-top:8px}@media(max-width:1250px){.portal-header{gap:20px}.portal-header nav{gap:18px}.portal-header nav a{font-size:14px}.quick-grid{grid-template-columns:repeat(3,1fr)}.portal-user>div{display:none}}@media(max-width:820px){.portal-header{height:auto;min-height:76px;padding:12px 18px;flex-wrap:wrap}.portal-brand{min-width:0}.portal-header nav{order:3;width:100%;overflow:auto;justify-content:flex-start}.portal-header nav a{padding:9px 0 12px;white-space:nowrap}.portal-user{margin-left:auto}.portal-user form{display:none}.portal-content{padding:24px 16px}.welcome-banner{min-height:220px;align-items:flex-start;flex-direction:column;padding:30px}.welcome-banner h1{font-size:30px}.welcome-banner p{font-size:18px}.portal-clock{min-width:0;width:100%;padding:18px;margin-top:25px}.portal-clock span{font-size:39px}.portal-clock strong{font-size:30px}.quick-grid{grid-template-columns:1fr 1fr;padding:30px 18px}.home-summary{grid-template-columns:1fr 1fr}}@media(max-width:520px){.quick-grid,.home-summary{grid-template-columns:1fr}.portal-brand div{display:none}.portal-user>div{display:none}}
/* Navegación por módulos */
.module-nav{display:flex;flex-direction:column;gap:8px}.module-nav .home-link{display:flex;gap:12px;align-items:center;margin-bottom:8px}.nav-module{display:grid;grid-template-columns:30px 1fr;gap:9px;align-items:start;padding:11px 10px;border-radius:10px;background:rgba(255,255,255,.045)}.module-number,.card-number{display:grid;place-items:center;border-radius:50%;background:#18d6c4;color:#003e42;font-weight:800}.module-number{width:28px;height:28px}.nav-module>div{display:flex;flex-direction:column;gap:4px}.nav-module a{padding:0!important;background:none!important}.nav-module small,.nav-module .sub-link{font-size:11px;color:#a9d4d2!important;font-weight:400}.admin-links{margin-top:16px;padding-top:15px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column}.admin-links>span{font-size:9px;letter-spacing:.13em;color:#73aaa7;padding:0 10px 7px}.admin-links a{font-size:12px;padding:7px 10px!important}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:24px}.module-card{display:grid;grid-template-columns:52px 1fr;gap:17px;padding:25px;background:#fff;border:1px solid #d7e5e4;border-radius:14px;box-shadow:0 5px 18px rgba(0,58,62,.06)}.card-number{width:48px;height:48px;font-size:21px}.module-card small{color:#087b70;letter-spacing:.12em;font-weight:800}.module-card h2{margin:5px 0 8px}.module-card p{min-height:42px;color:#557071}.module-card strong{display:block;margin:13px 0;color:#003e42}.card-actions{display:flex;align-items:center;gap:16px;margin-top:16px}.today-label{padding:8px 12px;background:#e5f4f2;border-radius:8px;color:#087b70;font-weight:700}.quick-summary{margin-top:20px}@media(max-width:900px){.module-grid{grid-template-columns:1fr}.module-card p{min-height:auto}}
/* Preguntas clave y priorización */
.questions-block{grid-column:1/-1;border-top:1px solid var(--line);padding-top:18px}.questions-block h2{font:700 22px Georgia,serif;margin:4px 0}.questions-block p{margin:0 0 14px;color:var(--muted);font-size:12px}.question-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.question-item{display:grid;gap:7px;border:1px solid var(--line);border-radius:10px;padding:12px;background:#fbfdfc;font-size:12px}.question-item span{display:flex;gap:8px;align-items:flex-start;font-weight:750}.question-item input[type=checkbox]{width:auto;margin-top:2px}.question-item input[type=text]{font-size:12px;padding:8px}.answers-summary{padding:20px 24px;border-bottom:1px solid var(--line)}.answers-summary h3{margin:0 0 12px;font:700 18px Georgia,serif}.answer-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.answer-item{display:grid;grid-template-columns:34px 1fr;gap:8px;border:1px solid var(--line);border-radius:9px;padding:10px;background:#fafafa;font-size:12px}.answer-item.yes{background:#edf8f4;border-color:#bde5d3}.answer-item b{color:#60777b}.answer-item.yes b{color:#087b70}.answer-item small{grid-column:2;color:var(--muted)}.decision-form{padding:22px 24px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.decision-form .field:last-of-type{grid-column:1/-1}@media(max-width:850px){.question-list,.answer-list,.decision-form{grid-template-columns:1fr}}
.history-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.history-kpis article{background:white;border:1px solid var(--line);border-radius:12px;padding:16px}.history-kpis small{font-size:9px;font-weight:850;color:var(--muted);letter-spacing:.08em}.history-kpis strong{display:block;font:700 25px Georgia,serif;margin:7px 0 2px}.history-kpis p{margin:0;color:var(--muted);font-size:11px}.muted{color:var(--muted)}@media(max-width:950px){.history-kpis{grid-template-columns:1fr 1fr}}@media(max-width:650px){.history-kpis{grid-template-columns:1fr}}
.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mini-bars{padding:18px 22px}.mini-bars h3{margin:8px 0 10px;font-size:12px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.mini-bars div{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:9px 0;border-top:1px solid #edf1f1}.mini-bars span{font-size:12px}.mini-bars b{background:#e9f3f2;color:#087b70;border-radius:20px;padding:4px 9px;font-size:11px}.ops-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px 20px;border-bottom:1px solid var(--line)}.ops-kpis article{background:#f8faf9;border:1px solid var(--line);border-radius:10px;padding:12px}.ops-kpis small{font-size:9px;color:var(--muted);font-weight:850}.ops-kpis strong{display:block;font:700 24px Georgia,serif;margin-top:5px}@media(max-width:1000px){.dashboard-grid{grid-template-columns:1fr}}
.sidebar{width:285px;padding:22px 16px}.sidebar .brand{flex:0 0 auto}.app-menu{overflow-y:auto;overflow-x:hidden;padding-right:4px;min-height:0;flex:1}.app-menu::-webkit-scrollbar{width:7px}.app-menu::-webkit-scrollbar-thumb{background:#2b5b60;border-radius:20px}.menu-section{display:grid;gap:5px;padding:10px 0 13px;border-top:1px solid rgba(255,255,255,.1)}.menu-section:first-child{border-top:0}.menu-section>span{font-size:9px;letter-spacing:.13em;color:#72aaa7;font-weight:850;padding:0 10px 4px}.menu-section a{display:grid!important;gap:2px;padding:9px 11px!important;border-radius:9px!important;background:transparent!important;color:#d5e7e7!important}.menu-section a:hover{background:#1d454a!important;color:white!important}.menu-section a b{font-size:12px}.menu-section a small{font-size:10px;color:#9cc7c5}.sidebar-foot{flex:0 0 auto}.sidebar nav a:first-child{background:transparent}.sidebar nav a:first-child:hover{background:#1d454a}main{margin-left:285px}@media(max-width:1050px){.sidebar{width:92px;padding:18px 10px}.sidebar .brand .alored-wordmark,.menu-section>span,.menu-section a small,.menu-section a b,.sidebar-foot{display:none}.menu-section a{height:38px}.menu-section a::before{content:'•';font-size:20px;color:#72d7cd;margin:auto}main{margin-left:92px}}
