:root{--bg:#EEEFEB;--paper:#FAFAF7;--ink:#1F2623;--muted:#5E6A64;--line:#CBD0C9;--accent:#0F5E6B;--accent-ink:#FFFFFF;--accent-soft:#D9E9EA;--c1:#3E8E5A;--c2:#A3A11E;--c3:#D08A12;--c4:#C2491D;--c5:#7C1D2E;--f-display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;--f-body:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#161B19;--paper:#1E2422;--ink:#E5E9E6;--muted:#9AA6A0;--line:#36403C;--accent:#4FB3C2;--accent-ink:#0E1615;--accent-soft:#1F3A3E;--c1:#5DB37C;--c2:#C9C640;--c3:#E9A43A;--c4:#E8693C;--c5:#E0566F;color-scheme:dark}}:root[data-theme=dark]{--bg:#161B19;--paper:#1E2422;--ink:#E5E9E6;--muted:#9AA6A0;--line:#36403C;--accent:#4FB3C2;--accent-ink:#0E1615;--accent-soft:#1F3A3E;--c1:#5DB37C;--c2:#C9C640;--c3:#E9A43A;--c4:#E8693C;--c5:#E0566F;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.5}.wrap{width:100%;max-width:1120px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px));padding-block:24px 56px;min-width:0}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h2{font-family:var(--f-display);font-weight:700;font-size:24px;margin:0 0 10px;letter-spacing:.01em}h3{font-family:var(--f-display);font-weight:600;font-size:19px;margin:0 0 8px;letter-spacing:.02em}.eyebrow{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.1em;font-size:13px;color:var(--muted);font-weight:600}.panel{background:var(--paper);border:1px solid var(--line);padding:18px;border-radius:3px}.grid{display:grid;gap:14px}.g2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.g3{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;font-weight:600;color:var(--muted);min-width:0}label.chk{flex-direction:row;align-items:center;gap:8px;color:var(--ink);font-weight:500;font-size:14px}input,select,textarea{font:inherit;font-size:15px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:2px;padding:7px 9px;width:100%;min-width:0}input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}textarea{min-height:70px;resize:vertical}.btn{font-family:var(--f-display);font-size:16px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border:1.5px solid var(--ink);background:transparent;color:var(--ink);padding:7px 14px;cursor:pointer;border-radius:2px}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.small{font-size:13px;padding:4px 9px}.btn.danger{border-color:var(--c4);color:var(--c4)}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.note{font-size:13px;color:var(--muted)}.sep{border:0;border-top:1px dashed var(--line);margin:16px 0}.cls{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:26px;padding:0 8px;font-family:var(--f-display);font-weight:700;font-size:16px;color:#fff;border-radius:2px;letter-spacing:.04em}.k1{background:var(--c1)}.k2{background:var(--c2)}.k3{background:var(--c3)}.k4{background:var(--c4)}.k5{background:var(--c5)}.k0{background:var(--muted)}.pill{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:20px;border:1.5px solid currentColor}.ok{color:var(--c1)}.warn{color:var(--c3)}.bad{color:var(--c4)}.verdict{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;border-left:8px solid var(--v,var(--c1));padding:16px 18px;background:var(--paper);border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.verdict .big{font-family:var(--f-display);font-weight:700;font-size:clamp(26px,4.5vw,36px);line-height:1;color:var(--v)}.bars{display:grid;grid-template-columns:auto 1fr auto;gap:6px 10px;align-items:center}.bar{height:14px;background:var(--bg);border:1px solid var(--line);position:relative}.bar i{position:absolute;inset:0 auto 0 0}.tablewrap{overflow-x:auto;border:1px solid var(--line);background:var(--paper)}table{border-collapse:collapse;width:100%;font-size:13.5px}th,td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.06em;font-size:13px;color:var(--muted);font-weight:600;background:var(--bg);white-space:nowrap}td.num{font-family:var(--f-mono);text-align:right;white-space:nowrap}tr.sev td:first-child{box-shadow:inset 4px 0 0 var(--c4)}.thumb{width:54px;height:54px;object-fit:cover;border:1px solid var(--line)}.live{border:1.5px solid var(--ink);padding:14px;display:grid;gap:10px;background:var(--bg)}.live .line{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.live .k{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);min-width:140px}.reco{margin:0;padding-left:18px}.reco li{margin:3px 0}details.cat{border-top:1px solid var(--line);padding:10px 0}details.cat summary{cursor:pointer;font-weight:700;font-size:15px}details.cat p{margin:6px 0;font-size:14px;max-width:72ch}.ref{font-family:var(--f-mono);font-size:12px;color:var(--accent)}.legend{display:grid;grid-template-columns:auto 1fr 1fr;gap:6px 12px;align-items:center;font-size:13.5px}.legend .h{font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}pre.report{white-space:pre-wrap;font-family:var(--f-mono);font-size:12.5px;background:var(--paper);border:1px solid var(--line);padding:16px;max-height:560px;overflow:auto;margin:0}.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%);background:var(--ink);color:var(--bg);padding:8px 16px;border-radius:2px;font-size:14px;z-index:20}.preview img{max-width:220px;border:1px solid var(--line)}@media(max-width:560px){.verdict{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.croquis{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}@media(max-width:860px){.croquis{grid-template-columns:1fr}}#cq_svg{display:block;width:100%;height:auto;max-height:70vh;background:var(--bg);border:1px solid var(--line);touch-action:none;user-select:none;-webkit-user-select:none}#cq_svg.colocar{cursor:crosshair}.cq-eje{stroke:var(--muted);stroke-width:var(--cq-lw);stroke-dasharray:calc(var(--cq-lw)*8) calc(var(--cq-lw)*3) calc(var(--cq-lw)*1.5) calc(var(--cq-lw)*3)}.cq-cota{stroke:var(--line);stroke-width:var(--cq-lw)}.cq-burbuja{fill:var(--paper);stroke:var(--ink);stroke-width:var(--cq-lw)}.cq-txt{fill:var(--ink);font-family:var(--f-display);font-weight:700;text-anchor:middle;dominant-baseline:central}.cq-cotatxt{fill:var(--muted);font-family:var(--f-mono);text-anchor:middle;dominant-baseline:central}.cq-contorno{fill:var(--paper);stroke:var(--line);stroke-width:var(--cq-lw)}.cq-m{cursor:grab}.cq-m:active{cursor:grabbing}.cq-m circle.base{stroke:var(--paper);stroke-width:calc(var(--cq-lw)*2)}.cq-m circle.aro{fill:none;stroke:var(--ink);stroke-width:calc(var(--cq-lw)*1.5);stroke-dasharray:calc(var(--cq-lw)*3) calc(var(--cq-lw)*2)}.cq-m.sel circle.aro{stroke:var(--accent);stroke-width:calc(var(--cq-lw)*4);stroke-dasharray:none}.cq-m:focus{outline:none}.cq-m:focus-visible circle.aro{stroke:var(--accent);stroke-width:calc(var(--cq-lw)*4)}.cq-m text{fill:#fff;font-family:var(--f-display);font-weight:700;text-anchor:middle;dominant-baseline:central;pointer-events:none}.f1{fill:var(--c1)}.f2{fill:var(--c2)}.f3{fill:var(--c3)}.f4{fill:var(--c4)}.f5{fill:var(--c5)}.f0{fill:var(--muted)}.cq-item{display:flex;gap:8px;align-items:flex-start;text-align:left;width:100%;background:transparent;border:1px solid var(--line);border-radius:2px;padding:6px 8px;color:var(--ink);font:inherit;font-size:13.5px;cursor:pointer}.cq-item[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);background:var(--accent-soft)}.cq-item .note{font-size:12px}.cq-ley{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}.cq-ley svg{vertical-align:middle}:root{--side-w:236px;--bar-h:62px}.app{display:grid;grid-template-columns:var(--side-w) minmax(0,1fr);min-height:100vh;min-height:100dvh}.ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.side{position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto;background:var(--paper);border-right:1px solid var(--line);padding:16px 12px calc(16px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:12px}.brand{display:flex;gap:10px;align-items:center;padding:2px 6px 10px;border-bottom:3px solid var(--ink)}.brand-ic{width:32px;height:32px;flex:none;border-radius:7px}.brand-txt{display:flex;flex-direction:column;line-height:1.1;min-width:0}.brand-txt b{font-family:var(--f-display);font-size:19px;font-weight:700;letter-spacing:.01em}.brand-txt span{font-size:11.5px;color:var(--muted)}.obra-card{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center;text-align:left;width:100%;background:var(--bg);border:1px solid var(--line);border-radius:3px;padding:9px 10px;color:var(--ink);font:inherit;cursor:pointer}.obra-card:hover{border-color:var(--muted)}.obra-card .dot{width:12px;height:12px;border-radius:50%;grid-row:span 2}.obra-card .nom{font-weight:700;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.obra-card .det{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.obra-card[aria-current=page]{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.side .nuevo{display:flex;align-items:center;justify-content:center;gap:8px}.nav{display:flex;flex-direction:column;gap:2px}.nav .grp{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:600;color:var(--muted);padding:10px 10px 4px}.nav-pie{margin-top:auto;border-top:1px solid var(--line);padding-top:8px}.nav-it{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:0;border-radius:3px;padding:8px 10px;color:var(--ink);font:inherit;font-size:14.5px;font-weight:500;text-align:left;cursor:pointer;position:relative}.nav-it .ic{color:var(--muted)}.nav-it:hover{background:var(--bg)}.nav-it[aria-current=page]{background:var(--accent-soft);color:var(--ink);font-weight:700}.nav-it[aria-current=page] .ic{color:var(--accent)}.nav-it[aria-current=page]:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:2px;background:var(--accent)}.nav-it .lbl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{font-family:var(--f-mono);font-size:11px;font-weight:500;line-height:1;padding:3px 6px;border-radius:10px;background:var(--bg);border:1px solid var(--line);color:var(--muted);white-space:nowrap}.badge:empty{display:none}.badge.warn{background:var(--c3);border-color:var(--c3);color:#fff}.badge.ok{color:var(--c1);border-color:currentColor}.topbar,.bottombar,.fab{display:none}.volver{display:inline-flex;align-items:center;gap:4px;margin-bottom:12px}.volver .ic{width:16px;height:16px}.aviso{border:1.5px solid var(--c4);border-left-width:6px;border-radius:3px;padding:10px 12px;font-size:14px;background:var(--paper)}.falta{display:flex;flex-direction:column;gap:6px;font-size:14px}.falta ul{margin:0;padding:0;list-style:none;display:grid;gap:4px}.falta button{background:none;border:0;padding:2px 0;color:var(--accent);font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:2px;cursor:pointer;text-align:left}.uso{display:grid;gap:6px;max-width:420px;font-size:13.5px}@media(min-width:861px)and (max-width:1199px){:root{--side-w:68px}.side{padding-inline:10px}.brand{justify-content:center;padding-inline:0}.brand-txt,.nav-it .lbl,.side .nuevo .lbl,.obra-card .nom,.obra-card .det{display:none}.obra-card{grid-template-columns:1fr;justify-items:center;padding:10px 0}.obra-card .dot{grid-row:auto;width:14px;height:14px}.side .nuevo{padding:8px 0}.nav-it{justify-content:center;padding:10px 0}.nav .grp{height:0;padding:0;margin:6px 8px;border-top:1px solid var(--line);overflow:hidden}.nav-it .badge{position:absolute;top:1px;right:0;padding:2px 4px;font-size:9.5px}}@media(max-width:860px){.app{grid-template-columns:minmax(0,1fr)}.side{display:none}.wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-top:0;padding-bottom:calc(var(--bar-h) + 90px + env(safe-area-inset-bottom,0px))}.topbar{display:block;position:sticky;top:0;z-index:15;margin:0 calc(-1*max(16px,env(safe-area-inset-left,0px))) 16px;padding:calc(6px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 6px max(16px,env(safe-area-inset-left,0px));background:var(--bg);border-bottom:2px solid var(--ink)}.obra-card.mini{background:transparent;border:0;padding:4px 0}.bottombar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--paper);border-top:1px solid var(--line);padding:0 env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}.bottombar button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:var(--bar-h);background:none;border:0;color:var(--muted);font:inherit;font-size:11.5px;font-weight:600;cursor:pointer}.bottombar button[aria-current=page]{color:var(--accent)}.bottombar button[aria-current=page]:before{content:"";position:absolute;top:0;left:22%;right:22%;height:3px;border-radius:0 0 2px 2px;background:var(--accent)}.bottombar .ic{width:22px;height:22px}.bottombar .badge{position:absolute;top:6px;left:calc(50% + 6px);padding:2px 5px;font-size:10px}.fab{display:flex;align-items:center;justify-content:center;position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(var(--bar-h) + 16px + env(safe-area-inset-bottom,0px));z-index:21;width:56px;height:56px;border-radius:50%;border:0;background:var(--accent);color:var(--accent-ink);box-shadow:0 4px 14px #00000040;cursor:pointer}.fab .ic{width:26px;height:26px;stroke-width:2.2}body[data-seccion=registrar] .fab{display:none}.toast{bottom:calc(var(--bar-h) + 84px + env(safe-area-inset-bottom,0px))}.hoja{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30}.hoja-fondo{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006}.hoja-panel{position:absolute;left:0;right:0;bottom:0;background:var(--paper);border-radius:12px 12px 0 0;padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px));display:grid;gap:2px;box-shadow:0 -6px 20px #0003}.hoja-panel .nav-it{padding:12px 10px;font-size:15.5px}}@media(min-width:861px){.hoja{display:none!important}}.live-mini{display:none}@media(max-width:860px){.live-mini{display:flex;align-items:center;gap:10px;position:fixed;left:0;right:0;bottom:calc(var(--bar-h) + env(safe-area-inset-bottom,0px));z-index:19;padding:8px max(16px,env(safe-area-inset-right,0px)) 8px max(16px,env(safe-area-inset-left,0px));background:var(--paper);border:0;border-top:1px solid var(--line);box-shadow:0 -4px 12px #00000014;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.live-mini.bad{box-shadow:inset 4px 0 0 var(--c4),0 -4px 12px #00000014}.live-mini.warn{box-shadow:inset 4px 0 0 var(--c3),0 -4px 12px #00000014}.live-mini.ok{box-shadow:inset 4px 0 0 var(--c1),0 -4px 12px #00000014}.live-mini .lm-txt{display:flex;flex-direction:column;flex:1;min-width:0;font-size:13px;line-height:1.3}.live-mini .lm-txt span{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-mini .lm-ver{font-family:var(--f-display);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:13px;color:var(--accent)}#t-registrar{padding-bottom:64px}}.toast{display:flex;align-items:center;gap:12px}.toast .btn{border-color:currentColor;color:inherit;padding:2px 10px;font-size:14px}.cq-punto line{stroke:var(--accent);stroke-width:calc(var(--cq-lw)*3)}.cq-punto circle{fill:none;stroke:var(--accent);stroke-width:calc(var(--cq-lw)*3)}.causa{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;padding:6px 0;border-top:1px solid var(--line)}.causa-t{font-size:14px;flex:1 1 220px;min-width:0}.seg{display:inline-flex;border:1px solid var(--line);border-radius:3px;overflow:hidden}.seg label{display:block;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer}.seg input{position:absolute;opacity:0;width:1px;height:1px}.seg span{display:block;padding:4px 9px;border-left:1px solid var(--line)}.seg label:first-child span{border-left:0}.seg input:checked+span{background:var(--ink);color:var(--bg)}.seg input[value=confirmada]:checked+span{background:var(--accent);color:var(--accent-ink)}.seg input[value=probable]:checked+span{background:var(--c3);color:#fff}.seg input[value=descartada]:checked+span{background:var(--muted);color:var(--bg)}.seg input:focus-visible+span{outline:2px solid var(--accent);outline-offset:-2px}.con-aviso{border-color:var(--c3)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--c3) 35%,transparent)}.avisos{display:grid;gap:6px;padding-bottom:10px;border-bottom:1px dashed var(--line)}.aviso-item{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;font-size:13.5px;padding:7px 9px;border-radius:3px;border-left:4px solid var(--c3);background:var(--paper)}.aviso-item.bad{border-left-color:var(--c4)}.aviso-item .btn{flex:none;font-size:12px;padding:2px 8px}.sugerencia{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;font-size:13.5px;padding:8px 10px;border-radius:3px;background:var(--accent-soft);border-left:4px solid var(--accent)}.sug{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:1px 6px;border-radius:10px;background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent);vertical-align:1px}.sug[hidden]{display:none}.cq-foto{display:block;width:100%;padding:0;margin:0 0 10px;border:1px solid var(--line);border-radius:3px;background:var(--bg);cursor:zoom-in;overflow:hidden}.cq-foto img{display:block;width:100%;height:160px;object-fit:cover}.visor{border:0;padding:0;max-width:min(920px,94vw);max-height:92vh;background:var(--paper);color:var(--ink);border-radius:4px;box-shadow:0 10px 40px #0006}.visor::backdrop{background:#0009}.visor img{display:block;max-width:100%;max-height:72vh;margin:0 auto;object-fit:contain;background:#000}.visor-pie{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-start;justify-content:space-between;padding:12px 14px;font-size:14px}.visor-pie form{margin:0}#cq_svg.sin-ejes .cq-eje{display:none}.calibrar{width:min(1000px,96vw);height:min(92vh,900px);display:none;flex-direction:column}.calibrar[open]{display:flex}.cal-cab{padding:12px 14px 4px;border-bottom:1px solid var(--line)}.cal-pt{display:flex;align-items:center;gap:6px;font-size:13.5px}.cal-pt select{width:auto;padding:3px 6px}.cal-n,.cal-marca{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--c4);color:#fff;font-weight:700;font-size:12px}.cal-vista{flex:1;overflow:auto;background:#5b5f5c;min-height:0}.cal-lienzo{position:relative;width:100%}#cq_cal_img{display:block;width:100%;max-width:none;max-height:none;cursor:crosshair;background:#fff}#cq_cal_marcas{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.cal-marca{position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--c4)}.cal-marca:before,.cal-marca:after{content:"";position:absolute;background:var(--c4)}.cal-marca:before{width:2px;height:44px;left:10px;top:-11px;opacity:.6}.cal-marca:after{height:2px;width:44px;top:10px;left:-11px;opacity:.6}
