:root{
  --bg:#0c0e13;--sidebar:#0e1117;--panel:#12161e;--panel2:#171c26;--panel3:#1c222d;
  --line:#252c38;--text:#f7f8fb;--muted:#8f99a9;--accent:#6d5dfc;--accent2:#8678ff;
  --green:#38d39f;--yellow:#f3bd56;--red:#ff6b77;--blue:#4db5ff;
  --team761:#47a9ff;--team868:#ffba4a;
}
*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#384151 transparent}
*::-webkit-scrollbar{width:8px;height:8px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#3a4352,#2a313d);border-radius:999px;border:2px solid transparent;background-clip:padding-box}
*::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#566175,#3b4555);border:2px solid transparent;background-clip:padding-box}
*::-webkit-scrollbar-corner{background:transparent}
html,body{margin:0;height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
body{overflow:hidden}
button,input,select,textarea{font:inherit}
a{color:inherit;text-decoration:none}
.app{display:grid;grid-template-columns:252px minmax(0,1fr);height:100vh;overflow:hidden}
.sidebar{background:var(--sidebar);border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}
.brand{height:68px;display:flex;align-items:center;gap:11px;padding:0 18px;border-bottom:1px solid var(--line);font-weight:800}
.mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--accent),#3fb7ff);display:grid;place-items:center;font-weight:900}
.team-switch{padding:12px;position:relative}
.team-btn{width:100%;border:1px solid var(--line);background:var(--panel);color:#fff;border-radius:11px;padding:10px 11px;display:flex;align-items:center;gap:10px;cursor:pointer}
.team-btn:hover{border-color:#343c49;background:#151a22}
.team-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
.team-info{min-width:0;flex:1;text-align:left}
.team-info strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.team-info span{font-size:11px;color:var(--muted)}
.chev{color:#778291}
.team-menu{position:absolute;left:12px;right:12px;top:62px;padding:7px;background:#171b24;border:1px solid #2c3340;border-radius:11px;box-shadow:0 14px 35px rgba(0,0,0,.35);display:none;z-index:40}
.team-menu.open{display:block}
.team-opt{display:flex;gap:10px;align-items:center;padding:9px;border-radius:8px;cursor:pointer;background:transparent;border:0;color:#fff;width:100%;text-align:left}
.team-opt:hover{background:#202631}
.team-opt .dot{width:9px;height:9px;border-radius:50%}
.team-opt strong{font-size:12px;display:block}.team-opt span{font-size:9px;color:#818c9b}
.nav{padding:6px 9px 20px;overflow:auto}
.nav-label{font-size:10px;letter-spacing:.12em;color:#657082;text-transform:uppercase;padding:15px 11px 7px}
.nav-item{color:#aeb6c2;width:100%;display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:9px;font-size:13px;margin:1px 0}
.nav-item:hover{background:#151a22;color:white}.nav-item.active{background:#1b2030;color:#fff}
.icon{width:18px;text-align:center;color:#8b95a5}
.nav-item.active .icon{color:#8d80ff}
.badge{margin-left:auto;font-size:10px;background:#2a3140;color:#c5ccda;padding:2px 6px;border-radius:999px}
.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:12px}
.user{display:flex;gap:10px;align-items:center;padding:7px;border-radius:9px}
.user:hover{background:#151a22}
.avatar{width:32px;height:32px;border-radius:9px;background:#252c38;display:grid;place-items:center;font-size:12px;font-weight:800}
.user strong{font-size:12px;display:block}.user span{font-size:10px;color:var(--muted)}
.main{min-width:0;display:flex;flex-direction:column;height:100vh}
.topbar{height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:rgba(12,14,19,.94);backdrop-filter:blur(12px);z-index:10}
.breadcrumb{font-size:13px;color:#9aa4b3}.breadcrumb strong{color:#fff}
.top-actions{display:flex;align-items:center;gap:9px}
.search{width:250px;background:#11151d;border:1px solid var(--line);color:#dfe4ec;border-radius:9px;padding:9px 11px;outline:none}
.search:focus{border-color:#5149a8;box-shadow:0 0 0 3px rgba(109,93,252,.10)}
.icon-btn{min-width:36px;height:36px;border:1px solid var(--line);background:#12161e;color:#abb4c2;border-radius:9px;cursor:pointer;display:grid;place-items:center;padding:0 10px}
.icon-btn:hover{background:#171d26;color:white}
.content{padding:24px;overflow:auto;min-height:0;overscroll-behavior:contain}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}
.page-head p{margin:7px 0 0}
.kicker{font-size:11px;text-transform:uppercase;letter-spacing:.11em;color:#777f8e;margin-bottom:6px}
h1{font-size:28px;margin:0;letter-spacing:-.025em}h2{margin:0;font-size:16px}h3{margin-top:0}
p{color:var(--muted)}
.muted{color:var(--muted)}
.btn{border:1px solid var(--line);background:#161b24;color:#e8ebf0;padding:9px 12px;border-radius:9px;cursor:pointer;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.btn:hover{background:#1c222d;border-color:#353e4c}.btn.primary{background:var(--accent);border-color:var(--accent);color:white}.btn.primary:hover{filter:brightness(1.08)}
.btn.danger{border-color:rgba(255,107,119,.25);color:#ff9099;background:rgba(255,107,119,.08)}
.btn.small{padding:6px 8px;font-size:10px}
.section-tools{display:flex;gap:8px;flex-wrap:wrap}
.grid{display:grid;gap:14px}
.stats{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:14px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:13px}
.stat{padding:16px}
.stat .label{font-size:11px;color:#8993a3;margin-bottom:9px}
.stat .value{font-size:24px;font-weight:800;letter-spacing:-.03em}
.stat .delta{font-size:10px;color:var(--green);margin-top:5px}
.two{grid-template-columns:1.55fr 1fr;margin-bottom:14px}
.three{grid-template-columns:1fr 1fr 1fr;margin-bottom:14px}
.card-head{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}
.card-body{padding:16px}
.chart{height:190px;display:flex;align-items:flex-end;gap:8px;padding-top:18px;padding-bottom:24px}
.bar{flex:1;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,#7e70ff,#5045d8);min-width:10px;position:relative;transition:.15s}
.bar:hover{filter:brightness(1.15);transform:translateY(-2px)}
.bar span{position:absolute;bottom:-22px;left:50%;transform:translateX(-50%);font-size:9px;color:#697487;white-space:nowrap}
.table-wrap{overflow:auto}
.table{width:100%;border-collapse:collapse;min-width:760px}
.table th{text-align:left;font-size:10px;color:#738095;font-weight:600;padding:9px 10px;border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.table td{font-size:12px;padding:11px 10px;border-bottom:1px solid rgba(37,44,56,.7);color:#cfd5df;vertical-align:middle}
.table tr:last-child td{border-bottom:0}.table tr:hover td{background:rgba(255,255,255,.015)}
.pill{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:10px;background:#232936;color:#bfc7d3;white-space:nowrap}
.pill.green{background:rgba(56,211,159,.12);color:#5fe2b5}.pill.yellow{background:rgba(243,189,86,.12);color:#f1c66d}.pill.red{background:rgba(255,107,119,.12);color:#ff8590}.pill.blue{background:rgba(77,181,255,.12);color:#75c6ff}
.team-tag{display:inline-flex;min-width:38px;justify-content:center;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:800}
.team-tag.team761{background:rgba(71,169,255,.12);color:#74c2ff}.team-tag.team868{background:rgba(255,186,74,.12);color:#ffc96c}.team-tag.program{background:rgba(139,124,255,.12);color:#a99eff}
.metric-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px;gap:10px}
.metric-row:last-child{border-bottom:0}.metric-row strong{font-size:13px}
.progress{height:6px;background:#242b36;border-radius:999px;overflow:hidden;margin-top:7px;min-width:130px}.progress>span{display:block;height:100%;background:#7466ff}
.event{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.event:last-child{border-bottom:0}
.datebox{width:44px;min-width:44px;height:44px;border-radius:9px;background:#1d2330;display:grid;place-items:center;text-align:center;font-size:10px;color:#9ba6b6}
.datebox strong{font-size:14px;color:white;display:block}.event h3{font-size:12px;margin:1px 0 4px}.event p{font-size:10px;margin:0}
.team-banner{padding:16px 18px;border-radius:13px;border:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.team-banner.team868{background:linear-gradient(120deg,rgba(255,186,74,.12),rgba(18,22,30,.8))}
.team-banner.team761{background:linear-gradient(120deg,rgba(71,169,255,.12),rgba(18,22,30,.8))}
.team-banner.program{background:linear-gradient(120deg,rgba(139,124,255,.12),rgba(18,22,30,.8))}
.team-title{display:flex;align-items:center;gap:12px}.big-dot{width:13px;height:13px;border-radius:50%}
.team-banner.team868 .big-dot{background:var(--team868)}.team-banner.team761 .big-dot{background:var(--team761)}.team-banner.program .big-dot{background:var(--accent2)}
.team-title strong{font-size:18px}.team-title span{display:block;font-size:11px;color:#8e98a8;margin-top:2px}
.split-stat{display:flex;gap:18px}.split-stat>div{border-left:1px solid var(--line);padding-left:18px}.split-stat span{font-size:9px;color:#7f8998;display:block}.split-stat strong{font-size:15px}
.notice{padding:10px 12px;border:1px solid rgba(77,181,255,.22);background:rgba(77,181,255,.07);border-radius:9px;color:#9ed8ff;font-size:11px;margin-bottom:14px}
.notice.success{border-color:rgba(56,211,159,.24);background:rgba(56,211,159,.08);color:#80e7c2}.notice.error{border-color:rgba(255,107,119,.24);background:rgba(255,107,119,.08);color:#ff9ca4}
.form-card{margin-bottom:16px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.form-group.full{grid-column:1/-1}
label{display:block;font-size:11px;color:#aeb6c2;margin:0 0 6px}
.input,.select,.textarea{width:100%;border:1px solid var(--line);background:#0f131a;color:#e8edf5;border-radius:9px;padding:10px 11px;outline:none}
.textarea{min-height:110px;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:#5f54ce;box-shadow:0 0 0 3px rgba(109,93,252,.10)}
.form-actions{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end;padding-top:2px}
.inline-form{display:inline}
.actions{display:flex;gap:6px;align-items:center}
.empty{padding:38px;text-align:center;color:#778291}
.editor-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:610px}
.doc-list{border-right:1px solid var(--line);padding:12px;overflow:auto;max-height:690px}.doc-item{padding:10px;border-radius:8px;margin-bottom:4px;cursor:pointer;display:block}.doc-item:hover,.doc-item.active{background:#1a202a}
.doc-item strong{display:block;font-size:11px}.doc-item span{font-size:9px;color:#7f8998}
.editor-pane{min-width:0}.toolbar{padding:10px 14px;border-bottom:1px solid var(--line);background:#131720;display:flex;gap:7px;flex-wrap:wrap}
.tool{border:1px solid var(--line);background:#1a202a;color:#bfc7d2;border-radius:6px;padding:6px 8px;font-size:10px;cursor:pointer}.tool:hover{background:#252c38}
.editor{background:#e9edf3;color:#222;padding:28px;min-height:560px;overflow:auto}
.paper{background:white;max-width:800px;min-height:520px;margin:auto;padding:52px 64px;box-shadow:0 4px 18px rgba(0,0,0,.12);outline:none;border-radius:2px}
.paper h2{font-size:22px}.paper p{color:#4a4f58;line-height:1.7;font-size:13px}
.doc-meta{display:flex;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line);background:#11151d}
.doc-meta .input{padding:8px 10px}
.small-note{font-size:10px;color:#778291}
.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 20%, rgba(109,93,252,.18), transparent 33%),radial-gradient(circle at 80% 70%, rgba(0,183,255,.10), transparent 28%),var(--bg);padding:24px;overflow:auto}
.login-shell{width:min(1080px,92vw);display:grid;grid-template-columns:1.15fr .85fr;background:#0f1218;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.login-brand{padding:56px;min-height:640px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,rgba(109,93,252,.16),rgba(17,20,27,.2))}
.logo{display:flex;align-items:center;gap:12px;font-weight:800}
.login-hero h1{font-size:52px;line-height:1.02;margin:0 0 18px;max-width:560px}.login-hero p{color:#aeb6c3;font-size:18px;line-height:1.6;max-width:580px}
.login-form{padding:56px 48px;display:flex;flex-direction:column;justify-content:center;background:#0f1218}.login-form h2{font-size:28px;margin:0 0 8px}.login-form .sub{color:var(--muted);margin-bottom:28px}
.login-form .input{margin-bottom:14px}.login-form .btn{width:100%;padding:12px}
.install-shell{max-width:900px;margin:40px auto;padding:0 20px}
.code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:#0d1117;padding:3px 6px;border-radius:6px;color:#b9c2cf}
@media(max-width:1200px){.stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.app{grid-template-columns:72px 1fr}.brand span,.team-info,.chev,.nav-item .nav-text,.nav-label,.sidebar-bottom .user>div:last-child{display:none}.brand{padding:0;justify-content:center}.team-switch{padding:10px}.team-btn{justify-content:center}.team-menu{left:70px;right:auto;top:0;width:220px}.nav-item{justify-content:center}.two,.three{grid-template-columns:1fr}.search{display:none}.editor-shell{grid-template-columns:1fr}.doc-list{border-right:0;border-bottom:1px solid var(--line);max-height:220px}.form-grid{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr}.login-brand{display:none}}
@media(max-width:650px){.content{padding:16px}.topbar{padding:0 14px}.stats{grid-template-columns:repeat(2,1fr)}.team-banner{align-items:flex-start;gap:14px;flex-direction:column}.split-stat{width:100%;justify-content:space-between}.split-stat>div:first-child{border-left:0;padding-left:0}.paper{padding:30px 24px}.page-head{align-items:flex-start;flex-direction:column}.section-tools{width:100%}}

/* Role-based access control UI */
.role-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.role-card{border:1px solid var(--line);background:#10141b;border-radius:11px;padding:13px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:112px}
.role-card strong{display:block;font-size:13px}.role-card span{display:block;font-size:9px;color:#7f8998;margin-top:3px}.role-card p{font-size:10px;line-height:1.45;margin:9px 0 0;color:#8f99a9}
.permission-details{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.permission-details summary{cursor:pointer;color:#b9c2cf;font-size:11px}
.permission-matrix{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,260px);gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.permission-matrix>div{padding:10px 12px;border-bottom:1px solid var(--line);background:#11151d}.permission-matrix>div:nth-last-child(-n+2){border-bottom:0}
.perm-head{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#718095;background:#0e1218!important;font-weight:700}
.perm-group{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#8d80ff;background:#151924!important;font-weight:800;padding-top:12px!important;padding-bottom:8px!important}
.perm-label strong{display:block;font-size:11px}.perm-label span{display:block;font-size:9px;color:#748092;margin-top:3px}
.permission-select{padding:8px 9px;min-width:150px}
.checkbox-row{display:flex;gap:20px;flex-wrap:wrap;padding:8px 0}.checkbox-row label{margin:0;color:#c4ccd7}
.permission-matrix.compact{max-height:520px;overflow:auto;grid-template-columns:minmax(210px,1fr) minmax(190px,260px)}
@media(max-width:1200px){.role-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.role-cards{grid-template-columns:1fr}.permission-matrix,.permission-matrix.compact{grid-template-columns:1fr}.perm-head:nth-child(2),.perm-group:nth-child(even){display:none}.permission-matrix>div{border-bottom:0}.permission-select{margin-bottom:10px}}

/* Battery sticker + scan workflow */
.table-link{color:#dce6ff;text-decoration:none}.table-link:hover{color:#8fc9ff;text-decoration:underline}
.scan-hero{margin-bottom:14px;background:linear-gradient(120deg,rgba(109,93,252,.09),rgba(18,22,30,.92))}
.scan-form label{font-size:10px;letter-spacing:.08em;color:#8e98a8}.scan-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.scan-input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:18px;font-weight:800;letter-spacing:.03em;padding:14px 15px}
.battery-focus{overflow:hidden;border-color:#303a49}.battery-focus.state-ready{box-shadow:inset 4px 0 0 var(--green)}.battery-focus.state-in-use{box-shadow:inset 4px 0 0 var(--blue)}.battery-focus.state-charging{box-shadow:inset 4px 0 0 var(--yellow)}.battery-focus.state-hold,.battery-focus.state-retest,.battery-focus.state-retired{box-shadow:inset 4px 0 0 var(--red)}
.battery-focus-top{display:flex;justify-content:space-between;gap:22px;align-items:flex-start}.battery-focus-top h2{font-size:34px;margin:7px 0 3px;letter-spacing:-.04em}.battery-focus-top p{margin:0;font-size:12px}.battery-state{text-align:right}.battery-state span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#758092}.battery-state strong{display:block;font-size:22px;margin-top:4px}
.battery-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:20px}.battery-metrics>div{background:#0f131a;border:1px solid var(--line);border-radius:10px;padding:12px}.battery-metrics span{display:block;font-size:9px;color:#758092;text-transform:uppercase;letter-spacing:.06em}.battery-metrics strong{display:block;font-size:13px;margin-top:5px}.battery-link-row{display:flex;gap:7px;margin-top:14px}
.scan-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.battery-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.battery-action-form{margin:0}.battery-action{width:100%;min-height:92px;text-align:left;border:1px solid #2b3441;background:#151b24;color:#fff;border-radius:12px;padding:14px;cursor:pointer;transition:.15s}.battery-action:hover{transform:translateY(-1px);border-color:#49566b;background:#1a212c}.battery-action strong{display:block;font-size:14px}.battery-action span{display:block;color:#8793a4;font-size:10px;line-height:1.35;margin-top:7px}.battery-action.primary{background:rgba(77,181,255,.10);border-color:rgba(77,181,255,.32)}.battery-action.green{background:rgba(56,211,159,.08);border-color:rgba(56,211,159,.28)}.battery-action.yellow{background:rgba(243,189,86,.08);border-color:rgba(243,189,86,.28)}
.battery-test-box{margin-top:12px;border:1px solid var(--line);border-radius:11px;padding:13px;background:#0f131a}.battery-secondary-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}
@media(max-width:1050px){.battery-metrics{grid-template-columns:repeat(3,1fr)}.battery-action-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.scan-input-row{grid-template-columns:1fr}.battery-focus-top{flex-direction:column}.battery-state{text-align:left}.battery-metrics{grid-template-columns:repeat(2,1fr)}.scan-detail-grid{grid-template-columns:1fr}.battery-action-grid{grid-template-columns:1fr}.battery-link-row{flex-wrap:wrap}}

/* Attendance kiosk + Google Calendar v4 */
.field-help{display:block;font-size:9px;color:#758092;line-height:1.45;margin-top:5px}
.kiosk-page{min-height:100vh;height:auto;overflow:auto;background:radial-gradient(circle at 15% 10%,rgba(109,93,252,.16),transparent 28%),var(--bg);color:var(--text)}
.kiosk-shell{width:min(1240px,94vw);margin:0 auto;padding:34px 0 50px}
.kiosk-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.kiosk-header h1{font-size:42px;margin:24px 0 4px}.kiosk-header p{margin:0}.kiosk-header-actions{display:flex;gap:8px;flex-wrap:wrap}
.kiosk-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:14px}.kiosk-scan-card{min-height:520px}.kiosk-scan-card .card-body{padding:28px}.kiosk-session{font-size:16px;padding:14px;margin-bottom:34px}.kiosk-id-label{margin-top:12px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.kiosk-id-input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:42px;text-align:center;font-weight:900;letter-spacing:.12em;padding:22px 18px;margin-top:8px}.kiosk-button{width:100%;font-size:18px;padding:17px;margin-top:12px}.kiosk-result{margin-top:22px;padding:20px;border-radius:12px;border:1px solid var(--line);display:flex;flex-direction:column;gap:7px}.kiosk-result strong{font-size:17px}.kiosk-result span{font-size:14px;line-height:1.45}.kiosk-result small{color:#8793a4}.kiosk-result.success{background:rgba(56,211,159,.09);border-color:rgba(56,211,159,.3);color:#7be5c0}.kiosk-result.error{background:rgba(255,107,119,.08);border-color:rgba(255,107,119,.28);color:#ff9ba4}.kiosk-empty{text-align:center;padding:90px 24px}.kiosk-empty h2{font-size:28px}.kiosk-recent-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.kiosk-recent-row:last-child{border-bottom:0}.kiosk-recent-row strong{display:block;font-size:13px}.kiosk-recent-row span:not(.pill){display:block;font-size:10px;color:#7e8999;margin-top:4px}.kiosk-unlock{width:min(460px,92vw);margin:12vh auto;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:32px;box-shadow:0 24px 70px rgba(0,0,0,.35);text-align:center}.kiosk-unlock h1{margin:20px 0 8px}.kiosk-unlock p{line-height:1.5}.kiosk-mark{margin:0 auto;width:48px;height:48px}.kiosk-unlock .kiosk-id-input{font-size:26px;letter-spacing:.16em}
@media(max-width:900px){.kiosk-grid{grid-template-columns:1fr}.kiosk-header{align-items:flex-start;flex-direction:column}.kiosk-header h1{font-size:34px}.kiosk-id-input{font-size:32px}.kiosk-recent{min-height:0}}
@media(max-width:560px){.kiosk-shell{width:100%;padding:20px 14px}.kiosk-scan-card .card-body{padding:18px}.kiosk-id-input{font-size:25px;padding:19px 10px}.kiosk-button{font-size:16px}}


/* Invite-only signup + Settings v5 */
.signup-link{margin-top:18px;text-align:center;font-size:11px;color:var(--muted)}
.code-input{text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.04em}
.signup-created{display:flex;flex-direction:column;gap:8px}.signup-code-reveal{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.signup-code-reveal .code{font-size:15px;padding:7px 10px;user-select:all}
#registration-codes{scroll-margin-top:82px}
