@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:#381225;font-synthesis:none;text-rendering:optimizelegibility;--pink:#df2b77;--pink-dark:#b9185b;--ink:#381225;--muted:#8d6577;--border:#b7537e2e;--surface:#ffffffe6;--shadow:0 20px 65px #641c3b14;background:#f8f3f5;font-family:Geist Variable,Geist,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px;min-height:100%}body{background:radial-gradient(circle at 84% 0,#eea2c140,#0000 25rem),#f8f3f5;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}.login-page{grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);min-height:100vh;display:grid}.login-brand{color:#fff;background:linear-gradient(145deg,#5f1538 0%,#9b1852 45%,#e3327c 100%);align-content:center;padding:clamp(42px,8vw,120px);display:grid;position:relative;overflow:hidden}.brand-mark{color:#fff;background:linear-gradient(135deg,#f178a9,#dc246e);border-radius:15px;place-items:center;width:46px;height:46px;display:grid;box-shadow:0 12px 28px #99144c38}.brand-mark svg{width:21px}.login-brand>.brand-mark{z-index:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff29;width:56px;height:56px;margin-bottom:34px;box-shadow:inset 0 0 0 1px #ffffff4d}.login-brand>span{z-index:1;letter-spacing:.22em;font-size:11px;font-weight:760}.login-brand h1{z-index:1;letter-spacing:-.07em;max-width:720px;margin:22px 0 24px;font-size:clamp(50px,6.7vw,96px);font-weight:530;line-height:.92}.login-brand>p{z-index:1;color:#ffffffc7;max-width:500px;margin:0;font-size:clamp(16px,1.6vw,21px);line-height:1.55}.login-orb{filter:blur(1px);background:#ffffff14;border-radius:50%;position:absolute}.orb-one{width:400px;height:400px;top:-130px;right:-90px}.orb-two{width:260px;height:260px;bottom:-130px;right:12%;box-shadow:inset 0 0 0 1px #ffffff1f}.login-form-wrap{background:#fffafb;place-items:center;padding:36px;display:grid}.login-form-wrap form{width:min(440px,100%);display:grid}.eyebrow{color:var(--pink);letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:7px;font-size:10px;font-weight:780;display:inline-flex}.eyebrow svg{width:15px}.login-form-wrap h2{letter-spacing:-.045em;margin:20px 0 8px;font-size:38px;font-weight:620}.login-form-wrap form>p{color:var(--muted);margin:0 0 34px;font-size:14px;line-height:1.6}.login-form-wrap label{margin-bottom:9px;font-size:12px;font-weight:700}.login-form-wrap input{border:1px solid var(--border);width:100%;height:54px;color:var(--ink);background:#fff;border-radius:14px;outline:none;padding:0 16px;font-size:15px}.login-form-wrap input:focus{border-color:var(--pink);box-shadow:0 0 0 4px #df2b771c}.login-form-wrap button,.loading-page button{background:var(--pink);color:#fff;border:0;border-radius:14px;justify-content:center;align-items:center;gap:9px;height:54px;margin-top:16px;font-size:13px;font-weight:730;display:flex;box-shadow:0 14px 30px #df2b7733}.login-form-wrap button:hover:not(:disabled){background:var(--pink-dark)}.login-form-wrap button:disabled{opacity:.5}.login-form-wrap button svg{width:17px}.login-form-wrap small{color:#a17b8c;text-align:center;margin-top:18px;font-size:10px}.form-error{color:#a72a43;background:#fff1f4;border:1px solid #efb5c0;border-radius:11px;margin-top:11px;padding:11px 13px;font-size:12px}.loading-page{text-align:center;align-content:center;place-items:center;gap:13px;min-height:100vh;padding:24px;display:grid}.loading-page strong{font-size:20px}.loading-page p{max-width:440px;color:var(--muted);margin:0;font-size:13px}.loading-page button{width:150px}.spinner{border:3px solid #df2b7729;border-top-color:var(--pink);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:.8s linear infinite spin}.app-shell{min-height:100vh}.topbar{z-index:30;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffafcdb;justify-content:space-between;align-items:center;gap:24px;height:76px;padding:0 max(22px,50vw - 640px);display:flex;position:sticky;top:0}.brand{color:inherit;align-items:center;gap:11px;text-decoration:none;display:flex}.brand .brand-mark{border-radius:13px;width:40px;height:40px}.brand>span:last-child{gap:2px;display:grid}.brand strong{letter-spacing:-.02em;font-size:14px}.brand small{color:var(--muted);font-size:9px}.topbar-actions{align-items:center;gap:9px;display:flex}.topbar-actions button,.topbar-actions .live-status{border:1px solid var(--border);color:#673047;background:#fff;border-radius:11px;align-items:center;gap:7px;min-height:38px;padding:0 12px;font-size:10px;font-weight:680;display:inline-flex}.topbar-actions button:hover:not(:disabled){color:var(--pink);border-color:#df2b7773}.topbar-actions button svg{width:14px}.topbar-actions .live-status{color:#187149;background:#effaf5;border-color:#249f6633}.live-status i{background:#1ea467;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #1ea4671a}.topbar-actions .icon-button{justify-content:center;width:38px;padding:0}.dashboard{gap:20px;width:min(1280px,100% - 44px);margin:0 auto;padding:34px 0 70px;display:grid}.hero-card{color:#fff;background:linear-gradient(118deg,#560d2ff5,#bd185eeb),radial-gradient(circle at 100% 0,#ff9fc6,#0000 50%);border-radius:25px;justify-content:space-between;align-items:end;gap:30px;min-height:245px;padding:clamp(28px,5vw,58px);display:flex;position:relative;overflow:hidden;box-shadow:0 28px 80px #69143b2e}.hero-card:after{content:"";border:1px solid #fff3;border-radius:50%;width:330px;height:330px;position:absolute;top:-170px;right:-60px;box-shadow:0 0 0 65px #ffffff0a,0 0 0 130px #ffffff08}.hero-card>*{z-index:1}.hero-card .eyebrow{color:#ffc5dd}.hero-card h1{letter-spacing:-.055em;max-width:850px;margin:15px 0 12px;font-size:clamp(33px,5vw,62px);font-weight:560;line-height:.98}.hero-card p{color:#ffffffbd;margin:0;font-size:13px}.hero-card a{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1c;border:1px solid #ffffff47;border-radius:12px;flex:none;align-items:center;gap:7px;min-height:44px;padding:0 15px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.hero-card a svg{width:15px}.notice{border:1px solid;border-radius:13px;align-items:center;gap:10px;min-height:48px;padding:11px 15px;font-size:12px;font-weight:630;display:flex}.notice svg{width:17px}.notice.is-success{color:#176d49;background:#eefaf4;border-color:#a8ddc4}.notice.is-error{color:#a72a43;background:#fff1f4;border-color:#efb5c0}.metrics{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:18px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.metrics article{border-left:1px solid var(--border);align-items:center;gap:17px;min-height:130px;padding:24px 28px;display:flex}.metrics article:first-child{border-left:0}.metrics article>span{width:47px;height:47px;color:var(--pink);background:#ffe7f1;border-radius:15px;flex:0 0 47px;place-items:center;display:grid}.metrics article>span svg{width:20px}.metrics article>div{gap:3px;display:grid}.metrics small,.metrics p{color:var(--muted);margin:0;font-size:10px}.metrics strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:32px;font-weight:680}.participant-panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:18px;overflow:hidden}.participant-panel>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;min-height:106px;padding:20px 25px;display:flex}.participant-panel h2{letter-spacing:-.035em;margin:8px 0 4px;font-size:22px;font-weight:650}.participant-panel header p{color:var(--muted);margin:0;font-size:11px}.search{width:min(370px,100%);display:flex;position:relative}.search svg{color:#a57488;width:16px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search input{border:1px solid var(--border);width:100%;height:46px;color:var(--ink);background:#fff9fb;border-radius:13px;outline:none;padding:0 14px 0 42px;font-size:12px}.search input:focus{border-color:var(--pink);box-shadow:0 0 0 3px #df2b771a}.filters{border-bottom:1px solid var(--border);background:#fffafd;gap:7px;padding:13px 20px;display:flex}.filters button{min-height:34px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:7px;padding:0 11px;font-size:10px;font-weight:700;display:inline-flex}.filters button span{background:#f3e7ec;border-radius:7px;place-items:center;min-width:21px;height:21px;padding:0 5px;font-size:9px;display:grid}.filters button.active{color:var(--pink-dark);background:#ffe8f2;border-color:#df2b7733}.filters button.active span{background:#fff}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{color:#9a6b80;text-align:left;text-transform:uppercase;letter-spacing:.06em;background:#fff7fa;padding:12px 17px;font-size:9px;font-weight:760}td{color:#603046;vertical-align:middle;white-space:nowrap;border-top:1px solid #de84ab2e;padding:14px 17px;font-size:11px}td:first-child{align-items:center;gap:11px;min-width:250px;display:flex}td:first-child>span:last-child,.card-person>span:last-child{gap:3px;min-width:0;display:grid}td strong{color:var(--ink);font-size:11px}td small,.card-person small{max-width:230px;color:var(--muted);text-overflow:ellipsis;font-size:9px;overflow:hidden}.avatar{width:36px;height:36px;color:var(--pink-dark);background:#ffe6f0;border-radius:12px;flex:0 0 36px;place-items:center;font-size:9px;font-weight:790;display:grid}.attendance{align-items:center;gap:8px;display:flex}.status{color:#a74670;text-transform:capitalize;background:#fff0f6;border-radius:999px;align-items:center;gap:6px;min-height:28px;padding:0 9px;font-size:9px;font-weight:720;display:inline-flex}.status i{background:#e05792;border-radius:50%;width:6px;height:6px}.status.checked{color:#167a52;background:#e9f8f1}.status.checked i{background:#167a52}.attendance button{border:1px solid var(--pink);background:var(--pink);color:#fff;border-radius:9px;align-items:center;gap:6px;min-height:32px;padding:0 10px;font-size:9px;font-weight:730;display:inline-flex}.attendance button:hover:not(:disabled){background:var(--pink-dark)}.attendance button:disabled{opacity:.52}.attendance button svg{width:13px}.participant-cards{display:none}.empty{color:var(--muted);text-align:center;padding:52px 20px;font-size:12px}.participant-panel>footer{border-top:1px solid var(--border);min-height:55px;color:var(--muted);background:#fff8fb;justify-content:space-between;align-items:center;gap:20px;padding:11px 20px;font-size:9px;display:flex}.participant-panel>footer>div{align-items:center;gap:8px;display:flex}.participant-panel>footer button{border:1px solid var(--border);color:#9b3b64;background:#fff;border-radius:8px;place-items:center;width:28px;height:28px;padding:0;display:grid}.participant-panel>footer button:disabled{opacity:.35}.participant-panel>footer button svg{width:13px}.participant-panel>footer small{font-size:inherit;margin-left:8px}@media (width<=850px){.login-page{grid-template-columns:1fr}.login-brand{min-height:48vh;padding:48px 28px}.login-brand h1{font-size:clamp(45px,13vw,72px)}.login-form-wrap{min-height:52vh;padding:48px 24px}.metrics{grid-template-columns:1fr 1fr}.metrics article:nth-child(3){border-top:1px solid var(--border);border-left:0;grid-column:1/-1}.participant-panel>header{flex-direction:column;align-items:flex-start}.search{width:100%}.table-wrap{display:none}.participant-cards{gap:10px;padding:12px;display:grid}.participant-cards>article{border:1px solid var(--border);background:#fff;border-radius:14px;gap:14px;padding:16px;display:grid}.card-person{align-items:center;gap:11px;min-width:0;display:flex}.card-person strong{font-size:13px}.participant-cards dl{grid-template-columns:1fr 1fr;gap:12px;margin:0;display:grid}.participant-cards dl div:last-child{grid-column:1/-1}.participant-cards dt{color:#a17587;font-size:9px}.participant-cards dd{color:#5c2940;margin:4px 0 0;font-size:11px}.participant-cards .attendance{justify-content:space-between}.participant-cards .attendance button{min-height:40px;padding:0 14px;font-size:10px}}@media (width<=620px){.topbar{height:auto;min-height:70px;padding:10px 14px}.brand small,.live-status,.topbar-actions button:not(.icon-button){display:none}.dashboard{width:min(100% - 24px,1280px);padding-top:12px}.hero-card{border-radius:18px;flex-direction:column;justify-content:end;align-items:flex-start;min-height:265px;padding:25px 20px}.hero-card h1{font-size:36px}.hero-card a{justify-content:center;align-self:stretch}.metrics article{flex-direction:column;align-items:flex-start;gap:10px;min-height:115px;padding:16px}.metrics article>span{border-radius:12px;flex-basis:38px;width:38px;height:38px}.metrics strong{font-size:26px}.participant-panel{border-radius:16px}.filters{overflow-x:auto}.filters button{flex:none}.participant-panel>footer{flex-direction:column;align-items:flex-start}.participant-panel>footer>div{flex-wrap:wrap;width:100%}.participant-panel>footer small{width:100%;margin-left:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
