@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--navy:#002d64;--navy-700:#013a80;--navy-50:#eef3fa;--orange:#fb4404;--orange-600:#e03c00;--orange-50:#fff1ec;--ink:#0f1f38;--muted:#5b6b83;--muted-2:#8996a8;--line:#e5eaf1;--surface:#ffffff;--bg:#f7f8fb;--success:#1f9d55;--success-bg:#eaf7ee;--danger:#c8391f;--danger-bg:#fdece7;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:999px;--shadow-sm:0 1px 2px rgba(15,31,56,.05);--shadow-md:0 8px 24px rgba(0,45,100,.08);--shadow-lg:0 20px 60px rgba(0,26,60,.16);--font:"Inter",system-ui,sans-serif;--fs-h1:32px;--fs-h2:24px;--fs-h3:16px;--fs-body:14px;--fs-body-sm:12px;--fs-caption:11px;--ease:cubic-bezier(.4,0,.2,1);--dur:.16s;font-family:var(--font);color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}.app{min-height:100vh}button,input,select{font-family:inherit}button{transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}button:disabled{opacity:.45;cursor:not-allowed}:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.hero{background:var(--surface);border-bottom:1px solid var(--line);padding:var(--space-8) var(--space-6) var(--space-6);text-align:center}.hero-inner{max-width:900px;margin:auto}.eyebrow{font-size:var(--fs-caption);font-weight:800;letter-spacing:.16em;color:var(--muted-2);margin-bottom:var(--space-2)}.hero h1{margin:0;color:var(--navy);font-size:var(--fs-h1);letter-spacing:-.03em;line-height:1.15}.hero p{color:var(--muted);font-size:var(--fs-body);margin:var(--space-2) auto 0;max-width:640px;line-height:1.5}.shell{display:flex;max-width:1440px;margin:auto;min-height:calc(100vh - 190px)}.sidebar{width:240px;flex-shrink:0;border-right:1px solid var(--line);background:var(--surface);padding:var(--space-6) var(--space-3);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-2) var(--space-6)}.brand-mark{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800}.brand strong{display:block;font-size:var(--fs-body-sm);color:var(--ink)}.brand small{display:block;color:var(--muted-2);font-size:var(--fs-caption);margin-top:1px}nav{display:grid;gap:var(--space-1)}.nav-item{border:0;background:transparent;color:var(--muted);display:flex;align-items:center;gap:var(--space-3);height:44px;padding:0 var(--space-3);border-radius:var(--radius-sm);text-align:left;font:inherit;font-size:var(--fs-body-sm);font-weight:600;cursor:pointer}.nav-item span{flex:1}.nav-item:hover,.nav-item.active{background:var(--navy-50);color:var(--navy)}.logout-item{margin-top:var(--space-2);color:var(--danger)}.logout-item:hover{background:var(--danger-bg)}.connection{margin-top:auto;border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3);display:flex;gap:var(--space-2);align-items:center}.connection svg{color:var(--success);flex-shrink:0}.connection.offline svg{color:var(--orange)}.connection strong,.connection small{display:block}.connection strong{font-size:var(--fs-body-sm)}.connection small{font-size:var(--fs-caption);color:var(--muted-2);margin-top:1px}.content{flex:1;padding:var(--space-8);min-width:0}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.page-header h2{font-size:var(--fs-h2);letter-spacing:-.02em;margin:0;color:var(--navy);font-weight:800}.page-header p{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--fs-body-sm)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-6);box-shadow:var(--shadow-sm)}.card-title,.toolbar,.leader-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.card h3,.leader-head h3{margin:0;font-size:var(--fs-h3);color:var(--ink);font-weight:700}.card p{font-size:var(--fs-body-sm);color:var(--muted);margin:var(--space-1) 0 0;line-height:1.5}.muted-icon{color:var(--muted-2)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-bottom:var(--space-4)}.stat{display:flex;gap:var(--space-4);align-items:center}.stat-icon{width:44px;height:44px;border-radius:var(--radius-sm);background:var(--navy-50);color:var(--navy);display:grid;place-items:center;flex-shrink:0}.stat-icon svg{width:20px;height:20px}.stat span,.stat strong{display:block}.stat span{font-size:var(--fs-caption);color:var(--muted)}.stat strong{font-size:var(--fs-h2);color:var(--navy);margin-top:var(--space-1);font-weight:800}.dashboard-grid,.engage-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:var(--space-4);margin-bottom:var(--space-4)}.top-exhibitor{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-6)}.rank-big{font-size:var(--fs-h2);font-weight:800;color:var(--orange)}.top-exhibitor div:nth-child(2){flex:1}.top-exhibitor strong,.top-exhibitor small{display:block}.top-exhibitor strong{font-size:var(--fs-body)}.top-exhibitor small{font-size:var(--fs-caption);color:var(--muted-2);margin-top:var(--space-1)}.top-exhibitor>b{font-size:var(--fs-h3);color:var(--navy)}.primary,.secondary,.danger{border:0;border-radius:var(--radius-sm);height:44px;padding:0 var(--space-5);font:inherit;font-size:var(--fs-body-sm);font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);white-space:nowrap}.primary{background:var(--navy);color:#fff}.primary:hover:not(:disabled){background:var(--navy-700)}.secondary{background:var(--navy-50);color:var(--navy)}.secondary:hover:not(:disabled){background:#e3ecf7}.danger{background:var(--danger-bg);color:var(--danger)}.danger:hover:not(:disabled){background:#fbdcd3}.full{width:100%}.large{height:48px;font-size:var(--fs-body)}.toolbar{margin-bottom:var(--space-4)}.search{height:44px;border:1px solid var(--line);border-radius:var(--radius-sm);display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-4);min-width:260px;color:var(--muted-2);background:var(--surface)}.search input{border:0;outline:0;background:transparent;font:inherit;font-size:var(--fs-body-sm);width:100%;color:var(--ink)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:var(--fs-body-sm)}th{text-align:left;color:var(--muted-2);font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.06em;font-weight:700;border-bottom:1px solid var(--line);padding:var(--space-3) var(--space-2)}td{border-bottom:1px solid var(--line);padding:var(--space-4) var(--space-2);color:var(--muted)}td strong{color:var(--ink)}td small{display:block;color:var(--muted-2);font-size:var(--fs-caption);margin-top:1px}.badge{background:var(--navy-50);color:var(--navy);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-weight:700;font-size:var(--fs-caption)}.danger-icon{border:0;background:transparent;color:var(--muted-2);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm)}.danger-icon:hover{color:var(--danger);background:var(--danger-bg)}.icon-btn{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);padding:var(--space-2);color:var(--navy);cursor:pointer;display:inline-flex;align-items:center}.icon-btn:hover{background:var(--navy-50);border-color:var(--navy-50)}.row-actions{display:flex;gap:var(--space-1);justify-content:flex-end}.empty{text-align:center;color:var(--muted-2);padding:var(--space-8) var(--space-4);font-size:var(--fs-body-sm)}.form{display:grid;gap:var(--space-4);margin-top:var(--space-5)}.form label{font-size:var(--fs-caption);font-weight:700;color:var(--muted)}.form input,.form select,.setting-row input{display:block;width:100%;margin-top:var(--space-2);height:44px;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);padding:0 var(--space-4);font:inherit;font-size:var(--fs-body-sm);outline:none;color:var(--ink)}.form input:focus,.form select:focus{border-color:var(--navy);box-shadow:0 0 0 3px var(--navy-50)}.hint{font-size:var(--fs-caption);color:var(--muted-2);margin:calc(var(--space-2) * -1) 0 0}.divider{text-align:center;border-top:1px solid var(--line);height:1px;margin:var(--space-2) 0}.divider span{position:relative;top:-9px;background:var(--surface);padding:0 var(--space-2);font-size:var(--fs-caption);color:var(--muted-2);font-weight:800;letter-spacing:.04em}.warning{background:var(--orange-50);border:1px solid #fbcfb8;color:#a34519;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--fs-body-sm);display:flex;gap:var(--space-2);align-items:center}.question-editor{border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4);display:grid;gap:var(--space-2);background:var(--bg)}.question-editor-head{display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-body-sm);color:var(--muted);font-weight:700}.option-row{display:flex;align-items:center;gap:var(--space-2);font-weight:400}.option-row input[type=radio]{margin:0;flex-shrink:0;width:auto}.option-row input:not([type=radio]){margin:0;flex:1;min-width:0;width:auto;height:40px}.selected-card{align-self:start}.booth-code{font-size:var(--fs-h1);font-weight:800;color:var(--navy-50);margin:var(--space-5) 0 var(--space-1)}.selected-card h3{font-size:var(--fs-h3)}.mini-stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:var(--space-5);padding-top:var(--space-4);gap:var(--space-3)}.mini-stats span,.mini-stats strong{display:block}.mini-stats span{font-size:var(--fs-caption);color:var(--muted-2)}.mini-stats strong{font-size:var(--fs-h3);color:var(--navy);margin-top:var(--space-1)}.ranking-list{margin-top:var(--space-4)}.rank-row{display:flex;align-items:center;gap:var(--space-4);border-top:1px solid var(--line);padding:var(--space-4) var(--space-1);transition:background var(--dur) var(--ease)}.rank-row:hover{background:var(--bg)}.rank{width:26px;text-align:center;font-weight:800;color:var(--muted-2)}.rank-row.first .rank{color:var(--orange)}.rank-name{flex:1;min-width:0}.rank-name strong,.rank-name small{display:block}.rank-name strong{font-size:var(--fs-body-sm)}.rank-name small{font-size:var(--fs-caption);color:var(--muted-2);margin-top:1px}.rank-meta{display:flex;gap:var(--space-4);color:var(--muted-2);font-size:var(--fs-caption)}.rank-row>b{color:var(--navy);min-width:65px;text-align:right}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-4)}.report-card>svg{color:var(--orange);margin-bottom:var(--space-4)}.report-card h3{margin-bottom:var(--space-1)}.report-card p{min-height:36px;margin-bottom:var(--space-4)}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:var(--space-4)}.summary-grid div{border-right:1px solid var(--line);padding:var(--space-1) var(--space-4)}.summary-grid div:first-child{padding-left:0}.summary-grid div:last-child{border:0}.summary-grid span,.summary-grid strong{display:block}.summary-grid span{font-size:var(--fs-caption);color:var(--muted-2)}.summary-grid strong{font-size:var(--fs-h3);color:var(--navy);margin-top:var(--space-1)}.settings-card{max-width:800px}.setting-row{display:grid;grid-template-columns:1fr 90px 1.4fr;gap:var(--space-3);align-items:center;padding:var(--space-4) 0;border-top:1px solid var(--line)}.setting-row div strong,.setting-row div small{display:block}.setting-row div strong{font-size:var(--fs-body-sm)}.setting-row div small{font-size:var(--fs-caption);color:var(--muted-2);margin-top:1px}.setting-row input{margin:0}.setting-row .points{width:90px}.danger-zone{margin-top:var(--space-4);border-color:#f3d7cd;max-width:800px}.modal-backdrop{position:fixed;inset:0;background:#061a2e80;display:grid;place-items:center;padding:var(--space-5);z-index:20}.modal{background:var(--surface);border-radius:var(--radius-lg);width:min(440px,100%);max-height:90vh;overflow:auto;padding:var(--space-6);position:relative;box-shadow:var(--shadow-lg)}.modal h3{margin:0;color:var(--navy);font-size:var(--fs-h3);font-weight:800}.close{position:absolute;right:var(--space-3);top:var(--space-3);border:0;background:var(--bg);border-radius:var(--radius-sm);padding:var(--space-2);cursor:pointer;color:var(--muted)}.close:hover{background:var(--line)}.scanner-modal{width:min(560px,100%)}.scanner-modal video{width:100%;aspect-ratio:4/3;background:#0a1f35;border-radius:var(--radius-md);object-fit:cover;margin-top:var(--space-4)}.scanner-note{font-size:var(--fs-caption);color:var(--muted);text-align:center;margin-top:var(--space-3)}.toast{position:fixed;bottom:var(--space-5);right:var(--space-5);background:var(--navy);color:#fff;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);display:flex;gap:var(--space-2);align-items:center;font-size:var(--fs-body-sm);box-shadow:var(--shadow-lg);z-index:30}.mobile-top{display:none}.qr-modal{display:grid;justify-items:center;gap:var(--space-2);text-align:center;margin-top:var(--space-3)}.qr-modal h3{margin-top:var(--space-2)}.qr-modal p{margin:0}.qr-modal small.muted{color:var(--muted-2);word-break:break-all}.quiz-questions{display:grid;gap:var(--space-6)}.quiz-question strong{display:block;font-size:var(--fs-body);color:var(--ink);margin-bottom:var(--space-3);font-weight:700}.quiz-options{display:grid;gap:var(--space-2)}.quiz-option{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);padding:var(--space-4);text-align:left;font:inherit;font-size:var(--fs-body-sm);cursor:pointer;color:var(--ink);transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease),transform var(--dur) var(--ease)}.quiz-option:hover:not(:disabled){border-color:var(--navy);transform:translateY(-1px)}.quiz-option.correct{border-color:var(--success);background:var(--success-bg);color:#1c6b3d}.quiz-option.incorrect{border-color:#e6b199;background:var(--orange-50);color:#a34519}.quiz-result-inline{margin-top:var(--space-5);border-top:1px solid var(--line);padding-top:var(--space-4);display:grid;gap:var(--space-3)}.progress-bar{height:10px;border-radius:var(--radius-full);background:var(--navy-50);overflow:hidden;margin-top:var(--space-3)}.progress-bar-fill{height:100%;background:var(--orange);border-radius:var(--radius-full);transition:width .3s var(--ease)}.badge-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.badge-row .badge{background:var(--orange-50);color:#c1440a;font-weight:700}.loading-shell{text-align:center;color:var(--muted-2);font-size:var(--fs-body-sm);padding:var(--space-16) var(--space-5)}.login-card{max-width:380px;margin:var(--space-5) auto;text-align:center}.login-icon{width:48px;height:48px;border-radius:var(--radius-md);background:var(--navy-50);color:var(--navy);display:grid;place-items:center;margin:0 auto var(--space-1)}.login-card .form{text-align:left}@media(max-width:1050px){.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.engage-grid{grid-template-columns:1fr}.sidebar{width:200px}.content{padding:var(--space-6)}}@media(max-width:720px){.hero{padding:var(--space-6) var(--space-4)}.hero h1{font-size:24px}.hero p{font-size:var(--fs-body-sm)}.shell{display:block}.sidebar{display:none}.content{padding:var(--space-4)}.mobile-top{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);height:56px}.mobile-top strong{font-size:var(--fs-body-sm);flex:1}.dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--orange)}.online-dot{background:var(--success)}.stat-grid{grid-template-columns:1fr 1fr;gap:var(--space-3)}.stat{padding:var(--space-4)}.stat strong{font-size:20px}.stat-icon{width:36px;height:36px}.report-grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:1fr 1fr;gap:var(--space-4)}.summary-grid div{border:0;padding:0}.rank-meta{display:none}.page-header{margin-bottom:var(--space-4)}.toolbar{align-items:stretch;flex-direction:column}.search,.toolbar .primary{width:100%}.setting-row{grid-template-columns:1fr 70px}.setting-row input:last-child{grid-column:1/-1}.connection{margin-top:var(--space-5)}}@media(max-width:430px){.stat-grid{grid-template-columns:1fr}.card{padding:var(--space-4)}.hero h1{font-size:21px}.table-wrap{margin:0 calc(var(--space-1) * -1)}th,td{padding:var(--space-2) var(--space-1)}}
