body{background:#f1f6ff;color:#12355d}.lr-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;background:rgba(255,255,255,.85);border:1px solid #dce8f8;border-radius:18px;margin-bottom:24px;flex-wrap:wrap}.lr-nav a{text-decoration:none}.lr-actions{display:flex;gap:8px;flex-wrap:wrap}.lr-glass{display:inline-block;background:rgba(255,255,255,.75);border:1px solid #d5e4f8;color:#205a99;border-radius:12px;padding:11px 16px;font-weight:700}.lr-primary{background:#1766b0;color:#fff!important;border-color:#1766b0}.lr-title{font-size:30px;color:#123e77;margin:12px 0 8px}.lr-sub{color:#7288a8;margin-bottom:24px}.lr-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.lr-stat{border-radius:20px;padding:24px;color:#fff}.lr-stat strong{display:block;font-size:38px;margin-top:10px}.lr-pink{background:linear-gradient(120deg,#f23d70,#f77696)}.lr-green{background:linear-gradient(120deg,#1b9d82,#58c8aa)}.lr-orange{background:linear-gradient(120deg,#ee8a19,#f5b65b)}.lr-blue{background:linear-gradient(120deg,#2469cf,#61a2ec)}.lr-exempt{background:#f1f3f7;color:#9ba5b3}.lr-exempt td{color:#98a2b2}.lr-tag{display:inline-block;border-radius:999px;padding:6px 12px;background:#e5e9ef;color:#6d788a;font-size:12px}.lr-filter{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.lr-filter input,.lr-filter select{padding:10px;border:1px solid #d4e1f2;border-radius:9px}.lr-card{background:#fff;border:1px solid #e0e9f5;border-radius:18px;padding:20px;margin:16px 0;overflow-x:auto}.lr-table{width:100%;border-collapse:collapse}.lr-table th,.lr-table td{padding:14px;text-align:left;border-bottom:1px solid #e9eff7}.lr-table th{background:#eff5fc;color:#2d5688}.lr-muted{color:#7586a2}@media(max-width:700px){.lr-stats{grid-template-columns:repeat(2,1fr)}.lr-title{font-size:23px}.lr-stat{padding:16px}.lr-stat strong{font-size:29px}}
/* Public overview and protected teacher workspace share the same visual language. */
*{box-sizing:border-box}.wrap{max-width:1240px;margin:0 auto;padding:24px 20px}body{font-family:Tahoma,"Noto Sans Thai",sans-serif;margin:0;line-height:1.65}.lr-hero{display:flex;justify-content:space-between;align-items:center;gap:28px;background:linear-gradient(125deg,#123d77,#176bb2);color:#fff;border-radius:24px;padding:34px 36px;margin-bottom:22px;box-shadow:0 14px 36px #163f7717}.lr-hero h1{font-size:30px;line-height:1.5;margin:10px 0}.lr-hero p{color:#d7e9ff;margin:0}.lr-eyebrow{font-size:13px;letter-spacing:.5px;color:#c7e2ff}.lr-hero-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:24px}.lr-hero-actions>span{font-size:12px;color:#d7e9ff}.lr-hero-btn{background:#fff;color:#14558f;padding:12px 18px;border-radius:12px;text-decoration:none;font-weight:bold}.lr-hero-summary{min-width:180px;padding:22px;border-radius:18px;border:1px solid #ffffff35;background:#ffffff12}.lr-hero-summary span,.lr-hero-summary strong{display:block}.lr-hero-summary strong{font-size:28px;margin:8px 0}.lr-section-top{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.lr-section-top h3{margin:0}.lr-section-top p{margin:4px 0 16px;font-size:13px}.lr-search{font-size:12px;color:#667c99}.lr-search input{display:block;min-width:230px;border:1px solid #d5e2f2;padding:10px 12px;border-radius:10px;font:inherit;font-size:14px;margin-top:4px}.lr-table-scroll{overflow-x:auto}.lr-table{min-width:760px}.lr-table td,.lr-table th{font-size:14px}.lr-row-link{color:#1766b0;text-decoration:none;font-weight:700;white-space:nowrap}.lr-progress{width:100px;height:7px;border-radius:12px;background:#e7eef7;overflow:hidden;margin-bottom:4px}.lr-progress span{display:block;height:100%;background:#24a68b;border-radius:12px}.lr-count-sent{color:#16836e;font-weight:700}.lr-empty{text-align:center!important;padding:36px!important;color:#7586a2}.lr-footnote{text-align:center;color:#7586a2;font-size:12px;margin:26px 0}a:focus-visible,input:focus-visible,select:focus-visible,button:focus-visible{outline:3px solid #65b1f6;outline-offset:3px}[hidden]{display:none!important}@media(max-width:700px){.wrap{padding:14px 12px}.lr-hero{padding:24px 20px;align-items:stretch;flex-direction:column;gap:20px}.lr-hero h1{font-size:24px}.lr-hero-summary{min-width:0}.lr-hero-summary strong{font-size:23px}.lr-search,.lr-search input{width:100%}.lr-card{padding:16px}.lr-nav{padding:14px}.lr-glass{padding:9px 12px;font-size:13px}}

/* Department-first overview, matching the learning-plan header. */
.lr-plan-page{background:linear-gradient(180deg,#edf4ff 0,#f6f9fd 580px);color:#14365d}.lr-plan-page>.wrap{max-width:1460px;padding:0 32px 32px}.lr-plan-page .lr-nav{background:#fff;border:0;border-radius:0;padding:28px 32px;margin:0 -32px 42px;box-shadow:0 8px 28px #153a7020}.lr-brand{display:flex;gap:15px;align-items:center}.lr-brand b{color:#254f83;font-size:18px}.lr-brand .lr-muted{font-size:12px;font-weight:700}.lr-brand-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:linear-gradient(140deg,#12447e,#2084ce);color:#fff;font-size:28px;box-shadow:0 6px 14px #1b70b42b}.lr-plan-intro{margin:0 0 22px}.lr-plan-intro>span,.lr-kicker{color:#2781d7;font-size:12px;font-weight:800;letter-spacing:2px}.lr-plan-intro h1{font-size:32px;color:#123f76;margin:8px 0 10px;line-height:1.5}.lr-plan-intro p{color:#7c94b4;margin:0;font-size:14px}.lr-plan-page .lr-filter{padding:20px;border-radius:20px;gap:14px}.lr-plan-page .lr-filter label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700}.lr-plan-page .lr-filter input,.lr-plan-page .lr-filter select{background:#f8fbff;min-width:180px;font-size:14px;padding:13px 16px;height:52px;color:#183f6b}.lr-plan-page .btn{display:inline-block;border:0;border-radius:12px;background:#1968b3;color:#fff;font-weight:700;padding:14px 24px;cursor:pointer;text-decoration:none}.lr-plan-page .lr-filter .btn{height:54px}.lr-departments{margin-top:34px}.lr-departments h2{margin:6px 0;font-size:23px}.lr-department-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px}.lr-department-card{--accent:#1976bd;display:block;background:#fff;border:1px solid #dce8f5;border-top:4px solid var(--accent);border-radius:20px;padding:22px;text-decoration:none;color:#1a3e66;box-shadow:0 5px 20px #163b6410;transition:transform .15s,box-shadow .15s}.lr-department-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px #163b641d}.lr-dept-color-1{--accent:#159b87}.lr-dept-color-2{--accent:#8b66c4}.lr-dept-color-3{--accent:#df9643}.lr-dept-selected{outline:3px solid var(--accent);outline-offset:2px}.lr-dept-top{display:flex;align-items:center;justify-content:space-between;color:#7d93ad;font-size:12px}.lr-dept-icon{background:#f0f6fc;border-radius:12px;padding:8px 13px;color:var(--accent);font-size:22px}.lr-department-card h3{font-size:20px;margin:16px 0 20px}.lr-dept-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.lr-dept-counts small{color:#7b8da5;font-size:12px}.lr-dept-counts strong{display:block;font-size:27px;color:var(--accent)}.lr-dept-progress-label{display:flex;justify-content:space-between;font-size:12px;color:#7890aa;margin:16px 0 7px}.lr-department-card .lr-progress{width:100%;height:7px}.lr-department-card .lr-progress span{background:var(--accent)}.lr-dept-footer{border-top:1px solid #edf2f7;margin-top:18px;padding-top:14px;font-size:13px;font-weight:700;display:flex;justify-content:space-between}.lr-status{display:inline-block;padding:5px 10px;border-radius:20px;font-size:12px;white-space:nowrap}.lr-status-done{color:#16816c;background:#e8f8f2}.lr-status-wait{color:#a36a12;background:#fff3de}#department-detail{scroll-margin-top:20px}@media(max-width:1000px){.lr-department-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.lr-plan-page>.wrap{padding:0 14px 20px}.lr-plan-page .lr-nav{margin:0 -14px 28px;padding:18px 14px}.lr-plan-intro h1{font-size:24px}.lr-department-grid{grid-template-columns:1fr}.lr-plan-page .lr-filter label,.lr-plan-page .lr-filter input,.lr-plan-page .lr-filter select{width:100%}.lr-plan-page .lr-filter label{min-width:0}.lr-plan-page .lr-filter .btn{width:100%}.lr-brand b{font-size:16px}.lr-brand-icon{width:44px;height:44px}}

/* Full-color department cards. */
.lr-plan-page .lr-department-card{--card-start:#1776be;--card-end:#114a8a;background:linear-gradient(135deg,var(--card-start),var(--card-end));color:#fff;border:1px solid #ffffff20;border-top:0;box-shadow:0 8px 22px #144a8326;position:relative;overflow:hidden}
.lr-plan-page .lr-dept-color-1{--card-start:#0b9c8b;--card-end:#087368}
.lr-plan-page .lr-dept-color-2{--card-start:#8c60ce;--card-end:#6240a8}
.lr-plan-page .lr-dept-color-3{--card-start:#c77a20;--card-end:#99520e}
.lr-plan-page .lr-department-card h3,.lr-plan-page .lr-dept-counts strong,.lr-plan-page .lr-dept-footer,.lr-plan-page .lr-dept-progress-label b{color:#fff}
.lr-plan-page .lr-dept-top,.lr-plan-page .lr-dept-counts small,.lr-plan-page .lr-dept-progress-label{color:#ffffffdf}
.lr-plan-page .lr-dept-icon{background:#ffffff21;color:#fff;border:1px solid #ffffff28}
.lr-plan-page .lr-dept-counts{padding:14px 12px;background:#ffffff12;border-radius:12px}
.lr-plan-page .lr-department-card .lr-progress{background:#ffffff38}
.lr-plan-page .lr-department-card .lr-progress span{background:#fff}
.lr-plan-page .lr-dept-footer{border-top-color:#ffffff30}
.lr-plan-page .lr-dept-selected{outline-color:var(--card-start)}
.lr-plan-page .lr-department-card:hover{box-shadow:0 14px 28px #173d7138}

/* Learning-plan card design: four columns, eight bright palettes, glass count tiles. */
.lr-plan-page .lr-department-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.lr-plan-page .lr-department-card{--card-start:#f53e6d;--card-end:#fa7793;padding:20px;border:0;border-radius:25px;box-shadow:none;isolation:isolate}
.lr-plan-page .lr-dept-color-1{--card-start:#8141dc;--card-end:#b26af0}
.lr-plan-page .lr-dept-color-2{--card-start:#226bd0;--card-end:#65a1ee}
.lr-plan-page .lr-dept-color-3{--card-start:#00939b;--card-end:#36c6ba}
.lr-plan-page .lr-dept-color-4{--card-start:#ef8109;--card-end:#f5b34e}
.lr-plan-page .lr-dept-color-5{--card-start:#138e65;--card-end:#5fc7a5}
.lr-plan-page .lr-dept-color-6{--card-start:#d64696;--card-end:#ef91bb}
.lr-plan-page .lr-dept-color-7{--card-start:#315aa5;--card-end:#7399db}
.lr-plan-page .lr-department-card:before,.lr-plan-page .lr-department-card:after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:-1;background:#ffffff0c}
.lr-plan-page .lr-department-card:before{width:370px;height:370px;right:-140px;top:-165px;background:#ffffff18}
.lr-plan-page .lr-department-card:after{width:460px;height:460px;right:-165px;top:-185px}
.lr-plan-page .lr-dept-top{min-height:52px}
.lr-plan-page .lr-dept-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:#ffffff1f;font-size:29px;padding:0;border:1px solid #ffffff50;line-height:1}
.lr-plan-page .lr-dept-number{font-size:23px;font-weight:900;color:#ffffffb8}
.lr-plan-page .lr-department-card h3{font-size:18px;line-height:1.6;min-height:48px;margin:12px 0 18px;color:#fff}
.lr-plan-page .lr-dept-counts{padding:0;background:none;gap:6px}
.lr-plan-page .lr-dept-counts>div{background:#ffffff24;border:1px solid #ffffff24;border-radius:11px;padding:10px 7px}
.lr-plan-page .lr-dept-counts small{font-size:11px;color:#fff;font-weight:700;white-space:nowrap}
.lr-plan-page .lr-dept-counts strong{font-size:25px;line-height:1.3;margin-top:4px;color:#fff}
.lr-plan-page .lr-dept-progress-label{margin:16px 0 7px;font-size:11px;color:#fff;font-weight:700}
.lr-plan-page .lr-dept-progress-label b{font-size:17px}
.lr-plan-page .lr-department-card .lr-progress{height:9px;background:#ffffff50;margin-bottom:0}
.lr-plan-page .lr-dept-footer{margin-top:12px;padding-top:0;border:0;align-items:center;min-height:36px;font-size:12px;color:#fff}
.lr-plan-page .lr-dept-footer>span{border-radius:50%;background:#ffffff28;display:grid;place-items:center;width:36px;height:36px;font-size:23px}
.lr-plan-page .lr-dept-selected{outline:3px solid #ffd25b;outline-offset:4px}
.lr-plan-page .lr-department-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #20467620}
@media(max-width:1100px){.lr-plan-page .lr-department-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.lr-plan-page .lr-department-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.lr-plan-page .lr-department-grid{grid-template-columns:1fr}.lr-plan-page .lr-department-card h3{min-height:0}.lr-plan-page .lr-dept-counts small{font-size:12px}}

/* Header actions */
.lr-nav .lr-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.lr-nav .lr-header-actions .lr-glass{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:11px 17px;border-radius:14px;font-size:15px;font-weight:700;line-height:1.4;transition:background .18s,box-shadow .18s,transform .18s}
.lr-nav-icon{width:20px;height:20px;flex:0 0 20px}
.lr-nav .lr-nav-dashboard{background:#f1f7ff;border-color:#c9ddfc;color:#245b99;box-shadow:0 3px 10px #20467606}
.lr-nav .lr-nav-record{background:linear-gradient(125deg,#176cd0,#2457c4);border-color:#1e61c6;color:#fff;box-shadow:0 5px 13px #2466ce30}
.lr-nav .lr-nav-logout{background:#fff5f5;border-color:#f3d5d9;color:#b44250;box-shadow:0 3px 10px #b4425008}
.lr-nav .lr-header-actions a:hover{transform:translateY(-1px);box-shadow:0 6px 15px #20467620}
.lr-nav .lr-header-actions a:focus-visible{outline:3px solid #80b5ff;outline-offset:3px}
@media(max-width:540px){.lr-nav .lr-header-actions{width:100%;gap:7px}.lr-nav .lr-header-actions .lr-glass{padding:10px 12px;font-size:14px}.lr-nav .lr-nav-logout span{display:none}.lr-nav .lr-nav-logout{margin-left:auto}}
