:root{--opero-blue:#1246d6;--opero-cyan:#22a7e0;--opero-green:#22c55e;--opero-amber:#f5a623;--opero-ink:#050b1a;--brand:#1246d6;--brand-dark:#0e37a8;--brand-tint:#eef4ff;--accent:#22c55e;--ink:#111827;--ink-soft:#4b5563;--ink-faint:#6b7280;--line:#e5e7eb;--surface:#ffffff;--canvas:#f7f8fa;--ok:#047857;--ok-tint:#ecfdf5;--warn:#b45309;--warn-tint:#fffbeb;--bad:#b91c1c;--bad-tint:#fef2f2;--radius:8px;--shadow:0 1px 2px rgba(16,24,40,0.06),0 1px 3px rgba(16,24,40,0.1)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--canvas);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-text-size-adjust:100%}a{color:var(--brand)}:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:4px}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{background:var(--brand);color:#fff;padding:.65rem 1rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.topbar .school{font-weight:650;letter-spacing:.01em}.topbar .spacer{flex:1 1}.topbar a{color:#fff;text-decoration:none;opacity:.92}.topbar a:hover{opacity:1;text-decoration:underline}.nav{background:var(--surface);border-bottom:1px solid var(--line);padding:0 .5rem;display:flex;gap:.15rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.nav a{padding:.8rem .9rem;color:var(--ink-soft);text-decoration:none;white-space:nowrap;border-bottom:3px solid transparent;font-size:.95rem}.nav a:hover{color:var(--ink);background:var(--canvas)}.nav a[aria-current=page]{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}main{flex:1 1;padding:1.25rem 1rem 3rem;max-width:1100px;width:100%;margin:0 auto}h1{font-size:1.5rem;margin:0 0 .25rem}h2{font-size:1.15rem;margin:1.75rem 0 .6rem}.lede{color:var(--ink-soft);margin:0 0 1.25rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow);margin-bottom:1rem}.card h3{margin:0 0 .5rem;font-size:1rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:.85rem;gap:.85rem}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1rem}.stat .label{color:var(--ink-faint);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.stat .value{font-size:1.6rem;font-weight:650;margin-top:.15rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat .sub{color:var(--ink-soft);font-size:.85rem}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint);background:var(--canvas);white-space:nowrap}td,th{padding:.7rem .8rem;border-bottom:1px solid var(--line)}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--brand-tint)}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table-wrap td:first-child,.table-wrap th:first-child,table.table td:first-child,table.table th:first-child{position:-webkit-sticky;position:sticky;left:0;z-index:1;background:var(--surface)}.table-wrap th:first-child,table.table th:first-child{background:var(--canvas);z-index:2}.table-wrap tbody tr:hover td:first-child,table.table tbody tr:hover td:first-child{background:var(--brand-tint)}@media (max-width:900px){.table-wrap td:first-child:after,.table-wrap th:first-child:after,table.table td:first-child:after,table.table th:first-child:after{content:"";position:absolute;top:0;right:0;bottom:0;width:1px;background:var(--line)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:.55rem 1.1rem;border-radius:var(--radius);border:1px solid transparent;background:var(--brand);color:#fff;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}.btn:hover{background:var(--brand-dark)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn.secondary:hover{background:var(--canvas)}.btn.danger{background:var(--bad)}label{display:block;font-weight:600;margin-bottom:.3rem;font-size:.92rem}.field{margin-bottom:1rem}.field .hint{color:var(--ink-faint);font-size:.85rem;margin-top:.25rem}input:not([type]),input[type=date],input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],select,textarea{width:100%;min-height:44px;padding:.55rem .7rem;border:1px solid #cbd5e1;border-radius:var(--radius);font:inherit;background:var(--surface);color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:var(--brand)}input[aria-invalid=true]{border-color:var(--bad)}.pw{position:relative;display:block}.pw__input{padding-right:5.4rem}.pw__toggle{position:absolute;top:50%;right:.35rem;transform:translateY(-50%);display:inline-flex;align-items:center;gap:.3rem;min-height:38px;padding:0 .55rem;border:0;border-radius:7px;background:transparent;color:var(--ink-faint);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.pw__toggle:hover{color:var(--brand);background:rgba(18,70,214,.07)}.pw__toggle:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.pw__icon{width:17px;height:17px;flex:none}@media (max-width:380px){.pw__toggleText{display:none}.pw__input{padding-right:3.1rem}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.warnline{display:flex;align-items:center;gap:.35rem;margin-top:.35rem;font-size:.85rem;font-weight:600;color:#a2620a}.warnline__icon{width:15px;height:15px;flex:none}.strength{margin:-.55rem 0 1rem}.strength__track{display:flex;gap:4px}.strength__bar{flex:1 1;height:4px;border-radius:2px;background:var(--line)}.strength__bar.is-bad{background:#d0403f}.strength__bar.is-weak{background:#d98324}.strength__bar.is-ok{background:#2b8a4e}.strength__bar.is-good{background:#17693c}.strength__label{margin-top:.3rem;font-size:.82rem;font-weight:650}.strength__label.is-bad{color:#b3302f}.strength__label.is-weak{color:#a2620a}.strength__label.is-good,.strength__label.is-ok{color:#1a6b3e}.strength__advice{font-weight:500;color:var(--ink-faint)}.strength__match{margin:-.55rem 0 1rem;font-size:.82rem;font-weight:600}.strength__match.is-ok{color:#1a6b3e}.strength__match.is-bad{color:var(--ink-faint)}.forgot{margin-top:1rem;text-align:center}.linkbtn{border:0;background:none;padding:.3rem;font:inherit;font-size:.9rem;font-weight:600;color:var(--brand);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.linkbtn:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}.forgot__body{margin-top:.6rem;padding:.8rem .9rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-alt,#f7f9fc);text-align:left;font-size:.87rem;line-height:1.5}.forgot__body p{margin:0 0 .6rem}.forgot__body p:last-child{margin-bottom:0}.forgot__note{color:var(--ink-faint);font-size:.82rem}.wait{margin-top:.3rem;font-size:.87rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hcheck{border:1px solid var(--line);border-radius:var(--radius);padding:.85rem .85rem .7rem;margin:0;background:var(--surface-alt,#f7f9fc)}.hcheck__prompt{padding:0 .3rem;font-size:.95rem;font-weight:650;color:var(--ink)}.hcheck__grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px;margin-top:.55rem}.hcheck__tile{position:relative;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:#fff;cursor:pointer;line-height:0;aspect-ratio:1/1}.hcheck__tile img{width:100%;height:100%;object-fit:cover}.hcheck__tile:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.hcheck__tile.is-on{border-color:var(--brand)}.hcheck__tile.is-on img{transform:scale(.86);transition:transform .12s ease}.hcheck__mark{position:absolute;top:4px;right:4px;width:21px;height:21px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--brand);color:#fff;font-size:12px;font-weight:800;line-height:1;opacity:0;transition:opacity .12s ease}.hcheck__tile.is-on .hcheck__mark{opacity:1}.hcheck--expired{text-align:left}.hcheck--expired .hcheck__prompt{padding:0}.hcheck--expired .hcheck__note{margin-top:.35rem}.hcheck__note{margin:.6rem 0 0;font-size:.78rem;line-height:1.4;color:var(--ink-faint)}@media (prefers-reduced-motion:reduce){.hcheck__mark,.hcheck__tile.is-on img{transition:none}}.alert{border-radius:var(--radius);padding:.8rem 1rem;margin-bottom:1rem;border:1px solid;font-size:.95rem}.alert.error{background:var(--bad-tint);border-color:#fecaca;color:#7f1d1d}.alert.warn{background:var(--warn-tint);border-color:#fde68a;color:#78350f}.alert.ok{background:var(--ok-tint);border-color:#a7f3d0;color:#065f46}.alert.info{background:var(--brand-tint);border-color:#bfdbfe;color:#1e3a8a}.pill{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600;border:1px solid;white-space:nowrap}.pill.ok{background:var(--ok-tint);color:#065f46;border-color:#a7f3d0}.pill.warn{background:var(--warn-tint);color:#78350f;border-color:#fde68a}.pill.bad{background:var(--bad-tint);color:#7f1d1d;border-color:#fecaca}.pill.muted{background:var(--canvas);border-color:var(--line)}.empty,.pill.muted{color:var(--ink-soft)}.empty{text-align:center;padding:2.5rem 1rem;background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius)}.empty strong{display:block;color:var(--ink);margin-bottom:.3rem}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem 1rem;background:var(--canvas)}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.75rem;box-shadow:var(--shadow)}.auth-card h1{font-size:1.35rem;margin-bottom:.2rem}.brandmark{font-size:1.6rem;font-weight:750;color:var(--brand);letter-spacing:-.02em;margin-bottom:1.1rem}.brandplate{background:#000;border-radius:12px;overflow:hidden;padding:0;margin-bottom:.85rem}.brandplate__mark{display:block;width:100%;height:auto}.brandline{margin:0 0 1.4rem;font-size:.98rem;font-weight:600;line-height:1.35;color:var(--ink);text-wrap:balance}.brandline span{color:var(--opero-green)}@media (max-width:420px){.brandline{font-size:1.02rem}}.plain-list{list-style:none;padding:0;margin:0}.plain-list>li{padding:.6rem 0;border-top:1px solid var(--line)}.plain-list>li:first-child{border-top:0;padding-top:0}.steps{padding-left:1.15rem;margin:0 0 .9rem}.steps>li{margin-bottom:.4rem}.secret{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.05rem;letter-spacing:.06em;word-break:break-all;-webkit-user-select:all;-moz-user-select:all;user-select:all;background:var(--brand-tint);border:1px solid var(--line);border-radius:var(--radius);padding:.7rem .8rem}.codes{list-style:none;padding:0;margin:0 0 .9rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:.4rem;gap:.4rem}.codes>li{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.98rem;letter-spacing:.05em;-webkit-user-select:all;-moz-user-select:all;user-select:all;background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius);padding:.4rem .55rem;text-align:center}.check{display:flex;align-items:center;gap:.55rem;min-height:44px;cursor:pointer}.check input{width:1.35rem;height:1.35rem;accent-color:var(--brand)}.muted{color:var(--ink-soft)}.small{font-size:.88rem}.row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.right{margin-left:auto}@media (max-width:640px){main{padding:1rem .75rem 3rem}h1{font-size:1.3rem}.btn{width:100%}.row .btn{width:auto}}@media print{.btn,.nav,.topbar{display:none}body{background:#fff}.card{box-shadow:none;border:1px solid #ccc}}.marketing{max-width:62rem;margin:0 auto;padding:1.5rem 1rem 4rem}.marketing section{margin:3rem 0}.marketing .hero{padding:2.5rem 0 1rem;border-bottom:1px solid var(--line,#e3e8ef);margin-bottom:1rem}.marketing .eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:700;color:var(--brand,#1246d6);margin:0 0 .5rem}.marketing h1{font-size:clamp(1.9rem,5vw,3rem);line-height:1.15;margin:0 0 .75rem}.marketing .lede{font-size:clamp(1rem,2.2vw,1.2rem);line-height:1.6;max-width:44rem}.marketing ul{line-height:1.6;padding-left:1.2rem}.marketing li{margin-bottom:.5rem}.modules{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));grid-gap:1rem;gap:1rem;margin-top:1.25rem}.modules .card{display:flex;flex-direction:column}.modules h3{margin:0 0 .25rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.marketing .price{font-weight:700;color:var(--brand,#1246d6);margin:0 0 .75rem}.marketing-footer{margin-top:3rem;padding-top:1.25rem;border-top:1px solid var(--line,#e3e8ef);font-size:.9rem;color:var(--muted,#6b7b96)}.marketing fieldset{border:1px solid var(--line,#e3e8ef);border-radius:8px;padding:.75rem 1rem}.marketing legend{font-weight:600;padding:0 .4rem}.marketing{max-width:none;padding:0}.marketing-footer>.foot-inner,.marketing>.hero>.hero-inner,.marketing>section{max-width:62rem;margin-left:auto;margin-right:auto;padding-left:1.25rem;padding-right:1.25rem}.marketing>section{margin:4rem auto}.marketing .hero{background:radial-gradient(90rem 40rem at 15% -10%,#12306b 0,transparent 60%),radial-gradient(70rem 34rem at 95% 0,#0b2350 0,transparent 55%),var(--opero-ink);border-bottom:0;margin:0 0 1rem;padding:0;color:#fff}.marketing .hero-inner{padding-top:3.25rem;padding-bottom:3.5rem}.marketing .hero img.wordmark{display:block;width:132px;height:auto;margin-bottom:2rem}.marketing .hero .eyebrow{color:var(--opero-cyan);margin-bottom:.85rem}.marketing .hero h1{color:#fff;font-size:clamp(2.1rem,5.4vw,3.5rem);letter-spacing:-.02em;font-weight:700;margin-bottom:1rem;max-width:20ch;text-wrap:balance}.marketing .hero .lede{color:#b9cbe8;font-size:clamp(1.05rem,2.1vw,1.28rem);max-width:46rem;margin-bottom:1.85rem}.marketing .hero .lede strong{color:#fff;font-weight:600}.marketing .hero .row{gap:.75rem;margin-bottom:2.25rem}.marketing .hero .btn{padding:.8rem 1.4rem;font-size:1rem;font-weight:600;border-radius:9px}.marketing .hero .btn.secondary{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.26)}.marketing .hero .btn.secondary:hover{background:rgba(255,255,255,.13)}.install-wrap{position:relative;display:inline-flex;flex-direction:column;align-items:flex-start}.btn.install{display:inline-flex;align-items:center;gap:.55rem;background:var(--opero-cyan);color:#04121f;border-color:transparent}.btn.install:hover{background:#48badf}.install-help{margin-top:.85rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:.9rem 1.1rem;max-width:30rem;font-size:.9rem;line-height:1.6;color:#cddcf2}.install-help p{margin:0 0 .55rem}.install-help p:last-child{margin-bottom:0}.install-help strong{color:#fff}.install-help .install-note{color:#8fa6c9;font-size:.85rem;border-top:1px solid rgba(255,255,255,.13);padding-top:.55rem;margin-top:.7rem}.install-help .key{display:inline-block;min-width:1.35em;text-align:center;padding:0 .25em;border:1px solid rgba(255,255,255,.3);border-radius:4px;font-size:.9em}.hero-proof{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));grid-gap:1px;gap:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);border-radius:12px;overflow:hidden}.hero-proof div{background:rgba(255,255,255,.035);padding:1rem 1.1rem}.hero-proof b{display:block;color:#fff;font-size:.95rem;margin-bottom:.2rem}.hero-proof span{color:#8fa6c9;font-size:.85rem;line-height:1.5}.marketing h2{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.015em;margin:0 0 .6rem;text-wrap:balance}.marketing section>p{color:var(--ink-soft);max-width:52rem}.modules{grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));gap:1.15rem;margin-top:1.75rem;align-items:start}@media (min-width:64rem){.modules{grid-template-columns:1fr 1fr}}.modules .card{border:1px solid var(--line);border-radius:12px;padding:1.35rem 1.4rem 1.5rem;background:var(--surface);box-shadow:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.modules .card:hover{border-color:#c6d4ee;box-shadow:0 12px 30px -18px rgba(5,11,26,.4);transform:translateY(-2px)}.modules .card:before{content:"";display:block;width:2.25rem;height:3px;border-radius:2px;background:var(--opero-blue);margin-bottom:.9rem}.modules .card.m-transport:before{background:var(--opero-cyan)}.modules .card.m-hr:before{background:var(--opero-green)}.modules .card.m-finance:before{background:var(--opero-amber)}.modules .card h3{font-size:1.12rem;font-weight:700}.marketing .price{font-size:.95rem;margin-bottom:.9rem}.modules .card>p{color:var(--ink);font-size:.95rem;margin:0 0 .85rem}.modules .card ul{padding-left:0;list-style:none;margin:0;display:flex;flex-direction:column;gap:.55rem}.modules .card li{position:relative;padding-left:1.4rem;margin:0;font-size:.9rem;color:var(--ink-soft);line-height:1.55}.modules .card li:before{content:"";position:absolute;left:.35rem;top:.62em;width:5px;height:5px;border-radius:50%;background:#c3d0e6}.price-lead{background:var(--brand-tint);border:1px solid #cfdcfb;border-radius:12px;padding:1.15rem 1.3rem;margin-bottom:1.5rem;font-size:1.02rem}.price-lead strong{color:var(--opero-blue)}.marketing .table-wrap{border-radius:12px}.marketing table{font-size:.95rem}.marketing thead th{background:var(--canvas);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.marketing tbody tr:hover td{background:#fafbfe}.marketing .hint{color:var(--ink-faint);font-size:.9rem;margin-top:.9rem}.trust{background:var(--opero-ink);color:#dce7f7;border-radius:16px;padding:2.25rem 2rem 2.4rem}.trust h2{color:#fff}.marketing .trust>p{color:#a9bedd;max-width:48rem}.trust ul{list-style:none;padding:0;margin:1.6rem 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(15.5rem,1fr));grid-gap:1.1rem;gap:1.1rem}.trust li{margin:0;padding:1.05rem 1.15rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.11);border-radius:10px;font-size:.9rem;line-height:1.6;color:#b6c9e4}.trust li strong{color:#fff;display:block;margin-bottom:.2rem}.candid{border:1px solid var(--line);border-left:4px solid var(--opero-amber);border-radius:0 12px 12px 0;padding:1.5rem 1.6rem 1.6rem;background:var(--surface)}.candid ul{list-style:none;padding:0;margin:1.1rem 0 0;display:flex;flex-direction:column;gap:.85rem}.candid li{margin:0;padding-left:1.5rem;position:relative;font-size:.93rem;color:var(--ink-soft)}.candid li:before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:2px;background:#f0d6a4}.enquire-panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:2rem 1.9rem 2.1rem;box-shadow:0 18px 40px -30px rgba(5,11,26,.5)}.marketing-footer{margin-top:4.5rem;padding:2rem 0;border-top:1px solid var(--line);background:var(--surface)}.marketing-footer .foot-inner{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;align-items:center;justify-content:space-between}@media (max-width:40rem){.marketing .hero-inner{padding-top:2.25rem;padding-bottom:2.5rem}.trust{padding:1.6rem 1.25rem 1.8rem;border-radius:12px}.marketing>section{margin:3rem auto}}@media (max-width:27rem){.hero-proof,.marketing .hero .row{grid-template-columns:1fr}.marketing .hero .row{display:grid;grid-gap:.6rem;gap:.6rem}.marketing .hero .row .install-wrap,.marketing .hero .row .install-wrap>.btn,.marketing .hero .row>.btn{width:100%}.marketing .hero .row .install-wrap>.btn,.marketing .hero .row>.btn{justify-content:center;text-align:center}.install-help{max-width:none}}.marketing{overflow-x:clip}.marketing h1,.marketing h2,.marketing h3,.marketing li,.marketing p{overflow-wrap:break-word}