@font-face{font-family:Gotham;src:url(/assets/fonts/gotham/Gotham-Book.otf)format("opentype");font-weight:400;font-display:swap}@font-face{font-family:Gotham;src:url(/assets/fonts/gotham/Gotham-Medium.otf)format("opentype");font-weight:500;font-display:swap}@font-face{font-family:Gotham;src:url(/assets/fonts/gotham/Gotham-Bold.otf)format("opentype");font-weight:700;font-display:swap}:root{--primary:#193a53;--blue:#176b87}*{box-sizing:border-box}body{color:#111;background:#fff;margin:0;font-family:Gotham,Arial,sans-serif}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed}h1,h2,p{margin-top:0}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #65b6ff}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.button{text-align:center;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:13px 20px;font-size:16px;font-weight:700;display:inline-flex}.button.primary{background:var(--primary);color:#fff}.button.secondary{color:var(--primary);background:#fff}.button.ghost{color:inherit;background:0 0}.button:disabled{color:#6e6e73;background:#d9d9d9}.input{color:#111;background:#fff;border:1px solid #d1d5db;border-radius:12px;outline:0;width:100%;min-height:52px;padding:12px 16px;font-size:16px;display:block}.input:focus{border-color:var(--blue);box-shadow:0 0 0 2px #0070d133}.auth-screen{justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.auth-content{width:100%;max-width:430px}.auth-logo{object-fit:contain;margin:0 auto 28px;display:block}.login-form{gap:16px;display:grid}.login-form .button{background:var(--blue);border-radius:12px;min-height:48px}.agenda-screen{background:linear-gradient(145deg,#f0f6f9,#e1edf2);flex-direction:column;justify-content:center;width:100%;min-height:100dvh;padding:24px;display:flex}.agenda-selection{flex-direction:column;justify-content:center;gap:36px;width:100%;min-height:0;display:flex}.agenda-list{flex-direction:column;gap:16px;width:100%;margin:0 auto;padding:0 20px;display:flex}.agenda-link{background:var(--primary);color:#fff;text-align:center;border-radius:999px;width:100%;padding:22px;font-size:16px;font-weight:700;line-height:24px}.agenda-link.inactive{background:#4b5563}.agenda-logout{justify-content:center;align-items:center;margin-top:36px;display:flex}.agenda-logout button{color:var(--primary);background:0 0;border:0;padding:15px;font-size:16px}.agenda-message{color:#fff;text-align:center;width:100%;max-width:700px;margin:0 auto;padding:24px;line-height:1.8}.agenda-message p{overflow-wrap:anywhere}.pco-screen{background:var(--blue);min-height:100dvh;position:relative}.pco-screen-content{background:#0009;width:100%;min-height:100dvh;margin:auto;padding:10vh 24px 32px}.back-link{align-items:center;display:inline-flex}.ticket-number-form{color:#fff;flex-direction:column;align-items:center;gap:16px;width:100%;margin-top:80px;display:flex}.ticket-number-form label{text-align:left;width:100%}.ticket-number-form .button{border-radius:16px;width:100%}.verification-card{background:#fff;border-radius:16px;margin-top:80px;padding:20px}.participant-details{flex-direction:column;gap:32px;margin:0 0 32px;display:flex}.participant-details dt{margin-bottom:8px;font-size:12px;line-height:1}.participant-details dd{overflow-wrap:anywhere;margin:0;font-size:18px;font-weight:700}.verification-card .button{width:100%}.home-link{text-align:center;color:#fff;margin-top:24px;line-height:1.8;display:block}.error{color:#aa2929;overflow-wrap:anywhere;background:#fff0ef;border-radius:8px;padding:16px;font-size:14px;line-height:1.7}.success-card{background:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:32px;margin-top:80px;padding:64px 20px;display:flex}.success-card h1{text-align:center;margin:0;font-size:30px;font-weight:700;line-height:1.35}.success-message{color:#147447;background:#e6f7ee;border-radius:8px;padding:16px;font-size:14px;line-height:1.6}.qr-screen{color:#fff;background:#111;min-height:100dvh;position:relative}.qr-header{z-index:3;background:linear-gradient(#111e,#0000);align-items:center;gap:20px;width:100%;padding:16px;display:flex;position:absolute;top:0;left:0}.qr-header h1{margin:0;font-size:20px;font-weight:700}.qr-header a{padding:2px;display:flex}.camera-stage{height:84dvh;position:relative;overflow:hidden}.camera-stage video{object-fit:cover;width:100%;height:100%;display:block}.camera-stage video.processing{filter:brightness(.25)}.scan-frame{pointer-events:none;width:min(331px,85vw);height:min(356px,48vh);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.scan-frame i{border:4px solid #fff;border-radius:4px;width:38px;height:38px;position:absolute}.scan-frame i:first-child{border-bottom:0;border-right:0;top:0;left:0}.scan-frame i:nth-child(2){border-bottom:0;border-left:0;top:0;right:0}.scan-frame i:nth-child(3){border-top:0;border-right:0;bottom:0;left:0}.scan-frame i:nth-child(4){border-top:0;border-left:0;bottom:0;right:0}.scan-frame>span{background:#1d4ed8;width:90%;height:4px;animation:2.5s ease-in-out infinite alternate scan-line;position:absolute;top:5%;left:5%}.camera-placeholder{text-align:center;background:#111b;flex-direction:column;justify-content:center;align-items:center;gap:15px;padding:24px;font-size:14px;display:flex;position:absolute;inset:0}.camera-placeholder .button{background:var(--blue)}.scan-progress{background:#0007;place-content:center;display:grid;position:absolute;inset:0}.scanner-messages{z-index:2;text-align:center;max-width:650px;margin:auto;position:absolute;bottom:6vh;left:24px;right:24px}.scanner-actions{z-index:4;background:var(--blue);border:1px solid #fff4;border-radius:24px 24px 0 0;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;min-height:20dvh;margin-top:36px;padding:16px;display:flex;position:fixed;bottom:0}.scanner-actions>p{margin:0;font-size:18px;font-weight:700}.scanner-actions>.button{width:80%;min-height:40px;padding:22px}.scan-mode-link{text-underline-offset:3px;font-size:12px;text-decoration:underline}.demo-notice{z-index:20;color:#6c5014;text-align:center;pointer-events:none;background:#fff3cc;padding:6px;font-size:11px;position:fixed;top:0;left:0;right:0}.demo-notice~.qr-screen .qr-header{padding-top:40px}.admin-screen{max-width:700px;margin:auto;padding:70px 24px;line-height:1.8}.admin-screen h1{font-size:28px}.result-screen{background:#f3f4f6;min-height:100vh}.result-screen header{background:#fff;padding:16px;font-size:20px;box-shadow:0 1px 5px #0001}.result-content{max-width:800px;margin:auto;padding:32px 24px}.result-content h1{text-align:center;color:#22824b;font-size:24px}.result-details{background:#fff;border-radius:8px;gap:24px;padding:20px;display:grid}.result-details dt{color:#777;margin-bottom:6px;font-size:12px}.result-details dd{overflow-wrap:anywhere;margin:0;font-weight:500}.result-content>.button{width:100%;margin-top:20px}.result-content>.home-link{color:#111}.result-details>div:nth-child(4){border-top:1px dashed #aaa;padding-top:20px}@keyframes scan-line{0%{top:5%}to{top:95%}}@media (min-width:1024px){.agenda-list{width:50vw}.pco-screen.narrow .pco-screen-content{width:40vw}}@media (prefers-reduced-motion:reduce){.scan-frame>span{animation:none;top:50%}}@media (max-width:480px){.qr-header h1{font-size:16px}.qr-header{gap:12px}.success-card h1{font-size:26px}.participant-details dd{font-size:16px}.scanner-messages{bottom:8vh;left:12px;right:12px}.error{font-size:12px}}.auth-heading{text-align:center;margin-bottom:32px}.auth-heading h1{color:var(--primary);font-size:30px}.auth-heading p{color:#526471;line-height:1.6}.agenda-heading{text-align:center;color:var(--primary)}.agenda-heading p{letter-spacing:.16em;font-size:12px;font-weight:700}.agenda-heading h1{margin-bottom:12px;font-size:36px}.agenda-heading span{color:#526471;line-height:1.6}.result-content .participant-details{color:#111;background:#fff;border-radius:12px;padding:24px}.success-card svg{color:#84e9b0;margin-bottom:20px}.admin-dashboard{color:#193a53;background:#f3f6f8;min-height:100vh;padding:48px 32px}.admin-header{justify-content:space-between;align-items:center;gap:24px;max-width:1600px;margin:0 auto 28px;display:flex}.admin-eyebrow{letter-spacing:.12em;color:#617584;margin-bottom:12px;font-size:11px;font-weight:700}.admin-header h1{margin-bottom:10px;font-size:32px}.admin-header p:last-child{color:#617584;margin-bottom:0;font-size:14px;line-height:1.6}.admin-header .button{border:1px solid #dce5eb;min-height:44px;padding:10px 20px;font-size:14px}.admin-table-panel{background:#fff;border:1px solid #dce5eb;border-radius:16px;max-width:1600px;margin:auto;overflow:hidden;box-shadow:0 4px 20px #193a5305}.admin-modes{border-bottom:1px solid #e5ebef;gap:4px;padding:20px 24px 0;display:flex;overflow-x:auto}.admin-mode{white-space:nowrap;color:#617584;border-bottom:3px solid #0000;padding:12px 16px 16px;font-size:14px;display:block}.admin-mode.selected{color:#176b87;border-bottom-color:#176b87;font-weight:700}.admin-search{flex-wrap:wrap;align-items:flex-end;gap:12px;padding:24px;display:flex}.admin-search label{margin-bottom:8px;font-size:12px;font-weight:500;display:block}.admin-search-field{flex:320px}.admin-search .input{border-radius:8px;min-height:44px;font-size:13px}.admin-page-size{flex:none}.admin-select{width:136px;position:relative}.admin-select select{appearance:none;color:#193a53;width:100%;height:44px;font:inherit;cursor:pointer;background:#f8fafb;border:1px solid #d1d5db;border-radius:8px;padding:0 40px 0 14px;font-size:13px;font-weight:500;display:block}.admin-select svg{color:#617584;pointer-events:none;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.admin-select select:hover{background:#f0f6f8;border-color:#8aa9b7}.admin-select select:focus-visible{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #176b8720}.admin-select select:focus-visible+svg{color:var(--blue)}.admin-select option{color:#193a53;background:#fff;font-weight:400}.admin-search .button{border:0;border-radius:8px;min-height:44px;padding:10px 24px;font-size:14px}.admin-clear{color:#176b87;text-underline-offset:3px;align-self:center;margin-top:20px;font-size:12px;text-decoration:underline}.admin-table-scroll{overflow-x:auto}.admin-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.admin-table thead{background:#f5f8fa}.admin-table th,.admin-table td{vertical-align:top;border-bottom:1px solid #e8eef2;padding:17px 20px;line-height:1.6}.admin-table thead th{white-space:nowrap;letter-spacing:.02em;color:#617584;font-size:11px;font-weight:700}.admin-table tbody th{min-width:170px;font-weight:500}.admin-table td{overflow-wrap:anywhere;max-width:260px}.admin-table tbody tr:hover{background:#f8fbfc}.admin-table .admin-participant-code{min-width:150px;font-family:ui-monospace,monospace;font-size:12px}.admin-checkin-time{color:#22764b;min-width:160px;font-size:12px;display:inline-block}.admin-not-checked{color:#87949d;white-space:nowrap;font-size:12px}.admin-table .admin-empty{text-align:center;color:#617584;max-width:none;padding:64px 24px}.admin-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;font-size:12px;display:flex}.admin-pagination p{color:#617584;margin:0}.admin-pagination nav{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.admin-page-button{background:#fff;border:1px solid #dce5eb;border-radius:8px;padding:9px 12px}.admin-page-button:not(.disabled):hover{background:#f0f7f9;border-color:#176b87}.admin-page-button.disabled{color:#a6afb6;cursor:default;background:#f6f8fa}.admin-page-number{color:#617584}.admin-data-error{color:#a02f2f;background:#fff5f5;border:1px solid #efd0d0;border-radius:8px;margin:0 24px 24px;padding:16px;font-size:13px}.admin-data-error p{margin-bottom:8px}.admin-data-error a{text-decoration:underline}@media (max-width:640px){.admin-dashboard{padding:40px 12px 24px}.admin-header{gap:12px;padding:0 8px}.admin-header h1{font-size:26px}.admin-header .button{padding:8px 12px}.admin-modes{padding:12px 8px 0}.admin-mode{padding:12px 10px;font-size:12px}.admin-search{padding:20px 16px}.admin-search-field{flex-basis:100%}.admin-pagination{padding:20px 16px}.admin-pagination nav{gap:8px}.admin-page-number{font-size:11px}}.admin-search .admin-export{white-space:nowrap;border:1px solid #dce5eb}
