@font-face{font-family:Montserrat;src:url('/assets/montserrat-400.ttf');font-weight:400;font-display:swap}@font-face{font-family:Montserrat;src:url('/assets/montserrat-500.ttf');font-weight:500;font-display:swap}@font-face{font-family:Montserrat;src:url('/assets/montserrat-600.ttf');font-weight:600;font-display:swap}@font-face{font-family:Montserrat;src:url('/assets/montserrat-700.ttf');font-weight:700;font-display:swap}
:root{--blue:#434b99;--ink:#17213a;--muted:#4c5567;--canvas:#f5f6fa;--line:#d8dde8;--gold:#a19023;--green:#73973f;--panel:#fff;font-family:Montserrat,Arial,sans-serif;color:var(--ink);background:var(--canvas);font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:var(--blue)}button:disabled{cursor:not-allowed;background:#eef0f6;color:#4c5567}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:3px;box-shadow:0 0 0 2px white}a{text-decoration:none}svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}button{border:0}h1,h2,h3,p{margin:0}h1{font-size:32px;line-height:1.2;letter-spacing:-1px;font-weight:600}h2{font-size:19px;letter-spacing:-.35px;font-weight:600}h3{font-size:14px;line-height:1.5;font-weight:600}p{line-height:1.65}small{font-size:12px}.muted{color:var(--muted)}.skip{position:fixed;top:-80px;left:12px;padding:15px;background:white;z-index:100}.skip:focus{top:8px}.loading{padding:80px;text-align:center}.shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{background:white;border-right:1px solid var(--line);height:100vh;position:sticky;top:0;display:flex;flex-direction:column;padding:0 16px 18px;overflow:auto}.brand{display:flex;flex-direction:column;align-items:center;padding:2px 18px 18px;border-bottom:1px solid #edf0f6;margin-bottom:22px}.brand img{width:174px;height:auto}.brand span{font-size:10px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);margin-top:-16px}.nav-label{font-size:10px;letter-spacing:1.8px;font-weight:600;color:#657087;padding:8px 14px 10px}.nav{display:flex;flex-direction:column;gap:5px;margin-bottom:24px}.nav a{display:flex;align-items:center;gap:12px;min-height:44px;padding:11px 14px;color:var(--muted);font-size:12px;font-weight:500;border-radius:6px;position:relative}.nav a:hover{background:#f5f6fa}.nav a.active{background:#eef0f9;color:var(--blue);font-weight:600}.nav a.active:before{content:'';height:18px;width:3px;background:var(--blue);position:absolute;left:0;border-radius:2px}.sidebar-bottom{margin-top:auto;border-top:1px solid #edf0f6;padding-top:16px}.profile{display:flex;align-items:center;gap:10px;padding:5px 8px}.avatar{background:#eef0f9;color:var(--blue);height:36px;width:36px;display:grid;place-items:center;border-radius:50%;font-size:12px;font-weight:600;flex:none}.profile strong{font-size:12px;display:block}.profile small{font-size:10px;display:block;margin-top:4px;color:var(--muted)}.logout{background:none;color:var(--muted);padding:8px;margin-left:auto;min-height:44px}.page{min-width:0}.topbar{height:72px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 36px}.breadcrumb{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:10px}.breadcrumb svg{width:14px;height:14px;color:#8790a2}.top-actions{display:flex;align-items:center;gap:16px}.search-button{color:var(--muted);background:#f7f8fb;border:1px solid var(--line);border-radius:6px;min-height:38px;padding:0 13px;display:flex;align-items:center;gap:10px;font-size:11px}.search-button svg{width:16px}.search-button kbd{font:10px Montserrat;color:#657087;margin-left:35px}.date{font-size:11px;color:var(--muted)}.mobile-menu{display:none;background:none;padding:10px}.content{max-width:1600px;padding:32px 36px 42px;margin:0 auto}.preview{background:#fff8e6;border:1px solid #e4d9b5;color:#6b5e15;padding:10px 14px;border-radius:6px;margin-bottom:24px;font-size:11px;line-height:1.6;display:flex;align-items:center;gap:10px}.preview svg{width:17px}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.heading p{font-size:12px;color:var(--muted);margin-top:9px}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:1.9px;font-weight:600}.btn{display:inline-flex;gap:9px;align-items:center;justify-content:center;min-height:42px;padding:11px 17px;background:var(--blue);color:white;border:1px solid var(--blue);border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap}.btn:hover{background:#363d7d}.btn.secondary{background:white;border-color:var(--line);color:var(--ink)}.btn.secondary:hover{background:#f5f6fa}.btn.soft{background:#eef0f9;color:var(--blue);border-color:transparent}.btn svg{width:16px;height:16px}.text-btn{background:none;color:var(--blue);font-size:11px;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 0}.text-btn svg{height:15px;width:15px}.hero{background:var(--blue);border-radius:10px;color:white;display:grid;grid-template-columns:minmax(0,1fr) 280px;overflow:hidden;position:relative;min-height:216px;margin-bottom:28px}.hero-copy{padding:30px 32px;z-index:1}.hero .eyebrow{color:#e0e3fa;margin-bottom:13px}.hero h2{font-size:29px;letter-spacing:-.8px;line-height:1.3}.hero p{font-size:12px;max-width:490px;margin-top:12px;color:#eef0ff}.hero .btn{margin-top:20px;background:white;border-color:white;color:var(--blue)}.architecture{position:relative;overflow:hidden;background:linear-gradient(90deg,transparent,#363d7d)}.architecture:before,.architecture:after{content:'';position:absolute;transform:rotate(-20deg);border:1px solid #7e85ba;width:180px;height:400px;top:-60px;right:10px;background:repeating-linear-gradient(0deg,transparent 0 29px,#7e85ba55 29px 30px),repeating-linear-gradient(90deg,transparent 0 29px,#7e85ba55 29px 30px)}.architecture:after{right:150px;top:85px;border-color:#b3a454;background:repeating-linear-gradient(0deg,transparent 0 29px,#b3a45444 29px 30px);width:110px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:2px 0 15px}.section-head .count{font-size:11px;color:var(--muted);font-weight:400;margin-left:9px}.apps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:28px}.app-card{border:1px solid var(--line);border-radius:8px;background:white;padding:19px;display:flex;align-items:center;gap:14px;min-height:105px;color:var(--ink);text-align:left;width:100%;transition:transform 140ms,border-color 140ms}.app-card:hover{border-color:#9ba2d0;transform:translateY(-2px)}.app-icon{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:8px;background:#eef0f9;color:var(--blue)}.app-icon.green{color:#4a6327;background:#f0f5e9}.app-icon.gold{color:#6b5e15;background:#f8f5e8}.app-icon.teal{color:#2f607f;background:#eef5fa}.app-card small{display:block;margin-top:4px;color:var(--muted);font-size:10px;line-height:1.5}.app-card>.arrow{margin-left:auto;width:15px;color:#737d90}.columns{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px}.panel{background:white;border:1px solid var(--line);border-radius:8px;padding:22px;min-width:0}.panel .section-head{margin-top:0;margin-bottom:17px}.rule{border-top:1px solid #edf0f6;margin:18px 0}.empty{padding:20px 4px;color:var(--muted);font-size:12px;line-height:1.7}.empty strong{display:block;color:var(--ink);margin-bottom:5px;font-size:13px}.task-row{display:flex;align-items:center;gap:11px;padding:14px 0;border-top:1px solid #edf0f6}.task-row:first-of-type{border:0}.check{display:grid;place-items:center;border:1px solid #7e8799;background:white;border-radius:4px;width:22px;height:22px;flex:none}.check-wrap{padding:10px;margin:-10px;min-height:44px;display:flex;align-items:center;cursor:pointer}.check.done{background:var(--blue);border-color:var(--blue);color:white}.check svg{width:14px}.task-row.completed .task-title{text-decoration:line-through;color:var(--muted)}.task-title{font-size:12px;line-height:1.5}.task-row small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.task-meta{margin-left:auto;font-size:10px;color:var(--muted)}.announcement{padding:16px 0;border-top:1px solid #edf0f6}.announcement:first-of-type{padding-top:0;border:0}.announcement p{font-size:12px;color:var(--muted);margin:8px 0;white-space:pre-wrap}.announcement small{color:#657087;font-size:10px}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:4px;background:#eef0f6;color:var(--muted);font-size:10px;font-weight:500;line-height:1.4}.badge.live{background:#f0f5e9;color:#355817}.badge.gold{background:#fff4d6;color:#745000}.badge svg{width:12px;height:12px}.training-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.course{display:flex;flex-direction:column;background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden}.course-cover{padding:25px 22px;background:#eef0f9;display:flex;align-items:center;justify-content:space-between;min-height:100px;color:var(--blue)}.course:nth-child(3n+2) .course-cover{background:#f0f5e9;color:#4a6327}.course:nth-child(3n+3) .course-cover{background:#f8f5e8;color:#6b5e15}.course-cover svg{width:32px;height:32px}.course-body{padding:21px;display:flex;flex-direction:column;flex:1;gap:12px}.course-body h3{font-size:16px}.course-body p{font-size:12px;color:var(--muted);flex:1}.course-meta{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}progress{width:100%;height:6px;accent-color:var(--blue);border:0;border-radius:3px;background:#e9ecf4}progress::-webkit-progress-bar{background:#e9ecf4;border-radius:3px}progress::-webkit-progress-value{background:var(--blue);border-radius:3px}.course-body .btn{width:100%;margin-top:4px}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:26px}.stat{background:white;border:1px solid var(--line);border-radius:8px;padding:20px}.stat strong{font-size:28px;font-weight:600;display:block;margin-top:10px}.stat span{color:var(--muted);font-size:11px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:24px}.filter{border:1px solid var(--line);background:white;border-radius:5px;padding:11px 16px;min-height:42px;color:var(--muted);font-size:12px}.filter.selected{background:var(--blue);color:white;border-color:var(--blue)}input,select,textarea{border:1px solid #7e8799;background:white;color:var(--ink);min-height:44px;border-radius:5px;padding:11px 12px;width:100%;font-size:13px}textarea{min-height:130px;resize:vertical;line-height:1.7}label{display:block;font-size:12px;font-weight:600;margin:18px 0 7px}.search-input{max-width:360px;margin-left:auto}.directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.person{background:white;border:1px solid var(--line);border-radius:8px;padding:23px}.person .avatar{height:48px;width:48px;font-size:15px;margin-bottom:15px}.person p{font-size:11px;margin:5px 0 12px;overflow-wrap:anywhere}.person .badge{margin:2px}.resource{display:flex;align-items:center;gap:16px;padding:20px;background:white;border:1px solid var(--line);border-radius:8px;color:var(--ink)}.resource p{font-size:11px;color:var(--muted);margin-top:6px}.resource>.arrow{margin-left:auto}.resource-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.integration{display:grid;grid-template-columns:45px 1fr auto;gap:20px;align-items:start;padding:25px 0;border-bottom:1px solid #edf0f6}.integration:last-child{border:0}.integration h3{font-size:15px}.integration p{font-size:12px;color:var(--muted);max-width:620px;margin:9px 0}.integration .badge{margin-top:9px}.integration-actions{display:flex;flex-direction:column;gap:9px}.callout{border-left:3px solid var(--gold);background:#fbfaf4;padding:17px 20px;margin-bottom:24px;font-size:12px;line-height:1.7}.course-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px}.lesson-nav{background:white;border:1px solid var(--line);border-radius:8px;padding:12px;align-self:start}.lesson-nav button{display:flex;gap:10px;align-items:center;text-align:left;width:100%;min-height:50px;color:var(--ink);background:transparent;padding:12px;border-radius:5px;font-size:12px}.lesson-nav button.active{background:#eef0f9;color:var(--blue)}.lesson-copy{font-size:15px;white-space:pre-wrap;line-height:1.9;margin:25px 0;max-width:75ch}.lesson-paper{min-height:420px}.lesson-paper h2{font-size:25px;margin-top:15px}.lesson-actions{display:flex;gap:10px;margin-top:30px}.quiz-option{display:flex;gap:12px;align-items:center;font-weight:400;min-height:50px;padding:12px;border:1px solid #7e8799;border-radius:6px}.quiz-option input{width:18px;min-height:18px;flex:none}.success{padding:20px;background:#f0f5e9;border-radius:6px;color:#355817;margin-top:20px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th,td{padding:14px 12px;border-bottom:1px solid #edf0f6;text-align:left}th{color:var(--muted);font-weight:500;background:#f8f9fc}dialog{border:1px solid var(--line);border-radius:10px;padding:0;width:590px;max-width:calc(100vw - 28px);max-height:88vh;color:var(--ink);box-shadow:0 20px 70px #17213a22}dialog::backdrop{background:#17213a66}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:22px 26px;border-bottom:1px solid var(--line);position:sticky;top:0;background:white;z-index:1}.close{width:44px;height:44px;background:#f5f6fa;border-radius:5px;font-size:23px;color:var(--muted)}.modal-body{padding:0 26px 26px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:25px}.field-help{font-size:11px;color:var(--muted);margin-top:6px}.error{background:#fdeeee;color:#a12830;font-size:12px;padding:12px;margin-top:16px;border-radius:6px}.search-results a{display:flex;gap:12px;align-items:center;padding:16px 5px;border-bottom:1px solid var(--line);color:var(--ink)}.search-results small{margin-left:auto;color:var(--muted)}#toast{position:fixed;bottom:24px;right:24px;max-width:450px;background:#17213a;color:white;border-radius:8px;padding:15px 20px;z-index:100;display:none;box-shadow:0 8px 30px #17213a22;font-size:12px;line-height:1.6}.login{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-visual{background:var(--blue);color:white;padding:8vw;display:flex;flex-direction:column;justify-content:center;position:relative}.login-visual h1{font-size:48px;line-height:1.18;max-width:500px;letter-spacing:-2px;margin:25px 0}.login-visual p{color:#e0e3fa;max-width:410px;font-size:14px}.login-form{display:flex;align-items:center;justify-content:center;padding:50px;background:white}.login-inner{max-width:360px;width:100%}.login-inner img{width:240px;display:block;margin:0 auto 5px}.login-inner h2{font-size:26px;margin:10px 0}.login-inner p{font-size:13px;color:var(--muted);margin:12px 0 24px}.login-inner .btn{width:100%}.login-inner small{display:block;text-align:center;color:var(--muted);margin-top:20px;font-size:11px;line-height:1.7}.footer{display:flex;justify-content:space-between;color:#657087;font-size:10px;margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}.theme-toggle{margin:14px 8px 0;display:flex;gap:8px;align-items:center;color:var(--muted);background:none;font-size:11px;min-height:36px}.dual .sidebar{background:#142036;border-color:#142036;color:white}.dual .nav a,.dual .nav-label,.dual .profile small,.dual .brand span,.dual .theme-toggle,.dual .logout{color:#c6cedb}.dual .nav a.active{color:white;background:#2e3d59}.dual .nav a.active:before{background:#d7c46f}.dual .nav a:hover{background:#253550}.dual .brand,.dual .sidebar-bottom{border-color:#344159}.dual .profile strong{color:white}
@media(min-width:1600px){.content{padding-top:40px}.apps-grid{gap:20px}.hero{min-height:240px}.hero h2{font-size:32px}}
@media(max-width:1200px){.shell{grid-template-columns:218px 1fr}.content{padding:26px}.topbar{padding:0 26px}.date{display:none}.app-card{padding:15px;gap:10px}.app-card h3{font-size:12px}.hero{grid-template-columns:1fr 170px}.training-grid,.directory{grid-template-columns:repeat(2,1fr)}.brand img{width:162px}}
@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{display:none;position:fixed;z-index:30;width:248px;box-shadow:0 0 0 100vmax #17213a55}.shell.menu-open .sidebar{display:flex}.mobile-menu{display:block}.topbar{padding:0 20px;gap:12px;height:64px}.breadcrumb{margin-right:auto;font-size:11px}.columns{grid-template-columns:1fr}.search-button kbd{display:none}.hero h2{font-size:26px}.course-layout{grid-template-columns:1fr}.lesson-nav{display:flex;overflow:auto}.lesson-nav button{min-width:170px}.resource-list{grid-template-columns:1fr}.login-visual{padding:50px}.login-visual h1{font-size:36px}}
@media(max-width:600px){.content{padding:20px 16px}.topbar{padding:0 10px}.search-button span{display:none}.search-button{border:0;background:none;padding:9px}.heading{align-items:flex-start;gap:12px}.heading h1{font-size:26px}.heading .btn{padding:10px;font-size:11px}.heading .btn svg{display:none}.hero{display:block}.hero-copy{padding:26px}.hero h2{font-size:26px}.architecture{display:none}.apps-grid{grid-template-columns:1fr 1fr;gap:10px}.app-card{align-items:flex-start;flex-direction:column;padding:15px;position:relative;gap:12px}.app-card>.arrow{position:absolute;right:12px;top:18px}.app-card small{font-size:10px}.training-grid,.directory{grid-template-columns:1fr}.stat-row{gap:8px}.stat{padding:14px 10px}.stat strong{font-size:24px}.stat span{font-size:10px}.panel{padding:18px}.search-input{max-width:none;margin:0}.integration{grid-template-columns:35px 1fr;gap:14px}.integration>.app-icon{width:35px;height:35px}.integration-actions{grid-column:2;flex-direction:row;flex-wrap:wrap}.footer{gap:20px;line-height:1.6}.course-body{padding:20px}.login{display:block}.login-visual{padding:30px}.login-visual h1{font-size:32px;margin:12px 0}.login-visual p{font-size:12px}.login-form{padding:20px 25px 45px}.login-inner img{width:190px}.login-inner h2{font-size:24px}.preview{font-size:10px;align-items:flex-start}.course-layout{gap:16px}.modal-head{padding:15px 20px}.modal-body{padding:0 20px 20px}input,select,textarea{font-size:16px}.lesson-paper h2{font-size:22px}.lesson-copy{font-size:14px}.lesson-actions{flex-wrap:wrap}}
.home-announcements{margin-top:24px}.announcement h3{margin-top:10px}.person[hidden]{display:none}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
