:root{--bg: #f4f6f5;--surface: #ffffff;--surface-2: #eef2f1;--text: #17201f;--muted: #5c6b69;--border: #d8e0de;--brand: #0f3d3e;--brand-contrast: #ffffff;--accent: #f2b705;--accent-text: #1c1600;--danger: #b42318;--danger-bg: #fdecea;--ok: #1a7f4b;--ok-bg: #e6f4ec;--warn-bg: #fff6d6;--warn-text: #5c4500;--orange: #b54708;--orange-bg: #fff1e6;--focus: #2f7cf6;--link: #0b7a70;--radius: 10px;--shadow: 0 1px 2px rgb(0 0 0 / 6%), 0 2px 8px rgb(0 0 0 / 5%);color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #0f1514;--surface: #182120;--surface-2: #1f2a29;--text: #e6eceb;--muted: #9aaba8;--border: #2d3a38;--brand: #7fd1c7;--link: #7fd1c7;--brand-contrast: #0b1a1a;--danger: #ff8a80;--danger-bg: #3a1a18;--ok: #6fd39b;--ok-bg: #16301f;--warn-bg: #3a3112;--warn-text: #ffe08a;--orange: #ffb27a;--orange-bg: #3a2414;--shadow: none;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%}h1{font-size:1.4rem;margin:0 0 1rem}h2{font-size:1.1rem;margin:1.5rem 0 .75rem}h3{font-size:1rem;margin:1rem 0 .5rem}a{color:inherit}a:where(:not(.btn,.card,.incident-card,.dash-site,.photo-thumb)){color:var(--link);text-underline-offset:2px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:.5rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;font-weight:600;cursor:pointer;text-decoration:none}button:hover{background:var(--surface-2)}button:disabled{opacity:.55;cursor:not-allowed}button.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-contrast)}button.primary:hover{filter:brightness(1.1)}button.danger{color:var(--danger)}button.small{min-height:34px;padding:.25rem .65rem;font-size:.9rem}button.link{border:0;background:none;padding:0;min-height:0;color:var(--brand);text-decoration:underline;font-weight:500}label{display:block;font-weight:600;font-size:.92rem;margin-bottom:.25rem}input,select,textarea{width:100%;min-height:44px;padding:.5rem .7rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit}select.small{width:auto;min-height:36px;padding:.2rem .5rem}input[type=checkbox]{width:20px;height:20px;min-height:0;margin:0;flex:none;accent-color:var(--brand)}.field{margin-bottom:.9rem}.field .hint{color:var(--muted);font-size:.85rem;margin-top:.2rem}.check{display:flex;gap:.6rem;align-items:flex-start;font-weight:500;margin:.4rem 0;cursor:pointer}.check input{margin-top:2px}input[type=radio]{width:1.15rem;height:1.15rem;min-height:0;padding:0;flex:none;accent-color:var(--brand)}.check span{flex:1;text-align:left}.grid-2{display:grid;gap:0 1rem;grid-template-columns:1fr}@media(min-width:640px){.grid-2{grid-template-columns:1fr 1fr}}.row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.row.end{justify-content:flex-end}.spacer{flex:1}.muted{color:var(--muted)}.small-text{font-size:.85rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem;margin-bottom:1rem}.tiles{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:1rem}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.tile .num{font-size:2rem;font-weight:700}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}table{width:100%;border-collapse:collapse;font-size:.95rem}th,td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--border);vertical-align:top}th{font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);background:var(--surface-2)}tr:last-child td{border-bottom:0}.clickable{cursor:pointer}tr.clickable:hover td,tr.clickable:focus-visible td{background:var(--surface-2)}tr.clickable:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.card.clickable,a.card,.dash-site,.list-item.clickable{transition:background-color .12s,border-color .12s}.card.clickable:hover,a.card:hover,.list-item.clickable:hover,.incident-card:hover{background:var(--surface-2);border-top-color:var(--muted);border-right-color:var(--muted);border-bottom-color:var(--muted)}.card.clickable:hover{border-left-color:var(--muted)}.list-item.clickable:hover,.dash-site:hover{background:var(--surface-2)}a.card{display:block;color:inherit;text-decoration:none}tr.inactive td{color:var(--muted)}.badge{display:inline-block;padding:.05rem .5rem;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--surface-2);color:var(--text);white-space:nowrap}.badge.accent{background:var(--accent);color:var(--accent-text)}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.danger{background:var(--danger-bg);color:var(--danger)}.alert{padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:1rem}.alert.error{background:var(--danger-bg);color:var(--danger)}.alert.ok{background:var(--ok-bg);color:var(--ok)}.alert.warn{background:var(--warn-bg);color:var(--warn-text)}.alert-bar{display:flex;gap:.75rem;align-items:center;padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:.5rem;border-left:5px solid}.alert-bar .alert-text{flex:1;min-width:0}.alert-bar button{flex:none}.alert-bar.red{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.alert-bar.orange{background:var(--orange-bg);color:var(--orange);border-color:var(--orange)}.checkin-card{border-radius:14px;padding:1rem;margin-bottom:1rem;border:2px solid}.checkin-card.active{border-color:var(--ok);background:var(--ok-bg)}.checkin-card.stopped{border-color:var(--danger);background:var(--danger-bg)}.checkin-card .card{background:var(--surface)}.camera{width:100%;max-height:60vh;object-fit:cover;border-radius:10px;background:#000;margin-bottom:.6rem;display:block}.lmra-q{border:1px solid var(--border);border-radius:10px;padding:.6rem .8rem;margin-bottom:.5rem;background:var(--surface)}.lmra-q.no{border-color:var(--danger);background:var(--danger-bg)}.lmra-text{font-weight:600;margin-bottom:.4rem}.lmra-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.lmra-buttons button{min-height:48px;font-size:1.05rem}.lmra-buttons button.yes-on{background:var(--ok);border-color:var(--ok);color:#fff}.lmra-buttons button.no-on{background:var(--danger);border-color:var(--danger);color:#fff}.ppe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.5rem}.ppe{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.2rem;padding:.5rem;border:1px solid var(--border);border-radius:10px;font-weight:600;font-size:.9rem}.ppe-icon{font-size:1.8rem}.player{width:100%;max-height:70vh;border-radius:10px;background:#000}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin:1.5rem 0 1rem;overflow-x:auto}.tabs button{border:0;border-bottom:3px solid transparent;border-radius:0;background:none;min-height:40px;color:var(--muted)}.tabs button.active{color:var(--text);border-bottom-color:var(--brand)}.lmra-row{border-bottom:1px solid var(--border);padding:.5rem 0}.lmra-row.inactive{opacity:.5}.cue-list{max-height:360px;overflow-y:auto;margin-bottom:.5rem}.cue{display:grid;grid-template-columns:90px 1fr;gap:.5rem;align-items:center;margin-bottom:.25rem}.cue input{min-height:36px}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 .75rem}.register-line{background:var(--surface);border:1px solid var(--border);border-left:5px solid var(--border);border-radius:var(--radius);padding:.7rem .9rem;margin-bottom:.6rem}.register-line.status-active{border-left-color:var(--ok)}.register-line.status-stopped,.register-line.status-refused{border-left-color:var(--danger)}.register-grid{display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;margin:.4rem 0;font-size:.92rem}.secret{font:600 1.3rem/1.2 ui-monospace,Consolas,monospace;letter-spacing:.08em;padding:.6rem .8rem;background:var(--surface-2);border-radius:var(--radius);-webkit-user-select:all;user-select:all;display:inline-block}.app-header{position:sticky;top:0;z-index:20}.topbar{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;min-height:56px;background:#0f3d3e;color:#fff}.topbar button,.topbar select{background:transparent;color:inherit;border-color:color-mix(in srgb,currentColor 35%,transparent)}.topbar select{width:auto;min-height:36px;padding:.2rem .4rem}.topbar select option{color:#000}.logo{display:block;width:auto;max-width:100%;object-fit:contain;flex:none}.logo-auth{height:44px;margin-bottom:.5rem}picture{display:block;flex:none;line-height:0}.ctx-name{font-weight:600;opacity:.9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto;min-width:0}.topbar-actions{display:flex;align-items:center;gap:.5rem;flex:none;margin-left:auto}.topbar-bell{min-height:36px;color:inherit!important;background:transparent!important;border-color:#ffffff59!important}.notif-dot{background:var(--accent);color:var(--accent-text);border-radius:999px;font-size:.75rem;padding:0 .4rem;margin-left:.2rem}.shell{min-height:calc(100% - 56px)}.main{min-width:0;padding:1.25rem 1rem 2.5rem;max-width:1100px;margin:0 auto}.main.main-start{max-width:none;padding:0}.banner{background:var(--accent);color:var(--accent-text);padding:.5rem 1rem;display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;font-weight:600}.banner button{min-height:32px;padding:.2rem .7rem;background:transparent;color:inherit;border-color:currentColor}.menu{position:relative;flex:none;z-index:2}.menu-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;animation:menu-fade .15s ease-out}.topbar .menu-btn{position:relative;display:inline-flex;align-items:center;gap:.55rem;min-height:40px;padding:.35rem .8rem;border:1px solid rgb(255 255 255 / 35%);border-radius:10px;font-weight:700;cursor:pointer}.topbar .menu-btn:hover{background:#ffffff1a}.menu-bars{display:inline-flex;flex-direction:column;gap:3px}.menu-bars i{display:block;width:16px;height:2px;border-radius:2px;background:currentColor}.menu-caret{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s ease}.menu.open .menu-caret{transform:translateY(2px) rotate(-135deg)}.topbar .menu.open .menu-btn{background:var(--surface);color:var(--text);border-color:var(--surface);border-radius:10px 10px 0 0;box-shadow:0 -2px 16px #0000002e}.menu-panel{position:absolute;top:100%;left:0;width:320px;max-width:calc(100vw - 1.2rem);max-height:calc(100vh - 72px);max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain;padding:.45rem;background:var(--surface);color:var(--text);border-radius:0 14px 14px;box-shadow:0 14px 36px #00000047;animation:menu-in .16s ease-out}.menu-panel[hidden]{display:none}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes menu-fade{0%{opacity:0}to{opacity:1}}.mi-list,.subm-in{list-style:none;margin:0;padding:0}.mi{display:flex;align-items:center;gap:.6rem;width:100%;min-height:48px;padding:.4rem .8rem;border:0;border-radius:10px;background:none;color:var(--text);font:inherit;font-weight:600;text-align:left;text-decoration:none;cursor:pointer}.mi:hover{background:var(--surface-2)}.mi .icon,.si .icon,.pi .icon,.tb .icon{flex:none;color:var(--brand)}.mi-lbl{flex:1;min-width:0;overflow-wrap:anywhere}.mi-cnt{flex:none;min-width:1.6rem;padding:.05rem .45rem;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:.78rem;font-weight:700;text-align:center}.mi-chev{flex:none;width:1rem;color:var(--muted);font-size:1.25rem;line-height:1;text-align:center;transition:transform .2s ease}.mi-group.open .mi-chev,.si-group.open .mi-chev{transform:rotate(90deg)}.mi.active{background:var(--surface-2);box-shadow:inset 3px 0 0 var(--brand)}.mi-group.within .mi-lbl{color:var(--brand)}.mi-group.open{background:var(--surface-2)}.subm{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease}.subm.open{grid-template-rows:1fr}.subm>.subm-in{min-height:0;overflow:hidden}.subm-in{margin-left:1.55rem;padding-left:.55rem;border-left:2px solid var(--border)}.subm.open>.subm-in{margin-top:.2rem;margin-bottom:.35rem}.si{display:flex;align-items:center;gap:.55rem;width:100%;min-height:42px;padding:.35rem .6rem;border:0;border-radius:8px;background:none;color:var(--muted);font:inherit;font-weight:600;text-align:left;text-decoration:none;cursor:pointer}.si:hover{background:var(--surface-2);color:var(--text)}.si-dot{flex:none;width:6px;height:6px;border-radius:50%;background:var(--border)}.si-lbl{flex:1;min-width:0;overflow-wrap:anywhere}.si.active{color:var(--brand);background:var(--surface-2)}.si.active .si-dot{background:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 25%,transparent)}.si-group.within{color:var(--text)}.mi-divider{height:1px;margin:.4rem .5rem;background:var(--border)}.topbar .mi-logout{color:var(--danger)}.mi:focus-visible,.si:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}@media(prefers-reduced-motion:reduce){.menu-panel,.menu-scrim{animation:none}.menu-caret,.mi-chev,.subm{transition:none}}.start-page{display:flex;flex-direction:column;align-items:center;min-height:calc(100vh - 56px);min-height:calc(100dvh - 56px);padding:2rem 1rem 1.25rem;text-align:center;color:#fff;background:radial-gradient(ellipse at 50% 38%,#17504e,#0f3d3e 48%,#0a2b2c)}.start-hero{margin:auto 0;display:flex;flex-direction:column;align-items:center;gap:1rem;animation:start-in .9s ease-out both}.start-welcome{margin:0;font-size:1.35rem;font-weight:500;letter-spacing:.02em;color:#ffffffc7}.logo-start{height:auto;width:min(320px,72vw)}.start-hint{margin:1.4rem 0 0;font-size:.92rem;color:#ffffff9e}.contact-line.start-contact{margin:0;font-size:.85rem;color:#ffffff9e}.start-contact a{color:#7fd1c7}@keyframes start-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.start-hero{animation:none}}.start-acts{display:flex;flex-direction:column;gap:.75rem;width:min(340px,100%);margin-top:1.6rem}.act{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:60px;padding:0 1.6rem;border-radius:14px;border:2px solid transparent;font:inherit;font-size:1.12rem;font-weight:800;text-decoration:none;cursor:pointer}.act-go{background:#2fbf8f;color:#062a20}.act-stop{background:#d9483c;color:#fff}.act-scan{background:transparent;color:#fff;border-color:#7fd1c7}.act-scan .icon{color:#7fd1c7}.act:hover:not(:disabled){filter:brightness(1.08)}.act:focus-visible{outline:3px solid #ffffff;outline-offset:3px}.act:disabled{background:#ffffff1f;color:#ffffff73;cursor:default}.start-state{margin:1.4rem 0 0;width:min(340px,100%);padding:.65rem .9rem;border-radius:12px;font-size:.95rem;background:#ffffff14;border:1px solid rgb(127 209 199 / 40%);color:#e6f1ef}.start-state.stopped{border-color:#ff8a80;background:#d9483c38}.start-state a{color:#7fd1c7}@media(min-width:800px){.start-acts{flex-direction:row;width:auto;justify-content:center}.start-state{width:auto;max-width:560px}}.topbar-wide{gap:1rem;padding-top:0;padding-bottom:0}.topbar-wide .ctx-name{flex:none;max-width:180px}.bar-panel-org{margin:0;padding:.45rem .75rem .55rem;font-weight:700;color:var(--muted);max-width:280px;overflow-wrap:anywhere;border-bottom:1px solid var(--border);margin-bottom:.3rem}.menubar{position:relative;flex:1 1 0;min-width:0;display:flex;align-items:center;gap:.75rem;align-self:stretch}.bar{position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:2px;white-space:nowrap}.bar.placed{transform:none}.bar-right{flex:none;display:flex;align-items:center;gap:.5rem;margin-left:auto}.tm{position:relative;display:flex;align-items:center;align-self:stretch}.tb{display:inline-flex;align-items:center;gap:.5rem;min-height:40px;margin:8px 0;padding:0 .85rem;border:0;border-radius:9px;background:transparent;color:#e6f1ef;font:inherit;font-weight:600;white-space:nowrap;text-decoration:none;cursor:pointer}.topbar .tb{background:transparent;border:0}.tb .icon{color:#7fd1c7}.tb:hover{background:#ffffff1a}.tb-caret{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;opacity:.8;transform:translateY(-2px) rotate(45deg);transition:transform .2s ease}.tm.cur>.tb{box-shadow:inset 0 -3px #7fd1c7;border-radius:9px 9px 2px 2px}.topbar .tm.open>.tb{background:var(--surface);color:var(--text);border-radius:9px 9px 0 0;box-shadow:none}.tm.open>.tb .tb-caret{transform:translateY(2px) rotate(-135deg)}.tm.open>.tb .icon{color:var(--brand)}.tb-profile{border:1px solid rgb(255 255 255 / 35%)!important;min-height:36px;margin:0;font-weight:700;letter-spacing:.03em}.bar-measure{position:fixed;left:-10000px;top:0;display:flex;gap:2px;visibility:hidden;pointer-events:none}.bar-panel{position:absolute;top:calc(100% - 8px);left:0;z-index:30;min-width:250px;padding:.4rem;background:var(--surface);color:var(--text);border-radius:0 12px 12px;box-shadow:0 16px 36px #00000038;animation:menu-in .16s ease-out}.bar-panel[hidden]{display:none}.bar-panel.panel-right{left:auto;right:0;border-radius:12px 0 12px 12px}.bar-panel.shifted{border-radius:12px}.tm-profile>.bar-panel{top:100%}.tm-profile.open>.tb-profile{border-color:var(--surface)!important}.bar-panel ul{list-style:none;margin:0;padding:0}.bar-panel.fly{top:-.4rem;left:100%;margin-left:.35rem;min-width:220px;border-radius:12px}.bar-panel.fly.fly-left{left:auto;right:100%;margin-left:0;margin-right:.35rem}.pi-wrap{position:relative}.pi{display:flex;align-items:center;gap:.6rem;width:100%;min-height:42px;padding:.45rem .75rem;border:0;border-radius:8px;background:none;color:var(--text);font:inherit;font-weight:600;text-align:left;text-decoration:none;white-space:nowrap;cursor:pointer}.pi:hover,.pi-group.open{background:var(--surface-2)}.pi-dot{flex:none;width:6px;height:6px;border-radius:50%;background:var(--border)}.pi-lbl{flex:1}.pi-more{margin-left:auto;padding-left:1rem;color:var(--muted);font-size:1.2rem;line-height:1}.pi.active{color:var(--brand);background:var(--surface-2);box-shadow:inset 3px 0 0 var(--brand)}.pi.active .pi-dot{background:var(--brand)}.pi-group.within{color:var(--brand)}.topbar .pi-logout{color:var(--danger)}.bar-panel>ul+ul{margin-top:.3rem;padding-top:.3rem;border-top:1px solid var(--border)}.pi:focus-visible,.tb:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}@media(prefers-reduced-motion:reduce){.bar-panel{animation:none}.tb-caret{transition:none}}@media(max-width:800px){.hide-mobile{display:none}.show-mobile{display:inline-block}.topbar{gap:.5rem;padding:.5rem .6rem}.topbar-actions{gap:.35rem}.topbar-actions .small{padding-left:.55rem;padding-right:.55rem}.menu-panel{max-width:calc(100vw - .75rem)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:flex-end;justify-content:center;z-index:50}.modal{background:var(--surface);width:100%;max-width:640px;max-height:92vh;overflow-y:auto;border-radius:14px 14px 0 0;padding:1.25rem}@media(min-width:640px){.modal-backdrop{align-items:center}.modal{border-radius:14px}}.modal h2{margin-top:0}.modal .actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem;position:sticky;bottom:-1.25rem;background:var(--surface);padding:.75rem 0}.auth-page{min-height:100%;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--brand)}.auth-card{width:100%;max-width:400px;background:var(--surface);border-radius:14px;padding:1.5rem;box-shadow:0 10px 30px #00000040}.list-button{display:flex;width:100%;justify-content:space-between;text-align:left;margin-bottom:.5rem;padding:.8rem 1rem}.site-card{display:block;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem;margin-bottom:.75rem}.site-card .code{font-weight:800;color:var(--brand)}.site-card .title{font-size:1.1rem;font-weight:700}.chips{display:flex;flex-wrap:wrap;gap:.35rem}.diff{font-size:.85rem}.diff div{margin:.1rem 0}.diff code{background:var(--surface-2);padding:0 .3rem;border-radius:4px;word-break:break-word}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-contrast)}.btn.small{min-height:34px;padding:.25rem .65rem;font-size:.9rem}.btn.danger,button.danger.big,a.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}button.big{min-height:52px;font-size:1.05rem;font-weight:700}.grid-3{display:grid;gap:0 1rem;grid-template-columns:1fr}@media(min-width:700px){.grid-3{grid-template-columns:repeat(3,1fr)}}.report-buttons{display:grid;gap:.5rem;grid-template-columns:1fr}@media(min-width:600px){.report-buttons{grid-template-columns:1fr 1fr}}.type-choice{display:grid;gap:.6rem;grid-template-columns:1fr}@media(min-width:600px){.type-choice{grid-template-columns:1fr 1fr}}.type-btn{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;text-align:left;padding:.9rem 1rem;min-height:88px}.type-btn .type-icon{font-size:1.6rem}.type-btn.accident{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.type-btn.near_miss{border-color:var(--accent)}.first-help{border:2px solid var(--danger);background:var(--danger-bg);border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.first-help h2{color:var(--danger)}.first-help .call-112{display:block;text-align:center;font-size:1.4rem;font-weight:800;padding:.9rem;margin:.6rem 0 .3rem;text-decoration:none}.segmented{display:flex;gap:0}.segmented button{flex:1;border-radius:0}.segmented button:first-child{border-radius:var(--radius) 0 0 var(--radius)}.segmented button:last-child{border-radius:0 var(--radius) var(--radius) 0}.segmented button.on{background:var(--brand);border-color:var(--brand);color:var(--brand-contrast)}.segmented button.on.high{background:var(--danger);border-color:var(--danger);color:#fff}.segmented button.on.medium{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.photo-strip{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start;margin:.4rem 0}.photo-thumb{display:flex;flex-direction:column;gap:.25rem;padding:0;border:0;background:none;min-height:0}.photo-thumb img{width:96px;height:96px;object-fit:cover;border-radius:8px;border:1px solid var(--border)}fieldset.medical{border:1px dashed var(--border);border-radius:var(--radius);padding:.5rem .9rem;margin:.75rem 0}fieldset.medical legend{font-weight:700;padding:0 .3rem}.incident-card{display:block;background:var(--surface);border:1px solid var(--border);border-left:5px solid var(--border);border-radius:var(--radius);padding:.7rem .9rem;margin:.5rem 0;color:inherit;text-decoration:none}.incident-card.accident{border-left-color:var(--danger)}.incident-card.near_miss{border-left-color:var(--accent)}.incident-card.closed{opacity:.75}.incident-text{margin:.35rem 0}.badge.inc-type.accident{background:var(--danger);color:#fff}.badge.inc-type.near_miss{background:var(--accent);color:var(--accent-text)}.accident-card{border-color:var(--danger)}.deadline{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.5rem .7rem;border-radius:8px;border:1px solid var(--border);margin:.4rem 0}.deadline.late{border-color:var(--danger);background:var(--danger-bg)}.deadline.soon{border-color:var(--accent);background:var(--warn-bg)}.deadline.done{background:var(--ok-bg);border-color:var(--ok)}.action-row{display:flex;gap:.6rem;align-items:flex-start;padding:.45rem 0;border-bottom:1px solid var(--border)}.action-row input[type=checkbox]{width:22px;height:22px;margin-top:.15rem}.action-row.done{opacity:.7}.new-action{border-top:1px solid var(--border);margin-top:.6rem;padding-top:.6rem}.dash-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:1000px){.dash-grid{grid-template-columns:1fr 1fr}}.dash-grid .card{margin:0}.dash-site{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;padding:.45rem 0;border-bottom:1px solid var(--border);color:inherit;text-decoration:none}.tile.tone-red{border-color:var(--danger);background:var(--danger-bg)}.tile.tone-orange{border-color:var(--accent);background:var(--warn-bg)}.plain-list{list-style:none;padding:0;margin:.5rem 0 0}.plain-list li{padding:.25rem 0;border-bottom:1px solid var(--border)}.traffic{font-size:1.5rem;line-height:1}.traffic.red{color:#d92d20}.traffic.orange{color:#f79009}.traffic.green{color:#12b76a}.bar-row{display:grid;grid-template-columns:minmax(90px,9rem) 1fr auto;gap:.6rem;align-items:center;padding:.3rem 0}.bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{height:10px;background:var(--surface-2);border-radius:999px;overflow:hidden}.bar-fill{display:block;height:100%;background:var(--brand);border-radius:999px}.bar-value{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}details.card summary{cursor:pointer;font-weight:600}@media(max-width:600px){.bar-row{grid-template-columns:1fr auto}.bar-track{grid-column:1 / -1;grid-row:2}}.show-mobile{display:none}@media(max-width:800px){.show-mobile{display:block}}.ba-card{display:block;color:inherit;text-decoration:none;border-left:5px solid var(--border)}.ba-card.status-active,.ba-card.status-scheduled{border-left-color:var(--ok)}.ba-card.status-awaiting_employee,.ba-card.status-awaiting_advisor{border-left-color:var(--accent)}.ba-card.status-expired,.ba-card.status-revoked{border-left-color:var(--danger)}.badge.rk-acceptable{background:#2e7d32;color:#fff}.badge.rk-attention{background:#f9a825;color:#1a1a1a}.badge.rk-measures{background:#ef6c00;color:#fff}.badge.rk-immediate{background:#c62828;color:#fff}.badge.rk-stop{background:#6d0f0f;color:#fff}.risk-card{display:grid;gap:.35rem}.risk-scores{display:flex;flex-wrap:wrap;gap:1rem}.risk-measures{margin:.1rem 0 .2rem 1.1rem;padding:0}.kinney{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end}.kinney label{display:grid;gap:.15rem}.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.2rem .8rem}.risk-situation{padding:.4rem 0;border-bottom:1px solid var(--border, #ddd)}.sticky-actions{position:sticky;bottom:0;background:var(--bg, #fff);padding:.6rem 0;gap:.5rem;justify-content:flex-end}.download{display:inline-flex;flex-direction:column;gap:.3rem;max-width:100%}.download .alert{margin:0}.risk-labels{display:flex;flex-wrap:wrap;gap:.3rem .5rem;align-items:center}.risk-watermark{font-weight:700;text-transform:uppercase;letter-spacing:.04em;text-align:center}.risk-jump-list{display:flex;flex-wrap:wrap;gap:.3rem}button.link.risk-edit-head{text-decoration:none;color:inherit;text-align:left}.risk-revision{border-left:3px solid var(--accent);background:var(--surface-2);padding:.35rem .6rem;border-radius:4px}.risk-revision .old{text-decoration:line-through;color:var(--muted)}.risk-revision .new{font-weight:600}textarea.invalid{border-color:var(--danger)}@media(max-width:360px){.ctx-name{display:none}.topbar-actions .small{padding-left:.45rem;padding-right:.45rem}}a.link{color:var(--link);font-weight:700;text-decoration:underline;text-underline-offset:2px}a.link:hover{text-decoration-thickness:2px}.choice-ok,.choice-damage{border-width:2px}.choice-ok.selected{border-color:var(--ok);background:var(--ok-bg);color:var(--ok);font-weight:700}.choice-damage.selected{border-color:var(--danger);background:var(--danger-bg);color:var(--danger);font-weight:700}fieldset.choice-list{border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .8rem;margin:0 0 .8rem}fieldset.choice-list legend{font-weight:600;padding:0 .3rem}fieldset.choice-list .check{margin:.25rem 0}.matrix th,.matrix td{white-space:nowrap;font-size:.85rem}.matrix .mx-name{position:sticky;left:0;background:var(--surface);white-space:normal;min-width:11rem}.mx-ok{background:var(--ok-bg);color:var(--ok)}.mx-soon{background:#ffe0b2;color:#7a4100}.mx-missing{background:var(--danger-bg);color:var(--danger)}.mx-na{background:var(--border);color:var(--muted, #777)}.matrix-legend{display:flex;flex-wrap:wrap;gap:.4rem;margin:.4rem 0 .8rem}.matrix-legend .mx{padding:.15rem .5rem;border-radius:999px}@media(prefers-color-scheme:dark){.mx-soon{background:#4a3210;color:#ffcf8a}}.matrix .mx-link{color:inherit;text-decoration:none;display:block}.matrix .mx-link:hover{text-decoration:underline}.matrix .mx-via{font-size:.72rem;opacity:.85}.matrix tfoot th{background:var(--surface);font-weight:600}.attest-focus>.card{outline:2px solid var(--accent)}.contact-line{margin:1rem 0 0;text-align:center}.app-footer{margin-top:2.5rem;border-top:1px solid var(--border);padding-top:.5rem}
