:root{--brand:#5894c8;--brand-dark:#3a72a8;--brand-deep:#23507c;--navy:#23507c;--navy-2:#3a72a8;--ink:#142030;--ink-2:#33415a;--muted:#66748a;--line:#e2e8f0;--line-2:#eef2f7;--bg:#f4f7fb;--card:#fff;--accent:#2f6aa3;--accent-soft:#e8f1fa;--accent-ring:rgba(47,106,163,.18);--ok:#157a52;--ok-soft:#e3f5ec;--warn:#9a5b00;--warn-soft:#fff3db;--bad:#b42318;--bad-soft:#fdebe9;--violet:#5b3aa8;--violet-soft:#efe9fb;--radius:14px;--radius-sm:10px;--shadow-sm:0 1px 2px rgba(16,32,56,.05);--shadow:0 1px 2px rgba(16,32,56,.04),0 6px 20px -8px rgba(16,32,56,.12);--shadow-lg:0 24px 60px -20px rgba(16,32,56,.35);--font:"Plus Jakarta Sans",Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 var(--font);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:2px}h1{font-size:1.55rem;line-height:1.2;margin:0 0 4px;letter-spacing:-.02em;font-weight:750}h2{font-size:1.04rem;margin:0 0 12px;letter-spacing:-.01em;font-weight:700}h3{font-size:.95rem;margin:0 0 8px}p{margin:0 0 10px}.muted{font-size:.88rem}.loading,.muted{color:var(--muted)}.loading{padding:70px;text-align:center}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}::selection{background:#cfe2f5}.top{position:-webkit-sticky;position:sticky;top:0;z-index:30;gap:14px;height:64px;padding:0 20px;background:var(--brand);box-shadow:0 1px 0 rgba(0,0,0,.06),0 6px 18px -10px rgba(20,60,100,.5)}.brand,.top{display:flex;align-items:center;color:#fff}.brand{gap:12px;text-decoration:none}.brand .logo-mark{height:40px;width:auto;display:block}.brand .logo-word{height:17px;width:auto;display:block;margin-bottom:4px}.brand .brand-text{display:flex;flex-direction:column;justify-content:center}.brand .brand-text small{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;opacity:.95;color:#fff}.who{margin-left:auto;display:flex;align-items:center;gap:12px;text-align:right;font-size:.88rem}.who small{display:block;font-size:.72rem;opacity:.8;line-height:1.1}.who .me-avatar{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.22);display:grid;place-items:center;font-weight:700;font-size:.8rem;border:1px solid rgba(255,255,255,.35)}.burger{display:none;background:none;border:0;color:#fff;padding:6px}.frame{display:flex;min-height:calc(100vh - 64px)}.side{width:236px;flex:none;padding:14px 10px 10px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:1px;position:-webkit-sticky;position:sticky;top:64px;height:calc(100vh - 64px);overflow-y:auto}.side .grp{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#93a0b4;padding:14px 12px 6px}.side .grp:first-child{padding-top:4px}.side a{display:flex;align-items:center;gap:11px;padding:8px 12px;border-radius:9px;color:var(--ink-2);text-decoration:none;font-weight:550;font-size:.9rem;position:relative}.side a svg{width:18px;height:18px;flex:none;color:#8a97ab}.side a:hover{background:var(--bg);color:var(--ink)}.side a.active{background:var(--accent-soft)}.side a.active,.side a.active svg{color:var(--accent)}.side a.active:before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.side .badge{margin-left:auto;background:var(--bad);color:#fff;font-size:.68rem;font-weight:700;border-radius:99px;padding:1px 7px}.dbtag{margin-top:auto;padding:12px;font-size:.72rem;color:var(--muted);border-top:1px solid var(--line-2)}main{flex:1 1;min-width:0;padding:26px 32px 70px;max-width:1240px}.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:20px}.pagehead p{margin:0}.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:18px;box-shadow:var(--shadow-sm)}.card.flush{padding:0;overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--line-2)}.card-head h2{margin:0}.grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stats{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:18px}.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.stat:after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--brand);opacity:.8}.stat b{display:block;font-size:1.75rem;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em}.stat span{color:var(--muted);font-size:.82rem}.shiftcard{display:flex;gap:24px;flex-wrap:wrap;align-items:center;background:linear-gradient(125deg,var(--brand-deep),var(--brand));color:#fff;border:0}.shiftcard .big{font-size:1.8rem;font-weight:750;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.shiftcard .muted{color:#e3eef8}label{display:block;font-size:.8rem;font-weight:650;color:var(--ink-2);margin-bottom:12px}input,select,textarea{display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid #cfd8e3;border-radius:var(--radius-sm);font:inherit;font-size:.93rem;color:var(--ink);background:#fff;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:#9aa6b8}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-ring)}input:disabled,select:disabled,textarea:disabled{background:#f6f8fb;color:var(--muted)}textarea{min-height:84px;resize:vertical}input[type=range]{padding:0;border:0;box-shadow:none;accent-color:var(--accent)}button{font:inherit;font-weight:650;font-size:.9rem;padding:10px 16px;border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;transition:filter .15s,transform .05s,box-shadow .15s;display:inline-flex;align-items:center;justify-content:center;gap:7px}button:hover{filter:brightness(1.07)}button:active{transform:translateY(1px)}button:focus-visible{outline:none;box-shadow:0 0 0 4px var(--accent-ring)}button:disabled{opacity:.45;cursor:not-allowed}button.secondary{background:#fff;color:var(--ink);border-color:#cfd8e3}button.secondary:hover{background:#f7f9fc;filter:none}button.danger{background:#fff;color:var(--bad);border-color:#f2c2bc}button.success{background:var(--ok);border-color:var(--ok)}button.ghost{background:transparent;border-color:rgba(255,255,255,.6);color:#fff;padding:6px 12px}button.ghost:hover{background:rgba(255,255,255,.14)}button.link{background:none;border:0;color:var(--accent);padding:0;font-weight:600}.small,button.small{padding:5px 10px;font-size:.8rem}.actions{gap:8px;flex-wrap:wrap}.actions,label.check{display:flex;align-items:center}label.check{gap:9px;font-weight:550;color:var(--ink)}label.check input{width:17px;height:17px;margin:0;accent-color:var(--accent);box-shadow:none}details summary::marker{color:var(--muted)}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.88rem}th{text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap;background:#fafbfd;position:-webkit-sticky;position:sticky;top:0}td{padding:11px 12px;border-bottom:1px solid var(--line-2);vertical-align:top}tbody tr:hover td{background:#fafcff}tr:last-child td{border-bottom:0}.pill{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:99px;font-size:.74rem;font-weight:650;white-space:nowrap;background:var(--warn-soft);color:var(--warn);line-height:1.6}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.pill.muted{background:#eef1f5;color:var(--muted)}.pill.info{background:var(--accent-soft);color:var(--accent)}.pill.violet{background:var(--violet-soft);color:var(--violet)}.pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.empty{padding:34px;text-align:center;color:var(--muted)}.msg{padding:11px 14px;border-radius:var(--radius-sm);margin-bottom:14px;background:var(--ok-soft);color:var(--ok);font-weight:550;border:1px solid rgba(21,122,82,.15)}.msg.error{background:var(--bad-soft);color:var(--bad);border-color:rgba(180,35,24,.15)}.msg.info{background:var(--accent-soft);color:var(--accent);border-color:rgba(47,106,163,.15)}.msg.warn{background:var(--warn-soft);color:var(--warn);border-color:rgba(154,91,0,.15)}.loginpage{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:24px 16px;background:radial-gradient(1200px 600px at 20% -10%,#7fb0dc 0,transparent 60%),var(--brand)}.loginpage .login-logo{width:190px;max-width:60vw;height:auto;display:block}.loginpage .login-foot{color:#fff;opacity:.9;font-size:.8rem}.loginbox{width:100%;max-width:400px;background:#fff;border-radius:18px;padding:32px;box-shadow:var(--shadow-lg)}.loginbox h1{color:var(--brand-deep)}.loginbox button{width:100%;padding:12px;margin-top:4px}.viewas{position:-webkit-sticky;position:sticky;top:64px;z-index:19;gap:12px;align-items:center;justify-content:center;padding:8px 16px;background:#fff4dc;color:#6b4500;border-bottom:1px solid #f0d9a8;font-size:.9rem}.profile-head,.viewas{display:flex;flex-wrap:wrap}.profile-head{gap:22px;align-items:flex-start}.avatar{width:112px;height:112px;border-radius:50%;overflow:hidden;flex:none;background:var(--accent-soft);color:var(--brand-deep);display:grid;place-items:center;font-size:2.2rem;font-weight:700;border:3px solid #fff;box-shadow:0 0 0 1px var(--line),var(--shadow)}.avatar img{width:100%;height:100%;object-fit:cover}.kvgrid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px 18px}.kvgrid span{display:block;font-size:.76rem;color:var(--muted)}.seg{display:inline-flex;border:1px solid #cfd8e3;border-radius:11px;overflow:hidden;background:#fff;padding:3px;gap:2px}.seg button{border:0;border-radius:8px;background:transparent;color:var(--ink-2);padding:7px 13px;font-weight:650;font-size:.85rem}.seg button:hover{background:var(--bg);filter:none}.seg button.on{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.reg td,.reg th{padding:4px 5px;text-align:center;font-size:.76rem;white-space:nowrap}.reg td:nth-child(2),.reg th:nth-child(2){text-align:left}.c-P,.c-P-M{background:#e3f5ec;color:#157a52;font-weight:700}.c-P-L{background:#fff3db;color:#9a5b00}.c-P-L,.c-P-OD{font-weight:700}.c-P-OD{background:#efe9fb;color:#5b3aa8}.c-AL,.c-HD,.c-SL{background:#e8f1fa;color:#23507c;font-weight:700}.c-AB,.c-MO,.c-UL{background:#fdebe9;color:#b42318;font-weight:700}.c-OD{background:#efe9fb;color:#5b3aa8;font-weight:700}.c-PR{background:#fff3db;color:#9a5b00}.c-WO{color:#9aa5b1}.live{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700;color:var(--brand-deep)}.punch{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-gap:18px;gap:18px;margin-bottom:18px}.punch-hero{background:linear-gradient(140deg,#1d4670,#2f6aa3 55%,#5894c8);color:#fff;border-radius:20px;padding:24px;position:relative;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:360px}.punch-hero:before{right:-90px;top:-90px;width:280px;height:280px;background:rgba(255,255,255,.07)}.punch-hero:after,.punch-hero:before{content:"";position:absolute;border-radius:50%}.punch-hero:after{right:40px;bottom:-120px;width:240px;height:240px;background:rgba(255,255,255,.05)}.punch-hero .hello{font-size:.9rem;opacity:.9}.punch-hero .clock{font-size:3.1rem;font-weight:750;letter-spacing:-.03em;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin:6px 0 2px}.punch-hero .clock small{font-size:1.1rem;opacity:.7;margin-left:4px}.punch-hero .date{opacity:.85;font-size:.92rem}.punch-hero .status{margin-top:18px;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);padding:6px 12px;border-radius:99px;font-size:.84rem;font-weight:600;align-self:flex-start;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.punch-hero .status .dot{width:8px;height:8px;border-radius:50%;background:#9ee6c3;box-shadow:0 0 0 4px rgba(158,230,195,.25)}.punch-hero .status.off .dot{background:#cfd8e3;box-shadow:none}.punch-hero .meta{margin-top:10px;font-size:.86rem;opacity:.9;z-index:1}.punch-btn-wrap{margin-top:auto;display:flex;align-items:center;gap:18px;padding-top:22px;z-index:1;flex-wrap:wrap}.punch-btn{width:132px;height:132px;border-radius:50%;border:0;flex-direction:column;gap:4px;font-size:1.02rem;font-weight:750;letter-spacing:.01em;background:#fff;color:#1d4670;box-shadow:0 0 0 10px rgba(255,255,255,.12),0 18px 40px -12px rgba(0,0,0,.45)}.punch-btn svg{width:30px;height:30px}.punch-btn.out{background:#ffefe9;color:#a8321d}.punch-btn:disabled{opacity:.6}.punch-btn:not(:disabled):hover{filter:none;transform:scale(1.03)}.punch-btn-wrap .hint{font-size:.85rem;opacity:.9;max-width:230px}.geo-panel{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-sm);overflow:hidden;display:flex;flex-direction:column}.geo-panel .geo-status{display:flex;align-items:center;gap:12px;padding:14px 16px;border-top:1px solid var(--line-2)}.geo-panel .geo-status .ico{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex:none}.geo-panel .geo-status .ico svg{width:20px;height:20px}.geo-status.in .ico{background:var(--ok-soft);color:var(--ok)}.geo-status.far .ico{background:var(--bad-soft);color:var(--bad)}.geo-status.wait .ico,.geo-status.weak .ico{background:var(--warn-soft);color:var(--warn)}.geo-status.none .ico{background:var(--accent-soft);color:var(--accent)}.geo-status b{display:block;font-size:.95rem}.geo-status span{color:var(--muted);font-size:.82rem}.geomap{position:relative;overflow:hidden;background:#e8eef4}.geomap img.tile{position:absolute;width:256px;height:256px;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;filter:saturate(.85)}.geomap .fence{position:absolute;border-radius:50%;border:2px solid var(--accent);background:rgba(47,106,163,.14);transform:translate(-50%,-50%)}.geomap .pin{position:absolute;transform:translate(-50%,-100%);width:26px;height:26px;color:var(--brand-deep);filter:drop-shadow(0 2px 2px rgba(0,0,0,.3))}.geomap .me{width:16px;height:16px;border-radius:50%;background:#1a73e8;border:3px solid #fff;box-shadow:0 0 0 6px rgba(26,115,232,.22),0 1px 4px rgba(0,0,0,.35)}.geomap .acc,.geomap .me{position:absolute;transform:translate(-50%,-50%)}.geomap .acc{border-radius:50%;background:rgba(26,115,232,.12);border:1px solid rgba(26,115,232,.35)}.geomap .attr{position:absolute;right:0;bottom:0;background:rgba(255,255,255,.8);font-size:10px;padding:1px 5px;color:#333}.geomap .scale{position:absolute;left:10px;bottom:8px;background:rgba(255,255,255,.88);border-radius:6px;padding:2px 7px;font-size:11px;font-weight:600;color:var(--ink-2)}.overlay{position:fixed;inset:0;z-index:60;background:rgba(12,24,40,.55);display:grid;place-items:center;padding:16px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade .15s ease-out}.modal{width:100%;max-width:520px;max-height:calc(100vh - 32px);overflow-y:auto;background:#fff;border-radius:20px;box-shadow:var(--shadow-lg);animation:rise .18s ease-out}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 6px}.modal-head h2{margin:0;font-size:1.12rem}.modal-body{padding:10px 20px 20px}.modal-foot{display:flex;gap:10px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--line-2);background:#fafbfd;position:-webkit-sticky;position:sticky;bottom:0}.x{background:none;border:0;color:var(--muted);padding:6px;font-size:1.3rem;line-height:1}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(12px) scale(.98)}}.camera{position:relative;border-radius:16px;overflow:hidden;background:#0f1a28;aspect-ratio:3/4;max-height:52vh;margin:0 auto;display:grid;place-items:center}.camera img,.camera video{width:100%;height:100%;object-fit:cover}.camera video{transform:scaleX(-1)}.camera .guide{position:absolute;inset:14% 18%;border:2px dashed rgba(255,255,255,.55);border-radius:50%/42%;pointer-events:none}.camera .cam-msg{color:#cfd8e3;padding:24px;text-align:center;font-size:.9rem}.callout{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:var(--warn-soft);color:#6b4500;font-size:.88rem;margin-bottom:14px}.callout.bad{background:var(--bad-soft);color:#7a1a11}.callout.info{background:var(--accent-soft);color:var(--brand-deep)}.callout svg{width:20px;height:20px;flex:none;margin-top:1px}.tl{list-style:none;margin:0;padding:0}.tl li{display:grid;grid-template-columns:54px 1fr auto;grid-gap:14px;gap:14px;align-items:center;padding:12px 20px;border-bottom:1px solid var(--line-2)}.tl li:last-child{border-bottom:0}.tl .day{text-align:center;line-height:1.1}.tl .day b{display:block;font-size:1.25rem;letter-spacing:-.02em}.tl .day span{font-size:.7rem;text-transform:uppercase;color:var(--muted);letter-spacing:.08em}.tl .times{font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tl .times .arrow{color:#a6b2c3;margin:0 6px}.tl .sub{font-size:.8rem;color:var(--muted);margin-top:2px}.tl .hrs{font-weight:750;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.tl .hrs span{display:block;font-size:.72rem;color:var(--muted);font-weight:500}.thumb{width:38px;height:38px;border-radius:10px;object-fit:cover;border:1px solid var(--line);cursor:pointer;background:var(--bg);display:inline-grid;place-items:center;color:var(--muted);font-size:.7rem;padding:0}.thumb:hover{box-shadow:0 0 0 3px var(--accent-ring);filter:none}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.toolbar input,.toolbar select{width:auto;margin:0}.sites{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}.site-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s}.site-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.site-card .body{padding:14px 16px;display:flex;flex-direction:column;gap:6px;flex:1 1}.site-card .body h3{margin:0;font-size:1rem}.site-card .foot{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-top:1px solid var(--line-2);background:#fafbfd}.add-card{border:2px dashed #c9d5e3;border-radius:var(--radius);display:grid;place-items:center;min-height:250px;color:var(--accent);font-weight:700;background:transparent;flex-direction:column;grid-gap:8px;gap:8px}.add-card:hover{background:var(--accent-soft);filter:none}.add-card svg{width:30px;height:30px}.pick{max-height:320px;overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius-sm)}.pick label{display:flex;align-items:center;gap:10px;padding:8px 12px;margin:0;border-bottom:1px solid var(--line-2);font-weight:550;color:var(--ink);cursor:pointer}.pick label:last-child{border-bottom:0}.pick label:hover{background:#fafcff}.pick input{width:17px;height:17px;margin:0;flex:none;accent-color:var(--accent)}.pick small{color:var(--muted);margin-left:auto;font-weight:500}.two{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media (max-width:960px){.punch,.two{grid-template-columns:1fr}}@media (max-width:820px){.burger{display:block}.who>span{display:none}.brand .logo-word{height:13px}.side{position:fixed;top:64px;left:0;bottom:0;z-index:25;height:auto;transform:translateX(-102%);transition:transform .2s;box-shadow:8px 0 30px rgba(0,0,0,.12)}.side.open{transform:none}main{padding:18px 16px 60px}h1{font-size:1.35rem}.punch-hero{min-height:0;border-radius:18px;padding:20px}.punch-hero .clock{font-size:2.6rem}.punch-btn{width:116px;height:116px}.card{padding:16px}.tl li{padding:12px 16px;grid-template-columns:46px 1fr auto}}.camera .cam-tip{position:absolute;left:0;right:0;bottom:10px;text-align:center;color:#fff;font-size:.78rem;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.7);pointer-events:none}.c-OD,.c-P-OA{background:#efe9fb;color:#5b3aa8;font-weight:700}.c-P-IN,.c-P-OUT{background:#e8f1fa;color:#23507c;font-weight:700}.optrow{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:4px 0 14px}.opt{text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:#fff;color:var(--ink);border:1.5px solid #cfd8e3;border-radius:12px;padding:10px 12px;font-weight:700;font-size:.88rem}.opt small{font-weight:500;color:var(--muted);font-size:.76rem}.opt.on{background:var(--accent-soft);color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.opt.on,.opt:hover{border-color:var(--accent)}.opt:hover{filter:none}.hero-actions{display:flex;flex-direction:column;gap:8px}.hero-actions .alt{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);color:#fff;font-size:.82rem;padding:7px 12px}.hero-actions .alt:hover{background:rgba(255,255,255,.22);filter:none}.done-badge{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:132px;height:132px;border-radius:50%;background:rgba(255,255,255,.16);border:2px dashed rgba(255,255,255,.5);font-weight:750;text-align:center;font-size:.9rem;gap:4px}.camera img{object-fit:contain;background:#0f1a28}