:root{--color-primary:#2943a4;--color-primary-dark:#1b2f78;--color-primary-mid:#3768db;--color-primary-light:#6082fb;--color-primary-pale:#b1c2ff;--color-primary-lighter:#e8eeff;--color-dark:#1e293b;--color-gray-50:#f8fafc;--color-gray-100:#f1f5f9;--color-gray-200:#e2e8f0;--color-gray-300:#cbd5e1;--color-gray-400:#94a3b8;--color-gray-500:#64748b;--color-gray-600:#475569;--color-gray-700:#334155;--color-gray-800:#1e293b;--color-gray-900:#0f172a;--color-success:#3768db;--color-warning:#f59e0b;--color-danger:#c8364c;--font-family:"Arial Rounded MT Bold", "Nunito", system-ui, sans-serif;--font-body:Arial, Helvetica, sans-serif;--font-mono:"JetBrains Mono", monospace;--font-hand:"Caveat", "Bradley Hand", "Marker Felt", "Comic Sans MS", cursive;--font-script:"Snell Roundhand", "Apple Chancery", "Brush Script MT", "Segoe Script", cursive;--paper-base:#fbfaf5;--paper-grid:repeating-linear-gradient(to right, transparent 0, transparent 23px, #3768db09 23px, #3768db09 24px), repeating-linear-gradient(to bottom, transparent 0, transparent 23px, #3768db09 23px, #3768db09 24px);--radius-sm:6px;--radius-md:10px;--radius-lg:12px;--radius-xl:24px;--radius-pill:980px;--shadow-card:0 1px 3px #2943a40f, 0 4px 12px #2943a40a;--shadow-hover:0 20px 56px #2943a421;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--sidebar-width:220px;--topbar-height:56px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;height:-webkit-fill-available;font-size:16px}body{font-family:var(--font-family);color:var(--color-dark);background:var(--color-gray-50);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:var(--color-primary);text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:var(--font-body)}.sidebar{left:0;top:var(--topbar-height);width:var(--sidebar-width);z-index:200;background:linear-gradient(#2e63b8 0%,#2549a8 100%);flex-direction:column;transition:transform .3s;display:flex;position:fixed;bottom:0;overflow-y:auto}.sidebar-overlay{z-index:199;background:#0006;display:none;position:fixed;inset:0}.nav-item{border-radius:var(--radius-sm);color:#ffffffbf;align-items:center;gap:12px;margin:2px 8px;padding:10px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-item:hover{color:#fff;background:#ffffff1a}.nav-item--active{color:#fff;background:#ffffff26;font-weight:700}.nav-icon{flex-shrink:0;width:20px;height:20px}.topbar{height:var(--topbar-height);background:var(--color-primary);z-index:300;align-items:center;gap:16px;padding:0 24px;display:flex;position:fixed;top:0;left:0;right:0}.auth-page{background: linear-gradient(to right, transparent 0, transparent 76px, #c8364c24 76px, #c8364c24 77px, transparent 77px, transparent 100%), var(--paper-grid), var(--paper-base);justify-content:center;align-items:center;min-height:100dvh;padding:32px 20px;display:flex}.auth-card{width:100%;max-width:480px;box-shadow:none;background:0 0;border-radius:0;padding:48px 44px;animation:.7s both authFadeUp}@keyframes authFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-card h1{text-align:center;color:var(--color-primary);margin-bottom:4px;font-size:26px;font-weight:800}.auth-card p{color:var(--color-gray-500);text-align:center;margin-bottom:24px;font-size:14px}.auth-card .btn-primary{background:var(--color-primary);border-radius:var(--radius-md);padding:14px}.auth-card .btn-primary:hover{background:var(--color-primary-dark);box-shadow:none;transform:none}.auth-brand{flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.auth-brand-logo{width:auto;height:64px;display:block}.auth-brand-academy{font-family:var(--font-hand);color:var(--color-primary);letter-spacing:.01em;text-align:center;font-size:34px;font-weight:600;line-height:1}.form-group{margin-bottom:16px}.form-group label{color:var(--color-primary);margin-bottom:6px;font-size:13px;font-weight:700;display:block}.form-group input,.form-group select{border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:#fff;outline:none;width:100%;padding:10px 14px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:var(--color-primary-light);box-shadow:0 0 0 3px #2943a41a}.form-error{color:var(--color-danger);margin-top:4px;font-size:12px}.btn-primary{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-primary-mid) 0%, var(--color-primary) 100%);color:#fff;cursor:pointer;border:none;width:100%;padding:12px;font-size:15px;font-weight:700;transition:all .2s}.btn-primary:hover{background:linear-gradient(135deg, var(--color-primary-light) 0%, var(--color-primary-mid) 100%);transform:translateY(-1px);box-shadow:0 4px 12px #2943a44d}.btn-primary:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.auth-tabs{border-radius:var(--radius-md);background:#f2f2f2;margin-bottom:24px;padding:4px;display:flex}.auth-tab{text-align:center;font-size:14px;font-weight:600;font-family:var(--font-family);color:var(--color-gray-500);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:10px;transition:all .15s}.auth-tab--active{color:var(--color-primary);background:#fff;box-shadow:0 1px 3px #00000014}.main-content{min-width:0;margin-left:var(--sidebar-width);margin-top:var(--topbar-height);background:var(--paper-grid), var(--paper-base);flex:1}.topbar-search-input::placeholder{color:#ffffffbf}.lift-card,.lift-card--lg,.lift-card--xl,.lift-card--xl-alt,.lift-card--shadow{transition:transform .2s,box-shadow .2s}.lift-card:hover{transform:translateY(-1px);box-shadow:0 8px 24px #2943a414}.lift-card--lg:hover{transform:translateY(-2px);box-shadow:0 8px 24px #2943a414}.lift-card--xl:hover{transform:translateY(-3px);box-shadow:0 12px 32px #2943a41f}.lift-card--xl-alt:hover{transform:translateY(-3px);box-shadow:0 12px 32px #3768db1f}.lift-card--shadow{box-shadow:var(--shadow-card)}.lift-card--shadow:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.lift-card--flat{box-shadow:var(--shadow-card);transition:box-shadow .2s}.lift-card--flat:hover{box-shadow:var(--shadow-hover)}.lift-card--flat:active{box-shadow:var(--shadow-card);transform:translateY(1px)}.report-row{transition:background .12s}.report-row:active td{background:var(--color-primary-lighter)}.lesson-row{transition:background .15s}.lesson-row:not(.lesson-row--active):hover{background:var(--color-gray-50,#f7f8fc)}.avatar-menu-item{transition:background .15s}.avatar-menu-item:hover{background:var(--color-gray-50,#f7f8fc)}.typeahead-row{transition:background .12s}.typeahead-row:hover,.typeahead-row[data-active=true]{background:var(--color-primary-lighter)}.typeahead-row:active{background:var(--color-primary-pale)}.typeahead-row:focus-visible{background:var(--color-primary-lighter);box-shadow:inset 0 0 0 2px var(--color-primary-mid);outline:none}.modal-close{color:var(--color-gray-500);transition:color .15s}.modal-close:hover{color:var(--color-gray-700)}.modal-close:active{color:var(--color-primary)}.badge-card{transition:transform .2s,box-shadow .2s}.badge-card[data-earned=true]{box-shadow:0 2px 12px #2943a40f}.badge-card[data-earned=false]{box-shadow:none}.badge-card[data-earned=true]:hover{transform:translateY(-3px);box-shadow:0 8px 20px #2943a41f}.truncate-1{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.clamp-2{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.lesson-content{overscroll-behavior-x:contain;overflow-wrap:anywhere;min-width:0;overflow-x:auto}.lesson-content img,.lesson-content video{max-width:100%;height:auto}.lesson-content iframe{max-width:100%}.lesson-content table{max-width:100%;display:block;overflow-x:auto}.lesson-content pre{overflow-x:auto}.video-shell{max-height:70dvh}.table-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;min-width:0;overflow-x:auto}.table-scroll__hint{color:var(--color-gray-500);padding:6px 2px 0;font-size:12px;display:none}.table-scroll-wrap[data-overflowing=true]>.table-scroll__hint{display:block}.table-scroll-wrap:has(.admin-table--collapse)>.table-scroll__hint{display:none}.collapse-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;min-width:0;overflow-x:auto}.person-actions-menu{max-height:calc(100dvh - 32px)}@media (width<=1024px){.wrap-md{flex-wrap:wrap}.grid-responsive-2{grid-template-columns:minmax(0,1fr)!important}.grid-responsive-3,.grid-responsive-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}.hide-md{display:none!important}.assign-panels{grid-template-columns:minmax(0,1fr)!important}.cert-foot{flex-wrap:wrap;gap:16px 24px!important}}@media (width<=960px){.sidebar{transform:translate(-100%)}.sidebar--open{transform:translate(0)}.sidebar:not(.sidebar--open){visibility:hidden}.sidebar--open{visibility:visible}.sidebar-overlay{display:block}.menu-btn{display:block!important}.main-content{margin-left:0}.topbar .search-bar{display:none}body.nav-locked{overflow:hidden}}@media (width<=640px){.topbar{gap:8px;padding:0 12px}.main-content>main{padding:16px!important}.auth-card{padding:28px 20px}.grid-responsive-3,.grid-responsive-2{grid-template-columns:minmax(0,1fr)!important}.grid-responsive-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}.course-card-horizontal{flex-direction:column!important}.course-card-horizontal .course-card-left{width:100%!important;min-height:80px!important;padding:16px!important}.course-card-horizontal .course-card-right{flex-direction:column!important;align-items:flex-start!important}.course-card-horizontal .course-card-right button{width:100%;margin-top:12px;margin-left:0!important}.admin-action-bar{flex-wrap:wrap;gap:8px!important}.admin-action-bar button{padding:8px 12px!important;font-size:12px!important}.cert-grid{grid-template-columns:minmax(0,1fr)!important}.unstick-sm{position:static!important}.faq-answer-preview{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;white-space:normal!important;max-width:100%!important}.report-expand{padding-left:16px!important}.report-track{flex:auto;min-width:0;width:auto!important}.report-pill{text-align:left!important;width:auto!important}.report-progress-col{min-width:140px;width:auto!important}.flashcard-shell{min-height:300px;height:auto!important}.cert-frame{margin:12px 8px 0!important;padding:24px 16px!important}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.assign-panels{grid-template-columns:minmax(0,1fr)!important}.plan-title-line{flex-wrap:wrap}.plan-chips{flex-basis:100%}.plan-cta{width:100%;min-height:44px}.stack-sm{flex-direction:column!important;align-items:stretch!important}.wrap-sm{flex-wrap:wrap!important}.hide-sm{display:none!important}.pad-sm{padding:12px!important}.actions-stack{flex-direction:column!important;align-items:stretch!important}.actions-stack>button,.actions-stack>a{justify-content:center;width:100%;min-height:44px}.typeahead-dropdown{max-height:260px;max-height:min(260px,36dvh)!important}.inner-scroller{max-height:300px;max-height:min(300px,36dvh)!important}.picker-row{min-height:44px}.notification-panel{left:12px!important;right:12px!important;top:var(--topbar-height)!important;width:auto!important;max-width:none!important;max-height:70dvh!important;margin-top:4px!important;position:fixed!important}.sth-action{width:100%;margin-left:0!important}.bulk-action-bar{z-index:300;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;position:fixed;bottom:0;left:0;right:0;overflow-x:auto;box-shadow:0 -4px 16px #2943a41a;padding-bottom:calc(10px + env(safe-area-inset-bottom))!important;border-radius:12px 12px 0 0!important;flex-wrap:nowrap!important;margin-bottom:0!important}.bulk-action-bar>*{flex-shrink:0}.bulk-action-bar__divider{display:none}.bulk-action-bar__clear{margin-left:0!important}body.has-bulk-bar .main-content>main{padding-bottom:96px!important}.pf-fluid{flex-shrink:0!important;flex-basis:100%!important;width:100%!important;min-width:0!important;max-width:none!important}.pf-course-popover{max-height:280px;min-width:0!important;max-height:min(280px,36dvh)!important;left:0!important;right:0!important}.pf-course-row{min-height:44px}.app-toast{max-width:none!important;left:12px!important;right:12px!important;bottom:calc(12px + env(safe-area-inset-bottom) + var(--toast-offset,0px))!important}body.has-bulk-bar .app-toast{bottom:calc(76px + env(safe-area-inset-bottom) + var(--toast-offset,0px))!important}.filter-tabs{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding-bottom:4px;overflow-x:auto;flex-wrap:nowrap!important}.filter-tab{flex-shrink:0}.admin-table:not(.admin-table--collapse) th{padding:10px 12px;font-size:12px}.admin-table:not(.admin-table--collapse) td{padding:10px 12px;font-size:13px}.collapse-scroll{overflow-x:visible}.admin-table--collapse thead{display:none}.admin-table--collapse,.admin-table--collapse tbody,.admin-table--collapse tr,.admin-table--collapse td{width:100%;display:block}.admin-table--collapse tr{border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:#fff;margin-bottom:10px;padding:6px 12px}.admin-table--collapse td{border-bottom:1px solid var(--color-gray-100);overflow-wrap:anywhere;justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;padding:7px 0;font-size:14px;display:flex}.admin-table--collapse tr td:last-child{border-bottom:none}.admin-table--collapse td:before{content:attr(data-label);max-width:40%;color:var(--color-gray-600);flex:0 0 40%;font-size:12px;font-weight:700}.admin-table--collapse td[data-label=""]:before,.admin-table--collapse td:not([data-label]):before{content:none}.admin-table--collapse td:not([data-label]){justify-content:flex-start}}@media (hover:none) and (pointer:coarse){.lift-card:hover,.lift-card--lg:hover,.lift-card--xl:hover,.lift-card--xl-alt:hover,.lift-card--shadow:hover,.lift-card--flat:hover,.badge-card[data-earned=true]:hover{box-shadow:var(--shadow-card);transform:none}.lift-card:active,.lift-card--lg:active,.lift-card--xl:active,.lift-card--xl-alt:active,.lift-card--shadow:active,.lift-card--flat:active{box-shadow:var(--shadow-card);transform:scale(.995)}.lesson-row:not(.lesson-row--active):hover{background:0 0}.lesson-row:not(.lesson-row--active):active{background:var(--color-gray-50,#f7f8fc)}.avatar-menu-item:hover{background:0 0}.avatar-menu-item:active{background:var(--color-gray-50,#f7f8fc)}.typeahead-row:hover{background:0 0}.typeahead-row:active{background:var(--color-primary-pale)}.admin-table tr:hover td{background:0 0}.admin-table tr:active td{background:var(--color-gray-50)}.nav-item:hover{color:#ffffffbf;background:0 0}.nav-item:active{color:#fff;background:#ffffff24}.nav-item--active,.nav-item--active:hover{color:#fff;background:#ffffff26}.btn-primary:hover{box-shadow:none;transform:none}.btn-primary:active{transform:scale(.99)}.reg-resend-btn:hover:not(:disabled){background:var(--color-primary-lighter)!important}.reg-resend-btn:active:not(:disabled){background:#b1c2ff!important}.nav-item,.auth-tab,.filter-tab,.mode-switch-btn,.bulk-btn,.pf-seg-btn,.person-actions-menu button,.pf-course-row,.bulk-action-bar button{min-height:44px}.touch-target{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.touch-target--inline{position:relative}.touch-target--inline:after{content:"";position:absolute;inset:-12px}input[type=checkbox],input[type=radio]{width:18px;height:18px}.topbar-actions{gap:24px!important}input,select,textarea,.form-group input,.form-group select,.form-group textarea{font-size:16px!important}}.fullpage-shell{height:100svh}.minh-shell{min-height:100dvh}.drawer-overlay{z-index:399;background:#0006;position:fixed;inset:0}.drawer-panel{z-index:400;overscroll-behavior:contain;background:#fff;width:min(86vw,320px);transition:transform .3s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:0 0 32px #2943a42e}.drawer-panel--open{transform:translate(0)}@media (width>=961px){.drawer-panel,.drawer-overlay{display:none}.player-lessons-scrim,.player-lessons-close-row{display:none!important}}.player-lessons{border-right:1px solid var(--color-gray-200,#e4e8f0);background:#fff;flex-direction:column;flex-shrink:0;width:320px;display:flex;overflow-y:auto}.player-lessons-close-row,.player-lessons-scrim{display:none}@media (width<=960px){.player-lessons{z-index:400;overscroll-behavior:contain;visibility:hidden;border-right:none;width:min(86vw,320px);transition:transform .3s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:0 0 32px #2943a42e}.player-lessons--open{visibility:visible;transform:translate(0)}.player-lessons-scrim{z-index:399;background:#0006;display:block;position:fixed;inset:0}.player-lessons-close-row{align-items:center;padding:8px 12px 0;display:flex}.player-lessons-toggle{display:inline-flex!important}.player-main{min-width:0}}@media (width<=640px){.modal-overlay{align-items:flex-end!important}.modal-dialog{overflow-y:auto;width:100%!important;max-width:100%!important;max-height:92dvh!important;padding:16px 16px calc(16px + env(safe-area-inset-bottom))!important;border-radius:16px 16px 0 0!important}.modal-dialog__header{z-index:1;background:#fff;padding-bottom:8px;position:sticky;top:0}}@media (height<=480px){.modal-overlay{align-items:stretch!important}.modal-dialog{max-height:100dvh;border-radius:0!important}.modal-dialog__header{padding-bottom:4px}.actions-stack>button,.actions-stack>a{min-height:40px}}@media (prefers-reduced-motion:reduce){.sidebar,.drawer-panel,.modal-dialog,.modal-overlay,.lift-card,.lift-card--lg,.lift-card--xl,.lift-card--xl-alt,.lift-card--shadow,.lift-card--flat,.badge-card{transition:none!important;animation:none!important}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes spin{to{transform:rotate(360deg)}}.flashcard-container{perspective:1000px}.flashcard-inner{transform-style:preserve-3d;transition:transform .6s}.flashcard-inner.flipped{transform:rotateY(180deg)}.faq-answer{transition:max-height .3s}.admin-table{border-collapse:collapse;width:100%}.admin-table th{text-align:left;letter-spacing:.05em;color:var(--color-gray-600);border-bottom:2px solid var(--color-gray-200);padding:12px 16px;font-size:12px;font-weight:700}.admin-table td{border-bottom:1px solid var(--color-gray-100);padding:12px 16px;font-size:14px}.admin-table tr:hover td{background:var(--color-gray-50)}.reg-resend-btn:hover:not(:disabled){background:#b1c2ff!important}.reg-resend-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #3768db59}@media (width<=640px){.reg-resend-row{display:block}.reg-resend-btn{justify-content:center;width:100%}}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.cert-signature{font-family:var(--font-script);color:var(--color-primary);font-size:clamp(20px,6vw,28px);line-height:1.1}.kbd-hint{color:var(--color-gray-600);background:var(--color-gray-100);border:1px solid var(--color-gray-200);border-radius:4px;padding:1px 6px;font-family:inherit;font-size:11px;font-weight:700;line-height:1.4;display:inline-block}
