*{box-sizing:border-box}html{font-size:16px}body{margin:0;color:#192d45;background:#f4f7fb;font-family:Inter,'Segoe UI',Arial,sans-serif;line-height:1.5}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1{font-size:2rem;letter-spacing:-1px;margin-bottom:6px}h2{font-size:1.15rem;letter-spacing:-.3px}h3{font-size:1rem}p{color:#728095}small{font-size:.8rem}button:focus-visible,a:focus-visible{outline:3px solid #16afaa;outline-offset:4px}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:1.8px;color:#7b8a9d}.brand{display:flex;align-items:center;gap:10px;font-size:1.5rem;font-weight:800;letter-spacing:.5px;color:#fff}.brand-icon{background:#20c5af;color:#072a40;border-radius:9px;width:36px;height:38px;display:inline-grid;place-items:center;font-size:1.6rem;font-weight:900}.brand-tag{font-size:.65rem;letter-spacing:2px;font-weight:500;border-left:1px solid #557084;padding-left:14px;margin-left:6px}.access{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.brand-panel{background:radial-gradient(ellipse at 0% 100%,#12455a,transparent 65%),#0c2039;padding:48px 9%;display:flex;flex-direction:column;color:white;min-height:100vh}.brand-copy{margin:auto 0;padding:65px 0}.brand-copy .eyebrow{color:#45d8c4}.brand-copy h1{font-size:clamp(2.5rem,4vw,4.5rem);line-height:1.14;letter-spacing:-2px;margin:24px 0}.brand-copy p{color:#b0c1d0;max-width:380px;font-size:1.05rem;line-height:1.8}.brand-features{margin-top:44px;display:grid;gap:20px}.brand-features>span{color:#43cfbc;font-size:.8rem;display:flex;align-items:center;gap:22px}.brand-features b{color:#d8e4ed;font-weight:500;font-size:.95rem}.brand-panel footer{display:flex;justify-content:space-between;gap:15px;font-size:.7rem;letter-spacing:1px;color:#8da7ba}.brand-panel footer span{letter-spacing:0}.access-right{position:relative;background:#fff;display:flex;justify-content:center;align-items:center;padding:100px 40px}.access-right>.pill{position:absolute;right:40px;top:40px}.pill{display:inline-flex;align-items:center;gap:8px;background:#e8f8f3;color:#197c66;padding:5px 11px;border:1px solid #ccebe0;border-radius:6px;font-size:.75rem;font-weight:600;white-space:nowrap}.login-card{width:100%;max-width:385px}.mini-icon{background:#edf6f9;color:#157c85;width:48px;height:48px;border-radius:12px;display:grid;place-items:center;font-size:1.8rem;margin-bottom:30px}.login-card h2{font-size:1.9rem;margin:12px 0 6px;letter-spacing:-.8px}.login-card>p{font-size:.95rem;margin-bottom:30px}label{display:block;font-size:.875rem;font-weight:600;margin-bottom:20px}input{display:block;width:100%;border:1px solid #d9e1e9;border-radius:7px;padding:12px 14px;margin-top:8px;color:#192d45;background:#fff;outline:none;min-width:0}input:focus{border-color:#099f98;box-shadow:0 0 0 3px #009e9414}input::placeholder{color:#98a4b4;font-size:.9rem}.password-wrap{position:relative}.password-wrap input{padding-right:70px}.password-wrap button{position:absolute;right:12px;top:12px;border:0;background:none;color:#60748c;font-size:.8rem}.primary{border:0;border-radius:7px;padding:12px 20px;background:#0d766e;color:#fff;font-weight:600;font-size:.9rem}.primary:hover{background:#095f59}.full{width:100%;display:flex;justify-content:space-between}.login-note{font-size:.8rem;color:#8b98a8;text-align:center;margin-top:26px;padding-top:22px;border-top:1px solid #edf0f5}.access-footer{position:absolute;bottom:30px;text-align:center;color:#929eae}.error{color:#b73434;font-size:.875rem}.error:empty{display:none}.workspace{display:flex;min-height:100vh}aside{width:250px;flex-shrink:0;background:#0c2039;color:#92a8bf;padding:32px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}aside>.brand{padding:0 13px}.sidebar-sub{font-size:.65rem;letter-spacing:2.3px;margin:9px 0 38px 60px}.nav-caption{font-size:.65rem;letter-spacing:1.6px;padding:0 16px;margin-bottom:12px}.nav-item{display:flex;gap:13px;align-items:center;padding:12px 14px;font-size:.875rem;border-radius:7px;margin:4px 0;font-weight:500}.nav-item>span{font-size:1.3rem;width:23px;text-align:center}.nav-item:hover{color:#fff;background:#142e49}.nav-item.active{background:#143d4d;color:#56dfca;box-shadow:inset 3px 0 #35c7b2}.sidebar-bottom{margin-top:auto;border-top:1px solid #243950;padding:22px 12px 0}.local-status{font-size:.875rem;color:#dae7f0;margin-bottom:12px;display:flex;align-items:center;gap:8px}.local-status>span{background:#4ad7b0;width:7px;height:7px;border-radius:50%}.sidebar-bottom small{line-height:1.8;color:#708ba5}.main-area{min-width:0;flex:1;display:flex;flex-direction:column}header{min-height:88px;padding:18px 36px;background:#fff;border-bottom:1px solid #e4eaf0;display:flex;justify-content:space-between;align-items:center;gap:20px}.breadcrumb{font-size:.875rem;color:#8492a2}.breadcrumb span{padding:0 12px;color:#b7c2ce}.breadcrumb b{color:#35485f;font-weight:500}.profile{display:flex;align-items:center;gap:12px}.profile>.pill{margin-right:12px}.avatar{background:#e7edf5;color:#38516e;width:37px;height:37px;border-radius:50%;display:grid;place-items:center;font-weight:700}.profile strong{display:block;font-size:.8rem}.profile small{display:block;font-size:.7rem;color:#8795a6}.text-button{border:0;background:none;color:#738397;font-size:.8rem;margin-left:6px}main{padding:32px 36px;max-width:1600px;width:100%;margin:0 auto;flex:1}.page-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.page-title .eyebrow{font-size:.65rem;letter-spacing:1.5px}.page-title h1{margin-top:8px}.page-title p{font-size:.9rem;margin-bottom:0}.date-label{font-size:.8rem;color:#7b899a;white-space:nowrap}.overview-banner{background:linear-gradient(105deg,#102b49,#194756);border-radius:12px;color:#fff;padding:26px 30px;display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.overview-banner .eyebrow{color:#72d8cb;font-size:.65rem}.overview-banner h2{font-size:1.6rem;margin:8px 0}.overview-banner p{color:#b7cbd7;margin:0;font-size:.9rem}.banner-badge{border-left:1px solid #4b6876;padding-left:32px;min-width:172px}.banner-badge span{display:block;font-size:.65rem;color:#7ce0ca;letter-spacing:2px;margin-bottom:6px}.banner-badge b{display:block;font-size:.95rem;font-weight:500}.banner-badge small{color:#a5bacb}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:32px}.stat{position:relative;background:#fff;border:1px solid #e3e9ef;padding:21px;border-radius:10px;transition:transform .15s}.stat:hover,.module-card:hover{transform:translateY(-2px);border-color:#92c8c0}.stat-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;font-size:1.4rem;margin-bottom:17px}.blue{background:#e9f1ff;color:#3970c3}.teal{background:#e6f6f1;color:#248d72}.violet{background:#f0ecfc;color:#8261bd}.amber{background:#fff4e2;color:#b58837}.stat-label{font-size:.8rem;color:#77869a;display:block}.stat strong{display:block;font-size:2rem;font-weight:650;margin:3px 0 10px}.stat small{border-top:1px solid #edf1f5;padding-top:11px;display:flex;justify-content:space-between;font-size:.75rem;color:#718297}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.section-heading h2{margin:0}.section-heading>span,.section-heading>a{font-size:.8rem;color:#8090a0}.section-heading>a{color:#168477}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:30px}.module-card{display:flex;align-items:flex-start;background:#fff;border:1px solid #e3e9ef;border-radius:10px;padding:21px 17px;gap:13px;transition:transform .15s}.module-icon{color:#537a91;background:#f0f5f8;border-radius:8px;flex-shrink:0;width:35px;height:35px;display:grid;place-items:center;font-size:1.3rem}.module-card h3{font-size:.875rem;margin-bottom:6px}.module-card p{font-size:.8rem;line-height:1.6;margin:0}.arrow{color:#91a0ae;margin-left:auto}.panel{background:#fff;border:1px solid #e3e9ef;border-radius:10px;padding:24px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.8rem;text-align:left}th{background:#f7f9fc;color:#8592a3;font-weight:500;padding:12px 14px}td{padding:17px 14px;border-bottom:1px solid #eef1f5}tbody tr:last-child td{border-bottom:0}.event-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#499b8d;margin-right:10px}.muted{color:#7f8fa0}.main-footer{display:flex;justify-content:space-between;font-size:.7rem;color:#96a2b1;padding:18px 36px;border-top:1px solid #e4eaf0}.empty{text-align:center;padding:70px 20px 80px;max-width:580px;margin:auto}.empty h2{margin:20px 0 8px}.empty p{font-size:.9rem;line-height:1.8}.empty-icon{display:inline-grid;place-items:center;width:68px;height:68px;background:#eff6f8;color:#5c8b9f;border-radius:18px;font-size:2rem}.secondary{display:inline-block;border:1px solid #dbe4ea;border-radius:6px;padding:10px 16px;font-size:.875rem;color:#557087;margin-top:14px}.neutral{background:#f5f7fa;border-color:#e3e9ef;color:#7b8a9a}.settings-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}dl{display:grid;grid-template-columns:1fr 1fr;font-size:.875rem;gap:18px}dt{color:#8090a0}dd{margin:0;overflow-wrap:anywhere}.loading{padding:60px;text-align:center;color:#557087}#toast{position:fixed;bottom:25px;right:25px;max-width:90vw;background:#103e3a;color:white;padding:15px 22px;border-radius:8px;box-shadow:0 8px 30px #0b23332b;z-index:10}
@media(min-width:1500px){main{padding:40px 48px}.module-card{padding:25px}.stat{padding:24px}}
@media(max-width:1150px){aside{width:215px;padding-inline:12px}.nav-item{font-size:.8rem;gap:8px}header{padding:18px 24px}main{padding:26px 24px}.stats{gap:12px}.stat{padding:16px}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile>.pill{display:none}.date-label{display:none}}
@media(max-width:800px){.brand-panel{padding:35px}.brand-tag{display:none}.brand-copy h1{font-size:2.6rem}.access-right{padding:95px 24px}.brand-panel footer{flex-direction:column}aside{width:78px;padding:25px 10px}aside .brand{font-size:0;padding:0;justify-content:center}.sidebar-sub,.nav-caption,.sidebar-bottom{display:none}.nav-item{font-size:0;justify-content:center;padding:12px 0}.nav-item>span{font-size:1.4rem}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.breadcrumb{display:none}header{justify-content:flex-end}.settings-grid{grid-template-columns:1fr}.banner-badge{display:none}.page-title h1{font-size:1.8rem}}
@media(max-width:560px){.access{display:block}.brand-panel{min-height:auto;padding:25px}.brand-copy,.brand-panel footer{display:none}.access-right{min-height:calc(100vh - 88px);padding:80px 26px}.access-right>.pill{top:20px;right:26px}.access-footer{font-size:.65rem;bottom:16px}.login-card h2{font-size:1.65rem}aside{width:62px;padding:20px 6px}.brand-icon{width:32px;height:34px}.module-grid{grid-template-columns:1fr}main{padding:24px 15px}header{padding:14px 15px;min-height:72px}.profile{gap:8px}.profile small{font-size:.65rem}.overview-banner{padding:22px}.overview-banner h2{font-size:1.25rem}.stats{gap:10px}.stat{padding:14px}.stat-label{font-size:.75rem}.panel{padding:16px}.section-heading{align-items:flex-start}.section-heading>span{display:none}.main-footer{padding:15px;font-size:.65rem;gap:12px}.main-footer span{display:none}.empty{padding:50px 0}dl{grid-template-columns:1fr}dd{margin-top:-12px}.page-title h1{font-size:1.6rem;overflow-wrap:anywhere}.section-heading h2{font-size:1rem}}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid .wide{grid-column:1/-1}.form-grid button{width:max-content}textarea,select{display:block;width:100%;border:1px solid #d9e1e9;border-radius:7px;padding:12px 14px;margin-top:8px;color:#192d45;background:#fff;outline:none;font:inherit}textarea{min-height:78px;resize:vertical}.small-action{border:1px solid #d7e2ea;background:#fff;color:#34546d;border-radius:6px;padding:6px 8px;font-size:.72rem;font-weight:600;margin:2px}.small-action:hover{border-color:#55a99e;color:#0d766e}.code-note{background:#fff7dd;border:1px solid #f0d789;color:#66501a;padding:12px 14px;border-radius:7px;font-size:.82rem}.hash{font-family:Consolas,monospace;font-size:.7rem;color:#526578}.state-activa{background:#e8f8f3;color:#197c66;border-color:#ccebe0}.state-pendiente{background:#fff4e2;color:#9a6818;border-color:#f0dbb4}.state-reemplazada{background:#eef2f7;color:#586b80;border-color:#dbe3ec}.state-bloqueada{background:#fff0f0;color:#ad3f3f;border-color:#f1cccc}.state-disponible{background:#e9f1ff;color:#3970c3;border-color:#d4e2fa}td small{display:block;color:#7b899a;margin-top:3px}@media(max-width:760px){.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}}
.authorization-modal{position:fixed;inset:0;background:#071d3b99;display:grid;place-items:center;padding:20px;z-index:100}.authorization-dialog{width:min(470px,100%);background:#fff;border-radius:12px;padding:28px;box-shadow:0 20px 55px #071d3b66}.authorization-dialog h2{color:#0f2747;margin-bottom:8px}.authorization-dialog p{font-size:.9rem}.authorization-value{font-family:Consolas,monospace;font-size:1rem;font-weight:700;letter-spacing:.4px;background:#f4f8fb}.authorization-actions{display:flex;gap:10px;align-items:center;margin-top:18px}.authorization-status{min-height:22px;color:#197c66;font-weight:600;margin:14px 0 0}

/* Alta administrativa WEB Fase 2 */
#web-new-company fieldset{border:1px solid #dce5ee;border-radius:12px;padding:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}#web-new-company legend{font-weight:700;padding:0 8px}#web-new-company [data-existing],#web-new-company [data-new]{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}#web-new-company [hidden]{display:none!important}.web-buttons{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.web-error{background:#fff0f0;color:#9f2020}.web-password-dialog input{width:100%}@media(max-width:700px){#web-new-company fieldset,#web-new-company [data-existing],#web-new-company [data-new]{grid-template-columns:1fr}}

/* Navegación extendida sin superponer el pie del sidebar. */
aside{display:flex;flex-direction:column}aside nav{overflow-y:auto;min-height:0;flex:1}aside .sidebar-bottom{position:static;margin-top:16px;flex-shrink:0}a.primary,a.primary:hover{color:#fff}

/* Administración de estados WEB, Fase 3 */
.web-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:18px 0}.web-filters label{flex:1;min-width:150px}.web-filters button{margin-bottom:0}.web-row-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:170px}.web-pagination{display:flex;align-items:center;gap:16px;justify-content:center;margin-top:20px}.web-state-dialog{width:min(560px,92vw);border:0;border-radius:18px;padding:28px;color:#183549;box-shadow:0 20px 80px #0004}.web-state-dialog::backdrop{background:#142d4c99}.web-state-dialog h2{margin-top:0}.web-state-dialog textarea{min-height:100px}.web-state-pendiente,.web-state-solicitado{background:#e5eefb;color:#19457d}.web-state-activo,.web-state-sincronizado,.web-state-aplicado{background:#dff3e9;color:#185d3d}.web-state-suspendido,.web-state-desincronizado{background:#fff0d5;color:#785012}.web-state-vencido{background:#f0e5fb;color:#62367f}.web-state-cancelado,.web-state-error{background:#fde6e5;color:#932d31}.web-state-sin_consultar{background:#edf0f4;color:#48576a}

/* Fase 4: catálogo y condiciones comerciales */
.commercial-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0}.commercial-card{border:1px solid #dce6ee;border-radius:16px;padding:24px;background:#f7fafc}.commercial-price{font-size:28px;font-weight:700;color:#173b56}.commercial-price small{font-size:15px;font-weight:400}.commercial-summary{padding:14px;background:#eef5f8;border-radius:12px;margin:12px 0}.commercial-summary small{display:block;margin:4px 0}.web-commercial-dialog{width:min(960px,94vw);max-height:90vh;overflow:auto}.commercial-check{display:flex;align-items:center;gap:8px}.commercial-check input{width:auto}@media(max-width:850px){.commercial-cards{grid-template-columns:1fr}}

.subscription-dialog{width:min(1120px,94vw);max-height:90vh;border:0;border-radius:18px;padding:28px;color:#18324a}.subscription-dialog::backdrop{background:#14283bb0}.subscription-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:18px;background:#f4f8fc;border-radius:12px}.subscription-overview small,.subscription-overview strong{display:block}.subscription-overview small{color:#64748b;margin-bottom:7px}.subscription-forms{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0}.subscription-forms form{padding:20px;border:1px solid #dae5ee;border-radius:12px}.subscription-forms label{display:block;margin:12px 0}.subscription-activa{background:#def7ed;color:#176c4a}.subscription-vencida,.subscription-cancelada{background:#ffe6e8;color:#a32639}.subscription-suspendida,.subscription-pendiente{background:#fff0ce;color:#906311}.subscription-due{color:#a46508;font-weight:700}.subscription-dialog table small{display:block;margin-top:5px}.subscription-dialog .web-buttons{flex-wrap:wrap}@media(max-width:760px){.subscription-overview,.subscription-forms{grid-template-columns:1fr}.subscription-dialog{padding:16px}}
.subscription-dialog input[type="checkbox"]{display:inline-block;width:auto;margin:0 8px 0 0;vertical-align:middle}.subscription-dialog [data-state-form]{margin:20px 0;padding:18px;border:1px solid #e0e7ef;border-radius:12px}.subscription-dialog [data-state-form] label{display:block;margin:12px 0}

.integration-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:22px 0}.integration-metrics>div{background:white;border:1px solid #e1e8ef;border-radius:12px;padding:18px}.integration-metrics strong{display:block;font-size:28px;color:#183852}.integration-health{display:flex;justify-content:space-between;align-items:center;gap:16px}.integration-command{max-width:180px;overflow-wrap:anywhere;font-size:11px}.integration-dialog{width:min(850px,94vw);max-height:88vh;overflow:auto;border:0;border-radius:14px;padding:28px;color:#18324a}.integration-dialog::backdrop{background:#14283bb0}.integration-dialog label{display:block;margin:15px 0}.integration-check{display:flex!important;align-items:center;gap:10px}.integration-check input{width:auto}.integration-online,.integration-sincronizado{background:#e0f6ed;color:#177052}.integration-error,.integration-offline,.integration-desincronizado{background:#ffe6e8;color:#9f2940}.integration-pendiente,.integration-reintento{background:#fff0cf;color:#906400}.integration-dialog table{font-size:13px}@media(max-width:760px){.integration-metrics{grid-template-columns:1fr 1fr}.integration-health{display:block}}
.integration-vencido,.integration-vencida,.integration-cancelado,.integration-cancelada{background:#ffe6e8;color:#9f2940;border-color:#f6cbd2}.integration-suspendido,.integration-suspendida{background:#fff0cf;color:#906400;border-color:#eed997}.integration-aplicado{background:#e0f6ed;color:#177052}

/* FASE 7: administración diaria, sin librerías externas. */
.admin-banner{align-items:center;gap:24px}.admin-banner>div:last-child{min-width:220px}.admin-banner strong{display:block;font-size:30px;margin:8px 0}.admin-banner small{display:block}
.admin-warning{padding:14px 18px;border-left:3px solid #15aa9c;background:#ecf7f5;color:#275651;border-radius:0 10px 10px 0;line-height:1.55}
.admin-freshness{font-size:12px;color:#65778b;line-height:1.65;margin:16px 0}
.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0}
.admin-metric{display:flex;flex-direction:column;gap:12px;padding:20px;background:#fff;border:1px solid #e0e7ef;border-radius:14px;min-height:145px;color:#233e54;text-decoration:none;transition:border-color .15s,transform .15s}
.admin-metric:hover{border-color:#18ad9e;transform:translateY(-2px)}.admin-metric:focus-visible{outline:3px solid #18ad9e;outline-offset:3px}.admin-metric small{color:#62768a;font-size:13px}.admin-metric strong{font-size:28px;overflow-wrap:anywhere;line-height:1.2}.admin-metric span{font-size:11px;color:#087d70;margin-top:auto}
.admin-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}.admin-chart h2{font-size:17px;margin:0 0 22px}
.admin-bar{display:grid;grid-template-columns:115px minmax(35px,1fr) 85px;align-items:center;gap:12px;margin:14px 0;font-size:12px}.admin-bar strong{text-align:right;overflow-wrap:anywhere}
.admin-bar meter{width:100%;height:19px;border-radius:6px}.admin-bar meter::-webkit-meter-bar{background:#edf2f6;border:0;border-radius:6px}.admin-bar meter::-webkit-meter-optimum-value{background:#14aa9c;border-radius:6px}.admin-bar meter::-moz-meter-bar{background:#14aa9c}
.admin-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:18px 0}.admin-filters label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#52677a}.admin-filter-actions{display:flex;flex-wrap:wrap;align-items:end;gap:8px}
.admin-pager{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:18px 0;color:#5c7185;font-size:12px}.admin-pager>div{display:flex;gap:8px}.admin-pager button{padding:9px 13px}
.admin-table table{font-size:12px}.admin-table small{display:block;color:#64758a;max-width:240px;overflow-wrap:anywhere;margin-top:6px}.admin-table th{white-space:nowrap}.admin-table td{vertical-align:top}.admin-table .hash{max-width:180px;font-size:10px;overflow-wrap:anywhere}
.admin-empty{padding:36px 20px;text-align:center;border:1px dashed #d7e1eb;border-radius:12px;background:#f8fafc;color:#587084}.admin-empty h3{color:#253d53}
.admin-recovery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.admin-recovery section{background:#fff;border:1px solid #dce5ed;border-radius:12px;padding:20px}.admin-recovery h3{font-size:16px;color:#25485a}.admin-recovery p{font-size:13px;line-height:1.6;color:#627487}
.admin-state-activo,.admin-state-activa,.admin-state-sincronizado,.admin-state-aplicado,.admin-state-online{background:#def5ec;color:#146b4a;border-color:#c3e8d9}
.admin-state-pendiente,.admin-state-solicitado,.admin-state-reintento,.admin-state-suspendido,.admin-state-suspendida{background:#fff0cf;color:#865a09;border-color:#eedba8}
.admin-state-vencido,.admin-state-vencida,.admin-state-cancelado,.admin-state-cancelada,.admin-state-error,.admin-state-offline,.admin-state-desincronizado,.admin-state-inactivo{background:#ffe6e8;color:#a22d42;border-color:#f2c5cd}
@media(max-width:1150px){.admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.admin-metrics,.admin-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-charts{grid-template-columns:1fr}.admin-banner{flex-direction:column;align-items:start}.admin-recovery{grid-template-columns:1fr}}
@media(max-width:560px){.admin-metrics,.admin-filters{grid-template-columns:1fr}.admin-pager{align-items:start;flex-direction:column}.admin-bar{grid-template-columns:90px minmax(25px,1fr) 75px;gap:8px}}

/* FASE 8: formularios de administración y revisión */
.integration-dialog input[type=checkbox]{width:auto;margin-right:8px}.integration-dialog form{display:grid;gap:8px}.integration-dialog .primary{justify-self:start}.small-action:disabled{opacity:.55;cursor:not-allowed}

.pilot-environment{padding:12px 20px;background:#fff0bd;color:#6c4800;border-bottom:2px solid #e9ae28;text-align:center;font-weight:800;letter-spacing:.08em}.pilot-environment[hidden]{display:none}
