:root{color-scheme:light;font-family:Zen Kaku Gothic New,system-ui,sans-serif;--serif: "Playfair Display", "Zen Kaku Gothic New", serif;--bg: #f6f6f4;--surface: #ffffff;--surface-2: #f0f1ee;--line: rgba(22,25,34,.11);--line-soft: rgba(22,25,34,.06);--text: #1b1d24;--muted: #737a88;--accent: #5876b8;--accent-strong: #45619f;--accent-2: #47609f;--accent-soft: rgba(88,118,184,.1);--accent-line: rgba(88,118,184,.35);--ink: #ffffff;--ok: #1f9d5b;--ok-bg: #e9f6ef;--ok-line: rgba(31,157,91,.3);--ok-text: #0f6a3c;--danger: #d64a3f;--danger-bg: #fcece9;--danger-line: rgba(214,74,63,.3);--danger-text: #a5271e;--warn: #b9832a;--radius: 16px;--radius-sm: 11px;--shadow: 0 14px 40px rgba(40,52,90,.12);--shadow-soft: 0 4px 18px rgba(40,52,90,.08)}*{box-sizing:border-box}html,body{margin:0}body{background:radial-gradient(900px 420px at 50% -260px,#5876b812,#5876b800 70%),var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}.wrap{max-width:780px;margin:0 auto;padding:22px 20px 76px}.top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:18px;margin-bottom:22px;border-bottom:1px solid var(--line)}.brandwrap{display:flex;align-items:center;gap:14px;min-width:0}.logo-img{flex:none;height:52px;width:auto;display:block}.devlabel{color:var(--muted);font-family:Zen Kaku Gothic New,sans-serif;font-size:12px;font-weight:600;letter-spacing:.28em;padding-left:14px;margin-left:2px;border-left:1px solid var(--line)}.headright{display:flex;align-items:center;gap:14px;flex:none}.store{font-family:var(--serif);font-size:23px;font-weight:600;letter-spacing:.03em;color:var(--text)}.mock{margin-left:8px;font-size:11px;background:var(--warn);color:#fff;padding:2px 6px;border-radius:6px;vertical-align:middle;font-family:sans-serif}.logout{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:10px;padding:9px 15px;font-size:13px;font-weight:700;letter-spacing:.04em}.logout:active{border-color:var(--accent-line);color:var(--accent-strong)}.modes{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:10px;margin-bottom:22px}button.seg{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:88px;padding:12px 6px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:15px;font-weight:700;letter-spacing:.04em;transition:all .12s ease;box-shadow:var(--shadow-soft)}button.seg .ic{display:grid;place-items:center}button.seg .ic svg{width:27px;height:27px;display:block}button.seg:active{transform:scale(.97)}button.seg.on{color:var(--accent-strong);border-color:var(--accent-line);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line),var(--shadow-soft)}input[type=text],input[type=email],input[type=password]{width:100%;padding:18px 20px;font-size:21px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);color:var(--text);outline:none}input::placeholder{color:#a6abb6}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.hint{color:var(--muted);margin:12px 2px 0;font-size:15px;line-height:1.7}.list{margin-top:18px;display:grid;gap:12px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-soft)}.name{font-size:23px;font-weight:700;letter-spacing:.02em}.acts{display:flex;gap:10px}button.in,button.out{border:none;border-radius:var(--radius-sm);padding:14px 24px;font-size:18px;font-weight:800;min-height:56px;letter-spacing:.04em}button.in{background:var(--accent);color:var(--ink);box-shadow:var(--shadow-soft)}button.out{background:var(--surface);color:var(--muted);border:1px solid var(--line)}button:disabled{opacity:.4}button:active:not(:disabled){transform:scale(.98)}.msg,.err{display:flex;align-items:center;gap:16px;margin-top:22px;padding:20px 24px;border-radius:var(--radius);font-size:21px;font-weight:700;letter-spacing:.02em;box-shadow:var(--shadow-soft)}.msg{background:var(--ok-bg);border:1px solid var(--ok-line);color:var(--ok-text)}.err{background:var(--danger-bg);border:1px solid var(--danger-line);color:var(--danger-text)}.msg .fic,.err .fic{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:22px;font-weight:900;color:#fff}.msg .fic{background:var(--ok)}.err .fic{background:var(--danger)}.grid{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}button.kid{padding:26px 12px;font-size:23px;font-weight:700;letter-spacing:.02em;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);color:var(--text);box-shadow:var(--shadow-soft)}button.kid.in{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok-text)}button.kid.came{border-color:var(--accent-line);color:var(--accent-strong)}.absent{margin-top:22px;padding:14px 18px;border-radius:var(--radius-sm);background:#fbf3e2;border:1px solid #e8cf96;color:#8a6414;font-size:16px}.reader{margin:12px auto 0;width:100%;max-width:680px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--accent-line);background:#000;box-shadow:var(--shadow)}#card-reader video{width:100%!important;height:auto!important;display:block}.camrow{display:flex;justify-content:center;margin-top:12px}button.camtoggle{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:var(--radius-sm);padding:12px 18px;font-size:15px;font-weight:700;letter-spacing:.04em}.qrwrap{display:flex;flex-direction:column;align-items:center;margin-top:12px}.qrbox{margin-top:16px;padding:22px;background:#fff;border-radius:22px;box-shadow:var(--shadow);border:1px solid var(--line)}.qrbox canvas{display:block}.login-hero{display:flex;flex-direction:column;align-items:center;text-align:center;margin-top:60px;gap:18px}.login-hero .logo-img{height:104px}.login-hero .devlabel{border-left:none;padding-left:0;margin-left:0;letter-spacing:.42em}form.login{display:grid;gap:14px;margin:30px auto 0;max-width:460px;width:100%}button.primary{background:var(--accent);color:var(--ink);border:none;border-radius:var(--radius);padding:18px;font-size:20px;font-weight:800;letter-spacing:.06em;min-height:62px;box-shadow:var(--shadow-soft)}button.primary:active{transform:scale(.99)}
