@font-face{font-family:Geist;src:url(/fonts/geist.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/geist-mono.woff2)format("woff2");font-weight:100 900;font-display:swap}:root{--coal:#161616;--snow:#efefef;--burnt:#ff3800;--fog:#d9dddc;--muted:#62666d;--border:#dfe2e1;--font:Geist, -apple-system, "Segoe UI", sans-serif;--mono:"Geist Mono", monospace;font-family:var(--font);color:var(--coal);font-synthesis:none;background:#f4f5f3}*{box-sizing:border-box}body{min-height:100dvh;margin:0}button,input,textarea,select{font:inherit}button,summary,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{min-height:44px;color:var(--coal);cursor:pointer;background:#fff;border:1px solid #cbd0ce;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}button:hover{background:#f2f3f1;border-color:#929a95}button:disabled{opacity:.5;cursor:default}button.primary,button[type=submit]{background:var(--coal);color:#fff;border-color:var(--coal)}button.primary:hover,button[type=submit]:hover{background:#333}button.primary .icon{color:#ff6500}button[aria-pressed=true]{border-color:var(--burnt);background:#fff2ec}:focus-visible{outline-offset:3px;outline:3px solid #2261be}input,textarea,select{width:100%;min-width:0;min-height:46px;color:var(--coal);background:#fff;border:1px solid #bac2be;border-radius:9px;padding:11px 12px;font-size:16px}textarea{resize:vertical;line-height:1.5}input::placeholder,textarea::placeholder{color:#747a76;font-weight:400}input[type=file]{background:#fafbf9;padding:10px;font-size:14px}input::file-selector-button{font:inherit;cursor:pointer;background:#e5e8e5;border:0;border-radius:6px;margin-right:10px;padding:7px 10px}label{gap:7px;min-width:0;font-size:14px;font-weight:600;display:grid}h1,h2,h3,h4,p{overflow-wrap:anywhere}h1{letter-spacing:-.055em;margin:18px 0 24px;font-size:clamp(38px,4vw,64px);line-height:1.06}h2{letter-spacing:-.035em;margin:0;font-size:28px;line-height:1.2}h3{letter-spacing:-.025em;margin:0 0 16px;font-size:20px}h4{margin:0 0 8px;font-size:15px}p{margin:12px 0;font-size:15px;line-height:1.6}ul{margin:0;padding:0;list-style:none}small{display:block}a{color:#244f91;text-underline-offset:3px}summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:14px;font-weight:600}.icon{flex-shrink:0;width:20px;height:20px}.muted{color:var(--muted)}.eyebrow{color:var(--muted);letter-spacing:.04em;margin:0 0 8px;font-size:12px;font-weight:600}.mono{font-family:var(--mono)}.field-hint{color:var(--muted);margin:0;font-size:12px;font-weight:400}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:#fff;padding:12px;position:absolute;top:-80px;left:20px}.skip-link:focus{top:12px}.app-shell{padding:max(24px, env(safe-area-inset-top)) 32px max(32px, env(safe-area-inset-bottom));max-width:1344px;margin:0 auto}.app-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:0 0 22px;display:flex}.brand{letter-spacing:.025em;font-size:17px;font-weight:800;line-height:1.3}.brand span{color:var(--burnt);vertical-align:middle;background:#fff3ed;border:1px solid #ffd5c4;border-radius:5px;margin-left:5px;padding:5px 7px;font-size:12px}.brand small{color:var(--muted);letter-spacing:0;margin-top:7px;font-size:12px;font-weight:400}.session-panel{max-width:440px;position:relative}.session-panel form{gap:16px;display:grid}.session-loading{color:var(--muted);font-size:12px}.account-details summary{align-items:center;gap:9px;display:flex}.account-avatar{background:var(--coal);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.account-label{color:var(--muted);padding-left:8px;font-size:12px;font-weight:400}.account-content{border:1px solid var(--border);z-index:20;background:#fff;border-radius:14px;width:min(430px,88vw);padding:24px;position:absolute;top:100%;right:0;box-shadow:0 15px 45px #16161618}.account-content h2{font-size:20px}.session-panel li{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.session-panel li span{overflow-wrap:anywhere;min-width:0;font-size:12px;line-height:1.5}.session-panel li small{color:var(--muted);margin-top:4px}.session-panel li button{flex-shrink:0;font-size:12px}.session-local{align-items:center;gap:12px;display:flex}.local-account{margin:0;font-size:12px}.session-local summary{color:#244f91;font-size:12px}.session-local details[open]{z-index:20;border:1px solid var(--border);background:#fff;border-radius:12px;width:min(400px,88vw);padding:20px;position:absolute;top:100%;right:0;box-shadow:0 15px 45px #16161618}.is-login{grid-template-columns:1fr 420px;gap:80px;padding-top:40px;display:grid}.is-login .app-header{display:contents}.is-login .brand{grid-column:1/-1}.is-login .session-login{border:1px solid var(--border);background:#fff;border-radius:20px;grid-area:2/2;width:100%;padding:32px}.login-intro{grid-area:2/1;padding:25px 0}.login-intro p{color:var(--muted);max-width:490px;font-size:18px}.login-features{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.login-features span{border:1px solid var(--border);border-radius:7px;padding:9px 12px;font-size:12px}.update-banner{background:#fff6e9;border:1px solid #ffd1ab;border-radius:12px;flex-wrap:wrap;align-items:center;gap:16px;margin-top:20px;padding:16px;font-size:14px;display:flex}.workspace{margin-top:24px}.workspace-topbar{grid-template-columns:minmax(220px,1fr) minmax(300px,1.3fr);align-items:center;gap:40px;margin-bottom:24px;display:grid}.project-picker{max-width:450px}.project-picker>span{color:var(--muted);font-size:12px}.project-picker select{padding-right:30px;font-size:16px;font-weight:600}.sync-status{justify-content:flex-end;align-items:center;gap:14px;font-size:12px;display:flex}.sync-status>div{min-width:0}.sync-status strong{align-items:center;gap:8px;font-size:12px;font-weight:600;line-height:1.4;display:flex}.sync-status>div>span{color:var(--muted);margin-top:5px;display:block}.sync-status button{flex-shrink:0;font-size:12px}.status-dot{background:#c67700;border-radius:50%;flex-shrink:0;width:7px;height:7px}.sync-synced .status-dot{background:#167246}.sync-error .status-dot,.sync-attention .status-dot,.sync-recovery .status-dot{background:#bd330d}.view-nav{border:1px solid var(--border);background:#e9ece8;border-radius:12px;gap:6px;width:fit-content;margin-bottom:28px;padding:5px;display:flex}.view-nav button{background:0 0;border:0;padding:10px 20px;font-weight:500}.view-nav button[aria-current]{background:#fff;font-weight:650;box-shadow:0 1px 4px #1616160d}.view-nav button[aria-current] .icon{color:#bd330d}.panel{border:1px solid var(--border);background:#fff;border-radius:16px;min-width:0;padding:26px}.section-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.section-heading h3{margin-bottom:0}.section-heading p{margin:7px 0 0}.section-heading .eyebrow{margin:0 0 9px}.section-heading>div{min-width:0}.section-heading>button{flex-shrink:0}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin:0 0 24px;display:flex}.page-heading h2{font-size:34px}.page-heading p{margin:7px 0 0}.action-row,.capture-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.badge{background:#edf0ed;border-radius:6px;flex-shrink:0;align-items:center;padding:6px 8px;font-size:11px;font-weight:600;line-height:1.4;display:inline-flex}.state-instalado{color:#216347;background:#e9f3ed}.state-con_falla{color:#9b2b0b;background:#ffece4}.state-retirado,.state-reemplazado{color:#616660;background:#edf0ed}.count{font:12px var(--mono);vertical-align:middle;background:#edf0ed;border-radius:5px;margin-left:5px;padding:4px 7px}.project-home{grid-template-columns:1.25fr 1fr;gap:22px;display:grid}.project-home>.panel:only-child{grid-column:1/-1;max-width:740px}.project-overview{border-top:3px solid var(--burnt);background:#fff}.stats-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0;display:grid}.stats-grid button{text-align:left;background:#f7f8f5;border-color:#e7eae6;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:18px;display:grid}.stats-grid strong{font:28px var(--mono);grid-area:1/1}.stats-grid span{color:var(--muted);grid-column:1/-1;font-size:12px}.stats-grid .icon{color:var(--muted);grid-area:1/2}.project-create{border-top:1px solid var(--border);margin-bottom:10px;padding:18px 0}.project-list{gap:8px;display:grid}.project-list button{text-align:left;background:#fff;border-color:#e4e8e3;justify-content:flex-start;width:100%;padding:14px}.project-list button[aria-current]{color:var(--coal);background:#fff7f2;border-color:#cb7958}.project-symbol,.device-symbol{background:#f0f2ee;border-radius:9px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.row-copy{flex:1;gap:5px;min-width:0;display:grid}.row-copy strong{overflow-wrap:anywhere;font-size:14px;font-weight:600}.row-copy>span{color:var(--muted);overflow-wrap:anywhere;font-size:12px;font-weight:400}.row-copy small{color:var(--muted);font-size:11px;font-weight:400}.project-tools{grid-template-columns:repeat(3,1fr);gap:22px;margin-top:22px;display:grid}.project-tools>section{border:1px solid var(--border);background:#fff;border-radius:16px;min-width:0;padding:24px}.project-tools p{color:var(--muted);font-size:13px}.project-tools button{margin:4px 6px 4px 0}.project-tools a{margin:10px 0;font-size:14px;display:inline-block}.project-tools label{margin-top:18px}.backup-summary{margin-top:20px;font-size:12px}.backup-summary p{color:var(--muted);font-size:12px}.save-message{background:#eaf3eb;border:1px solid #c8ddcd;border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:24px;padding:14px 18px;font-size:14px;display:flex}.save-message .icon{color:#216347;margin-top:2px}.save-message-error{color:#9e310b;background:#fff0e8;border-color:#efc7b5}.save-message-error .icon{color:#9e310b}.empty-state{text-align:center;padding:40px 24px}.empty-state>.icon,.detail-placeholder>.icon{color:#77837b;width:34px;height:34px;margin-bottom:16px}.empty-state p,.detail-placeholder p{color:var(--muted);font-size:14px}.empty-state h3{margin-bottom:12px}.inventory-layout{grid-template-columns:minmax(0,1fr) minmax(330px,.8fr);align-items:start;gap:24px;display:grid}.inventory-main,.inventory-detail{min-width:0}.inventory-detail{position:sticky;top:24px}.detail-placeholder{text-align:center;border:1px dashed #c9d1c8;border-radius:16px;padding:55px 32px}.inventory-filters{grid-template-columns:1fr 165px;gap:10px;margin:20px 0 10px;display:grid}.search-field{position:relative}.search-field input{padding-left:38px;font-size:14px}.search-field .icon{width:18px;color:var(--muted);position:absolute;top:13px;left:12px}.inventory-filters select{font-size:13px}.device-list{gap:8px;margin-top:14px;display:grid}.device-list button{text-align:left;border-color:#e2e7e1;justify-content:flex-start;width:100%;padding:16px 12px}.device-list button[aria-pressed=true]{background:#fff7f2;border-color:#cb7958}.capture-form{gap:18px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.technical-details{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.technical-details .form-grid{padding:8px 0 20px}.capture-actions{padding-top:8px}.device-sheet dl{grid-template-columns:88px minmax(0,1fr);gap:14px 16px;margin:24px 0;font-size:14px;line-height:1.5;display:grid}.device-sheet dt{color:var(--muted)}.device-sheet dd{overflow-wrap:anywhere;margin:0}.device-sheet .capture-sheet{border:0;padding:0}.device-sheet .capture-sheet>.section-heading{display:none}.device-notes{background:#f7f8f5;border-radius:9px;margin-bottom:22px;padding:16px}.device-notes p{white-space:pre-wrap;margin-bottom:0;font-size:14px}.detail-block{border-top:1px solid var(--border);margin-top:24px;padding-top:18px}.detail-block li{padding:8px 0;font-size:14px}.icon-button{min-width:44px;padding:10px}.photo-sheet{border:1px solid var(--border);background:#fff;border-radius:16px;margin-top:24px;padding:26px}.photo-sheet li>img{aspect-ratio:4/3;object-fit:cover;border-radius:9px;width:100%;max-width:200px;margin-bottom:12px;display:block}.photo-sheet>ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0;display:grid}.photo-sheet li{min-width:0;font-size:12px}.photo-sheet li>span{color:var(--muted);margin:8px 0;display:block}.photo-sheet li button{font-size:12px}.photo-sheet .capture-form button{justify-self:start}.scanner-panel{border:1px solid var(--border);background:#fff;border-radius:16px;margin-bottom:24px;padding:24px}.scanner-panel video{background:#111;border-radius:12px;width:min(100%,420px);max-height:320px;margin:16px 0;display:block}.scanner-panel label{margin:16px 0}.scanner-panel button{margin:4px 8px 4px 0}.inline-note{background:#e9ede7;border-radius:10px;margin-bottom:20px;padding:14px 18px;font-size:13px}.plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.plan-grid button{text-align:left;justify-content:flex-start;width:100%;padding:16px}.plan-grid button>span{flex:1}.plan-grid small{color:var(--muted);margin-top:5px;font-size:11px;font-weight:400}.spaces-page>.panel{margin-bottom:24px}.spatial-panel{margin-top:16px}.draw-toolbar,.draw-colors{flex-wrap:wrap;gap:6px;margin:12px 0;display:flex}.draw-toolbar button{font-size:12px}.draw-toolbar button[aria-pressed=true]{background:#fff1e9;border-color:#c24718}.draw-colors button{border:3px solid #b9c0bb;border-radius:50%;width:44px;height:44px;padding:0}.draw-colors button[aria-pressed=true]{outline-offset:2px;outline:3px solid #c24718}.spatial-viewport{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;background:#d8dcd7;border:1px solid #b8c3b6;border-radius:12px;width:100%;height:min(65vh,600px);min-height:300px;position:relative;overflow:hidden}.spatial-viewport .spatial-base{object-fit:fill;aspect-ratio:auto;pointer-events:none;border-radius:0;max-width:none;max-height:none;margin:0;position:absolute}.spatial-overlay{pointer-events:none;position:absolute;inset:0}.spatial-point{color:#161616;background:#ff6500;border:3px solid #fff;border-radius:50%;min-width:44px;min-height:44px;padding:0;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 8px #16161635}.spatial-selection{border:1px solid var(--border);background:#f5f7f1;border-radius:10px;margin-top:16px;padding:18px}.spatial-selection button{margin:4px}.stroke-list{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.stroke-list h4{width:100%}.conflict-sheet,.recovery-panel,.unresolved-panel{background:#fff4ec;border:1px solid #e6ab8d;border-radius:16px;margin:24px 0;padding:24px}.conflict-sheet article{border-top:1px solid #edccbb;padding:20px 0}.conflict-comparison{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.conflict-comparison>div{background:#fff;border-radius:10px;min-width:0;padding:16px}.conflict-comparison span{color:var(--muted);font-size:12px;font-weight:600}.conflict-comparison p{white-space:pre-wrap;margin-bottom:0}.conflict-figure{min-width:0;margin:0 0 16px}.conflict-image{background:#d8dcd7;border-radius:10px;max-width:560px;position:relative;overflow:hidden}.conflict-image img{width:100%;height:auto;display:block}.conflict-marker{border:3px solid #fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 2px 8px #16161640}.conflict-image .conflict-marker{position:absolute;transform:translate(-50%,-50%)}.conflict-marker.marker-A{background:var(--coal);color:#fff}.conflict-marker.marker-B{color:var(--coal);background:#ff6500}.conflict-legend{flex-wrap:wrap;gap:8px 20px;margin-top:10px;display:flex}.conflict-sheet article>.field-hint{margin-top:10px}.conflict-legend li{align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.maintenance-page,.logbook-page{border:1px solid var(--border);background:#fff;border-radius:16px;padding:28px}.maintenance-page>label{max-width:560px;margin:24px 0}.maintenance-page form{background:#f7f8f5;border:1px solid #e4e8e0;border-radius:12px;max-width:650px;margin:16px 0 28px;padding:20px}.maintenance-page button[type=submit]{justify-self:start}.maintenance-page h3{margin-top:24px}.maintenance-page li,.logbook-page li{overflow-wrap:anywhere;border-bottom:1px solid #e7eae4;padding:12px 0;font-size:14px;line-height:1.5}.logbook-page>label{max-width:550px;margin:24px 0}.logbook-page h3{margin-top:30px}.intervention-time{color:var(--muted);margin-top:6px;font-size:12px;display:block}[role=alert]{color:#9e310b}.loading-state{color:var(--muted);padding:40px 0}@media (width<=1050px){.app-shell{padding-left:24px;padding-right:24px}.project-home{grid-template-columns:1fr}.project-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.view-nav button{padding:10px 14px}.inventory-filters{grid-template-columns:1fr}.inventory-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.9fr)}.is-login{grid-template-columns:1fr 380px;gap:30px}.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.app-shell{padding:max(18px, env(safe-area-inset-top)) 16px calc(100px + env(safe-area-inset-bottom))}.app-header{gap:12px;padding-bottom:16px}.brand{font-size:15px}.brand small{display:none}.brand span{font-size:10px}.account-label,.local-account{display:none}.account-details summary{font-size:12px}.account-avatar{width:28px;height:28px}.session-local summary{text-align:right;max-width:115px;font-size:11px}.workspace{margin-top:18px}.workspace-topbar{grid-template-columns:1fr;gap:14px;margin-bottom:22px}.project-picker{max-width:none}.sync-status{justify-content:space-between;align-items:center}.sync-status strong{font-size:11px}.sync-status>div>span{font-size:10px}.sync-status button{padding:10px;font-size:11px}.sync-status button .icon{width:16px}.view-nav{z-index:15;border:0;border-top:1px solid var(--border);width:100%;padding:8px 4px calc(8px + env(safe-area-inset-bottom));background:#fafbf9;border-radius:0;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;margin:0;display:grid;position:fixed;bottom:0;left:0;right:0}.view-nav button{border-radius:8px;flex-direction:column;gap:5px;min-width:0;min-height:54px;padding:8px 0;font-size:10px;font-weight:500;display:flex}.view-nav button[aria-current]{color:#78290c;box-shadow:none;background:#fff0e8}.view-nav .icon{width:21px;height:21px}.panel,.project-tools>section,.photo-sheet,.maintenance-page,.logbook-page,.scanner-panel{border-radius:12px;padding:20px}.section-heading{gap:10px}.section-heading>button{padding:9px 10px;font-size:12px}h2{font-size:25px}h3{font-size:18px}.page-heading{margin-bottom:20px;display:block}.page-heading h2{font-size:29px}.page-heading>.action-row{margin-top:16px}.project-home,.project-tools,.inventory-layout{grid-template-columns:1fr;gap:18px}.stats-grid{gap:8px;margin:20px 0}.stats-grid button{gap:8px;padding:13px 10px}.stats-grid strong{font-size:25px}.stats-grid .icon{width:16px}.stats-grid span{font-size:11px}.project-overview>.section-heading{flex-wrap:wrap}.project-overview .badge{font-size:10px}.inventory-detail{position:static}.inventory-detail.has-selection{order:-1}.detail-placeholder,.inventory-detail:not(.has-selection),.device-symbol{display:none}.device-list button{gap:8px;padding:14px 12px}.device-list .badge{font-size:10px}.form-grid{grid-template-columns:1fr;gap:18px}.photo-sheet{margin-top:18px}.plan-grid{grid-template-columns:1fr}.spatial-viewport{height:55vh;min-height:300px}.conflict-comparison{grid-template-columns:1fr;gap:8px}.maintenance-page form{padding:16px}.is-login{grid-template-columns:1fr;gap:22px;padding-top:25px;display:grid}.is-login .session-login{grid-area:3/1;max-width:none;padding:24px}.login-intro{padding:20px 0 0}.login-intro p{font-size:16px}.login-features{gap:8px;margin-top:20px}.login-features span{font-size:11px}.login-intro h1{font-size:43px}.update-banner{gap:10px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
