:root{color:#172026;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#eef2f1;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:0;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{width:100%;min-height:100vh;padding:24px;overflow-x:clip}.topbar,.stats-grid,.capture-summary,.workspace,.report-list{width:min(1280px,100%);margin:0 auto}.topbar{grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-bottom:18px;display:grid}.brand-mark,.icon-button,.category-icon,.session-chip{place-items:center;display:grid}.topbar-actions{justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:inline-flex}.brand-mark{color:#fff;background:#0f766e;border-radius:8px;width:44px;height:44px}.icon-button{color:#172026;background:#fff;border:1px solid #ccd6d3;border-radius:8px;width:44px;height:44px}.icon-button.compact{width:34px;height:34px}.session-chip{color:#172026;background:#fff;border:1px solid #ccd6d3;border-radius:8px;grid-template-columns:auto minmax(0,1fr);gap:8px;width:min(240px,100%);min-height:44px;padding:0 12px;font-size:14px;font-weight:720}.session-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.environment-chip{color:#31413d;white-space:nowrap;background:#f7faf9;border:1px solid #cbd8d4;border-radius:999px;justify-content:center;align-items:center;min-height:32px;padding:0 10px;font-size:12px;font-weight:780;display:inline-flex}.environment-chip-dev{color:#0b4f49;background:#dff5ef;border-color:#99d8cf}.environment-chip-staging{color:#713f12;background:#fef3c7;border-color:#fde68a}.environment-chip-prod{color:#1e3a8a;background:#dbeafe;border-color:#bfdbfe}.eyebrow{color:#66736f;letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:750}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;margin-bottom:0;font-size:28px;line-height:1.15}h2{letter-spacing:0;margin-bottom:0;font-size:20px;line-height:1.2}h3{letter-spacing:0;margin-bottom:8px;font-size:18px;line-height:1.25}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.stat-card,.auth-panel,.report-form,.map-panel,.capture-summary,.report-list{background:#fff;border:1px solid #d8e0de;border-radius:8px}.stat-card{color:#44524e;min-height:104px;padding:16px}.stat-card span{color:#172026;margin:12px 0 2px;font-size:28px;font-weight:780;display:block}.stat-card p{margin-bottom:0;font-size:14px}.capture-summary{margin-bottom:18px;padding:18px}.capture-summary .section-heading>span{color:#53645f;font-size:13px;font-weight:760}.capture-summary-list{gap:8px;display:grid}.capture-summary-row{background:#fbfcfc;border:1px solid #e1e8e6;border-radius:8px;grid-template-columns:minmax(180px,1fr) minmax(120px,.65fr) 42px;align-items:center;gap:12px;min-height:54px;padding:10px 12px;display:grid}.capture-summary-row div:first-child{gap:3px;min-width:0;display:grid}.capture-summary-row strong{color:#172026;text-overflow:ellipsis;white-space:nowrap;font-weight:780;overflow:hidden}.capture-summary-row small{color:#66736f;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:680;overflow:hidden}.capture-summary-row>span{color:#0b4f49;justify-self:end;font-size:18px;font-weight:780}.capture-meter{background:#e6ecea;border-radius:999px;height:10px;overflow:hidden}.capture-meter span{border-radius:inherit;background:#0f766e;height:100%;display:block}.workspace{grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr);align-items:start;gap:18px;display:grid}.left-rail{gap:18px;display:grid}.auth-panel,.report-form,.map-panel,.report-list{padding:18px}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.primary-button,.secondary-button,.segment,.evidence-pill,.auth-tab{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;font-weight:720;display:inline-flex}.primary-button{color:#fff;background:#0f766e;border:1px solid #0f766e;padding:0 14px}.secondary-button{color:#172026;background:#fff;border:1px solid #ccd6d3;padding:0 14px}.primary-button:disabled,.secondary-button:disabled{cursor:wait;opacity:.7}.report-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:inline-flex}.source-message{color:#53645f;margin:0 0 14px;font-size:13px;font-weight:680}.institutional-queue{margin-bottom:16px}.institutional-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.institutional-heading h3{margin:0;font-size:17px}.institutional-heading-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:inline-flex}.institutional-heading-actions>span{color:#43524e;background:#edf3f1;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:780;display:inline-flex}.institutional-table{border:1px solid #d8e0de;border-radius:8px;display:grid;overflow-x:auto}.institutional-row{color:#172026;min-width:920px;min-height:54px;font:inherit;text-align:left;background:#fff;border:0;border-top:1px solid #d8e0de;grid-template-columns:minmax(110px,.85fr) minmax(180px,1.35fr) minmax(150px,1fr) minmax(52px,.35fr) minmax(132px,.8fr) minmax(88px,.55fr) minmax(88px,.55fr);align-items:center;gap:10px;padding:10px 12px;display:grid}.institutional-row.active{background:#f1faf8}.institutional-row:first-child{border-top:0}.institutional-row>span{overflow-wrap:anywhere;min-width:0}.institutional-header{color:#53645f;background:#f7faf9;min-height:38px;font-size:12px;font-weight:780}.institutional-priority,.institutional-report-title,.institutional-muted{gap:3px;display:grid}.institutional-title-button{color:inherit;font:inherit;text-align:left;background:0 0;border:0;gap:3px;padding:0;display:grid}.institutional-title-button:hover strong{color:#0f766e;text-decoration:underline}.institutional-priority .priority-badge{justify-self:start;min-height:24px}.institutional-status-select{width:100%;min-width:0;min-height:34px;padding:0 9px}.institutional-row small{color:#66736f;font-size:12px;font-weight:650}.institutional-table .empty-state{margin:10px}.report-scope-tabs{flex-wrap:wrap;gap:8px;margin:-2px 0 14px;display:inline-flex}.scope-tab{color:#31413d;background:#f7faf9;border:1px solid #cbd8d4;border-radius:8px;justify-content:center;align-items:center;min-height:36px;padding:0 12px;font-weight:720;display:inline-flex}.scope-tab.active{color:#0b4f49;background:#dff5ef;border-color:#0f766e}.scope-tab:disabled{cursor:wait;opacity:.68}.report-filters{grid-template-columns:minmax(220px,1.4fr) repeat(4,minmax(130px,1fr));gap:10px;margin-bottom:12px;display:grid}.filter-field{gap:5px;margin-bottom:0}.filter-field span{color:#53645f;font-size:12px;font-weight:780}.session-status{color:#44524e;background:#e6ecea;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:780;display:inline-flex}.session-status.active{color:#065f46;background:#d1fae5}.auth-message{color:#4c5c58;font-size:14px}.auth-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0;display:grid}.auth-tab{color:#31413d;background:#f7faf9;border:1px solid #cbd8d4;padding:0 8px}.auth-tab.active{color:#0b4f49;background:#dff5ef;border-color:#0f766e}.auth-form{gap:0;display:grid}.auth-form .primary-button{width:100%}.text-button{color:#0f766e;background:0 0;border:0;justify-self:center;min-height:32px;padding:0 4px;font-size:13px;font-weight:760}.text-button:hover{color:#0b4f49;text-decoration:underline}.auth-error{color:#7f1d1d;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:12px 0 0;padding:10px 12px;font-size:13px;font-weight:680}.submit-message,.submit-error{border-radius:8px;margin:0;padding:10px 12px;font-size:13px;font-weight:680}.submit-message{color:#0b4f49;background:#edf9f6;border:1px solid #b7d9d1}.submit-error{color:#7f1d1d;background:#fef2f2;border:1px solid #fecaca}.signed-in-box{gap:12px;display:grid}.signed-in-box strong{overflow-wrap:anywhere}label{color:#43524e;gap:7px;margin-bottom:14px;font-size:14px;font-weight:720;display:grid}input,textarea,select{color:#172026;background:#fbfcfc;border:1px solid #cbd8d4;border-radius:8px;outline:none;width:100%;padding:11px 12px}textarea{resize:vertical}input:focus,textarea:focus,select:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e24}input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{background:snow;border-color:#dc2626}.field-error{color:#9f1239;font-size:12px;font-weight:720}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.category-helper{color:#53645f;margin:-6px 0 14px;font-size:13px;font-weight:680;line-height:1.4}.capture-type-field{margin-bottom:12px}.category-details{border-top:1px solid #e1e8e6;margin:2px 0 14px;padding-top:14px}.category-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.detail-field{min-width:0;margin-bottom:0}.detail-field-wide{grid-column:1/-1}.safety-note{color:#713f12;background:#fff7e8;border:1px solid #f0d7a6;border-radius:8px;margin:12px 0 0;padding:10px 12px;font-size:13px;font-weight:720;line-height:1.4}.form-actions{justify-content:flex-end;margin-top:14px;display:flex}.segmented-control,.evidence-group{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.segment,.evidence-pill{color:#31413d;background:#f7faf9;border:1px solid #cbd8d4;padding:0 12px}.segment.active,.evidence-pill.active{color:#0b4f49;background:#dff5ef;border-color:#0f766e}.evidence-upload{margin-bottom:10px}.evidence-upload input{padding:9px 12px}.evidence-upload small{color:#66736f;font-size:12px}.attached-file-list,.selected-file-list{gap:8px;margin-bottom:14px;display:grid}.attached-file,.selected-file-pill{background:#f7faf9;border:1px solid #d8e0de;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:grid}.attached-file{grid-template-columns:auto minmax(0,1fr) auto}.selected-file-pill{color:#172026;cursor:pointer;width:100%;font:inherit;text-align:left;grid-template-columns:auto minmax(0,1fr)}.selected-file-pill:hover:not(:disabled){background:#eef8f6;border-color:#0f7f73}.selected-file-pill:disabled{cursor:wait;opacity:.72}.attached-file span,.selected-file-pill span{gap:2px;min-width:0;display:grid}.attached-file strong,.selected-file-pill strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attached-file small,.selected-file-pill small{color:#66736f;font-size:12px}.privacy-toggle{background:#fff8e8;border:1px solid #f0d7a6;border-radius:8px;grid-template-columns:auto 1fr;align-items:start;gap:10px;margin:2px 0 0;padding:12px}.privacy-toggle input{width:18px;height:18px;margin-top:2px}.privacy-toggle span{gap:2px;display:grid}.privacy-toggle small,.report-row small{color:#66736f;font-size:12px}.city-map{background-color:#eef7f5;background-image:linear-gradient(90deg,#0f766e14 1px,#0000 1px),linear-gradient(#0f766e14 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:44px 44px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #cbd8d4;border-radius:8px;height:360px;position:relative;overflow:hidden}.road,.zone{display:block;position:absolute}.road{background:#62767038;border-radius:8px;height:18px}.road-a{width:115%;top:30%;left:-5%;transform:rotate(9deg)}.road-b{width:88%;top:64%;left:9%;transform:rotate(-15deg)}.road-c{width:18px;height:126%;top:-12%;left:46%;transform:rotate(21deg)}.zone{background:#ffffff73;border:1px solid #0f766e3d;border-radius:8px}.zone-a{width:24%;height:24%;top:11%;left:8%}.zone-b{width:27%;height:31%;top:14%;right:10%}.zone-c{width:32%;height:25%;bottom:11%;left:22%}.map-pin{left:var(--x);top:var(--y);color:#fff;background:var(--pin-color);border:2px solid #fff;border-radius:50%;width:34px;height:34px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 7px 18px #17202638}.map-pin.active{outline:3px solid #1720262e}.selected-report{border-top:1px solid #d8e0de;margin-top:14px;padding-top:14px}.detail-header{grid-template-columns:42px minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.selected-report-icon{width:42px;height:42px}.detail-header h3{overflow-wrap:anywhere}.detail-badges{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.status-badge,.selected-evidence-pill,.selected-evidence-empty{color:#43524e;background:#edf3f1;border-radius:8px;align-items:center;gap:6px;min-height:30px;padding:0 10px;font-size:13px;font-weight:680;display:inline-flex}.selected-description{color:#4c5c58;margin:6px 0 14px;line-height:1.55}.detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.detail-grid div{border-top:1px solid #e1e8e6;min-width:0;padding-top:10px}.detail-grid dt{color:#66736f;margin-bottom:3px;font-size:12px;font-weight:760}.detail-grid dd{color:#172026;overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:720}.evidence-summary,.status-history{margin-top:14px}.status-history-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.status-history-list li{background:#f7faf9;border:1px solid #d8e0de;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;padding:9px 10px;display:grid}.status-history-list svg{color:#0f766e;margin-top:2px}.status-history-list span{gap:2px;min-width:0;display:grid}.status-history-list strong{color:#172026;font-size:13px}.status-history-list small{color:#66736f;overflow-wrap:anywhere;font-size:12px}.status-history-list em{color:#31413d;font-size:13px;font-style:normal;line-height:1.4}.institutional-followup{background:#edf9f6;border:1px solid #b7d9d1;border-radius:8px;gap:12px;margin-top:14px;padding:12px;display:grid}.institutional-followup .detail-subheading{margin-bottom:0}.institutional-followup-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.institutional-followup .primary-button{justify-self:end}.specific-details{margin-top:14px}.specific-detail-grid{margin-top:0}.detail-subheading{color:#43524e;margin-bottom:8px;font-size:13px;font-weight:780}.selected-evidence-list{flex-wrap:wrap;gap:8px;display:flex}.selected-file-list{margin:10px 0 0}.selected-evidence-empty{color:#66736f}.protection-note{color:#0b4f49;background:#edf9f6;border:1px solid #b7d9d1;border-radius:8px;align-items:flex-start;gap:8px;margin:14px 0 0;padding:10px 12px;font-size:13px;font-weight:680;line-height:1.35;display:flex}.protection-note.protected{color:#7c2d12;background:#fff7ed;border-color:#fed7aa}.level-badge,.priority-badge{border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:780;display:inline-flex}.level-alerta{color:#7c2d12;background:#ffedd5}.level-basico{color:#44524e;background:#e6ecea}.level-plata{color:#334155;background:#dbeafe}.level-oro{color:#713f12;background:#fef3c7}.level-verificado{color:#065f46;background:#d1fae5}.priority-critica{color:#7f1d1d;background:#fee2e2}.priority-alta{color:#7c2d12;background:#ffedd5}.priority-media{color:#713f12;background:#fef3c7}.priority-base{color:#334155;background:#e0f2fe}.report-list{margin-top:18px}.follow-up-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:14px 0;display:grid}.follow-up-item{color:#31413d;text-align:left;background:#f7faf9;border:1px solid #d8e0de;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:44px;padding:8px 10px;display:grid}.follow-up-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.follow-up-item strong{color:#172026}.follow-up-item.active{color:#0b4f49;background:#dff5ef;border-color:#0f766e}.table-like{gap:8px;display:grid}.report-row{color:#172026;text-align:left;background:#fff;border:1px solid #d8e0de;border-radius:8px;grid-template-columns:34px minmax(180px,1fr) auto minmax(88px,auto);align-items:center;gap:12px;width:100%;min-height:58px;padding:9px 12px;display:grid}.report-row.active{background:#f1faf8;border-color:#0f766e}.report-row>span:nth-child(2){gap:2px;display:grid}.row-status{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;font-weight:720;display:inline-flex}.row-status small{color:#0b4f49;background:#dff5ef;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:780}.row-status small.priority-chip{color:#334155;background:#e0f2fe}.row-status small.priority-critica{color:#7f1d1d;background:#fee2e2}.row-status small.priority-alta{color:#7c2d12;background:#ffedd5}.row-status small.priority-media{color:#713f12;background:#fef3c7}.row-status small.priority-base{color:#334155;background:#e0f2fe}.empty-state{color:#53645f;background:#f7faf9;border:1px dashed #cbd8d4;border-radius:8px;margin:0;padding:16px;font-size:14px;font-weight:680}.report-date{align-items:center;gap:5px;display:inline-flex}.category-icon{background:#eef2f1;border-radius:8px;width:34px;height:34px}@media (width<=920px){.app-shell{padding:16px}.stats-grid,.workspace,.field-row,.category-detail-grid,.institutional-followup-grid{grid-template-columns:1fr}.report-filters,.follow-up-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.city-map{height:300px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.capture-summary-row{grid-template-columns:minmax(0,1fr) 42px}.capture-meter{grid-column:1/-1}}@media (width<=620px){.topbar{grid-template-columns:auto 1fr}.topbar-actions{grid-column:1/-1;width:100%}.session-chip{flex:1;width:auto}h1{font-size:22px}.section-heading{flex-direction:column;align-items:stretch}.institutional-heading{flex-direction:column;align-items:flex-start}.institutional-heading-actions{justify-content:flex-start}.primary-button,.secondary-button{width:100%}.institutional-followup .primary-button{justify-self:stretch}.detail-header{grid-template-columns:42px minmax(0,1fr)}.detail-badges{grid-column:1/-1;justify-content:flex-start}.detail-grid{grid-template-columns:1fr}.stat-card{min-height:88px}.report-row{grid-template-columns:34px 1fr}.capture-summary-row{grid-template-columns:1fr}.capture-summary-row>span{justify-self:start}.report-filters,.follow-up-strip{grid-template-columns:1fr}.report-row .level-badge,.report-row>span:last-child{grid-column:2;justify-self:start}}
