:root{--bg-1:#fff8ee;--bg-2:#ffe9d2;--bg-aurora-a:#ffd6b0;--bg-aurora-b:#ffe1c4;--bg-aurora-c:#fff5e6;--card:#fff;--card-soft:#fffaf3;--card-translucent:#ffffffb8;--primary:#f97316;--primary-2:#fb8a3a;--primary-dark:#c2410c;--primary-ink:#7c2d12;--primary-glow:#f9731673;--green:#16a34a;--green-soft:#22c55e;--green-tint:#dcfce7;--green-ink:#14532d;--green-glow:#16a34a66;--amber:#f59e0b;--amber-soft:#fbbf24;--amber-tint:#fef3c7;--amber-ink:#78350f;--amber-glow:#f59e0b66;--red:#dc2626;--red-soft:#ef4444;--red-tint:#fee2e2;--red-ink:#7f1d1d;--red-glow:#dc262659;--text:#1f2937;--text-2:#374151;--muted:#6b7280;--muted-2:#9ca3af;--line:#11182714;--line-2:#1118270a;--radius:24px;--radius-lg:28px;--radius-md:18px;--radius-sm:12px;--radius-pill:999px;--shadow-1:0 1px 2px #7c2d120f, 0 6px 18px #7c2d1214;--shadow-2:0 2px 6px #7c2d1214, 0 18px 40px #7c2d121f;--shadow-pop:0 10px 24px #f9731640, 0 2px 6px #7c2d121f;--shadow-glow-primary:0 0 0 1px #f973161a, 0 12px 32px #f973164d, 0 2px 4px #7c2d121a;--shadow-glow-green:0 0 0 1px #16a34a1a, 0 12px 32px #16a34a40, 0 2px 4px #14532d1a;--shadow-glass:0 1px 0 #ffffffa6 inset, 0 12px 32px #7c2d121f, 0 2px 4px #7c2d120d;--ease-out:cubic-bezier(.2, .9, .25, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-snap:cubic-bezier(.5, 1.6, .5, 1);--dur-fast:.14s;--dur-mid:.22s;--dur-slow:.36s;--avatar-grad-1:linear-gradient(135deg, #fde68a 0%, #fb923c 100%);--avatar-grad-2:linear-gradient(135deg, #fda4af 0%, #f97316 100%);--avatar-grad-3:linear-gradient(135deg, #c4b5fd 0%, #818cf8 100%);--avatar-grad-4:linear-gradient(135deg, #6ee7b7 0%, #10b981 100%);--avatar-grad-5:linear-gradient(135deg, #93c5fd 0%, #6366f1 100%);--avatar-grad-6:linear-gradient(135deg, #fbcfe8 0%, #ec4899 100%);--avatar-grad-7:linear-gradient(135deg, #fef08a 0%, #eab308 100%);--avatar-grad-8:linear-gradient(135deg, #a5f3fc 0%, #06b6d4 100%);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;--hero-grad:linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%);--points-grad:radial-gradient(110% 130% at 50% 0%, #fff3d6 0%, transparent 60%), linear-gradient(180deg, #fffaf3 0%, #ffe9c4 100%);font-family:SF Pro Rounded,ui-rounded,Hiragino Maru Gothic ProN,Quicksand,Comfortaa,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.aurora{z-index:-1;pointer-events:none;contain:strict;position:fixed;inset:0;overflow:hidden}.aurora:before,.aurora:after,.aurora>span{content:"";filter:blur(80px);opacity:.7;will-change:transform;border-radius:50%;position:absolute}.aurora:before{background:var(--bg-aurora-a);width:720px;height:720px;animation:22s ease-in-out infinite alternate orb-drift-a;top:-240px;left:-120px}.aurora:after{background:var(--bg-aurora-b);width:620px;height:620px;animation:28s ease-in-out infinite alternate orb-drift-b;top:-180px;right:-160px}.aurora>span{background:var(--bg-aurora-c);width:820px;height:820px;animation:32s ease-in-out infinite alternate orb-drift-c;bottom:-320px;left:20%}@keyframes orb-drift-a{0%{transform:translate(0,0)scale(1)}to{transform:translate(80px,40px)scale(1.08)}}@keyframes orb-drift-b{0%{transform:translate(0,0)scale(1)}to{transform:translate(-60px,50px)scale(.94)}}@keyframes orb-drift-c{0%{transform:translate(0,0)scale(1)}to{transform:translate(40px,-40px)scale(1.06)}}*{box-sizing:border-box}html,body,#root{background:var(--bg-1);height:100%;margin:0}body{background:radial-gradient(1400px 700px at 50% -10%, #fff0dc8c 0%, transparent 60%), linear-gradient(180deg, var(--bg-1) 0%, var(--bg-2) 100%);background-attachment:fixed;min-height:100%}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--dur-fast) var(--ease-spring), box-shadow var(--dur-mid) ease, background var(--dur-mid) ease, color var(--dur-mid) ease, border-color var(--dur-mid) ease, opacity var(--dur-mid) ease, filter var(--dur-mid) ease;border:0}input,select,textarea{font:inherit;border-radius:var(--radius-sm);width:100%;color:var(--text);background:#fff;border:1px solid #d1d5db;padding:12px 14px;transition:border-color .18s,box-shadow .18s}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 4px #f973162e}label{margin:14px 0 6px;font-weight:600;display:block}h1{letter-spacing:-.01em;color:var(--text);margin:0 0 18px;font-size:2.2rem;font-weight:800}h2{letter-spacing:-.01em;color:var(--text-2);margin:0 0 12px;font-size:1.25rem;font-weight:700}.kiosk{height:100%;padding:28px;padding-bottom:max(28px, env(safe-area-inset-bottom));padding-top:max(28px, env(safe-area-inset-top));-webkit-user-select:none;user-select:none;flex-direction:column;display:flex;overflow:hidden}.kiosk.center{place-items:center;display:grid}.kiosk h1{margin:0 0 18px;font-size:2.6rem}.card{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);border:1px solid var(--line-2);padding:22px}.empty-state{text-align:center;background:linear-gradient(180deg, #ffffffeb 0%, var(--card-soft) 100%);max-width:480px;margin:0 auto;padding:36px 28px}.empty-state .illus{margin-bottom:4px;font-size:4.4rem;display:inline-block}.empty-state h2{letter-spacing:-.02em;margin:6px 0 4px;font-size:1.4rem}.empty-state p{color:var(--muted);margin:0}.card.big{text-align:center;max-width:620px;box-shadow:var(--shadow-2);border-radius:32px;padding:48px 44px}.kiosk-head{flex-direction:column;flex-shrink:0;gap:4px;margin-bottom:22px;display:flex}.kiosk-head h1{letter-spacing:-.03em;background:linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 60%, #fb923c 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(1.9rem,1.4rem + 1.4vw,2.8rem);font-weight:800}.kiosk-sub{color:var(--muted);margin:0;font-size:1rem;font-weight:500}.emoji{font-size:4.4rem;line-height:1.1}.btn{min-height:52px;color:var(--text);letter-spacing:-.005em;background:#f1f5f9;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:14px 26px;font-size:1.15rem;font-weight:700;display:inline-flex;box-shadow:inset 0 1px #fff9,0 1px 2px #1118270f}.btn:hover{background:#e2e8f0}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:none;box-shadow:0 0 0 4px #f9731647}.btn.primary{background:linear-gradient(180deg, var(--primary-2) 0%, var(--primary) 100%);color:#fff;box-shadow:var(--shadow-pop)}.btn.primary:hover{filter:brightness(1.03)}.btn.green{background:linear-gradient(180deg, var(--green-soft) 0%, var(--green) 100%);color:#fff;box-shadow:0 6px 16px #16a34a47}.btn.red{background:linear-gradient(180deg, var(--red-soft) 0%, var(--red) 100%);color:#fff;box-shadow:0 6px 16px #dc262647}.btn.small{border-radius:999px;min-height:40px;padding:8px 16px;font-size:.98rem}.btn:disabled{opacity:.55;cursor:default;filter:saturate(.7);box-shadow:none;transform:none}.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px;display:grid}.profile{text-align:center;cursor:pointer;border:1px solid var(--line);isolation:isolate;transition:transform var(--dur-mid) var(--ease-spring), box-shadow var(--dur-mid) ease, border-color var(--dur-mid) ease;background:linear-gradient(#fff 0%,#fffaf3 100%);flex-direction:column;align-items:center;gap:8px;padding:28px 22px 22px;font-size:1.45rem;font-weight:700;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffe6,0 2px 4px #7c2d120a,0 8px 22px #7c2d1214}.profile:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;opacity:.5;transition:opacity var(--dur-mid) ease;background:linear-gradient(#f9731673,#f9731600);padding:1px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.profile:after{content:"";pointer-events:none;z-index:-1;background:linear-gradient(#ffffff8c 0%,#0000 80%);border-radius:0 0 50% 50%;height:56%;position:absolute;top:0;left:12%;right:12%}.profile:hover{box-shadow:var(--shadow-2);border-color:#f9731666;transform:translateY(-3px)}.profile:hover:before{opacity:1}.profile:active{transform:translateY(0)scale(.985)}.profile:focus-visible{box-shadow:0 0 0 4px #f9731647, var(--shadow-1);outline:none}.profile img,.profile .avatar,.dash-header img,.dash-header .avatar{object-fit:cover;width:168px;height:168px;color:var(--primary-ink);background:radial-gradient(circle at 30% 25%,#ffe9d0 0%,#fed7aa 60%,#fdba74 100%);border-radius:50%;place-items:center;margin:0 auto 12px;font-size:3.4rem;font-weight:800;display:grid;position:relative;box-shadow:inset 0 0 0 6px #ffffffd9,0 8px 24px #7c2d122e}.dash-header img,.dash-header .avatar{width:104px;height:104px;margin:0;font-size:2.4rem}.profile.is-out:before{background:linear-gradient(#f59e0b80,#f59e0b00)}.profile.is-out .avatar,.dash-header.is-out .avatar{box-shadow:inset 0 0 0 6px #ffffffd9, 0 0 0 4px var(--amber-tint), 0 8px 24px #f59e0b40}.profile.is-home:before{background:linear-gradient(#16a34a73,#16a34a00)}.profile.is-home .avatar,.dash-header.is-home .avatar{box-shadow:inset 0 0 0 6px #ffffffd9, 0 0 0 4px var(--green-tint), 0 8px 24px #16a34a40}.profile .name{letter-spacing:-.01em;color:var(--text);font-size:1.45rem;font-weight:800}.profile .presence{color:var(--muted);font-size:.95rem;font-weight:600}.profile .balance{border-radius:var(--radius-pill);color:var(--primary-ink);font-variant-numeric:tabular-nums;background:linear-gradient(#fff7e0 0%,#ffe9c4 100%);border:1px solid #f9731638;align-items:center;gap:6px;margin-top:2px;padding:4px 12px;font-size:.95rem;font-weight:700;display:inline-flex;box-shadow:inset 0 0 0 1px #fff9,0 2px 6px #f973161f}.profile .balance:before{content:"★";color:var(--amber);font-size:1em}.badge{border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;margin-top:8px;padding:5px 12px;font-size:.9rem;font-weight:600;display:inline-flex}.badge.home{background:var(--green-tint);color:var(--green-ink);border-color:#16a34a2e}.badge.out{background:var(--amber-tint);color:var(--amber-ink);border-color:#f59e0b38}.padlock{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));-webkit-backdrop-filter:saturate(140%)blur(10px);width:52px;height:52px;box-shadow:var(--shadow-1);border:1px solid var(--line-2);opacity:.85;background:#ffffffd9;border-radius:999px;place-items:center;font-size:1.4rem;text-decoration:none;transition:transform .18s,box-shadow .18s,opacity .18s;display:grid;position:fixed}.padlock:hover{opacity:1;transform:translateY(-1px)}.padlock:active{transform:translateY(0)scale(.96)}.install-cta{left:max(16px, env(safe-area-inset-left));bottom:max(16px, env(safe-area-inset-bottom));background:linear-gradient(180deg, var(--primary-2) 0%, var(--primary) 100%);color:#fff;box-shadow:var(--shadow-pop);position:fixed}.install-cta:hover{filter:brightness(1.04);transform:translateY(-1px)}.install-cta:active{transform:translateY(0)scale(.98)}.install-hint{left:max(16px, env(safe-area-inset-left));bottom:max(16px, env(safe-area-inset-bottom));right:calc(60px + env(safe-area-inset-right));-webkit-backdrop-filter:saturate(140%)blur(10px);border-radius:var(--radius-md);box-shadow:var(--shadow-2);border:1px solid var(--line-2);background:#ffffffeb;max-width:380px;margin:0;padding:12px 16px;font-size:.95rem;position:fixed}.orientation-hint{top:max(env(safe-area-inset-top), 12px);right:max(env(safe-area-inset-right), 12px);color:#fff;border-radius:var(--radius-pill);letter-spacing:-.005em;opacity:0;pointer-events:none;animation:orientation-in var(--dur-mid) var(--ease-out) forwards, orientation-loop 4.5s ease-in-out infinite .3s;z-index:5;background:#1f2937f0;align-items:center;gap:6px;max-width:calc(100% - 32px);padding:6px 12px;font-size:.78rem;font-weight:600;display:inline-flex;position:absolute;box-shadow:0 6px 18px #11182738}@keyframes orientation-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes orientation-loop{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.dash-header{-webkit-backdrop-filter:saturate(160%)blur(14px);border-radius:var(--radius-lg);box-shadow:var(--shadow-1), inset 0 1px 0 #ffffffd9;background:linear-gradient(135deg,#ffffffd9 0%,#fffaf3a6 100%);border:1px solid #fff9;flex-shrink:0;align-items:center;gap:22px;margin-bottom:22px;padding:18px 22px;display:flex}.dash-header h1{letter-spacing:-.02em;flex:1;min-width:0;margin:0;font-size:clamp(1.6rem,1.2rem + 1vw,2.2rem);font-weight:800}.points{border-radius:var(--radius-pill);letter-spacing:-.02em;color:var(--primary-ink);transition:transform var(--dur-mid) var(--ease-spring), filter var(--dur-mid) ease, box-shadow var(--dur-mid) ease;background:radial-gradient(120% 140% at 50% 0,#fff3d6 0%,#0000 60%),linear-gradient(#fffaf3 0%,#ffe9c4 100%);border:1px solid #f973164d;align-items:baseline;gap:8px;margin-left:auto;padding:12px 22px;font-size:2rem;font-weight:800;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffffbf,inset 0 1px #ffffffd9,0 6px 16px #f9731638}.points:before{content:"★";color:var(--amber);text-shadow:0 1px #ffffffd9;align-self:center;margin-right:4px;font-size:1.2em}.points>span{font-variant-numeric:tabular-nums}.task-list-heading{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);justify-content:space-between;align-items:center;margin:0 12px 14px 4px;font-size:.95rem;font-weight:700;display:flex}.task-list-heading:after{content:"";background:linear-gradient(90deg, var(--line) 0%, transparent 100%);flex:1;height:1px;margin-left:14px}.task-list{scrollbar-width:thin;scrollbar-color:#f97316a6 transparent;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;margin-right:-12px;padding:4px 12px 28px 0;overflow-y:auto}.task-list::-webkit-scrollbar{width:10px}.task-list::-webkit-scrollbar-thumb{background:#f973168c;border-radius:5px}.task-list::-webkit-scrollbar-track{background:0 0}.task{border:1px solid var(--line);border-radius:var(--radius-md);text-align:left;cursor:pointer;width:100%;color:var(--text);transition:transform var(--dur-fast) var(--ease-spring), box-shadow var(--dur-mid) ease, opacity var(--dur-mid) ease, border-color var(--dur-mid) ease, background var(--dur-mid) ease;background:linear-gradient(#fff 0%,#fffaf3 100%);grid-template:"icon title pts""icon action action"/68px 1fr auto;align-items:center;gap:6px 18px;margin-bottom:14px;padding:22px 24px;font-family:inherit;font-size:1.35rem;font-weight:600;display:grid;box-shadow:inset 0 1px #ffffffe6,0 2px 4px #7c2d120a,0 8px 20px #7c2d1214}.task:hover{border-color:#f9731666;transform:translateY(-1px);box-shadow:inset 0 1px #ffffffe6,0 2px 6px #7c2d120f,0 14px 28px #7c2d1224}.task:active{transform:translateY(0)scale(.99)}.task:focus-visible{box-shadow:0 0 0 4px #f9731647, var(--shadow-1);outline:none}.task .check{background:radial-gradient(120% 120% at 30% 20%,#fff 0%,#fff7e666 70%);border:1.5px solid #f9731638;border-radius:50%;grid-area:icon;place-items:center;width:68px;height:68px;font-size:2rem;line-height:1;display:grid;box-shadow:inset 0 0 0 4px #ffffffa6,0 4px 10px #7c2d121a}.task .title{word-break:break-word;min-width:0;color:var(--text);flex:1;grid-area:title;font-weight:700}.task .pts{color:var(--primary-dark);white-space:nowrap;border-radius:var(--radius-pill);font-variant-numeric:tabular-nums;background:#f973161a;grid-area:pts;align-self:start;padding:6px 12px;font-size:1.15rem;font-weight:800}.task .action{letter-spacing:-.005em;grid-area:action;min-height:50px;margin-top:4px;font-size:1.05rem;font-weight:700;box-shadow:0 8px 20px #16a34a4d}.task.done{cursor:default;background:linear-gradient(#ecfdf5 0%,#d1fae5 100%);border-color:#16a34a4d;box-shadow:inset 0 1px #fff9,0 4px 10px #16a34a1a}.task.done:hover{transform:none}.task.done .title{color:var(--green-ink);-webkit-text-decoration:line-through #14532d80;text-decoration:line-through #14532d80;text-decoration-thickness:2px}.task.done .check{background:radial-gradient(120% 120% at 30% 20%, #fff 0%, var(--green-tint) 70%);border-color:#16a34a59;box-shadow:inset 0 0 0 4px #ffffffa6,0 4px 10px #16a34a29}.task.done .pts{color:var(--green-ink);background:#16a34a2e}.task.done .static{pointer-events:none;cursor:default;opacity:1}.dash-footer{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;gap:14px;margin-top:22px;display:flex}.dash-footer .btn.primary{min-width:220px}.dialog-backdrop{z-index:50;background:radial-gradient(1200px 600px at 50% 0,#1118278c,#111827b3);place-items:center;padding:24px;animation:.18s backdrop-in;display:grid;position:fixed;inset:0}.dialog{background:linear-gradient(180deg, #fff 0%, var(--card-soft) 100%);width:min(720px,100%);box-shadow:var(--shadow-2);border:1px solid var(--line-2);border-radius:32px;padding:28px 28px 24px;animation:.22s cubic-bezier(.2,.9,.25,1.15) dialog-pop}.dialog h1{margin:0 0 8px;font-size:1.85rem}.transcript{min-height:3rem;color:var(--text);border-radius:var(--radius-md);background:#f9731614;border:1px dashed #f9731659;margin:16px 0;padding:14px 18px;font-size:1.6rem;font-weight:600}.listening{color:var(--red);align-items:center;gap:10px;animation:1.4s ease-in-out infinite pulse;display:inline-flex}.listening:before{content:"";background:radial-gradient(circle at 30% 30%, #fecaca 0%, var(--red) 60%, #7f1d1d 100%);border-radius:50%;width:14px;height:14px;animation:1.4s ease-in-out infinite ring;box-shadow:0 0 #dc26268c}.quick{flex-wrap:wrap;gap:10px;margin:12px 0 20px;display:flex}.quick .btn{border:1px solid var(--line);background:#fff;min-height:44px;padding:10px 18px;font-size:1rem;box-shadow:0 1px 2px #1118270a}.quick .btn:hover{background:var(--card-soft);border-color:#f9731659}@keyframes pulse{50%{opacity:.4}}@keyframes ring{0%{box-shadow:0 0 #dc262680}70%{box-shadow:0 0 0 12px #dc262600}to{box-shadow:0 0 #dc262600}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-pop{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}@keyframes spring-pop{0%{transform:scale(1)}40%{transform:scale(.94)}to{transform:scale(1)}}@keyframes points-bump{0%{filter:brightness();transform:scale(1)}35%{filter:brightness(1.1)saturate(1.2);transform:scale(1.1)}to{filter:none;transform:scale(1)}}.points.bump{animation:points-bump .62s var(--ease-spring)}@keyframes task-celebrate{0%{transform:translateY(0)scale(1)}35%{box-shadow:var(--shadow-glow-green);transform:translateY(-2px)scale(1.012)}to{transform:none}}.task.just-done{animation:task-celebrate .54s var(--ease-out)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.illus{animation:4.5s ease-in-out infinite float}.flash{pointer-events:none;z-index:60;background:radial-gradient(800px 600px at 50% 40%,#22c55e59 0%,#0000 70%);animation:.48s ease-out forwards flash-fade;position:fixed;inset:0}@keyframes flash-fade{0%{opacity:0}20%{opacity:1}to{opacity:0}}.admin{max-width:1080px;margin:0 auto;padding:28px 22px}.admin h1{letter-spacing:-.025em;background:linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 60%, #fb923c 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 6px;font-size:clamp(1.6rem,1.2rem + 1vw,2.2rem);font-weight:800}.admin>h1+h2,.admin>h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);align-items:center;gap:10px;margin:28px 0 12px;font-size:1.05rem;font-weight:700;display:flex}.admin>h2:before{content:"";background:linear-gradient(180deg, var(--primary-2), var(--primary));border-radius:4px;width:4px;height:18px}.admin nav{-webkit-backdrop-filter:saturate(160%)blur(14px);border-radius:var(--radius-pill);box-shadow:var(--shadow-1), inset 0 1px 0 #ffffffd9;background:#ffffffd9;border:1px solid #fff9;flex-wrap:wrap;gap:4px;width:fit-content;margin-bottom:24px;padding:5px;display:flex}.admin nav a{border-radius:var(--radius-pill);color:var(--text-2);letter-spacing:-.005em;transition:background var(--dur-mid) ease, color var(--dur-mid) ease, box-shadow var(--dur-mid) ease;background:0 0;align-items:center;min-height:40px;padding:10px 20px;font-size:.92rem;font-weight:700;text-decoration:none;display:inline-flex}.admin nav a:hover{color:var(--primary-ink);background:#f973161a}.admin nav a.active{background:linear-gradient(180deg, var(--primary-2) 0%, var(--primary) 100%);color:#fff;box-shadow:0 4px 12px #f9731657,inset 0 1px #ffffff4d}.admin form .row{border-radius:var(--radius-md);border:1px solid var(--line-2);background:#fff9;padding:14px 18px}.admin form .row+.row{margin-top:12px}.admin .row{border-bottom:1px solid var(--line);padding:14px 0}.admin .row>.grow,.admin .row .grow{flex:1;min-width:180px}.admin .row .muted{color:var(--muted);font-size:.92rem}.muted{color:var(--muted)}.error{color:var(--red);border-radius:var(--radius-sm);background:var(--red-tint);border:1px solid #dc262638;margin:10px 0;padding:12px 16px;font-weight:600}.ok{color:var(--green);border-radius:var(--radius-sm);background:var(--green-tint);border:1px solid #16a34a38;margin:10px 0;padding:12px 16px;font-weight:600}.pinpad{grid-template-columns:repeat(3,88px);justify-content:center;gap:14px;margin:16px 0;display:grid}.pinpad button{border:1px solid var(--line-2);background:linear-gradient(#fff 0%,#f8fafc 100%);border-radius:50%;height:88px;font-size:1.85rem;font-weight:700;transition:transform .16s,box-shadow .16s;box-shadow:0 6px 16px #1118271a}.pinpad button:hover{transform:translateY(-1px);box-shadow:0 10px 22px #11182724}.pinpad button:active{transform:translateY(0)scale(.96)}.pindots{text-align:center;letter-spacing:14px;min-height:3rem;margin-bottom:8px;font-size:2rem}.weekdays{flex-wrap:wrap;gap:6px;display:flex}.weekdays label{background:#f9731614;border:1px solid #f973162e;border-radius:999px;align-items:center;gap:4px;margin:0;padding:6px 10px;font-weight:500;display:flex}.weekdays input{width:auto}video,canvas.preview{border-radius:var(--radius-md);border:1px solid var(--line-2);background:#000;width:100%;max-width:480px}.profile,.task,.row{animation:.24s both card-in}@keyframes card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width>=900px){.kiosk{padding:36px}.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:28px}}@media (width>=1180px){.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}:root[data-theme=dark]{--bg-1:#0b1220;--bg-2:#131a2c;--card:#18223a;--card-soft:#1c2740;--primary:#fb923c;--primary-2:#fdba74;--primary-dark:#fdba74;--primary-ink:#ffedd5;--green:#4ade80;--green-soft:#6ee7b7;--green-tint:#4ade802e;--green-ink:#bbf7d0;--amber:#fbbf24;--amber-soft:#fcd34d;--amber-tint:#fbbf242e;--amber-ink:#fde68a;--red:#f87171;--red-soft:#fca5a5;--red-tint:#f871712e;--red-ink:#fecaca;--text:#f1f5f9;--text-2:#e2e8f0;--muted:#94a3b8;--muted-2:#64748b;--line:#ffffff14;--line-2:#ffffff0a;--shadow-1:0 1px 2px #00000073, 0 6px 18px #0006;--shadow-2:0 2px 6px #00000080, 0 18px 40px #0000008c;--shadow-pop:0 10px 24px #fb923c47, 0 2px 6px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dark] body{background:radial-gradient(1200px 600px at 12% -10%, #1d2944 0%, transparent 60%), radial-gradient(900px 500px at 100% 0%, #1f2547 0%, transparent 55%), linear-gradient(180deg, var(--bg-1) 0%, var(--bg-2) 100%)}:where([data-theme=dark]) input,:where([data-theme=dark]) select,:where([data-theme=dark]) textarea{color:var(--text);background:#0f172a;border-color:#ffffff1a}:where([data-theme=dark]) input::placeholder,:where([data-theme=dark]) textarea::placeholder{color:var(--muted)}:where([data-theme=dark]) .btn{color:var(--text);background:#243152}:where([data-theme=dark]) .btn:hover{background:#2c3a5e}:where([data-theme=dark]) .avatar{box-shadow:inset 0 0 0 6px #0f172a99,0 8px 24px #00000080}:where([data-theme=dark]) .profile.is-home .avatar,:where([data-theme=dark]) .dash-header.is-home .avatar{box-shadow:inset 0 0 0 6px #0f172a99,0 0 0 4px #4ade8073,0 8px 24px #4ade804d}:where([data-theme=dark]) .profile.is-out .avatar,:where([data-theme=dark]) .dash-header.is-out .avatar{box-shadow:inset 0 0 0 6px #0f172a99,0 0 0 4px #fbbf2473,0 8px 24px #fbbf244d}:where([data-theme=dark]) .padlock{background:#18223ad9;border-color:#ffffff1a}:where([data-theme=dark]) .install-hint{color:var(--text);background:#18223aeb;border-color:#ffffff1a}:where([data-theme=dark]) .dialog-backdrop{background:radial-gradient(1200px 600px at 50% 0,#000000b3,#000000d9)}:where([data-theme=dark]) .profile,:where([data-theme=dark]) .task{background:linear-gradient(180deg, var(--card) 0%, var(--card-soft) 100%)}:where([data-theme=dark]) .quick .btn{color:var(--text);background:#1f2a4a;border-color:#ffffff1a}:where([data-theme=dark]) .quick .btn:hover{background:#283358;border-color:#fb923c80}:where([data-theme=dark]) .admin nav{background:#0f172ab3;border-color:#ffffff14}:where([data-theme=dark]) .admin nav a{color:var(--text-2)}:where([data-theme=dark]) .admin nav a:hover{color:var(--primary-ink);background:#fb923c2e}:where([data-theme=dark]) .dash-header{background:#0f172a8c;border-color:#ffffff0f}:where([data-theme=dark]) .weekdays label{color:var(--text);background:#fb923c2e;border-color:#fb923c52}:where([data-theme=dark]) .pinpad button{color:var(--text);background:linear-gradient(#1f2a4a 0%,#18223a 100%);border-color:#ffffff1a;box-shadow:0 6px 16px #00000073}:where([data-theme=dark]) .orientation-hint{background:#0f172aeb}:where([data-theme=dark]) video,:where([data-theme=dark]) canvas.preview{border-color:#ffffff1a}:where([data-theme=dark]) .points{color:var(--primary-ink);background:radial-gradient(80% 120% at 50% 0,#fb923c2e 0%,#0000 60%),linear-gradient(#2a1a05 0%,#4a2a08 100%);border-color:#fb923c59}:where([data-theme=dark]) .points:before{text-shadow:none}:where([data-theme=dark]) .task-list{scrollbar-color:#fb923c8c transparent}:where([data-theme=dark]) .task-list::-webkit-scrollbar-thumb{background:#fb923c8c}:where([data-theme=dark]) .transcript{color:var(--text);background:#fb923c24;border-color:#fb923c73}:where([data-theme=dark]) .error{background:var(--red-tint);color:var(--red-ink)}:where([data-theme=dark]) .ok{background:var(--green-tint);color:var(--green-ink)}
