:root{--navy-950:#04111d;--navy-900:#071827;--navy-850:#0a2237;--navy-800:#0d2c47;--navy-700:#154567;--teal-600:#12877f;--teal-500:#1aa398;--teal-400:#42c7bb;--teal-100:#dff3f1;--ink:#142536;--muted:#617284;--line:#d7e1e8;--bg:#eef3f6;--white:#fff;--danger:#a8253d;--success:#14745b;--shadow:0 15px 40px rgba(5,27,44,.1)}*{box-sizing:border-box}body{margin:0;font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}a{color:inherit}.icon{width:19px;height:19px;flex:0 0 auto}.admin-shell{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--navy-950);color:#b8c8d3;padding:17px 14px;overflow-y:auto}.admin-brand{display:flex;gap:11px;align-items:center;text-decoration:none;padding:8px 8px 20px;border-bottom:1px solid #1f3546}.admin-brand>span{width:43px;height:47px;display:grid;place-items:center;background:linear-gradient(150deg,var(--navy-700),var(--teal-600));clip-path:polygon(50% 0,94% 17%,88% 70%,50% 100%,12% 70%,6% 17%);color:#fff}.admin-brand>span .icon{width:25px;height:25px}.admin-brand strong,.admin-brand small{display:block}.admin-brand strong{color:#fff;font-size:.78rem;line-height:1.25}.admin-brand small{font-size:.68rem;margin-top:4px}.sidebar-label{padding:19px 10px 8px;color:#607c8f;font-size:.61rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.admin-nav{display:grid;gap:3px}.admin-nav a{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:8px;text-decoration:none;font-size:.79rem}.admin-nav a:hover,.admin-nav a.active{background:#0f2b41;color:#fff}.admin-nav a.active{box-shadow:inset 3px 0 var(--teal-400)}.admin-nav .icon{width:18px;height:18px;color:#6da2b6}.admin-nav a.active .icon{color:var(--teal-400)}.sidebar-foot{display:grid;gap:4px;margin-top:auto;padding-top:14px;border-top:1px solid #1f3546}.sidebar-foot a{display:flex;align-items:center;gap:9px;text-decoration:none;padding:9px;font-size:.75rem}.admin-main{min-width:0}.admin-top{position:sticky;top:0;z-index:20;height:70px;display:flex;align-items:center;gap:20px;background:#fff;border-bottom:1px solid var(--line);padding:0 27px}.sidebar-toggle{display:none;border:1px solid var(--line);background:#fff;padding:8px;border-radius:8px}.admin-title{display:flex;flex-direction:column}.admin-title span{color:var(--teal-600);font-size:.61rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.admin-title strong{font-size:.95rem;color:var(--navy-900)}.admin-user{margin-left:auto;display:flex;align-items:center;gap:9px}.admin-user>span{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--navy-900);color:#fff;font-weight:850}.admin-user strong,.admin-user small{display:block}.admin-user strong{font-size:.77rem}.admin-user small{font-size:.66rem;color:var(--muted)}.admin-content{padding:27px}.alert{display:flex;align-items:center;gap:9px;padding:12px 14px;border-radius:10px;margin-bottom:18px;font-size:.83rem}.alert.success{background:#dff5ea;color:#165e47;border:1px solid #b9e4d1}.alert.error{background:#fde6eb;color:#8b1932;border:1px solid #f1bcc8}.admin-welcome,.admin-section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:24px}.admin-welcome{padding:28px;background:linear-gradient(125deg,var(--navy-900),var(--navy-800));border-radius:16px;color:#fff}.admin-welcome span,.admin-section-head>div>span{color:var(--teal-400);font-size:.65rem;font-weight:850;letter-spacing:.12em}.admin-welcome h1,.admin-section-head h1{font-size:1.8rem;line-height:1.15;margin:5px 0}.admin-welcome p{margin:0;color:#b7c9d4}.admin-section-head h1{color:var(--navy-900)}.admin-section-head p{margin:0;color:var(--muted);font-size:.87rem}.admin-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #b8c7d1;background:#fff;border-radius:9px;padding:10px 14px;font-size:.78rem;font-weight:800;cursor:pointer;text-decoration:none}.admin-btn.primary{background:var(--teal-500);border-color:var(--teal-500);color:#041b1c}.admin-btn.primary:hover{background:var(--teal-400)}.admin-metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:20px}.admin-metrics>a{display:flex;align-items:center;gap:12px;min-width:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;text-decoration:none}.metric-admin-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:9px;background:var(--teal-100);color:var(--teal-600)}.admin-metrics small,.admin-metrics strong{display:block}.admin-metrics small{font-size:.66rem;color:var(--muted)}.admin-metrics strong{font-size:1.55rem;color:var(--navy-900)}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:21px;min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.panel-head>div>span{color:var(--teal-600);font-size:.61rem;font-weight:850;letter-spacing:.1em}.panel-head h2{font-size:1.08rem;margin:3px 0;color:var(--navy-900)}.status-badge{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:4px 8px;font-size:.61rem;font-weight:800}.status-badge.published{background:#dbf2e8;color:#146047}.status-badge.draft{background:#fff1cf;color:#725812}.status-badge.neutral{background:#e8edf1;color:#596876}.portal-map{display:grid;grid-template-columns:1fr 1fr;gap:10px}.portal-map a{display:flex;gap:10px;padding:13px;border:1px solid var(--line);border-radius:10px;text-decoration:none}.portal-map a>span{color:var(--teal-600)}.portal-map strong,.portal-map small{display:block}.portal-map strong{font-size:.78rem}.portal-map small{font-size:.65rem;color:var(--muted)}.activity{display:grid}.activity>div{display:flex;justify-content:space-between;gap:13px;padding:10px 0;border-bottom:1px solid #edf1f4;font-size:.73rem}.activity small{color:var(--muted);white-space:nowrap}.quick-links{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.quick-links a{display:flex;align-items:center;gap:9px;padding:14px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--navy-700);font-size:.76rem;font-weight:800}.quick-links a .icon{color:var(--teal-600)}.workspace-grid{display:grid;grid-template-columns:minmax(360px,.82fr) minmax(470px,1.18fr);gap:18px}.admin-form{display:grid;gap:13px}.admin-form label{display:grid;gap:6px;font-size:.76rem;font-weight:750}.admin-form input,.admin-form textarea,.admin-form select,.contact-admin-list select{width:100%;border:1px solid #c8d5de;border-radius:8px;padding:9px 10px;background:#fff;font:inherit;font-size:.8rem}.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus{outline:3px solid rgba(26,163,152,.14);border-color:var(--teal-500)}.admin-form textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:11px}.form-help{margin:-5px 0 2px;color:var(--muted);font-size:.68rem}.check-row{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:8px!important}.check-row input{width:auto;margin-top:3px}.info-box{display:flex;gap:9px;background:#eef9f7;border:1px solid #bddfdb;border-radius:9px;padding:12px;margin-bottom:14px;font-size:.73rem;color:#375f5c}.info-box p{margin:0}.record-list{display:grid}.record-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:13px;align-items:center;padding:13px 0;border-bottom:1px solid #e9eef2}.record-list.image-records article,.record-list article:has(.record-placeholder),.record-list article:has(.record-initials){grid-template-columns:auto minmax(0,1fr) auto}.record-list article>div:not(.row-actions){min-width:0}.record-list small,.record-list strong{display:block}.record-list small{color:var(--muted);font-size:.64rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-list strong{font-size:.78rem;line-height:1.3;margin:3px 0}.record-list img,.record-placeholder,.record-initials{width:46px;height:46px;border-radius:9px;object-fit:cover}.record-placeholder,.record-initials{display:grid;place-items:center;background:var(--teal-100);color:var(--teal-600)}.record-initials{border-radius:50%;font-weight:850}.powerbi-color{background:#fff2c2;color:#785b00}.row-actions{display:flex;gap:5px}.row-actions a{width:31px;height:31px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;color:var(--navy-700);text-decoration:none}.row-actions a .icon{width:15px;height:15px}.row-actions a.danger{color:var(--danger)}.media-upload{margin-bottom:18px}.media-form{grid-template-columns:1fr 1fr 1fr auto;align-items:end}.media-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.media-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.media-card>img,.media-file{width:100%;aspect-ratio:16/10;object-fit:cover;background:#eaf1f5}.media-file{display:grid;place-items:center;align-content:center;gap:7px;color:var(--teal-600)}.media-card>div:last-child{padding:13px;display:grid;gap:5px}.media-card strong{font-size:.75rem}.media-card small{font-size:.62rem;color:var(--muted)}.media-card code{font-size:.59rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#f1f5f7;padding:5px;border-radius:5px}.contact-admin-list{display:grid;gap:13px}.contact-admin-list>article{display:grid;grid-template-columns:1fr 180px;gap:25px}.contact-admin-list span{font-size:.63rem;color:var(--teal-600);font-weight:850;text-transform:uppercase}.contact-admin-list h2{font-size:1.05rem}.contact-admin-list p{font-size:.8rem;color:#43596a}.contact-admin-list small{font-size:.68rem;color:var(--muted)}.contact-admin-list form{display:grid;gap:9px;align-content:start;font-size:.72rem}.role-help{margin-top:18px;padding:14px;background:#f0f6f7;border:1px solid var(--line);border-radius:9px}.role-help h3{font-size:.8rem;margin-top:0}.role-help p{font-size:.7rem;color:var(--muted)}.two-column-form{grid-template-columns:1fr 1fr;gap:22px}.form-section{display:grid;gap:13px;padding:19px;border:1px solid var(--line);border-radius:11px}.form-section h2{font-size:.95rem;margin:0;color:var(--navy-900)}.span-all{grid-column:1/-1}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:9px}table{border-collapse:collapse;width:100%;font-size:.72rem}th,td{text-align:left;padding:10px 11px;border-bottom:1px solid #e5ebef;white-space:nowrap}th{background:#f4f7f9;color:#556575}td small{display:block;color:var(--muted);font-size:.6rem}.login-body{background:var(--navy-950);min-height:100vh}.login-layout{display:grid;grid-template-columns:1.12fr .88fr;min-height:100vh}.login-information{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:42px 7vw;background:radial-gradient(circle at 18% 20%,#174c6b 0,transparent 35%),linear-gradient(130deg,var(--navy-950),var(--navy-800));color:#fff}.login-information:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(65,199,187,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(65,199,187,.06) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to right,#000,transparent)}.login-information>*{position:relative;z-index:1}.login-brand{display:flex;align-items:center;gap:11px;text-decoration:none}.login-brand>span{width:43px;height:47px;display:grid;place-items:center;background:var(--teal-600);clip-path:polygon(50% 0,94% 17%,88% 70%,50% 100%,12% 70%,6% 17%)}.login-brand strong,.login-brand small{display:block}.login-brand strong{font-size:.78rem}.login-brand small{font-size:.65rem;color:#a9bfcd}.login-information h1{font-size:clamp(2.5rem,4.8vw,4.5rem);line-height:1.03;max-width:720px;margin:.2em 0}.login-information>div>p{max-width:620px;color:#bdd0db}.login-eyebrow{color:var(--teal-400);font-size:.67rem;font-weight:850;letter-spacing:.13em}.login-features{display:flex;gap:15px;flex-wrap:wrap;margin-top:25px}.login-features span{display:flex;align-items:center;gap:6px;font-size:.71rem;color:#c8d8e1}.login-features .icon{color:var(--teal-400)}.login-panel{display:grid;place-items:center;background:#eef3f6;padding:30px}.login-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:var(--shadow)}.login-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:11px;background:var(--teal-100);color:var(--teal-600)}.login-kicker{color:var(--teal-600)!important;font-size:.62rem!important;font-weight:850;letter-spacing:.11em;margin-top:18px!important}.login-card h2{font-size:1.7rem;margin:3px 0}.login-card>p{color:var(--muted);font-size:.8rem}.login-card form{display:grid;gap:13px;margin:23px 0}.login-card form label{display:grid;gap:6px;font-size:.75rem;font-weight:750}.login-card input{width:100%;border:1px solid #c8d5de;border-radius:9px;padding:11px}.login-card>a{font-size:.72rem;color:var(--navy-700)}@media(max-width:1180px){.admin-metrics{grid-template-columns:repeat(3,1fr)}.workspace-grid{grid-template-columns:1fr}.media-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:850px){.admin-shell{display:block}.sidebar{position:fixed;z-index:60;left:-285px;width:270px;transition:.2s}.sidebar.open{left:0}.sidebar-toggle{display:grid;place-items:center}.admin-content{padding:17px}.admin-top{padding:0 16px}.admin-user>div{display:none}.admin-grid,.two-column-form{grid-template-columns:1fr}.media-form{grid-template-columns:1fr 1fr}.login-layout{grid-template-columns:1fr}.login-information{display:none}.login-panel{min-height:100vh}.contact-admin-list>article{grid-template-columns:1fr}.quick-links{grid-template-columns:1fr 1fr}}@media(max-width:560px){.admin-title span{display:none}.admin-title strong{font-size:.82rem}.admin-welcome,.admin-section-head{align-items:flex-start;flex-direction:column}.admin-metrics{grid-template-columns:1fr 1fr}.portal-map,.form-row,.quick-links,.media-form,.media-grid{grid-template-columns:1fr}.panel{padding:16px}.admin-content{padding:12px}.record-list.image-records article,.record-list article:has(.record-placeholder),.record-list article:has(.record-initials){grid-template-columns:auto minmax(0,1fr)}.record-list .row-actions{grid-column:2}.login-card{padding:25px}}


/* Ajuste de iconografía administrativa v6 */
.icon{vector-effect:non-scaling-stroke}
.admin-nav a .icon,
.sidebar-foot a .icon,
.admin-btn .icon,
.sidebar-toggle .icon,
.quick-links a .icon,
.portal-map a .icon,
.metric-admin-icon .icon,
.alert .icon,
.row-actions a .icon,
.login-icon .icon,
.login-features .icon,
.media-file .icon{
  width:12px;
  height:12px;
  flex:0 0 12px;
  stroke-width:2;
}
.admin-nav a .icon,
.sidebar-foot a .icon,
.quick-links a .icon,
.portal-map a .icon{
  opacity:.96;
  transition:transform .18s ease, opacity .18s ease, color .18s ease;
}
.admin-nav a:hover .icon,
.admin-nav a.active .icon,
.sidebar-foot a:hover .icon,
.quick-links a:hover .icon,
.portal-map a:hover .icon{
  transform:translateY(-1px);
  opacity:1;
}
.metric-admin-icon{
  width:36px;
  height:36px;
  border-radius:10px;
}
.row-actions a{
  width:30px;
  height:30px;
}
.admin-nav a,
.sidebar-foot a,
.quick-links a,
.portal-map a,
.admin-btn{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}


/* =========================================================
   Sistema responsive integral v7: panel administrativo
   ========================================================= */
html{font-size:16px;-webkit-text-size-adjust:100%}
body{overflow-x:hidden}
img,video,canvas{max-width:100%;height:auto}
svg{max-width:100%}
button,input,select,textarea{max-width:100%}
.admin-main,.admin-content,.panel,.workspace-grid>*{min-width:0}
.admin-content{width:100%;max-width:1600px;margin-inline:auto}
.admin-title strong,.admin-brand strong,.panel-head h2,.record-list strong,.quick-links a,.portal-map strong{overflow-wrap:anywhere}
.admin-welcome h1,.admin-section-head h1{font-size:clamp(1.35rem,2.4vw,1.8rem)}
.admin-welcome p,.admin-section-head p{font-size:clamp(.78rem,1.2vw,.9rem)}
.admin-metrics{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
.admin-metrics>a{min-height:78px}
.admin-metrics strong{font-size:clamp(1.2rem,2vw,1.55rem)}
.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.quick-links{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}
.portal-map{grid-template-columns:repeat(auto-fit,minmax(205px,1fr))}
.media-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.media-card>img,.media-file{display:block;width:100%;height:auto;min-height:140px;aspect-ratio:16/10;object-fit:cover}
.record-list img{display:block;max-width:none}
.table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.table-wrap table{min-width:720px}
th,td{vertical-align:middle}
.admin-form input,.admin-form textarea,.admin-form select,.contact-admin-list select{min-width:0}
.admin-form textarea{max-width:100%}
.sidebar-toggle{width:38px;height:38px;place-items:center;flex:0 0 auto}
.admin-backdrop{display:none}

@media(max-width:1280px){
  .admin-shell{grid-template-columns:250px minmax(0,1fr)}
  .sidebar{padding-inline:12px}
  .admin-content{padding:22px}
  .workspace-grid{grid-template-columns:minmax(320px,.85fr) minmax(430px,1.15fr)}
}

@media(max-width:1024px){
  .admin-grid,.workspace-grid,.two-column-form{grid-template-columns:1fr}
  .contact-admin-list>article{grid-template-columns:minmax(0,1fr) 165px}
  .media-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .media-form .admin-btn{width:100%}
}

@media(max-width:850px){
  .admin-shell{display:block;min-height:100dvh}
  .sidebar{
    position:fixed;
    inset:0 auto 0 0;
    z-index:70;
    width:min(82vw,285px);
    height:100dvh;
    transform:translateX(-105%);
    transition:transform .24s ease;
    box-shadow:18px 0 44px rgba(4,17,29,.28);
  }
  .sidebar.open{left:0;transform:translateX(0)}
  .admin-backdrop{
    position:fixed;
    inset:0;
    z-index:65;
    display:block;
    background:rgba(5,20,13,.48);
    opacity:0;
    visibility:hidden;
    transition:opacity .2s ease,visibility .2s ease;
  }
  .admin-backdrop.open{opacity:1;visibility:visible}
  .admin-top{height:auto;min-height:64px;padding:10px 16px;gap:12px}
  .admin-content{padding:17px}
  .admin-user>span{width:32px;height:32px}
  .admin-title{min-width:0}
  .admin-title strong{font-size:clamp(.78rem,3.3vw,.92rem);white-space:normal}
  .admin-welcome,.admin-section-head{align-items:flex-start;flex-direction:column;gap:14px;padding:22px}
  .admin-welcome .admin-btn,.admin-section-head .admin-btn{width:100%}
  .panel{padding:18px}
  .panel-head{align-items:flex-start;flex-wrap:wrap}
  .contact-admin-list>article{grid-template-columns:1fr}
  .record-list article,.record-list.image-records article,.record-list article:has(.record-placeholder),.record-list article:has(.record-initials){grid-template-columns:auto minmax(0,1fr)}
  .record-list .row-actions{grid-column:2;justify-content:flex-start;flex-wrap:wrap}
}

@media(max-width:640px){
  .admin-content{padding:12px}
  .admin-welcome,.admin-section-head{padding:18px;border-radius:13px}
  .admin-metrics{grid-template-columns:1fr 1fr;gap:9px}
  .admin-metrics>a{padding:12px;min-height:72px}
  .metric-admin-icon{width:34px;height:34px}
  .admin-grid{grid-template-columns:1fr}
  .panel{padding:15px;border-radius:12px}
  .form-row,.media-form,.two-column-form{grid-template-columns:1fr}
  .form-section{padding:15px}
  .quick-links,.portal-map,.media-grid{grid-template-columns:1fr}
  .quick-links a,.portal-map a{min-height:52px}
  .activity>div{align-items:flex-start;flex-direction:column;gap:4px}
  .activity small{white-space:normal}
  .record-list article,.record-list.image-records article,.record-list article:has(.record-placeholder),.record-list article:has(.record-initials){grid-template-columns:42px minmax(0,1fr)}
  .record-list img,.record-placeholder,.record-initials{width:42px;height:42px}
  .record-list .row-actions{grid-column:1/-1;padding-left:50px}
  .media-card>img,.media-file{min-height:0;aspect-ratio:4/3}
  .admin-form label,.contact-admin-list form{font-size:.78rem}
  .admin-form input,.admin-form textarea,.admin-form select,.contact-admin-list select{font-size:16px;padding:11px}
  .table-wrap{margin-inline:-2px;width:calc(100% + 4px)}
  .login-panel{padding:16px}
  .login-card{padding:22px;border-radius:15px}
  .login-card h2{font-size:clamp(1.35rem,7vw,1.7rem)}
}

@media(max-width:390px){
  .admin-metrics{grid-template-columns:1fr}
  .admin-top{padding-inline:10px}
  .admin-title span{display:none}
  .admin-user{gap:5px}
  .panel{padding:13px}
  .row-actions a{width:32px;height:32px}
}

@media(prefers-reduced-motion:reduce){
  .sidebar,.admin-backdrop,.admin-nav a .icon,.sidebar-foot a .icon,.quick-links a .icon,.portal-map a .icon{transition:none!important}
}
