:root{--bg:#071c31;--card:#102a43;--text:#eaf2ff;--muted:#b9c7da;--blue:#38bdf8;--green:#6ee7b7;--yellow:#fef08a;--red:#fca5a5;--teal:#2dd4bf;--scale:1;color-scheme:dark;font:calc(16px * var(--scale))/1.45 'Segoe UI',Arial,sans-serif;color:var(--text);background:#04101d}*{box-sizing:border-box}body{margin:0;padding:0 0 20px;background:radial-gradient(ellipse at top,#163a5d,#04101d 70%);min-height:100vh}button,input,select,textarea{font:inherit}button{border:1px solid #8ba2b8;background:#143650;color:var(--text);border-radius:8px;padding:9px 12px;cursor:pointer;font-weight:700;line-height:1.3}button:hover{filter:brightness(1.18)}button:disabled{opacity:.48;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #fff;outline-offset:2px}input,select,textarea{width:100%;padding:10px;background:var(--bg);color:var(--text);border:1px solid #54718a;border-radius:8px;min-width:0}textarea{resize:vertical;min-height:85px}input[type=checkbox]{width:21px;height:21px;accent-color:#2dd4bf;flex-shrink:0}input[type=file]{font-size:.76rem}label{display:block;font-size:.79rem;font-weight:700;color:var(--yellow);margin:11px 0 5px}h1,h2,h3,p{margin:0 0 10px}h1{font-size:1.1rem}h2{font-size:1rem}h3{font-size:.92rem}.muted,small{color:var(--muted);font-size:.75rem}.demo{padding:9px;display:flex;justify-content:center;gap:6px;flex-wrap:wrap;border-bottom:2px solid #eab308;background:#071c31;font-size:.72rem}.demo strong{width:100%;text-align:center;color:var(--yellow)}.demo button{font-size:.7rem;padding:6px 9px}.demo .active{background:#eab308;color:#071c31}.phone{max-width:470px;margin:12px auto 0;border:3px solid #315575;border-radius:25px;overflow:hidden;background:linear-gradient(#071c31,#12314c,#071c31);min-height:850px;box-shadow:0 18px 70px #0008}.wide .phone{max-width:1100px}.brand{display:flex;align-items:center;gap:8px;padding:14px 12px;border-bottom:2px solid #eab308}.brand img{width:44px;height:44px;object-fit:contain}.brand div{flex:1;min-width:0}.brand strong{font-size:.95rem}.brand small{display:block;font-size:.64rem}.compact{padding:7px 8px;font-size:.72rem}.connection{padding:6px 12px;font-size:.65rem;display:flex;justify-content:space-between;background:#04101d;color:var(--yellow);gap:8px}#session{padding:9px 12px;border-bottom:1px solid #3d647e}#session .row{justify-content:space-between}.identity{font-size:.74rem;color:var(--teal);overflow-wrap:anywhere}main{padding:13px;min-height:520px}nav{position:sticky;bottom:0;display:flex;background:#051526;border-top:2px solid #426580;padding:7px;gap:5px;z-index:4}nav:empty{display:none}nav button{flex:1;font-size:.74rem;padding:10px 4px}nav .active{border:2px solid #fff;background:#185671}.card{background:var(--card);border:1px solid #436782;border-radius:12px;padding:12px;margin-bottom:12px;box-shadow:0 5px 14px #0003}.box{padding:10px;border:1px solid #47708c;background:#071c31;border-radius:9px;margin:8px 0}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row>*{min-width:0}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.block{width:100%;margin-top:8px}.primary{background:#38bdf8;border-color:#38bdf8;color:#071c31}.green{color:var(--green);border-color:#10b981;background:#0b443e}.yellow{color:var(--yellow);border-color:#eab308;background:#473f1f}.red{color:var(--red);border-color:#ef4444;background:#492b39}.blue{color:var(--blue);border-color:#38bdf8}.teal{color:var(--teal);border-color:#2dd4bf}.badge{display:inline-block;border:1px solid currentColor;border-radius:6px;padding:3px 7px;font-size:.65rem;font-weight:800}.status-NEW{border-left:6px solid #ef4444}.status-IN_PROGRESS{border-left:6px solid #eab308}.status-DONE{border-left:6px solid #38bdf8}.status-INVOICED{border-left:6px solid #10b981}.status-ARCHIVED{border-left:6px solid #94a3b8}.task-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.address{font-weight:850;font-size:.97rem;overflow-wrap:anywhere}.topic{font-size:.76rem;font-weight:700;color:var(--teal);margin:5px 0}.meta{font-size:.72rem;color:var(--muted)}.counter{font-size:.72rem;font-weight:750;text-align:center;flex:1;padding:5px;background:#051526;border:1px solid #436782;border-radius:7px}.task-details{margin-top:10px}.timeline{font-size:.7rem;padding:9px;border:1px solid #406079;border-radius:8px;margin:9px 0}.timeline div{display:flex;justify-content:space-between;gap:10px;margin:3px 0}.timeline strong{text-align:right}.radar{border:2px solid #a78bfa}.radar button{font-size:.74rem}.radar-list button{display:block;width:100%;text-align:left;margin-top:7px}.unit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.unit{font-size:.72rem;padding:10px 5px;min-height:66px;overflow-wrap:anywhere}.unit strong{display:block;font-size:.85rem}.unit small{display:block;font-size:.61rem;color:inherit;margin-top:3px}.unit.MISSING{background:#5a2937;color:#fecaca;border-color:#f87171}.unit.SCHEDULED{background:#554823;color:#fef08a;border-color:#facc15}.unit.DONE{background:#0d493e;color:#a7f3d0;border-color:#34d399}.unit.defect{background:#6c3a20;border-color:#fb923c;color:#ffedd5}.selected{outline:2px solid #fff;outline-offset:1px}.done-list .unit{width:100%;text-align:left;min-height:0;display:flex;justify-content:space-between;align-items:center;margin-top:5px;gap:8px}.done-list .unit strong{font-size:.73rem}.done-list .unit small{font-size:.64rem}.stair{background:#041725;border:1px solid #3d647e;border-radius:8px;margin:8px 0;overflow:hidden}.stair summary{padding:9px;cursor:pointer;font-size:.78rem;font-weight:750;color:var(--teal)}.stair>div{padding:0 9px 9px}.stair .unit-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:8px}.stair .unit{min-height:36px;padding:7px 3px}.check{display:flex;align-items:flex-start;gap:8px;margin:8px 0;font-size:.76rem;color:var(--text)}.check span{flex:1}.photo{display:block;max-width:100%;max-height:280px;object-fit:contain;border:1px solid #52788d;border-radius:8px;margin:8px auto}.defect-box{border:1px solid #fb923c;background:#4b332b;color:#ffedd5;padding:9px;border-radius:8px;font-size:.76rem;margin:9px 0}.chips{display:flex;gap:5px;flex-wrap:wrap}.chips button{font-size:.7rem;padding:7px}.toolbar{display:flex;gap:6px;flex-wrap:wrap;margin:9px 0}.toolbar>*{flex:1}.overlay{position:fixed;inset:0;background:#000b;z-index:20;display:flex;align-items:flex-start;justify-content:center;padding:22px 10px;overflow:auto}.overlay[hidden]{display:none}.modal{width:100%;max-width:540px;background:#102a43;border:2px solid #eab308;border-radius:14px;padding:15px;max-height:calc(100dvh - 44px);overflow:auto;box-shadow:0 20px 80px #000a}.modal-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.modal-top h2{margin:0}.modal-top button{padding:5px 9px}.print-modal{width:100%;max-width:820px;background:#fff;color:#102a43;padding:20px;border-radius:10px;color-scheme:light}.print-modal .no-print{background:#102a43;color:#fff;padding:10px;border-radius:9px;margin-bottom:14px}#printArea{font:14px/1.4 Arial,sans-serif;color:#102a43;background:#fff;overflow-wrap:anywhere}#printArea *{box-shadow:none!important}#printArea h1{font-size:23px}#printArea h2{font-size:18px}#printArea small{color:#475569;font-size:11px}.print-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:2px solid #102a43;padding-bottom:10px;margin-bottom:12px;font-size:12px}.print-brand{display:flex;gap:10px;align-items:center}.print-brand img{width:54px;height:54px;object-fit:contain}.print-title{text-align:center;border:2px solid #0284c7;border-radius:8px;background:#e0f2fe;padding:10px;margin:12px 0}.print-title.stage2{border-color:#ca8a04;background:#fef9c3}.print-title.stage3{border-color:#dc2626;background:#fee2e2}.print-title h1,.print-title h2{overflow-wrap:anywhere;white-space:normal}.print-scope{border:3px solid #dc2626;border-radius:10px;padding:12px;margin:12px 0}.print-date{font-size:22px;font-weight:700;color:#b91c1c;text-align:center;white-space:normal}.print-units{font-size:19px;line-height:1.5;color:#991b1b;margin:10px 0}.print-contact{padding:12px;background:#f1f5f9;border:2px solid #102a43;border-radius:9px;break-inside:avoid;margin:12px 0}.print-contact strong{font-size:20px}.print-contact .phone-number{font-size:25px;color:#b91c1c}.print-foot{font-size:11px;border-top:1px solid #94a3b8;padding-top:9px;margin-top:14px}.print-sign{display:flex;justify-content:space-between;gap:20px;margin-top:30px;font-size:12px}.print-sign>div{border-top:1px dotted #64748b;padding-top:5px;flex:1;text-align:center}.print-table{width:100%;border-collapse:collapse;margin:12px 0;font-size:13px}.print-table td,.print-table th{border:1px solid #64748b;padding:7px;text-align:left;vertical-align:top}.print-table th{background:#e2e8f0}.print-table tr{break-inside:avoid}.print-table thead{display:table-header-group}.credential{font-family:monospace;font-size:23px;letter-spacing:2px}.qr svg{width:128px;height:128px;display:block}.print-credentials{display:flex;gap:16px;align-items:center;margin:14px 0}.cut{border-top:2px dashed #64748b;margin:20px 0;padding-top:7px;font-size:10px}.receipt{border:1px solid #64748b;padding:12px;break-inside:avoid}.error{background:#532b37;color:#fecaca;border:1px solid #ef4444;padding:10px;border-radius:8px;white-space:pre-wrap;font-size:.8rem}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:min(90vw,640px);padding:12px 18px;background:#102a43;border:2px solid #2dd4bf;border-radius:10px;z-index:60;font-size:.8rem;box-shadow:0 5px 30px #0008;white-space:pre-wrap}.toast[hidden]{display:none}.note{border-left:3px solid #eab308;padding:8px 10px;background:#0a2136;font-size:.76rem;margin:10px 0}.full{grid-column:1/-1}.worker{border-top:1px dashed #42657e;padding:8px 0}.nowrap{white-space:nowrap}.empty{padding:20px;text-align:center;color:var(--muted)}.log{padding:8px 0;border-bottom:1px solid #38576e;font-size:.72rem}.log strong{color:var(--teal)}.badge-num{background:#e11d48;color:#fff;border-radius:20px;padding:1px 5px}.print-break{break-before:page}.notice-selection{max-height:260px;overflow:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(max-width:500px){body{padding:0}.phone{margin:0;border:0;border-radius:0;min-height:100dvh}.unit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.brand{padding:12px 10px}.overlay{padding:8px}.modal{max-height:calc(100dvh - 16px)}.grid3{grid-template-columns:1fr}.print-modal{padding:12px}}@page{size:A4 portrait;margin:12mm}@media print{:root{font-size:16px!important;color-scheme:light}body,html{background:#fff!important;min-height:0!important;margin:0!important;padding:0!important}#modal,#toast,.demo,.no-print,.phone{display:none!important}#printDialog{position:static!important;display:block!important;overflow:visible!important;padding:0!important;background:#fff!important}#printDialog[hidden]{display:none!important}.print-modal{max-width:none!important;width:100%!important;margin:0!important;border:0!important;padding:0!important;border-radius:0!important}#printArea{font-size:13px}.print-contact,.print-head,.print-sign,.print-title{break-inside:avoid}.print-scope{box-decoration-break:clone;-webkit-box-decoration-break:clone}.print-units{orphans:3;widows:3}.print-title{print-color-adjust:exact;-webkit-print-color-adjust:exact}.print-date{font-size:22px}.qr svg{width:120px;height:120px}}#compatibilityError{max-width:600px;margin:20px auto;padding:20px}.box input[type=file]{margin-bottom:8px}.box .muted{margin-top:6px}.modal{max-height:calc(100vh - 44px);max-height:calc(100dvh - 44px)}.cloud-photo{margin:.7rem 0}.cloud-photo .error{font-size:.9rem}#cloudConfig{font-family:monospace;font-size:.85rem}#cloudStatus{margin-top:1rem}#nav{display:flex;flex-wrap:nowrap;gap:4px}#nav button{flex:1;min-width:0;font-size:clamp(10px,3.1vw,15px);padding:12px 3px;white-space:nowrap}.company-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-top:12px}.company-card{border:1px solid #64748b;border-radius:12px;padding:8px}.company-card.chosen{outline:2px solid #2dd4bf}.status-dots{display:flex;gap:4px;flex-wrap:nowrap}.status-dots button{flex:1;min-width:0;padding:8px 2px;font-size:16px}.status-dots small{display:block;font-size:10px;white-space:normal;line-height:1.25;margin-top:5px}.more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.more-grid .card{padding:22px 4px}.archive-group{border:2px solid #34d399;border-radius:16px;margin:18px 0;padding:10px}.archive-group>h2{font-size:18px}.archive-group>p{font-size:13px}.privacy li{margin:.8em 0}.photo{max-width:100%;max-height:400px;object-fit:contain;border-radius:10px}.print-law{font-size:10pt;line-height:1.35;margin:12px 0}.stair-label{color:#1558b0!important}.few-units .print-units{font-size:20pt;line-height:1.6}.few-units .print-date{font-size:24pt}.binder{padding-left:12mm!important;padding-top:12mm!important}.receipt .print-sign{margin-top:40mm}.print-credentials .qr{max-width:52mm}.print-credentials .qr svg{max-width:52mm}button:disabled{opacity:.55}#session .row{flex-wrap:wrap}.status-ARCHIVED{border-left-color:#22c55e!important}@media print{.stair-label{-webkit-print-color-adjust:exact;print-color-adjust:exact}.notice-page{break-inside:avoid}.print-law{font-size:10pt}.print-break{break-before:page}.binder{min-height:240mm}.few-units .print-contact{font-size:14pt}}
/* V26: desktop layout, informational footer and non-interactive display marking. */
.wide .phone{max-width:1200px;border-radius:18px;min-height:calc(100vh - 160px)}
.wide main{padding:22px 26px}
.wide .company-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.wide .brand{padding:16px 24px}
.wide .brand img{width:52px;height:52px}
.wide #nav button{font-size:.9rem}
.wide .card{padding:16px}
.wide .modal{max-width:660px}
.modal:has(.privacy){max-width:820px}
.privacy{font-size:.89rem;line-height:1.65}
.privacy ol{padding-left:22px}
.privacy h3{margin:14px 0 5px;color:var(--teal)}
.privacy a{color:#7dd3fc;text-underline-offset:3px}
.privacy li{padding:0 0 12px 5px;border-bottom:1px solid #37536c}
.privacy li:last-child{border-bottom:0}
.version-pill{font-size:.75rem;color:var(--yellow)}
.display-code{display:block;font-size:.68rem;color:var(--muted);margin-top:4px}
.app-footer{text-align:center;border-top:1px solid #315575;padding:18px 10px;color:var(--muted);font-size:.72rem}
.app-footer p{margin:9px 0 2px}
#screenWatermark{position:fixed;inset:0;z-index:45;pointer-events:none;user-select:none;overflow:hidden;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:240px;align-items:center;justify-items:center;color:#d5e4ee;opacity:.07}
#screenWatermark[hidden]{display:none}
#screenWatermark span{display:block;text-align:center;transform:rotate(-18deg);font-size:clamp(10px,1.05vw,15px);font-weight:650;white-space:nowrap}
#screenWatermark small{display:block;color:inherit;font-size:.8em;margin-top:3px}
#screenWatermark.strong{opacity:.18}
#screenWatermark.over-print{color:#537086;opacity:.14}
#blockedPrintMessage{display:none}
.qr-placeholder{max-width:52mm;padding:12px;border:1px dashed #64748b;font-size:12px}
.more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.wide .company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wide main{padding:14px}}
@media(max-width:600px){.wide .company-grid{grid-template-columns:1fr}#screenWatermark{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:190px}#screenWatermark span{font-size:9px}.privacy{font-size:.82rem}.wide .brand{padding:12px}.more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{#screenWatermark{display:none!important}body.worker-print-block>*{display:none!important}body.worker-print-block>#printDialog{display:none!important}body.worker-print-block>#blockedPrintMessage{display:block!important;color:#000;font:14pt Arial,sans-serif;padding:20mm}}

.policy-gate{background:#0d2c44;border:1px solid #34617c;border-radius:14px;padding:18px;margin:18px 0}.policy-gate h2{margin-top:0}.policy-scroll{max-height:58vh;overflow:auto;padding:8px 20px 25px;border:1px solid #456071;border-radius:10px;background:#071c31;line-height:1.65}.policy-scroll h3{color:#7ee5d4}.policy-scroll:focus{outline:2px solid #5eead4}.policy-gate input:disabled{opacity:.45}.login-card{max-width:820px;margin:auto}button:disabled{opacity:.45;cursor:not-allowed}.privacy-list>li{margin-bottom:20px}#policyStatus{min-height:1.5em}@media(max-width:600px){.policy-scroll{padding:10px;max-height:54vh}.policy-gate{padding:12px}}

.transfer-dialog{max-width:520px;width:calc(100% - 40px);border:1px solid #cbd5e1;border-radius:16px;padding:24px;color:#16312b;background:#fff}.transfer-dialog::backdrop{background:rgba(10,30,24,.55)}.transfer-dialog p{line-height:1.6;min-height:4em}.transfer-dialog button{padding:12px 18px;border-radius:8px;cursor:pointer}
