:root{--ink: #1a2733;--ink-soft: #51616f;--ink-faint: #8494a3;--bg: #eef1f4;--surface: #ffffff;--line: #dde3e9;--line-soft: #e8edf2;--accent: #0e5fa8;--accent-strong: #0b4c87;--accent-soft: #e3eef8;--green: #1d7a46;--green-soft: #e2f3e9;--amber: #9a6200;--amber-soft: #fdf1da;--red: #b3261e;--red-soft: #fbe9e7;--navy: #12212e;--navy-2: #1a3040;--radius: 10px;--shadow: 0 1px 2px rgba(16, 32, 46, .06), 0 4px 14px rgba(16, 32, 46, .07);--font: "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", Arial, sans-serif;--mono: Consolas, "Courier New", monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:15px;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0 0 .5rem;font-weight:600}h1{font-size:1.35rem}h2{font-size:1.05rem}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid transparent;border-radius:8px;padding:.52rem 1rem;font-size:.92rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .12s,border-color .12s,opacity .12s;background:var(--accent);color:#fff;line-height:1.15;white-space:nowrap}.btn:hover{background:var(--accent-strong)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.ghost{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn.ghost:hover{background:var(--bg)}.btn.danger{background:var(--red)}.btn.danger:hover{background:#92211a}.btn.success{background:var(--green)}.btn.success:hover{background:#17603a}.btn.warn{background:var(--amber)}.btn.small{padding:.3rem .65rem;font-size:.82rem}.btn.block{width:100%}.card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem 1.2rem}.card+.card{margin-top:1rem}.card h2{display:flex;align-items:center;gap:.5rem;margin-bottom:.8rem}.grid{display:grid;gap:1rem}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width: 900px){.grid.cols-3,.grid.cols-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}}.row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.row.between{justify-content:space-between}.spacer{flex:1}.muted{color:var(--ink-soft)}.faint{color:var(--ink-faint);font-size:.85rem}.mono{font-family:var(--mono);font-size:.88em}.nowrap{white-space:nowrap}.right{text-align:right}.center{text-align:center}.mt{margin-top:1rem}.mb{margin-bottom:1rem}.stat{padding:.95rem 1.1rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line-soft);box-shadow:var(--shadow)}.stat .label{font-size:.8rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em}.stat .value{font-size:1.7rem;font-weight:700;margin-top:.15rem;line-height:1.2}.stat.green .value{color:var(--green)}.stat.amber .value{color:var(--amber)}.stat.red .value{color:var(--red)}.stat.blue .value{color:var(--accent)}.badge{display:inline-flex;align-items:center;gap:.3rem;border-radius:999px;padding:.16rem .6rem;font-size:.78rem;font-weight:600;background:var(--line-soft);color:var(--ink-soft);white-space:nowrap}.badge.green{background:var(--green-soft);color:var(--green)}.badge.amber{background:var(--amber-soft);color:var(--amber)}.badge.red{background:var(--red-soft);color:var(--red)}.badge.blue{background:var(--accent-soft);color:var(--accent-strong)}button.badge{border:0;cursor:pointer;font-family:inherit}button.badge:hover{filter:brightness(.94)}.dot{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block}.notice{border:1px solid var(--line);border-left:4px solid var(--ink-faint);background:var(--surface);border-radius:8px;padding:.7rem .9rem;font-size:.9rem;margin-bottom:1rem;line-height:1.45}.notice.warn{border-left-color:var(--amber);background:var(--amber-soft);color:#6d4500}.notice.danger{border-left-color:var(--red);background:var(--red-soft);color:#8c1d16}.notice.info{border-left-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.table-wrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:.92rem}table.data th{text-align:left;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);font-weight:600;padding:.5rem .65rem;border-bottom:2px solid var(--line);white-space:nowrap}table.data td{padding:.55rem .65rem;border-bottom:1px solid var(--line-soft);vertical-align:middle}table.data tr:last-child td{border-bottom:none}table.data tr.clickable:hover td{background:var(--accent-soft);cursor:pointer}table.data tr.voided td{color:var(--ink-faint);text-decoration:line-through}table.data tr.total td{font-weight:700;border-top:2px solid var(--line);background:#f7f9fb}table.data td.num,table.data th.num{text-align:right;font-variant-numeric:tabular-nums}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.85rem}.field label{font-size:.84rem;font-weight:600;color:var(--ink-soft)}.field .hint{font-size:.78rem;color:var(--ink-faint)}input,select,textarea{font-family:inherit;font-size:.95rem;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:.5rem .65rem;outline:none;transition:border-color .12s,box-shadow .12s;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0e5fa824}input[type=checkbox]{width:auto;accent-color:var(--accent);transform:scale(1.15)}.checkline{display:flex;align-items:center;gap:.55rem;font-size:.92rem}.section-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);padding-top:.9rem;margin-bottom:.6rem;border-top:1px solid var(--line-soft)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e192480;z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:6vh 1rem 1rem;overflow-y:auto}.modal{background:var(--surface);border-radius:14px;box-shadow:0 18px 50px #0a141e59;width:100%;max-width:520px;padding:1.3rem 1.4rem;animation:pop .14s ease-out}.modal.wide{max-width:760px}@keyframes pop{0%{transform:translateY(8px);opacity:.6}to{transform:none;opacity:1}}.modal h2{margin-bottom:1rem}.modal .modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.2rem}.toasts{position:fixed;bottom:1rem;right:1rem;z-index:90;display:flex;flex-direction:column;gap:.5rem}.toast{background:var(--navy);color:#fff;border-radius:10px;padding:.7rem 1rem;box-shadow:var(--shadow);font-size:.92rem;max-width:380px;animation:pop .15s ease-out}.toast.error{background:var(--red)}.toast.success{background:var(--green)}.tabs{display:flex;gap:.25rem;border-bottom:2px solid var(--line);margin-bottom:1rem;flex-wrap:wrap}.tabs button{border:none;background:none;font:inherit;font-weight:600;color:var(--ink-soft);padding:.5rem .9rem;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px}.tabs button.active{color:var(--accent-strong);border-bottom-color:var(--accent)}.shell{display:flex;min-height:100vh}.sidebar{width:232px;background:var(--navy);color:#cfdae4;display:flex;flex-direction:column;flex-shrink:0;position:sticky;top:0;height:100vh}.sidebar .brand{display:flex;align-items:center;gap:.6rem;padding:1.05rem 1rem;color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar .brand img{width:30px;height:30px;border-radius:6px;object-fit:contain;background:#fff}.sidebar .brand .name{font-weight:700;font-size:.98rem;line-height:1.2}.sidebar .brand .org{font-size:.74rem;color:#8fa6b900;color:#8aa0b3}.sidebar nav{flex:1;padding:.6rem .55rem;overflow-y:auto}.sidebar nav a{display:flex;align-items:center;gap:.65rem;color:#b9c8d5;padding:.55rem .7rem;border-radius:8px;font-size:.93rem;font-weight:500;margin-bottom:.12rem}.sidebar nav a:hover{background:var(--navy-2);color:#fff;text-decoration:none}.sidebar nav a.active{background:var(--accent);color:#fff}.sidebar nav .section{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#6d8296;padding:.8rem .7rem .3rem}.sidebar .foot{padding:.8rem 1rem;border-top:1px solid rgba(255,255,255,.08);font-size:.8rem;color:#8aa0b3}.main{flex:1;min-width:0;padding:1.3rem 1.5rem 3rem}.topbar{display:flex;align-items:center;gap:1rem;margin-bottom:1.2rem}.topbar h1{margin:0}.hamburger{display:none}@media (max-width: 860px){.sidebar{position:fixed;z-index:60;left:0;transform:translate(-100%);transition:transform .18s;height:100dvh}.sidebar.open{transform:none;box-shadow:0 0 40px #0006}.hamburger{display:inline-flex;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:.45rem .6rem;cursor:pointer;font-size:1rem}.main{padding:1rem .9rem 3rem}}.landing{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(160deg,var(--navy) 0%,#0d3352 100%);color:#fff;padding:1.5rem;gap:2rem}.landing .cards{display:flex;gap:1.2rem;flex-wrap:wrap;justify-content:center}.landing .choice{background:#ffffff12;border:1px solid rgba(255,255,255,.16);padding:1.6rem 2rem;border-radius:16px;width:270px;color:#fff;cursor:pointer;transition:background .15s,transform .15s;text-align:left}.landing .choice:hover{background:#ffffff24;transform:translateY(-2px);text-decoration:none}.landing .choice .big{font-size:1.25rem;font-weight:700;margin-bottom:.25rem}.landing .choice .sub{color:#a9bccb;font-size:.9rem}.landing .logo-row{display:flex;align-items:center;gap:.9rem}.landing .logo-row img{width:54px;height:54px;border-radius:12px;background:#fff;object-fit:contain}.landing h1{font-size:1.6rem;margin:0}.landing .org{color:#9fb4c4}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,var(--navy) 0%,#0d3352 100%);padding:1rem}.auth-card{background:var(--surface);border-radius:16px;box-shadow:0 24px 60px #050f1973;width:100%;max-width:400px;padding:2rem}.auth-card .head{display:flex;align-items:center;gap:.8rem;margin-bottom:1.4rem}.auth-card .head img{width:44px;height:44px;border-radius:10px;object-fit:contain}.kiosk{min-height:100dvh;display:flex;flex-direction:column;align-items:center;background:linear-gradient(165deg,var(--navy) 0%,#0e2c47 70%,#0d3352 100%);color:#fff;padding:1rem;-webkit-user-select:none;user-select:none}.kiosk-top{display:flex;align-items:center;gap:.8rem;width:100%;max-width:480px;padding:.4rem 0 0}.kiosk-top img{width:42px;height:42px;border-radius:9px;background:#fff;object-fit:contain}.kiosk-top .t{font-weight:700;font-size:1.02rem;line-height:1.2}.kiosk-top .o{font-size:.8rem;color:#9fb4c4}.kiosk-clock{text-align:center;margin:1.1rem 0 .4rem}.kiosk-clock .time{font-size:3.4rem;font-weight:700;letter-spacing:.02em;line-height:1;font-variant-numeric:tabular-nums}.kiosk-clock .time small{font-size:1.4rem;color:#7f97a9;font-weight:500}.kiosk-clock .date{color:#9fb4c4;margin-top:.3rem;font-size:.95rem}.kiosk-msg{color:#c3d2de;text-align:center;margin-bottom:.8rem;min-height:1.3em}.pin-dots{display:flex;gap:.65rem;justify-content:center;margin:.6rem 0 1rem;min-height:16px}.pin-dots span{width:14px;height:14px;border-radius:50%;border:2px solid #58748a}.pin-dots span.on{background:#fff;border-color:#fff}.pin-error{color:#ff9d94;text-align:center;min-height:1.4em;margin-bottom:.4rem;font-weight:600}.shake{animation:shake .35s}@keyframes shake{20%{transform:translate(-7px)}45%{transform:translate(6px)}70%{transform:translate(-4px)}90%{transform:translate(2px)}}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;width:100%;max-width:330px}.keypad button{font-size:1.5rem;font-weight:600;color:#fff;background:#ffffff17;border:1px solid rgba(255,255,255,.13);border-radius:14px;padding:.85rem 0;cursor:pointer;transition:background .1s;font-family:inherit;touch-action:manipulation}.keypad button:active{background:#ffffff47}.keypad button.action{font-size:1rem;color:#aebfcd}.keypad button.ok{background:var(--accent);border-color:var(--accent)}.keypad button.ok:active{background:var(--accent-strong)}.keypad button:disabled{opacity:.4}.kiosk-panel{background:#ffffff0f;border:1px solid rgba(255,255,255,.13);border-radius:18px;padding:1.4rem;width:100%;max-width:480px;margin-top:.6rem}.kiosk-panel .who{text-align:center;margin-bottom:1rem}.kiosk-panel .who .n{font-size:1.45rem;font-weight:700}.kiosk-panel .who .s{color:#9fb4c4;margin-top:.3rem}.kiosk-actions{display:grid;gap:.7rem}.kiosk-actions button{font-size:1.18rem;font-weight:700;color:#fff;border:none;border-radius:14px;padding:1.05rem;cursor:pointer;font-family:inherit;touch-action:manipulation;transition:filter .1s}.kiosk-actions button:active{filter:brightness(1.2)}.kiosk-actions button:disabled{opacity:.5}.kiosk-actions .in{background:var(--green)}.kiosk-actions .out{background:var(--red)}.kiosk-actions .brk{background:#b97700}.kiosk-actions .ghostk{background:#ffffff1a;font-size:.95rem;font-weight:600;padding:.7rem}.kiosk-confirm{text-align:center;padding:.6rem 0}.kiosk-confirm .icon{font-size:3.2rem;line-height:1;margin-bottom:.6rem}.kiosk-confirm .an{font-size:1.5rem;font-weight:700}.kiosk-confirm .tm{font-size:2.2rem;font-weight:700;font-variant-numeric:tabular-nums;margin:.4rem 0}.kiosk-countdown{color:#8fa6b9;font-size:.85rem;margin-top:1rem}.kiosk-status-badge{display:inline-flex;align-items:center;gap:.45rem;border-radius:999px;padding:.3rem .9rem;font-weight:700;font-size:.95rem}.kiosk-status-badge.Working{background:#2ea05f40;color:#6ee7a0}.kiosk-status-badge.OnBreak{background:#d4941e40;color:#ffd27d}.kiosk-status-badge.Off{background:#ffffff1f;color:#b9c8d5}.kiosk-foot{margin-top:auto;padding-top:1rem;color:#6d8296;font-size:.78rem}.kiosk-hist{width:100%;max-width:480px}.kiosk-hist table{width:100%;border-collapse:collapse;font-size:.88rem}.kiosk-hist th{text-align:left;color:#8fa6b9;font-size:.74rem;text-transform:uppercase;padding:.35rem .4rem;border-bottom:1px solid rgba(255,255,255,.15)}.kiosk-hist td{padding:.45rem .4rem;border-bottom:1px solid rgba(255,255,255,.08);font-variant-numeric:tabular-nums}.qr-banner{width:100%;max-width:480px;margin-top:.7rem;padding:.7rem .9rem;background:#ffffff12;border:1px solid rgba(255,255,255,.14);border-left:4px solid var(--accent);border-radius:12px}.qr-banner .lbl{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#8fa6b9}.qr-banner .nm{font-size:1.22rem;font-weight:700;line-height:1.25;margin-top:.15rem}.qr-banner .meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem;font-size:.85rem;color:#9fb4c4}.qr-banner .meta .type{color:#cfe0ec;font-weight:600}.qr-preview{text-align:center}.qr-preview svg{width:100%;max-width:260px;height:auto}.qr-url{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.74rem;word-break:break-all;color:var(--muted);margin-top:.5rem}.sticker-print{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#fff;overflow:auto;color:#000}.sticker-print .sheet-bar{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:.7rem;padding:.7rem 1rem;background:var(--surface);border-bottom:1px solid var(--border);color:var(--text);flex-wrap:wrap}.sticker-print .sheet{padding:8mm;margin:0 auto}.sticker{border:1px dashed #b9c3cc;border-radius:3mm;padding:5mm;display:flex;flex-direction:column;align-items:center;text-align:center;break-inside:avoid;background:#fff;overflow:hidden}.sticker .s-head{display:flex;align-items:center;gap:3mm;width:100%;text-align:left;border-bottom:.4mm solid #111;padding-bottom:2.5mm}.sticker .s-head img{width:12mm;height:12mm;object-fit:contain;flex:none}.sticker .s-org{font-size:3.4mm;letter-spacing:.06em;text-transform:uppercase;color:#444}.sticker .s-loc{font-size:6mm;font-weight:800;line-height:1.1}.sticker .s-label{font-size:3.6mm;color:#444}.sticker .s-qr{margin:4mm 0 2mm}.sticker .s-qr svg{width:58mm;height:58mm;display:block}.sticker .s-scan{font-size:5mm;font-weight:800;letter-spacing:.02em}.sticker .s-steps{margin:2mm 0 0;padding-left:6mm;text-align:left;font-size:3.5mm;line-height:1.45;align-self:center}.sticker .s-url{margin-top:auto;padding-top:2.5mm;font-size:2.9mm;color:#333;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-all}.sticker .s-foot{font-size:2.7mm;color:#777;margin-top:1.5mm}.sheet.a6{display:grid;grid-template-columns:repeat(2,1fr);gap:4mm}.sheet.a6 .sticker{height:130mm}.sheet.a4 .sticker{height:250mm;margin-bottom:6mm;break-after:page}.sheet.a4 .sticker:last-child{break-after:auto;margin-bottom:0}.sheet.a4 .s-qr svg{width:115mm;height:115mm}.sheet.a4 .s-loc{font-size:11mm}.sheet.a4 .s-org{font-size:5mm}.sheet.a4 .s-label{font-size:5.5mm}.sheet.a4 .s-head img{width:22mm;height:22mm}.sheet.a4 .s-scan{font-size:9mm}.sheet.a4 .s-steps{font-size:6mm}.sheet.a4 .s-url{font-size:4.2mm}.sheet.a4 .s-foot{font-size:4mm}@media (max-width: 700px){.sheet.a6{grid-template-columns:1fr}}.print-only{display:none}@media print{body{background:#fff}.sidebar,.topbar .row,.no-print,.toasts,.hamburger{display:none!important}.main{padding:0}.card{border:none;box-shadow:none;padding:0}.print-only{display:block}table.data th{color:#000}a{color:inherit}body.stickers>#root{display:none!important}.sticker-print{position:static;overflow:visible}.sticker-print .sheet{padding:0}.sticker{border:1px dashed #ccc}.sheet.a6{grid-template-columns:repeat(2,1fr)!important}}.lang-switch{display:inline-flex;gap:.3rem;align-items:center;flex-wrap:wrap}.lang-switch button{font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;border-radius:999px;padding:.28rem .75rem;border:1px solid transparent;transition:background .12s,color .12s}.lang-switch.light button{background:var(--bg);color:var(--ink-soft);border-color:var(--line)}.lang-switch.light button.on{background:var(--accent);color:#fff;border-color:var(--accent)}.lang-switch.dark button{background:#ffffff14;color:#b9c8d5;border-color:#ffffff29}.lang-switch.dark button.on{background:#ffffffeb;color:var(--navy)}.lang-switch.compact button{padding:.22rem .55rem;font-size:.74rem}.datefield{position:relative;display:flex;align-items:center}.datefield input{padding-right:2.3rem;font-variant-numeric:tabular-nums}.datefield input.invalid,.datetimefield .timepart.invalid{border-color:var(--red);box-shadow:0 0 0 3px #b3261e1f}.datefield .cal-btn{position:absolute;right:.3rem;border:none;background:none;cursor:pointer;font-size:.95rem;padding:.2rem .3rem;border-radius:6px;line-height:1}.datefield .cal-btn:hover{background:var(--line-soft)}.datetimefield{display:flex;gap:.45rem;align-items:center}.datetimefield .datefield{flex:1 1 130px;min-width:120px}.datetimefield .timepart{width:76px;flex:0 0 auto;font-variant-numeric:tabular-nums;text-align:center}.cal-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:70;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 34px #0a141e38;padding:.7rem;width:252px;animation:pop .12s ease-out}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.cal-head span{font-weight:700;font-size:.9rem}.cal-head button{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:28px;height:28px;cursor:pointer;font-size:1rem;line-height:1}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-dow{font-size:.66rem;text-transform:uppercase;color:var(--ink-faint);text-align:center;padding:.2rem 0;font-weight:700}.cal-day{border:none;background:none;border-radius:8px;padding:.34rem 0;cursor:pointer;font:inherit;font-size:.84rem;text-align:center;font-variant-numeric:tabular-nums}.cal-day:hover{background:var(--accent-soft)}.cal-day.today{box-shadow:inset 0 0 0 1px var(--accent)}.cal-day.sel{background:var(--accent);color:#fff;font-weight:700}.cal-foot{margin-top:.45rem;text-align:center}.kiosk-confirm .old-new{display:inline-flex;align-items:center;gap:.5rem;margin-top:.4rem;color:#9fb4c4;font-size:.95rem}.kiosk-confirm .old-new b{color:#fff}.kiosk-confirm .success-title{font-size:1.35rem;font-weight:800;margin-top:.2rem}.kiosk-confirm .date-line{color:#9fb4c4;margin-top:.5rem}.kiosk-lang{margin-top:.9rem}.kiosk-gps{text-align:center;padding:.6rem 0}.kiosk-gps .icon{font-size:3rem;line-height:1;margin-bottom:.5rem}.kiosk-gps .success-title{font-size:1.25rem;font-weight:800}.kiosk-gps .gps-sub{color:#9fb4c4;font-size:.95rem;margin:.3rem 0 .2rem}.kiosk-gps .gps-why{color:#dbe7f0;margin:.7rem 0 .5rem;line-height:1.45}.kiosk-gps .gps-privacy{list-style:none;margin:0 0 1rem;padding:.7rem .8rem;text-align:left;background:#ffffff0f;border-radius:10px;color:#9fb4c4;font-size:.85rem;line-height:1.5}.kiosk-gps .gps-privacy li{position:relative;padding-left:1.1rem}.kiosk-gps .gps-privacy li+li{margin-top:.3rem}.kiosk-gps .gps-privacy li:before{content:"•";position:absolute;left:.2rem;color:var(--accent)}.kiosk-gps .gps-reason{display:grid;gap:.35rem;text-align:left;margin:0 0 .9rem}.kiosk-gps .gps-reason span{color:#9fb4c4;font-size:.85rem}.kiosk-gps .gps-reason input{width:100%;box-sizing:border-box;padding:.75rem .8rem;font-size:1rem;color:#fff;background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:10px}.kiosk-gps .gps-reason input:focus{outline:2px solid var(--accent);outline-offset:1px}.kiosk-gps .gps-dots{display:flex;gap:.4rem;justify-content:center;margin:.9rem 0 1rem}.kiosk-gps .gps-dots span{width:.55rem;height:.55rem;border-radius:50%;background:var(--accent);animation:gps-pulse 1.1s ease-in-out infinite}.kiosk-gps .gps-dots span:nth-child(2){animation-delay:.18s}.kiosk-gps .gps-dots span:nth-child(3){animation-delay:.36s}@keyframes gps-pulse{0%,80%,to{opacity:.25}40%{opacity:1}}@media (prefers-reduced-motion: reduce){.kiosk-gps .gps-dots span{animation:none;opacity:.7}}.audit-lines{display:grid;gap:.15rem;font-size:.88rem}.audit-lines .l{color:var(--ink-soft)}.audit-lines .l b{color:var(--ink);font-weight:600}.paginator{display:flex;align-items:center;gap:.7rem;justify-content:flex-end;margin-top:.8rem}.empty{padding:1.4rem;text-align:center;color:var(--ink-faint)}.loading{padding:1.2rem;text-align:center;color:var(--ink-soft)}details.jsonbox summary{cursor:pointer;color:var(--accent);font-size:.85rem}details.jsonbox pre{background:#f6f8fa;border:1px solid var(--line-soft);border-radius:8px;padding:.6rem;font-size:.78rem;overflow-x:auto;max-width:480px;white-space:pre-wrap}.logo-preview{width:120px;height:120px;object-fit:contain;border:1px solid var(--line);border-radius:10px;background:#fff;padding:6px}
