/* KNAM working interface: blue accents, readable learning material, dense reporting. */
:root{--blue:#2f6df5;--mint-dark:#174fc7;--mint:#fff}
.auth-panel{background:#174fc7}.auth-copy h1{font-size:clamp(32px,4vw,58px);line-height:1.12}.auth-copy p{color:#e0e9ff}.auth-panel:after{border-color:#ffffff40}.brand{color:inherit}.sidebar .brand{margin-bottom:25px}.nav-icon{width:20px;text-align:center;font-size:20px}.local-label{font-size:12px;color:var(--muted)}
.content{max-width:1800px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}.section-heading h2{margin:10px 0;font-size:28px;letter-spacing:-.035em}.muted{color:var(--muted)}.block{display:block;margin-top:5px}.notice{background:#eaf0ff;border:1px solid #c9d8ff;border-radius:12px;padding:14px 18px;line-height:1.55;margin-bottom:18px}.notice[hidden]{display:none}.form-error{color:#b12b3f;background:#fff0f2;padding:12px;border-radius:8px}.narrow{max-width:600px}.filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:20px}.filters .field{margin:0;min-width:150px}.filters .btn{margin-bottom:1px}.grid>*{min-width:0}.metric-value{font-size:clamp(22px,2vw,30px);overflow-wrap:anywhere}.metric-card{min-height:125px}.metric-card:after{display:none}.person-link{background:none;border:0;color:var(--blue);font:inherit;font-weight:700;padding:0;text-align:left}.btn{margin-right:6px}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-outline:hover{background:#eff4ff}.card h2{letter-spacing:-.025em}.card p{line-height:1.65}.card h3{letter-spacing:-.01em}.card table .btn{white-space:nowrap}
.learning-summary{display:flex;justify-content:space-between;gap:20px;background:var(--navy);color:#fff;padding:22px 26px;border-radius:14px;margin-bottom:22px;font-size:14px}.learning-summary strong{color:#a9c6ff;font-size:20px;white-space:nowrap}.learning-summary span:last-child{opacity:.6}.course-card{display:flex;flex-direction:column;padding:23px}.course-card h3{line-height:1.35;font-size:20px;margin:13px 0}.course-card p{font-size:14px;color:var(--muted);flex:1}.course-card .status{align-self:flex-start;margin:8px 0 16px}.course-card .btn{margin-top:auto;align-self:flex-start}.course-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.reader-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px;align-items:start}.reader-layout .course-outline{max-height:calc(100vh - 125px);overflow:auto}.reader-layout .lesson{padding:34px}.reading{max-width:900px}.reading p,.reading li{font-size:16px;line-height:1.8;color:#303b50}.reading h2{font-size:28px;margin:35px 0 14px}.reading h3{font-size:22px;margin:28px 0 14px}.reading h4{font-size:18px;margin-top:24px}.reading pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#edf2fa;padding:18px;border-radius:10px;line-height:1.7}.reading blockquote,blockquote{border-left:3px solid var(--blue);margin:20px 0;padding:16px 20px;background:#eef4ff;line-height:1.8}.reading code{color:#174fc7;white-space:normal}.reading ul{padding-left:23px}.reading-table{min-width:480px}.reading-table td{font-size:15px;line-height:1.6}.reading-table th{font-size:13px}.exercise{margin-top:35px;border-top:2px solid var(--blue);padding-top:20px}.exercise textarea,textarea{width:100%;font:inherit;border:1px solid #d8dee8;border-radius:10px;padding:12px;line-height:1.65;display:block;margin:10px 0 18px;resize:vertical}.feedback{padding:14px 16px;background:#f3f6fb;border-radius:10px;margin:12px 0;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.feedback .status{margin-left:10px}.question{border:1px solid var(--line);border-radius:12px;padding:20px;margin:22px 0}.question legend{font-weight:700;line-height:1.5;padding:0 6px}.question small{display:block;color:#aa5b20;font-weight:400}.question label{display:block;padding:10px 0;line-height:1.5}.question input{accent-color:var(--blue);width:18px;height:18px;vertical-align:middle}.big-number{font-size:44px;display:block;margin:20px 0}.count{color:var(--blue)}.review-row{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}.review-row small{display:block;color:var(--muted);margin-top:6px}.review-row button{flex-shrink:0}.drawer{width:min(800px,100%);position:relative}.close-drawer{position:sticky;top:0;float:right;z-index:3}.drawer h2{padding-right:44px;font-size:25px}.drawer h3{margin-top:30px}.drawer .metric-card{padding:14px}.drawer .detail-grid{margin-bottom:22px}.submitted-text{white-space:pre-wrap;background:#f3f6fa;padding:20px;border-radius:12px;line-height:1.8;margin:20px 0;overflow-wrap:anywhere}.credential{background:#eff4ff;padding:20px;border-radius:12px}.credential code{font-size:20px;user-select:all}.formula{background:#0b1220;border-radius:18px;padding:32px;color:#fff;display:flex;justify-content:space-around;align-items:center;gap:16px}.formula small{display:block;color:#aab9d6;margin-bottom:12px;font-size:14px}.formula strong{font-size:32px}.formula>span{font-size:25px;color:#aab9d6}.month-select{max-width:240px}fieldset{border:0;padding:0;margin:0;min-width:0}.stage-bar{position:relative;display:flex;justify-content:space-between;padding:12px 0 10px;border-bottom:5px solid #f0f3f8;margin-bottom:8px;font-size:14px}.stage-bar>div{position:absolute;bottom:-5px;left:0;height:5px;background:var(--blue);border-radius:10px}.bar-chart{display:flex;gap:12px;align-items:end;min-height:210px;overflow-x:auto;padding:15px 0}.bar-col{min-width:70px;flex:1;text-align:center}.bar-col>div{background:#2f6df5;border-radius:6px 6px 0 0;margin:8px auto;width:70%;min-width:25px}.bar-col strong,.bar-col small{font-size:12px}.empty p{margin:8px auto;max-width:480px}.task{line-height:1.5}.progress{margin-top:8px}.kpi-form{margin-bottom:18px}
@media(min-width:1300px){.grid-4 .metric-value{font-size:28px}}
@media(max-width:1100px){.reader-layout{grid-template-columns:1fr}.reader-layout .course-outline{position:static;max-height:260px}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.formula{flex-wrap:wrap}.formula strong{font-size:26px}.learning-summary span:last-child{display:none}}
@media(max-width:820px){.grid-3{grid-template-columns:1fr}.sidebar{visibility:hidden}.sidebar.open{visibility:visible}.section-heading{align-items:start;flex-direction:column;gap:8px}.section-heading h2{font-size:23px}.local-label{display:none}.topbar{justify-content:start}.mobile-menu{flex-shrink:0;width:42px;min-height:42px}.main,.content{min-width:0}.filters{display:grid;grid-template-columns:1fr 1fr}.filters .field{min-width:0}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-value{font-size:22px}.metric-card{padding:15px}.learning-summary{flex-direction:column;gap:10px}.reader-layout .lesson{padding:22px}.lesson h2{font-size:27px}.formula{justify-content:start;padding:22px;gap:15px}.formula div{min-width:140px}.drawer{padding:20px}.content{padding:18px 14px}.btn{max-width:100%}}
@media(max-width:430px){.grid-4{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.formula{display:block}.formula>span{display:block;margin:14px 0}.reading-table{min-width:450px}.auth-card .btn{width:100%}}

.sidebar{overflow-y:auto}.sidebar>.nav,.sidebar>.profile-card,.sidebar>.brand{flex-shrink:0}

.rating-circle{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border:5px solid #dbe3f4;border-radius:50%;font-size:24px;font-weight:700;margin-right:12px;vertical-align:middle}.rating-details summary{cursor:pointer}.rating-details{margin:20px 0}

/* Original desktop study inspired by contemporary application UI; test contour only. */
.test-ui{grid-template-columns:248px minmax(0,1fr);--blue:#4f46e5;--mint-dark:#4338ca;--text:#172033;--muted:#64748b;background:#f8fafc;color:#172033;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.test-ui .sidebar{width:248px;background:#fff;border-right:1px solid #e2e8f0;padding:24px 16px;box-shadow:none;display:flex;flex-direction:column;height:100vh;overflow:hidden}
.test-ui .sidebar .nav{overflow-y:auto;min-height:0;flex:1;padding:0 4px 12px 0;scrollbar-width:thin}
.test-ui .nav-button{color:#475569;border-radius:7px;font-size:13px;font-weight:500;min-height:38px;padding:9px 12px;gap:10px;letter-spacing:0}
.test-ui .nav-button.active{background:#eef2ff;color:#4338ca;box-shadow:none;font-weight:650}.test-ui .nav-button:hover{background:#f1f5f9}.test-ui .nav-icon{font-size:16px;color:#94a3b8}.test-ui .active .nav-icon{color:#6366f1}
.test-ui .sidebar-spacer{display:none}.test-ui .brand{margin:0 8px 26px;color:#0f172a}.test-ui .brand-mark{background:#4f46e5;border-radius:10px;color:#fff}.test-ui .brand-copy small{color:#64748b}.test-ui .profile-card{border-top:1px solid #e2e8f0;border-radius:0;padding:15px 8px;margin-top:8px;background:#fff}.test-ui .profile-name{font-size:12px;color:#334155}.test-ui .avatar{background:#eef2ff;color:#4f46e5}
.test-ui .main{margin-left:0;background:#f8fafc}.test-ui .topbar{background:#ffffffed;border-bottom:1px solid #e2e8f0;padding:16px 32px;min-height:80px;box-shadow:none}.test-ui .topbar h1{font-size:17px;letter-spacing:-.02em}.test-ui .topbar p{font-size:12px}.test-ui .content{padding:28px 32px 48px;max-width:1540px}.test-ui .notice{font-size:12px;border-radius:8px;padding:10px 14px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;line-height:1.55}.test-ui .card{border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 2px #0f172a04;background:#fff}.test-ui .card h3{font-size:16px;line-height:1.4;letter-spacing:-.02em}.test-ui .card p{font-size:13px;color:#64748b;line-height:1.65}.test-ui .btn{border-radius:7px;font-size:12px;font-weight:600;padding:10px 14px;box-shadow:none}.test-ui .btn-primary{background:#4f46e5;color:white}.test-ui .btn-outline{color:#334155;border:1px solid #cbd5e1;background:white}.test-ui .btn-ghost{color:#64748b}.test-ui button:focus-visible,.test-ui a:focus-visible{outline:3px solid #a5b4fc;outline-offset:3px}
.test-ui .day-heading{display:flex;align-items:center;justify-content:space-between;margin:25px 0 26px}.test-ui .day-heading h2{font-size:30px;margin:7px 0 8px;letter-spacing:-.045em}.test-ui .day-heading p{font-size:14px;color:#64748b;margin:0}.test-ui .eyebrow{font-size:11px;letter-spacing:.07em;color:#64748b;font-weight:650;text-transform:uppercase}.test-ui .day-status{font-size:12px;color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:8px 12px;white-space:nowrap}.test-ui .day-status span{display:inline-block;width:6px;height:6px;background:#6366f1;border-radius:50%;margin-right:6px}
.test-ui .day-summary{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #e2e8f0;background:#fff;border-radius:12px;margin-bottom:24px;overflow:hidden}.test-ui .day-summary article{padding:20px 24px;border-right:1px solid #e2e8f0}.test-ui .day-summary article:last-child{border:0}.test-ui .day-summary article>span{display:block;font-size:12px;color:#64748b}.test-ui .day-summary strong{display:block;font-size:29px;letter-spacing:-.045em;line-height:1.35;margin:7px 0 1px;font-weight:650}.test-ui .day-summary small{font-size:16px;font-weight:450;color:#94a3b8}.test-ui .day-summary p{margin:0;font-size:11px;color:#94a3b8}
.test-ui .day-focus{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;margin-bottom:32px}.test-ui .focus-learning{padding:25px 26px 0;display:flex;flex-direction:column;justify-content:space-between}.test-ui .focus-learning h3{font-size:22px;max-width:520px;margin:12px 0}.test-ui .focus-learning p{max-width:620px}.test-ui .focus-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #f1f5f9;margin-top:18px;padding:16px 0;gap:10px}.test-ui .focus-footer span{font-size:11px;color:#64748b}.test-ui .focus-next{padding:25px 26px;background:#f5f7ff;border-color:#e0e7ff}.test-ui .focus-next h3{margin:13px 0}.test-ui .day-products{margin-bottom:30px}.test-ui .section-heading h2,.test-ui .section-gap>h2{font-size:19px;letter-spacing:-.025em;margin-bottom:7px}.test-ui .section-heading p{font-size:12px;margin:0}.test-ui .grid{gap:16px}.test-ui .product-shortcut{position:relative;text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:17px 18px;cursor:pointer;color:#334155}.test-ui .product-shortcut:hover{border-color:#a5b4fc;background:#fafaff}.test-ui .product-index{display:block;font-size:10px;color:#818cf8;font-weight:700;margin-bottom:8px}.test-ui .product-shortcut strong{display:block;font-size:14px;font-weight:600;margin-bottom:5px}.test-ui .product-shortcut small{color:#94a3b8;font-size:11px}.test-ui .product-arrow{position:absolute;right:17px;top:16px;color:#94a3b8}.test-ui .day-bottom{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}.test-ui details{font-size:12px}.test-ui summary{color:#4f46e5;cursor:pointer}.test-ui .card-pad{padding:21px}.test-ui .section-gap>p{font-size:12px;color:#64748b}
@media(max-width:1000px){.test-ui{grid-template-columns:220px minmax(0,1fr)}.test-ui .sidebar{width:220px}.test-ui .main{margin-left:0}.test-ui .content{padding:20px}.test-ui .day-focus{grid-template-columns:1fr}.test-ui .day-summary article{padding:16px}.test-ui .day-heading{align-items:flex-start;gap:10px}}
@media(max-width:760px){.test-ui{grid-template-columns:1fr}.test-ui .main{margin-left:0}.test-ui .day-summary,.test-ui .day-bottom{grid-template-columns:1fr}.test-ui .day-summary article{border-right:0;border-bottom:1px solid #e2e8f0}.test-ui .day-heading{display:block}.test-ui .day-status{display:inline-block;margin-top:12px}}

/* 26 September: a shared light shell and one sequential route. */
.route-header{display:flex;gap:24px;align-items:center;justify-content:space-between;margin-bottom:24px}.route-header h2{margin:4px 0}.route-products progress{accent-color:#4f46e5;width:100%;height:8px}.route-steps{list-style-position:inside;padding:0;display:grid;gap:12px;margin:24px 0}.route-steps li{display:flex;align-items:center;justify-content:space-between;gap:24px}.route-steps p{margin:6px 0;color:#64748b}.route-intro{border-left:4px solid #4f46e5}.route-link{text-align:left;font:inherit;color:#334155;cursor:pointer}.route-next{margin:24px 0;border-color:#a5b4fc}.feedback-launch{border-top:1px solid #e2e8f0;margin-top:12px;color:#4f46e5}.feedback-dialog{position:fixed;z-index:100;right:24px;bottom:24px;width:min(560px,calc(100vw - 48px));max-height:85vh;overflow:auto;padding:20px;background:white;border:1px solid #cbd5e1;border-radius:18px;box-shadow:0 24px 70px #0f172a33}.feedback-dialog>button{float:right}.feedback-dialog .card{border:0;box-shadow:none}.btn:disabled{cursor:not-allowed;opacity:.6}.route-products .course-card{display:flex;flex-direction:column;gap:12px}.route-products .course-card .btn{margin-top:auto}@media(max-width:800px){.route-header{align-items:flex-start;flex-direction:column}.route-steps li{align-items:flex-start;flex-direction:column}}

.manager-lesson .course-outline{display:none}.manager-lesson .reader-layout{display:block}.manager-lesson .lesson{max-width:880px;margin:auto}.route-next{max-width:880px;margin:24px auto}

.role-guide-outline .course-item{display:block;line-height:1.5;font-size:14px;white-space:normal;padding:14px;width:100%}.route-products .course-card{justify-content:flex-start;gap:10px;min-height:300px}.route-products .course-card p{margin:4px 0}.route-products progress{appearance:none;border:0;border-radius:8px;background:#e2e8f0}.route-products progress::-webkit-progress-bar{background:#e2e8f0;border-radius:8px}.route-products progress::-webkit-progress-value{background:#4f46e5;border-radius:8px}

/* In-lesson help and synthetic demo */
.demo-check fieldset{margin:18px 0;padding:16px;border:1px solid #e2e8f0;border-radius:10px}.demo-check legend{font-weight:600;padding:0 6px}.demo-check label{display:flex;gap:10px;align-items:flex-start;margin:12px 0;font-size:14px;line-height:1.5}.demo-check input[type=radio]{flex:none;margin-top:4px}.lesson-help summary{cursor:pointer}.lesson-help form{margin-top:14px}.lesson-help textarea{width:100%}
