*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#f4f7f7;color:#213b46;font-size:14px}a{text-decoration:none;color:inherit}.shell{min-height:100vh;display:flex}.sidebar{width:245px;flex:none;background:#0e303b;color:#c5d7d8;padding:24px 15px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:0 10px 32px;color:#fff}.brand b{display:block;font-size:16px}.brand small{display:block;color:#8eafb2;font-size:11px;margin-top:3px}.logo{width:40px;height:40px;border-radius:13px;background:#9be5ca;color:#103c42;display:grid;place-items:center;font-weight:900;font-size:23px}.logo.big{width:52px;height:52px;margin-bottom:22px;font-size:28px}.caption,.eyebrow{font-size:10px;font-weight:800;letter-spacing:.14em;color:#6f9b9e}.caption{padding:0 11px 9px}.sidebar nav{display:grid;gap:4px}.sidebar nav a{display:flex;gap:11px;align-items:center;padding:11px 12px;border-radius:9px;color:#a9c2c5;font-size:13px}.sidebar nav a.active,.sidebar nav a:hover{background:#205664;color:#fff}.sidebar nav a.active{box-shadow:inset 3px 0 #9be5ca}.sidebar nav a span{flex:1}.sidebar-bottom{margin-top:auto;border-top:1px solid #31515a;padding:16px 10px 0;color:#7fa3a7;font-size:10px;line-height:1.5}.sidebar-bottom b{color:#b8cdce}.main{min-width:0;flex:1}.topbar{height:72px;background:#fff;border-bottom:1px solid #e5ecee;padding:0 34px;display:flex;justify-content:space-between;align-items:center}.crumb{font-size:13px;color:#819197}.crumb span{padding:0 7px;color:#c0cbcd}.account{display:flex;align-items:center;gap:9px}.account .role{background:#eaf6f1;color:#277b66;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:800}.avatar{width:32px;height:32px;border-radius:50%;background:#e3eff2;color:#316d79;display:grid;place-items:center;font-weight:800;font-size:12px}.account b,.account small{display:block}.account b{font-size:11px}.account small{color:#8a999e;font-size:10px;margin-top:2px}.account>a{font-size:19px;color:#839399;margin-left:8px}.content{max-width:1440px;margin:auto;padding:34px 40px 70px}.heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px}.heading h1{font-size:28px;letter-spacing:-.04em;margin:4px 0 7px;color:#1c3944}.heading p{font-size:13px;color:#7d8c92;margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:8px;padding:10px 14px;font-size:12px;font-weight:700;cursor:pointer}.btn.primary{background:#277d70;color:white}.btn.primary:hover{background:#1f6c61}.btn.secondary{background:white;color:#49636a;border:1px solid #d9e4e6}.btn.full{width:100%;margin-top:5px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:17px}.metrics>div,.panel{background:#fff;border:1px solid #e5ecee;border-radius:12px;box-shadow:0 4px 14px #17485008}.metrics>div{padding:18px}.metrics span,.metrics small{display:block;color:#7d8d92;font-size:11px}.metrics b{display:block;font-size:26px;letter-spacing:-.04em;margin:5px 0;color:#254651}.metrics small{color:#a3afb2}.grid-two{display:grid;grid-template-columns:1.35fr 1fr;gap:17px}.panel{padding:20px}.panel-title{display:flex;justify-content:space-between;align-items:start;margin-bottom:14px}.panel h2{font-size:16px;margin:4px 0;color:#284652}.bar{margin:16px 0}.bar>div{display:flex;justify-content:space-between;color:#566a70;font-size:11px}.bar b{color:#284a53}.bar i{display:block;height:6px;border-radius:99px;background:#edf1f2;margin-top:7px;overflow:hidden}.bar em{display:block;height:100%;background:#65b3a1;border-radius:99px}.line{display:flex;justify-content:space-between;border-bottom:1px solid #edf1f2;padding:12px 0;font-size:12px;color:#5d7177}.line b{color:#2f7d72;font-size:11px}.filters{display:flex;gap:9px;align-items:end;flex-wrap:wrap;background:#fff;border:1px solid #e5ecee;border-radius:12px;padding:14px;margin-bottom:14px}.filters input,.filters select,.form-grid input,.form-grid select,.form-grid textarea,.login-card input{height:38px;border:1px solid #dbe6e8;border-radius:8px;padding:0 10px;background:white;color:#52676e;outline:none;font:inherit;font-size:12px}.filters input{flex:1;min-width:230px}.filters select{min-width:150px}.table-wrap{padding:0;overflow:auto}.table-head{padding:16px 18px;display:flex;justify-content:space-between;color:#52676d;font-size:12px}.table-head span{color:#9aa8ac;font-size:10px}table{border-collapse:collapse;width:100%;min-width:950px}th{background:#f8fafb;color:#74868c;font-size:10px;text-align:left;text-transform:uppercase;letter-spacing:.06em;padding:11px 14px;border-top:1px solid #edf1f2;border-bottom:1px solid #e5ecee}td{padding:12px 14px;border-bottom:1px solid #eef2f2;color:#596d73;font-size:11px;vertical-align:middle}td b{display:block;color:#2e4d56;font-weight:700;max-width:245px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}td small{display:block;color:#9aa8ac;margin-top:4px}.mono{font-family:ui-monospace,monospace;color:#607c82}.tag{background:#e8f4f1;color:#2c7c6d;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:800;white-space:nowrap}.form-panel{margin-top:17px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.form-grid.one{grid-template-columns:1fr}.form-grid label{font-size:10px;color:#697d83;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea{width:100%;margin-top:6px}.form-grid textarea{height:70px;padding-top:9px}.form-grid button{grid-column:1/-1;justify-self:start}.import{max-width:750px;text-align:center;padding:46px}.upload{width:50px;height:50px;border-radius:50%;background:#dff4ec;color:#2b8b76;display:grid;place-items:center;font-size:29px;margin:0 auto 16px}.import h2{font-size:20px}.import p{color:#7d8e93;line-height:1.55}.notice{background:#f5faf9;border:1px solid #dceee8;border-radius:8px;padding:13px;text-align:left;font-size:11px;color:#55736e;margin:18px 0}.login-bg{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 0,#e4f3ee,#f4f7f7 55%)}.login-card{width:min(420px,calc(100% - 34px));background:#fff;border:1px solid #dfebeb;border-radius:17px;padding:38px;box-shadow:0 18px 45px #286e6012}.login-card h1{font-size:27px;letter-spacing:-.04em;margin:7px 0 9px}.login-card p{font-size:13px;color:#7d8d92;line-height:1.5;margin:0 0 23px}.login-card label{display:block;font-size:11px;font-weight:700;color:#63777c;margin:12px 0}.login-card input{width:100%;margin-top:6px}.login-card>small{display:block;text-align:center;color:#9ba8ab;font-size:10px;margin-top:14px}.alert{padding:11px 14px;border-radius:8px;margin-bottom:15px;font-size:12px}.alert.success{background:#e4f5ed;color:#287b61}.alert.error{background:#fbeceb;color:#a95552}@media(max-width:1000px){.content{padding:28px 24px}.metrics{grid-template-columns:repeat(2,1fr)}.grid-two{grid-template-columns:1fr}}@media(max-width:700px){.sidebar{display:none}.topbar{padding:0 16px}.account .role,.account>div:nth-of-type(2){display:none}.content{padding:22px 14px}.heading{align-items:start;flex-direction:column}.heading h1{font-size:24px}.form-grid{grid-template-columns:1fr}.filters input{flex-basis:100%}.metrics{gap:9px}.metrics>div{padding:14px}.metrics b{font-size:21px}}
.form-grid fieldset{border:1px solid #dbe6e8;border-radius:9px;padding:10px 12px;margin:0;min-height:73px}.form-grid legend{font-size:10px;font-weight:800;color:#60777d;padding:0 4px}.form-grid legend small{font-weight:500;color:#96a5a9}.choice{display:inline-flex!important;align-items:center;gap:5px;margin:7px 12px 0 0!important;font-size:11px!important;font-weight:700!important;color:#526b71!important}.choice input{width:auto!important;height:auto!important;margin:0!important;accent-color:#277d70}.wide{grid-column:1/-1}.form-grid input[readonly]{background:#f2f7f6;color:#32756b;font-weight:700}
/* Diseño uniforme de opciones excluyentes: visual de casilla, selección única */
.form-grid fieldset{background:#fbfdfd;border-color:#d9e7e6;padding:13px 14px}.form-grid fieldset legend{font-size:11px;color:#345761}.form-grid legend small{display:block;margin-top:3px}.choice{border:1px solid #d8e5e5;border-radius:7px;background:#fff;padding:8px 12px!important;min-width:76px;justify-content:center;transition:.15s ease}.choice:hover{border-color:#78bdae;background:#f2faf7}.choice:has(input:checked){border-color:#2b8976;background:#e1f5ed;color:#1f7566!important;box-shadow:0 0 0 2px #d7f0e7}.choice input{appearance:none;width:15px!important;height:15px!important;border:1px solid #9ab3b3;border-radius:4px;background:#fff;position:relative}.choice input:checked{background:#2b8976;border-color:#2b8976}.choice input:checked:after{content:'✓';position:absolute;color:#fff;font-weight:900;font-size:11px;left:2px;top:-1px}
/* Formulario de estados: tres tarjetas equivalentes en una sola fila */
.choice-group-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}.choice-group-grid fieldset{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-content:start;min-width:0}.choice-group-grid fieldset legend{grid-column:1/-1;margin-bottom:2px}.choice-group-grid fieldset .choice{display:flex!important;width:auto!important;min-width:0!important;height:38px!important;align-items:center!important;justify-content:center!important;gap:7px!important;margin:0!important;padding:7px 9px!important;white-space:nowrap}.choice-group-grid fieldset .choice input{flex:0 0 16px!important;width:16px!important;height:16px!important;margin:0!important}.choice-group-grid fieldset:nth-child(2) .choice{grid-column:span 1}.choice-group-grid fieldset:nth-child(3) .choice{grid-column:span 1}@media(max-width:900px){.choice-group-grid{grid-template-columns:1fr}.choice-group-grid fieldset{grid-template-columns:repeat(3,1fr)}}
/* Identidad Ejemedica: turquesa #009ca3, turquesa claro y marrón institucional */
:root{--brand-turquoise:#009ca3;--brand-dark:#342722;--brand-deep:#173f46;--brand-soft:#e7f7f7;--brand-mint:#d6f0ef}body{background:#f7fbfb;color:var(--brand-dark)}.sidebar{background:linear-gradient(180deg,#173f46 0%,#12353b 100%);border-right:4px solid var(--brand-turquoise)}.brand{padding:0 5px 28px;gap:10px}.brand-mark{width:174px;height:74px;background:#fff;border-radius:12px;padding:5px 8px;display:flex;align-items:center;justify-content:center;box-shadow:0 7px 17px #062e3318}.brand-mark img{width:100%;height:100%;object-fit:contain}.brand-label{display:none}.sidebar nav a.active,.sidebar nav a:hover{background:#176570;color:#fff}.sidebar nav a.active{box-shadow:inset 3px 0 var(--brand-turquoise)}.caption,.eyebrow{color:#5b9da1}.logo{background:var(--brand-turquoise);color:#fff}.topbar{border-bottom-color:#d8eeee}.crumb{color:#6b8084}.crumb:first-letter{color:var(--brand-turquoise)}.account .role{background:var(--brand-soft);color:#007d84}.avatar{background:#dff2f1;color:#087e85}.heading h1,.panel h2,.metrics b{color:var(--brand-dark)}.btn.primary{background:var(--brand-turquoise)}.btn.primary:hover{background:#007d84}.btn.secondary{border-color:#cde3e4;color:#27666c}.metrics>div,.panel{border-color:#dceeee;box-shadow:0 6px 18px #0b626b0c}.metrics>div:hover{border-color:#9ed8d9}.bar em{background:var(--brand-turquoise)}.line b{color:#007d84}.tag{background:#dff4f2;color:#007b82}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.filters input:focus,.filters select:focus{border-color:var(--brand-turquoise);box-shadow:0 0 0 3px #009ca31a}.form-grid input[readonly]{color:#007d84;background:#eefafa}.choice-group-grid fieldset .choice:has(input:checked){border-color:var(--brand-turquoise);background:#e1f6f5;color:#00747b!important;box-shadow:0 0 0 2px #bde9e8}.choice-group-grid fieldset .choice input:checked{background:var(--brand-turquoise);border-color:var(--brand-turquoise)}.login-card{border-top:5px solid var(--brand-turquoise);box-shadow:0 22px 55px #009ca31a}.login-brand{height:145px;display:flex;align-items:center;justify-content:center;margin:-4px 0 10px}.login-brand img{max-width:100%;height:100%;object-fit:contain}.login-card h1{color:var(--brand-dark)}.login-card .eyebrow{color:var(--brand-turquoise)}.notice{background:#ecf9f8;border-color:#c6e9e7;color:#27686d}.alert.success{background:#e0f5f3;color:#00747b}@media(max-width:700px){.brand-mark{width:150px;height:66px}}
/* Selector múltiple de establecimientos por regional */
.access-picker{grid-column:1/-1;border:1px solid #d7e9e8;border-radius:10px;background:#f8fdfd;padding:12px;display:flex;flex-direction:column;gap:10px}.access-picker>b{color:var(--brand-dark);font-size:13px}.access-picker>small{color:#6b8588;margin-top:-6px}.region-block{border-top:1px solid #e0eeee;padding-top:9px;display:grid;grid-template-columns:145px repeat(auto-fit,minmax(190px,1fr));gap:7px 10px;align-items:start}.region-block strong{color:#007d84;font-size:11px;padding-top:7px}.access-option{display:flex!important;align-items:flex-start;gap:7px!important;border:1px solid #dbeaea;border-radius:7px;background:#fff;padding:7px 8px!important;font-size:11px!important;line-height:1.2;color:#405c60!important;cursor:pointer}.access-option input{width:16px!important;height:16px!important;flex:0 0 16px;accent-color:var(--brand-turquoise);margin:0!important}.access-option:has(input:checked){border-color:var(--brand-turquoise);background:#e4f6f5;color:#00747b!important}@media(max-width:900px){.region-block{grid-template-columns:1fr 1fr}.region-block strong{grid-column:1/-1}}
/* Filtro jerárquico regional > establecimientos */
.regional-picker{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 5px}.regional-option{display:flex!important;align-items:center;gap:7px!important;border:1px solid #cfe5e5;border-radius:20px;background:#fff;padding:8px 12px!important;color:#45666a!important;font-size:11px!important;font-weight:800!important;cursor:pointer}.regional-option input{appearance:none;width:15px!important;height:15px!important;border:1px solid #91b6b7;border-radius:4px;background:#fff;margin:0!important}.regional-option input:checked{background:var(--brand-turquoise);border-color:var(--brand-turquoise)}.regional-option input:checked:after{content:'✓';display:block;color:#fff;font-size:11px;font-weight:900;text-align:center;line-height:14px}.regional-option:has(input:checked){background:#dff5f4;border-color:var(--brand-turquoise);color:#00747b!important}.access-picker:not(.has-selection) .region-block{display:none}.access-picker .region-block{grid-template-columns:145px repeat(auto-fit,minmax(190px,1fr))}.access-picker>small{font-size:10px}
.region-title{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:3px}.region-title strong{padding-top:0!important}.select-region{border:1px solid #a8d7d6;background:#effafa;color:#00747b;border-radius:6px;padding:5px 8px;font-size:10px;font-weight:800;cursor:pointer}.select-region:hover{background:#d6f1f0;border-color:var(--brand-turquoise)}.admin-note{border-left:3px solid var(--brand-turquoise);background:#eefafa;border-radius:4px;padding:7px 9px;color:#286a70;font-size:10px;line-height:1.35}
.btn.small{padding:6px 9px;font-size:10px}.help{display:block;color:#7a9295;font-size:10px;font-weight:500;margin:3px 0}.form-panel .btn.secondary{margin-left:6px}
.edit-notice{border:1px solid #b9e3e1;background:#edfaf9;color:#216d72;border-radius:7px;padding:9px 10px;margin:10px 0;font-size:11px;line-height:1.4}.edit-notice b{color:#006f76}
.edit-notice{border:1px solid #b9e3e1;background:#edfaf9;color:#216d72;border-radius:7px;padding:9px 10px;margin:10px 0;font-size:11px;line-height:1.4}.edit-notice b{color:#006f76}
