:root{--primary:#0b1f3a;--primary-text:#fff;--accent:#00c2e0;--surface:#f2f5fa;--ink:#13233a;--card:#fff;--muted:color-mix(in srgb, var(--ink) 62%, var(--card));--line:color-mix(in srgb, var(--ink) 14%, transparent);--primary-soft:color-mix(in srgb, var(--primary) 10%, var(--card));--t-danger-bg:#fde3e1;--t-danger-fg:#8c1a14;--t-danger-line:#f1a7a1;--t-warn-bg:#fde8d6;--t-warn-fg:#7a3300;--t-warn-line:#f4b98a;--t-caution-bg:#fff6c7;--t-caution-fg:#5b4700;--t-caution-line:#ead27a;--t-ok-bg:#dff3e4;--t-ok-fg:#1d5e2e;--t-ok-line:#9fd3ac;--t-info-bg:#d4e8fa;--t-info-fg:#12406b;--t-chip-bg:#e8edf5;--t-chip-fg:#44526b;--danger:#b3261e;--warn:#c25e00;--caution:#a07800;--ok:#1f7a3a;--radius-s:6px;--radius-m:10px;--font:"Lexend", "Segoe UI", system-ui, -apple-system, sans-serif;--font-heading:var(--font);--step--1:.875rem;--step-0:1rem;--step-1:1.25rem;--step-2:1.6rem;--step-3:2.2rem;--banner-h:52px;--header-h:52px}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font);font-size:var(--step-0);color:var(--ink);background:var(--surface);-webkit-font-smoothing:antialiased;line-height:1.5}h1,h2,h3{font-weight:700;line-height:1.2;font-family:var(--font-heading,var(--font));margin:0 0 .5em}h1{font-size:var(--step-2)}h2{font-size:var(--step-1)}h3{font-size:var(--step-0)}p{max-width:70ch}a{color:var(--action,var(--primary))}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:3px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.shell{min-height:calc(100vh - var(--header-h));grid-template-columns:240px 1fr;display:grid}.sidebar{background:var(--primary);color:var(--primary-text);top:var(--header-h);height:calc(100vh - var(--header-h));flex-direction:column;gap:.25rem;padding:1.25rem .75rem;display:flex;position:sticky;overflow-y:auto}.brand{font-weight:700;font-size:var(--step-1);align-items:center;gap:.6rem;padding:0 .5rem 1.25rem;display:flex}.brand img{max-width:120px;max-height:36px}.nav a{border-radius:var(--radius-s);color:inherit;font-size:var(--step-0);align-items:center;gap:.7rem;padding:.6rem .75rem;text-decoration:none;display:flex}.nav a:hover{background:color-mix(in srgb, var(--primary-text) 12%, transparent)}.nav a[aria-current=page]{background:color-mix(in srgb, var(--primary-text) 20%, transparent);font-weight:700}.nav .emoji{text-align:center;width:1.6rem;font-size:1.2rem}.who{font-size:var(--step--1);border-top:1px solid color-mix(in srgb, var(--primary-text) 25%, transparent);margin-top:auto;padding:.75rem}.who button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.main{min-width:0;padding:1.75rem clamp(1rem,3vw,2.5rem)}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.page-head h1{align-items:center;gap:.5rem;margin:0;display:flex}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-m);padding:1.1rem 1.25rem}.btn{font:inherit;cursor:pointer;border-radius:var(--radius-s);border:1px solid var(--primary);background:var(--primary);color:var(--primary-text);align-items:center;gap:.4rem;padding:.55rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}.btn.secondary{background:var(--card);color:var(--action,var(--primary))}.btn.ghost{color:var(--action,var(--primary));background:0 0;border-color:#0000;padding-inline:.5rem}.btn:disabled{opacity:.5;cursor:not-allowed}.field{gap:.3rem;margin-bottom:1rem;display:grid}.field label{font-weight:700}.field .help{color:var(--muted);font-size:var(--step--1);max-width:70ch}input,select,textarea{font:inherit;color:inherit;background:var(--card);border:1px solid color-mix(in srgb, var(--ink) 30%, transparent);border-radius:var(--radius-s);width:100%;padding:.55rem .7rem}textarea{resize:vertical;min-height:6rem}input[type=checkbox],input[type=radio]{width:1.2rem;height:1.2rem;accent-color:var(--action,var(--primary));flex:none;margin:.12rem 0 0;padding:0}input[type=color]{width:4rem;height:2.4rem;padding:2px}.check{align-items:flex-start;gap:.6rem;display:flex}.row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.grid-2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.error{color:var(--danger);font-weight:700}.muted{color:var(--muted)}table.data{border-collapse:collapse;width:100%;font-size:var(--step--1)}table.data th{text-align:left;border-bottom:2px solid var(--line);white-space:nowrap;padding:.5rem;font-weight:700}table.data td{border-bottom:1px solid var(--line);vertical-align:top;padding:.55rem .5rem}.scroll-x{overflow-x:auto}.tag{font-size:var(--step--1);border:1px solid;border-radius:999px;padding:.1rem .5rem;font-weight:700;display:inline-block}.tag.danger{color:var(--danger)}.tag.warn{color:var(--warn)}.tag.caution{color:var(--caution)}.tag.ok{color:var(--ok)}.tag.neutral{color:var(--muted)}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.25rem;margin-bottom:1.25rem;display:flex}.tabs button{font:inherit;cursor:pointer;color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;padding:.6rem .9rem}.tabs button[aria-selected=true]{color:var(--ink);border-color:var(--action,var(--primary));font-weight:700}.matrix{max-width:460px;font-size:var(--step--1);grid-template-columns:auto repeat(5,minmax(2.4rem,1fr));gap:3px;display:grid}.matrix .axis{color:var(--muted);text-align:center;justify-content:center;align-items:center;padding:.2rem;display:flex}.matrix button{aspect-ratio:1.4;cursor:pointer;font:inherit;color:#fff;border:2px solid #0000;border-radius:4px;font-weight:700}.matrix button[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 2px #fff}.r-ok{background:#2e7d32}.r-caution{background:#b38f00}.r-warn{background:#d35400}.r-danger{background:#b3261e}.widget{flex-direction:column;height:100%;display:flex;overflow:hidden}.widget-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.widget-head h2{font-size:var(--step-0);margin:0}.widget-body{flex:1;min-height:0;overflow:auto}.editing .widget{outline:2px dashed color-mix(in srgb, var(--primary) 50%, transparent);cursor:move}.drag-handle{cursor:grab}.board{background:var(--card);border-radius:var(--radius-m);border:1px solid var(--line);flex-direction:column;justify-content:center;height:100%;min-height:9rem;padding:calc(12px + 5cqh) 5cqw 4cqh;display:flex;position:relative;overflow:hidden;container-type:size}.board:before{content:"";background:repeating-linear-gradient(-45deg, var(--accent) 0 14px, var(--ink) 14px 28px);height:12px;position:absolute;inset:0 0 auto}.board .count{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:clamp(2rem,min(36cqh,30cqw),16rem);font-weight:700;line-height:.95}.board .caption{margin-top:.4rem;font-size:clamp(.85rem,min(9cqh,6.5cqw),3.2rem);line-height:1.15}.board .since{color:var(--muted);margin-top:.4rem;font-size:clamp(.7rem,min(6cqh,4cqw),1.5rem);line-height:1.2}.kpis{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem;height:100%;display:grid}.kpi{border-left:4px solid var(--primary);flex-direction:column;justify-content:center;padding:.25rem .75rem;display:flex}.kpi.alert{border-color:var(--danger)}.kpi .v{font-size:var(--step-3);font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.kpi .l{color:var(--muted);font-size:var(--step--1);margin-top:.3rem}.notice{border-radius:var(--radius-m);background:color-mix(in srgb, var(--danger) 9%, var(--card));border:1px solid color-mix(in srgb, var(--danger) 40%, transparent);align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding:.8rem 1rem;display:flex}.builder{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}@media (max-width:1000px){.builder{grid-template-columns:1fr}}.field-card{border:1px solid var(--line);border-radius:var(--radius-s);background:var(--card);margin-bottom:.6rem;padding:.75rem}.field-card summary{cursor:pointer;align-items:center;gap:.5rem;font-weight:700;display:flex}.field-card .type{color:var(--muted);font-weight:400;font-size:var(--step--1)}.login{min-height:calc(100vh - var(--header-h));background:var(--primary);place-items:center;padding:1.5rem;display:grid}.login .card{background:var(--card);border-radius:var(--radius-m);width:min(420px,100%);padding:2.25rem}.login .card:before{content:"";border-radius:var(--radius-m) var(--radius-m) 0 0;background:repeating-linear-gradient(-45deg, var(--accent) 0 12px, var(--ink) 12px 24px);height:8px;margin:-2.25rem -2.25rem 1.75rem;display:block}.ms-btn{width:100%;font-size:var(--step-0);justify-content:center;padding:.8rem}.signup{min-height:calc(100vh - var(--header-h));background:var(--surface);place-items:center;padding:clamp(1.5rem,5vw,4rem);display:grid}.signup-hero{grid-template-columns:minmax(200px,300px) minmax(0,560px);align-items:center;gap:clamp(1.5rem,5vw,4rem);display:grid}.signup-hero h1{font-size:var(--step-3)}.signup-board{aspect-ratio:1;height:auto}.signup-board .count{font-size:clamp(6rem,14vw,10rem)}.signup-points{margin:0 0 1.5rem;padding-left:1.2rem}.signup-points li{margin-bottom:.35rem}@media (max-width:720px){.signup-hero{grid-template-columns:1fr}.signup-board{max-width:220px}}.progress{background:var(--line);border-radius:4px;height:8px;overflow:hidden}.progress span{background:var(--primary);width:40%;height:100%;animation:1.4s ease-in-out infinite slide;display:block}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}.trial-bar{border-radius:var(--radius-m);background:color-mix(in srgb, var(--accent) 18%, var(--card));border:1px solid color-mix(in srgb, var(--accent) 60%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.6rem 1rem;display:flex}.trial-bar.ended{background:color-mix(in srgb, var(--danger) 9%, var(--card));border-color:color-mix(in srgb, var(--danger) 40%, transparent)}.product-banner{height:var(--banner-h);color:#fff;border-bottom:4px solid #0000;border-image:repeating-linear-gradient(-45deg, var(--accent) 0 10px, #0b1f3a 10px 20px) 4;background:#0b1f3a;justify-content:space-between;align-items:center;gap:1rem;padding:0 clamp(.75rem,2vw,1.25rem);display:flex}.product-mark{align-items:center;gap:.55rem;min-width:0;display:flex}.product-name{white-space:nowrap;letter-spacing:.01em;font-size:1.15rem}.product-name strong{font-weight:700}.product-name .as{color:var(--accent)}.product-name .tagline{opacity:.85;font-weight:400}.product-org{font-size:var(--step--1);opacity:.85;white-space:nowrap;text-overflow:ellipsis;max-width:40vw;overflow:hidden}.back-link{align-items:center;gap:.35rem;margin-bottom:.5rem;font-weight:700;text-decoration:none;display:inline-flex}.back-link:hover{text-decoration:underline}.form-actions{margin-top:.5rem}.small{font-size:var(--step--1)}.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}:where(.drill){font:inherit;color:inherit;text-align:inherit;cursor:pointer;background:0 0;border:0;text-decoration:none}a.kpi.drill,button.kpi.drill{border-radius:0 var(--radius-s) var(--radius-s) 0;width:100%;transition:background .15s;display:flex}.kpi.drill:hover{background:var(--primary-soft)}.drill.inline{color:var(--action,var(--primary));padding:0;text-decoration:underline}.chart-with-keys{flex-direction:column;gap:.5rem;height:100%;display:flex}.chart-area{flex:1;min-height:120px}.chart-keys{flex-wrap:wrap;gap:.35rem;display:flex}.key-chip{font-size:var(--step--1);border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:.15rem .6rem}.key-chip:hover{border-color:var(--action,var(--primary))}.key-chip.on{background:var(--primary);color:var(--primary-text);border-color:var(--action,var(--primary))}.matrix.heat .cell{color:#fff;border-radius:4px;justify-content:center;align-items:center;min-height:2.2rem;font-weight:700;display:flex}.matrix.heat .cell.r-ok{background:#2e7d32}.matrix.heat .cell.r-caution{background:#b38f00}.matrix.heat .cell.r-warn{background:#d35400}.matrix.heat .cell.r-danger{background:#b3261e}.matrix.heat .cell.empty{opacity:.3}.matrix.heat .cell.drill:hover{outline:3px solid var(--ink);outline-offset:-3px}.matrix.heat .cell.on{outline:3px solid var(--ink);outline-offset:-3px;box-shadow:inset 0 0 0 5px #fff}.filter-bar{gap:.75rem;margin-bottom:1rem;display:grid}.filters{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:.75rem;display:grid}.filters .field{margin:0}.notif-check{padding-bottom:.6rem}.chips{gap:.4rem}.chip{background:var(--primary-soft);border:1px solid color-mix(in srgb, var(--primary) 35%, transparent);font-size:var(--step--1);border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .3rem .2rem .7rem;font-weight:700;display:inline-flex}.chip button{cursor:pointer;font:inherit;color:inherit;background:0 0;border:0;border-radius:999px;padding:.1rem .35rem}.chip button:hover{background:color-mix(in srgb, var(--primary) 20%, transparent)}.th-sort{font:inherit;cursor:pointer;color:inherit;white-space:nowrap;background:0 0;border:0;padding:0;font-weight:700}.inline-select{width:auto;padding:2px 6px}.row-actions{white-space:nowrap;text-align:right}tr.row-open td{background:var(--primary-soft)}.detail-row td{background:color-mix(in srgb, var(--primary) 4%, var(--card))}.record-detail{grid-template-columns:minmax(140px,max-content) 1fr;gap:.35rem 1.25rem;margin:.25rem 0;display:grid}.record-detail dt{color:var(--muted)}.record-detail dd{white-space:pre-wrap;margin:0}.pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.dev-hint{border-radius:var(--radius-s);background:color-mix(in srgb, var(--accent) 14%, var(--card));border:1px dashed color-mix(in srgb, var(--accent) 70%, var(--ink));font-size:var(--step--1);margin-top:1rem;padding:.75rem .9rem}.dev-hint p{margin:.35rem 0 0}.dev-hint code{word-break:break-word}.app-header{z-index:40;position:sticky;top:0}.env-banner{letter-spacing:.02em;color:#fff;justify-content:center;align-items:center;gap:.5rem;height:26px;font-size:.8rem;font-weight:700;display:flex}.env-dot{background:#fff;border-radius:50%;width:8px;height:8px}.env-development{background:repeating-linear-gradient(-45deg,#5b2a86 0 14px,#6d3a9c 14px 28px)}.env-test{background:repeating-linear-gradient(-45deg,#8a4300 0 14px,#a35200 14px 28px)}.env-production{background:#1f5f3a;font-weight:400}.env-production .env-dot{background:#7be09f}.product-end{align-items:center;gap:.75rem;min-width:0;display:flex}.version{position:relative}.version-btn{font:inherit;color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff4d;border-radius:999px;padding:.2rem .65rem;font-size:.8rem}.version-btn:hover{background:#fff3}.version-pop{z-index:60;background:var(--card);width:min(320px,90vw);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-m);gap:.5rem;padding:.9rem 1rem;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 30px #0000002e}.version-status{min-height:1.4em}.menu-btn{cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:space-between;width:36px;height:36px;padding:8px 6px;display:none}.menu-btn span{background:#fff;border-radius:2px;height:2px;display:block}.support-link{border-radius:var(--radius-s);color:inherit;border:1px solid color-mix(in srgb, var(--primary-text) 30%, transparent);align-items:center;gap:.7rem;margin-top:auto;padding:.6rem .75rem;text-decoration:none;display:flex}.support-link:hover{background:color-mix(in srgb, var(--primary-text) 12%, transparent)}.support-link+.who{margin-top:.5rem}.side-actions{gap:.4rem;margin-top:auto;padding-top:.75rem;display:grid}.side-actions+.support-link{margin-top:.4rem}.side-action{border-radius:var(--radius-s);color:#fff;border:1px solid #ffffff59;align-items:center;gap:.7rem;padding:.6rem .75rem;font-weight:700;text-decoration:none;display:flex}.side-action .emoji{text-align:center;width:1.6rem;font-size:1.2rem}.side-incident{background:#c62828}.side-incident:hover{background:#a91f1f}.side-hazard{background:#c25a00}.side-hazard:hover{background:#a14900}.side-action:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.side-action[aria-current=page]{box-shadow:inset 0 0 0 2px #fff}.main{padding-bottom:2.5rem}.update-toast{--ink:#1a2633;z-index:70;background:var(--ink);color:#fff;border-radius:var(--radius-m);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;width:min(560px,100vw - 2rem);padding:.8rem 1rem;display:flex;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0000004d}.update-toast .btn.ghost{color:#fff}.mobile-nav{display:none}.operator-home{gap:2rem;max-width:720px;margin:0 auto;display:grid}.op-hero{text-align:center;justify-items:center;gap:.9rem;padding:clamp(1rem,4vh,3rem) 0 .5rem;display:grid}.op-hero h1{font-size:var(--step-2);margin:0}.op-incident{aspect-ratio:1.35;color:#fff;background:#c62828;border-radius:28px;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;width:min(340px,86vw);text-decoration:none;transition:transform .12s;display:flex;box-shadow:0 14px 36px #c6282859,inset 0 -6px #00000026}.op-incident:hover{background:#b02222}.op-incident:active{transform:scale(.98)}.op-incident-emoji{font-size:clamp(3rem,12vw,4.5rem);line-height:1}.op-incident-text{font-size:clamp(1.4rem,5vw,1.9rem);font-weight:700}.op-sub{color:var(--muted);max-width:32ch;margin:0}.op-forms{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.6rem;display:grid}.op-form{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-m);color:var(--ink);align-items:center;gap:.5rem;padding:.9rem 1rem;font-weight:700;text-decoration:none;display:flex}.op-form:hover{border-color:var(--action,var(--primary))}.op-records{gap:.4rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.op-records a{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-s);color:inherit;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem .8rem;text-decoration:none;display:flex}.cat-tag{color:#1a2633;font-size:var(--step--1);white-space:nowrap;text-overflow:ellipsis;vertical-align:middle;border:1px solid;border-radius:999px;max-width:100%;padding:.12rem .6rem;font-weight:700;display:inline-block;overflow:hidden}.col-picker{position:relative}.col-pop{z-index:50;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-m);gap:.75rem;width:min(360px,92vw);max-height:min(70vh,560px);padding:.75rem;display:grid;position:absolute;top:calc(100% + 6px);right:0;overflow:auto;box-shadow:0 10px 30px #00000026}.col-pop-head{gap:.5rem;display:flex}.col-order{border-bottom:1px solid var(--line);gap:.15rem;padding-bottom:.5rem;display:grid}.col-row{font-size:var(--step--1);justify-content:space-between;align-items:center;gap:.5rem;display:flex}.col-row .btn{padding:.1rem .35rem}.col-group{border:0;gap:.3rem;margin:0;padding:0;display:grid}.col-group legend{font-weight:700;font-size:var(--step--1);color:var(--muted);margin-bottom:.2rem}.btn.small{font-size:var(--step--1);padding:.3rem .6rem}.photo-input{gap:.6rem;display:grid}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.5rem;display:grid}.photo-grid:empty{display:none}.small-grid{grid-template-columns:repeat(auto-fill,minmax(80px,120px))}.photo-thumb{aspect-ratio:1;border-radius:var(--radius-s);background:var(--surface);border:1px solid var(--line);margin:0;display:block;position:relative;overflow:hidden}.photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.photo-thumb.uploading img{opacity:.55}.photo-thumb.failed img{opacity:.3}.photo-thumb figcaption{text-align:center;color:var(--danger);background:color-mix(in srgb, var(--card) 80%, transparent);place-content:center;padding:.3rem;font-size:.72rem;font-weight:700;display:grid;position:absolute;inset:0}.photo-remove{color:#fff;cursor:pointer;background:#1a2633bf;border:0;border-radius:50%;width:28px;height:28px;font-size:.85rem;position:absolute;top:4px;right:4px}.photo-progress{background:#fffc;border-radius:3px;height:6px;position:absolute;bottom:6px;left:6px;right:6px;overflow:hidden}.photo-progress span{background:var(--primary);height:100%;transition:width .2s;display:block}.address-search{position:relative}.suggestions{z-index:45;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-s);max-height:260px;margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow:auto;box-shadow:0 8px 24px #00000024}.suggestions li{cursor:pointer;font-size:var(--step--1);border-radius:4px;padding:.5rem .6rem}.suggestions li[aria-selected=true],.suggestions li:hover{background:var(--primary-soft)}.location-input{gap:.5rem;display:grid}.map-wrap{gap:.3rem;display:grid}.map-view{border-radius:var(--radius-s);border:1px solid var(--line);z-index:0;width:100%;overflow:hidden}.map-loading{color:var(--muted);background:var(--surface);place-items:center;height:220px;display:grid}.map-pin span{background:#c62828;border:3px solid #fff;border-radius:50% 50% 50% 0;width:22px;height:22px;margin:0 auto;display:block;transform:rotate(-45deg);box-shadow:0 2px 6px #0006}.conn-list{gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.conn-list li{border:1px solid var(--line);border-radius:var(--radius-s);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .8rem;display:flex}.conn-list li.active{border-color:var(--action,var(--primary));background:var(--primary-soft)}.kind-grid{gap:.6rem;display:grid}.kind-card{font:inherit;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-m);cursor:pointer;color:var(--ink);gap:.2rem;padding:.8rem .9rem;display:grid}.kind-card:hover:not(:disabled){border-color:var(--action,var(--primary))}.kind-card:disabled{cursor:not-allowed;opacity:.6}.help-box{background:var(--surface);border-radius:var(--radius-s);margin:.5rem 0 1rem;padding:.6rem .8rem}.help-box summary{cursor:pointer;font-weight:700;font-size:var(--step--1)}.help-box code,.kind-card code{word-break:break-all}.notice-ok{border-radius:var(--radius-m);background:color-mix(in srgb, var(--ok) 10%, var(--card));border:1px solid color-mix(in srgb, var(--ok) 40%, transparent);gap:.75rem;margin:.75rem 0;padding:.8rem 1rem;display:flex}.lists-layout{grid-template-columns:240px 1fr;align-items:start;gap:1rem;display:grid}.lists-nav{gap:.2rem;padding:.5rem;display:grid}.lists-nav button:not(.btn){font:inherit;text-align:left;border-radius:var(--radius-s);cursor:pointer;color:var(--ink);background:0 0;border:0;align-items:center;gap:.4rem;padding:.55rem .6rem;display:flex}.lists-nav button:not(.btn) .small{margin-left:auto}.lists-nav button.on{background:var(--primary-soft);font-weight:700}.list-items{gap:.6rem;margin:.75rem 0;display:grid}.list-item{border:1px solid var(--line);border-radius:var(--radius-s);padding:.7rem .8rem .4rem}.list-item.inactive{opacity:.6}.list-item .field{margin-bottom:.5rem}@media (max-width:800px){.shell{grid-template-columns:1fr}.menu-btn{display:inline-flex}.product-banner{padding:0 .6rem}.product-name .tagline,.product-org{display:none}.sidebar{z-index:80;width:min(300px,84vw);height:100%;padding-bottom:calc(1.25rem + env(safe-area-inset-bottom));transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%);box-shadow:4px 0 24px #00000040}.sidebar.open{transform:none}.drawer-backdrop{z-index:75;background:#0006;position:fixed;inset:0}.main{padding:1rem .9rem calc(5.5rem + env(safe-area-inset-bottom))}.update-toast{bottom:calc(5rem + env(safe-area-inset-bottom))}.mobile-nav{left:0;right:0;bottom:var(--made-in-h,0px);z-index:50;background:var(--card);border-top:1px solid var(--line);padding:.3rem .25rem calc(.3rem + env(safe-area-inset-bottom));grid-template-columns:repeat(5,1fr);align-items:end;display:grid;position:fixed;box-shadow:0 -4px 16px #0000000f}.mobile-nav>a,.mobile-nav>button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:.1rem;min-height:48px;padding:.3rem .1rem;font-size:.72rem;text-decoration:none;display:flex}.mobile-nav>a>span:first-child,.mobile-nav>button>span:first-child{font-size:1.3rem;line-height:1.2}.mobile-nav>a[aria-current=page]{color:var(--action,var(--primary));font-weight:700}.mobile-nav .mobile-incident{border:4px solid var(--card);background:#c62828;border-radius:50%;justify-self:center;width:64px;height:64px;margin-top:-1.6rem;padding:0;font-weight:700;box-shadow:0 6px 16px #c6282873;color:#fff!important}.mobile-nav .mobile-incident>span:first-child{font-size:1.5rem}.mobile-nav .mobile-incident>span:last-child{font-size:.62rem}.page-head h1{font-size:var(--step-1)}.grid-2,.lists-layout{grid-template-columns:1fr}.lists-nav{grid-auto-columns:max-content;grid-auto-flow:column;overflow-x:auto}.builder aside{position:static!important}.filters{grid-template-columns:1fr 1fr}.panel{padding:.9rem}.col-pop{top:auto;left:.5rem;right:.5rem;bottom:calc(5rem + env(safe-area-inset-bottom));width:auto;position:fixed}}@media (max-width:640px){table.records thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}table.records,table.records tbody,table.records tr,table.records td{width:100%;display:block}table.records tr{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--card);margin-bottom:.6rem;padding:.4rem .6rem}table.records td{border:0;grid-template-columns:7.5rem 1fr;align-items:center;gap:.5rem;padding:.3rem 0;display:grid}table.records td:before{content:attr(data-label);color:var(--muted);font-size:var(--step--1)}table.records td.row-actions{justify-content:flex-end;display:flex}table.records td.row-actions:before{content:none}table.records tr.detail-row td{display:block}table.records tr.detail-row td:before{content:none}.record-detail{grid-template-columns:1fr}.record-detail dt{margin-top:.4rem}}.field-label{font-weight:700;display:block}.multi{position:relative}.multi-btn{font:inherit;font-size:var(--step--1);border:1px solid color-mix(in srgb, var(--ink) 30%, transparent);background:var(--card);max-width:100%;color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.4rem .7rem;display:inline-flex}.multi-field .multi-btn{border-radius:var(--radius-s);width:100%;font-size:var(--step-0);justify-content:space-between;padding:.55rem .7rem}.multi-btn.on{border-color:var(--action,var(--primary));background:var(--primary-soft);font-weight:700}.multi-label{color:var(--muted);font-weight:400}.multi-summary{text-overflow:ellipsis;max-width:16rem;overflow:hidden}.multi-pop{z-index:55;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-m);gap:.35rem;min-width:220px;max-width:min(340px,90vw);max-height:320px;padding:.6rem;display:grid;position:absolute;top:calc(100% + 4px);left:0;overflow:auto;box-shadow:0 10px 28px #00000026}.col-filters{border-top:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:.4rem;padding-top:.6rem;display:flex}.text-filter{font-size:var(--step--1);border:1px solid color-mix(in srgb, var(--ink) 30%, transparent);background:var(--card);border-radius:999px;align-items:center;gap:.35rem;padding:.15rem .2rem .15rem .7rem;display:inline-flex}.text-filter input{width:9rem;font-size:var(--step--1);background:0 0;border:0;padding:.25rem .4rem}.add-filter{width:auto;font-size:var(--step--1);border-style:dashed;border-radius:999px;padding:.4rem .6rem}.export-menu{position:relative}.export-pop{z-index:55;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-m);gap:.25rem;width:min(300px,90vw);padding:.6rem;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 30px #00000026}.export-pop button,.export-pop a{font:inherit;text-align:left;border-radius:var(--radius-s);color:var(--ink);cursor:pointer;background:0 0;border:0;padding:.5rem .6rem;text-decoration:none}.export-pop button:hover,.export-pop a:hover{background:var(--primary-soft)}.export-pop hr{border:0;border-top:1px solid var(--line);width:100%;margin:.3rem 0}.selection-bar{border-radius:var(--radius-s);background:var(--primary-soft);border:1px solid color-mix(in srgb, var(--primary) 30%, transparent);flex-wrap:wrap;align-items:center;gap:.5rem .9rem;margin-bottom:.6rem;padding:.55rem .8rem;display:flex}.sel-col{width:2.2rem}tr.row-selected td{background:color-mix(in srgb, var(--accent) 12%, var(--card))}.attachments{border-top:1px solid var(--line);gap:.6rem;margin-top:1rem;padding-top:.9rem;display:grid}.attach-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.6rem;display:grid}.attach{border:1px solid var(--line);border-radius:var(--radius-s);background:var(--card);position:relative;overflow:hidden}.attach-link{color:var(--ink);gap:.15rem;padding-bottom:.4rem;text-decoration:none;display:grid}.attach.is-img img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.attach-icon{aspect-ratio:4/3;background:var(--surface);place-items:center;font-size:2.4rem;display:grid}.attach-name{font-size:var(--step--1);text-overflow:ellipsis;white-space:nowrap;padding:.3rem .5rem 0;font-weight:700;overflow:hidden}.attach .muted{text-overflow:ellipsis;white-space:nowrap;padding:0 .5rem;font-size:.72rem;overflow:hidden}.forms-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.forms-toolbar input[type=search]{max-width:280px}.type-chip{font:inherit;font-size:var(--step--1);border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:999px;padding:.3rem .75rem}.type-chip[style]{color:#1a2633}.type-chip.on{box-shadow:inset 0 0 0 1px var(--ink);font-weight:700}.type-chip:first-child.on{background:var(--ink);color:var(--card)}.branding-layout{grid-template-columns:minmax(0,1fr) minmax(300px,420px);align-items:start;gap:1rem;display:grid}.branding-preview{top:calc(var(--header-h) + 1rem);position:sticky}.preset-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem;display:grid}.preset{font:inherit;border:2px solid var(--line);border-radius:var(--radius-m);background:var(--card);color:var(--ink);cursor:pointer;text-align:left;gap:.4rem;padding:.6rem;display:grid}.preset.on{border-color:var(--action,var(--primary))}.swatches{border:1px solid var(--line);border-radius:4px;height:22px;display:flex;overflow:hidden}.swatches span{flex:1}.theme-preview{border-radius:var(--radius-m);border:1px solid var(--line);background:var(--surface);min-height:260px;color:var(--ink);grid-template-columns:38% 1fr;display:grid;overflow:hidden}.tp-side{background:var(--primary);color:var(--primary-text);align-content:start;gap:.2rem;padding:.7rem .5rem;font-size:.85em;display:grid}.tp-brand{align-items:center;gap:.3rem;padding:0 .3rem .5rem;font-weight:700;display:flex}.tp-brand img{max-width:60px;max-height:20px}.tp-item{border-radius:var(--radius-s);padding:.35rem .4rem}.tp-item.on{background:color-mix(in srgb, var(--primary-text) 20%, transparent);font-weight:700}.tp-main{padding:.7rem}.tp-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-m);gap:.5rem;padding:.7rem;font-size:.85em;display:grid}.tp-card h3,.tp-card p{margin:0}.tp-card .btn{padding:.35rem .7rem}@media (max-width:1000px){.branding-layout{grid-template-columns:1fr}.branding-preview{position:static}}@media (max-width:800px){.multi-pop,.export-pop{top:auto;left:.5rem;right:.5rem;bottom:calc(5rem + env(safe-area-inset-bottom));width:auto;max-width:none;position:fixed}.text-filter input{width:7rem}}.recharts-cartesian-axis-tick-value{fill:var(--muted)}.recharts-default-tooltip{color:var(--ink);background:var(--card)!important;border-color:var(--line)!important}.recharts-tooltip-label{color:var(--ink)}.recharts-tooltip-cursor{fill:var(--primary-soft)}.theme-root{min-height:100vh}.account{position:relative}.account-btn{background:var(--accent);color:#1a2633;cursor:pointer;width:34px;height:34px;font:inherit;border:2px solid #fff6;border-radius:50%;padding:0;font-size:.8rem;font-weight:700}.account-btn:hover{border-color:#fff}.avatar{place-items:center;width:100%;height:100%;display:grid}.account-pop{z-index:60;background:var(--card);width:min(280px,90vw);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-m);gap:.35rem;padding:.9rem 1rem;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 30px #0003}.account-pop form{margin-top:.4rem}.modal-backdrop{z-index:100;background:#00000080;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{background:var(--card);color:var(--ink);border-radius:var(--radius-m);width:min(440px,100%);padding:1.4rem 1.5rem;box-shadow:0 20px 50px #00000059}.modal h2{margin-top:0}.risk-summary{grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);align-items:stretch;gap:1rem;margin-bottom:1rem;display:grid}.risk-summary .kpis{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.kpi.on{background:var(--primary-soft)}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--primary-soft)}.empty-state{text-align:center;justify-items:center;gap:.5rem;padding:2rem 1rem;display:grid}.risk-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(250px,300px);align-items:start;gap:1rem;display:grid}.risk-side{top:calc(var(--header-h) + 1rem);gap:.6rem;display:grid;position:sticky}.risk-side h2{margin-bottom:0}.risk-actions{gap:.4rem;display:grid}.risk-actions .btn{justify-content:center}.link-existing{border-left:4px solid var(--accent);gap:.4rem;margin-bottom:1rem;display:grid}.plain-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.history summary{cursor:pointer;font-weight:700;font-size:var(--step--1)}.danger-text{justify-self:start;color:var(--danger)!important}.risk-link{border-radius:var(--radius-s);background:color-mix(in srgb, var(--accent) 12%, var(--card));border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);flex-wrap:wrap;align-items:center;gap:.5rem .8rem;margin-top:.9rem;padding:.7rem .8rem;display:flex}.widget-settings{gap:.6rem;display:grid}.ws-cols{gap:.15rem;max-height:240px;padding-right:.3rem;display:grid;overflow:auto}.ws-col{font-size:var(--step--1);justify-content:space-between;align-items:center;gap:.5rem;display:flex}.ws-col .btn{padding:.1rem .35rem}table.data.compact td,table.data.compact th{padding:.4rem}.sites-widget{flex-direction:column;gap:.4rem;height:100%;display:flex}.sites-map{border-radius:var(--radius-s);border:1px solid var(--line);z-index:0;flex:1;min-height:180px}.site-pin span{color:#fff;border:3px solid #fff;border-radius:50% 50% 50% 0;place-items:center;width:26px;height:26px;margin:0 auto;font-size:.72rem;font-weight:700;line-height:1;display:grid;transform:rotate(-45deg);box-shadow:0 2px 6px #0006}.site-ok span{background:#2e7d32}.site-warn span{background:#d35400}.site-danger span{background:#b3261e}.map-legend{color:var(--muted);flex-wrap:wrap;gap:.3rem .9rem;display:flex}.map-legend .dot{vertical-align:middle;border-radius:50%;width:10px;height:10px;margin-right:4px;display:inline-block}.map-legend .dot.site-ok{background:#2e7d32}.map-legend .dot.site-warn{background:#d35400}.map-legend .dot.site-danger{background:#b3261e}.map-legend .dot.rec{background:var(--t-danger-bg);border:2px solid #e59a9a}.leaflet-popup-content{font-family:var(--font)}.leaflet-container a{color:#0b5c4d}@media (max-width:1100px){.risk-grid{grid-template-columns:1fr 1fr}.risk-side{grid-column:1/-1;position:static}}@media (max-width:800px){.risk-grid,.risk-summary{grid-template-columns:1fr}}.edit-hint{border-radius:var(--radius-s);background:color-mix(in srgb, var(--accent) 14%, var(--card));font-size:var(--step--1);margin:-.4rem 0 .8rem;padding:.5rem .8rem}.editing .widget-head.drag-handle{cursor:grab;background:color-mix(in srgb, var(--primary) 7%, var(--card));border-bottom:1px dashed var(--line);border-radius:var(--radius-m) var(--radius-m) 0 0;margin:-1.1rem -1.25rem .5rem;padding:.55rem .8rem .55rem .6rem}.editing .widget-head.drag-handle:active{cursor:grabbing}.grip{color:var(--muted);letter-spacing:-2px;margin-right:.4rem;font-size:1.1rem;display:inline-block}.editing .react-grid-item.react-draggable-dragging .widget{box-shadow:0 16px 40px #00000040}.react-grid-item.react-grid-placeholder{border-radius:var(--radius-m);background:var(--accent)!important;opacity:.25!important}.react-grid-item>.react-resizable-handle:after{border-color:var(--muted)!important;width:8px!important;height:8px!important}.dash-pick select{width:auto;max-width:260px}.manage{position:relative}.save-as{gap:.5rem;max-width:520px;margin-bottom:1rem;display:grid}.dash-stack{gap:1rem;display:grid}.dash-stack .stack-item>.panel,.dash-stack .stack-item>.board,.dash-stack .stack-item>a{height:100%}.board-link{color:inherit;cursor:pointer;text-decoration:none;transition:transform .12s,box-shadow .12s}.board-link:hover{transform:translateY(-1px);box-shadow:0 6px 18px #0000001f}.board-link:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.bar-list{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.bar-list a{color:var(--ink);font-size:var(--step--1);border-radius:var(--radius-s);grid-template-columns:minmax(0,9rem) 1fr auto;align-items:center;gap:.5rem;padding:.2rem .3rem;text-decoration:none;display:grid}.bar-list a:hover{background:var(--primary-soft)}.bar-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar-track{background:var(--line);border-radius:5px;height:10px;overflow:hidden}.bar-fill{background:var(--action,var(--primary));border-radius:5px;height:100%;display:block}.ctl-heat{border-collapse:separate;border-spacing:3px;width:100%;font-size:var(--step--1)}.ctl-heat th{text-align:left;padding:.2rem .4rem;font-weight:700}.ctl-heat thead th{color:var(--muted);text-align:center;font-weight:400}.ctl-heat tbody th{text-overflow:ellipsis;white-space:nowrap;max-width:14rem;font-weight:400;overflow:hidden}.ctl-heat td{text-align:center;color:#fff;border-radius:4px;min-width:2.2rem;height:1.8rem;font-weight:700}.ctl-heat td:last-child{color:var(--ink);background:0 0}.list-choices{gap:.5rem;display:grid}.choice-group{border:1px solid var(--line);border-radius:var(--radius-s);gap:.25rem;margin:0;padding:.4rem .7rem .6rem;display:grid}.choice-group legend{font-weight:700;font-size:var(--step--1);padding:0 .3rem}.choice-flat{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.25rem 1rem;display:grid}.check.choice{font-size:var(--step--1)}.active-filters{border-top:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:.4rem;padding-top:.6rem;display:flex}.active-filters ol{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.chip-n{background:var(--action,var(--primary));width:1.25rem;height:1.25rem;color:var(--card);border-radius:50%;place-items:center;font-size:.7rem;display:inline-grid}.chip-group{color:var(--muted);font-weight:400}.text-size{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:.35rem;margin:.3rem 0;padding:.4rem 0;display:flex}.text-size>span:first-child{margin-right:auto}.review-badge{font-size:var(--step--1);white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;gap:.35rem;padding:.1rem .55rem .1rem .4rem;font-weight:700;display:inline-flex}.rv-dot{border-radius:50%;flex:none;width:.65rem;height:.65rem;display:inline-block}.rv-danger{color:var(--t-danger-fg);background:var(--t-danger-bg);border-color:var(--t-danger-line)}.rv-danger .rv-dot{background:#c62828}.rv-warn{color:var(--t-warn-fg);background:var(--t-warn-bg);border-color:var(--t-warn-line)}.rv-warn .rv-dot{background:#e8710a}.rv-caution{color:var(--t-caution-fg);background:var(--t-caution-bg);border-color:var(--t-caution-line)}.rv-caution .rv-dot{background:#f2c200}.rv-ok{color:var(--t-ok-fg);background:var(--t-ok-bg);border-color:var(--t-ok-line)}.rv-ok .rv-dot{background:#2e7d32}.reviews-widget{gap:.6rem;display:grid}.rv-legend{flex-wrap:wrap;gap:.35rem;display:flex}.rv-chip{font:inherit;cursor:pointer;font-size:var(--step--1);border:1px solid;border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .6rem .2rem .4rem;font-weight:700;display:inline-flex}.rv-chip .muted{color:inherit;opacity:.8;font-weight:400}.rv-chip.on{box-shadow:inset 0 0 0 2px}.rv-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.rv-row{align-items:flex-start;gap:.6rem;display:flex}.rv-main{flex:1;min-width:0}.rv-main a{color:var(--ink);text-decoration:none}.rv-main a:hover{text-decoration:underline}.rv-edit{border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface);gap:.5rem;margin:.4rem 0 .2rem;padding:.6rem .7rem;display:grid}.alerts-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:1rem;display:grid}.band-row{font-size:var(--step--1);flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.band-row .review-badge{min-width:5.5rem}.sub-form{border:1px solid var(--line);border-radius:var(--radius-s);margin-top:.6rem;padding:.7rem .8rem}.teams-row{flex-wrap:nowrap;margin-bottom:.4rem}.recipients{gap:.2rem;display:grid}@media (max-width:1000px){.alerts-layout{grid-template-columns:1fr}.teams-row{flex-wrap:wrap}}table.data tr.clickable{cursor:pointer}table.data tr.clickable:hover td{background:var(--primary-soft)}.record-actions{margin-bottom:.6rem}.record-edit{border:2px solid var(--accent);border-radius:var(--radius-m);background:var(--card);gap:.6rem;padding:.8rem;display:grid}.edit-extra{gap:.6rem;margin-right:auto}.preset-wrap{align-items:flex-start;gap:.2rem;display:flex}.preset-wrap .preset{flex:1}.status-dialog{border-radius:var(--radius-m);background:var(--card);width:min(560px,92vw);color:var(--ink);border:0;padding:1.25rem 1.4rem;box-shadow:0 20px 60px #00000059}.status-dialog::backdrop{background:#0a142373}.status-dialog h2{margin-top:0}.status-dialog textarea{width:100%}.record-summary{border-radius:var(--radius-m);background:color-mix(in srgb, var(--accent) 9%, var(--card));border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.6rem 1rem;margin-bottom:.8rem;padding:.8rem 1rem;display:grid}.record-summary>div{gap:.15rem;min-width:0;display:grid}.record-summary strong{overflow-wrap:anywhere}.record-summary .wide{grid-column:1/-1}.record-detail dt.key-field,.record-detail dd.key-field{font-weight:700}.record-detail dd.key-field{background:color-mix(in srgb, var(--accent) 7%, transparent);border-radius:4px;padding:0 .3rem}.tag.r-ok{color:#fff;background:#2e7d32}.tag.r-caution{color:#fff;background:#b38f00}.tag.r-warn{color:#fff;background:#d35400}.tag.r-danger{color:#fff;background:#b3261e}.tag.status-open{background:var(--t-warn-bg);color:var(--t-warn-fg)}.tag.status-investigating{background:var(--t-caution-bg);color:var(--t-caution-fg)}.tag.status-actioned{background:var(--t-info-bg);color:var(--t-info-fg)}.tag.status-closed{background:var(--t-ok-bg);color:var(--t-ok-fg)}.status-update{border:1px dashed var(--line);border-radius:var(--radius-m);margin-top:.8rem;padding:.8rem 1rem}.status-update h3{margin:0 0 .5rem}.responsible-field{border-radius:var(--radius-m);background:color-mix(in srgb, var(--primary) 6%, var(--card));border:1px solid var(--line);padding:.7rem .9rem}.form-tools{gap:.4rem;margin-bottom:.6rem}.bulk-pane{background:var(--card);border-left:1px solid var(--line);z-index:60;align-content:start;gap:.6rem;width:min(440px,100vw);padding:1rem 1.2rem;display:grid;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-12px 0 40px #0000002e}.bulk-pane select[multiple]{min-height:6rem}.row.tight{gap:.4rem}.source-link{margin:0 0 .5rem}.audit-detail{white-space:pre-wrap;max-width:60ch;margin:0;font-size:.75rem}.activity-filters{margin-bottom:.7rem}.product-switch{border-bottom:1px solid var(--line);gap:.25rem;padding:.4rem 0;display:grid}.doc-list{margin:0;padding:0;list-style:none;display:grid}.doc-row{border-bottom:1px solid var(--line);color:var(--ink);text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border-top:0;border-left:0;border-right:0;grid-template-columns:2rem 1fr auto;align-items:center;gap:.5rem;padding:.55rem .4rem;text-decoration:none;display:grid}.doc-row:hover{background:var(--primary-soft)}.linkish{color:var(--action,var(--primary));cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.docs-linker{border:1px dashed var(--line);border-radius:var(--radius-s);gap:.4rem;margin-top:.4rem;padding:.5rem .7rem;display:grid}.signage{--sg-bg:#0b1f3a;--sg-ink:#fff;--sg-panel:#ffffff12;--sg-chip:#ffffff14;--sg-accent:#00c2e0;--sg-scale:1;min-height:calc(100 * var(--vh,1vh));background:var(--sg-bg);color:var(--sg-ink);padding:calc(2.2 * var(--vw,1vw)) calc(2.6 * var(--vw,1vw));gap:calc(1.4 * var(--vw,1vw));font-size:calc(clamp(16px, calc(1.35 * var(--vw,1vw)), 140px) * var(--sg-scale));flex-direction:column;display:flex}.sg-th-light{--sg-bg:#f4f7fb;--sg-ink:#10233f;--sg-panel:#fff;--sg-chip:#e9eef5;--sg-accent:#0067c5}.sg-th-light .sg-panel{box-shadow:0 1px #d7dee8,inset 0 0 0 1px #e1e7ef}.sg-th-contrast{--sg-bg:#000;--sg-ink:#fff;--sg-panel:#111;--sg-chip:#1f1f1f;--sg-accent:#ffd400}.sg-th-contrast .sg-panel{border:2px solid #ffd400}.sg-wait{margin:auto;font-size:2em}.sg-head{border-bottom:6px solid;border-image:repeating-linear-gradient(-45deg, var(--sg-accent) 0 14px, var(--sg-bg) 14px 28px) 6;padding-bottom:calc(1 * var(--vw,1vw));justify-content:space-between;align-items:flex-start;gap:1em;display:flex}.sg-id{align-items:center;gap:1em;display:flex}.sg-logo{object-fit:contain;background:#fff;border-radius:10px;max-width:10em;max-height:4.2em;padding:.3em}.sg-brand{font-size:1.1em;font-weight:800}.sg-brand span{color:var(--sg-accent)}.sg-head h1{color:var(--sg-ink);margin:.2em 0 0;font-size:2.3em;line-height:1.1}.sg-sub{opacity:.85}.sg-clock{text-align:right;white-space:nowrap;font-size:2.4em;font-weight:800}.sg-clock div{opacity:.85;font-size:.4em;font-weight:400}.sg-message{color:#222;background:#ffd166;border-radius:14px;padding:.7em 1em;font-size:1.25em;font-weight:700}.sg-grid{gap:calc(1.4 * var(--vw,1vw));flex:1;align-content:start;display:grid}.sg-layout-columns .sg-grid.sg-n3{grid-template-columns:1.4fr 1fr .9fr}.sg-layout-columns .sg-grid.sg-n2{grid-template-columns:1.3fr 1fr}.sg-layout-stacked .sg-grid{grid-template-columns:1fr}.sg-layout-stacked .sg-qr-grid{grid-template-columns:repeat(auto-fit,minmax(9em,1fr))}.sg-layout-focus .sg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sg-layout-focus .sg-grid>:first-child{grid-column:1/-1;font-size:1.15em}.sg-layout-focus .sg-grid.sg-n1>:first-child,.sg-layout-focus .sg-grid.sg-n2>:last-child{grid-column:1/-1}.sg-panel{background:var(--sg-panel);border-radius:18px;padding:1em 1.2em}.sg-panel h2{color:var(--sg-ink);margin:0 0 .6em;font-size:1.25em}.sg-risks ul,.sg-issues{gap:.5em;margin:0;padding:0;list-style:none;display:grid}.sg-risk{width:100%;font:inherit;color:var(--sg-ink);text-align:left;cursor:pointer;background:var(--sg-chip);border:0;border-radius:12px;align-items:center;gap:.7em;padding:.6em .8em;display:flex}.sg-risk:focus-visible{outline:3px solid var(--sg-accent);outline-offset:2px}.sg-level{text-align:center;color:#fff;border-radius:999px;min-width:5.5em;padding:.15em .7em;font-size:.85em;font-weight:800}.sg-risk.tone-danger .sg-level{background:#c62828}.sg-risk.tone-warn .sg-level{background:#e8710a}.sg-risk.tone-caution .sg-level{color:#222;background:#f2c200}.sg-risk.tone-ok .sg-level{background:#2e7d32}.sg-risk.tone-neutral .sg-level{background:#607080}.sg-title{font-weight:700}.sg-controls{opacity:.95;padding:.5em .9em .2em}.sg-hint{opacity:.7;margin:.6em 0 0;font-size:.8em}.sg-issues li{background:var(--sg-chip);border-radius:10px;justify-content:space-between;padding:.5em .8em;display:flex}.sg-alert{color:#fff;background:#c62828;border-radius:12px;padding:.6em .8em;font-weight:700}.sg-emergency{white-space:pre-line;background:#c6282859;border-radius:12px;padding:.6em .8em;font-size:1.1em;font-weight:700}.sg-th-light .sg-emergency{color:#7a1010;background:#fde3e3}.sg-qr-grid{gap:1em;display:grid}.sg-qr figure{text-align:center;margin:0}.sg-code{width:min(calc(11 * var(--vw,1vw)), 640px);background:#fff;border-radius:12px;margin:0 auto;padding:.4em}.sg-code svg{width:100%;height:auto;display:block}.sg-qr figcaption{margin-top:.3em;font-weight:700}.sg-foot{opacity:.6;font-size:.75em}@media (max-width:900px){.signage:not(.sg-preview) .sg-grid{grid-template-columns:1fr}.signage:not(.sg-preview) .sg-grid>*{grid-column:auto}.sg-code{width:160px}}.sg-preview-frame{aspect-ratio:16/9;border:1px solid var(--line);background:#000;border-radius:10px;width:100%;max-width:720px;margin:0 auto;position:relative;overflow:hidden}.sg-preview-frame.portrait{aspect-ratio:9/16}.sg-preview-frame .signage{width:100%;height:100%;min-height:0;position:absolute;top:0;left:0;overflow:hidden}.field-view{gap:.9rem;max-width:560px;margin:0 auto;display:grid}.field-view h1{margin:0}.field-where{font:inherit;text-align:left;border-radius:var(--radius-m);border:2px solid var(--primary);background:var(--card);color:var(--ink);cursor:pointer;padding:.9rem 1rem}.field-wx{border-radius:var(--radius-s);background:var(--surface);font-size:var(--step--1);padding:.6rem .9rem}.field-wx.ok{background:color-mix(in srgb, #2e7d32 10%, var(--card))}.field-tiles{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.field-tile{text-align:center;border-radius:var(--radius-m);background:var(--card);border:1px solid var(--line);min-height:6.5rem;color:var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:.3rem;padding:.8rem;font-weight:700;text-decoration:none;display:flex;box-shadow:0 2px 6px #0000000f}.field-tile span{font-size:2rem}.field-tile.big{background:var(--primary);min-height:7.5rem;color:var(--primary-text);font-size:var(--step-1);grid-column:1/-1}.field-tile.big span{font-size:2.6rem}.field-tile:active{transform:scale(.98)}.field-return{z-index:30;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-m);flex-wrap:wrap;align-items:center;gap:.75rem;margin:-.25rem 0 .9rem;padding:.55rem .8rem;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #0000000f}.field-return a{align-items:center;gap:.35rem;min-height:32px;font-weight:700;text-decoration:none;display:inline-flex}.field-return a span{font-size:1.4rem;line-height:1}@media (min-width:801px){.field-return-hint{display:none}}.field-list ul{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.field-list a{border-radius:var(--radius-s);background:var(--card);border:1px solid var(--line);color:var(--ink);gap:.1rem;padding:.7rem .9rem;text-decoration:none;display:grid}.field-nudge{border-radius:var(--radius-m);background:color-mix(in srgb, var(--accent) 18%, var(--card));color:var(--ink);margin-bottom:.8rem;padding:.7rem .9rem;text-decoration:none;display:block}:root{--made-in-h:28px}.made-in{z-index:40;height:var(--made-in-h);color:var(--muted);background:color-mix(in srgb, var(--surface,#fff) 94%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-top:1px solid var(--line);padding:0 10px;padding-bottom:env(safe-area-inset-bottom,0);white-space:nowrap;text-overflow:ellipsis;justify-content:center;align-items:center;font-size:12px;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden}body{padding-bottom:calc(var(--made-in-h) + env(safe-area-inset-bottom,0px))}@media print{.made-in{border:0;position:static}body{padding-bottom:0}}.contact-card{border:1px solid var(--line);border-left:4px solid var(--primary);border-radius:var(--radius-s);background:var(--card);max-width:460px;margin-top:8px;padding:10px 14px}.contact-card.compact{margin-top:6px;padding:6px 10px;font-size:.92em}.contact-label{color:var(--muted);margin-bottom:2px;font-size:.8em}.contact-name{font-weight:600}.contact-sub{color:var(--muted);font-size:.92em}.contact-links{flex-wrap:wrap;gap:4px 16px;margin-top:4px;display:flex}.contact-links a{overflow-wrap:anywhere;text-decoration:none}.contact-links a:hover{text-decoration:underline}.contact-edit{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px;max-width:520px;margin-top:6px;display:grid}.contact-edit .row,.contact-edit .muted{grid-column:1/-1}.mode-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem;margin:.6rem 0 1rem;display:grid}.mode-card{border:2px solid var(--line);border-radius:var(--radius-m);cursor:pointer;background:var(--card);gap:.3rem;padding:.8rem .9rem;display:grid}.mode-card.on{border-color:var(--primary);background:var(--primary-soft)}.mode-card input{justify-self:start}.mode-card:focus-within{outline:3px solid var(--accent);outline-offset:1px}.sticky-actions{bottom:var(--made-in-h,0px);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:5;border-top:1px solid var(--line);padding:.7rem 0;position:sticky}.mode-cards.compact{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem;margin:.4rem 0 .8rem}.mode-cards.compact .mode-card{grid-template-columns:auto 1fr;align-items:center;gap:.15rem;padding:.55rem .7rem}.mode-cards.compact .mode-card input{grid-row:span 2}.mode-cards.compact .mode-card span{grid-column:2}.alerts{gap:1rem;display:grid}.alert-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:1rem;display:grid}.alert-grid.inner{gap:1.5rem}.alert-card{flex-direction:column;margin:0;display:flex}.alert-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.alert-head h2{margin:0}.alert-sub{font-size:var(--step-0,1rem);margin:.2rem 0 .3rem}.alert-actions{flex-wrap:wrap;align-items:center;gap:.8rem}@media (max-width:1000px){.alert-grid{grid-template-columns:1fr}}.look-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:1.2rem;display:grid}.look-layout .sg-preview-wrap{min-width:0;position:static}.look-layout .sg-preview-wrap.wide{grid-column:1/-1;position:static}.sg-preview-tools{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:.5rem;display:flex}.sg-preview-tools label{align-items:center;gap:.35rem;font-size:.85rem;display:flex}.panel-order{gap:.3rem;max-width:360px;margin:.3rem 0 .8rem;padding:0;list-style:none;display:grid}.panel-order li{border:1px solid var(--line);border-radius:var(--radius-s);background:var(--card);align-items:center;gap:.3rem;padding:.3rem .5rem;display:flex}.panel-order li span{flex:1}@media (max-width:1000px){.look-layout{grid-template-columns:1fr}.look-layout .sg-preview-wrap{position:static}}.property-map{border-radius:var(--radius-s);border:1px solid var(--line);z-index:0;width:100%;overflow:hidden}.property-map.drawing,.property-map.drawing .leaflet-container{cursor:crosshair}.map-loading{height:100%;min-height:160px;color:var(--muted);background:var(--surface);border-radius:var(--radius-s);place-items:center;display:grid}.vertex span{background:#ffd166;border:2px solid #222;border-radius:50%;width:14px;height:14px;display:block;box-shadow:0 1px 3px #0006}.prop-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin-top:1rem;display:grid}.prop-card{color:var(--ink);text-decoration:none;transition:box-shadow .12s}.prop-card:hover{box-shadow:0 6px 18px #0000001f}.prop-card h2{margin:0 0 .2rem}.prop-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:1rem;display:grid}.prop-layout .item-main{border:0;padding:0}.map-resize{resize:vertical;border-radius:var(--radius-s);border:1px solid var(--line);background:var(--surface);min-height:220px;max-height:92vh;padding-bottom:6px;overflow:hidden}.map-resize .property-map{border-radius:var(--radius-s) var(--radius-s) 0 0;border:0}.map-tools{flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.5rem;display:flex}.map-hint{border-radius:var(--radius-s);background:color-mix(in srgb, var(--accent) 16%, var(--card));font-size:var(--step--1);margin:0 0 .5rem;padding:.45rem .7rem}.poi-pin span{white-space:nowrap;color:#222;background:#fff;border:2px solid #e8710a;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700;position:absolute;transform:translate(-50%,-100%);box-shadow:0 1px 4px #00000059}.pin-list{gap:.3rem;margin:.6rem 0 0;padding:0;list-style:none;display:grid}.ie-field.full{grid-column:1/-1}.site-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1rem;display:grid}.site-fields .full{grid-column:1/-1}.site-head-tags{flex-wrap:wrap;gap:.4rem;display:flex}@media (max-width:1000px){.prop-layout,.site-fields{grid-template-columns:1fr}}.login.login-photo{background-color:var(--primary)}.login.login-photo .card{box-shadow:0 12px 40px #00000059}.login-bg-preview{aspect-ratio:16/10;border-radius:var(--radius-m);border:1px solid var(--line);background-color:var(--primary);place-items:center;width:100%;max-width:420px;display:grid;position:relative;overflow:hidden}.login-bg-preview .mini-card{background:var(--card);color:var(--ink);border-radius:8px;padding:10px 16px;font-size:.8rem;box-shadow:0 6px 20px #0000004d}.sop-card h2{font-size:var(--step-1,1.25rem)}.sop-summary{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.3rem 0;display:-webkit-box;overflow:hidden}.sop-todo ul li{border-bottom:1px solid var(--line);padding:.35rem 0}.sop-read{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);align-items:start;gap:1rem;display:grid}.sop-steps-read{gap:.9rem;padding-left:1.3rem;display:grid}.sop-steps-read .tag{margin-left:.4rem}.sop-body{white-space:pre-line;line-height:1.55}.sop-images{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.4rem;margin:.5rem 0;display:grid}.sop-images.n1{grid-template-columns:minmax(0,520px)}.sop-img{border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface);cursor:zoom-in;padding:0;overflow:hidden}.sop-img img{object-fit:cover;width:100%;height:100%;max-height:360px;display:block}.sop-images.n1 .sop-img img{object-fit:contain}.sop-lightbox{z-index:200;cursor:zoom-out;background:#000000e0;place-items:center;gap:.6rem;padding:1rem;display:grid;position:fixed;inset:0}.sop-lightbox img{object-fit:contain;max-width:100%;max-height:85vh}.sop-build{gap:.8rem;margin:0 0 .8rem;padding:0;list-style:none;display:grid}.sop-build-step{border:1px solid var(--line);border-left:5px solid var(--line);border-radius:var(--radius-m);background:var(--card);gap:.4rem;padding:.7rem .8rem;display:grid}.sop-build-step.question{border-left-color:var(--primary)}.sop-n{background:var(--primary-soft);border-radius:50%;place-items:center;width:1.8rem;height:1.8rem;font-weight:700;display:inline-grid}.sop-thumbs{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.sop-thumb{position:relative}.sop-thumb img{object-fit:cover;border:1px solid var(--line);border-radius:6px;width:84px;height:64px;display:block}.sop-thumb button{background:var(--danger,#c62828);color:#fff;cursor:pointer;border:0;border-radius:50%;width:22px;height:22px;font-size:12px;position:absolute;top:-6px;right:-6px}.sop-q{background:var(--surface);border-radius:var(--radius-s);gap:.4rem;padding:.5rem .6rem;display:grid}.sop-opts{gap:.3rem;max-width:560px;display:grid}.sop-matrix th,.sop-matrix td{white-space:nowrap}.sop-matrix a.tag{text-decoration:none}.sop-answer-photo{border-radius:var(--radius-s);max-width:260px;max-height:220px;margin-bottom:.4rem;display:block}.sop-sig-img{border:1px solid var(--line);background:#fff;border-radius:6px;max-width:260px}.sop-run{max-width:680px;min-height:calc(100vh - var(--header-h,56px) - 2rem);flex-direction:column;margin:0 auto;display:flex}.sop-run-head{align-items:center;gap:.7rem;display:flex}.sop-exit{width:2.6rem;height:2.6rem;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:50%;place-items:center;font-size:1.1rem;text-decoration:none;display:grid}.sop-run-title{line-height:1.2;display:grid}.sop-progress{background:var(--line);border-radius:999px;height:6px;margin:.7rem 0 1rem;overflow:hidden}.sop-progress span{background:var(--primary);height:100%;transition:width .25s;display:block}.sop-step{flex:1;font-size:1.08rem}.sop-step h1{margin:.2rem 0 .6rem;font-size:1.55rem;line-height:1.25}.sop-answer{margin-top:1rem}.sop-choices{gap:.5rem;display:grid}.sop-choice{text-align:left;font:inherit;border-radius:var(--radius-m);border:2px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;min-height:3.2rem;padding:.9rem 1rem}.sop-choice.on{border-color:var(--primary);background:var(--primary-soft);font-weight:700}.sop-choice:focus-visible,.sop-big-check:focus-within{outline:3px solid var(--accent);outline-offset:2px}.sop-big-check{border:2px solid var(--line);border-radius:var(--radius-m);background:var(--card);cursor:pointer;align-items:center;gap:.7rem;padding:.9rem 1rem;font-weight:600;display:flex}.sop-big-check input{width:1.6rem;height:1.6rem}.sig{gap:.3rem;display:grid}.sig-pad{border:2px dashed var(--line);border-radius:var(--radius-m);touch-action:none;background:#fff;width:100%;height:180px}.sop-nav{bottom:var(--made-in-h,0px);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-top:1px solid var(--line);justify-content:space-between;gap:.6rem;margin-top:1rem;padding:.8rem 0;display:flex;position:sticky}.sop-nav .btn{min-width:7.5rem;min-height:3rem;font-size:1.05rem}.sop-done{text-align:center;justify-content:center;gap:.4rem}.sop-done-icon{font-size:3.5rem}.sop-score{font-size:1.2rem;font-weight:700}@media (max-width:799px){.sop-nav{bottom:calc(64px + var(--made-in-h,0px))}.sop-read{grid-template-columns:1fr}}.alerts-intro h2{margin:0 0 .2rem}.alerts-intro p{margin:0}.owner-signin{gap:.6rem;margin-top:.6rem;display:grid}.totp-qr{border:1px solid var(--line);background:#fff;border-radius:8px;width:190px;padding:6px}.totp-qr svg{width:100%;height:auto;display:block}.recovery-codes ul{columns:2;margin:.4rem 0;padding:0;font-size:1.05rem;list-style:none}.tag-pin{position:relative}.tag-pin .tag-ico{transform:scale(var(--ts,1));border:3px solid var(--c,#e8710a);background:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:16px;display:grid;position:absolute;top:-15px;left:-15px;box-shadow:0 1px 4px #00000073}.tag-pin .tag-lbl{left:calc(18px * var(--ts,1));white-space:nowrap;color:#fff;text-shadow:0 0 3px #000,0 0 2px #000;font:600 12px/1.4 system-ui,sans-serif;position:absolute;top:-10px}.tag-palette{flex-wrap:wrap;gap:.3rem;margin:.4rem 0;display:flex}.tag-palette button{border:2px solid var(--line);background:var(--card);font:inherit;cursor:pointer;color:var(--ink);border-radius:999px;padding:.2rem .6rem;font-size:.85rem}.tag-palette button[aria-pressed=true]{border-color:var(--primary);background:var(--primary-soft);font-weight:700}.tag-group{color:var(--muted);width:100%;margin-top:.2rem;font-size:.75rem}.facility-list{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.2rem .8rem;margin:.3rem 0;padding:0;list-style:none;display:grid}.facility-list .missing{color:var(--muted)}.pm-tools{flex-wrap:wrap;align-items:center;gap:.5rem .9rem;margin-bottom:.8rem;display:flex}.pm-tools select,.pm-tools input[type=text],.pm-tools input:not([type]){width:auto}.pm-stage{overflow:hidden}.pm-page{color:#111;transform-origin:0 0;box-sizing:border-box;background:#fff;flex-direction:column;gap:3mm;padding:9mm;display:flex;box-shadow:0 4px 24px #00000040}.pm-head h1{color:#111;margin:0;font-size:18pt}.pm-head p{color:#555;margin:1mm 0 0;font-size:9pt}.pm-body{flex:1;gap:4mm;min-height:0;display:grid}.pm-map{border:.3mm solid #999;border-radius:2mm;min-height:0;position:relative;overflow:hidden}.pm-map .property-map,.pm-map .leaflet-container{height:100%!important}.pm-extras{color:#111;align-content:start;gap:3mm;font-size:9pt;display:grid}.pm-legend ul{gap:1mm;margin:1.5mm 0 0;padding:0;list-style:none;display:grid}.pm-legend .sw{vertical-align:middle;border-radius:.6mm;width:3mm;height:3mm;display:inline-block}.pm-legend-bottom .pm-extras{grid-template-columns:repeat(auto-fit,minmax(55mm,1fr))}.pm-over{z-index:500;background:#ffffffed;border-radius:2mm;max-width:60mm;padding:2mm 3mm;font-size:8.5pt;position:absolute;box-shadow:0 .5mm 2mm #0000004d}.pm-over-tr{top:3mm;right:3mm}.pm-over-bl{bottom:3mm;left:3mm}.pm-tags{border-collapse:collapse;width:100%}.pm-tags th,.pm-tags td{text-align:left;vertical-align:top;border-bottom:.2mm solid #ccc;padding:.8mm 1mm}.pm-notes{border-left:1mm solid #e8710a;margin:0;padding:1mm 2mm}@media print{.app-header,.mobile-nav,.side-actions,.drawer-backdrop,.made-in,.no-print,.offline-bar,.leaflet-control-layers,.leaflet-control-zoom{display:none!important}.main{max-width:none!important;margin:0!important;padding:0!important}body{background:#fff;padding:0}.pm-stage{overflow:visible;height:auto!important}.pm-page{box-shadow:none;page-break-after:avoid;break-inside:avoid;transform:none!important}body:has(.pm-page) *{visibility:hidden!important}:is(body:has(.pm-page) .pm-page,body:has(.pm-page) .pm-page *){visibility:visible!important}body:has(.pm-page) .pm-page{top:0;left:0;margin:0!important;position:fixed!important}:is(body:has(.pm-page) .app-switch,body:has(.pm-page) .app-header,body:has(.pm-page) .mobile-nav){display:none!important}}.offline-bar{left:50%;bottom:calc(var(--made-in-h,0px) + 10px);z-index:60;border-radius:12px;flex-wrap:wrap;align-items:center;gap:.3rem .8rem;max-width:min(720px,94vw);padding:.55rem .9rem;font-size:.92rem;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 6px 20px #00000040}.offline-bar.off{color:#fff;background:#1f2937}.offline-bar.on{background:var(--t-ok-bg);color:var(--t-ok-fg);border:1px solid var(--t-ok-line)}.offline-bar .linkish{color:inherit;text-decoration:underline}.offline-list{flex-basis:100%;max-height:40vh;margin:.3rem 0 0;padding-left:1.1rem;overflow:auto}@media (max-width:799px){.offline-bar{bottom:calc(var(--made-in-h,0px) + 72px)}}.activity-panel summary{cursor:pointer}.activity-filters{flex-wrap:wrap;margin-bottom:.6rem}.nowrap{white-space:nowrap}.client-box summary{cursor:pointer;margin-bottom:.4rem}.signage{padding-bottom:calc(calc(2.2 * var(--vw,1vw)) + 7.5em);position:relative}.sg-risk{background:var(--sg-chip);color:var(--sg-ink);border-radius:12px;padding:.55em .8em;display:block}.sg-risk-head{align-items:center;gap:.7em;display:flex}.sg-risk .sg-controls{opacity:.95;padding:.35em 0 0;font-size:.92em}.sg-count{text-align:center;background:var(--sg-accent);color:#0b1f3a;border-radius:999px;min-width:1.6em;margin-left:.3em;padding:0 .4em;font-size:.85em;display:inline-block}.sg-roll{max-height:22em;overflow:hidden}.sg-roll ul{gap:.45em;margin:0;padding:0;list-style:none;display:grid}.sg-roll li{background:var(--sg-chip);border-radius:10px;align-items:baseline;gap:.5em;padding:.45em .7em;display:flex}.sg-roll .sg-since{opacity:.7;white-space:nowrap;margin-left:auto;font-size:.85em}.sg-roll.rolling ul{animation:sg-roll calc(var(--n) * 3s) linear infinite}@keyframes sg-roll{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@media (prefers-reduced-motion:reduce){.sg-roll.rolling ul{animation:none}}.sg-page{gap:calc(1 * var(--vw,1vw));flex-direction:column;flex:1;animation:.6s sg-fade;display:flex}@keyframes sg-fade{0%{opacity:0}to{opacity:1}}.sg-page-title{align-items:center;gap:.8em;font-size:1.35em;font-weight:800;display:flex}.sg-dots{gap:.35em;display:inline-flex}.sg-dots i{background:var(--sg-ink);opacity:.25;border-radius:50%;width:.6em;height:.6em}.sg-dots i.on{opacity:1;background:var(--sg-accent)}.sg-page-body{gap:calc(1.4 * var(--vw,1vw));grid-template-columns:repeat(auto-fit,minmax(22em,1fr));align-content:start;display:grid}.sg-page-body .sg-risks ul{grid-template-columns:repeat(auto-fill,minmax(20em,1fr));gap:.6em;display:grid}.sg-page-body .sg-onsite-panel .sg-roll{max-height:30em}.sg-page-body .sg-onsite-panel ul{grid-template-columns:repeat(auto-fill,minmax(16em,1fr))}.sg-signin-qr{right:calc(2.2 * var(--vw,1vw));bottom:calc(1.4 * var(--vw,1vw));color:#0b1f3a;z-index:5;background:#fff;border-radius:14px;align-items:center;gap:.7em;padding:.5em .8em .5em .5em;display:flex;position:absolute;box-shadow:0 6px 20px #00000059}.sg-signin-qr .sg-code{width:6.5em;padding:0}.sg-signin-qr strong{font-size:1.1em;display:block}.sg-signin-qr span{opacity:.8;font-size:.8em}.sg-code-sample{background:repeating-linear-gradient(45deg,#0b1f3a 0 6px,#fff 6px 12px);border-radius:6px;height:6.5em}.sg-foot{margin-right:14em}.line-vertex span{border:3px solid var(--c,#e8710a);cursor:grab;background:#fff;border-radius:50%;width:14px;height:14px;display:block;box-shadow:0 1px 3px #00000080}.line-move{color:#111;cursor:move;background:#fff;border:2px solid #111;border-radius:6px;place-items:center;width:22px;height:22px;font-size:15px;box-shadow:0 1px 3px #00000080;display:grid!important}.form-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:stretch;gap:1rem;display:grid}.form-card{flex-direction:column;margin:0;display:flex}.form-card h2{margin-top:0}.form-card-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:.5rem;margin-top:auto;padding-top:.8rem;display:flex}.form-card-actions .btn{text-align:center;flex:1}.summary-list{gap:.45rem;margin:.4rem 0 .8rem;display:grid}.summary-list div{grid-template-columns:10rem 1fr;gap:.6rem;display:grid}.summary-list dt{color:var(--muted);font-size:.9em}.summary-list dd{white-space:pre-line;overflow-wrap:anywhere;margin:0}tr.clickable.selected td{background:var(--primary-soft)}.risk-summary{padding:.4rem .2rem}.phone-signin{max-width:480px;margin:0 auto;padding:20px 16px 60px;font-size:17px}.phone-signin h1{margin:.1em 0 .6em;font-size:1.5em}.phone-signin form{gap:.8em;display:grid}.phone-signin label{gap:.25em;font-weight:600;display:grid}.phone-signin input,.phone-signin select{font:inherit;border:1px solid var(--line);border-radius:10px;padding:.6em}.phone-signin .agree{align-items:flex-start;gap:.6em;font-weight:400;display:flex}.phone-signin .agree input{flex:none;width:1.5em;height:1.5em}.phone-signin .btn.wide{width:100%;padding:.9em;font-size:1.1em}.phone-signin .emergency{background:var(--t-danger-bg);color:var(--t-danger-fg);border-radius:10px;padding:.6em .8em}.phone-signin .rules{border:1px solid var(--line);border-radius:10px;padding:.5em .8em}.phone-signin .rules ul{padding-left:1.1em}.phone-signin .big{font-size:1.2em}.phone-signin .ok{color:#166534;font-weight:700}.sg-map-panel{flex-direction:column;min-height:0;display:flex}.sg-map-wrap{flex:1;grid-template-columns:1fr auto;gap:1em;min-height:18em;display:grid}.sg-map{border-radius:14px;height:100%;min-height:18em;position:relative;overflow:hidden}.sg-map .property-map,.sg-map .leaflet-container{border-radius:14px;min-height:18em;height:100%!important}.sg-map-legend{font-size:calc(.9em * var(--legend-scale,1));align-content:start;gap:.4em;max-width:15em;margin:0;padding:0;list-style:none;display:grid}.sg-map-legend li{align-items:center;gap:.5em;display:flex}.sg-sw{border:3px solid #ffffffe6;border-radius:50%;flex:none;place-items:center;width:1.6em;height:1.6em;font-size:.85em;display:inline-grid}.sg-page-body .sg-map-panel{grid-column:1/-1}.sg-page-body .sg-map-wrap,.sg-page-body .sg-map,.sg-page-body .sg-map .leaflet-container{min-height:calc(52 * var(--vh,1vh))}.sg-map .leaflet-control-attribution{opacity:.8;font-size:9px}@media (max-aspect-ratio:1){.sg-map-wrap{grid-template-columns:1fr}.sg-map-legend{grid-template-columns:repeat(auto-fill,minmax(12em,1fr));max-width:none}}.con-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.4rem .6rem;padding:.4rem 0;display:flex}.con-row input:not([type=checkbox]):not([type=date]),.con-row select{flex:140px;width:auto;min-width:120px}.con-qual{padding-left:1.2rem}.con-worker{border:1px solid var(--line);border-radius:var(--radius-s);margin-bottom:.5rem;padding:.4rem .7rem}.con-worker summary{cursor:pointer}.con-attach{align-items:center;gap:.3rem;display:inline-flex}.con-attach a{font-size:1.1em;text-decoration:none}.qual-import-dialog{z-index:60;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-m);max-height:86vh;padding:1rem 1.2rem;position:fixed;inset:6vh 4vw auto;overflow:auto;box-shadow:0 16px 48px #0000004d}.qual-import-dialog select,.qual-import-dialog input:not([type=checkbox]){width:auto;max-width:220px}.change-list{margin:.2rem 0 0;padding-left:1rem;font-size:.88em}.change-list li{margin:.1rem 0}.sg-grid.sg-sized{gap:calc(1.4 * var(--vw,1vw));grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;display:grid}.sg-cell{flex-direction:column;min-width:0;display:flex}.sg-cell>.sg-panel{flex:1;margin:0;overflow:hidden}.sg-cell.h-s{height:calc(22 * var(--vh,1vh))}.sg-cell.h-m{height:calc(36 * var(--vh,1vh))}.sg-cell.h-l{height:calc(56 * var(--vh,1vh))}.sg-cell.h-s .sg-map-wrap,.sg-cell.h-m .sg-map-wrap,.sg-cell.h-l .sg-map-wrap{height:calc(100% - 2.6em);min-height:0}.sg-qr-grid{grid-template-columns:repeat(auto-fit,minmax(9em,1fr));justify-items:center;gap:1em;display:grid}.sg-qr-grid figure{text-align:center;margin:0}.sg-qr-grid .sg-code{margin:0 auto}.sg-qr-grid.qr-s .sg-code{width:6.5em}.sg-qr-grid.qr-m .sg-code{width:9.5em}.sg-qr-grid.qr-l .sg-code{width:13em}.sg-map-wrap.legend-below{grid-template-rows:1fr auto;grid-template-columns:1fr}.sg-map-wrap.legend-below .sg-map-legend{grid-template-columns:repeat(auto-fill,minmax(11em,1fr));max-width:none;display:grid}.sg-map-wrap.legend-none{grid-template-columns:1fr}.sg-signin-qr.at-bl{right:auto;left:calc(2.2 * var(--vw,1vw))}.sg-signin-qr.at-tr{bottom:auto;top:calc(1.4 * var(--vw,1vw))}.sg-signin-qr.at-tl{bottom:auto;top:calc(1.4 * var(--vw,1vw));right:auto;left:calc(2.2 * var(--vw,1vw))}.sg-signin-qr.size-s .sg-code{width:5em}.sg-signin-qr.size-l .sg-code{width:9em}.sg-signin-qr.size-l strong{font-size:1.3em}:is(.signage:has(.sg-signin-qr.at-tr),.signage:has(.sg-signin-qr.at-tl)){padding-bottom:calc(2.2 * var(--vw,1vw))}.signage:has(.sg-signin-qr.at-bl) .sg-foot{margin-left:14em;margin-right:0}.phone-signin .who{border:0;grid-template-columns:1fr 1fr;gap:.5em;margin:0;padding:0;display:grid}.phone-signin .who legend{margin-bottom:.4em;font-weight:600}.phone-signin .who-btn{border:2px solid var(--line);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;border-radius:12px;place-items:center;gap:.2em;padding:.9em .4em;font-weight:600;display:grid}.phone-signin .who-btn span{font-size:1.8em}.phone-signin .who-btn.on{border-color:var(--primary);background:var(--primary-soft)}.signage.sg-paged{min-height:calc(100 * var(--vh,1vh));flex-direction:column;display:flex}.sg-pagegrid{grid-template-columns:repeat(var(--sg-g,12), minmax(0, 1fr));grid-template-rows:repeat(var(--sg-g,12), minmax(0, 1fr));gap:calc(1 * var(--vw,1vw));min-height:0;height:calc(calc(100 * var(--vh,1vh)) - var(--sg-chrome,12em));flex:1;display:grid}.signage[style*="--sg-g: 24"] .sg-pagegrid{gap:calc(.5 * var(--vw,1vw))}.signage[style*="--sg-g: 48"] .sg-pagegrid{gap:calc(.25 * var(--vw,1vw))}.sg-hdr-hidden .sg-head{display:none}.sg-hdr-compact .sg-head{padding-bottom:calc(.4 * var(--vw,1vw));align-items:center}.sg-hdr-compact .sg-head h1{margin:0;font-size:1.5em}.sg-hdr-compact .sg-brand,.sg-hdr-compact .sg-sub,.sg-nofoot .sg-foot{display:none}.signage.sg-tobottom{padding-bottom:.8em}.sg-item{min-width:0;min-height:0;display:flex}.sg-item>*{min-height:0;font-size:calc(1em * var(--el-scale,1));flex-direction:column;flex:1;margin:0;display:flex;overflow:hidden}.sg-item .sg-panel h2{flex:none}.sg-scrollbox{flex:1;min-height:0;overflow:hidden}.sg-rolling{animation:linear infinite sg-roll}.sg-roll-copy{padding-top:1em}@media (prefers-reduced-motion:reduce){.sg-rolling{animation:none}}.sg-risks ul.sg-cols{grid-template-columns:repeat(var(--el-cols), minmax(0, 1fr));gap:.6em;display:grid}.sg-groups{gap:1em;display:grid}.sg-groups.n3{grid-template-columns:repeat(3,minmax(0,1fr))}.sg-group h3{margin:0 0 .4em;font-size:1em}.sg-people{gap:.4em;margin:0;padding:0;list-style:none;display:grid}.sg-people li{background:var(--sg-chip);border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:.3em;padding:.4em .6em;display:flex}.sg-people .sg-since{opacity:.7;margin-left:auto;font-size:.85em}.sg-group.g-staff h3{color:#86efac}.sg-group.g-contractor h3{color:#fcd34d}.sg-group.g-visitor h3{color:#93c5fd}.sg-th-light .sg-group.g-staff h3{color:#166534}.sg-th-light .sg-group.g-contractor h3{color:#92400e}.sg-th-light .sg-group.g-visitor h3{color:#1e40af}.sg-item .sg-map-wrap{flex:1;height:auto;min-height:0}.sg-item .sg-map,.sg-item .sg-map .leaflet-container{height:100%!important;min-height:0!important}.sg-map .tag-pin .tag-ico{transform:scale(calc(var(--tag-scale,1) * var(--ts,1)))}.sg-map .tag-pin .tag-lbl{font-size:calc(12px * var(--tag-scale,1) * var(--tag-font,1));left:calc(18px * var(--tag-scale,1));top:-.7em;transform:none}.sg-map .tag-pin .tag-ico{transform-origin:50%}.sg-head .sg-page-title{font-size:1.2em}.pages-canvas{background-color:#0b1f3a;background-image:linear-gradient(#ffffff0f 1px,#0000 1px),linear-gradient(90deg,#ffffff0f 1px,#0000 1px);background-position:0 0;background-repeat:repeat;background-size:8.33333% 8.33333%;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border-radius:10px;margin:6px 0;position:relative;overflow:hidden}.pe-item{color:#fff;cursor:move;background:#1e3a5f;border:2px solid #3b6a9e;border-radius:8px;justify-content:space-between;align-items:flex-start;padding:4px 6px;font-size:.85rem;display:flex;overflow:hidden}.pe-item.on{border-color:#fbbf24;box-shadow:inset 0 0 0 2px #fbbf24}.pe-actions{gap:2px;display:flex}.pe-btn{color:#fff;cursor:pointer;font:inherit;background:#ffffff26;border:0;border-radius:4px;padding:0 5px}.pages-canvas .react-resizable-handle{filter:invert()}.element-palette,.pages-tabs{flex-wrap:wrap}.sg-adjust{border:1px solid var(--line);border-radius:var(--radius-s);flex-wrap:wrap;align-items:center;gap:.4rem 1rem;margin:.5rem 0;padding:.4rem .7rem;display:flex}.sg-adjust label{align-items:center;gap:.4rem;display:inline-flex}.sg-adjust input[type=range]{width:160px}.sop-fail{border-radius:var(--radius-m);text-align:left;background:#b91c1c14;border:2px solid #b91c1c;max-width:560px;margin:.8rem auto;padding:.7rem 1rem}.sop-fail p{margin:.3rem 0 0}.sop-key{text-align:left;max-width:640px;margin:.6rem auto}.sop-key ol{padding-left:1.2rem}.sop-key li{margin:.5rem 0}.sop-key li.wrong{color:inherit}.tw{gap:.6rem;display:grid}.tw-bar{background:var(--line,#dde3ee);border-radius:99px;height:10px;display:flex;overflow:hidden}.tw-seg.ok{background:#2e9e5b}.tw-seg.warn{background:#e8a317}.tw-seg.danger{background:#d64545}.tw-tiles{grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:.5rem;display:grid}.tw-tile{font:inherit;text-align:left;border:1px solid var(--line,#dde3ee);background:var(--card,#fff);color:inherit;cursor:pointer;border-left-width:4px;border-radius:10px;gap:.1rem;padding:.6rem .7rem;text-decoration:none;display:grid}.tw-tile.ok{border-left-color:#2e9e5b}.tw-tile.warn{border-left-color:#e8a317}.tw-tile.danger{border-left-color:#d64545}.tw-tile.on{outline:2px solid var(--accent,#00c2e0)}.tw-n{font-size:1.7rem;font-weight:700;line-height:1.1}.tw-l{font-size:.85rem}.tw-list{gap:.3rem;max-height:14rem;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.dt{gap:.5rem;display:grid}.dt-bar{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.dt-search{flex:14rem;max-width:24rem}.dt-count{margin-left:auto}.dt-cols{border:1px solid var(--line,#dde3ee);background:var(--card,#fff);border-radius:8px;flex-wrap:wrap;gap:.25rem 1rem;padding:.6rem;display:flex}.dt-colpick{align-items:center;gap:.15rem;display:inline-flex}.dt-scroll{border:1px solid var(--line,#dde3ee);background:var(--card,#fff);border-radius:8px;max-height:70vh;overflow:auto}.dt-table{border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:.9rem}.dt-table th,.dt-table td{text-align:left;border-bottom:1px solid var(--line,#e6eaf2);text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;padding:.4rem .6rem;overflow:hidden}.dt-table thead th{background:var(--surface,#f2f5fa);z-index:2;padding:0;position:sticky;top:0}.dt-table thead tr.dt-filters th{z-index:1;padding:.2rem .3rem;top:2.2rem}.dt-table thead tr.dt-filters input,.dt-table thead tr.dt-filters select{width:100%;min-width:0;padding:.2rem .3rem;font-size:.8rem}.dt-th{all:unset;box-sizing:border-box;cursor:pointer;text-overflow:ellipsis;width:100%;padding:.5rem .9rem .5rem .6rem;font-weight:600;display:block;overflow:hidden}.dt-table thead th{position:sticky}.dt-table thead th.dragging{opacity:.4}.dt-grip{cursor:col-resize;touch-action:none;width:8px;height:100%;position:absolute;top:0;right:0}.dt-grip:hover,.dt-grip:focus-visible{background:var(--accent,#00c2e0);opacity:.6;outline:none}.dt-table thead th:not(.dt-filters th){position:sticky}.dt-table td.num{text-align:right;font-variant-numeric:tabular-nums}.dt-click{cursor:pointer}.dt-click:hover,.dt-click:focus-visible{background:color-mix(in srgb, var(--accent,#00c2e0) 10%, transparent);outline:none}.row-danger td:first-child{box-shadow:inset 4px 0 #d64545}.chips{flex-wrap:wrap;gap:.4rem;margin:.6rem 0;display:flex}.chip{font:inherit;border:1px solid var(--line,#dde3ee);background:var(--card,#fff);color:inherit;cursor:pointer;border-radius:99px;padding:.25rem .7rem}.chip.on{background:var(--primary,#0b1f3a);color:var(--primary-text,#fff);border-color:#0000}.badge{background:var(--t-chip-bg);border-radius:99px;padding:.05rem .5rem;font-size:.8rem;font-weight:600;display:inline-block}.badge.ok{background:var(--t-ok-bg);color:var(--t-ok-fg)}.badge.warn{background:var(--t-warn-bg);color:var(--t-warn-fg)}.badge.danger{background:var(--t-danger-bg);color:var(--t-danger-fg)}.badge.muted{background:var(--t-chip-bg);color:var(--t-chip-fg)}.drawer{z-index:60;background:var(--card,#fff);width:min(34rem,100vw);color:var(--ink);padding:1rem 1.2rem;position:fixed;top:0;bottom:0;right:0;overflow:auto;box-shadow:-8px 0 30px #00000040}.drawer h3{margin:1.1rem 0 .3rem;font-size:1rem}.mini{border-collapse:collapse;width:100%;font-size:.85rem}.mini th,.mini td{text-align:left;border-bottom:1px solid var(--line,#e6eaf2);vertical-align:top;padding:.25rem .4rem}ul.plain{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.cc{width:100%;max-width:34rem}.cc-outcomes{border:0;gap:.4rem;margin:.6rem 0;padding:0;display:grid}.cc-out{border:2px solid var(--line,#dde3ee);cursor:pointer;border-radius:12px;align-items:center;gap:.6rem;padding:.8rem 1rem;font-size:1.05rem;font-weight:600;display:flex}.cc-out.on.competent{background:var(--t-ok-bg);border-color:#2e9e5b}.cc-out.on.not_competent{background:var(--t-danger-bg);border-color:#d64545}.cc-out.on.refresher{background:var(--t-caution-bg);border-color:#e8a317}.cc-out input{width:1.2rem;height:1.2rem}.row-warn td:first-child{box-shadow:inset 4px 0 #e8a317}.pe-screen{margin:0 0 .6rem}.pe-screen-grid{flex-wrap:wrap;align-items:end;gap:.5rem 1rem;display:flex}.pe-screen-grid select,.pe-screen-grid input[type=number]{width:auto;max-width:16rem}.pe-scroll{overscroll-behavior:contain;border-radius:10px;max-width:100%;max-height:min(82vh,1600px);overflow:auto}.pe-full .pe-scroll{max-height:calc(100vh - 9rem)}.pe-resizable{background:#08162b;border-radius:10px;min-width:360px;max-width:none;position:relative;overflow:visible}.pe-band{color:#ffffff8c;background:repeating-linear-gradient(-45deg,#ffffff0f 0 8px,#0000 8px 16px);justify-content:center;align-items:center;font-size:.72rem;display:flex;overflow:hidden}.pe-resizable .pages-canvas{border-radius:0;margin:0}.pe-body{grid-template-columns:minmax(0,1fr);align-items:start;gap:.8rem;display:grid}.pe-xywh{grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;margin-bottom:.4rem;display:grid}.pe-xywh input{width:100%}.pages-editor.pe-full{z-index:200;background:var(--surface,#f2f5fa);color:var(--ink);padding:1rem 1.2rem;position:fixed;inset:0;overflow:auto}.pe-full .pe-body{grid-template-columns:minmax(0,1fr) 22rem}.pe-full .pe-side{max-height:calc(100vh - 2rem);position:sticky;top:0;overflow:auto}@media (max-width:900px){.pe-full .pe-body{grid-template-columns:minmax(0,1fr)}}.op-bigs{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.8rem;display:grid}.op-hazard{background:#c25a00}.op-hazard:hover{background:#a14900}.op-concern{background:#1d5fa8}.op-concern:hover{background:#164a85}.pack-tabs{margin-bottom:.8rem}.pack-sections{border:0;flex-wrap:wrap;align-items:center;gap:.3rem 1rem;margin:.4rem 0;padding:0;display:flex}.pack-saved{margin-top:.8rem}.pack-saved summary{cursor:pointer;font-weight:600}.pack-section{break-inside:avoid-page;margin:1.4rem 0}.pack-stats{margin:.5rem 0}@media print{body *{visibility:hidden}.pack-result,.pack-result *{visibility:visible}.pack-result{color:#000;background:#fff;width:100%;padding:0;position:absolute;top:0;left:0}.pack-result .dt-bar,.pack-result .dt-filters,.pack-result .dt-cols,.pack-result .dt-grip{display:none!important}.pack-result .dt-scroll{border:0;max-height:none;overflow:visible}.pack-result .dt-table{table-layout:auto;font-size:9pt;width:100%!important}.pack-result .dt-table th,.pack-result .dt-table td{white-space:normal;overflow:visible}.pack-result .tw-tile{break-inside:avoid;border:1px solid #999}@page{margin:14mm}}.nav a.nav-dashboard{border:2px solid var(--primary-text);margin-bottom:.4rem}.rt-th{position:relative}.rt-grip{cursor:col-resize;touch-action:none;width:8px;height:100%;position:absolute;top:0;right:0}.rt-grip:hover{background:var(--accent);opacity:.6}@media (max-width:800px){.rt-grip{display:none}}.photo-source{display:inline-block;position:relative}.photo-source-menu{z-index:60;background:var(--card);min-width:11rem;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-m);margin-top:4px;display:grid;position:absolute;top:100%;left:0;overflow:hidden;box-shadow:0 6px 20px #00000040}.photo-source-menu button{font:inherit;text-align:left;color:inherit;cursor:pointer;background:0 0;border:0;padding:.6rem .9rem}.photo-source-menu button:hover,.photo-source-menu button:focus-visible{background:var(--primary-soft)}.unsaved-note{z-index:5;position:sticky;bottom:.5rem}.bell{display:inline-flex;position:relative}.bell-btn{color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:.35rem .5rem;font-size:1.15rem;line-height:1;position:relative}.bell-btn:hover,.bell-btn:focus-visible{border-color:currentColor}.bell-count{color:#fff;background:#c0392b;border-radius:999px;justify-content:center;align-items:center;min-width:1.15rem;height:1.15rem;padding:0 .25rem;font-size:.7rem;font-weight:700;display:inline-flex;position:absolute;top:-2px;right:-2px}.bell-pop{z-index:60;background:var(--card,#fff);width:min(360px,92vw);max-height:70vh;color:var(--ink,#13233a);border:1px solid var(--line,#cfd6de);border-radius:10px;position:absolute;top:calc(100% + 6px);right:0;overflow:auto;box-shadow:0 8px 28px #00000040}.bell-head{border-bottom:1px solid var(--line,#cfd6de);justify-content:space-between;align-items:center;padding:.6rem .8rem;display:flex}.bell-empty{margin:0;padding:1rem .8rem}.bell-list{margin:0;padding:0;list-style:none}.bell-list li{border-bottom:1px solid var(--line,#e3e8ee);align-items:flex-start;gap:.55rem;padding:.6rem .8rem;display:flex}.bell-list li:last-child{border-bottom:0}.bell-txt{overflow-wrap:anywhere;flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.bell-txt a{font-weight:700}.bell-x{border:1px solid var(--line,#cfd6de);color:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:.15rem .45rem}.cr{gap:1rem;display:grid}.cr-h{text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:3px;-webkit-text-decoration-color:var(--accent,#f2a900);text-decoration-color:var(--accent,#f2a900);margin:0}.cr-h3{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:2px;-webkit-text-decoration-color:var(--accent,#f2a900);text-decoration-color:var(--accent,#f2a900);margin:0 0 .5rem}.cr-h4{text-underline-offset:4px;margin:.8rem 0 .3rem;text-decoration:underline}.cr-build,.cr-saved,.cr-result{gap:.9rem;padding:1rem;display:grid}.cr-saved ul{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.cr-row,.cr-grid label,.cr-save label{gap:.25rem;font-weight:600;display:grid}.cr-colgrid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.3rem .8rem;display:grid}.cr-colgrid label,.cr-share{align-items:center;gap:.4rem;font-weight:400;display:flex}.cr-order{gap:.2rem;margin:.6rem 0 0;padding-left:1.4rem;display:grid}.cr-frow{flex-wrap:wrap;gap:.4rem;margin-bottom:.4rem;display:flex}.cr-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.8rem;display:grid}.cr-actions,.cr-save{flex-wrap:wrap;align-items:end;gap:.6rem;display:flex}.cr-scroll{max-width:100%;overflow:auto}.cr-table{border-collapse:collapse;width:100%;font-size:.9rem}.cr-table th{text-align:left;background:var(--primary-soft,#eef2f3);border-bottom:2px solid var(--primary,#0b1f3a);padding:.4rem .5rem;position:sticky;top:0}.cr-table td{border-bottom:1px solid var(--line,#d5dbdf);padding:.35rem .5rem}.cr-table .num{text-align:right;font-variant-numeric:tabular-nums}.pack-head h2{text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:3px;-webkit-text-decoration-color:var(--accent,#f2a900);text-decoration-color:var(--accent,#f2a900)}.pack-section h3{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:2px;-webkit-text-decoration-color:var(--accent,#f2a900);text-decoration-color:var(--accent,#f2a900)}.approval .approval-status{margin:0 0 .5rem}.approval-people{align-items:flex-end;gap:.6rem;margin:.4rem 0}.approval-people label{gap:.2rem;min-width:14rem;display:grid}.approval-actions{margin:.5rem 0}.approval-compact{border-top:1px dashed var(--line);margin-top:.6rem;padding-top:.6rem}.approvals-list>li{border-bottom:1px solid var(--line);padding:.7rem 0}ul.chips{padding:0;list-style:none}.sop-assign{border:1px solid var(--line);border-radius:var(--radius-s);flex-direction:column;gap:.5rem;padding:.6rem .8rem;display:flex}.sop-assign .help{margin:0}.sop-assign .sop-assignees{flex-direction:column;gap:.5rem;padding-top:.25rem;display:flex}.sop-assign legend{padding:0 .3rem;font-weight:700}.qual-matrix thead th{white-space:normal;vertical-align:bottom;min-width:7.5rem;max-width:11rem}.qual-matrix .qual-col{white-space:normal;line-height:1.25}.tag-btn{cursor:pointer;font:inherit;border:0}.tag-btn:hover,.tag-btn:focus-visible{outline:2px solid var(--action,var(--primary));outline-offset:1px}.kv{grid-template-columns:max-content 1fr;gap:.3rem 1rem;margin:0 0 1rem;display:grid}.kv dt{font-weight:700}.kv dd{margin:0}tr.row-failed>td:first-child{box-shadow:inset 4px 0 0 var(--danger)}.record-detail .failed-answer{color:var(--danger);font-weight:700}.record-detail dd.failed-answer:before{content:"✗ "}.failed-tag{white-space:nowrap}.issue-list li{border-bottom:1px solid var(--line);padding:.35rem 0}.issue-list .issue-answer{color:var(--danger);font-weight:700}.ibars{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.ibars li{font-size:var(--step--1);grid-template-columns:minmax(6rem,36%) 1fr auto;align-items:center;gap:.5rem;display:grid}.ibars-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ibars-track{background:color-mix(in srgb, var(--ink) 7%, transparent);border-radius:4px;height:.9rem;overflow:hidden}.ibars-fill{background:color-mix(in srgb, var(--action,var(--primary)) 45%, transparent);border-radius:4px;min-width:2px;height:100%;display:block;position:relative}.ibars-fill.r-danger{background:color-mix(in srgb, var(--danger) 45%, transparent)}.ibars-fill.r-warn{background:#e8710a73}.ibars-fill.r-caution{background:#e8a31773}.ibars-fill.r-ok{background:#2e9e5b73}.ibars-open{background:color-mix(in srgb, var(--ink) 35%, transparent);border-radius:4px 0 0 4px;position:absolute;inset:0 auto 0 0}.ibars-n{white-space:nowrap;font-variant-numeric:tabular-nums}.phone-signin .ack{gap:.8em;display:grid}.phone-signin .ack h2{margin:0;font-size:1.25em}.phone-signin .ack-text{white-space:pre-wrap;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.7em .9em}.phone-signin .ack-block h3{margin:0 0 .25em;font-size:1em}.phone-signin .ack-block ul{margin:0;padding-left:1.2em}.phone-signin .btn.ghost.wide{margin-top:-.3em}.cc-thumbs{flex-wrap:wrap;gap:.5rem;margin:.5rem 0;padding:0;list-style:none;display:flex}.cc-thumbs li{border-radius:var(--radius-s);border:1px solid var(--line);background:#000;width:84px;height:84px;position:relative;overflow:hidden}.cc-thumbs img,.cc-thumbs video{object-fit:cover;width:100%;height:100%}.cc-thumbs button{color:#fff;cursor:pointer;background:#0009;border:0;border-radius:50%;width:24px;height:24px;position:absolute;top:2px;right:2px}.cc-rec{max-width:720px}.cc-rec-view{border-radius:var(--radius-s);background:#000;width:100%;max-height:60vh}.storage-browser{max-width:560px}.sb-trail{margin:.3rem 0 .6rem}.sb-list{border:1px solid var(--line);border-radius:var(--radius-s);max-height:50vh;margin:0;padding:0;list-style:none;overflow:auto}.sb-list li{border-bottom:1px solid var(--line);padding:.45rem .7rem}.sb-list li:last-child{border-bottom:0}.sb-list button:disabled{color:var(--muted);cursor:not-allowed;text-decoration:none}.link-btn{font:inherit;color:var(--action,var(--primary));cursor:pointer;text-align:left;background:0 0;border:0;padding:0;text-decoration:underline}.link-btn:hover{text-decoration-thickness:2px}.map-view-resize{resize:both;border-radius:var(--radius-s);border:1px solid var(--line);background:var(--surface);min-width:240px;max-width:100%;min-height:200px;max-height:90vh;overflow:hidden}.map-view-resize .map-view{border:0;border-radius:0}.camera-backdrop{z-index:2000;background:#0009;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.camera-box{background:var(--surface,#fff);color:var(--text,#111);border-radius:12px;gap:10px;width:100%;max-width:min(720px,100%);padding:14px;display:grid}.camera-video{background:#000;border-radius:8px;width:100%;max-height:60vh}.mode-toggle{border:1px solid color-mix(in srgb, var(--primary-text) 35%, transparent);color:var(--primary-text);cursor:pointer;background:0 0;border-radius:999px;place-items:center;width:38px;height:38px;font-size:1.1rem;display:inline-grid}.mode-toggle:hover{background:color-mix(in srgb, var(--primary-text) 14%, transparent)}.mode-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.callout{border:1px solid var(--line);border-left:4px solid var(--accent);background:var(--primary-soft);border-radius:var(--radius-s);padding:10px 12px}.tag.small{padding:1px 6px;font-size:.72rem}.sg-th-brand .sg-panel{box-shadow:0 0 0 1px color-mix(in srgb, var(--sg-ink) 25%, transparent) inset}.sg-signin-qr{text-align:center;flex-direction:column;gap:.3em;padding:.5em}.sg-signin-qr .sg-qr-cap{white-space:nowrap;font-size:.85em;line-height:1.15}.sg-signin-qr.size-l .sg-qr-cap{font-size:1em}:is(.signage:has(.sg-signin-qr.at-tr) .sg-head,.signage:has(.sg-signin-qr.at-tl) .sg-head){padding-right:9em}.signage:has(.sg-signin-qr.at-tl) .sg-head{padding-left:9em;padding-right:0}.signage:has(.sg-signin-qr.at-bl) .sg-foot{margin-left:9em}.sg-preview-scroll{max-width:100%;padding-bottom:14px;overflow:auto}.sg-preview-box{max-width:none;margin:0 auto 0 0;position:relative}.sg-preview-box .sg-preview-frame{margin:0}.sg-resize-handle{cursor:nwse-resize;touch-action:none;background:var(--card);border:2px solid var(--action,var(--primary));z-index:6;border-radius:6px;place-items:center;width:26px;height:26px;display:grid;position:absolute;bottom:-10px;right:-10px}.sg-resize-handle:before{content:"";border-right:3px solid var(--action,var(--primary));border-bottom:3px solid var(--action,var(--primary));width:10px;height:10px;transform:translate(-1px,-1px)}.sg-resize-handle:focus-visible{outline:3px solid var(--accent)}.pe-handle{bottom:6px;right:6px}.pe-scroll{padding:0 12px 12px 0}.ack-items{gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.ack-items li{border:1px solid var(--line);border-radius:var(--radius-s);background:var(--card);padding:.6rem .7rem}.ack-photos{flex-wrap:wrap;gap:.4rem;margin:.4rem 0;display:flex}.ack-photo{cursor:zoom-in;background:0 0;border:0;padding:0}.ack-photo img{object-fit:cover;border:1px solid var(--line);border-radius:8px;width:110px;height:84px;display:block}.ack-lightbox{z-index:3000;background:#000000d9;align-content:center;place-items:center;gap:.6rem;padding:12px;display:grid;position:fixed;inset:0}.ack-lightbox img{border-radius:8px;max-width:100%;max-height:80vh}.ack-editor-list{gap:.7rem;display:grid}.ack-editor-item{border:1px solid var(--line);border-radius:var(--radius-s);background:var(--card);gap:.4rem;padding:.6rem .7rem;display:grid}.ack-editor-photos{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.ack-editor-photos .thumb{position:relative}.ack-editor-photos .thumb img{object-fit:cover;border:1px solid var(--line);border-radius:8px;width:96px;height:72px;display:block}.ack-editor-photos .thumb button{position:absolute;top:-6px;right:-6px}.actions-panel{border-top:1px solid var(--line);gap:.6rem;margin-top:1rem;padding-top:.9rem;display:grid}.action-form{border:1px solid var(--line);border-radius:8px;gap:.5rem;padding:.7rem;display:grid}.action-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.action-item{border:1px solid var(--line);border-radius:8px;padding:.6rem .7rem}.action-item.status-done,.action-item.status-cancelled{opacity:.85}.action-item.overdue{border-color:#c0392b}.plan-grid{grid-template-columns:minmax(240px,340px) 1fr;align-items:start;gap:12px;display:grid}@media (max-width:800px){.plan-grid{grid-template-columns:1fr}}.plan-pick{font:inherit;text-align:left;border:1px solid var(--line);cursor:pointer;width:100%;color:var(--ink);background:0 0;border-radius:6px;margin:3px 0;padding:6px 8px}.plan-pick.on{border-color:var(--action,var(--primary));background:var(--primary-soft)}.plan-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.plan-dow{color:var(--muted);text-align:center;padding:2px 0;font-size:.75rem}.plan-day{border:1px solid var(--line);background:var(--surface,#fff);border-radius:4px;flex-direction:column;gap:2px;min-height:74px;padding:2px 3px;display:flex;overflow:hidden}.plan-day.other{opacity:.5}.plan-day.today{outline:2px solid var(--action,var(--primary))}.plan-day.pickable{cursor:copy}.plan-day.pickable:hover{background:var(--primary-soft)}.plan-num{color:var(--muted);font-size:.72rem}.plan-chip{white-space:nowrap;text-overflow:ellipsis;color:#123;background:#e8eef7;border-radius:3px;padding:0 3px;font-size:.7rem;text-decoration:none;overflow:hidden}.plan-chip.fix{background:#fde8c8}.plan-chip.fix.critical{color:#fff;background:#dc2626}.plan-chip.late{outline:2px solid #7f1d1d}fieldset{min-width:0}.check input[type=radio],.check input[type=checkbox]{margin-top:.15rem}.qf-extra{border:1px solid var(--line);border-radius:var(--radius-s);flex-direction:column;gap:.4rem;margin-bottom:.5rem;padding:.5rem;display:flex}.req-docs{gap:.75rem;margin:.6rem 0;display:grid}.req-doc{border:1px solid var(--line);border-left:5px solid var(--line);border-radius:var(--radius-s);background:var(--card);gap:.45rem;padding:.7rem .9rem;display:grid}.req-doc.state-missing,.req-doc.state-overdue{border-left-color:var(--danger,#c62828)}.req-doc.state-due-soon,.req-doc.state-no-date{border-left-color:#e8710a}.req-doc.state-current{border-left-color:#2e7d32}.req-doc-head{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.req-doc-files{flex-wrap:wrap;align-items:center;gap:.4rem .9rem;display:flex}.req-doc-fields{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:end;gap:.6rem .9rem;display:grid}.req-doc-fields label{gap:.2rem;display:grid}.req-doc-fields .btn{justify-self:start}.board-fit{justify-content:center;align-items:center;padding:calc(12px + .5rem) .6rem .5rem;display:flex;container-type:normal}.board-fit .board-a{color:inherit;justify-content:center;align-items:center;width:100%;height:100%;text-decoration:none;display:flex}.board-fit .board-inner{text-align:left;overflow-wrap:anywhere;font-size:40px}.board-fit .count{margin:0;font-size:2.6em;line-height:.95}.board-fit .caption{margin-top:.15em;font-size:.5em;line-height:1.15}.board-fit .since{margin-top:.2em;font-size:.32em;line-height:1.2}.dash-stack .stack-item>.board-fit{height:100%}.sp-toast{top:calc(var(--header-h,56px) + 8px);z-index:80;background:var(--card,#fff);width:min(380px,100vw - 24px);color:var(--ink,#13233a);border:1px solid var(--line,#cfd6de);border-left:4px solid var(--brand,#1f6feb);border-radius:10px;padding:10px 12px;position:fixed;right:12px;box-shadow:0 8px 28px #00000040}.sp-backdrop{z-index:90;background:#00000073;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.sp-dialog{background:var(--card,#fff);width:min(520px,100%);max-height:85vh;color:var(--ink,#13233a);border-radius:12px;padding:16px;overflow:auto;box-shadow:0 12px 40px #00000059}.sp-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.sp-x{cursor:pointer;color:inherit;background:0 0;border:0;padding:4px 8px;font-size:1rem}.sp-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.sp-list li{align-items:flex-start;gap:8px;display:flex}.sp-list li>div{display:grid}.sp-list small{font-size:.8rem}.sp-late{color:var(--danger,#b42318);font-weight:600}.sp-due{color:var(--warn,#9a6700);font-weight:600}.sp-foot{justify-content:flex-end;margin-top:12px;display:flex}.rec-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.rec-card{background:var(--card,#fff);border:1px solid var(--line,#cfd6de);cursor:pointer;border-radius:10px;align-content:start;gap:6px;padding:12px;display:grid}.rec-card:hover{border-color:var(--brand,#1f6feb)}.rec-card h3{margin:0;font-size:1rem}.rec-card dl{gap:2px;margin:0;font-size:.85rem;display:grid}.rec-card dl>div{gap:6px;display:flex}.rec-card dt{color:var(--muted,#5b6b7f);min-width:6.5em}.rec-card dd{margin:0}.rec-card .rec-thumb{border-radius:6px;max-height:110px;overflow:hidden}.property-map.names-off .tag-lbl{display:none}.map-legend{grid-template-columns:repeat(auto-fill,minmax(11em,1fr));gap:6px;margin:8px 0 0;padding:0;font-size:.85rem;list-style:none;display:grid}.map-legend li{align-items:center;gap:6px;display:flex}
