:root{color:#17111d;background:#f5f2f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0}button{font:inherit}.admin-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{background:#241b2a;color:#fff;min-height:100vh;padding:28px 22px;position:sticky;top:0}.sidebar strong{display:block;font-size:20px;margin-bottom:28px}.sidebar nav{display:grid;gap:8px}.nav-item{background:transparent;border:0;border-radius:8px;color:#f7f1fb;cursor:pointer;min-height:42px;padding:11px 12px;text-align:left}.nav-item:hover,.nav-item.active{background:#3b2a45}.nav-item.active{box-shadow:inset 3px 0 #f3d05a;font-weight:800}.workspace{display:grid;gap:22px;min-width:0;padding:28px}.page-header{align-items:center;display:flex;gap:16px;justify-content:space-between}.eyebrow{color:#75627d;font-size:13px;font-weight:800;letter-spacing:0;margin:0 0 8px;text-transform:uppercase}h1,h2,p{margin:0}h1{font-size:38px;line-height:1.05}h2{font-size:22px}.page-copy,.panel p,.roles-grid p,.control-grid p{color:#665b6c;line-height:1.5;margin-top:6px}.section-surface{min-width:0}.session-box{background:#fff8dc;border:1px solid #ead879;border-radius:8px;color:#5b4a12;display:grid;gap:2px;min-width:220px;padding:12px}.session-box.inline{margin-top:14px}.session-box span,.session-box small{font-size:12px;font-weight:800;text-transform:uppercase}.metrics-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(180px,1fr))}.metrics-grid article,.panel,.roles-grid article,.control-grid article{background:#fff;border:1px solid #e9e1ed;border-radius:8px}.metrics-grid article{display:grid;gap:6px;padding:18px}.metrics-grid span,.metrics-grid small{color:#675b6d}.metrics-grid strong{font-size:30px}.overview-grid,.document-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:20px}.panel{padding:20px}.panel-heading{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.panel-heading button,.state-pill,.map-policy{background:#efe7f4;border:1px solid #d6c5df;border-radius:8px;color:#4c2a61;display:inline-flex;font-size:13px;font-weight:800;min-height:34px;padding:8px 10px}.panel-heading button{cursor:pointer;min-height:40px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;min-width:980px;width:100%}th,td{border-bottom:1px solid #eee7f1;padding:13px 10px;text-align:left;vertical-align:top}th{color:#6b5b72;font-size:13px;text-transform:uppercase}.masked{color:#7a697f;display:block;font-size:12px;font-weight:800;margin-bottom:4px}.status{border-radius:999px;display:inline-flex;font-size:12px;font-weight:900;padding:6px 8px}.status.registered,.status.in_review{background:#edf4ff;color:#244d78}.status.documents_pending{background:#fff8dc;color:#6c5a14}.status.selected{background:#e6f7ef;color:#1c6846}.definition-list{display:grid;gap:10px;margin:16px 0 0}.definition-list div{display:grid;gap:4px}.definition-list dt{color:#7a697f;font-size:12px;font-weight:900;text-transform:uppercase}.definition-list dd{margin:0}.map-layout{align-items:start;display:grid;gap:18px;grid-template-columns:1fr}.map-panel{min-width:0;padding:0}.map-toolbar{align-items:flex-start;border-bottom:1px solid #e9e1ed;display:flex;gap:18px;justify-content:space-between;padding:18px 20px}.map-stats{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:360px}.map-stats span{background:#efe7f4;border:1px solid #d6c5df;border-radius:8px;color:#4c2a61;display:inline-flex;font-size:12px;font-weight:900;min-height:32px;padding:8px 10px}.map-canvas{background:#f8faf4;min-height:680px;overflow:hidden;position:relative}.qgis-map{display:block;height:680px;width:100%}.google-map-shell,.mercator-map-shell{min-height:680px;position:relative}.google-map{height:680px;width:100%}.map-loading,.map-fallback-note,.map-source-badge{background:#ffffffe5;border:1px solid #e9e1ed;border-radius:8px;color:#4c2a61;font-size:12px;font-weight:900;left:16px;padding:8px 10px;position:absolute;top:16px;z-index:2}.map-source-badge{left:auto;right:16px}.google-map-info{color:#17111d;display:grid;gap:5px;line-height:1.35;min-width:220px}.google-map-info strong{color:#261a2f;font-size:15px}.google-map-info span,.google-map-info small{color:#5a5060;font-size:12px}.map-background{fill:#f8faf4}.map-area{cursor:pointer;stroke:#fff;stroke-width:.75;transition:fill .12s ease,stroke .12s ease}.map-area.baja{fill:#cce6d8}.map-area.media{fill:#f3d77d}.map-area.alta{fill:#d97883}.map-area:hover,.map-area:focus{fill:#5b2e73;outline:none;stroke:#17111d;stroke-width:2}.municipality-boundary{fill:transparent;pointer-events:none;stroke:#15111b;stroke-dasharray:10 7;stroke-linejoin:round;stroke-width:4}.map-detail{align-items:start;display:grid;gap:24px;grid-template-columns:minmax(320px,1.2fr) minmax(260px,.9fr) minmax(180px,.5fr)}.map-detail strong{display:block;font-size:22px;margin-top:14px}.detail-subtitle{border-top:1px solid #eee7f1;margin-top:20px;padding-top:20px}.definition-list.compact{font-size:13px}.legend{display:grid;gap:8px;margin-top:18px}.legend-item{border-radius:8px;font-weight:800;padding:9px 10px}.legend-item.baja{background:#cce6d8}.legend-item.media{background:#f3d77d}.legend-item.alta{background:#d97883;color:#fff}.roles-grid,.control-grid{display:grid;gap:14px}.roles-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.control-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px}.roles-grid article,.control-grid article{padding:16px}.roles-grid span,.control-grid span{color:#765f3d;display:block;font-size:12px;font-weight:900;margin-top:8px;text-transform:uppercase}@media(max-width:1180px){.metrics-grid,.overview-grid,.document-grid,.control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-layout,.map-detail{grid-template-columns:1fr}}@media(max-width:820px){.admin-shell,.metrics-grid,.overview-grid,.document-grid,.roles-grid,.control-grid{grid-template-columns:1fr}.sidebar{min-height:auto;position:static}.page-header,.panel-heading{align-items:flex-start;flex-direction:column}.workspace{padding:20px}h1{font-size:32px}}
