@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Montserrat:wght@400;500;600;700;800&display=swap";
:root{--bg:#101a24;--card:#172634;--card2:#1d3040;--blue:#3b9ed8;--green:#75b85b;--text:#f7fbff;--muted:#9aafbf;--soft:#7f96a8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:DM Sans,Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand,.button,.stat strong{font-family:Montserrat,Arial,sans-serif}a{color:inherit}.app-shell{background:radial-gradient(ellipse 65% 28% at 52% 20%,#2a587221,transparent 70%),var(--bg);flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#101a24ed;height:78px;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;gap:30px;max-width:1160px;height:100%;margin:auto;padding:0 28px;display:flex}.brand{color:var(--text);letter-spacing:-1.3px;text-align:left;background:0 0;border:0;align-items:center;gap:12px;font-size:21px;font-weight:800;line-height:1;display:flex}.brand>span:last-child{flex-direction:column;display:flex}.brand small{letter-spacing:3.3px;color:#98b1c0;margin-top:6px;font:700 8px Montserrat}.brand-dot{color:var(--blue)}.brand-icon{background:var(--blue);color:#fff;border-radius:11px;place-items:center;width:39px;height:39px;display:grid;box-shadow:0 5px #19628d,0 12px 22px #0004}.nav-links{align-items:center;gap:38px;margin-left:auto;margin-right:34px;display:flex}.nav-links button{color:var(--muted);white-space:nowrap;background:0 0;border:0;padding:28px 0;font-size:13px;font-weight:700}.top-actions{align-items:center;gap:14px;display:flex}.top-user{align-items:center;gap:10px;font-size:13px;font-weight:700;display:flex}.avatar{color:#ecf9ff;background:#335d72;border-radius:50%;place-items:center;font:800 12px Montserrat;display:grid}.avatar.small{width:34px;height:34px}.icon-btn{color:#b6c8d5;background:#203443;border:0;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.menu{display:none}.content{flex:1;width:100%;max-width:1160px;margin:0 auto;padding:0 28px}.loading-state{color:var(--muted);place-items:center;display:grid}.button{color:#fff;white-space:nowrap;border:0;border-radius:10px;justify-content:center;align-items:center;gap:11px;padding:14px 21px;font-size:12px;font-weight:800;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.button:hover{transform:translateY(-3px)}.button.primary{background:var(--blue);box-shadow:0 5px #186a9b,0 12px 24px #0004}.button.primary:hover{box-shadow:0 8px #186a9b,0 17px 29px #0005}.button.green-button{background:var(--green);color:#102416;box-shadow:0 5px #427e2e,0 12px 24px #0004}.button.subtle{background:#263e4e;box-shadow:0 5px #142838}.button.large{padding:18px 26px;font-size:13px}.button.full{width:100%}.nav-login{padding:11px 17px}.eyebrow{letter-spacing:2.3px;color:var(--blue);align-items:center;gap:9px;font:800 10px Montserrat;display:inline-flex}.live-dot{background:var(--green);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #75b85b26}.landing{text-align:center;padding-top:105px}.landing h1{letter-spacing:-6px;margin:20px auto 22px;font-size:clamp(54px,7.5vw,92px);font-weight:800;line-height:1.08}.landing h1 span{color:var(--blue)}.hero-copy{color:var(--muted);max-width:580px;margin:0 auto;font-size:16px;line-height:1.8}.hero-actions{justify-content:center;align-items:center;gap:25px;margin:31px 0 88px;display:flex}.hero-actions>span{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.hero-actions>span svg{color:var(--green)}.feature-grid{text-align:left;grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.card{background:var(--card);border:0;border-radius:17px;box-shadow:0 14px 30px #00000016}.feature{padding:27px 29px 31px}.feature-icon,.action-icon,.stat-icon{border-radius:12px;flex:none;place-items:center;display:grid}.feature-icon{width:49px;height:49px;margin-bottom:27px}.feature-icon.blue,.action-icon.blue,.stat-icon.blue{color:#69bbee;background:#224862}.feature-icon.green,.action-icon.green,.stat-icon.green{color:#91cc7a;background:#28483a}.feature-icon.purple,.stat-icon.purple{color:#a9a1ed;background:#3a3659}.feature h3{letter-spacing:-.35px;margin:0 0 9px;font-size:16px}.feature p{color:var(--muted);margin:0;font-size:13px;line-height:1.7}.landing-note{color:#748b9e;margin:63px 0 35px;font-size:12px}.wave-mark{color:var(--blue);vertical-align:middle;margin-right:10px;font-size:25px}.footer{color:#71889b;justify-content:space-between;width:100%;max-width:1160px;margin:auto;padding:30px 28px 34px;font-size:11px;display:flex}.footer>span:first-child{color:#a6b9c5;font:800 13px Montserrat}.dashboard{padding-top:63px;padding-bottom:80px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.page-heading h1{letter-spacing:-1.8px;margin:9px 0 8px;font-size:clamp(29px,4vw,39px)}.page-heading h1 span{color:var(--blue)}.page-heading p{color:var(--muted);margin:0;font-size:14px}.date-pill,.admin-pill{color:#b7cbd8;white-space:nowrap;background:#1d3040;border-radius:10px;align-items:center;gap:9px;padding:12px 15px;font-size:11px;font-weight:700;display:flex}.admin-pill{color:#b9d8a9}.admin-pill svg{color:var(--green)}.stats-grid{grid-template-columns:repeat(3,1fr);gap:17px;display:grid}.stat{padding:24px 26px}.stat>span{letter-spacing:1.8px;color:var(--muted);font:800 9px Montserrat}.stat>div{justify-content:space-between;align-items:center;margin:16px 0 11px;display:flex}.stat strong{letter-spacing:-2px;font-size:38px}.stat strong.next-stat{letter-spacing:-1px;font-size:25px}.stat-icon{width:45px;height:45px}.stat p{color:var(--soft);margin:0;font-size:11px}.section-title{justify-content:space-between;align-items:end;margin:45px 0 18px;display:flex}.section-title h2{letter-spacing:-.8px;margin:8px 0 0;font-size:22px}.action-grid{grid-template-columns:repeat(2,1fr);gap:17px;display:grid}.action-card{text-align:left;width:100%;color:var(--text);align-items:center;gap:18px;padding:22px;transition:transform .18s,background .18s,box-shadow .18s;display:flex}.action-card:hover{background:var(--card2);transform:translateY(-3px);box-shadow:0 18px 30px #0003}.action-icon{width:55px;height:55px}.action-card>span:nth-child(2){flex-direction:column;flex:1;gap:6px;display:flex}.action-card strong{font:800 14px Montserrat}.action-card small{color:var(--muted);font-size:11px}.action-card>svg{color:#7e9bac}.meetings-title{margin-top:48px}.count{color:var(--muted);font-size:11px}.meeting-list{flex-direction:column;gap:10px;display:flex}.meeting-row{align-items:center;gap:17px;min-height:86px;padding:13px 21px;display:flex}.meeting-date{background:#233d4e;border-radius:9px;flex-direction:column;flex:none;justify-content:center;align-items:center;width:50px;height:52px;display:flex}.meeting-date strong{font:800 19px Montserrat}.meeting-date small{color:#8fc2dd;letter-spacing:1px;font:800 8px Montserrat}.meeting-info{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.meeting-info strong{text-overflow:ellipsis;white-space:nowrap;font:800 13px Montserrat;overflow:hidden}.meeting-info small{color:var(--muted);font-size:11px}.meeting-info small span{padding:0 5px}.meeting-time{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;margin-right:22px;font-size:11px;display:flex}.badge{color:#b4c3cc;letter-spacing:.2px;white-space:nowrap;background:#2c3c47;border-radius:6px;justify-content:center;align-items:center;min-width:83px;padding:8px 11px;font:800 9px Montserrat;display:inline-flex}.empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:10px;padding:45px;display:flex}.empty svg{color:var(--blue)}.empty strong{color:#fff}.empty p{margin:0;font-size:12px}.notice{border-radius:10px;align-items:center;gap:11px;margin-bottom:24px;padding:14px 17px;font-size:12px;font-weight:700;display:flex}.notice.success{color:#a8e693;background:#294838}.notice.error{color:#ffd3d3;background:#543036}.notice button{color:inherit;background:0 0;border:0;place-items:center;margin-left:auto;display:grid}.flow-wrap{max-width:480px;margin:10px auto}.back-link{color:var(--muted);background:0 0;border:0;margin:0 0 22px;padding:0;font-size:12px;font-weight:700}.back-link:hover{color:#fff}.flow-card{text-align:center;padding:35px}.flow-card .feature-icon{margin:0 auto 22px}.flow-card h1{letter-spacing:-1px;margin:9px 0;font-size:27px}.flow-card>p{color:var(--muted);margin-bottom:29px;font-size:13px;line-height:1.7}.field-label{text-align:left;color:#b6c9d5;letter-spacing:1.5px;flex-direction:column;gap:9px;font:800 9px Montserrat;display:flex}.field-label input,.field-label select{color:#fff;letter-spacing:normal;background:#263b4b;border:0;border-radius:9px;outline:none;width:100%;padding:14px 15px;font:600 13px DM Sans}.field-label input:focus,.field-label select:focus{box-shadow:0 0 0 2px var(--blue)}.code-input{text-align:center;margin-bottom:17px;letter-spacing:10px!important;padding:17px!important;font:800 30px Montserrat!important}.flow-card form{flex-direction:column;gap:7px;display:flex}.camera-frame{background:#0b141d;border-radius:13px;height:270px;margin-bottom:16px;position:relative;overflow:hidden}.camera-frame video{object-fit:cover;width:100%;height:100%}.scan-corner{border:3px solid var(--blue);width:36px;height:36px;position:absolute}.top-left{border-bottom:0;border-right:0;border-radius:8px 0 0;top:17%;left:25%}.top-right{border-bottom:0;border-left:0;border-radius:0 8px 0 0;top:17%;right:25%}.bottom-left{border-top:0;border-right:0;border-radius:0 0 0 8px;bottom:17%;left:25%}.bottom-right{border-top:0;border-left:0;border-radius:0 0 8px;bottom:17%;right:25%}.camera-error{color:#c7d7df;background:#0b141ddd;place-items:center;padding:25px;font-size:12px;display:grid;position:absolute;inset:0}.camera-caption{color:var(--muted);justify-content:center;align-items:center;gap:7px;margin-bottom:27px;font-size:11px;display:flex}.camera-caption svg{color:var(--blue)}.admin-grid{grid-template-columns:1.2fr 1fr;gap:18px;display:grid}.admin-form{padding:27px}.card-heading{align-items:center;gap:14px;margin-bottom:22px;display:flex}.card-heading .feature-icon{width:46px;height:46px;margin:0}.card-heading h2{letter-spacing:-.5px;margin:5px 0 0;font-size:18px}.form-grid{grid-template-columns:1fr 1fr;gap:18px 13px;display:grid}.span-2{grid-column:span 2}.form-intro{color:var(--muted);margin-bottom:25px;font-size:12px;line-height:1.6}.admin-meeting{text-align:left;color:#fff;width:100%;transition:background .18s}.admin-meeting:hover{background:var(--card2)}.admin-meeting>svg{color:var(--muted)}.code-preview{color:var(--muted);letter-spacing:1px;align-items:center;gap:12px;font:800 9px Montserrat;display:flex}.code-preview strong{color:#e9f6fd;letter-spacing:2px;font-size:15px}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#060d14c9;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.login-modal,.qr-modal{background:var(--card);border-radius:18px;width:min(760px,100%);position:relative;overflow:hidden;box-shadow:0 28px 80px #0008}.login-modal{grid-template-columns:.88fr 1fr;display:grid}.modal-close{color:#fff;z-index:2;background:#314858;border:0;border-radius:8px;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:16px;right:16px}.login-art{background:radial-gradient(circle at 80% 80%,#2677a2 0,#0000 48%),linear-gradient(140deg,#153449,#112432);flex-direction:column;justify-content:space-between;min-height:475px;padding:32px;display:flex;overflow:hidden}.login-art .brand{font-size:19px}.login-art .eyebrow{color:#9bd2f0}.login-art h2{letter-spacing:-1.5px;margin:10px 0;font-size:36px;line-height:1.14}.login-art p{color:#b3ccdc;font-size:13px}.art-wave{letter-spacing:-13px;color:#7ac6e339;font-size:120px;line-height:.5;transform:rotate(-13deg)}.login-panel{padding:54px 38px 30px}.login-panel .feature-icon{width:41px;height:41px;margin-bottom:20px}.login-panel h2{letter-spacing:-.8px;margin:9px 0;font-size:24px}.login-panel>p{color:var(--muted);margin-bottom:24px;font-size:12px;line-height:1.7}.login-panel form{flex-direction:column;gap:17px;display:flex}.login-panel form .button{margin-top:4px}.privacy{color:#879eac;gap:9px;margin-top:25px;font-size:10px;line-height:1.5;display:flex}.privacy svg{color:var(--green);flex:none}.form-error{color:#ffb9b9;margin-top:15px;font-size:11px}.qr-modal{text-align:center;max-width:390px;padding:37px 33px}.qr-modal h2{letter-spacing:-.7px;margin:11px 0;font-size:23px}.qr-modal p{color:var(--muted);justify-content:center;align-items:center;gap:7px;font-size:11px;display:flex}.qr-image{background:#fff;border-radius:13px;place-items:center;width:230px;height:230px;margin:26px auto 20px;display:grid}.qr-image img{width:215px;height:215px}.or-divider{color:var(--muted);letter-spacing:2px;font:800 9px Montserrat}.big-code{letter-spacing:8px;margin:10px 0 16px;font:800 32px Montserrat;display:block}.qr-modal>small{color:var(--muted);font-size:10px;line-height:1.5;display:block}@media (max-width:760px){.topbar{height:69px}.topbar-inner{padding:0 18px}.brand{font-size:19px}.brand-icon{width:35px;height:35px}.menu{display:grid}.nav-links{background:#152431;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:9px 19px 18px;display:none;position:absolute;top:69px;left:0;right:0;box-shadow:0 15px 30px #0005}.nav-links.open{display:flex}.nav-links button{text-align:left;padding:14px 10px}.nav-links button.active{box-shadow:inset 3px 0 var(--blue)}.top-user>span:last-child,.logout{display:none}.content{padding-left:18px;padding-right:18px}.landing{padding-top:86px}.landing h1{letter-spacing:-3.7px}.hero-actions{margin-bottom:67px}.feature-grid{grid-template-columns:1fr;gap:12px}.feature{grid-template-columns:46px 1fr;align-items:center;column-gap:15px;padding:22px;display:grid}.feature-icon{grid-row:span 2;margin:0}.feature h3{margin:0 0 4px}.feature p{grid-column:2}.dashboard{padding-top:41px}.page-heading{align-items:flex-start}.date-pill{display:none}.stats-grid{grid-template-columns:1fr 1fr}.stat:last-child{grid-column:span 2}.stat{padding:20px}.stat strong{font-size:32px}.action-grid{grid-template-columns:1fr}.meeting-time{display:none}.admin-grid{grid-template-columns:1fr}.footer{padding-left:18px;padding-right:18px}.login-modal{grid-template-columns:1fr;max-width:440px}.login-art{min-height:100px;padding:24px}.login-art>div:nth-child(2),.art-wave{display:none}.login-panel{padding:32px 26px 27px}.login-panel .feature-icon{display:none}}@media (max-width:480px){.landing h1{font-size:54px}.hero-actions{flex-direction:column;gap:22px}.hero-copy{font-size:14px}.stats-grid{gap:10px}.stat>span{font-size:8px}.stat strong{font-size:28px}.stat-icon{width:34px;height:34px}.stat p{font-size:10px}.meeting-row{gap:11px;padding:11px}.meeting-info strong{font-size:11px}.meeting-info small{font-size:10px}.badge{min-width:70px;padding:7px;font-size:8px}.admin-meeting .code-preview{display:none}.page-heading h1{font-size:29px}.footer>span:last-child{display:none}.flow-card{padding:26px}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}}.nav-links button{color:#21432f}.nav-links button:hover,.nav-links button.active{color:#12352b}.nav-links button.active{box-shadow:inset 0 -3px var(--blue)}.avatar{color:#1b593c;background:#e5f4df;border-radius:9px}.icon-btn{color:#204a39;background:#e4f2dd}.brand small{color:#315b3b}.brand-icon{background:var(--blue)}.card{box-shadow:0 12px 25px #2459231c}.page-heading h1,.section-title h2,.meeting-info strong,.stat strong,.action-card strong,.card-heading h2,.flow-card h1{color:#143d31}.page-heading p,.meeting-info small,.stat p,.action-card small,.flow-card>p,.form-intro,.count{color:#506d5b}.stat-icon.blue,.action-icon.blue,.feature-icon.blue{color:#247bb1;background:#d7effa}.stat-icon.green,.action-icon.green,.feature-icon.green{color:#4b9439;background:#ddf0d3}.stat-icon.purple,.feature-icon.purple{color:#7263ad;background:#e9e6f6}.meeting-date{color:#fff;background:#2c7248}.nav-links.open{background:#e7f4df}.button.subtle{color:#fff;background:#3b9ed8;box-shadow:0 5px #186a9b}.signin-screen{background:#75b85b;grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);min-height:100dvh;display:grid}.signin-poster{color:#163b2e;background:radial-gradient(circle at 80% 78%,#9bd379 0%,#0000 40%),linear-gradient(145deg,#78bb5e,#5ca747);flex-direction:column;justify-content:space-between;padding:clamp(28px,5vw,70px);display:flex;position:relative;overflow:hidden}.signin-poster:after{content:"〰";color:#e2f7d629;pointer-events:none;font-size:400px;line-height:.4;position:absolute;bottom:70px;right:-80px;transform:rotate(-12deg)}.signin-brand{z-index:1;align-items:center;gap:13px;display:flex;position:relative}.signin-brand-mark{color:#fff;background:#3b9ed8;border-radius:12px;place-items:center;width:53px;height:53px;display:grid;box-shadow:0 6px #2375a4,0 14px 28px #23572332}.signin-brand strong,.signin-brand small{display:block}.signin-brand strong{letter-spacing:-1.6px;font:800 26px Montserrat}.signin-brand strong span{color:#eaf8f0}.signin-brand small{letter-spacing:3.8px;margin-top:4px;font:800 9px Montserrat}.signin-poster-copy{z-index:1;max-width:720px;position:relative}.signin-kicker,.signin-eyebrow{letter-spacing:2.4px;color:#235b41;font:800 11px Montserrat;display:block}.signin-poster-copy h1{letter-spacing:-4.9px;margin:22px 0;font-size:clamp(48px,6.6vw,88px);line-height:1.02}.signin-poster-copy h1 em{color:#f4fff1;font-style:normal}.signin-poster-copy p{color:#2a5c3e;max-width:580px;font-size:16px;line-height:1.8}.signin-points{flex-wrap:wrap;gap:18px 28px;margin-top:32px;display:flex}.signin-points span{color:#1e5137;align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex}.signin-points svg{color:#f4fff1}.signin-poster-foot{z-index:1;letter-spacing:2px;color:#326345;justify-content:space-between;align-items:end;gap:15px;font:800 9px Montserrat;display:flex;position:relative}.signin-wave{letter-spacing:-9px;color:#d7f2c7;font-size:46px;line-height:.5}.signin-side{background:#eaf5e5;place-items:center;padding:40px 30px;display:grid}.signin-form-card{background:#f9fcf7;border-radius:18px;width:min(100%,440px);padding:clamp(26px,4vw,45px);box-shadow:0 25px 55px #26562421}.signin-lock{color:#276e48;background:#dcefe0;border-radius:11px;place-items:center;width:48px;height:48px;margin-bottom:27px;display:grid}.signin-eyebrow{color:#3183b8}.signin-form-card h2{letter-spacing:-1.5px;color:#183e32;margin:10px 0 9px;font-size:clamp(29px,3.2vw,39px)}.signin-form-card>p{color:#567364;margin-bottom:21px;font-size:13px;line-height:1.75}.signin-note{color:#3f644a;background:#e6f3de;border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:25px;padding:14px;font-size:11px;line-height:1.55;display:flex}.signin-note svg{color:#5ca64c;flex:none}.signin-form-card form{flex-direction:column;display:flex}.signin-form-card label{letter-spacing:1.4px;color:#2c5541;margin-bottom:8px;font:800 10px Montserrat}.signin-form-card input{color:#183e32;background:#fff;border:0;border-radius:9px;outline:none;margin-bottom:20px;padding:16px 15px;font-size:13px;font-weight:600;box-shadow:inset 0 0 0 1px #dce8d8}.signin-form-card input:focus{box-shadow:inset 0 0 0 2px #3b9ed8}.signin-form-card input::placeholder{color:#8a9c91}.signin-form-card form button{color:#fff;letter-spacing:.6px;background:#3b9ed8;border:0;border-radius:9px;justify-content:center;align-items:center;gap:12px;margin-top:4px;padding:17px 18px;font:800 12px Montserrat;transition:transform .18s,box-shadow .18s;display:flex;box-shadow:0 6px #2275a4,0 14px 26px #265d7130}.signin-form-card form button:hover{transform:translateY(-3px);box-shadow:0 9px #2275a4,0 18px 28px #265d7138}.signin-form-card form button:disabled{opacity:.65;cursor:wait;transform:none}.signin-error{color:#a83d3d;margin-top:18px;font-size:12px;font-weight:700}.signin-form-foot{color:#70907b;align-items:center;gap:8px;margin-top:27px;font-size:11px;display:flex}.signin-form-foot svg{color:#62a84e}@media (max-width:850px){.signin-screen{grid-template-columns:1fr}.signin-poster{min-height:310px;padding:32px}.signin-poster-copy{margin:35px 0}.signin-poster-copy h1{letter-spacing:-3px;font-size:52px}.signin-poster-foot{display:none}.signin-side{padding:30px 18px 45px}.signin-form-card{max-width:540px}}@media (max-width:520px){.signin-poster{min-height:280px;padding:23px}.signin-brand-mark{width:44px;height:44px}.signin-brand strong{font-size:21px}.signin-poster-copy h1{letter-spacing:-2.4px;margin:12px 0;font-size:42px}.signin-poster-copy p{margin-bottom:0;font-size:12px}.signin-points{display:none}.signin-side{padding:18px 14px 35px}.signin-form-card{padding:26px 22px}.signin-lock{margin-bottom:21px}}:root{--bg:#dceef8;--card:#fff;--card2:#f2f9fd;--text:#153b50;--muted:#547184;--soft:#698396}body{background:var(--bg);color:var(--text)}.app-shell{background:linear-gradient(#d6edfa 0%,#eaf6fc 48%,#dceefa 100%)}.topbar{background:#dbeffaf2}.topbar-inner{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.nav-links{grid-column:2;justify-self:center;gap:13px;margin:0}.nav-links button{color:#fff;background:#3b9ed8;border-radius:10px;padding:11px 17px;transition:transform .12s,box-shadow .12s,background .12s;box-shadow:0 6px #1e6f9f,0 12px 24px -8px #1665948c}.nav-links button:hover,.nav-links button.active{color:#fff;background:#2e91cc;transform:translateY(-2px);box-shadow:0 8px #1e6f9f,0 16px 28px -8px #1665949e}.nav-links button:active{transform:translateY(2px);box-shadow:0 2px #1e6f9f}.top-actions{grid-column:3;justify-self:end}.top-user{color:#194963}.avatar{color:#22658c;background:#fff}.avatar.small{color:#22658c}.icon-btn{color:#fff;background:#3b9ed8;transition:transform .12s,box-shadow .12s;box-shadow:0 5px #1e6f9f,0 11px 22px -8px #16659480}.icon-btn:hover{transform:translateY(-2px);box-shadow:0 7px #1e6f9f,0 14px 25px -8px #1665948c}.card{background:#fff;box-shadow:0 13px 27px #4b94bc1b}.page-heading{background:linear-gradient(120deg,#2576a8,#3b9ed8);border-radius:18px;padding:30px 34px;box-shadow:0 7px #1d6d9b,0 19px 36px #2d7fa83b}.page-heading h1,.page-heading h1 span,.page-heading p,.page-heading .eyebrow{color:#fff}.page-heading .eyebrow{opacity:.8}.page-heading p{opacity:.9}.date-pill,.admin-pill{color:#fff;background:#ffffff31}.date-pill svg,.admin-pill svg{color:#fff}.section-title h2,.meeting-info strong,.stat strong,.action-card strong,.card-heading h2,.flow-card h1{color:#143c50}.page-heading .admin-pill{color:#fff}.stat>span,.field-label,.code-preview{color:#55778b}.meeting-info small,.stat p,.action-card small,.form-intro,.count{color:#628194}.meeting-date{background:#2879a8}.meeting-date small{color:#d5efff}.badge{color:#50758b;background:#e6f2f8}.badge.attended{color:#397e32;background:#e0f2dc}.badge.live{color:#2479ad;background:#d8effa}.action-card:hover,.admin-meeting:hover{background:#f2f9fd}.admin-meeting{color:#153b50}.code-preview strong{color:#2376a7}.field-label input,.field-label select{color:#153b50;background:#fff;box-shadow:inset 0 0 0 1px #d9e9f2}.field-label input::placeholder{color:#849fae}.footer,.footer>span:first-child{color:#5e8297}.green-text{color:#53a041}.meeting-time,.action-card>svg{color:#6b90a5}.signin-poster{justify-content:center}.signin-poster-copy{max-width:640px;margin:0}.signin-poster-copy h1{margin:18px 0}.signin-poster-copy p{color:#24533a;letter-spacing:-.3px;font:700 clamp(17px,2.2vw,23px) Montserrat}.signin-poster:after{bottom:25%}@media (max-width:900px){.topbar-inner{justify-content:flex-end;display:flex}.nav-links{background:#e6f4fc;border-radius:14px;flex-direction:column;align-items:stretch;gap:12px;padding:16px;display:none;position:absolute;top:78px;left:16px;right:16px;box-shadow:0 18px 35px #2a739a2b}.nav-links.open{display:flex}.nav-links button{text-align:center}.menu{display:grid}.top-actions{margin-left:auto}.page-heading{padding:25px}.signin-poster-copy{margin:0}}@media (max-width:760px){.nav-links{top:69px}.top-user>span:last-child{display:none}.logout{display:grid}.page-heading{padding:22px}.page-heading h1{font-size:29px}}@media (max-width:520px){.signin-poster{min-height:300px}.signin-poster-copy{margin:0}.signin-poster-copy h1{margin:14px 0}.signin-poster-copy p{font-size:17px}}.meeting-detail-modal{background:#fff;border-radius:18px;width:min(980px,100%);max-height:min(90vh,900px);position:relative;overflow:auto;box-shadow:0 30px 90px #123b5260}.meeting-detail-header{color:#fff;background:linear-gradient(120deg,#2377a9,#3b9ed8);padding:30px 34px}.meeting-detail-header .eyebrow{color:#e0f4ff}.meeting-detail-header h2{letter-spacing:-.8px;margin:9px 0;font-size:25px}.meeting-detail-header p{color:#e8f6ff;align-items:center;gap:8px;margin:0;font-size:11px;display:flex}.meeting-detail-header p svg:nth-of-type(2){margin-left:10px}.meeting-detail-body{padding:27px 32px 32px}.meeting-code-panel{background:#edf7fc;border-radius:13px;justify-content:space-between;align-items:center;gap:22px;padding:20px 23px;display:flex}.meeting-code-panel>div{flex-direction:column;gap:8px;display:flex}.meeting-code-panel strong{letter-spacing:7px;color:#1e6f9f;font:800 32px Montserrat}.meeting-code-panel small{color:#668496;font-size:11px;line-height:1.5}.meeting-code-panel img{background:#fff;border-radius:10px;width:114px;height:114px;padding:6px}.table-heading{justify-content:space-between;align-items:end;gap:20px;margin:29px 0 15px;display:flex}.table-heading h3{letter-spacing:-.5px;color:#153b50;margin:7px 0 0;font-size:20px}.table-heading .button{padding:10px 14px}.roster-tables{grid-template-columns:1fr 1fr;gap:17px;display:grid}.roster-table-card{background:#f6fbfe;border-radius:12px;overflow:hidden}.roster-table-title{color:#2d7e39;align-items:center;gap:9px;padding:16px;display:flex}.roster-table-title strong{font:800 13px Montserrat}.roster-table-title span{color:#367e32;background:#e1f3de;border-radius:7px;margin-left:auto;padding:5px 9px;font:800 11px Montserrat}.roster-table-card.missed .roster-table-title{color:#a46d34}.roster-table-card.missed .roster-table-title span{color:#9d682f;background:#f8ecdf}.table-scroll{overflow-x:auto}.roster-table-card table{border-collapse:collapse;text-align:left;width:100%}.roster-table-card th{color:#628196;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;background:#e8f3f9;padding:11px 15px;font:800 9px Montserrat}.roster-table-card td{color:#1c485d;white-space:nowrap;border-top:1px solid #e5eff4;padding:13px 15px;font-size:11px}.roster-table-card .table-empty{text-align:center;color:#7b95a3;white-space:normal;padding:26px 15px}.roster-error{color:#b34848;font-size:12px}.attendance-view-button{justify-content:center;width:100%;margin-top:20px}.camera-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.camera-error .button{min-width:150px}.camera-frame{touch-action:none}.camera-zoom{color:#257daf;align-items:center;gap:12px;padding:14px 3px;display:flex}.camera-zoom input{accent-color:#3b9ed8;flex:1}.camera-focus{pointer-events:none;border:2px solid #fff;border-radius:50%;width:46px;height:46px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #3b9ed8}.meeting-detail-modal.qr-open{border-radius:18px;width:min(440px,100vw - 28px)}.qr-content{text-align:center;color:#17394c;flex-direction:column;align-items:center;padding:49px 36px 37px;display:flex}.qr-content .eyebrow{color:#3189c3}.qr-content h2{letter-spacing:-.7px;margin:15px 0 11px;font-size:24px}.qr-meta{color:#617d90;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:0;font-size:11px;line-height:1.5;display:flex}.qr-large{background:#fff;width:min(270px,100%);height:auto;margin:36px auto 31px;display:block}.qr-code-label{color:#5b7485;letter-spacing:2px;font:800 10px Montserrat}.qr-code-text{letter-spacing:9px;color:#17394c;margin:12px 0 0;font:800 38px Montserrat}.qr-content .attendance-view-button{margin-top:21px;padding:15px 22px;font-size:12px}.qr-validity{color:#6b8494;margin:25px 0 0;font-size:11px;line-height:1.6}.qr-open .modal-close{color:#fff;background:#293f4d}.attendance-open .back-link{color:#327fae;margin-bottom:3px}.attendance-open .back-link:hover{color:#15577c}@media (max-width:750px){.roster-tables{grid-template-columns:1fr}.meeting-detail-header{padding:26px 22px}.meeting-detail-body{padding:20px}.meeting-detail-header p{flex-wrap:wrap}}@media (max-width:500px){.meeting-code-panel img{width:84px;height:84px}.meeting-code-panel strong{letter-spacing:5px;font-size:25px}.meeting-detail-modal{max-height:95vh}}.signin-poster{color:#fff;background:linear-gradient(90deg,#081f1cc2,#1030266e 68%,#10302647),url(/media/lakeside-poster.webp) 54%/cover no-repeat}.signin-poster:after{content:none}.signin-poster-copy{z-index:1}.signin-kicker,.signin-poster-copy p{color:#edf8ef}.signin-poster-copy h1,.signin-poster-copy h1 em{color:#fff;text-shadow:0 2px 18px #0a231f66}.signin-poster-copy p{text-shadow:0 1px 12px #0a231f77}@media (max-width:850px){.signin-poster{background-position:50%,58%;min-height:340px}.signin-poster-copy{max-width:440px}}@media (max-width:520px){.signin-poster{background-position:50%,59%;min-height:290px;padding:25px}.signin-poster-copy h1{font-size:clamp(42px,12vw,56px)}.signin-poster-copy p{font-size:16px}}.signin-consent{color:#287ab0;text-align:center;margin:17px 0 0;font-size:11px;line-height:1.55}.signin-consent a{color:#176d9f;text-underline-offset:2px;font-weight:800;text-decoration:underline}.signin-consent a:hover{color:#0c507c}.dashboard-footer{color:#5c7d90;border-top:1px solid #b9d7e6;justify-content:space-between;align-items:center;gap:30px;margin-top:48px;padding:21px 0 0;font-size:11px;line-height:1.6;display:flex}.dashboard-footer p{max-width:710px;margin:0}.dashboard-footer nav{flex:none;gap:18px;display:flex}.dashboard-footer a{color:#257eae;font-weight:800;text-decoration:none}.dashboard-footer a:hover{text-decoration:underline}.legal-page{color:#17394c;background:linear-gradient(#d6edfa,#eaf6fc);min-height:100dvh;padding:clamp(22px,5vw,64px)}.legal-card{background:#fff;border-radius:18px;width:min(780px,100%);margin:auto;padding:clamp(28px,5vw,56px);box-shadow:0 20px 44px #2d7fa82a}.legal-card h1{letter-spacing:-1.5px;margin:21px 0;font-size:clamp(30px,5vw,44px)}.legal-card h2{margin:30px 0 10px;font-size:16px}.legal-card p{color:#577487;margin:0;font-size:13px;line-height:1.8}.legal-card a{color:#257eae;font-weight:800;text-decoration:none}.legal-card a:hover{text-decoration:underline}.legal-links{border-top:1px solid #dcebf2;flex-wrap:wrap;gap:20px;margin-top:32px;padding-top:20px;font-size:12px;display:flex}@media (max-width:700px){.dashboard-footer{flex-direction:column;align-items:flex-start;gap:12px}}
