:root{--brand-ink: #012557;--brand-ink-2: #133a63;--brand-blue: #1565d8;--brand-blue-soft: #e8f1fd;--brand-accent: var(--brand-blue);--brand-accent-ink: #ffffff;--ok: #089012;--ok-soft: #e3f3e4;--brand-red: #d62839;--brand-yellow: #ffc20e;--warn: #8a5a00;--warn-soft: #fff6d6;--danger: var(--brand-red);--danger-soft: #fdeaec;--info: #1565d8;--info-soft: #e8f1fd;--violet: #5b4bb7;--violet-soft: #efedfb;--bg: #ffffff;--surface: #ffffff;--surface-2: #f5f8fc;--line: #dbe3ee;--text: #0f1b2d;--muted: #53627a;--radius: 20px;--radius-sm: 14px;--shadow: 0 0 0 1px var(--line), 0 4px 14px rgba(10, 37, 64, .06);--font: "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Fraunces", Georgia, serif;--tap: 64px;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:19px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--brand-accent);outline-offset:3px;border-radius:8px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app{min-height:100dvh;max-width:560px;margin:0 auto;display:flex;flex-direction:column;background:var(--bg);position:relative}.app.wide{max-width:1080px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:var(--brand-ink);color:#fff}.topbar h1{font-family:var(--font-display);font-weight:600;font-size:21px;margin:0;flex:1;line-height:1.15;letter-spacing:-.01em}.topbar .sub{display:block;font-family:var(--font);font-size:13px;opacity:.75;font-weight:400;letter-spacing:0}.icon-btn{width:48px;height:48px;border-radius:14px;border:0;display:grid;place-items:center;background:#ffffff1a;color:#fff}.icon-btn:active{transform:scale(.96)}.listen-btn{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 16px 0 12px;border-radius:999px;border:0;background:var(--brand-accent);color:var(--brand-accent-ink);font-weight:700;font-size:17px;box-shadow:0 2px #0000001f}.listen-btn .wave{display:inline-flex;gap:2px;align-items:center;height:18px}.listen-btn .wave i{width:3px;height:6px;background:currentColor;border-radius:2px}.listen-btn.speaking{background:#fff;color:var(--brand-blue);box-shadow:0 0 0 2px var(--brand-blue)}.listen-btn.speaking .wave i{animation:wave .9s ease-in-out infinite}.listen-btn.speaking .wave i:nth-child(2){animation-delay:.15s}.listen-btn.speaking .wave i:nth-child(3){animation-delay:.3s}@keyframes wave{0%,to{height:5px}50%{height:18px}}.caption{position:fixed;left:50%;transform:translate(-50%);bottom:calc(92px + env(safe-area-inset-bottom));z-index:40;width:min(528px,calc(100% - 24px));background:var(--brand-ink);color:#fff;border-radius:18px;padding:14px 16px;font-size:18px;line-height:1.4;box-shadow:0 10px 30px #00000040;display:flex;gap:12px;align-items:flex-start}.caption p{margin:0;flex:1}.caption button{background:#ffffff26;border:0;color:#fff;border-radius:10px;height:40px;min-width:40px}.statusbar{display:flex;gap:8px;align-items:center;padding:8px 16px;font-size:15px;background:var(--surface);border-bottom:1px solid var(--line)}.statusbar.offline{background:var(--warn-soft);color:#6b3d00}.dot{width:10px;height:10px;border-radius:50%;background:var(--ok);flex:none}.dot.off{background:var(--warn)}.dot.err{background:var(--danger)}main.page{flex:1;padding:16px 16px calc(110px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px}.bottomnav{position:fixed;bottom:0;left:50%;transform:translate(-50%);z-index:30;width:100%;max-width:560px;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--surface);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}.app.wide .bottomnav{max-width:1080px}.bottomnav button{border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:62px;border-radius:14px;font-size:13.5px;color:var(--muted);font-weight:700;position:relative}.bottomnav button[aria-current=page]{color:var(--brand-ink);background:var(--info-soft)}.badge{position:absolute;top:4px;right:calc(50% - 26px);background:var(--danger);color:#fff;border-radius:999px;font-size:12px;min-width:20px;height:20px;display:grid;place-items:center;padding:0 5px}.big{width:100%;min-height:var(--tap);border:0;border-radius:var(--radius);padding:14px 16px;display:flex;align-items:center;gap:14px;text-align:left;font-weight:700;font-size:20px;background:var(--surface);color:var(--text);box-shadow:var(--shadow);transition:transform .08s ease}.big:active{transform:scale(.985)}.big:disabled{opacity:.5;cursor:not-allowed}.big .ico{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;flex:none}.big .lbl{flex:1;display:flex;flex-direction:column;gap:2px}.big .lbl small{font-weight:400;font-size:15.5px;color:var(--muted)}.big.hero{min-height:96px;font-size:23px}.big.hero .ico{width:60px;height:60px;border-radius:18px}.big.primary{background:var(--ok);color:#fff}.big.primary .ico{background:#ffffff2e}.big.primary .lbl small{color:#ffffffd9}.big.accent{background:var(--brand-accent);color:var(--brand-accent-ink)}.big.accent .ico{background:#fff3}.big.accent .lbl small{color:#ffffffe0}.big.ink{background:var(--brand-ink);color:#fff}.big.ink .ico{background:#ffffff24}.big.ink .lbl small{color:#fffc}.big.danger{background:var(--danger);color:#fff}.big.danger .ico{background:#ffffff2e}.big.danger .lbl small{color:#ffffffe6}.ico.ok{background:var(--ok-soft);color:var(--ok)}.ico.warn{background:var(--warn-soft);color:var(--warn)}.ico.danger{background:var(--danger-soft);color:var(--danger)}.ico.info{background:var(--info-soft);color:var(--info)}.ico.violet{background:var(--violet-soft);color:var(--violet)}.ico.ink{background:#e6ecf3;color:var(--brand-ink)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tile{border:0;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);min-height:118px;padding:14px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;text-align:left;font-weight:700;font-size:18px;gap:10px}.tile .ico{width:48px;height:48px;border-radius:14px;display:grid;place-items:center}.tile[aria-pressed=true]{outline:3px solid var(--brand-ink)}.btn{min-height:52px;border-radius:14px;border:2px solid var(--line);background:var(--surface);padding:0 18px;font-weight:700;font-size:17px;display:inline-flex;align-items:center;gap:8px;justify-content:center}.btn.solid{background:var(--brand-ink);color:#fff;border-color:var(--brand-ink)}.btn.ok{background:var(--ok);color:#fff;border-color:var(--ok)}.btn.danger{color:var(--danger);border-color:#f1c4bb}.btn.small{min-height:44px;font-size:15.5px;padding:0 12px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.end{justify-content:flex-end}.stack{display:flex;flex-direction:column;gap:10px}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card h2,.section-title{margin:0 0 6px;font-size:15px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}.section-title{margin:8px 4px 0}.hello{font-family:var(--font-display);font-size:30px;line-height:1.12;margin:6px 4px 0;color:var(--brand-ink);letter-spacing:-.015em}.lead{margin:0 4px;color:var(--muted);font-size:18px}.current{background:linear-gradient(160deg,var(--brand-ink),var(--brand-ink-2));color:#fff;border-radius:24px;padding:18px;box-shadow:0 10px 30px #12304f40;position:relative;overflow:hidden}.current .tag{display:inline-flex;gap:6px;align-items:center;background:#ffffff24;padding:4px 10px;border-radius:999px;font-size:14px;font-weight:700}.current .title{font-family:var(--font-display);font-size:30px;line-height:1.1;margin:10px 0 6px}.current .timer{font-variant-numeric:tabular-nums;font-size:44px;font-weight:700;letter-spacing:-.02em}.current .meta{opacity:.8;font-size:16px}.current.paused{background:linear-gradient(160deg,#7a4a00,#a36400)}.current.available{background:linear-gradient(160deg,#056b0d,#089012)}.chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 10px;font-size:14px;font-weight:700;background:#eef0f3;color:var(--muted)}.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.warn{background:var(--warn-soft);color:#8a5300}.chip.danger{background:var(--danger-soft);color:var(--danger)}.chip.info{background:var(--info-soft);color:var(--info)}.chip.violet{background:var(--violet-soft);color:var(--violet)}.check{display:flex;align-items:center;gap:14px;min-height:60px;padding:10px 12px;border-radius:16px;border:2px solid var(--line);background:var(--surface);width:100%;text-align:left;font-size:18px}.check .box{width:34px;height:34px;border-radius:10px;border:3px solid #b9c0ca;display:grid;place-items:center;flex:none}.check[aria-checked=true]{border-color:var(--ok);background:var(--ok-soft)}.check[aria-checked=true] .box{background:var(--ok);border-color:var(--ok);color:#fff}.field{display:flex;flex-direction:column;gap:6px}.field label{font-weight:700;font-size:17px}.field input,.field select,.field textarea{min-height:56px;border-radius:14px;border:2px solid var(--line);background:var(--surface);padding:12px 14px;font-size:19px}.field textarea{min-height:96px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--brand-ink);outline:none}.hint{font-size:15px;color:var(--muted)}.list{display:flex;flex-direction:column;gap:10px}.item{display:flex;gap:12px;align-items:center;background:var(--surface);border-radius:16px;padding:12px 14px;box-shadow:var(--shadow)}.item .grow{flex:1;min-width:0}.item .t{font-weight:700}.item .s{font-size:15px;color:var(--muted)}.avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#fff;flex:none;font-size:18px}.timeline{position:relative;padding-left:18px;display:flex;flex-direction:column;gap:4px}.timeline:before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:3px;background:var(--line);border-radius:2px}.tl{position:relative;background:var(--surface);border-radius:14px;padding:10px 12px;box-shadow:var(--shadow);margin-bottom:6px}.tl:before{content:"";position:absolute;left:-17px;top:16px;width:13px;height:13px;border-radius:50%;background:var(--c, var(--info));border:3px solid var(--bg)}.tl .when{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.kpi{background:var(--surface);border-radius:18px;padding:14px;box-shadow:var(--shadow);border:0;text-align:left}.kpi .n{font-size:34px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;color:var(--brand-ink)}.kpi .l{font-size:15px;color:var(--muted);margin-top:6px}.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.person{background:var(--surface);border-radius:20px;padding:14px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px;border-top:6px solid var(--c, var(--line))}.person .act{font-family:var(--font-display);font-size:21px;line-height:1.15;color:var(--brand-ink)}.person .small{font-size:14.5px;color:var(--muted)}.stale{background:var(--warn-soft);color:#6b3d00;border-radius:10px;padding:6px 10px;font-size:14px}.rooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px}.room{border-radius:12px;padding:10px 6px;text-align:center;font-weight:700;font-size:15px;border:0;color:#fff;min-height:60px}.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}.thumb{position:relative;border-radius:14px;overflow:hidden;background:#e9ecf0;aspect-ratio:1;display:grid;place-items:center}.thumb img,.thumb video{width:100%;height:100%;object-fit:cover}.thumb .state{position:absolute;left:6px;bottom:6px}.thumb .rm{position:absolute;right:6px;top:6px;width:36px;height:36px;border-radius:10px;border:0;background:#0009;color:#fff;display:grid;place-items:center}.toast{position:fixed;top:calc(76px + env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:50;background:var(--ok);color:#fff;padding:14px 18px;border-radius:16px;font-weight:700;box-shadow:0 8px 24px #0003;display:flex;gap:10px;align-items:center;max-width:calc(100% - 32px);animation:pop .25s ease}.toast.err{background:var(--danger)}.toast.warn{background:var(--warn)}@keyframes pop{0%{opacity:0;transform:translate(-50%,-10px)}}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a142380;z-index:60;display:grid;align-items:end}.modal{background:var(--bg);border-radius:26px 26px 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom));max-width:560px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:12px;max-height:90dvh;overflow:auto}.modal h3{font-family:var(--font-display);font-size:25px;margin:0;color:var(--brand-ink)}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:#e9e6df;border-radius:14px;padding:4px;gap:4px}.seg button{border:0;background:none;border-radius:10px;min-height:46px;font-weight:700;font-size:15.5px;color:var(--muted)}.seg button[aria-pressed=true]{background:var(--surface);color:var(--brand-ink);box-shadow:var(--shadow)}.counter{display:flex;align-items:center;gap:8px}.counter button{width:44px;height:44px;border-radius:12px;border:2px solid var(--line);background:var(--surface);font-weight:700;font-size:22px}.counter span{min-width:28px;text-align:center;font-weight:700;font-size:20px}.empty{text-align:center;color:var(--muted);padding:26px 10px}.empty .ico{margin:0 auto 10px;width:64px;height:64px;border-radius:20px;display:grid;place-items:center}.welcome-hero{background:#fff;color:var(--brand-ink);border-bottom:1px solid var(--line);border-radius:0 0 32px 32px;padding:calc(28px + env(safe-area-inset-top)) 22px 30px;position:relative;overflow:hidden}.welcome-hero h1{font-family:var(--font-display);font-size:36px;line-height:1.05;margin:14px 0 10px;letter-spacing:-.02em}.welcome-hero p{font-size:19px;color:var(--muted);margin:0}.logo{display:block;max-width:60%}.demo-banner{background:var(--violet-soft);color:var(--violet);font-size:14.5px;padding:8px 14px;text-align:center;font-weight:700}@media (min-width: 900px){.app.wide main.page{padding-left:28px;padding-right:28px}.app.wide .people{grid-template-columns:repeat(3,1fr)}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.ico.warn{box-shadow:inset 0 0 0 2px var(--brand-yellow)}.topbar{box-shadow:inset 0 -3px 0 var(--brand-blue)}.lead{font-size:19px;margin:4px 0;color:var(--text)}.question{font-family:var(--font-display);font-size:26px;line-height:1.15;color:var(--brand-ink);margin:6px 0 4px}.field .input-xl,.input-xl{min-height:60px;font-size:21px!important}.otp,.field .otp{width:100%;min-height:72px;font-size:36px;letter-spacing:.45em;text-align:center;font-weight:700;border:2px solid var(--brand-blue);border-radius:var(--radius-sm);background:var(--brand-blue-soft);color:var(--brand-ink);padding:0 0 0 .45em;font-variant-numeric:tabular-nums}.otp:focus,.field .otp:focus{outline:3px solid var(--brand-blue);outline-offset:2px;background:#fff}.otp::placeholder{color:#9fb6d6}.steps{display:flex;align-items:center;gap:6px;margin:2px 0 4px}.steps span{height:8px;flex:1;max-width:64px;border-radius:99px;background:var(--line)}.steps span.on{background:var(--brand-blue)}.steps small{margin-left:8px;color:var(--muted);font-size:15px;font-weight:700}.problem{display:flex;flex-direction:column;gap:10px;align-items:flex-start;background:var(--danger-soft);color:#7a1320;border-left:5px solid var(--brand-red);padding:14px 16px;border-radius:var(--radius-sm);font-size:17.5px;font-weight:700}.divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:15px;margin:4px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.linkish{border:0;background:none;color:var(--brand-blue);font-weight:700;font-size:16px;padding:10px 0;text-align:left;min-height:44px}.rules{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.rules li{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:16.5px}.rules li svg{color:var(--line)}.rules li.ok{color:var(--ok);font-weight:700}.rules li.ok svg{color:var(--ok)}.check a{color:var(--brand-blue);font-weight:700}.update-banner{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:10px;background:var(--brand-blue-soft);color:var(--brand-ink);padding:8px 12px;font-weight:700;border-bottom:2px solid var(--brand-blue)}.update-banner span{flex:1}.name-fields{display:flex;flex-direction:column;gap:12px}.when-summary{display:flex;align-items:center;gap:8px;margin:0;padding:12px 14px;border-radius:var(--radius-sm);background:var(--ok-soft);color:var(--brand-ink);font-weight:700;font-size:18px}.when-summary svg{color:var(--ok);flex:none}.draft{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2)}.draft .num,.who-title .num{width:30px;height:30px;border-radius:50%;background:var(--brand-ink);color:#fff;display:grid;place-items:center;font-weight:700;font-size:15px;flex:none}.draft-title{flex:1;min-width:0;min-height:48px;border:2px solid var(--line);border-radius:12px;padding:0 12px;font-size:18px;font-weight:700;background:#fff}.icon-btn.light{background:#fff;color:var(--danger);border:2px solid var(--line)}.time-input{min-height:44px;border:2px solid var(--brand-blue);border-radius:10px;padding:0 8px;font-size:18px;font-weight:700}.empty-line{margin:0;color:var(--muted)}.who-block{display:flex;flex-direction:column;gap:8px;padding:12px 0;border-top:1px solid var(--line)}.who-title{display:flex;align-items:center;gap:8px;font-weight:700;font-size:18px}.pick-row{display:flex;flex-wrap:wrap;gap:8px}.pick{min-height:48px;border-radius:999px;border:2px solid var(--line);background:#fff;padding:0 16px;font-weight:700;font-size:16px;display:inline-flex;align-items:center;gap:6px}.pick small{font-weight:400;color:var(--muted)}.pick[aria-pressed=true]{background:var(--ok);border-color:var(--ok);color:#fff}.pick[aria-pressed=true] small{color:#ffffffd9}.pick.add{border-style:dashed;color:var(--brand-blue);border-color:var(--brand-blue)}.wiz-q{font-size:26px;line-height:1.2;margin:2px 0 6px;color:var(--brand-ink)}.num-badge{width:32px;height:32px;border-radius:50%;background:var(--brand-ink);color:#fff;display:grid;place-items:center;font-weight:700;font-size:15px;flex:none}.back-step{align-self:center;margin-top:4px}.weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.weekdays button{min-height:52px;border-radius:12px;border:2px solid var(--line);background:#fff;font-weight:700;font-size:15px;text-transform:capitalize;padding:0}.weekdays button[aria-pressed=true]{background:var(--ok);border-color:var(--ok);color:#fff}.month{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.month .dow{text-align:center;font-size:13px;color:var(--muted);font-weight:700;text-transform:capitalize;padding:4px 0}.month .day{aspect-ratio:1 / 1;min-height:42px;border-radius:12px;border:2px solid transparent;background:var(--surface-2);font-weight:700;font-size:17px;padding:0;color:var(--text)}.month .day.today{border-color:var(--brand-blue)}.month .day.out{visibility:hidden}.month .day:disabled{opacity:.35}.month .day[aria-pressed=true]{background:var(--ok);color:#fff}.review{display:flex;flex-direction:column;gap:10px}.review .rv{display:grid;grid-template-columns:92px 1fr;gap:10px;align-items:baseline}.review .rv span{color:var(--muted);font-weight:700;font-size:15px}.review .rv b{font-size:17px;overflow-wrap:anywhere}.weekstrip{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.weekstrip button{border:2px solid transparent;background:var(--surface-2);border-radius:14px;padding:6px 0;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:76px}.weekstrip button small{font-size:12.5px;color:var(--muted);font-weight:700;text-transform:capitalize}.weekstrip button b{font-size:19px}.weekstrip button.today{border-color:var(--brand-blue)}.weekstrip button[aria-selected=true]{background:var(--brand-ink);color:#fff}.weekstrip button[aria-selected=true] small{color:#fffc}.weekstrip .cnt{font-size:13px;font-weight:700;min-width:22px;height:22px;border-radius:99px;display:grid;place-items:center;color:var(--muted)}.weekstrip .cnt.on{background:var(--ok);color:#fff}.time-col{width:52px;flex:none;font-weight:700;font-size:16px;color:var(--brand-ink)}ul.plain{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.now-line{margin:0;font-size:17px;color:var(--text)}button.person{border:0;border-top:6px solid var(--c, var(--line));font:inherit;color:inherit;width:100%;cursor:pointer}.nav-ico{position:relative;display:inline-flex}.nav-ico .badge{position:absolute;top:-6px;right:-12px;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:var(--danger);color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center;border:2px solid #fff}.done-banner{display:flex;align-items:center;gap:10px;background:#e3f4e5;color:#0b5d13;border:2px solid #089012}.done-banner svg{flex:none;color:#089012}.prog-group{display:flex;flex-direction:column;gap:8px}.prog-who{margin:6px 2px 0;font-size:19px;color:var(--ink, #012557)}.prog-who small{font-weight:400;color:#5b6474;font-size:15px}.wa-preview{background:#e7ffdb;color:#111b21;border-radius:12px;padding:12px 14px;font-size:15px;line-height:1.45;max-height:320px;overflow:auto;box-shadow:0 1px 1px #00000014}.sr-text{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.cam{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0b1320;color:#fff;display:flex;flex-direction:column;padding:calc(10px + env(safe-area-inset-top)) 14px calc(14px + env(safe-area-inset-bottom));gap:10px}.cam-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:19px}.cam-top .icon-btn{color:#fff;background:#ffffff1f}.cam-hint{margin:0;color:#d6deea;font-size:16px}.cam-view{flex:1;min-height:0;border-radius:16px;overflow:hidden;background:#000;display:grid;place-items:center}.cam-view video,.cam-view img{width:100%;height:100%;object-fit:contain}.cam-fallback{display:flex;flex-direction:column;align-items:center;gap:10px;color:#fff;font-size:19px;font-weight:700;padding:30px;border:2px dashed rgba(255,255,255,.4);border-radius:16px;cursor:pointer}.cam-fallback input{position:absolute;width:1px;height:1px;opacity:0}.cam-geo{margin:0;display:flex;gap:6px;align-items:center;font-size:15px;color:#d6deea}.cam-geo.ok{color:#7fd48a}.cam-geo.off{color:#ffc20e}.cam-actions{display:flex;gap:10px}.cam-actions .btn{min-height:58px}.cam-actions .big-shot{flex:1;font-size:19px}.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.kpi{background:#fff;border:2px solid var(--line);border-radius:16px;padding:12px 8px;text-align:center;display:flex;flex-direction:column;gap:4px}.kpi b{font-size:30px;color:var(--ink, #012557);line-height:1}.kpi b small{font-size:16px;color:#5b6474}.kpi span{font-size:13px;color:#5b6474}.kpi.bad{border-color:var(--danger)}.kpi.bad b{color:var(--danger)}.note{display:flex;gap:8px;align-items:center;padding:10px 12px;border-radius:12px;margin:0}.note.warn{background:var(--danger-soft);color:#8a1220}.ph-big{border:0;padding:0;background:none;border-radius:12px;overflow:hidden}.ph-big img{width:100%;max-height:320px;object-fit:cover;display:block}.chk-worker{align-items:center}.avatar-ph{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:none;background:#e8edf4;display:grid;place-items:center;color:#5b6474}.thumbs{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.thumbs button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:3px;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:12px}.thumbs img{width:54px;height:54px;object-fit:cover;border-radius:8px}.thumbs .chip{font-size:11px;padding:1px 6px}.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.photo-pair figure,.modal figure{margin:0;text-align:center}.modal figure img{width:100%;border-radius:12px;max-height:50vh;object-fit:cover}.photo-pair figcaption,.modal figcaption{font-size:14px;color:#5b6474}.switch-row{display:flex;gap:10px;align-items:flex-start;font-size:17px}.switch-row input{width:24px;height:24px;flex:none;margin-top:2px}.cam-hint{display:flex;gap:10px;align-items:center}.cam-ref{width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid #fff;flex:none}.roll-face{width:180px;height:180px;border-radius:50%;object-fit:cover;margin:0 auto;display:block;border:4px solid var(--line);background:#e8edf4}.roll-face.none{display:grid;place-items:center;color:#5b6474}.roll-name{text-align:center;font-size:26px;margin:6px 0 0;color:var(--ink, #012557)}.review button.rv{width:100%;background:none;border:0;text-align:left;font:inherit;color:inherit;cursor:pointer}
