:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;background:#eef3f8;font-family:Inter,Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}button,a{font:inherit}button{border:0}a{color:inherit;text-decoration:none}img{max-width:100%}.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}.app-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:28px 0 34px}.home-shell{width:min(880px,100% - 32px);margin:0 auto;padding:40px 0}.home-hero{color:#fff;background:linear-gradient(110deg,#0d1b3bf5,#17425ae0),url(/assets/app/live_view.png) 50%/cover;border-radius:8px;padding:36px}.home-hero h1{color:#fff;margin-top:56px}.home-hero p{color:#d6e3f2;max-width:620px;margin-top:14px;line-height:1.7}.home-projects{gap:14px;margin-top:18px;display:grid}.home-project{color:inherit;background:#fff;border:1px solid #d9e1ef;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;padding:18px 20px;display:grid}.home-project:hover,.home-project:focus-visible{border-color:var(--project-accent,#24c7ed);outline:none}.home-project-icon{width:44px;height:44px;color:var(--project-accent,#15abc9);border:1px solid color-mix(in srgb, var(--project-accent,#15abc9) 32%, #fff);background:color-mix(in srgb, var(--project-accent,#15abc9) 9%, #fff);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.home-project-code{color:var(--project-accent,#15abc9);letter-spacing:.12em;font-size:.74rem;font-weight:900;display:block}.home-project-name strong{color:#172033;margin-top:3px;font-size:1.15rem;display:block}.home-project-name small{color:#526173;margin-top:4px;font-size:.9rem;line-height:1.5;display:block}.home-project-mark{color:#8996ab;display:inline-flex}.home-project:hover .home-project-mark{color:var(--project-accent,#15abc9)}.page-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.page-topbar-actions{flex-wrap:wrap;gap:8px;display:flex}.page-topbar a{background:#fff;border:1px solid #d7dfeb;border-radius:999px;align-items:center;gap:7px;min-height:36px;padding:0 15px;font-size:.88rem;font-weight:700;display:inline-flex}.page-topbar-back{color:#58677a}.page-topbar-action{color:var(--program-accent,#18a6cb);border-color:color-mix(in srgb, var(--program-accent,#18a6cb) 42%, #fff);background:color-mix(in srgb, var(--program-accent,#18a6cb) 8%, #fff)}.page-topbar a:hover,.page-topbar a:focus-visible{color:var(--program-accent,#18a6cb);border-color:var(--program-accent,#18a6cb);outline:none}@media (max-width:640px){.home-project{gap:12px;padding-left:14px;padding-right:14px}}.hero{color:#fff;background:linear-gradient(105deg,#09122af0 0%,#111f44e0 48%,#1a2846ad 100%),url(/assets/app/live_view.png) 50%/cover;border:1px solid #ffffff38;border-radius:8px;grid-template-columns:1fr;min-height:380px;padding:34px;display:grid;overflow:hidden;box-shadow:0 24px 70px #13234233}.hero-main{flex-direction:column;justify-content:flex-start;min-width:0;display:flex}.brand-row{align-items:center;gap:12px;display:inline-flex}.brand-row img{object-fit:contain;background:#ffffff14;border:1px solid #3fd6ea8f;border-radius:8px;width:46px;height:46px;padding:4px}.brand-row strong,.brand-row small{display:block}.brand-row strong{font-size:1.25rem;font-weight:800}.brand-row small{color:#c3d0e2;margin-top:3px;font-size:.92rem}.hero-title{max-width:710px;margin-top:58px}.hero-title img{width:232px;height:auto;margin-bottom:22px}h1,h2,h3,p{margin:0}h1{letter-spacing:0;max-width:650px;font-size:4.6rem;line-height:.98}.hero-title p{color:#e6edf6;max-width:620px;margin-top:20px;font-size:1.08rem;line-height:1.72}.card-actions,.text-link{align-items:center;display:flex}.card-actions a,.card-actions button,.text-link{cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;display:inline-flex}.section-intro span,.summary-strip span,.card-topline span{color:#35cce0;text-transform:uppercase;font-size:.76rem;font-weight:900;display:block}.summary-strip{background:#d7dfeb;border:1px solid #d7dfeb;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:16px;display:grid;overflow:hidden}.summary-strip div{background:#fff;min-width:0;padding:18px 20px}.summary-strip span{color:#728097}.summary-strip strong{overflow-wrap:anywhere;color:#172033;margin-top:8px;font-size:1.05rem;display:block}.download-section,.screen-section{margin-top:26px}.section-intro{max-width:760px}.section-intro h2,.section-heading h2{color:#172033;font-size:1.55rem}.section-intro h2{margin-top:6px}.section-intro p{color:#58677a;margin-top:8px;line-height:1.65}.download-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.download-card,.guide-section,.sticker-card,.screen-card{background:#fff;border:1px solid #d7dfeb;border-radius:8px}.download-card{flex-direction:column;min-width:0;min-height:254px;padding:18px;display:flex}.card-topline{color:#149eb5;justify-content:space-between;align-items:center;gap:12px;display:flex}.card-topline span{color:#0f6e7f;background:#dff8fb;border-radius:999px;padding:4px 8px}.download-card h3,.screen-card h3,.step-item h3,.trouble-list h3{color:#172033;font-size:1.02rem}.download-card h3{margin-top:18px}.download-card p,.step-item p,.sticker-card p,.screen-card p,.trouble-list p,.compact-note p{color:#58677a;line-height:1.62}.download-card p{flex:1;margin-top:8px}.download-card code{overflow-wrap:anywhere;color:#172033;background:#f6f8fb;border:1px solid #e1e7f0;border-radius:8px;min-width:0;margin-top:14px;padding:10px;font-size:.84rem;display:block}.card-actions{gap:8px;margin-top:12px}.card-actions a{color:#fff;background:#12305f;flex:1;font-weight:800}.card-actions button{color:#12305f;background:#fff;border:1px solid #cbd7e7;width:42px}.install-layout,.content-grid,.support-layout{gap:18px;margin-top:18px;display:grid}.install-layout{grid-template-columns:1fr}.content-grid{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr)}.support-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.8fr)}.guide-section{padding:24px}.section-heading{color:#149eb5;align-items:center;gap:10px;display:flex}.step-list{gap:12px;margin-top:20px;display:grid}.step-item{background:#f8fbff;border:1px solid #e1e7f0;border-radius:8px;grid-template-columns:38px 28px minmax(0,1fr);align-items:start;gap:12px;min-width:0;padding:15px;display:grid}.step-number{color:#6d7a90;background:#edf3f7;border-radius:8px;place-items:center;width:38px;height:28px;font-size:.82rem;font-weight:900;display:inline-grid}.step-item svg{color:#149eb5;margin-top:3px}.step-item p{margin-top:5px}.check-list{gap:12px;margin:20px 0 0;padding:0;list-style:none;display:grid}.check-list li{color:#425064;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:10px;line-height:1.55;display:grid}.check-list svg{color:#2b9a66;margin-top:2px}.sticker-card{overflow:hidden}.sticker-card-preview{background:#eef3f8;border-bottom:1px solid #d7dfeb;grid-template-columns:minmax(0,1fr);place-items:center;padding:24px;display:grid}.sticker-card-preview .dongle-sticker-viewport{max-width:548px}.sticker-card-note{gap:12px;padding:18px;display:flex}.sticker-card-note svg{color:#149eb5;flex:none}.dongle-sticker-viewport{width:100%;max-width:760px;height:var(--sticker-render-height,444px)}.dongle-sticker-scale{width:760px;height:444px;transform:scale(var(--sticker-scale,1));transform-origin:0 0}.dongle-sticker{width:760px;height:444px;color:var(--sticker-ink,#0f1b3d);background:#fff;border:1px solid #e0e5ee;border-radius:20px;flex-direction:column;font-family:Archivo,Arial,Helvetica,sans-serif;display:flex;overflow:hidden;box-shadow:0 22px 48px -18px #0f1b3d66}.sticker-export-stage{pointer-events:none;width:760px;height:444px;position:fixed;top:0;left:-10000px;overflow:hidden}.dongle-sticker__header{background:var(--sticker-ink,#0f1b3d);flex:none;justify-content:space-between;align-items:center;height:64px;padding:0 26px;display:flex}.dongle-sticker__brand{align-items:center;gap:14px;display:flex}.dongle-sticker__brand img{width:auto;height:38px;display:block}.dongle-sticker__brand span{color:#fff;letter-spacing:.07em;font-size:24px;font-weight:800}.dongle-sticker__type{color:var(--sticker-accent,#18a6cb);letter-spacing:.22em;font-size:13px;font-weight:700}.dongle-sticker__body{flex-direction:column;flex:1;min-height:0;padding:18px 26px;display:flex;position:relative}.dongle-sticker__watermark{z-index:0;opacity:.2;pointer-events:none;width:320px;height:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-58%)}.dongle-sticker__main{z-index:1;flex:1;justify-content:space-between;align-items:center;gap:28px;min-height:0;display:flex;position:relative}.dongle-sticker__identity{flex-direction:column;flex:none;align-items:flex-start;display:flex}.dongle-sticker__identity strong{color:var(--sticker-ink,#0f1b3d);letter-spacing:-.01em;font-size:62px;font-weight:900;line-height:.9}.dongle-sticker__rule{background:var(--sticker-accent,#18a6cb);border-radius:3px;width:92px;height:4px;margin:14px 0 11px}.dongle-sticker__subtitle{color:#56607a;font-size:15px;font-weight:600}.dongle-sticker__tier-row{align-items:center;gap:9px;margin-top:18px;display:inline-flex}.dongle-sticker__tier-label{color:#97a0b3;letter-spacing:1.6px;font-size:10px;font-weight:700}.dongle-sticker__tier-pill{color:#fff;background:var(--sticker-accent,#18a6cb);border-radius:999px;justify-content:center;align-items:center;min-height:30px;padding:6px 18px;font-size:15px;font-weight:700;display:inline-flex}.dongle-sticker__meta{z-index:1;text-align:center;flex-direction:column;flex:none;gap:14px;min-width:132px;max-width:158px;display:flex;position:relative}.dongle-sticker__qr-wrap{text-align:center;flex:none}.dongle-sticker__qr-image,.dongle-sticker__qr-grid{background:#fff;width:196px;height:196px;display:grid}.dongle-sticker__qr-image{object-fit:contain;image-rendering:pixelated;display:block}.dongle-sticker__qr-grid{grid-template-columns:repeat(25,1fr)}.dongle-sticker__qr-grid span.is-dark{background:var(--sticker-ink,#0f1b3d)}.dongle-sticker__license{color:var(--sticker-ink,#0f1b3d);letter-spacing:.1em;margin-top:9px;font-family:JetBrains Mono,Menlo,Monaco,Courier New,monospace;font-weight:700;display:block}.dongle-sticker__info-block{text-align:center;min-width:0;padding:0;display:block}.dongle-sticker__info-block span{color:#97a0b3;letter-spacing:.14em;margin-bottom:5px;font-size:9.5px;font-weight:700;display:block}.dongle-sticker__info-block strong{max-width:100%;color:var(--sticker-ink,#0f1b3d);text-overflow:ellipsis;white-space:nowrap;font-weight:800;line-height:1.05;display:block;overflow:hidden}.dongle-sticker__info-block code{max-width:100%;color:var(--sticker-ink,#0f1b3d);text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,Menlo,Monaco,Courier New,monospace;font-size:18px;font-weight:700;line-height:1.05;display:block;overflow:hidden}.dongle-sticker__divider{background:#d4dae6;border-radius:2px;width:40px;height:2px;margin:0 auto}.dongle-sticker__serial{z-index:1;background:var(--sticker-ink,#0f1b3d);border-radius:12px;flex:none;justify-content:space-between;align-items:center;gap:24px;min-width:0;padding:14px 26px;display:flex;position:relative}.dongle-sticker__serial span{color:var(--sticker-accent,#18a6cb);letter-spacing:.18em;white-space:nowrap;margin-bottom:0;font-size:11px;font-weight:700;display:block}.dongle-sticker__serial strong{color:#fff;letter-spacing:.06em;text-align:right;text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,Menlo,Monaco,Courier New,monospace;font-weight:800;line-height:1;overflow:hidden}.screen-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.screen-card{overflow:hidden}.screen-card img{aspect-ratio:16/10;object-fit:cover;object-position:top left;background:#121721;border-bottom:1px solid #d7dfeb;width:100%;display:block}.screen-card div{padding:16px}.screen-card svg{color:#149eb5}.screen-card h3{margin-top:10px}.screen-card p{margin-top:7px}.trouble-list{gap:16px;margin-top:20px;display:grid}.trouble-list article{border-bottom:1px solid #e1e7f0;padding-bottom:16px}.trouble-list article:last-child{border-bottom:0;padding-bottom:0}.trouble-list p{margin-top:6px}.compact-note p{margin-top:18px}.text-link{color:#12305f;background:#fff;border:1px solid #cbd7e7;width:fit-content;min-height:40px;margin-top:18px;padding:0 12px;font-weight:800}.footer-bar{color:#58677a;margin-top:20px;padding:18px 4px 4px}.footer-bar span{font-weight:900}@media (max-width:1040px){.hero,.install-layout,.content-grid,.support-layout{grid-template-columns:1fr}.download-grid,.screen-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sticker-card-preview .dongle-sticker-viewport{max-width:684px}}@media (max-width:720px){.app-shell{width:min(100% - 20px,640px);padding:10px 0 26px}.hero{padding:22px}.hero-title{margin-top:42px}.hero-title img{width:188px}h1{font-size:3rem}.summary-strip,.download-grid,.screen-grid{grid-template-columns:1fr}.step-item{grid-template-columns:38px minmax(0,1fr)}.step-item svg{grid-column:1}.step-item div{grid-area:1/2/span 2}.sticker-card-preview .dongle-sticker-viewport{max-width:548px}}@media (max-width:430px){.hero{padding:18px}.brand-row{align-items:flex-start}.brand-row img{width:40px;height:40px}h1{font-size:2.55rem}.guide-section,.sticker-card-preview{padding:18px}.sticker-card-preview .dongle-sticker-viewport{max-width:319px}.card-actions{align-items:stretch}}.admin-shell,.qr-public,.print-shell{width:min(1240px,100% - 32px);margin:0 auto;padding:24px 0 42px}.admin-topbar,.admin-header,.admin-card,.admin-table-wrap,.qr-result,.print-toolbar{background:#fff;border:1px solid #d7dfeb;border-radius:8px}.admin-topbar{justify-content:space-between;align-items:center;gap:16px;min-height:62px;padding:12px 16px;display:flex}.admin-brand{align-items:center;gap:10px;min-width:0;font-weight:900;display:inline-flex}.admin-brand img{object-fit:contain;background:#12305f;border-radius:8px;width:34px;height:34px;padding:4px}.admin-nav{flex-wrap:wrap;gap:8px;display:flex}.admin-nav a,.admin-nav button,.admin-button,.admin-button-secondary,.danger-button,.inline-link,.qr-link-button{cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 12px;font-weight:800;display:inline-flex}.admin-nav a,.admin-nav button,.admin-button-secondary,.inline-link{color:#12305f;background:#fff;border:1px solid #cbd7e7}.admin-nav form{margin:0}.admin-button,.qr-link-button{color:#fff;background:#12305f}.danger-button{color:#9a2b2b;background:#fff6f6;border:1px solid #f0c6c6}.admin-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-top:16px;padding:22px;display:flex}.admin-eyebrow{color:#149eb5;text-transform:uppercase;font-size:.76rem;font-weight:900;display:block}.admin-shell h1,.qr-public h1,.print-shell h1{color:#172033;margin-top:4px;font-size:1.8rem;line-height:1.2}.admin-header p,.admin-card p,.empty-state,.qr-result p{color:#58677a;line-height:1.6}.admin-grid,.stats-grid,.form-grid{gap:14px;display:grid}.stats-grid{grid-template-columns:repeat(6,minmax(0,1fr));margin-top:16px}.admin-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);margin-top:16px}.admin-card{padding:18px}.admin-card h2,.admin-card h3{color:#172033;font-size:1.12rem}.guide-version-card{grid-template-columns:minmax(0,1fr) minmax(280px,.52fr);align-items:end;gap:18px;margin-top:16px;display:grid}.guide-version-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.stat-card strong{color:#172033;margin-top:8px;font-size:2rem;display:block}.form-grid{margin-top:14px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}label{color:#425064;gap:6px;font-size:.88rem;font-weight:800;display:grid}input,select,textarea{color:#172033;width:100%;min-height:40px;font:inherit;background:#fff;border:1px solid #cbd7e7;border-radius:8px;padding:9px 10px}textarea{resize:vertical;min-height:88px}.admin-table-wrap{margin-top:16px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:1040px}.admin-table th,.admin-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e1e7f0;padding:12px}.admin-table td p{color:#728097;margin-top:2px;font-size:.8rem;font-weight:700}.admin-table th{color:#728097;text-transform:uppercase;font-size:.78rem}.admin-table td{color:#27344a}.admin-table tr:last-child td{border-bottom:0}.login-shell{place-items:center;min-height:calc(100vh - 150px);padding:24px 0;display:grid}.login-card{width:min(430px,100%)}.login-mark{color:#fff;background:#12305f;border-radius:8px;place-items:center;width:48px;height:48px;margin-bottom:18px;display:grid}.login-card h1{margin-top:4px}.login-card p{margin-top:10px}.login-form{gap:14px;margin-top:22px;display:grid}.login-form .admin-button{width:100%}.login-error{color:#9a2b2b;background:#fff6f6;border:1px solid #f0c6c6;border-radius:8px;margin:0;padding:10px 12px;font-weight:800}.code-cell{color:#12305f;align-items:center;gap:8px;font-weight:900;display:inline-flex}.admin-table .code-cell>div{min-width:132px}.admin-table .code-cell>div>p{white-space:nowrap}.qr-thumb{background:#fff;border:1px solid #d7dfeb;border-radius:8px;width:64px;height:64px}.status-pill{color:#425064;white-space:nowrap;background:#edf3f7;border-radius:999px;align-items:center;gap:6px;min-height:26px;padding:0 9px;font-size:.8rem;font-weight:900;display:inline-flex}.status-pill.assigned,.status-pill.active{color:#1f6f45;background:#e4f6eb}.status-pill.unassigned,.status-pill.ready{color:#0f6e7f;background:#dff8fb}.status-pill.disabled,.status-pill.suspended,.status-pill.lost{color:#9a2b2b;background:#fff0f0}.table-actions{flex-wrap:wrap;gap:8px;display:flex}details{margin-top:10px}summary{color:#12305f;cursor:pointer;width:fit-content;font-size:.88rem;font-weight:900}.qr-public{max-width:900px}.qr-result{margin-top:22px;overflow:hidden}.qr-result-header{color:#fff;background:linear-gradient(110deg,#0a1936f5,#16455cdb),url(/assets/app/live_view.png) 50%/cover;grid-template-columns:minmax(0,1fr) 170px;gap:18px;padding:24px;display:grid}.qr-result-header h1{color:#fff}.qr-result-header p{color:#d7e4f4;margin-top:8px}.qr-result-header>svg{place-self:center end}.qr-brand-mark{background:#ffffffeb;border:1px solid #ffffff57;border-radius:8px;place-self:center end;justify-items:center;width:170px;padding:18px 14px 16px;display:grid;box-shadow:0 18px 36px #040e2238}.qr-brand-emblem{object-fit:contain;background:#12305f;border-radius:8px;width:62px;height:62px;padding:5px;display:block}.qr-brand-name{color:#12305f;letter-spacing:0;margin-top:8px;font-size:.84rem;font-weight:900}.qr-brand-mark.is-compact{width:auto;box-shadow:none;background:0 0;border:0;justify-self:start;align-items:center;padding:0;display:inline-flex}.qr-brand-mark.is-compact .qr-brand-emblem{width:30px;height:30px;padding:3px}.qr-brand-mark.is-compact .qr-brand-name{color:#172033;margin:0 0 0 8px;font-size:.92rem}.qr-result-header>img{background:#fff;border-radius:8px;width:170px;height:170px;padding:12px}.info-list{background:#e1e7f0;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.info-list div{background:#fff;min-width:0;padding:16px}.info-list dt{color:#728097;text-transform:uppercase;font-size:.78rem;font-weight:900}.info-list dd{overflow-wrap:anywhere;color:#172033;margin:6px 0 0;font-weight:900}.guide-actions{flex-wrap:wrap;gap:10px;padding:18px;display:flex}.dongle-status-card{background:#fff;border:1px solid #dce5ef;border-radius:8px;margin-top:24px;overflow:hidden;box-shadow:0 22px 54px #0f1f3a1f}.dongle-status-topbar{background:#f8fbfd;border-bottom:1px solid #e1e7f0;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.dongle-status-topbar>span{color:#728097;text-transform:uppercase;font-size:.78rem;font-weight:900}.dongle-status-summary{grid-template-columns:minmax(0,1fr) minmax(220px,.34fr);align-items:end;gap:24px;padding:28px 28px 24px;display:grid}.dongle-status-summary h1{color:#172033;margin-top:16px;font-size:1.82rem;line-height:1.2}.dongle-status-summary p{color:#58677a;margin-top:8px;line-height:1.6}.dongle-license-key{background:#f8fbfd;border:1px solid #dce5ef;border-radius:8px;min-width:0;padding:16px}.dongle-license-key span,.dongle-info-grid dt{color:#728097;text-transform:uppercase;font-size:.76rem;font-weight:900}.dongle-license-key strong{overflow-wrap:anywhere;color:#172033;margin-top:8px;font-size:1.42rem;display:block}.dongle-info-grid{background:#e1e7f0;border-top:1px solid #e1e7f0;border-bottom:1px solid #e1e7f0;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:1px;display:grid}.dongle-info-grid div{background:#fff;min-width:0;padding:18px 20px}.dongle-info-grid dd{overflow-wrap:anywhere;color:#172033;margin:7px 0 0;font-weight:900}.dongle-status-actions{background:#fff;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:16px 20px;display:flex}.print-toolbar{justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.label-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.qr-label{break-inside:avoid;background:#fff;border:1px dashed #9daabd;border-radius:8px;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:10px;min-height:116px;padding:10px;display:grid}.qr-label img{width:92px;height:92px}.qr-label strong{color:#172033;font-size:.92rem;display:block}.qr-label span{color:#58677a;margin-top:4px;font-size:.78rem;display:block}.sticker-print-shell{max-width:980px}.sticker-watermark-toggle{color:#12305f;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cbd7e7;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 10px;font-weight:800;display:inline-flex}.sticker-watermark-toggle.is-active{background:#f0fbfd;border-color:#9edbe7}.sticker-watermark-toggle__switch{background:#d5deeb;border-radius:999px;width:36px;height:20px;transition:background .18s,box-shadow .18s;position:relative}.sticker-watermark-toggle__switch:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0f1b3d40}.sticker-watermark-toggle.is-active .sticker-watermark-toggle__switch{background:#18a6cb;box-shadow:inset 0 0 0 1px #0f1b3d14}.sticker-watermark-toggle.is-active .sticker-watermark-toggle__switch:after{transform:translate(16px)}.sticker-watermark-toggle strong{min-width:26px;font-size:.78rem}.sticker-preview-area{background-color:#fff;background-image:linear-gradient(45deg,#eef3f8 25%,#0000 25%),linear-gradient(-45deg,#eef3f8 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#eef3f8 75%),linear-gradient(-45deg,#0000 75%,#eef3f8 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-repeat:repeat,repeat,repeat,repeat;background-size:20px 20px;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;border:1px solid #d7dfeb;border-radius:8px;grid-template-columns:minmax(0,1fr);place-items:center;margin-top:16px;padding:28px;display:grid}.sticker-preview-area .dongle-sticker-viewport{margin:0 auto}@media (max-width:860px){.admin-header,.admin-topbar,.qr-result-header,.print-toolbar{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.stats-grid,.admin-grid,.guide-version-card,.guide-version-form,.form-grid.two,.info-list,.label-grid,.dongle-status-summary,.dongle-info-grid{grid-template-columns:1fr}.qr-result-header>img{width:140px;height:140px}.qr-brand-mark{justify-self:start;width:140px}.qr-brand-mark .qr-brand-emblem{width:54px;height:54px}.dongle-status-topbar{flex-direction:column;align-items:flex-start}.dongle-status-summary{padding:22px 18px 20px}.dongle-status-summary h1{font-size:1.48rem}.dongle-status-actions{justify-content:stretch}.dongle-status-actions .qr-link-button{justify-content:center;width:100%}}@media print{@page{size:A4;margin:12mm}body{background:#fff}.print-toolbar,.admin-topbar{display:none}.print-shell{width:100%;padding:0}.label-grid{grid-template-columns:repeat(3,1fr);gap:6mm;margin:0}.qr-label{page-break-inside:avoid;border-color:#111;border-radius:0}.sticker-preview-area{background:#fff;border:0;margin:0;padding:0;display:block}.dongle-sticker-viewport{width:76mm;--sticker-scale:.378!important;height:44.4mm!important}.dongle-sticker{box-shadow:none;border-radius:0}}.file-portal{color:#1b2a3b;background:radial-gradient(circle at 8% 0,#15aebc17,#0000 30%),#f3f6f9;min-height:100vh}.file-portal button,.file-portal input{font:inherit}.file-portal button:focus-visible,.file-portal a:focus-visible,.file-portal input:focus-visible{outline-offset:2px;outline:3px solid #10b1c347}.file-portal-eyebrow{color:#0c9caf;letter-spacing:.14em;font-size:.72rem;font-weight:900;display:block}.file-portal-brand{align-items:center;gap:12px;display:inline-flex}.file-portal-brand__mark{color:#0ba6ba;background:#ffffff14;border:1px solid #11b6c74d;border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.file-portal-brand strong,.file-portal-brand small{display:block}.file-portal-brand strong{letter-spacing:.08em;font-size:1rem}.file-portal-brand small{color:#8291a4;letter-spacing:.12em;margin-top:3px;font-size:.66rem;font-weight:800}.file-login-shell{place-items:center;min-height:100vh;padding:36px;display:grid}.file-login-panel{background:#fff;border:1px solid #dae3ec;border-radius:24px;grid-template-columns:minmax(0,1.1fr) minmax(390px,.9fr);width:min(1040px,100%);min-height:640px;display:grid;overflow:hidden;box-shadow:0 28px 80px #172d4224}.file-login-intro{color:#fff;background:linear-gradient(145deg,#0d233efa,#113e4cf5),url(/assets/app/live_view.png) 50%/cover;flex-direction:column;padding:48px;display:flex}.file-login-intro .file-portal-brand__mark{color:#4dd8e1;border-color:#4dd8e14d}.file-login-intro .file-portal-brand small{color:#a8bac8}.file-login-copy{margin:auto 0}.file-login-copy .file-portal-eyebrow{color:#56d5df}.file-login-copy h1{color:#fff;letter-spacing:-.055em;max-width:470px;margin-top:18px;font-size:clamp(2.6rem,5vw,4.4rem);line-height:1.02}.file-login-copy p{color:#c5d3de;max-width:470px;margin-top:24px;font-size:1rem;line-height:1.8}.file-login-security{border-top:1px solid #ffffff1f;align-items:center;gap:12px;padding-top:22px;display:flex}.file-login-security>svg{color:#52d5df}.file-login-security strong,.file-login-security small{display:block}.file-login-security strong{font-size:.84rem}.file-login-security small{color:#91a6b6;margin-top:4px;font-size:.73rem}.file-login-form-wrap{flex-direction:column;justify-content:center;padding:54px 48px;display:flex}.file-login-icon{color:#0b9caf;background:#e9f8fa;border-radius:16px;place-items:center;width:54px;height:54px;margin-bottom:28px;display:grid}.file-login-form-wrap h2{color:#16283c;letter-spacing:-.035em;margin-top:10px;font-size:1.75rem}.file-login-form-wrap>div>p{color:#68778a;margin-top:10px;font-size:.92rem}.file-login-form{gap:18px;margin-top:34px;display:grid}.file-login-form label>span{color:#3b4a5b;margin-bottom:8px;font-size:.82rem;font-weight:800;display:block}.file-login-form input{color:#18283b;background:#fbfcfd;border:1px solid #cfd9e4;border-radius:10px;width:100%;height:48px;padding:0 14px}.file-login-form input:focus{background:#fff;border-color:#12a7ba}.file-primary-button{color:#fff;cursor:pointer;background:#103b56;border-radius:10px;justify-content:center;align-items:center;gap:9px;height:50px;margin-top:4px;font-weight:900;display:inline-flex}.file-primary-button:hover:not(:disabled){background:#0d5269}.file-primary-button:disabled,.file-browser-actions button:disabled{cursor:wait;opacity:.65}.file-swagger-link{color:#667589;align-items:center;gap:8px;margin-top:28px;font-size:.82rem;font-weight:800;display:inline-flex}.file-swagger-link svg:last-child{margin-left:auto}.file-swagger-link:hover{color:#0b93a5}.file-portal-alert{border-radius:10px;align-items:center;gap:9px;padding:12px 14px;font-size:.84rem;line-height:1.45;display:flex}.file-portal-alert.is-error{color:#9f2d2d;background:#fff2f2;border:1px solid #f1c3c3}.file-login-form .file-portal-alert{margin-top:-4px}.file-portal-loading{color:#506175;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100vh;display:flex}.file-portal-loading>svg{color:#0b9caf;margin-top:16px}.is-spinning{animation:.9s linear infinite file-portal-spin}@keyframes file-portal-spin{to{transform:rotate(360deg)}}.file-portal-shell{width:min(1240px,100% - 40px);margin:0 auto;padding:28px 0 52px}.file-portal-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.file-portal-account,.file-portal-account>span,.file-portal-account a,.file-portal-account button{align-items:center;display:flex}.file-portal-account{gap:10px}.file-portal-account>span{flex-direction:column;align-items:flex-end;padding-right:8px}.file-portal-account small{color:#0b9caf;letter-spacing:.12em;font-size:.62rem;font-weight:900}.file-portal-account strong{color:#223549;margin-top:3px;font-size:.82rem}.file-portal-account a,.file-portal-account button{color:#526276;cursor:pointer;background:#fff;border:1px solid #d6e0e9;border-radius:9px;justify-content:center;gap:7px;height:40px;padding:0 13px;font-size:.8rem;font-weight:800}.file-portal-account a:hover,.file-portal-account button:hover{color:#0b8d9e;border-color:#9bd6dc}.file-portal-hero{color:#fff;background:linear-gradient(110deg,#0c233dfa,#10434eeb),url(/assets/app/live_view.png) 50% 38%/cover;border-radius:18px;grid-template-columns:minmax(0,1fr) minmax(310px,.42fr);align-items:end;gap:34px;min-height:246px;margin-top:28px;padding:42px;display:grid;box-shadow:0 18px 46px #17334629}.file-portal-hero .file-portal-eyebrow{color:#56d6df}.file-portal-hero h1{color:#fff;letter-spacing:-.055em;margin-top:13px;font-size:clamp(2.8rem,6vw,4.7rem)}.file-portal-hero>div>p{color:#c7d5de;margin-top:17px;font-size:.96rem}.file-portal-hero>div>p strong{color:#fff}.file-storage-summary{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#05142347;border:1px solid #ffffff26;border-radius:14px;align-items:flex-start;gap:13px;padding:20px;display:flex}.file-storage-summary>span{color:#54d5df;background:#54d5df1a;border-radius:10px;flex:none;place-items:center;width:38px;height:38px;display:grid}.file-storage-summary>div{flex:1;min-width:0}.file-storage-summary small,.file-storage-summary strong,.file-storage-summary em,.file-volume-select{display:block}.file-volume-select select{color:#fff;cursor:pointer;width:100%;font:inherit;text-overflow:ellipsis;background:0 0;border:0;outline:0;margin-top:4px;padding:0;font-size:.82rem;font-weight:800;overflow:hidden}.file-volume-select select:focus-visible{outline-offset:4px;outline:2px solid #56d6df}.file-storage-summary small{color:#9eb0bd;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.file-storage-summary strong{color:#fff;margin-top:5px;font-size:.92rem}.file-storage-summary i{background:#ffffff21;border-radius:99px;height:5px;margin-top:14px;display:block;overflow:hidden}.file-storage-summary i b{border-radius:inherit;background:#42cbd4;height:100%;display:block}.file-storage-summary em{color:#8fa4b2;margin-top:8px;font-size:.68rem;font-style:normal}.file-portal-shell>.file-portal-alert{margin-top:18px}.file-share-panel{color:#244052;background:#f1fbfb;border:1px solid #a9dfe2;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:14px;margin-top:18px;padding:18px;display:grid;box-shadow:0 8px 24px #1a6c7514}.file-share-panel__icon{color:#078d9e;background:#d9f4f5;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.file-share-panel>div{min-width:0}.file-share-panel small,.file-share-panel strong{display:block}.file-share-panel small{color:#52818a;letter-spacing:.05em;font-size:.68rem;font-weight:900}.file-share-panel strong{color:#173848;margin-top:4px;font-size:.94rem}.file-share-link-row{gap:7px;margin-top:12px;display:flex}.file-share-link-row input{color:#42606f;background:#fff;border:1px solid #bddde0;border-radius:8px;flex:1;min-width:0;height:38px;padding:0 11px;font-size:.76rem}.file-share-link-row a,.file-share-link-row button{color:#087f8e;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #9fd3d7;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:0 11px;font-size:.74rem;font-weight:900;display:inline-flex}.file-share-link-row .is-danger{color:#b24e4e;border-color:#e7bdbd}.file-share-panel__close{color:#68818d;cursor:pointer;background:0 0;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.file-public-badge{color:#087d8d;background:#edfafa;border:1px solid #b8dee1;border-radius:9px;align-items:center;gap:7px;min-height:38px;padding:0 12px;font-size:.75rem;font-weight:900;display:inline-flex}.file-public-hero{grid-template-columns:minmax(0,1fr);min-height:210px}.file-public-hero h1{overflow-wrap:anywhere}.file-browser-card{background:#fff;border:1px solid #d9e2ea;border-radius:16px;margin-top:20px;overflow:hidden;box-shadow:0 10px 28px #1d394d0f}.file-browser-toolbar{border-bottom:1px solid #e4eaf0;justify-content:space-between;align-items:center;gap:22px;padding:22px 24px;display:flex}.file-breadcrumbs,.file-breadcrumbs span{align-items:center;display:flex}.file-breadcrumbs{gap:5px;margin-top:8px;overflow:hidden}.file-breadcrumbs span{gap:5px;min-width:0}.file-breadcrumbs button{color:#34465a;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;max-width:180px;padding:0;font-size:.88rem;font-weight:800;overflow:hidden}.file-breadcrumbs button[aria-current=page]{color:#0a92a5}.file-breadcrumbs svg{color:#9ba8b6;flex:none}.file-browser-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.file-browser-actions button{color:#546477;cursor:pointer;background:#fff;border:1px solid #d7e0e8;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 12px;font-size:.78rem;font-weight:800;display:inline-flex}.file-browser-actions button:hover{border-color:#9acfd6}.file-list-heading{justify-content:space-between;align-items:center;padding:20px 24px 13px;display:flex}.file-list-heading h2{color:#1d3044;text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;overflow:hidden}.file-list-heading span{color:#7b899a;font-size:.76rem;font-weight:700}.file-list{min-height:250px}.file-list-row{border-top:1px solid #edf1f4;grid-template-columns:minmax(260px,1fr) 120px 190px minmax(100px,190px);align-items:center;gap:16px;min-height:70px;padding:8px 24px;display:grid}.file-list-row--header{color:#8794a3;letter-spacing:.06em;border-top:0;min-height:36px;padding-top:0;padding-bottom:8px;font-size:.68rem;font-weight:900}.file-list-row:not(.file-list-row--header):hover{background:#f9fbfc}.file-list-row>span{color:#667588;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.79rem;overflow:hidden}.file-entry-name{color:#24374b;text-align:left;background:0 0;align-items:center;gap:11px;min-width:0;padding:0;display:flex}.file-entry-name[type=button]:not(:disabled){cursor:pointer}.file-entry-name:disabled{opacity:1}.file-entry-name>span{border-radius:9px;flex:none;place-items:center;width:34px;height:34px;display:grid}.file-entry-name>span.is-folder{color:#d79425;background:#fff5dd}.file-entry-name>span.is-file{color:#3d7897;background:#eaf3f8}.file-entry-name>span.is-image{background:#edf2f5;border:1px solid #dce6ec;border-radius:8px;width:66px;height:50px;overflow:hidden}.file-entry-name>span.is-image img{object-fit:cover;width:100%;height:100%;display:block}.file-entry-name.is-previewable{cursor:zoom-in;-webkit-user-select:none;user-select:none}.file-entry-name strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.87rem;overflow:hidden}.file-entry-action{text-align:right;justify-content:flex-end;align-items:center;gap:5px;display:flex}.file-entry-action a,.file-entry-action button{color:#0a8fa1;cursor:pointer;background:#eaf8fa;border-radius:7px;align-items:center;gap:4px;padding:7px 9px;font-size:.74rem;font-weight:900;display:inline-flex}.file-entry-action button.is-public{color:#fff;background:#0a93a4}.file-image-viewer{z-index:10000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#091621db;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.file-image-viewer__panel{background:#121c25;border:1px solid #ffffff24;border-radius:16px;flex-direction:column;width:min(1200px,100%);height:min(900px,90vh);min-height:0;display:flex;overflow:hidden;box-shadow:0 26px 80px #00000075}.file-image-viewer__panel>header{background:#182630;border-bottom:1px solid #ffffff1a;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:68px;padding:12px 14px 12px 18px;display:grid}.file-image-viewer__panel>header>span{color:#68d3de;background:#38c5d31f;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.file-image-viewer__panel>header>div{min-width:0}.file-image-viewer__panel>header strong,.file-image-viewer__panel>header small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.file-image-viewer__panel>header strong{color:#f5f8fa;font-size:.9rem}.file-image-viewer__panel>header small{color:#91a1ad;margin-top:3px;font-size:.7rem}.file-image-viewer__panel>header a,.file-image-viewer__panel>header button{color:#dce7ec;cursor:pointer;background:#ffffff12;border:1px solid #ffffff21;border-radius:9px;justify-content:center;align-items:center;gap:6px;min-height:38px;font-size:.75rem;font-weight:800;display:inline-flex}.file-image-viewer__panel>header a{padding:0 12px}.file-image-viewer__panel>header button{width:38px}.file-image-viewer__panel>header a:hover,.file-image-viewer__panel>header button:hover{background:#38c5d31f;border-color:#68d3deb3}.file-image-viewer__canvas{background-color:#0c141a;background-image:linear-gradient(45deg,#ffffff06 25%,#0000 25%),linear-gradient(-45deg,#ffffff06 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#ffffff06 75%),linear-gradient(-45deg,#0000 75%,#ffffff06 75%);background-position:0 0,0 12px,12px -12px,-12px 0;background-size:24px 24px;flex:1;place-items:center;min-height:0;padding:20px;display:grid;position:relative;overflow:hidden}.file-image-viewer__canvas>img,.file-image-viewer__loading{grid-area:1/1}.file-image-viewer__canvas>img{object-fit:contain;-webkit-user-select:none;user-select:none;max-width:100%;max-height:100%;display:block}.file-image-viewer__loading{color:#a9b7c1;align-items:center;gap:9px;font-size:.78rem;font-weight:800;display:inline-flex}.file-list-empty{color:#7d8b9a;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:230px;padding:40px;display:flex}.file-list-empty strong{color:#4b5d70;font-size:.88rem}.file-list-empty span{font-size:.76rem}.file-list-pagination{color:#667588;text-align:center;background:#f9fbfc;border-top:1px solid #e7edf1;justify-content:center;align-items:center;gap:10px;min-height:74px;padding:16px 24px;font-size:.76rem;font-weight:800;display:flex}.file-list-pagination.is-complete{color:#8794a3;background:#fff;min-height:52px}.file-list-pagination button{color:#0a8fa1;cursor:pointer;background:#fff;border:1px solid #b8dfe4;border-radius:8px;min-height:34px;padding:0 11px;font-size:.72rem;font-weight:900}.file-list-pagination button:hover{background:#edfafa;border-color:#56b8c4}@media (max-width:900px){.file-login-panel{grid-template-columns:1fr;max-width:600px}.file-login-intro{min-height:360px}.file-login-copy{margin:68px 0}.file-portal-hero{grid-template-columns:1fr}.file-list-row{grid-template-columns:minmax(220px,1fr) 100px 140px minmax(92px,180px);gap:10px}}@media (max-width:680px){.file-login-shell{place-items:stretch stretch;padding:0}.file-login-panel{border:0;border-radius:0;min-height:100vh}.file-login-intro,.file-login-form-wrap{padding:30px 24px}.file-login-intro{min-height:330px}.file-login-copy{margin:48px 0}.file-login-copy h1{font-size:2.7rem}.file-login-security small{line-height:1.5}.file-login-form-wrap{min-height:480px}.file-portal-shell{width:min(100% - 24px,1240px);padding-top:16px}.file-portal-header{align-items:flex-start}.file-portal-account>span,.file-portal-account a span,.file-portal-account button span{display:none}.file-portal-account a,.file-portal-account button{width:40px;padding:0}.file-portal-hero{border-radius:14px;min-height:0;padding:30px 24px}.file-portal-hero h1{font-size:3rem}.file-public-badge{text-align:center;max-width:152px}.file-share-panel{grid-template-columns:auto minmax(0,1fr) auto;padding:15px}.file-share-link-row{flex-direction:column;align-items:stretch}.file-share-link-row input,.file-share-link-row a,.file-share-link-row button{width:100%}.file-browser-toolbar{flex-direction:column;align-items:stretch;padding:18px}.file-browser-actions{justify-content:flex-start}.file-list-heading{padding-left:18px;padding-right:18px}.file-list-row--header{display:none}.file-list-row{grid-template-columns:minmax(0,1fr) auto;gap:7px 14px;min-height:84px;padding:13px 18px}.file-list-row>span:not(.file-entry-action){grid-column:1;padding-left:45px;font-size:.7rem}.file-list-row>span:nth-of-type(2){display:none}.file-entry-name{grid-column:1}.file-entry-name>span.is-image{width:58px;height:46px}.file-list-row:has(.is-image)>span:not(.file-entry-action){padding-left:69px}.file-entry-action{flex-direction:column;grid-area:1/2/span 2;align-items:flex-end}.file-image-viewer{padding:0}.file-image-viewer__panel{border:0;border-radius:0;width:100%;height:100%}.file-image-viewer__panel>header{grid-template-columns:auto minmax(0,1fr) auto;gap:9px;padding:10px 12px}.file-image-viewer__panel>header>a{grid-area:2/2/auto/4;justify-self:end}.file-image-viewer__panel>header>button{grid-area:1/3}.file-image-viewer__canvas{padding:10px}.file-list-pagination{flex-direction:column;align-items:stretch;padding:16px 18px}}@media (prefers-reduced-motion:reduce){.file-portal *,.file-portal :before,.file-portal :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.program-badge{max-width:100%;min-height:26px;color:var(--program-ink,#12305f);border:1px solid #cbd7e7;border-color:color-mix(in srgb, var(--program-accent,#18a6cb) 55%, #fff);background:#f4f8fb;background:color-mix(in srgb, var(--program-accent,#18a6cb) 12%, #fff);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:0 11px;font-size:.8rem;font-weight:900;display:inline-flex}.program-badge__dot{background:var(--program-accent,#18a6cb);border-radius:50%;flex:none;width:9px;height:9px}.program-badge__name{text-overflow:ellipsis;min-width:0;overflow:hidden}.program-badge__code{color:#728097;letter-spacing:.06em;font-size:.72rem;font-weight:800}.program-filter{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.filter-chip{color:#12305f;white-space:nowrap;background:#fff;border:1px solid #cbd7e7;border-radius:999px;align-items:center;gap:6px;min-height:38px;padding:0 12px;font-weight:800;display:inline-flex}.filter-chip.is-active{background:#eef3f8;border-color:#12305f}.filter-chip .program-badge{background:0 0;border:0;min-height:auto;padding:0}.program-list{grid-template-columns:repeat(auto-fill,minmax(540px,1fr));gap:16px;margin-top:16px;display:grid}.program-card{gap:14px;display:grid}.program-card__header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.program-card__header h2{margin-top:8px}.program-card__header p{color:#58677a;margin-top:4px}.program-card__desc{color:#425064;line-height:1.6}.program-card__stats{background:#e1e7f0;border:1px solid #e1e7f0;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.program-card__stats div{background:#fff;padding:12px 14px}.program-card__stats dt{color:#728097;text-transform:uppercase;align-items:center;gap:6px;font-size:.74rem;font-weight:900;display:flex}.program-card__stats dd{color:#172033;margin:6px 0 0;font-size:1.15rem;font-weight:900}.program-card__tiers{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.program-card__tiers>span:first-child{color:#728097;text-transform:uppercase;font-size:.76rem;font-weight:900}.program-card__preview{background:#eef3f8;border:1px solid #d7dfeb;border-radius:8px;place-items:center;padding:20px;display:grid}.program-card__preview .dongle-sticker-viewport{max-width:520px}.program-card__actions{border-top:1px solid #e1e7f0;padding-top:4px}.program-card__actions form{margin:0}.program-form .color-field{align-items:center;gap:10px;display:flex}.program-form .color-field input[type=color]{cursor:pointer;width:56px;min-height:40px;padding:4px}.program-form .color-field code{color:#58677a;font-family:JetBrains Mono,Menlo,Monaco,Courier New,monospace;font-size:.82rem;font-weight:700}.field-hint{color:#728097;font-size:.78rem;font-weight:600;line-height:1.5}.checkbox-row{flex-wrap:wrap;gap:18px;display:flex}.checkbox-field{color:#425064;cursor:pointer;align-items:center;gap:8px;display:flex}.checkbox-field input[type=checkbox]{accent-color:#12305f;cursor:pointer;flex:none;width:17px;height:17px;min-height:auto}.action-message{overflow-wrap:anywhere;border:1px solid #0000;border-radius:8px;align-items:flex-start;gap:7px;padding:9px 11px;font-size:.82rem;font-weight:700;line-height:1.5;display:flex}.action-message svg{flex:none;margin-top:2px}.action-message.is-ok{color:#1f6f45;background:#eefaf2;border-color:#bfe6cd}.action-message.is-error{color:#9a2b2b;background:#fff6f6;border-color:#f0c6c6}.assign-warning{color:#8a5a12;align-items:flex-start;gap:7px;font-size:.78rem;font-weight:700;line-height:1.5;display:flex}.assign-warning svg{flex:none;margin-top:2px}.assign-warning code{font-family:JetBrains Mono,Menlo,Monaco,Courier New,monospace}.dongle-status-card.is-program-themed{border-top:4px solid var(--program-accent,#18a6cb)}.dongle-status-card.is-program-themed .dongle-status-topbar>span{color:var(--program-accent,#18a6cb)}.qr-public .admin-eyebrow{color:var(--program-accent,#149eb5)}.qr-label{border-color:var(--program-accent,#9daabd)}@media (max-width:760px){.program-list{grid-template-columns:minmax(0,1fr)}.program-card__header{flex-direction:column;align-items:stretch}.program-card__preview{padding:12px}}.list-toolbar{background:#fff;border:1px solid #d7dfeb;border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;padding:14px 16px;display:flex}.list-toolbar .program-filter{margin-top:0}.list-toolbar__end{flex-wrap:wrap;align-items:center;gap:12px;margin-left:auto;display:flex}.filter-chip__count{color:#58677a;background:#eef3f8;border-radius:999px;min-width:20px;padding:1px 6px;font-size:.74rem;font-weight:900}.filter-chip.is-active .filter-chip__count{color:#fff;background:#12305f}.sort-select{color:#425064;white-space:nowrap;align-items:center;gap:8px;font-size:.82rem;font-weight:800;display:inline-flex}.sort-select svg{color:#728097;flex:none}.sort-select select{width:auto;min-width:140px}.list-count{color:#728097;white-space:nowrap;font-size:.82rem;font-weight:800}.confirm-action{gap:8px;margin-top:8px;display:grid}.confirm-action form{margin:0}.confirm-action__prompt{background:#fff6f6;border:1px solid #f0c6c6;border-radius:8px;gap:8px;padding:10px 11px;display:grid}.confirm-action__prompt p{color:#8a3a3a;font-size:.8rem;font-weight:700;line-height:1.5}@media (max-width:760px){.list-toolbar__end{margin-left:0}}.qr-list{gap:12px;margin-top:16px;display:grid}.qr-list__empty{text-align:center;border:1px dashed #cbd7e7;border-radius:8px;padding:32px}.qr-row{border:1px solid #d7dfeb;border-left:4px solid var(--program-accent,#18a6cb);background:#fff;border-radius:8px;grid-template-columns:284px minmax(0,1fr) 208px;gap:0;display:grid;overflow:hidden}.qr-row.is-unassigned{border-left-color:#cbd7e7}.qr-row.is-disabled,.qr-row.is-retired{background:#fbfbfc;border-left-color:#f0c6c6}.qr-row>*{min-width:0;padding:16px}.qr-row__identity{background:#f8fafd;border-right:1px solid #e9eef5;align-items:flex-start;gap:12px;display:flex}.qr-row__identity .qr-thumb{flex:none;width:72px;height:72px}.qr-row__identity-text{align-content:start;gap:4px;min-width:0;display:grid}.qr-row__code{color:#12305f;white-space:nowrap;letter-spacing:.02em;overflow-wrap:anywhere;font-family:JetBrains Mono,Menlo,Monaco,Courier New,monospace;font-size:.9rem;font-weight:800}.qr-row__code:hover{text-decoration:underline}.qr-row__date{color:#728097;white-space:nowrap;font-size:.76rem;font-weight:700}.qr-row__tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.qr-row__main{align-content:start;gap:10px;display:grid}.qr-row__side{border-left:1px solid #e9eef5;align-content:start;gap:12px;display:grid}.qr-row__meta{gap:6px;margin:0;display:grid}.qr-row__meta div{grid-template-columns:36px minmax(0,1fr);align-items:baseline;gap:8px;display:grid}.qr-row__meta dt{color:#97a0b3;text-transform:uppercase;font-size:.72rem;font-weight:900}.qr-row__meta dd{color:#425064;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.8rem;font-weight:700;overflow:hidden}.qr-row__actions{flex-wrap:wrap;gap:8px;display:flex}.qr-row__actions .inline-link{min-height:34px;padding:0 10px;font-size:.84rem}.qr-row__hint{color:#97a0b3;font-size:.78rem;font-weight:700;line-height:1.5}.qr-row__danger{border-top:1px solid #eef2f7;flex-wrap:wrap;align-items:flex-start;gap:8px 12px;padding-top:10px;display:flex}.qr-row__danger form{margin:0}.qr-row__danger .confirm-action{margin-top:0}.inline-link.is-muted,.inline-link.is-danger{background:0 0;border:0;min-height:30px;padding:0 4px;font-size:.8rem}.inline-link.is-muted{color:#58677a}.inline-link.is-danger{color:#9a2b2b}.inline-link.is-muted:hover,.inline-link.is-danger:hover{text-decoration:underline}.assign-block{gap:8px;display:grid}.assign-form{grid-template-columns:112px minmax(140px,1fr) minmax(96px,.65fr) 112px auto;align-items:center;gap:8px;display:grid}.assign-form input,.assign-form select,.assign-form button{min-height:38px}.assign-block details{margin-top:2px}.assign-block summary{font-size:.82rem}.assign-block details .form-grid{background:#f8fafd;border:1px solid #e1e7f0;border-radius:8px;max-width:640px;margin-top:12px;padding:14px}@media (max-width:1180px){.qr-row{grid-template-columns:264px minmax(0,1fr)}.qr-row__side{border-top:1px solid #e9eef5;border-left:0;grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto auto;grid-auto-flow:column;align-items:center}.qr-row__danger{border-top:0;padding-top:0}.assign-form{grid-template-columns:112px minmax(140px,1fr) 112px auto}.assign-form input[name=modelName]{grid-area:2/1/auto/-1}}@media (max-width:760px){.qr-row{grid-template-columns:minmax(0,1fr)}.qr-row__identity{border-bottom:1px solid #e9eef5;border-right:0}.qr-row__side{grid-template-columns:minmax(0,1fr);grid-auto-flow:row;align-items:start}.assign-form{grid-template-columns:minmax(0,1fr)}.assign-form input[name=modelName]{grid-area:auto}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1180px) and (min-width:761px){.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.program-register{margin-top:16px}.program-register>summary{flex-wrap:wrap;align-items:baseline;gap:6px 14px;width:auto;list-style:none;display:flex}.program-register>summary::-webkit-details-marker{display:none}.program-register__title{color:#172033;align-items:center;gap:8px;font-size:1.05rem;font-weight:900;display:inline-flex}.program-register__title svg{color:#149eb5;transition:transform .15s}.program-register[open] .program-register__title svg{transform:rotate(45deg)}.program-register__hint{color:#728097;font-size:.84rem;font-weight:700}.program-register>.program-form{border-top:1px solid #e1e7f0;margin-top:16px;padding-top:16px}.program-list{margin-top:16px}.product-page{width:min(1180px,100% - 32px);margin:0 auto;padding:28px 0 56px}.product-hero{color:#fff;background:linear-gradient(118deg, var(--program-ink,#1b2036) 0%, color-mix(in srgb, var(--program-ink,#1b2036) 78%, var(--program-accent,#e8761f)) 62%, color-mix(in srgb, var(--program-ink,#1b2036) 52%, var(--program-accent,#e8761f)) 100%);border-radius:8px;padding:32px;box-shadow:0 24px 70px #13234233}.product-brand{align-items:center;gap:12px;display:inline-flex}.product-brand img{object-fit:contain;border:1px solid color-mix(in srgb, var(--program-accent,#e8761f) 62%, transparent);background:#ffffff14;border-radius:8px;width:46px;height:46px;padding:4px}.product-brand strong,.product-brand small{display:block}.product-brand strong{font-size:1.2rem;font-weight:800}.product-brand small{color:#d5dbe6;margin-top:3px;font-size:.88rem}.product-hero-title{max-width:720px;margin-top:44px}.product-hero-title h1{margin-top:8px;font-size:3.2rem;line-height:1.04}.product-hero-title p{color:#e6e9f2;margin-top:16px;font-size:1.04rem;line-height:1.7}.product-eyebrow,.product-section-intro span,.product-summary span,.product-card-topline>span{color:var(--program-accent,#e8761f);letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;font-weight:800}.product-summary{background:#d7dfeb;border:1px solid #d7dfeb;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:18px;display:grid;overflow:hidden}.product-summary div{background:#fff;padding:16px 18px}.product-summary span{display:block}.product-summary strong{color:#172033;overflow-wrap:anywhere;margin-top:6px;font-size:1.12rem;display:block}.product-section{margin-top:30px}.product-section-intro{max-width:760px}.product-section-intro h2{color:#172033;margin-top:6px;font-size:1.55rem}.product-section-intro p{color:#58677a;margin-top:8px;line-height:1.65}.product-primary-card,.product-empty-card,.product-file-list,.product-notice{background:#fff;border:1px solid #d7dfeb;border-radius:8px}.product-primary-card{margin-top:16px;padding:22px}.product-card-topline{color:var(--program-accent,#e8761f);align-items:center;gap:12px;display:flex}.product-card-topline>span{background:color-mix(in srgb, var(--program-accent,#e8761f) 14%, #fff);border-radius:999px;padding:4px 10px}.product-primary-card h3{color:#172033;margin-top:16px;font-size:1.34rem}.product-primary-card code{overflow-wrap:anywhere;color:#172033;background:#f6f8fb;border:1px solid #e1e7f0;border-radius:8px;margin-top:12px;padding:10px;font-size:.86rem;display:block}.product-file-meta{flex-wrap:wrap;gap:28px;margin:16px 0 0;display:flex}.product-file-meta dt{color:#728097;letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:800}.product-file-meta dd{color:#172033;margin:6px 0 0;font-size:1rem;font-weight:700}.product-card-actions,.product-file-actions{align-items:center;gap:8px;display:flex}.product-card-actions{margin-top:20px}.product-download,.product-file-actions a,.product-copy{cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;font-weight:700;display:inline-flex}.product-download{color:#fff;background:var(--program-accent,#e8761f);padding:0 22px}.product-download:hover,.product-file-actions a:hover{filter:brightness(.94)}.product-copy{color:#58677a;background:#fff;border:1px solid #d7dfeb;width:42px}.product-copy:hover{color:var(--program-accent,#e8761f);border-color:color-mix(in srgb, var(--program-accent,#e8761f) 55%, #fff)}.product-empty-card{color:#8a6d3b;background:#fdf6e8;border-color:#ecd9b6;gap:16px;margin-top:16px;padding:22px;display:flex}.product-empty-card h3{color:#7a5a26;font-size:1.05rem}.product-empty-card p{color:#8a6d3b;margin-top:6px;line-height:1.6}.product-file-list{margin:16px 0 0;padding:6px 0;list-style:none}.product-file-list li{border-top:1px solid #eef2f7;align-items:center;gap:14px;padding:12px 18px;display:flex}.product-file-list li:first-child{border-top:0}.product-file-icon{color:var(--program-accent,#e8761f);display:inline-flex}.product-file-name{flex:1;min-width:0}.product-file-name strong{color:#172033;overflow-wrap:anywhere;font-size:.98rem;display:block}.product-file-name small{color:#728097;margin-top:4px;font-size:.84rem;display:block}.product-file-actions a{color:#172033;background:#f6f8fb;border:1px solid #d7dfeb;padding:0 14px;font-size:.9rem}.product-notice{color:var(--program-accent,#e8761f);gap:16px;margin-top:30px;padding:22px;display:flex}.product-notice h2{color:#172033;font-size:1.12rem}.product-notice p{color:#58677a;margin-top:8px;line-height:1.65}.product-footer{color:#728097;border-top:1px solid #d7dfeb;justify-content:space-between;margin-top:30px;padding-top:22px;font-size:.88rem;display:flex}@media (max-width:900px){.product-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.product-hero-title h1{font-size:2.3rem}}@media (max-width:640px){.product-page{width:calc(100% - 20px);padding-top:18px}.product-hero{padding:22px}.product-hero-title{margin-top:28px}.product-summary{grid-template-columns:1fr}.product-primary-card,.product-empty-card,.product-notice{padding:18px}.product-card-actions .product-download{flex:1}.product-file-list li{flex-wrap:wrap}.product-file-actions{width:100%}.product-file-actions a{flex:1}}
