@import url('./base.css');
body{background:#edf3f0;min-height:100vh}.panel-shell{min-height:100vh;display:grid;grid-template-columns:235px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#073e34,#062f28);color:#dce9e4;padding:22px 15px 18px;display:flex;flex-direction:column;z-index:50}.side-brand{display:flex;align-items:center;gap:10px;padding:0 10px 20px}.side-brand .brand-mark{width:36px;height:28px;position:relative}.side-brand .brand-mark:before,.side-brand .brand-mark:after{content:"";position:absolute;bottom:0;width:11px;height:25px;background:#fff;transform:skew(-34deg);border-radius:2px}.side-brand .brand-mark:before{left:4px}.side-brand .brand-mark:after{left:17px;height:19px;background:#d5b061}.side-brand strong{display:block;color:#fff;font-size:16px;letter-spacing:.08em}.side-brand small{display:block;color:#d4b064;font-size:7px;letter-spacing:.26em;font-weight:900}.side-nav{display:grid;gap:4px}.side-link{display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:10px;font-size:.79rem;color:#d5e5df}.side-link [data-icon]{font-size:18px}.side-link:hover,.side-link.active{background:#0f6b55;color:#fff}.side-spacer{flex:1}.side-photo{border-radius:16px;overflow:hidden;min-height:210px;background:linear-gradient(180deg,rgba(4,41,34,.1),rgba(4,41,34,.86)),url('../img/yarumal-basilica.png') center/cover;margin:14px 4px 12px;padding:118px 15px 14px;color:#fff}.side-photo b{font-family:Georgia,serif;font-size:1.28rem;line-height:1.05;display:block}.side-photo small{display:block;font-size:.66rem;line-height:1.45;color:#dce8e4;margin-top:8px}.side-logout{border:0;background:transparent;color:#bfd0c9;display:flex;align-items:center;gap:9px;padding:9px 10px;font-size:.75rem}
.app{min-width:0}.topbar{height:66px;background:#fff;border-bottom:1px solid var(--vtx-line);display:flex;align-items:center;gap:12px;padding:0 18px;position:sticky;top:0;z-index:45}.top-select{height:40px;border:1px solid var(--vtx-line);border-radius:10px;background:#fff;display:flex;align-items:center;gap:8px;padding:0 12px;font-size:.75rem;min-width:190px}.top-select [data-icon]{font-size:17px;color:var(--vtx-green)}.top-search{margin-left:auto;max-width:330px;flex:1;height:40px;border:1px solid var(--vtx-line);border-radius:10px;display:flex;align-items:center;gap:8px;padding:0 11px;background:#fbfdfc}.top-search input{border:0;background:transparent;outline:0;width:100%;font-size:.74rem}.top-icons{display:flex;align-items:center;gap:7px}.notify{position:relative}.notify:after{content:attr(data-count);position:absolute;right:-4px;top:-5px;background:#e05e58;color:#fff;font-size:8px;min-width:16px;height:16px;padding:0 3px;border-radius:999px;display:none;place-items:center;font-weight:900}.notify.has-notifications:after{display:grid}.profile{display:flex;align-items:center;gap:8px;padding-left:6px}.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#c7dbd3,#688f81);display:grid;place-items:center;color:#fff;font-weight:900}.profile b{display:block;font-size:.72rem}.profile small{display:block;font-size:.6rem;color:var(--vtx-muted)}
.app-content{padding:16px}.dash-hero{height:178px;border-radius:18px;overflow:hidden;position:relative;background:linear-gradient(90deg,rgba(5,41,34,.91),rgba(5,41,34,.38)),url('../img/yarumal-basilica.png') center 36%/cover;color:#fff;padding:28px 30px}.dash-hero h1{font-family:Georgia,serif;font-size:2.6rem;line-height:.95;margin:6px 0 4px}.dash-hero h1 span{color:#e4c06d}.dash-hero p{font-size:.82rem;color:#e1ece8;line-height:1.5;margin:8px 0}.dash-script{position:absolute;right:28px;top:27px;font-family:Georgia,serif;font-style:italic;font-size:1.7rem;text-align:right}.dash-script small{display:block;font-family:Inter,sans-serif;font-style:normal;font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;color:#f0d8a2;margin-top:8px}
.kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:10px}.dash-kpi{padding:14px;display:flex;gap:11px;align-items:center}.dash-kpi .icon-wrap{width:40px;height:40px}.dash-kpi b{display:block;font-size:1.3rem}.dash-kpi span{display:block;font-size:.66rem;color:var(--vtx-muted)}.dash-kpi small{font-size:.58rem;color:var(--vtx-green-3);font-weight:900}
.main-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,.72fr);gap:12px;margin-top:12px}.left-stack,.right-stack{display:grid;gap:12px;align-content:start}.panel-card{background:#fff;border:1px solid var(--vtx-line);border-radius:15px;box-shadow:0 7px 24px rgba(9,48,38,.035);overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid #edf2f0}.panel-head h2,.panel-head h3{font-size:.95rem;margin:0}.panel-head p{font-size:.62rem;margin:2px 0 0;color:var(--vtx-muted)}.panel-link{border:0;background:transparent;color:var(--vtx-green-2);font-size:.65rem;font-weight:900}.map-panel{padding:0}.map-wrap{height:500px;position:relative;background:#e8eeeb url('../img/mapa-yarumal-ocha.png') 31% center/cover no-repeat}.map-wrap:before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.03)}.map-filter{position:absolute;left:13px;top:13px;background:rgba(255,255,255,.94);border:1px solid var(--vtx-line);border-radius:11px;padding:10px;display:grid;gap:7px;z-index:4;box-shadow:var(--vtx-shadow-sm);font-size:.65rem}.map-filter label{display:flex;gap:7px;align-items:center}.map-filter input{accent-color:var(--vtx-green-2)}.map-tool{position:absolute;left:13px;bottom:13px;display:grid;gap:5px}.map-tool button{width:32px;height:32px;border:1px solid var(--vtx-line);background:#fff;border-radius:8px;font-weight:900}.map-source-panel{position:absolute;left:55px;bottom:13px;background:rgba(255,255,255,.92);padding:7px 9px;border-radius:9px;font-size:.58rem;color:#465a52}.panel-marker{position:absolute;width:19px;height:19px;border-radius:50%;border:3px solid #fff;box-shadow:0 3px 10px rgba(0,0,0,.22);transform:translate(-50%,-50%);z-index:3}.panel-marker.need{background:var(--vtx-danger)}.panel-marker.proposal{background:var(--vtx-info)}.panel-marker.activity{background:var(--vtx-warning)}.panel-marker.commitment{background:var(--vtx-green-3)}
.agenda-list{padding:7px 15px 12px}.agenda-row{display:grid;grid-template-columns:47px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid #edf2f0}.agenda-row:last-child{border-bottom:0}.agenda-time{font-size:.65rem;font-weight:900;color:#243b33}.agenda-main{border-left:3px solid var(--vtx-green-3);padding-left:10px}.agenda-main b{font-size:.68rem;display:block}.agenda-main small{display:block;font-size:.58rem;color:var(--vtx-muted);margin-top:2px}.simple-list{padding:8px 15px 12px;display:grid;gap:8px}.simple-list-row{display:flex;gap:8px;align-items:center;font-size:.65rem}.simple-list-row i{width:8px;height:8px;border-radius:50%;background:var(--vtx-green-3)}.priority-list{padding:10px 15px 14px;display:grid;gap:9px}.priority-row{display:grid;grid-template-columns:1fr 80px 35px;gap:9px;align-items:center;font-size:.62rem}.progress{height:7px;background:#edf2f0;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;border-radius:999px}.task-list{padding:9px 15px 13px;display:grid;gap:8px}.task-item{display:flex;gap:8px;align-items:flex-start;font-size:.62rem}.task-item input{accent-color:var(--vtx-green-2)}
.pipeline{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:14px}.pipe-item{border-radius:12px;background:#f1f7f4;padding:12px;text-align:center;position:relative}.pipe-item:not(:last-child):after{content:"→";position:absolute;right:-9px;top:31px;color:var(--vtx-green-2);font-weight:900;z-index:3}.pipe-item:nth-child(3){background:#fff4db}.pipe-item:nth-child(4){background:#eaf1fb}.pipe-item b{font-size:.72rem;display:block;margin-top:7px}.pipe-item strong{display:block;font-size:1.25rem;margin-top:4px}.pipe-item .icon-wrap{width:38px;height:38px;margin:auto}
.two-col{display:grid;grid-template-columns:1.15fr .85fr;gap:12px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:.61rem}.data-table th{text-align:left;background:#f7faf8;color:#6d7d76;font-weight:800;padding:9px 10px;white-space:nowrap}.data-table td{padding:9px 10px;border-top:1px solid #edf2f0;white-space:nowrap}.comm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:12px}.comm-stat{border:1px solid var(--vtx-line);border-radius:11px;padding:9px;text-align:center}.comm-stat b{display:block;font-size:1.1rem}.comm-stat span{font-size:.56rem;color:var(--vtx-muted)}.sessions{padding:0 12px 12px}.sessions-title{display:flex;justify-content:space-between;font-size:.63rem;font-weight:900;padding:4px 0 8px}.session-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.session{border:1px solid var(--vtx-line);border-radius:10px;padding:9px}.session b{font-size:.62rem}.session span{display:block;font-size:.55rem;color:var(--vtx-green-3);font-weight:900;margin:3px 0}.session small{font-size:.53rem;color:var(--vtx-muted)}
.proposal-list{padding:8px 15px 13px;display:grid;gap:8px}.proposal-row{display:grid;grid-template-columns:1.4fr .8fr 50px 90px;gap:8px;align-items:center;font-size:.59rem}.proposal-row .progress{height:8px}.proposal-row .badge{justify-content:center;font-size:.55rem}.consent-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:12px}.consent-stat{border:1px solid var(--vtx-line);border-radius:10px;padding:10px}.consent-stat b{font-size:1.05rem;display:block}.consent-stat span{font-size:.54rem;color:var(--vtx-muted)}.capture-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:0 12px 12px}.capture-card{background:#f7faf8;border-radius:10px;padding:9px;text-align:center}.capture-card b{display:block}.capture-card span{font-size:.54rem;color:var(--vtx-muted)}
.bottom-charts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.chart-box{padding:14px}.chart-box svg{width:100%;height:220px}.zone-bars{padding:10px 15px 15px;display:grid;gap:8px}.zone-row{display:grid;grid-template-columns:120px 1fr 30px;gap:9px;align-items:center;font-size:.6rem}.zone-bar{height:11px;background:#eef3f1;border-radius:999px;overflow:hidden}.zone-bar span{height:100%;display:block;background:linear-gradient(90deg,#0d6a53,#8ec5b0);border-radius:999px}.panel-footer{margin-top:14px;background:#07362e;color:#afc8bf;padding:19px 22px;border-radius:15px 15px 0 0;display:flex;justify-content:space-between;gap:20px;font-size:.62rem}
.login-overlay{position:fixed;inset:0;background:linear-gradient(90deg,rgba(5,42,35,.94),rgba(5,42,35,.72)),url('../img/yarumal-basilica.png') center/cover;z-index:500;display:flex;align-items:center;justify-content:center;padding:20px}.login-overlay.is-hidden{display:none}.login-card{width:min(450px,100%);background:rgba(255,255,255,.97);border:1px solid rgba(255,255,255,.6);border-radius:25px;padding:28px;box-shadow:0 35px 100px rgba(0,0,0,.28)}.login-brand{display:flex;gap:11px;align-items:center;margin-bottom:24px}.login-card h1{font-family:Georgia,serif;font-size:2rem;margin:0 0 6px}.login-card p{color:var(--vtx-muted);font-size:.77rem;line-height:1.55}.demo-access{background:var(--vtx-green-soft);border-radius:12px;padding:11px;font-size:.68rem;margin:14px 0}.demo-access b{display:block;color:var(--vtx-green)}
.mobile-side-toggle{display:none}
@media(max-width:1100px){.panel-shell{grid-template-columns:78px 1fr}.sidebar{padding-inline:9px}.side-brand{justify-content:center}.side-brand div:last-child,.side-link span:last-child,.side-photo,.side-logout span:last-child{display:none}.side-link{justify-content:center}.side-link [data-icon]{font-size:21px}.kpi-grid{grid-template-columns:repeat(3,1fr)}.main-grid{grid-template-columns:1fr}.two-col,.bottom-charts{grid-template-columns:1fr}}
@media(max-width:760px){.panel-shell{display:block}.sidebar{position:fixed;left:-245px;width:235px;transition:.25s;z-index:120}.sidebar.open{left:0}.side-brand{justify-content:flex-start}.side-brand div:last-child,.side-link span:last-child,.side-photo,.side-logout span:last-child{display:block}.side-link{justify-content:flex-start}.topbar{padding:0 10px}.mobile-side-toggle{display:grid}.top-select.date-range,.top-search,.profile div:last-child{display:none}.top-select{min-width:0;flex:1}.app-content{padding:10px}.dash-hero{height:210px;padding:22px}.dash-hero h1{font-size:2.2rem}.dash-script{display:none}.kpi-grid{grid-template-columns:1fr 1fr}.map-wrap{height:390px}.pipeline{grid-template-columns:1fr}.pipe-item:not(:last-child):after{content:"↓";position:static;display:block;margin-top:6px}.proposal-row{grid-template-columns:1fr}.consent-grid,.capture-row{grid-template-columns:1fr 1fr}.panel-footer{display:block}.main-grid{display:block}.right-stack{margin-top:12px}}
.login-form{display:grid;gap:10px;margin:14px 0}.login-form label{display:grid;gap:5px}.login-form label span{font-size:.65rem;font-weight:900;color:#31463f}.login-form input{height:42px;border:1px solid var(--vtx-line);border-radius:10px;padding:0 12px;font:inherit;font-size:.76rem;outline:0;background:#fbfdfc}.login-form input:focus{border-color:var(--vtx-green-2);box-shadow:0 0 0 3px rgba(15,107,85,.09)}.login-error{background:#fff0ee;border:1px solid #f0c1ba;color:#9b3e33;border-radius:10px;padding:9px 10px;font-size:.65rem}.profile [data-profile-name]{display:block}.profile [data-profile-role]{display:block}

/* ===== V3 modular pilot ===== */
.module-root{min-height:calc(100vh - 66px)}
.module-head{display:flex;align-items:end;justify-content:space-between;gap:24px;background:#fff;border:1px solid var(--vtx-line);border-radius:18px;padding:22px 24px;margin-bottom:12px;box-shadow:0 8px 26px rgba(8,45,36,.035)}
.module-head h1{font-family:Georgia,serif;font-size:2rem;line-height:1.05;margin:4px 0 6px;color:#18362d}.module-head p{margin:0;color:var(--vtx-muted);font-size:.78rem;line-height:1.55}.kicker{text-transform:uppercase;letter-spacing:.16em;color:#9a7628;font-size:.58rem;font-weight:900}.module-loading,.module-error,.empty-state{background:#fff;border:1px dashed var(--vtx-line);border-radius:16px;padding:28px;color:var(--vtx-muted);text-align:center}.module-error h2{font-family:Georgia,serif;color:#8f3b33}
.ops-hero{min-height:210px;border-radius:20px;padding:30px;display:flex;justify-content:space-between;align-items:flex-end;color:#fff;margin-bottom:12px;background:linear-gradient(90deg,rgba(4,44,36,.94),rgba(4,44,36,.37)),url('../img/yarumal-basilica-2.png') center/cover;box-shadow:0 20px 50px rgba(7,49,39,.12)}.ops-hero span{font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:#f1d9a0;font-weight:900}.ops-hero h2{font-family:Georgia,serif;font-size:2.25rem;max-width:670px;margin:6px 0}.ops-hero p{max-width:650px;color:#d7e5df;font-size:.76rem}.hero-signal{width:100px;height:100px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:grid;place-items:center;text-align:center;backdrop-filter:blur(4px);background:rgba(255,255,255,.08)}.hero-signal b{font-size:1.8rem}.hero-signal small{font-size:.52rem;line-height:1.3}
.ops-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:12px}.ops-kpi{background:#fff;border:1px solid var(--vtx-line);border-radius:15px;padding:15px;box-shadow:0 7px 24px rgba(9,48,38,.03)}.ops-kpi span,.ops-kpi small{display:block;color:var(--vtx-muted);font-size:.6rem}.ops-kpi b{display:block;font-size:1.45rem;margin:4px 0;color:#153b31}.ops-grid{display:grid;gap:12px;margin-bottom:12px}.ops-grid.two{grid-template-columns:1fr 1fr}.compact-list{padding:8px 14px}.compact-list>div{display:grid;grid-template-columns:10px 1.2fr .8fr auto;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #edf2f0;font-size:.62rem}.compact-list>div:last-child{border-bottom:0}.compact-list small{color:var(--vtx-muted)}.topic-dot,.calendar-dot,.task-dot{width:8px;height:8px;border-radius:50%;background:#0f6b55}.calendar-dot{background:#c79733}.task-dot.alta{background:#d65a4d}.task-dot.media{background:#c79733}.task-dot.baja{background:#6ba98f}
.proposal-stack{padding:10px 14px;display:grid;gap:10px}.proposal-mini{display:grid;grid-template-columns:1.3fr 1fr 40px;gap:10px;align-items:center;font-size:.62rem}.proposal-mini small{display:block;color:var(--vtx-muted);margin-top:2px}.proposal-mini .progress{height:8px}.proposal-mini .progress i{display:block;height:100%;background:#0f6b55;border-radius:999px}
.territory-layout{display:grid;grid-template-columns:minmax(0,1.5fr) 320px;gap:12px;margin-bottom:12px}.territory-map-card{min-height:600px}.real-map-stage{height:530px;position:relative;background:#e8eeeb;overflow:hidden}.real-map-stage>img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(.96)}.map-overlay{position:absolute;inset:0}.geo-marker{position:absolute;width:18px;height:18px;border:3px solid #fff;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.28);transform:translate(-50%,-50%)}.geo-marker.need{background:#d9584b}.geo-marker.activity{background:#d6a642}.map-legend{position:absolute;right:14px;bottom:14px;background:rgba(255,255,255,.94);border:1px solid var(--vtx-line);border-radius:12px;padding:10px;display:grid;gap:6px;font-size:.58rem}.map-legend span{display:flex;align-items:center;gap:7px}.map-legend .m{width:8px;height:8px;border-radius:50%}.map-legend .need{background:#d9584b}.map-legend .activity{background:#d6a642}.map-legend .commitment{background:#0f6b55}.filter-chips{display:flex;gap:6px;flex-wrap:wrap}.filter-chips span{background:#eef5f2;border-radius:999px;padding:6px 8px;font-size:.54rem;color:#456057}.zone-list{padding:8px}.zone-list button{width:100%;border:0;border-bottom:1px solid #eef2f0;background:transparent;display:flex;justify-content:space-between;align-items:center;padding:11px 9px;text-align:left}.zone-list button:hover{background:#f6faf8}.zone-list b{display:block;font-size:.68rem}.zone-list small{display:block;color:var(--vtx-muted);font-size:.55rem;margin-top:2px}.zone-list strong{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eef5f2;color:#0d5e4b;font-size:.68rem}
.inline-form{margin-bottom:12px}.inline-form.hidden{display:none}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}.form-grid label{display:grid;gap:5px}.form-grid label.full{grid-column:1/-1}.form-grid label span{font-size:.61rem;font-weight:900;color:#385148}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid var(--vtx-line);border-radius:10px;padding:10px 11px;background:#fbfdfc;font:inherit;font-size:.72rem;outline:0}.form-grid textarea{min-height:88px;resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#0f6b55;box-shadow:0 0 0 3px rgba(15,107,85,.08)}.checkbox-line{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.table-select,.progress-input{border:1px solid var(--vtx-line);border-radius:8px;padding:5px 7px;background:#fff;font-size:.6rem}.progress-input{width:70px}
.commit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px}.commit-grid article{border:1px solid var(--vtx-line);border-radius:13px;padding:13px}.commit-grid article>span{font-size:.52rem;color:#0f6b55;font-weight:900;text-transform:uppercase}.commit-grid h4{font-size:.76rem;margin:6px 0}.commit-grid p,.commit-grid small{font-size:.56rem;color:var(--vtx-muted)}
.proposal-board{display:grid;grid-template-columns:repeat(5,minmax(200px,1fr));gap:10px;overflow:auto;padding-bottom:6px;margin-bottom:12px}.proposal-column{background:#f5f9f7;border:1px solid var(--vtx-line);border-radius:15px;min-width:210px;padding:8px}.proposal-column>header{display:flex;justify-content:space-between;padding:6px 7px 10px;font-size:.64rem}.proposal-column>header span{width:24px;height:24px;border-radius:50%;background:#fff;display:grid;place-items:center}.proposal-column article{background:#fff;border:1px solid #e6eeea;border-radius:12px;padding:11px;margin-bottom:8px}.proposal-column article>span{font-size:.5rem;text-transform:uppercase;color:#9a7628;font-weight:900}.proposal-column h4{font-size:.72rem;margin:5px 0}.proposal-column p{font-size:.56rem;color:var(--vtx-muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.proposal-column small{font-size:.52rem;color:var(--vtx-muted)}.proposal-column .progress{height:6px;margin:8px 0}.proposal-column .progress i{height:100%;display:block;background:#0f6b55;border-radius:999px}.empty-column{font-size:.58rem;color:var(--vtx-muted);padding:18px;text-align:center}
.calendar-strip{display:grid;grid-template-columns:repeat(4,minmax(210px,1fr));gap:10px;overflow:auto;margin-bottom:12px}.calendar-card{background:#fff;border:1px solid var(--vtx-line);border-radius:15px;padding:16px;min-width:220px}.calendar-card time{display:block;font-size:.58rem;color:#9a7628;font-weight:900}.calendar-card>span{display:inline-block;font-size:.5rem;background:#eef5f2;border-radius:999px;padding:4px 7px;margin:7px 0}.calendar-card h3{font-size:.82rem;margin:4px 0}.calendar-card p,.calendar-card small{font-size:.58rem;color:var(--vtx-muted)}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.team-card{background:#fff;border:1px solid var(--vtx-line);border-radius:16px;padding:18px;display:flex;gap:12px;align-items:flex-start}.team-avatar{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#0f6b55,#86b8a5);display:grid;place-items:center;color:#fff;font-weight:900}.team-card span{font-size:.5rem;color:#0f6b55;text-transform:uppercase;font-weight:900}.team-card h3{font-size:.83rem;margin:4px 0}.team-card p,.team-card small{font-size:.58rem;color:var(--vtx-muted)}
.task-board{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.task-column{background:#f5f9f7;border:1px solid var(--vtx-line);border-radius:16px;padding:10px}.task-column>header{display:flex;justify-content:space-between;padding:6px;font-size:.68rem}.task-column article{background:#fff;border:1px solid var(--vtx-line);border-radius:12px;padding:12px;margin-bottom:8px}.task-column .priority{font-size:.5rem;text-transform:uppercase;font-weight:900}.priority.alta{color:#bb463b}.priority.media{color:#9d7724}.priority.baja{color:#397e68}.task-column h4{font-size:.74rem;margin:6px 0}.task-column p,.task-column small{font-size:.56rem;color:var(--vtx-muted)}.task-column button,.mini-btn{margin-top:9px;border:0;border-radius:8px;padding:6px 8px;background:#eef5f2;color:#0f6b55;font-size:.55rem;font-weight:900}.mini-btn.danger{background:#fff0ee;color:#a2473d}
.comms-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.comms-stats article{background:#fff;border:1px solid var(--vtx-line);border-radius:14px;padding:15px}.comms-stats span{font-size:.58rem;color:var(--vtx-muted)}.comms-stats b{display:block;font-size:1.4rem;margin-top:4px}.content-list{padding:10px;display:grid;gap:9px}.content-card{border:1px solid var(--vtx-line);border-radius:12px;padding:12px}.content-card>span{font-size:.5rem;text-transform:uppercase;color:#9a7628;font-weight:900}.content-card h4{font-size:.75rem;margin:5px 0}.content-card p,.content-card small{font-size:.56rem;color:var(--vtx-muted);line-height:1.45}.session-grid{padding:12px;display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.session-card{border:1px solid var(--vtx-line);border-radius:12px;padding:12px;display:flex;gap:10px}.status-dot{width:10px;height:10px;border-radius:50%;background:#9aa8a2;margin-top:4px}.status-dot.online{background:#1b9b6c}.status-dot.offline{background:#d2a24a}.session-card b,.session-card span,.session-card small{display:block}.session-card b{font-size:.7rem}.session-card span,.session-card small{font-size:.55rem;color:var(--vtx-muted);margin-top:3px}
.doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.doc-card{background:#fff;border:1px solid var(--vtx-line);border-radius:15px;padding:16px;display:flex;gap:12px}.doc-icon{width:44px;height:44px;border-radius:12px;background:#eef5f2;display:grid;place-items:center;color:#0f6b55;font-size:1.2rem}.doc-card span{font-size:.5rem;text-transform:uppercase;color:#9a7628;font-weight:900}.doc-card h3{font-size:.77rem;margin:5px 0}.doc-card p,.doc-card small{font-size:.56rem;color:var(--vtx-muted)}
.indicator-hero{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.indicator-hero>div{background:#fff;border:1px solid var(--vtx-line);border-radius:15px;padding:18px}.indicator-hero span,.indicator-hero small{font-size:.58rem;color:var(--vtx-muted);display:block}.indicator-hero b{font-size:1.7rem;display:block;margin:4px 0}.bar-chart{padding:14px;display:grid;gap:10px}.bar-chart>div{display:grid;grid-template-columns:120px 1fr 36px;gap:9px;align-items:center;font-size:.6rem}.bar-chart i{height:10px;background:#eef3f1;border-radius:999px;overflow:hidden}.bar-chart i b{display:block;height:100%;background:linear-gradient(90deg,#0f6b55,#8ab8a6);border-radius:999px}.qr-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px}.qr-admin-grid article{border:1px solid var(--vtx-line);border-radius:12px;padding:12px}.qr-admin-grid span{font-size:.5rem;text-transform:uppercase;color:#9a7628}.qr-admin-grid h4{font-size:.72rem;margin:4px 0}.qr-admin-grid p,.qr-admin-grid b{font-size:.55rem;color:var(--vtx-muted)}
.config-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.config-grid article{background:#fff;border:1px solid var(--vtx-line);border-radius:16px;padding:18px}.config-grid span,.config-grid small{font-size:.56rem;color:var(--vtx-muted);display:block}.config-grid b{font-size:.82rem;display:block;margin:6px 0;color:#153b31}
.vtx-toast{position:fixed;right:20px;bottom:20px;z-index:600;background:#153b31;color:#fff;padding:13px 17px;border-radius:12px;box-shadow:0 20px 50px rgba(0,0,0,.15);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.vtx-toast.show{opacity:1;transform:none}.vtx-toast[data-type="success"]{background:#0b6f50}.vtx-toast[data-type="warn"]{background:#9f6f20}
@media(max-width:1200px){.ops-kpis{grid-template-columns:repeat(3,1fr)}.territory-layout{grid-template-columns:1fr}.territory-zones{max-height:360px;overflow:auto}.team-grid{grid-template-columns:repeat(2,1fr)}.proposal-board{grid-template-columns:repeat(5,220px)}.calendar-strip{grid-template-columns:repeat(4,230px)}.config-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.module-head{display:block}.module-head .btn{margin-top:12px}.ops-grid.two,.task-board,.comms-stats,.indicator-hero{grid-template-columns:1fr}.ops-kpis{grid-template-columns:1fr 1fr}.ops-hero{min-height:260px}.hero-signal{display:none}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.team-grid,.doc-grid,.qr-admin-grid,.config-grid{grid-template-columns:1fr}.commit-grid{grid-template-columns:1fr}.real-map-stage{height:420px}.bar-chart>div{grid-template-columns:95px 1fr 28px}.session-grid{grid-template-columns:1fr}}
.role-matrix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px}.role-matrix article{border:1px solid var(--vtx-line);border-radius:12px;padding:12px;background:#fbfdfc}.role-matrix b{font-size:.7rem}.role-matrix p{font-size:.55rem;color:var(--vtx-muted);line-height:1.55;margin:5px 0 0;word-break:break-word}.switch-line{display:flex;align-items:center;gap:6px;font-size:.6rem}.switch-line input{accent-color:var(--vtx-green-2)}
.qr-manager-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}.qr-manager-card{border:1px solid var(--vtx-line);border-radius:15px;padding:13px;display:grid;grid-template-columns:140px 1fr;gap:14px}.qr-preview{background:#f7faf8;border-radius:12px;display:grid;place-items:center;padding:8px}.qr-preview img{width:120px;height:120px;object-fit:contain}.qr-copy>span{font-size:.5rem;color:#9a7628;font-weight:900;text-transform:uppercase}.qr-copy h3{font-size:.8rem;margin:4px 0}.qr-copy p,.qr-copy code{font-size:.56rem;color:var(--vtx-muted)}.qr-copy code{display:block;margin-top:7px;white-space:normal;word-break:break-all;background:#f5f8f7;padding:7px;border-radius:8px}.qr-scan-count{display:flex;gap:5px;align-items:baseline;margin:8px 0}.qr-scan-count b{font-size:1.25rem}.qr-scan-count small{font-size:.54rem;color:var(--vtx-muted)}.qr-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.gateway-banner{background:linear-gradient(90deg,#0e604e,#0a473b);color:#fff;border-radius:14px;padding:13px 16px;margin-bottom:12px;display:flex;justify-content:space-between;gap:15px;align-items:center}.gateway-banner.warning{background:linear-gradient(90deg,#8f6b20,#6f5014)}.gateway-banner span,.gateway-banner small{display:block;font-size:.55rem;color:#dbe8e3}.gateway-banner b{display:block;font-size:.75rem;margin:2px 0}.gateway-rule{font-size:.56rem;color:#e8dcc0}.session-actions{margin-top:6px}
.backup-list{padding:10px}.backup-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px;border-bottom:1px solid #edf2f0}.backup-row:last-child{border-bottom:0}.backup-row b{display:block;font-size:.68rem}.backup-row span{display:block;font-size:.55rem;color:var(--vtx-muted);margin-top:3px}
@media(max-width:900px){.qr-manager-grid,.role-matrix{grid-template-columns:1fr}.qr-manager-card{grid-template-columns:110px 1fr}.qr-preview img{width:95px;height:95px}}

/* V5 · drawers, evidence, workflow and notifications */
.ops-drawer-backdrop{position:fixed;inset:0;background:rgba(4,30,25,.42);z-index:170;backdrop-filter:blur(2px)}
.ops-drawer{position:fixed;right:0;top:0;width:min(610px,94vw);height:100vh;background:#f8fbf9;z-index:180;box-shadow:-25px 0 70px rgba(2,31,24,.18);transform:translateX(105%);transition:transform .25s ease;overflow:auto}.ops-drawer.open{transform:none}.ops-drawer>div{padding:24px}
.drawer-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding-bottom:16px;border-bottom:1px solid var(--vtx-line)}.drawer-head h2{font-family:Georgia,serif;font-size:1.75rem;margin:4px 0}.drawer-head p{font-size:.66rem;color:var(--vtx-muted)}
.drawer-loading{padding:60px 20px;text-align:center;color:var(--vtx-muted)}.drawer-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.drawer-kpis article{background:#fff;border:1px solid var(--vtx-line);border-radius:12px;padding:12px}.drawer-kpis b{font-size:1.15rem;display:block}.drawer-kpis span{font-size:.52rem;color:var(--vtx-muted)}
.drawer-section{background:#fff;border:1px solid var(--vtx-line);border-radius:15px;margin-top:12px;overflow:hidden}.drawer-section>header{padding:11px 13px;border-bottom:1px solid #edf2f0}.drawer-section>header h3{font-size:.72rem}.drawer-section>div,.drawer-section>form{padding:12px}
.drawer-item{padding:10px 0;border-bottom:1px solid #edf2f0}.drawer-item:last-child{border-bottom:0}.drawer-item>span,.evidence-card>span{font-size:.5rem;color:#9a7628;text-transform:uppercase;font-weight:900}.drawer-item h4,.evidence-card h4{font-size:.7rem;margin:4px 0}.drawer-item p,.drawer-item small,.evidence-card p,.evidence-card small{font-size:.55rem;color:var(--vtx-muted);line-height:1.45}.drawer-item small,.evidence-card small{display:block;margin-top:5px}
.report-hero-detail{padding:15px;background:linear-gradient(135deg,#0e604e,#0a473b);color:#fff;border-radius:14px;margin-top:14px}.report-hero-detail>span{font-size:.5rem;color:#edd99f}.report-hero-detail p{font-size:.75rem;line-height:1.55;margin:7px 0}.report-hero-detail small{font-size:.52rem;color:#dceae5}
.evidence-grid{display:grid;gap:8px}.evidence-card{border:1px solid var(--vtx-line);border-radius:11px;padding:10px;background:#fbfdfc}.drawer-form,.workflow-create-grid form{display:grid;grid-template-columns:1fr 1fr;gap:8px}.drawer-form label,.workflow-create-grid form{font-size:.56rem}.drawer-form label span{display:block;margin-bottom:4px;color:var(--vtx-muted)}.drawer-form input,.drawer-form textarea,.workflow-create-grid input,.workflow-create-grid textarea,.workflow-create-grid select{width:100%;border:1px solid var(--vtx-line);border-radius:8px;padding:8px;font:inherit;background:#fff}.drawer-form textarea,.workflow-create-grid textarea{min-height:72px;resize:vertical}.drawer-form .full{grid-column:1/-1}.drawer-form button{grid-column:1/-1}
.workflow-chain{display:grid;gap:8px}.workflow-chain article{display:grid;grid-template-columns:32px 1fr;gap:9px;align-items:center;border:1px solid var(--vtx-line);border-radius:11px;padding:10px}.workflow-chain i{width:28px;height:28px;border-radius:50%;background:#e8f3ee;color:#0f6b55;display:grid;place-items:center;font-style:normal;font-weight:900}.workflow-chain span{font-size:.48rem;color:#9a7628;text-transform:uppercase;font-weight:900}.workflow-chain h4{font-size:.68rem;margin:2px 0}.workflow-chain p{font-size:.53rem;color:var(--vtx-muted)}
.workflow-create-grid{display:grid!important;grid-template-columns:1fr;gap:9px}.workflow-create-grid form{border:1px solid var(--vtx-line);border-radius:11px;padding:10px;background:#fbfdfc}.workflow-create-grid form>b{grid-column:1/-1;font-size:.64rem}.workflow-create-grid form>button{grid-column:1/-1}
.notification-list{padding:10px}.notification-card{display:grid;grid-template-columns:10px 1fr auto;gap:12px;align-items:start;padding:14px;border-bottom:1px solid #edf2f0}.notification-card:last-child{border-bottom:0}.notification-card.unread{background:#fbfdfc}.notification-card.read{opacity:.68}.notification-severity{width:9px;height:9px;border-radius:50%;margin-top:6px;background:#4e8fca}.notification-severity.warning{background:#d39c39}.notification-severity.critical{background:#e25d4a}.notification-severity.success{background:#3ca76f}.notification-card span{font-size:.48rem;text-transform:uppercase;color:#9a7628;font-weight:900}.notification-card h3{font-size:.74rem;margin:4px 0}.notification-card p,.notification-card small{font-size:.56rem;color:var(--vtx-muted)}
@media(max-width:760px){.drawer-kpis{grid-template-columns:1fr 1fr}.drawer-form,.workflow-create-grid form{grid-template-columns:1fr}.drawer-form .full,.drawer-form button,.workflow-create-grid form>b,.workflow-create-grid form>button{grid-column:auto}.notification-card{grid-template-columns:8px 1fr}.notification-card .mini-btn{grid-column:2}}

/* V6 · traceability */
.trace-inspector{margin-bottom:12px}.trace-search{display:grid;grid-template-columns:180px 1fr auto;gap:9px;padding:14px}.trace-search select,.trace-search input{border:1px solid var(--vtx-line);border-radius:9px;padding:10px;background:#fff;font:inherit}.trace-detail{padding:14px;border-top:1px solid var(--vtx-line)}.trace-root{background:linear-gradient(135deg,#0e604e,#0a473b);color:#fff;border-radius:14px;padding:16px}.trace-root>span{font-size:.5rem;text-transform:uppercase;color:#ecd99f;font-weight:900}.trace-root h3{font-size:1rem;margin:5px 0}.trace-root p,.trace-root small{font-size:.58rem;color:#deebe6;line-height:1.5}.trace-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.trace-columns>section{border:1px solid var(--vtx-line);background:#fff;border-radius:12px;padding:11px}.trace-columns h4{font-size:.68rem;margin-bottom:7px}.trace-columns article{padding:8px 0;border-bottom:1px solid #edf2f0}.trace-columns article:last-child{border-bottom:0}.trace-columns b,.trace-columns span,.trace-columns small{display:block}.trace-columns b{font-size:.62rem}.trace-columns span,.trace-columns small{font-size:.52rem;color:var(--vtx-muted);margin-top:2px}@media(max-width:760px){.trace-search{grid-template-columns:1fr}.trace-columns{grid-template-columns:1fr}}

/* V7 · operation UX, controlled workflows and deadline awareness */
.editor-modal-backdrop{position:fixed;inset:0;background:rgba(4,30,25,.52);z-index:260;display:grid;place-items:center;padding:20px;backdrop-filter:blur(3px)}
.editor-modal{width:min(860px,96vw);max-height:92vh;overflow:auto;background:#f8fbf9;border-radius:20px;box-shadow:0 30px 90px rgba(2,31,24,.28)}
.editor-modal>header{position:sticky;top:0;z-index:2;background:rgba(248,251,249,.96);backdrop-filter:blur(12px);display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:20px 22px;border-bottom:1px solid var(--vtx-line)}
.editor-modal h2{font-family:Georgia,serif;font-size:1.55rem;margin:4px 0}.editor-modal p{font-size:.62rem;color:var(--vtx-muted)}.editor-modal-body{padding:18px 22px}.editor-form{padding:0!important}
.card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.mini-btn.ghost{background:#f5f8f7;color:#31564b;border-color:#dce6e2}
.task-column article.overdue,.calendar-card.overdue{border-color:#e7a49d;background:#fff8f7}.task-column article.due-soon,.calendar-card.due-soon{border-color:#e1c687;background:#fffcf4}
.deadline-strip{margin:12px 0;display:grid;grid-template-columns:260px 1fr;gap:14px;padding:14px;background:linear-gradient(135deg,#f9f5e9,#fff);border:1px solid #ead8aa;border-radius:16px}.deadline-strip.critical{background:linear-gradient(135deg,#fff5f3,#fff);border-color:#edb1aa}.deadline-strip>div:first-child>span{font-size:.5rem;text-transform:uppercase;color:#9a7628;font-weight:900}.deadline-strip>div:first-child>b{display:block;font-size:.8rem;margin:4px 0}.deadline-strip>div:first-child>small{font-size:.54rem;color:var(--vtx-muted);line-height:1.4}.deadline-items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.deadline-items article{border:1px solid #e5e9e7;border-radius:10px;padding:8px;background:#fff}.deadline-items article.overdue{border-left:4px solid #d7584d}.deadline-items article.due_soon{border-left:4px solid #d39c39}.deadline-items b,.deadline-items span,.deadline-items small{display:block}.deadline-items b{font-size:.57rem}.deadline-items span,.deadline-items small{font-size:.48rem;color:var(--vtx-muted);margin-top:2px}
@media(max-width:1100px){.deadline-strip{grid-template-columns:1fr}.deadline-items{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.editor-modal-backdrop{padding:0;align-items:end}.editor-modal{width:100%;max-height:94vh;border-radius:20px 20px 0 0}.editor-modal-body{padding:14px}.deadline-items{grid-template-columns:1fr}.ops-kpis{grid-template-columns:1fr 1fr}.top-search{display:none}.top-select{min-width:0}.profile>div:last-child{display:none}.app-content{padding:10px}.panel-card{border-radius:12px}.proposal-board,.calendar-strip{overflow-x:auto;scroll-snap-type:x mandatory}.proposal-column,.calendar-card{scroll-snap-align:start}}

/* V8 · pilot closure: global search, filters, exports, role-aware UI, smart alerts */
.side-link[hidden]{display:none!important}.read-only-badge{margin-left:auto;align-self:flex-start;background:#f5efe0;border:1px solid #e5d2a0;color:#8a681d;padding:7px 10px;border-radius:999px;font-size:.55rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.access-denied{padding:50px 24px}.access-denied>span{font-size:.56rem;text-transform:uppercase;color:#a36f1c;font-weight:900;letter-spacing:.13em}.notify.has-critical{box-shadow:0 0 0 3px rgba(224,94,88,.14);border-color:#e8a29d}
.top-search{position:relative}.global-search-results{position:absolute;left:0;right:0;top:47px;background:#fff;border:1px solid var(--vtx-line);border-radius:14px;box-shadow:0 20px 55px rgba(3,37,29,.18);max-height:min(560px,70vh);overflow:auto;display:none;z-index:150;padding:6px}.global-search-results.open{display:block}.search-loading,.search-empty{padding:18px;text-align:center;color:var(--vtx-muted);font-size:.68rem}.search-head{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-bottom:1px solid #edf2f0;font-size:.6rem;color:var(--vtx-muted)}.search-result{width:100%;border:0;background:#fff;display:grid;grid-template-columns:34px 1fr auto;gap:10px;text-align:left;align-items:center;padding:10px;border-radius:10px;cursor:pointer}.search-result:hover{background:#f1f7f4}.search-result>i{width:30px;height:30px;border-radius:9px;background:#e8f3ee;color:#0f6b55;display:grid;place-items:center;font-style:normal;font-size:.56rem;font-weight:900}.search-result span b,.search-result span small{display:block}.search-result span b{font-size:.66rem}.search-result span small{font-size:.53rem;color:var(--vtx-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.search-result em{font-style:normal;font-size:.5rem;color:#8b6e2c;background:#f8f2e3;border-radius:999px;padding:4px 7px}.search-focus{animation:vtxFocus 2.8s ease}@keyframes vtxFocus{0%,35%{outline:3px solid rgba(211,156,57,.6);box-shadow:0 0 0 7px rgba(211,156,57,.12)}100%{outline-color:transparent;box-shadow:none}}
.mobile-search-btn{display:none}
.filter-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 190px 190px auto;gap:9px;align-items:center;padding:10px 12px;margin-bottom:12px}.filter-toolbar select,.filter-toolbar input{width:100%;border:1px solid var(--vtx-line);border-radius:9px;padding:9px 10px;background:#fff;font:inherit;font-size:.65rem;outline:none}.filter-toolbar select:focus,.filter-toolbar input:focus{border-color:#82a99a;box-shadow:0 0 0 3px rgba(15,107,85,.08)}.filter-search{display:flex;align-items:center;gap:7px}.filter-search span{color:#0f6b55}.filter-toolbar small{font-size:.54rem;color:var(--vtx-muted);text-align:right}
.export-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.export-card{background:#fff;border:1px solid var(--vtx-line);border-radius:16px;padding:17px}.export-card>span{font-size:.48rem;color:#9a7628;font-weight:900;letter-spacing:.12em}.export-card h3{font-family:Georgia,serif;font-size:1rem;margin:5px 0}.export-card p{font-size:.59rem;color:var(--vtx-muted);line-height:1.5;min-height:36px}.export-card small{display:block;font-size:.5rem;color:#809088;margin-bottom:12px}.export-card .btn{width:100%}.export-note{margin-top:12px;padding:16px}.export-note b{font-size:.7rem}.export-note p{font-size:.58rem;color:var(--vtx-muted);margin-top:4px}
.attention-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:12px}.attention-summary article{background:#fff;border:1px solid var(--vtx-line);border-radius:15px;padding:15px}.attention-summary article.critical{border-left:4px solid #d7584d}.attention-summary article.warning{border-left:4px solid #d39c39}.attention-summary span,.attention-summary small{font-size:.52rem;color:var(--vtx-muted);display:block}.attention-summary b{display:block;font-size:1.35rem;margin:2px 0}.attention-head{align-items:center}.filter-pills{display:flex;gap:5px}.filter-pills button{border:1px solid var(--vtx-line);background:#fff;border-radius:999px;padding:6px 9px;font-size:.53rem;cursor:pointer}.filter-pills button.active{background:#0f6b55;color:#fff;border-color:#0f6b55}.smart-alert-list{padding:8px}.smart-alert{display:grid;grid-template-columns:8px 1fr auto;gap:11px;align-items:start;padding:11px;border-bottom:1px solid #edf2f0}.smart-alert:last-child{border-bottom:0}.smart-alert>i{width:8px;height:8px;border-radius:50%;margin-top:5px;background:#4e8fca}.smart-alert.warning>i{background:#d39c39}.smart-alert.critical>i{background:#d7584d}.smart-alert span{font-size:.47rem;color:#9a7628;text-transform:uppercase;font-weight:900}.smart-alert h4{font-size:.66rem;margin:2px 0}.smart-alert p,.smart-alert small{font-size:.52rem;color:var(--vtx-muted);line-height:1.4}
@media(max-width:1100px){.filter-toolbar{grid-template-columns:1fr 160px 160px}.filter-toolbar small{display:none}.export-grid{grid-template-columns:1fr 1fr}.attention-summary{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.mobile-search-btn{display:grid}.top-search{display:none!important}.top-search.mobile-open{display:flex!important;position:fixed;left:10px;right:10px;top:72px;max-width:none;z-index:145;background:#fff;box-shadow:0 16px 45px rgba(3,37,29,.22)}.global-search-results{position:fixed;left:10px;right:10px;top:120px;max-height:60vh}.filter-toolbar{grid-template-columns:1fr 1fr;padding:9px}.filter-search{grid-column:1/-1}.filter-toolbar small{display:block;text-align:left}.export-grid{grid-template-columns:1fr}.attention-summary{grid-template-columns:1fr 1fr}.attention-head{display:block}.filter-pills{margin-top:9px}.smart-alert{grid-template-columns:7px 1fr}.smart-alert .mini-btn{grid-column:2}.search-result{grid-template-columns:30px 1fr}.search-result em{display:none}.search-result span small{max-width:68vw}}

/* Territory 1.0 A2 */
.territory-a2-kpis{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:16px}.territory-a2-kpis article{background:var(--surface,#fff);border:1px solid var(--line);border-radius:16px;padding:16px}.territory-a2-kpis span,.territory-a2-kpis small{display:block;color:var(--muted)}.territory-a2-kpis b{display:block;font-size:28px;margin:6px 0}.header-actions{display:flex;gap:8px;flex-wrap:wrap}.table-sub{display:block;max-width:360px;color:var(--muted);margin-top:4px}.priority-chip{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}.priority-critical{background:#ffe7e4;color:#9b281e}.priority-high{background:#fff0db;color:#8c5500}.priority-medium{background:#eef5ff;color:#315a86}.priority-low{background:#ecf7ef;color:#24633a}.a2-map .geo-marker.priority-critical{transform:scale(1.35);box-shadow:0 0 0 5px rgba(196,51,38,.18)}.timeline-list{display:grid;gap:10px}.timeline-list article{display:grid;gap:2px;border-left:3px solid var(--gold);padding:8px 12px;background:#fafcfb;border-radius:0 10px 10px 0}.timeline-list span,.timeline-list small{color:var(--muted)}
@media(max-width:900px){.territory-a2-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.territory-a2-kpis{grid-template-columns:1fr}.header-actions{width:100%}.header-actions .btn{flex:1}.data-table{min-width:920px}}

.map-empty-note{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:280px;padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.9);color:var(--muted);font-size:12px;text-align:center;border:1px solid var(--line)}

/* B1 Operación 1.0 */
.operation-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.operation-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 15px;font-weight:700;cursor:pointer}.operation-tabs button.active{background:var(--green,#0b4c3e);color:#fff;border-color:transparent}.status-chip{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef5f2;font-size:11px;font-weight:800}.deadline{display:inline-flex;margin-left:6px;padding:2px 6px;border-radius:999px;font-size:10px;font-weight:800}.deadline.overdue{background:#fde8e5;color:#a43225}.deadline.due-soon{background:#fff3d8;color:#8a6200}@media(max-width:720px){.operation-tabs{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}.operation-tabs button{white-space:nowrap}}

/* Administrative attention keeps the citizen report read-only. */
.drawer-form select{width:100%;border:1px solid var(--vtx-line);border-radius:8px;padding:8px;font:inherit;background:#fff}
.drawer-form .attention-check{display:flex;align-items:center;gap:8px}
.drawer-form .attention-check input{width:auto}
.attention-body{white-space:pre-wrap;overflow-wrap:anywhere}
[data-attention-error]{color:#a52c26}

@media(max-width:760px){
  .ops-drawer{width:100vw;max-width:100%;height:100dvh}
  .ops-drawer>div{padding:16px}
  .ops-drawer .drawer-form label,.ops-drawer .drawer-item p,.ops-drawer .drawer-item small{font-size:14px}
  .ops-drawer .drawer-form input,.ops-drawer .drawer-form select,.ops-drawer .drawer-form textarea{font-size:16px}
  .ops-drawer .report-hero-detail p{font-size:15px}
}
