:root{color:#16243a;font-synthesis:none;text-rendering:optimizelegibility;--navy:#173b75;--navy-dark:#102b56;--sky:#5bbad5;--ice:#e8f5fa;--success:#168560;--muted:#64748b;--line:#dbe4ef;--surface:#fff;--warning:#a75e00;--shadow:0 18px 50px #1f3a601f;background:#eef3f9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#dfe7f1;min-height:100%}body{background:radial-gradient(circle at top,#f8fbff 0,#eef3f9 55%,#e4ebf4 100%);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}body.app-menu-open,body.certificate-panel-open,body.support-panel-open,body.privacy-panel-open,body.about-panel-open,body.qr-intro-panel-open{overflow:hidden}button,input{font:inherit}button{cursor:pointer}#app{min-height:100vh}.icon{flex:none;width:22px;height:22px}.app-shell{width:min(100%,520px);min-height:100vh;padding-bottom:calc(86px + env(safe-area-inset-bottom));background:#f7f9fc;margin:0 auto;position:relative;box-shadow:0 0 50px #1c304e1f}.topbar{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 22px 14px;transition:transform .36s cubic-bezier(.22,.61,.36,1);display:flex}.topbar-logo{width:min(115px,100% - 64px);height:auto;display:block}.topbar-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.topbar-association-logo{object-fit:contain;width:auto;max-width:68px;height:34px;display:block}.menu-button{width:42px;height:42px;color:var(--navy);opacity:1;cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.menu-button .icon{width:28px;height:28px}.page-content{padding:22px;transition:transform .36s cubic-bezier(.22,.61,.36,1)}.app-shell.menu-open>.topbar,.app-shell.menu-open>.page-content,.app-shell.certificate-open>.topbar,.app-shell.certificate-open>.page-content,.app-shell.support-open>.topbar,.app-shell.support-open>.page-content,.app-shell.privacy-open>.topbar,.app-shell.privacy-open>.page-content,.login-shell.privacy-open>.login-view,.app-shell.about-open>.topbar,.app-shell.about-open>.page-content{transform:translate(-100%)}.management-menu{z-index:40;overscroll-behavior:contain;border-left:1px solid var(--line);background:var(--surface);color:#282337;width:min(100%,520px);height:100dvh;box-shadow:none;transition:transform .36s cubic-bezier(.22,.61,.36,1);position:fixed;top:0;left:50%;overflow-y:auto;transform:translate(50%)}.app-shell.menu-open>.management-menu{transform:translate(-50%)}.management-menu-header{min-height:86px;padding:calc(16px + env(safe-area-inset-top)) 22px 14px;background:var(--surface);grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;display:grid}.management-menu-header button{color:#282337;background:0 0;border:0;place-items:center;width:42px;height:42px;padding:0;display:grid}.management-menu-header button .icon{width:27px;height:27px}.management-menu-header h1{margin:0;font-size:1.38rem;font-weight:500;line-height:1.25}.management-menu-content{padding:18px 24px calc(32px + env(safe-area-inset-bottom))}.management-menu-section h2{margin:0 0 18px;font-size:1.05rem;font-weight:600}.management-menu-section.preference{border-top:1px solid #b9b6c1;margin-top:22px;padding-top:24px}.management-menu-list{display:grid}.management-menu-list button,.management-menu-item{color:#383245;text-align:left;background:0 0;border:0;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;min-height:64px;padding:8px 3px;font-size:.98rem;display:grid}.management-menu-list button:disabled{opacity:1;color:#7b8291;cursor:default}.management-menu-list button:disabled .icon{opacity:.72}.management-menu-list .icon{width:25px;height:25px}.management-menu-item small{color:#514a5d;font-size:.78rem}.management-menu-status{color:#667085;white-space:nowrap;background:#eceff4;border-radius:999px;padding:4px 8px;font-size:.64rem;font-weight:750;line-height:1.2}.management-toggle{background:#ddd9e4;border-radius:999px;width:46px;height:27px;position:relative}.management-toggle:after{content:"";background:#f8f7fa;border-radius:50%;width:21px;height:21px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #1f192b38}.management-toggle.active{background:#2f5bb3}.management-toggle.active:after{transform:translate(19px)}.device-lock-view{background:linear-gradient(155deg,#17427d,#2676e9);grid-template-rows:minmax(210px,34dvh) 1fr;width:min(100%,520px);min-height:100dvh;margin:0 auto;display:grid}.device-lock-brand{padding:calc(28px + env(safe-area-inset-top)) 24px 24px;place-items:center;display:grid}.device-lock-brand img{object-fit:contain;filter:brightness(0)invert();width:min(58%,240px);max-height:120px}.device-lock-card{padding:42px 28px calc(34px + env(safe-area-inset-bottom));color:#24242a;text-align:center;background:#fff;border-radius:34px 34px 0 0;flex-direction:column;align-items:center;display:flex}.device-lock-icon{color:#2f5bb3;background:#edf3ff;border-radius:50%;place-items:center;width:66px;height:66px;margin-bottom:24px;display:grid}.device-lock-icon .icon{width:34px;height:34px}.device-lock-card h1{margin:0;font-size:1.62rem;line-height:1.2}.device-lock-card p{color:#626573;max-width:390px;margin:18px 0 30px;line-height:1.55}.device-lock-primary,.device-lock-secondary{border:0;border-radius:999px;width:100%;min-height:54px;font-size:.98rem;font-weight:700}.device-lock-primary{color:#fff;background:#2f5bb3;justify-content:center;align-items:center;gap:10px;display:flex}.device-lock-primary .icon{width:22px;height:22px}.device-lock-secondary{color:#3f3a4b;background:#f2f1f5;margin-top:14px}.device-lock-loading{color:#2f5bb3;align-items:center;gap:10px;font-weight:700;display:flex}.device-lock-loading i{border:2px solid #c9d8f4;border-top-color:#2f5bb3;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite device-lock-spin}@keyframes device-lock-spin{to{transform:rotate(360deg)}}.certificate-panel{z-index:45;overscroll-behavior:contain;border-left:1px solid var(--line);color:#252734;background:#fff;width:min(100%,520px);height:100dvh;transition:transform .36s cubic-bezier(.22,.61,.36,1);position:fixed;top:0;left:50%;overflow-y:auto;transform:translate(50%);box-shadow:-22px 0 45px #18243c1f}.app-shell.certificate-open>.certificate-panel{transform:translate(-50%)}.support-panel{z-index:46;overscroll-behavior:contain;border-left:1px solid var(--line);color:#252734;background:#f7f9fc;width:min(100%,520px);height:100dvh;transition:transform .36s cubic-bezier(.22,.61,.36,1);position:fixed;top:0;left:50%;overflow-y:auto;transform:translate(50%);box-shadow:-22px 0 45px #18243c1f}.app-shell.support-open>.support-panel{transform:translate(-50%)}.support-panel-header{min-height:86px;padding:calc(16px + env(safe-area-inset-top)) 22px 14px;border-bottom:1px solid var(--line);z-index:2;background:#fff;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;display:grid;position:sticky;top:0}.support-panel-header button{color:#282337;background:0 0;border:0;place-items:center;width:42px;height:42px;padding:0;display:grid}.support-panel-header button .icon{width:27px;height:27px}.support-panel-header h1{margin:0;font-size:1.38rem;font-weight:600}.support-panel-content{padding:24px 22px calc(36px + env(safe-area-inset-bottom))}.support-state{text-align:center;min-height:300px;color:var(--muted);align-content:center;place-items:center;gap:16px;display:grid}.support-state.error .icon{color:#b42318;width:42px;height:42px}.support-state h2,.support-state p{margin:0}.support-state button{color:#fff;background:#3155d9;border:0;border-radius:999px;min-height:46px;padding:0 24px;font-weight:700}.support-intro{border:1px solid var(--line);background:#fff;border-radius:18px;align-items:center;gap:16px;padding:18px;display:flex}.support-intro-icon{color:#3155d9;background:#e9efff;border-radius:50%;place-items:center;width:48px;height:48px;display:grid}.support-intro h2,.support-intro p{margin:0}.support-intro h2{font-size:1.08rem}.support-intro p{color:var(--muted);margin-top:4px;font-size:.9rem}.support-new-button,.support-primary{color:#fff;background:linear-gradient(135deg,#315fe9,#2448cf);border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:52px;font-weight:750;display:flex}.support-new-button{margin-top:18px}.support-primary:disabled{opacity:.65}.support-history{margin-top:28px}.support-history>h2{margin:0 0 12px;font-size:1rem}.support-ticket{border:1px solid var(--line);color:#243047;text-align:left;background:#fff;border-radius:15px;grid-template-columns:minmax(0,1fr) auto 22px;align-items:center;gap:10px;width:100%;min-height:76px;padding:13px 14px;display:grid}.support-ticket+.support-ticket{margin-top:10px}.support-ticket>span{gap:5px;min-width:0;display:grid}.support-ticket strong,.support-ticket small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.support-ticket small{color:var(--muted)}.support-ticket i{color:#fff;background:#d92d20;border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:.72rem;font-style:normal;display:grid}.support-empty{color:var(--muted);text-align:center;border:1px dashed #cad5e4;border-radius:15px;padding:28px 18px}.support-form{gap:10px;display:grid}.support-form>p{color:var(--muted);margin:0 0 10px;line-height:1.55}.support-form label,.support-reply label{margin-top:5px;font-weight:700}.support-form input,.support-form select,.support-form textarea,.support-reply textarea{color:#17243a;width:100%;font:inherit;resize:vertical;background:#fff;border:1px solid #bfcbd9;border-radius:12px;padding:13px 14px}.support-form input:focus,.support-form select:focus,.support-form textarea:focus,.support-reply textarea:focus{border-color:#3155d9;outline:3px solid #3155d929}.support-form>small{color:var(--muted);margin-bottom:8px;line-height:1.5}.support-conversation-heading{border-bottom:1px solid var(--line);padding-bottom:18px}.support-conversation-heading>span{color:#3155d9;letter-spacing:.05em;font-size:.78rem;font-weight:800}.support-conversation-heading h2{margin:6px 0 10px;font-size:1.2rem}.support-status{color:#9a5a00;background:#fff3d6;border-radius:999px;padding:5px 9px;font-weight:700;display:inline-flex}.support-status.aguardando_aluno{color:#175b8c;background:#e5f3ff}.support-status.encerrado{color:#526071;background:#eceff3}.support-thread{flex-direction:column;gap:12px;padding:22px 0;display:flex}.support-message{color:#28364d;background:#e9edf3;border-radius:16px 16px 16px 4px;align-self:flex-start;max-width:86%;padding:12px 14px}.support-message.associacao{color:#fff;background:#3155d9;border-radius:16px 16px 4px;align-self:flex-end}.support-message.sistema{color:#664d03;text-align:center;background:#fff3cd;border-radius:12px;align-self:center}.support-message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.5}.support-message small{opacity:.72;margin-top:6px;display:block}.support-reply{border-top:1px solid var(--line);gap:10px;padding-top:14px;display:grid}.support-closed-note{color:#526071;background:#eceff3;border-radius:12px;padding:14px;line-height:1.5}.privacy-panel{z-index:48;overscroll-behavior:contain;border-left:1px solid var(--line);color:#252734;background:#f7f9fc;width:min(100%,520px);height:100dvh;transition:transform .36s cubic-bezier(.22,.61,.36,1);position:fixed;top:0;left:50%;overflow-y:auto;transform:translate(50%);box-shadow:-22px 0 45px #18243c1f}.app-shell.privacy-open>.privacy-panel,.login-shell.privacy-open>.privacy-panel{transform:translate(-50%)}.certificate-panel[aria-hidden=true],.support-panel[aria-hidden=true],.privacy-panel[aria-hidden=true],.about-panel[aria-hidden=true],.qr-intro-panel[aria-hidden=true],.qr-help-panel[aria-hidden=true]{box-shadow:none}.privacy-panel-header{z-index:2;min-height:86px;padding:calc(16px + env(safe-area-inset-top)) 22px 14px;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;display:grid;position:sticky;top:0}.privacy-panel-header button{color:#282337;background:0 0;border:0;place-items:center;width:42px;height:42px;padding:0;display:grid}.privacy-panel-header button .icon{width:27px;height:27px}.privacy-panel-header>div{min-width:0}.privacy-panel-header h1{margin:0;font-size:1.3rem;font-weight:650;line-height:1.25}.privacy-panel-header small{color:var(--muted);margin-top:4px;font-size:.74rem;display:block}.privacy-panel-content{padding:22px 20px calc(38px + env(safe-area-inset-bottom))}.privacy-summary{background:linear-gradient(145deg,#eef4ff,#fff);border:1px solid #cfdcf4;border-radius:18px;align-items:flex-start;gap:14px;padding:18px;display:flex}.privacy-summary>span{color:#fff;background:#3155d9;border-radius:50%;flex:0 0 46px;place-items:center;width:46px;height:46px;display:grid}.privacy-summary>span .icon{width:24px;height:24px}.privacy-summary h2{color:#173b75;margin:1px 0 0;font-size:1.08rem}.privacy-summary p{color:#526071;margin:7px 0 0;font-size:.9rem;line-height:1.55}.privacy-document{margin-top:22px}.privacy-document .privacy-updated{color:#475569;background:#fff;border-radius:14px;padding:15px 16px}.privacy-document section{border-bottom:1px solid var(--line);padding:20px 2px}.privacy-document section:last-child{border-bottom:0}.privacy-document h2{color:#173b75;margin:0;font-size:1.02rem;line-height:1.35}.privacy-document p,.privacy-document li{color:#4a5568;font-size:.92rem;line-height:1.65}.privacy-document p{margin:10px 0 0}.privacy-document ul{margin:11px 0 0;padding-left:21px}.privacy-document li+li{margin-top:7px}.privacy-document strong{color:#27364d}.privacy-actions{gap:14px;margin-top:24px;display:grid}.privacy-primary{color:#fff;background:linear-gradient(135deg,#315fe9,#2448cf);border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:52px;font-weight:750;display:flex}.privacy-actions>a{color:#3155d9;text-align:center;text-underline-offset:3px;font-size:.9rem;font-weight:700}.about-panel{z-index:49;overscroll-behavior:contain;border-left:1px solid var(--line);color:#252734;background:#f7f9fc;width:min(100%,520px);height:100dvh;transition:transform .36s cubic-bezier(.22,.61,.36,1);position:fixed;top:0;left:50%;overflow-y:auto;transform:translate(50%);box-shadow:-22px 0 45px #18243c1f}.app-shell.about-open>.about-panel{transform:translate(-50%)}.about-panel-header{z-index:2;min-height:86px;padding:calc(16px + env(safe-area-inset-top)) 22px 14px;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;display:grid;position:sticky;top:0}.about-panel-header button{color:#282337;background:0 0;border:0;place-items:center;width:42px;height:42px;padding:0;display:grid}.about-panel-header button .icon{width:27px;height:27px}.about-panel-header h1{margin:0;font-size:1.3rem;font-weight:650;line-height:1.25}.about-panel-content{padding:24px 20px calc(38px + env(safe-area-inset-bottom))}.about-hero{text-align:center;background:#fff;border:1px solid #d8e2f0;border-radius:22px;padding:26px 20px}.about-hero img{object-fit:contain;width:min(62%,220px);height:auto}.about-hero h2{color:var(--navy);margin:18px 0 2px;font-size:1.5rem}.about-hero>span{color:#3155d9;background:#eaf1ff;border-radius:999px;margin-top:6px;padding:4px 10px;font-size:.76rem;font-weight:800;display:inline-flex}.about-hero p{max-width:360px;color:var(--muted);margin:15px auto 0;line-height:1.55}.about-description{padding:28px 4px 8px}.about-description h2{color:#202a3b;margin:0;font-size:1.18rem;line-height:1.35}.about-description p{color:var(--muted);margin:10px 0 0;line-height:1.62}.about-feature-list{gap:12px;margin-top:18px;display:grid}.about-feature-list article{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:44px minmax(0,1fr);gap:13px;padding:16px;display:grid}.about-feature-list article>span,.about-issuer>span{color:#3155d9;background:#eaf1ff;border-radius:14px;place-items:center;width:44px;height:44px;display:grid}.about-feature-list .icon,.about-issuer .icon{width:23px;height:23px}.about-feature-list h3{color:#25324a;margin:0;font-size:.96rem}.about-feature-list p{color:var(--muted);margin:5px 0 0;font-size:.84rem;line-height:1.5}.about-issuer{background:#eef4ff;border:1px solid #cfddf4;border-radius:16px;grid-template-columns:44px minmax(0,1fr);gap:13px;margin-top:18px;padding:17px;display:grid}.about-issuer h2{color:#25324a;margin:0;font-size:.96rem}.about-issuer p{color:#4e6078;margin:5px 0 0;font-size:.84rem;line-height:1.5}.about-links{gap:10px;margin-top:22px;display:grid}.about-links a{color:#3155d9;text-align:center;background:#fff;border:1px solid #cad6e6;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:10px 16px;font-weight:750;text-decoration:none;display:flex}.about-developer{color:var(--muted);text-align:center;margin:24px 0 0;font-size:.8rem}.certificate-panel-header{min-height:86px;padding:calc(16px + env(safe-area-inset-top)) 22px 14px;background:#fff;border-bottom:1px solid #edf0f5;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;display:grid}.certificate-panel-header button{color:#282337;background:0 0;border:0;place-items:center;width:42px;height:42px;padding:0;display:grid}.certificate-panel-header button .icon{width:27px;height:27px}.certificate-panel-header h1{margin:0;font-size:1.38rem;font-weight:500;line-height:1.25}.certificate-panel-content{padding:32px 24px calc(36px + env(safe-area-inset-bottom))}.certificate-brand{color:var(--navy);align-items:center;gap:12px;display:flex}.certificate-brand>span{border:3px solid;border-radius:50%;place-items:center;width:54px;height:54px;display:grid}.certificate-brand>span .icon{stroke-width:2.2px;width:32px;height:32px}.certificate-brand>div{line-height:1.05;display:grid}.certificate-brand strong{letter-spacing:.02em;font-size:1.38rem;font-weight:900}.certificate-brand small{color:var(--muted);margin-top:5px;font-size:.78rem;font-weight:700}.certificate-panel-content>h2{margin:34px 0 0;font-size:1.55rem;font-weight:500}.certificate-statement{color:#3d4350;margin:38px 0 0;font-size:1.05rem;line-height:1.65}.certificate-statement strong{color:#252734;font-weight:700}.attribute-certificate{background:#f8fafc;border:1px solid #d7dfec;border-radius:15px;margin-top:36px;overflow:hidden}.attribute-certificate>header{color:#fff;background:linear-gradient(135deg,#315fe9,#2448cf);justify-content:space-between;align-items:center;gap:14px;min-height:64px;padding:12px 14px 12px 20px;display:flex}.attribute-certificate h3{margin:0;font-size:1.05rem;font-weight:700}.attribute-certificate>header button{color:#ffffffb8;cursor:not-allowed;background:#ffffff1f;border:0;border-radius:10px;place-items:center;width:40px;height:40px;display:grid}.attribute-certificate>header button:not(:disabled){color:#fff;cursor:pointer;background:#ffffff2e}.attribute-certificate>header button:not(:disabled):focus-visible{outline-offset:2px;outline:3px solid #ffffffc7}.attribute-certificate>header button .icon{width:22px;height:22px}.attribute-certificate-available{background:#f8fafc;padding:22px 18px 24px}.attribute-certificate-available>p{color:#08783e;margin:0 0 16px;font-size:.82rem;font-weight:800}.attribute-certificate-available pre{color:#26364f;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-all;-webkit-user-select:text;user-select:text;background:#fff;border:1px solid #d7dfec;border-radius:10px;max-height:360px;margin:0;padding:16px;font:600 .66rem/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;overflow:auto}.attribute-certificate-empty{text-align:center;justify-items:center;padding:38px 24px 42px;display:grid}.attribute-certificate-empty>span{color:#315fe9;background:#e8eefb;border-radius:16px;place-items:center;width:52px;height:52px;display:grid}.attribute-certificate-empty h4{color:#26364f;margin:18px 0 0;font-size:1rem}.attribute-certificate-empty p{max-width:330px;color:var(--muted);margin:9px 0 0;font-size:.82rem;line-height:1.55}.section-label,.eyebrow{color:var(--navy);letter-spacing:.09em;text-transform:uppercase;font-size:.72rem;font-weight:900}.mini-card{color:#fff;background:linear-gradient(145deg,#173b75 0%,#1d548e 62%,#58b8d3 140%);border-radius:25px;min-height:225px;margin-top:22px;padding:22px;position:relative;overflow:hidden;box-shadow:0 20px 38px #173b753d}.mini-card:after{content:"";border:38px solid #ffffff14;border-radius:50%;width:220px;height:220px;position:absolute;top:-100px;right:-80px}.mini-card-head,.mini-card-foot{z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.mini-card-head>span:first-child{letter-spacing:-.05em;font-size:1.55rem;font-weight:950}.valid-chip{background:#ffffff29;border-radius:999px;padding:5px 10px;font-size:.72rem;font-weight:800}.mini-card-person{z-index:1;align-items:center;gap:14px;margin:30px 0 28px;display:flex;position:relative}.mini-card-person div:last-child{gap:5px;min-width:0;display:grid}.mini-card-person strong{font-size:1.02rem}.mini-card-person span{color:#ffffffbf;white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.mini-card-foot{font-size:.76rem}.mini-card-foot strong{font-size:.9rem}.student-photo{width:58px;height:66px;color:var(--navy);background:linear-gradient(145deg,#d8ecf4,#88c6da);border:2px solid #ffffff80;border-radius:14px;place-items:center;font-weight:900;display:grid}.student-photo.large{border-color:#ffffffb3;flex-basis:74px;width:74px;height:88px}.student-photo img{border-radius:inherit;object-fit:cover;width:100%;height:100%;display:block}.mini-card.pending{box-shadow:none;background:linear-gradient(145deg,#233f70 0%,#426792 68%,#6ba9bb 140%);border-radius:0;margin:-22px -22px 0}.home-digital-card{margin:-22px -22px 0;position:relative}.home-digital-card .digital-card-canvas{box-shadow:none;border:0;border-radius:0;overflow:visible}.reserve-card{color:#fff;background:linear-gradient(145deg,#173b75 0%,#315f94 68%,#65abc0 140%);border-radius:24px;padding:20px;overflow:hidden;box-shadow:0 20px 38px #173b753d}.reserve-card.home{box-shadow:none;border-radius:0;margin:-22px -22px 0;padding-bottom:88px;position:relative}.reserve-card-head,.reserve-card-foot{justify-content:space-between;align-items:center;gap:12px;display:flex}.reserve-card-head>strong{letter-spacing:-.04em;font-size:1.45rem}.reserve-card-head>span{background:#ffffff29;border-radius:999px;padding:5px 9px;font-size:.68rem;font-weight:850}.reserve-card-body{grid-template-columns:62px minmax(0,1fr) 72px;align-items:center;gap:12px;margin:25px 0;display:grid}.reserve-card-body>div:nth-child(2){gap:4px;min-width:0;display:grid}.reserve-card-body strong,.reserve-card-body span,.reserve-card-body small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reserve-card-body span,.reserve-card-body small{color:#ffffffc7;font-size:.7rem}.reserve-card-body canvas{background:#fff;border-radius:8px;padding:4px;width:72px!important;height:72px!important}.reserve-card-foot{font-size:.7rem}.reserve-card-foot strong{font-size:.76rem}.certificate-button{z-index:8;color:#fff;opacity:1;cursor:pointer;background:linear-gradient(#2d6ee2 0%,#2057c4 100%);border:1px solid #ffffff8c;border-radius:999px;justify-content:center;align-items:center;gap:9px;width:min(64%,280px);min-height:54px;padding:10px 22px;font-size:1rem;font-weight:800;display:flex;position:absolute;bottom:5%;left:50%;transform:translate(-50%);box-shadow:0 9px 22px #1948a94d}.certificate-button:disabled{color:#fff;opacity:1}.certificate-button .icon{stroke-width:2.4px;width:22px;height:22px}.reserve-card.home .certificate-button{bottom:18px}.physical-status .status-icon{color:var(--warning);background:#fff2d9}.document-intro+.physical-status,.pending-document+.physical-status{margin-top:18px}.primary-button,.secondary-button,.logout-button{border-radius:14px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:50px;font-weight:800;display:flex}.primary-button{border:1px solid var(--navy);background:var(--navy);color:#fff;box-shadow:0 10px 20px #173b7529}.secondary-button{background:var(--surface);color:var(--navy);border:1px solid #cbd7e6}.status-card,.offline-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;gap:14px;padding:17px;display:flex}.status-icon,.offline-card>div:first-child{width:42px;height:42px;color:var(--success);background:#e4f7ef;border-radius:13px;flex:0 0 42px;place-items:center;display:grid}.status-card h3,.status-card p,.offline-card p{margin:3px 0 0}.status-card h3{font-size:1rem}.status-card p,.offline-card p{color:var(--muted);font-size:.8rem;line-height:1.45}.section-heading{justify-content:space-between;align-items:end;margin:26px 0 12px;display:flex}.section-heading h2,.page-heading h2,.document-intro h2,.qr-card h2{margin:4px 0 0;font-size:1.2rem}.section-heading button{color:var(--navy);background:0 0;border:0;font-size:.8rem;font-weight:800}.notice-preview,.notice-item{border:1px solid var(--line);background:var(--surface);border-radius:18px;gap:13px;padding:17px;display:flex}.notice-dot{background:var(--sky);width:9px;height:9px;box-shadow:0 0 0 5px var(--ice);border-radius:50%;flex:0 0 9px;margin-top:5px}.notice-preview strong,.notice-item strong{font-size:.9rem}.notice-preview p,.notice-item p{color:var(--muted);margin:6px 0;font-size:.8rem;line-height:1.5}.notice-preview small,.notice-item small{color:#8491a4;font-size:.72rem}.notice-preview+.secondary-button,.physical-status+.secondary-button{margin-top:16px}.bottom-nav{z-index:20;width:min(100%,520px);height:calc(72px + env(safe-area-inset-bottom));padding:7px 12px env(safe-area-inset-bottom);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff5;grid-template-columns:repeat(4,1fr);transition:transform .36s cubic-bezier(.22,.61,.36,1);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.app-shell.menu-open>.bottom-nav,.app-shell.certificate-open>.bottom-nav,.app-shell.support-open>.bottom-nav{transform:translate(-150%)}.bottom-nav button{color:#7b899d;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:.68rem;font-weight:700;display:flex;position:relative}.bottom-nav button.active{color:var(--navy)}.bottom-nav button.active:before{content:"";background:var(--sky);border-radius:99px;width:26px;height:3px;position:absolute;top:0}.bottom-nav button i{background:#e94c64;border:2px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:calc(50% - 18px)}.document-intro p,.page-heading p{color:var(--muted);margin:7px 0 0;line-height:1.5}.digital-card-canvas{isolation:isolate;background:#fff;border:1px solid #0f264b21;border-radius:22px;width:100%;position:relative;overflow:hidden;box-shadow:0 20px 38px #173b7533;container-type:inline-size}.digital-card-background,.digital-card-blocks,.digital-card-elements{width:100%;height:100%;position:absolute;inset:0}.digital-card-background{z-index:0;object-fit:cover;display:block}.digital-card-blocks{z-index:1}.digital-card-elements{z-index:2}.digital-card-layer{transform-origin:50%;min-width:0;min-height:0;position:absolute}.digital-card-photo,.digital-card-logo{color:var(--navy);place-items:center;font-size:5cqw;font-weight:900;display:grid;overflow:hidden}.digital-card-photo img,.digital-card-logo img{width:100%;height:100%;display:block}.digital-card-photo img{object-fit:cover}.digital-card-text{overflow-wrap:anywhere;-webkit-line-clamp:var(--digital-lines);-webkit-box-orient:vertical;align-content:center;line-height:1.12;display:-webkit-box;overflow:hidden}.digital-card-qr{background:#fff;overflow:hidden}.digital-card-qr canvas{display:block;width:100%!important;height:100%!important}.cie-stage{perspective:1200px;margin:20px -6px 15px}.cie-face{color:#fff;min-height:270px;box-shadow:var(--shadow);border-radius:23px;padding:20px;position:relative;overflow:hidden}.cie-face header,.cie-face footer{z-index:1;justify-content:space-between;align-items:center;gap:14px;display:flex;position:relative}.cie-face header>span:last-child{text-align:right;text-transform:uppercase;letter-spacing:.05em;max-width:205px;font-size:.65rem;font-weight:700}.cie-logo{letter-spacing:-.05em;font-size:1.35rem;font-weight:950}.cie-front{background:linear-gradient(145deg,#173b75 0%,#1c548d 68%,#5fc3dc 140%)}.cie-decoration{border:42px solid #ffffff17;border-radius:50%;width:260px;height:260px;position:absolute;bottom:-135px;right:-125px}.cie-student{z-index:1;align-items:center;gap:13px;margin:23px 0 18px;display:flex;position:relative}.cie-student>div:last-child{min-width:0;display:grid}.cie-student small,.cie-fields small{color:#ffffffad;text-transform:uppercase;letter-spacing:.06em;font-size:.62rem}.cie-student strong{margin:2px 0 10px;font-size:.95rem}.cie-student b{white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;overflow:hidden}.cie-fields{z-index:1;border-top:1px solid #ffffff38;grid-template-columns:1.4fr .8fr;gap:15px;padding-top:14px;display:grid;position:relative}.cie-fields div{gap:3px;display:grid}.cie-fields strong{font-size:.75rem}.cie-front footer{margin-top:20px;font-size:.65rem}.cie-front footer strong{letter-spacing:.08em}.cie-back{background:linear-gradient(145deg,#102b56,#173b75)}.cie-back dl{z-index:1;grid-template-columns:1fr 1fr;gap:13px;margin:25px 0 15px;display:grid;position:relative}.cie-back dl div{min-width:0}.cie-back dt{color:#ffffff9e;text-transform:uppercase;letter-spacing:.06em;font-size:.58rem}.cie-back dd{text-overflow:ellipsis;margin:3px 0 0;font-size:.72rem;font-weight:800;overflow:hidden}.cie-back footer{color:#ffffffb8;border-top:1px solid #ffffff2e;padding-top:13px;font-size:.67rem}.qr-card{border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:20px;margin-top:22px;padding:20px}.qr-card>div:first-child{text-align:left}.qr-card p{color:var(--muted);margin:6px 0 0;font-size:.8rem;line-height:1.45}.qr-card canvas{border:1px solid var(--line);border-radius:14px;width:180px;height:180px;margin:18px auto 10px;padding:8px;display:block}.qr-card code{color:var(--navy);word-break:break-all;font-size:.7rem}.qr-card>small{color:var(--muted);margin-top:12px;font-size:.68rem;line-height:1.45;display:block}.offline-card{margin-top:16px}.offline-card strong{font-size:.88rem}.page-heading{margin-bottom:20px}.notice-list{gap:12px;display:grid}.notice-item{align-items:flex-start}.notice-item>div{flex:1;min-width:0}button.notice-item{width:100%;color:inherit;text-align:left;cursor:pointer}button.notice-item>.icon{color:var(--muted);align-self:center}.notice-item.unread{background:#f7fcfe;border-color:#a8d8e7}.notice-icon{background:var(--ice);width:38px;height:38px;color:var(--navy);border-radius:12px;flex:0 0 38px;place-items:center;display:grid}.notice-icon .icon{width:19px}.notice-title{align-items:center;gap:8px;display:flex}.notice-title i{background:var(--navy);color:#fff;text-transform:uppercase;border-radius:99px;padding:2px 7px;font-size:.58rem;font-style:normal}.profile-card{border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:22px;padding:25px 20px}.profile-avatar{background:var(--navy);color:#fff;border:5px solid #e4f1f7;border-radius:50%;place-items:center;width:76px;height:76px;margin:0 auto 13px;font-size:1.2rem;font-weight:900;display:grid}.profile-card .profile-photo{width:82px;height:94px;color:var(--navy);border-color:#e4f1f7;margin:0 auto 14px}.profile-card h2,.profile-card p{margin:0}.profile-card h2{font-size:1.12rem}.profile-card p{color:var(--muted);margin-top:5px;font-size:.78rem}.profile-card span{color:var(--warning);background:#fff1d6;border-radius:999px;margin-top:12px;padding:5px 10px;font-size:.65rem;font-weight:800;display:inline-flex}.settings-list{border:1px solid var(--line);background:var(--surface);border-radius:20px;margin-top:18px;overflow:hidden}.settings-list button{border:0;border-bottom:1px solid var(--line);width:100%;min-height:68px;color:inherit;text-align:left;background:0 0;grid-template-columns:40px 1fr 22px;align-items:center;gap:11px;padding:12px 15px;display:grid}.settings-list button:last-child{border-bottom:0}.settings-list button>span{width:38px;height:38px;color:var(--navy);background:#eef4fa;border-radius:12px;place-items:center;display:grid}.settings-list button>span .icon{width:19px}.settings-list button>div{gap:3px;min-width:0;display:grid}.settings-list strong{font-size:.86rem}.settings-list small{color:var(--muted);font-size:.7rem}.settings-list button>.icon{color:#9aa6b5;width:18px}.logout-button{color:#b22e42;background:#fff9fa;border:1px solid #f0cbd0;margin-top:18px}.profile-data,.pending-document,.issued-document{border:1px solid var(--line);background:var(--surface);border-radius:20px;margin-top:18px;padding:20px}.pending-document{text-align:center}.pending-document-icon{width:58px;height:58px;color:var(--warning);background:#fff2d9;border-radius:18px;place-items:center;margin:0 auto 16px;display:grid}.issued-document .pending-document-icon{color:var(--success);background:#e4f7ef;margin-left:0}.pending-document h2,.issued-document h2{color:var(--navy-dark);margin:7px 0;font-size:1.25rem}.pending-document>p,.issued-document>p{color:var(--muted);margin:0;font-size:.84rem;line-height:1.55}.pending-document dl,.issued-document dl,.profile-data dl{text-align:left;gap:0;margin:20px 0 0;display:grid}.pending-document dl div,.issued-document dl div,.profile-data dl div{border-top:1px solid var(--line);grid-template-columns:minmax(95px,.75fr) minmax(0,1.4fr);gap:12px;padding:11px 0;display:grid}.pending-document dt,.issued-document dt,.profile-data dt{color:var(--muted);font-size:.72rem}.pending-document dd,.issued-document dd,.profile-data dd{min-width:0;color:var(--navy-dark);overflow-wrap:anywhere;margin:0;font-size:.78rem;font-weight:800}.pending-document+.secondary-button,.issued-document+.secondary-button{margin-top:16px}.refresh-button{margin-top:12px}.card-record{margin-top:18px}.model-pending-note{background:#eef4fa;border-radius:13px;padding:13px;color:var(--navy)!important;margin-top:18px!important}.session-loading{width:min(100%,520px);min-height:100vh;color:var(--navy);text-align:center;background:#f7f9fc;flex-direction:column;justify-content:center;align-items:center;gap:16px;margin:0 auto;padding:28px;display:flex}.session-loading>img{width:120px;height:auto}.session-loading>p{margin:0;font-weight:800}.loading-spinner{border:3px solid #cfdbe9;border-top-color:var(--navy);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite app-spin}@keyframes app-spin{to{transform:rotate(360deg)}}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.login-shell{background:#fff;width:min(100%,520px);min-height:100vh;margin:0 auto;position:relative;overflow:hidden}.login-view{background:#e8edf9;width:100%;max-width:520px;min-height:100vh;margin:0 auto;transition:transform .36s cubic-bezier(.22,.61,.36,1);overflow:hidden}.login-shell.qr-intro-open>.login-view{transform:translate(-100%)}.qr-intro-panel{z-index:45;overscroll-behavior:contain;color:#2a2935;background:#fff;border-left:1px solid #edf0f5;width:min(100%,520px);height:100dvh;transition:transform .36s cubic-bezier(.22,.61,.36,1);position:fixed;top:0;left:50%;overflow-y:auto;transform:translate(50%);box-shadow:-22px 0 45px #18243c1f}.login-shell.qr-intro-open>.qr-intro-panel{transform:translate(-50%)}.login-shell.qr-help-open>.qr-intro-panel{transform:translate(-150%)}.qr-help-panel{z-index:46;overscroll-behavior:contain;color:#2a2935;background:#fff;border-left:1px solid #edf0f5;width:min(100%,520px);height:100dvh;transition:transform .36s cubic-bezier(.22,.61,.36,1);position:fixed;top:0;left:50%;overflow-y:auto;transform:translate(50%);box-shadow:-22px 0 45px #18243c1f}.login-shell.qr-help-open>.qr-help-panel{transform:translate(-50%)}.qr-intro-header{min-height:86px;padding:calc(16px + env(safe-area-inset-top)) 20px 14px;border-bottom:1px solid #f0f2f6;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:8px;display:grid}.qr-intro-header button{color:#342f3d;background:0 0;border:0;place-items:center;width:42px;height:42px;padding:0;display:grid}.qr-intro-header button:disabled{opacity:.62;cursor:default}.qr-intro-header button .icon{width:27px;height:27px}.qr-intro-header h1{margin:0;font-size:1.38rem;font-weight:500;line-height:1.25}.qr-help-header{min-height:86px;padding:calc(16px + env(safe-area-inset-top)) 20px 14px;border-bottom:1px solid #f0f2f6;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:8px;display:grid}.qr-help-header button{color:#342f3d;background:0 0;border:0;place-items:center;width:42px;height:42px;padding:0;display:grid}.qr-help-header button:disabled{opacity:.62;cursor:default}.qr-help-header button .icon{width:27px;height:27px}.qr-help-header h1{margin:0;font-size:1.32rem;font-weight:500;line-height:1.25}.qr-intro-content{padding:24px 28px calc(40px + env(safe-area-inset-bottom))}.qr-intro-illustration{place-items:center;min-height:255px;display:grid;position:relative}.qr-intro-illustration:before{content:"";background:#ffd8cf;border-radius:44% 56% 58% 42%;width:205px;height:145px;position:absolute;transform:rotate(16deg)}.qr-intro-phone{z-index:1;color:#ef705b;background:#fff;border:10px solid #f47f68;border-radius:22px;place-items:center;width:112px;height:176px;display:grid;position:relative;transform:rotate(-7deg);box-shadow:0 15px 30px #cf5c462e}.qr-intro-phone .icon{stroke-width:1.5px;width:62px;height:62px}.qr-intro-phone span{border:3px solid;border-radius:50%;width:20px;height:20px;position:absolute;bottom:12px}.qr-intro-content>p{margin:18px 0 0;font-size:1.42rem;line-height:1.38}.qr-intro-actions{justify-items:start;gap:26px;margin-top:96px;display:grid}.qr-help-link{color:#52669d;cursor:pointer;background:0 0;border:0;padding:0;font-size:.98rem;text-decoration:underline}.qr-help-link:disabled{opacity:1;cursor:default}.qr-continue-button{color:#fff;background:linear-gradient(135deg,#315fe9,#2448cf);border:0;border-radius:999px;justify-content:center;align-items:center;gap:12px;min-width:205px;min-height:58px;font-size:1rem;font-weight:700;display:flex}.qr-continue-button:disabled{opacity:1;cursor:default}.qr-camera-panel,.qr-result-panel{background:#0d1830;overflow:hidden}.qr-camera-title{min-height:178px;padding:calc(34px + env(safe-area-inset-top)) 28px 28px;color:#fff;background:linear-gradient(145deg,#155fe0,#1679ef);align-items:flex-end;display:flex}.qr-camera-title h1{max-width:410px;margin:0;font-size:clamp(1.65rem,6vw,2rem);font-weight:650;line-height:1.2}.qr-camera-stage{background:#111827;height:calc(100dvh - 178px);min-height:390px;position:relative;overflow:hidden}.qr-camera-stage video{object-fit:cover;width:100%;height:100%;display:block}.qr-camera-shade{pointer-events:none;background:linear-gradient(#040b181f,#040b1814 52%,#040b189e);position:absolute;inset:0}.qr-camera-guide{aspect-ratio:1;border:1px solid #ffffff5c;border-radius:24px;width:min(72vw,330px);position:absolute;top:43%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 100vmax #040a1633}.qr-camera-guide span{border-style:solid;border-color:#fff;width:44px;height:44px;position:absolute}.qr-camera-guide span:first-child{border-width:4px 0 0 4px;border-radius:18px 0 0;top:-2px;left:-2px}.qr-camera-guide span:nth-child(2){border-width:4px 4px 0 0;border-radius:0 18px 0 0;top:-2px;right:-2px}.qr-camera-guide span:nth-child(3){border-width:0 4px 4px 0;border-radius:0 0 18px;bottom:-2px;right:-2px}.qr-camera-guide span:nth-child(4){border-width:0 0 4px 4px;border-radius:0 0 0 18px;bottom:-2px;left:-2px}.qr-camera-stage>p{width:calc(100% - 48px);left:24px;bottom:calc(104px + env(safe-area-inset-bottom));color:#fff;text-align:center;text-shadow:0 2px 8px #0006;margin:0;font-size:.92rem;position:absolute}.qr-camera-cancel{width:min(54%,230px);min-height:54px;left:50%;bottom:calc(30px + env(safe-area-inset-bottom));color:#fff;background:linear-gradient(135deg,#2978ef,#145edc);border:0;border-radius:999px;font-size:1rem;font-weight:700;position:absolute;transform:translate(-50%);box-shadow:0 10px 24px #05183d52}.qr-validating{color:#fff;background:#071124c7;align-content:center;justify-items:center;gap:18px;display:grid;position:absolute;inset:0}.qr-validating .loading-spinner{border-color:#fff #ffffff4d #ffffff4d;width:48px;height:48px}.qr-validating strong{font-size:1rem}.qr-result-panel{background:linear-gradient(#155fe0 0 32%,#f8f8fb 32%)}.qr-result-panel .qr-camera-title{align-items:center;min-height:230px;padding-bottom:54px}.qr-result-sheet{min-height:calc(100dvh - 205px);padding:30px 28px calc(36px + env(safe-area-inset-bottom));color:#2c2c35;background:#fff;border-radius:30px 30px 0 0;position:absolute;inset:205px 0 0}.qr-result-handle{background:#3b3b45;border-radius:99px;width:36px;height:4px;margin:-13px auto 38px;display:block}.qr-result-icon{color:#315cc8;place-items:center;width:48px;height:48px;margin:0 auto 38px;display:grid}.qr-result-icon .icon{width:34px;height:34px}.qr-result-sheet h1{margin:0;font-size:1.65rem;font-weight:500;line-height:1.25}.qr-result-sheet p{color:#555966;min-height:52px;margin:28px 0 0;line-height:1.5}.qr-result-retry,.qr-result-login{border:0;border-radius:999px;width:100%;min-height:54px;margin-top:20px;font-size:.98rem;font-weight:650}.qr-result-retry{color:#fff;background:linear-gradient(135deg,#315fe9,#2448cf)}.qr-result-login{color:#4c455a;background:#f3f1f5;justify-content:center;align-items:center;gap:10px;margin-top:16px;display:flex}.qr-result-login .icon{width:20px;height:20px}.qr-selfie-panel{grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.qr-selfie-content{min-height:0;padding:32px 28px 20px;overflow-y:auto}.qr-selfie-content h2{color:#3a3b43;margin:0;font-size:1.75rem;font-weight:450;line-height:1.25}.qr-selfie-content>p{color:#575b66;margin:18px 0 0;font-size:1rem;line-height:1.5}.qr-selfie-carousel{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;touch-action:pan-x pan-y;gap:16px;margin:34px -28px 0;padding:0 28px 14px;scroll-padding-inline:28px;display:flex;overflow-x:auto}.qr-selfie-carousel::-webkit-scrollbar{display:none}.qr-selfie-carousel.dragging{cursor:grabbing;scroll-snap-type:none;-webkit-user-select:none;user-select:none}.qr-selfie-carousel:focus-visible{outline-offset:3px;outline:3px solid #315fe93d}.qr-selfie-tip{scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 calc(100% - 72px);min-width:0}.qr-selfie-tip>header{align-items:center;gap:16px;min-height:58px;padding:0 10px;display:flex}.qr-selfie-tip>header>span{color:#fff;background:#315cba;border-radius:50%;flex:0 0 48px;place-items:center;width:48px;height:48px;display:grid}.qr-selfie-tip>header>span .icon{stroke-width:2px;width:25px;height:25px}.qr-selfie-tip h3{color:#3f3b48;text-transform:uppercase;margin:0;font-size:1rem;font-weight:600;line-height:1.3}.qr-selfie-tip>p{color:#57515e;background:#f1eef2;border-radius:14px;min-height:138px;margin:12px 0 0;padding:17px 18px;font-size:.96rem;line-height:1.48}.qr-selfie-indicators{justify-content:center;align-items:center;gap:10px;min-height:26px;margin-top:42px;display:flex}.qr-selfie-indicators button{background:#e4e1e8;border:0;border-radius:99px;width:10px;height:10px;padding:0;transition:width .18s,background .18s}.qr-selfie-indicators button.active{background:#315cba;width:27px}.qr-selfie-indicators button:focus-visible{outline-offset:3px;outline:3px solid #315fe93d}.qr-selfie-footer{padding:14px 24px calc(18px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border-top:1px solid #f0f1f5}.qr-selfie-continue{color:#fff;background:linear-gradient(135deg,#315fe9,#2448cf);border:0;border-radius:999px;justify-content:center;align-items:center;gap:11px;width:100%;min-height:56px;font-size:1rem;font-weight:700;display:flex}.qr-selfie-continue:disabled{opacity:1;cursor:default}.qr-selfie-continue .icon{width:21px;height:21px}.qr-live-selfie-panel{background:#101827;grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.qr-live-selfie-header{z-index:4;background:#fff;border-bottom:0;position:relative}.qr-live-selfie-header>span{width:42px;height:42px}.qr-live-selfie-content{background:#101827;min-height:0;overflow:hidden}.qr-live-selfie-stage{background:#101827;width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.qr-live-selfie-backdrop,.qr-live-selfie-video{width:100%;height:100%;display:block;position:absolute;inset:0;transform:scaleX(-1)}.qr-live-selfie-backdrop{z-index:0;object-fit:cover;filter:blur(22px)brightness(.58)saturate(.8);transform:scaleX(-1)scale(1.12)}.qr-live-selfie-video{z-index:1;object-fit:contain;object-position:center}.qr-live-selfie-shade{display:none}.qr-live-selfie-guide{aspect-ratio:.76;pointer-events:none;z-index:3;border:2px solid #fffffff5;border-radius:50%;width:min(56vw,240px);transition:width .26s,border-color .18s,box-shadow .18s;position:absolute;top:43%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 999px #040a156b,0 0 24px #0003}.qr-live-selfie-guide.is-loading{border-color:#ffffff8c}.qr-live-selfie-guide.is-hold{border-color:#62d6a7;box-shadow:0 0 0 999px #040a156b,0 0 0 4px #62d6a73d}.qr-live-selfie-guide.is-approach,.qr-live-selfie-guide.is-capturing{border-color:#78c9ff;width:min(64vw,274px);box-shadow:0 0 0 999px #040a156b,0 0 0 4px #78c9ff3d}.qr-live-selfie-guide.is-capturing{border-color:#62d6a7}.qr-live-selfie-controls{z-index:4;background:#fff;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -10px 28px #040a152e}.qr-selfie-guide-message{color:#15233d;text-align:center;background:#f5f7fb;border-bottom:1px solid #e7ebf2;border-radius:0;flex-direction:column;flex:none;justify-content:center;width:100%;min-height:48px;margin:0;padding:4px 14px;font-size:.9rem;line-height:1.4;display:flex}.qr-selfie-guide-message strong,.qr-selfie-guide-message span{display:block}.qr-selfie-guide-message strong{font-size:.9rem}.qr-selfie-guide-message span{color:#667085;margin-top:2px;font-size:.72rem}.qr-live-selfie-footer{min-height:64px;padding:7px 28px calc(8px + env(safe-area-inset-bottom));color:#1f3760;background:#fff;border-top:0;flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.qr-selfie-auto-label{letter-spacing:.02em;align-items:center;gap:8px;font-size:.82rem;font-weight:700;display:inline-flex}.qr-selfie-auto-label .icon{width:18px;height:18px}.qr-selfie-guide-progress{background:#dfe5ef;border-radius:99px;width:min(100%,330px);height:5px;overflow:hidden}.qr-selfie-guide-progress>span{border-radius:inherit;background:linear-gradient(90deg,#78c9ff,#62d6a7);width:0;height:100%;transition:width .16s;display:block}.qr-selfie-preview-panel{grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.qr-selfie-preview-panel .qr-intro-header>span{width:42px;height:42px}.qr-selfie-preview-content{text-align:center;min-height:0;padding:28px 24px 22px;overflow-y:auto}.qr-selfie-preview-content>img{aspect-ratio:3/4;object-fit:cover;border-radius:20px;width:min(72vw,310px);margin:0 auto;display:block;box-shadow:0 15px 34px #132a522e}.qr-selfie-preview-content h2{color:#2e3440;margin:24px 0 0;font-size:1.45rem;font-weight:650}.qr-selfie-preview-content>p{color:#5b6270;max-width:370px;margin:10px auto 0;font-size:.96rem;line-height:1.48}.qr-selfie-preview-spinner{margin:22px auto 0;display:block}.qr-selfie-privacy{color:#31517c;text-align:left;background:#edf4ff;border-radius:12px;align-items:flex-start;gap:10px;max-width:390px;margin:20px auto 0;padding:13px 14px;font-size:.83rem;line-height:1.42;display:flex}.qr-selfie-privacy .icon{flex:0 0 20px;width:20px;height:20px}.qr-selfie-result-panel .qr-camera-title{text-align:left}.qr-help-content{padding:28px 24px calc(40px + env(safe-area-inset-bottom))}.qr-help-section+.qr-help-section{margin-top:34px}.qr-help-section-title{align-items:center;gap:14px;display:flex}.qr-help-section-title>span{color:#fff;background:#315caa;border-radius:50%;flex:0 0 48px;place-items:center;width:48px;height:48px;display:grid}.qr-help-section-title>span .icon{width:24px;height:24px}.qr-help-section-title h2{text-transform:uppercase;margin:0;font-size:1.02rem;font-weight:600}.qr-help-section>p{color:#464c58;margin:20px 0 0;font-size:.98rem;line-height:1.55}.qr-help-section ol{color:#464c58;margin:22px 0 0;padding-left:24px}.qr-help-section li{padding-left:5px;font-size:.98rem;line-height:1.58}.qr-help-section li+li{margin-top:17px}.qr-help-card-sample{background:linear-gradient(145deg,#44b9d4,#1d74b2);border:8px solid #237ab7;border-radius:10px;width:230px;height:138px;margin:25px auto 0;position:relative;transform:rotate(-3deg);box-shadow:0 13px 25px #1d5e9b2e}.qr-help-photo{color:#fff;background:#f4a18e;border-radius:7px;place-items:center;width:58px;height:68px;display:grid;position:absolute;top:31px;left:16px}.qr-help-photo .icon{width:38px;height:38px}.qr-help-line{background:#ffffffd1;border-radius:99px;height:6px;position:absolute;left:89px}.qr-help-line.line-one{width:102px;top:39px}.qr-help-line.line-two{width:84px;top:56px}.qr-help-line.line-three{width:96px;top:73px}.qr-help-code{color:#193f70;background:#fff;border:4px solid #ef6f5d;border-radius:6px;place-items:center;width:42px;height:42px;display:grid;position:absolute;bottom:10px;right:16px}.qr-help-code .icon{stroke-width:1.6px;width:30px;height:30px}.qr-help-back-button{color:#fff;background:linear-gradient(135deg,#315fe9,#2448cf);border:0;border-radius:999px;min-width:136px;min-height:52px;margin-top:32px;font-weight:700}.login-brand{background:#e8edf9;justify-content:center;min-height:220px;padding-top:18px;display:flex;position:relative}.dne-logo{background:#2f5bb3;border-radius:50%;place-items:center;width:205px;height:205px;display:grid;overflow:hidden}.dne-logo img{filter:brightness(0)invert();width:62%;height:auto;display:block}.login-panel{z-index:1;background:#fff;border-radius:34px 34px 0 0;min-width:0;min-height:calc(100vh - 185px);margin-top:-34px;padding:46px 21px 38px;position:relative}.login-panel>h1{color:#353535;margin:0 0 28px;font-size:1.35rem;font-weight:500;line-height:1.35}.login-form{gap:27px;display:grid}.login-field{position:relative}.login-field input{color:#303030;letter-spacing:.015em;background:#fff;border:1.5px solid #242424;border-radius:5px;outline:0;width:100%;height:64px;padding:0 18px;font-size:1.17rem}.login-field input::placeholder{color:#858585;opacity:1}.login-field input:focus{border-color:#2f5bb3;box-shadow:0 0 0 3px #2f5bb321}.login-field.has-action input{padding-right:58px}.login-field>button{color:#404040;background:0 0;border:0;place-items:center;width:42px;height:42px;display:grid;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.login-field>button .icon{width:27px;height:27px}.login-enter-button,.login-request button{border:0;border-radius:999px;justify-content:center;align-items:center;gap:12px;width:100%;height:55px;font-size:1.08rem;font-weight:500;display:flex}.login-enter-button{color:#fff;background:#2f5bb3;margin-top:2px}.login-enter-button:disabled{cursor:not-allowed;color:#aaa;background:#dedede}.login-enter-button .icon,.login-request button .icon{width:22px;height:22px}.login-help{color:#6b7280;margin-top:-15px;font-size:.8rem;line-height:1.4;display:block}.login-error{color:#a52d3f;background:#fff4f5;border:1px solid #f0cbd0;border-radius:10px;margin-top:-12px;padding:12px 14px;font-size:.82rem;line-height:1.45}.login-divider{color:#333;grid-template-columns:1fr auto 1fr;align-items:center;gap:17px;margin:42px 0 34px;font-size:1.15rem;display:grid}.login-divider:before,.login-divider:after{content:"";background:#8b8b8b;height:1px}.login-request h2{color:#353535;margin:0 0 24px;font-size:1.27rem;font-weight:500;line-height:1.42}.login-request button{color:#fff;background:#2f5bb3}.login-validation{text-align:center;border-top:1px solid #999;margin-top:28px;padding:26px 0 4px}.login-validation a{color:#315caa;font-size:1rem;line-height:1.4;text-decoration:none}.login-validation a:hover{text-decoration:underline}.login-privacy{text-align:center;margin-top:13px}.login-privacy button{color:#52669d;text-underline-offset:3px;background:0 0;border:0;padding:5px 8px;font-size:.9rem;text-decoration:underline}.login-install{margin-top:18px}.login-install button{color:#2f5bb3;background:#fff;border:1px solid #2f5bb3;border-radius:999px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:50px;font-weight:700;display:flex}.app-toast{z-index:100;top:calc(18px + env(safe-area-inset-top));color:#fff;text-align:center;background:#102b56;border-radius:13px;width:min(100% - 32px,440px);padding:13px 16px;font-size:.82rem;font-weight:700;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 14px 35px #102b5647}@media (min-width:740px){body{padding:24px 0}.app-shell,.login-shell{border-radius:26px;min-height:calc(100vh - 48px);overflow:hidden}.login-view{min-height:calc(100vh - 48px)}.bottom-nav{border-radius:0 0 26px 26px;bottom:24px}.management-menu,.certificate-panel,.support-panel,.privacy-panel,.about-panel,.qr-intro-panel,.qr-help-panel{border-radius:26px;height:calc(100dvh - 48px);top:24px}.login-shell{box-shadow:var(--shadow)}.login-panel{min-height:calc(100vh - 233px)}}@media (max-width:360px){.page-content{padding:18px 15px}.cie-face{padding:17px}.cie-face header>span:last-child{max-width:170px}.login-brand{min-height:205px}.dne-logo{width:188px;height:188px;font-size:4.7rem}.login-panel{margin-top:-31px;padding-left:14px;padding-right:14px}.login-panel>h1{font-size:1.25rem}.login-request h2{font-size:1.16rem}.qr-intro-content{padding-left:22px;padding-right:22px}.qr-intro-content>p{font-size:1.25rem}.qr-intro-actions{margin-top:68px}.qr-help-content{padding-left:19px;padding-right:19px}.qr-help-header h1{font-size:1.18rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
