:root{--bs-primary:#743dcb;--bs-primary-rgb:116,61,203;--bs-link-color:#6934bd;--bs-link-color-rgb:105,52,189;--bs-link-hover-color:#512795;--bs-link-hover-color-rgb:81,39,149;--bs-primary-bg-subtle:#f0e9fa;--bs-primary-border-subtle:#d4c2ef;--bs-primary-text-emphasis:#512795;--bs-focus-ring-color:rgba(116,61,203,.22);--bs-body-color:#242330;--bs-body-font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{background:#fbfafc}.page-shell{padding:0;overflow:hidden}.page-shell>.row{margin:0}.story-panel{padding:48px 52px 32px;background:#241936;color:#fff;display:flex;flex-direction:column;position:relative}.brand{display:flex;gap:12px;align-items:center;color:#fff;text-decoration:none;font-size:25px;font-weight:700;letter-spacing:-.7px}.brand:hover{color:#fff}.brand img{object-fit:contain}.brand-sub{display:block;font-size:8px;letter-spacing:1.9px;color:#c1aecf;font-weight:500;margin-top:2px}.story-content{margin:auto 0;padding:60px 0}.story-kicker{font-size:10px;letter-spacing:2px;color:#ccbddb;display:flex;align-items:center;gap:8px}.small-dot{height:6px;width:6px;background:#bb95fb;border-radius:50%}.story-content h2{font-size:clamp(38px,4.2vw,64px);line-height:1.12;letter-spacing:-2.4px;font-weight:600;margin:25px 0}.story-content h2>span{color:#bb95fb}.story-content>p{color:#bfb2cc;max-width:290px;font-size:15px;line-height:1.8}.app-grid{max-width:365px;margin-top:35px}.app-tile{padding:18px 14px;border:1px solid #574565;border-radius:12px;display:flex;align-items:center;gap:12px;background:#ffffff05;font-size:13px}.app-tile i{color:#c1a0f3;width:20px;font-size:18px}.story-bottom{font-size:11px;color:#bfb2cc;display:flex;gap:8px;align-items:center}.main-panel{display:flex;flex-direction:column;padding:35px 48px 24px;min-height:100vh}.top-note{font-size:9px;letter-spacing:1.8px;color:#80768d;text-align:right}.top-note i{margin-right:7px;color:#743dcb}.login-card{width:100%;max-width:410px;margin:auto;padding:64px 0}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.6px;color:#9273b3;margin-bottom:15px}h1{font-size:37px;font-weight:650;letter-spacing:-1.4px;line-height:1.2;margin-bottom:16px}.accent{color:#8550cd}.intro{font-size:14px;color:#82798b;line-height:1.8;margin-bottom:30px}.form-label{font-size:12px;font-weight:600;margin-bottom:9px}.form-control{min-height:50px;border-radius:9px;border-color:#e2dce9;font-size:14px;padding:12px 15px;background:#fff}.form-control::placeholder{color:#aaa1b5}.form-control:focus,.form-select:focus{border-color:#9c74d4;box-shadow:0 0 0 .25rem rgba(116,61,203,.15)}.btn{border-radius:9px;font-size:13px;font-weight:600;padding:14px 16px}.btn-primary,.btn-outline-primary{--bs-btn-color:#fff;--bs-btn-bg:#743dcb;--bs-btn-border-color:#743dcb;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6533b4;--bs-btn-hover-border-color:#6533b4;--bs-btn-active-color:#fff;--bs-btn-active-bg:#512795;--bs-btn-active-border-color:#512795;--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#a58bbf;--bs-btn-disabled-border-color:#a58bbf;--bs-btn-focus-shadow-rgb:116,61,203}.btn-outline-primary{--bs-btn-color:#743dcb;--bs-btn-bg:transparent;--bs-btn-disabled-color:#897a97;--bs-btn-disabled-bg:#eeeaf3;--bs-btn-disabled-border-color:#ded7e7}.btn-primary i{float:right;margin-top:3px}.btn-provider{border:1px solid #e0d9e8;background:#fff;color:#473b57}.btn-provider:hover,.btn-provider:active{background:#f2ecfa!important;border-color:#c1a7e4!important;color:#6436a5!important}.btn-provider:disabled{color:#8c8396;background:#f3f0f6;border-color:#e4dfea;opacity:.65}.btn-provider i{margin-right:8px}.btn-link{--bs-btn-color:#743dcb;--bs-btn-hover-color:#512795;--bs-btn-active-color:#512795;--bs-btn-disabled-color:#897a97;--bs-btn-focus-shadow-rgb:116,61,203}.btn-sm{padding:6px 12px}.form-text{font-size:11px;line-height:1.7;color:#958a9f}.divider{display:flex;gap:16px;align-items:center;font-size:11px;color:#a095aa;margin:24px 0}.divider:before,.divider:after{content:"";height:1px;background:#e8e2ed;flex:1}.account-note{font-size:11px;line-height:1.8;color:#96899f;text-align:center;border-top:1px solid #e9e3ee;margin:30px 0 0;padding-top:22px}.site-footer{display:flex;justify-content:space-between;font-size:10px;color:#a093ab;gap:20px}.site-footer a{color:#84748f;text-decoration:none}.back-link{display:block;margin-top:24px;font-size:12px}.code-input{font-size:24px;letter-spacing:7px}.account-panel{display:flex;gap:12px;background:#f0eafa;border:1px solid #e3d7f3;border-radius:12px;padding:18px;color:#60418b}.account-panel>i{margin-top:4px}.account-panel strong{font-size:13px}.account-panel p{font-size:12px;line-height:1.7;margin:5px 0 0}.method-row{padding:14px 0;border-bottom:1px solid #e6e0ec;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.method-row i{width:23px;color:#816194}.status-pill{font-size:10px;color:#4f7461;background:#eaf2ed;border-radius:20px;padding:5px 10px}.toast{background:#fff}.toast-header{color:#60418b}.btn-close:focus{box-shadow:0 0 0 .25rem rgba(116,61,203,.2)}a:focus-visible,button:focus-visible{outline:3px solid #ba99e8;outline-offset:4px}.form-check-input:checked{background-color:#743dcb;border-color:#743dcb}.form-check-input:focus{border-color:#9c74d4;box-shadow:0 0 0 .25rem rgba(116,61,203,.2)}.progress{--bs-progress-bar-bg:#743dcb}.pagination{--bs-pagination-active-bg:#743dcb;--bs-pagination-active-border-color:#743dcb;--bs-pagination-focus-box-shadow:0 0 0 .25rem rgba(116,61,203,.2)}.list-group{--bs-list-group-active-bg:#743dcb;--bs-list-group-active-border-color:#743dcb}.nav-pills{--bs-nav-pills-link-active-bg:#743dcb}.dropdown-menu{--bs-dropdown-link-active-bg:#743dcb}.form-range::-webkit-slider-thumb{background:#743dcb}.form-range::-moz-range-thumb{background:#743dcb}
@media(min-width:1500px){.story-panel{padding-left:80px;padding-right:70px}.story-content h2{font-size:68px}}@media(max-width:991px){.story-panel{padding:24px 28px;min-height:0}.story-content,.story-bottom{display:none}.brand img{width:40px;height:40px}.brand{font-size:23px}.main-panel{min-height:calc(100svh - 88px);padding:25px 28px}.top-note{text-align:center}.login-card{padding:46px 0}.brand-sub{font-size:7px}}@media(max-width:380px){h1{font-size:32px}.main-panel{padding:22px}.site-footer{font-size:9px}}

/* Shared app launcher, rendered by PHP on login, account and admin pages. */
.app-launcher-title{font-size:12px!important;letter-spacing:.04em!important;font-weight:600!important;margin:28px 0 14px!important;line-height:1.4!important;color:inherit}
.app-launcher .app-grid{margin-top:0;max-width:none}
.app-launcher .app-tile{height:100%;color:inherit;text-decoration:none;min-width:0;transition:background .15s,border-color .15s}
.app-launcher .app-tile span{overflow-wrap:anywhere;min-width:0}
.app-launcher .app-tile i{flex-shrink:0}
.app-launcher .app-tile:hover{background:#ffffff12;border-color:#b391df}
.app-launcher .app-tile:focus-visible{outline:3px solid #bb95fb;outline-offset:3px}
.mobile-apps{display:none}
.admin-apps .app-grid>div{width:100%}
.admin-apps .app-tile,.mobile-apps .app-tile{border-color:#ded2ea;background:#f4eef9;color:#51356c}
.admin-apps .app-tile:hover,.mobile-apps .app-tile:hover{background:#e9ddf6;border-color:#a77acb}
.admin-apps .app-tile i,.mobile-apps .app-tile i{color:#8550cd}
@media(max-width:991px){.desktop-apps{display:none}.mobile-apps{display:block;width:100%;margin:0 auto 32px;max-width:600px}.mobile-apps .app-launcher-title{color:#60418b}.mobile-apps .app-tile{padding:16px 12px;gap:9px}}
