@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700&display=swap";:root{color:#102621;font-synthesis:none;background:#f2f4ef;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}.app-shell{background:radial-gradient(circle at 78% 2%,#ddf1b38c,#0000 25rem),#f2f4ef;min-height:100vh}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f7f9f5d1;border-bottom:1px solid #dce2da;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;min-height:82px;padding:0 clamp(22px,4vw,68px);display:grid}.brand{color:inherit;align-items:center;gap:11px;width:fit-content;text-decoration:none;display:flex}.brand-mark{color:#cfea6b;background:#103f34;border-radius:12px;place-items:center;width:39px;height:39px;font:700 22px Manrope;display:grid;transform:rotate(-4deg)}.brand>span:last-child,.gate-status>span:last-child,.operator>span:last-child{display:grid}.brand strong{letter-spacing:-.03em;font:700 17px Manrope}.brand small{color:#697a74;text-transform:uppercase;letter-spacing:.15em;font-size:11px}.gate-status{background:#ffffffb3;border:1px solid #dce5dc;border-radius:999px;align-items:center;gap:10px;padding:10px 18px;display:flex}.gate-status strong{font-size:12px}.gate-status small,.operator small{color:#70807b;font-size:11px}.live-dot{background:#55a934;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 5px #e4f1dd}.operator{text-align:right;justify-self:end;align-items:center;gap:10px;display:flex}.operator strong{font-size:12px}.operator-avatar{background:#dfe8df;border-radius:50%;order:2;place-items:center;width:38px;height:38px;font-size:12px;font-weight:700;display:grid}main{padding:0 clamp(22px,5vw,86px) 36px}.hero{grid-template-columns:1fr auto;align-items:end;gap:50px;max-width:1400px;margin:0 auto;padding:clamp(52px,7vw,100px) 0 58px;display:grid}.eyebrow{color:#6e7f77;letter-spacing:.19em;text-transform:uppercase;margin:0 0 14px;font-size:11px;font-weight:700}h1{letter-spacing:-.065em;color:#112c25;max-width:850px;margin:0;font:600 clamp(48px,6.7vw,94px)/.98 Manrope}h1 em{color:#6d8e27;font-style:normal}.hero-copy{color:#687771;max-width:620px;margin:25px 0 0;font-size:16px;line-height:1.65}.scan-button{color:#fff;text-align:left;background:#173f35;border:0;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;min-width:300px;padding:18px 20px;transition:transform .2s,background .2s;display:grid;box-shadow:0 16px 35px #0d362c2e}.scan-button:hover{background:#0d332a;transform:translateY(-2px)}.scan-button span:nth-child(2){display:grid}.scan-button small{color:#b9cec5;margin-top:3px;font-size:11px}.scan-icon{color:#153a30;background:#cef064;border-radius:13px;place-items:center;width:44px;height:44px;font-size:28px;display:grid}.queue-section{background:#ffffffb8;border:1px solid #d9e1d8e6;border-radius:28px;max-width:1400px;margin:0 auto;padding:clamp(26px,3.5vw,48px);box-shadow:0 24px 80px #19332c12}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px;display:flex}.section-heading h2,.scanner-modal h2{letter-spacing:-.045em;margin:0;font:600 clamp(26px,3vw,38px) Manrope}.section-heading .eyebrow{margin-bottom:7px}.queue-tools{align-items:center;gap:12px;display:flex}.search-field{color:#718078;background:#f0f3ef;border-radius:12px;align-items:center;gap:8px;min-width:245px;padding:11px 14px;display:flex}.search-field input{color:#1b302a;background:0 0;border:0;outline:0;width:100%}.count-pill{color:#4e6721;white-space:nowrap;background:#e5edc9;border-radius:12px;padding:11px 15px;font-size:12px;font-weight:700}.queue-list{gap:10px;display:grid}.queue-card{background:#fff;border:1px solid #e2e7e1;border-radius:17px;grid-template-columns:105px minmax(250px,1.5fr) minmax(180px,.8fr) 140px;align-items:center;gap:20px;min-height:108px;padding:17px 18px 17px 0;display:grid;position:relative;overflow:hidden}.queue-card:before{content:"";background:#c3cbbf;width:5px;position:absolute;inset:0 auto 0 0}.queue-card.status-ready:before{background:#79a532}.queue-card.status-called:before{background:#e0ae43}.position{text-align:center;border-right:1px solid #e8ece7;place-content:center;align-self:stretch;display:grid}.position span,.guardian span{color:#809088;letter-spacing:.14em;text-transform:uppercase;font-size:9px;font-weight:700}.position strong{letter-spacing:-.05em;font:600 28px Manrope}.students{align-items:center;gap:16px;min-width:0;display:flex}.avatar-stack{flex-shrink:0;display:flex}.avatar-stack span{color:#315146;background:#d8e6d9;border:3px solid #fff;border-radius:50%;place-items:center;width:48px;height:48px;margin-right:-10px;font-size:11px;font-weight:700;display:grid}.avatar-stack span:nth-child(2){background:#e9dfca}.students h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font:600 15px Manrope;overflow:hidden}.students p{color:#78867f;margin:5px 0 0;font-size:12px}.guardian{display:grid}.guardian strong{margin-top:5px;font-size:13px}.guardian small{color:#7e8c86;margin-top:3px;font-size:11px}.status-button{color:#465a51;background:#f6f8f4;border:1px solid #dce5d7;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:12px 14px;font-size:11px;font-weight:700;display:flex}.status-button:disabled{cursor:default;color:#4e6f28;background:#edf5dc;border-color:#d9e9bd}.status-dot{background:#9da89d;border-radius:50%;width:7px;height:7px}.status-ready .status-dot{background:#77a32d}.status-called .status-dot{background:#d99c26}.empty-state{text-align:center;color:#728179;padding:40px}footer{color:#7f8b86;letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;padding:22px clamp(22px,5vw,86px) 32px;font-size:10px;display:flex}.modal-backdrop{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#051915c2;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.scanner-modal{text-align:center;background:#f7f9f4;border-radius:26px;width:min(480px,100%);padding:42px;position:relative;box-shadow:0 35px 100px #00000059}.scanner-modal>p:last-of-type{color:#6b7a74;line-height:1.6}.close-button{color:#65746e;background:0 0;border:0;font-size:28px;position:absolute;top:16px;right:18px}.scanner-frame{aspect-ratio:1;background:#ebf0e8;border:1px solid #dbe3d8;border-radius:20px;width:210px;margin:30px auto;position:relative;overflow:hidden}.scanner-frame>span{border-style:solid;border-color:#557c31;width:38px;height:38px;position:absolute}.scanner-frame>span:first-child{border-width:3px 0 0 3px;top:20px;left:20px}.scanner-frame>span:nth-child(2){border-width:3px 3px 0 0;top:20px;right:20px}.scanner-frame>span:nth-child(3){border-width:0 0 3px 3px;bottom:20px;left:20px}.scanner-frame>span:nth-child(4){border-width:0 3px 3px 0;bottom:20px;right:20px}.scan-line{background:#a7d342;height:2px;animation:2s ease-in-out infinite scan;position:absolute;top:50%;left:23px;right:23px;box-shadow:0 0 12px #86bd36}.secondary-button{color:#345047;background:#fff;border:1px solid #d4ded3;border-radius:11px;padding:12px 20px;font-weight:700}.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}@keyframes scan{0%,to{transform:translateY(-65px)}50%{transform:translateY(65px)}}@media (width<=980px){.hero{grid-template-columns:1fr;align-items:start}.scan-button{width:min(100%,360px)}.queue-card{grid-template-columns:75px 1fr 130px}.guardian{display:none}}@media (width<=700px){.topbar{grid-template-columns:1fr auto}.gate-status,.operator>span:last-child{display:none}.section-heading,.queue-tools{flex-direction:column;align-items:stretch}.search-field{min-width:0}.queue-card{grid-template-columns:1fr auto;gap:13px;padding:15px}.position{display:none}.students{min-width:0}.status-button{grid-column:1/-1}footer{flex-direction:column;gap:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.device-login{background:#05070a url(/portaria-hero.png) 50%/cover no-repeat;justify-content:center;align-items:center;min-height:100vh;padding:clamp(24px,4vw,68px);display:flex;position:relative;overflow:hidden}.device-login:before{content:"";pointer-events:none;background:radial-gradient(circle,#03050875 0,#03050829 34%,#0000 62%);position:absolute;inset:0}.pairing-panel{z-index:1;color:#f5f7f6;text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#080b10db;border:1px solid #ffffff2e;border-radius:27px;width:min(29vw,420px);min-width:340px;margin:0;padding:clamp(24px,2.5vw,36px);position:relative;box-shadow:0 30px 90px #00000085,inset 0 1px #ffffff14}.secure-label{color:#b8c0c2;letter-spacing:.12em;text-transform:uppercase;justify-content:center;align-items:center;gap:8px;font-size:9px;font-weight:700;display:flex}.secure-label span{background:#e22135;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #e2213529,0 0 14px #e22135bf}.qr-card{background:#fff;border:1px solid #e8273a6b;border-radius:20px;width:fit-content;margin:22px auto 18px;padding:12px;line-height:0;box-shadow:0 0 35px #de1c302b}.pairing-panel h2{letter-spacing:-.04em;margin:0;font:600 26px Manrope}.pairing-panel>p{color:#aeb6b8;max-width:310px;margin:10px auto 0;font-size:11px;line-height:1.55}.pairing-code{color:#fff;letter-spacing:.16em;margin:17px auto;font:700 clamp(21px,2vw,28px) Manrope}.waiting-state{color:#c5cbcd;background:#ffffff0f;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:9px;padding:11px 15px;font-size:10px;font-weight:700;display:inline-flex}.waiting-spinner{border:2px solid #4b5155;border-top-color:#e22135;border-radius:50%;width:13px;height:13px;animation:.8s linear infinite rotate}.connection-warning,.form-error{color:#ffc5c9;background:#9023294d;border-radius:10px;margin-top:14px;padding:9px 11px;font-size:10px;line-height:1.45}.text-button{color:#f05463;background:0 0;border:0;margin:14px auto 0;font-size:10px;font-weight:700;text-decoration:underline;display:block}.login-version{color:#70787b;letter-spacing:.12em;text-align:center;text-transform:uppercase;margin-top:15px;font-size:8px;font-weight:700;display:block}.mobile-activation{background:#05070a url(/portaria-hero.png) 64%/cover no-repeat;place-items:center;min-height:100vh;padding:22px;display:grid;position:relative;overflow:hidden}.mobile-activation:before{content:"";background:linear-gradient(90deg,#030508e6,#03050875 52%,#030508ad),radial-gradient(circle at 50% 45%,#0000,#0203059e);position:absolute;inset:0}.activation-card{z-index:1;color:#f5f7f6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#080b10e6;border:1px solid #ffffff2b;border-radius:27px;width:min(100%,440px);padding:clamp(28px,7vw,46px);position:relative;box-shadow:0 35px 100px #0000008c,inset 0 1px #ffffff12}.activation-card .brand{color:#fff;margin-bottom:42px}.activation-card .brand-mark{background:#df2034;box-shadow:0 0 22px #df203452}.activation-card .brand small,.activation-card .eyebrow{color:#ef3043}.activation-card h1{color:#fff;margin:0;font-size:clamp(34px,10vw,48px)}.activation-card>p:not(.eyebrow){color:#afb7b9;line-height:1.6}.activation-card form{gap:16px;margin:28px 0 20px;display:grid}.activation-card label{color:#c8ced0;gap:7px;font-size:11px;font-weight:700;display:grid}.activation-card input{color:#fff;background:#ffffff12;border:1px solid #ffffff26;border-radius:11px;outline:0;width:100%;padding:13px 14px}.activation-card input:focus{border-color:#e52a3e;box-shadow:0 0 0 3px #e52a3e29}.authorize-button{color:#fff;background:linear-gradient(135deg,#e32338,#a90f21);border:1px solid #ef3548;border-radius:12px;margin-top:5px;padding:14px 18px;font-weight:700;box-shadow:0 12px 30px #ca142940}.authorize-button:disabled{opacity:.6;cursor:wait}.activation-card>small{color:#858e91;text-align:center;font-size:10px;line-height:1.55;display:block}.success-card{text-align:center}.success-mark{color:#ff5263;background:#e221352e;border-radius:50%;place-items:center;width:68px;height:68px;margin:0 auto 25px;font-size:32px;display:grid;box-shadow:0 0 28px #e2213529}.success-card h1{font-size:38px}@keyframes rotate{to{transform:rotate(360deg)}}@media (width<=1000px){.device-login{background-position:58%;justify-content:center;align-items:flex-end}.device-login:before{background:linear-gradient(#0000 30%,#030508d1 100%)}.pairing-panel{width:min(100%,430px);min-width:0;margin:0}}@media (width<=700px){.activation-card input,.search-field input{font-size:16px}}@media (height<=760px) and (width>=1001px){.pairing-panel{padding:20px 28px}.qr-card{margin:15px auto 12px}.qr-card svg{width:170px;height:170px}.pairing-code{margin:10px auto}}
