@font-face{font-family:Sarabun;src:url('../fonts/Sarabun/Sarabun-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Sarabun;src:url('../fonts/Sarabun/Sarabun-Medium.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:Sarabun;src:url('../fonts/Sarabun/Sarabun-SemiBold.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Sarabun;src:url('../fonts/Sarabun/Sarabun-Bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}:root{font-family:'Sarabun',sans-serif;color:#20243a;background:#f7f8fc;font-synthesis:none;--ink:#20243a;--muted:#85899e;--line:#eceef4;--purple:#6255d9;--soft-purple:#eeecff}*{box-sizing:border-box}body{margin:0;min-height:100vh}.material-symbols-rounded{font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;font-size:22px;line-height:1}.sidebar{width:252px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:30px 18px 18px;display:flex;flex-direction:column;z-index:4}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);font-size:20px;font-weight:700;letter-spacing:.4px;padding:0 10px;margin-bottom:48px}.brand-logo{display:block;width:42px;height:42px;object-fit:contain;border-radius:50%;background:#fff}.brand-sub{display:block;color:#a0a2b3;font-size:9px;letter-spacing:1.4px;font-weight:500;line-height:1.15}.nav-label{font-size:11px;font-weight:600;letter-spacing:1px;color:#a5a7b6;padding:0 12px;margin-bottom:11px}.nav-list{display:grid;gap:5px}.nav-item{display:flex;align-items:center;gap:13px;padding:12px;border-radius:12px;color:#797d92;text-decoration:none;font-size:13px;font-weight:500;transition:.2s}.nav-item:hover{background:#f6f5ff;color:var(--purple)}.nav-item.active{background:var(--soft-purple);color:var(--purple);font-weight:600}.nav-item .material-symbols-rounded{font-size:21px}.sidebar-bottom{margin-top:auto}.help-card{background:linear-gradient(145deg,#f1efff,#f7f5ff);border-radius:16px;padding:18px 16px;margin:0 2px 18px}.help-card>.material-symbols-rounded{color:#6559db;font-size:21px}.help-card strong{display:block;font-size:13px;margin-top:8px}.help-card p{font-size:11px;color:#85899e;line-height:1.7;margin:5px 0 12px}.help-card a{display:flex;align-items:center;gap:5px;color:var(--purple);font-size:11px;font-weight:600;text-decoration:none}.help-card a .material-symbols-rounded{font-size:16px}.profile{border-top:1px solid var(--line);padding:17px 5px 0;display:flex;align-items:center;gap:10px}.avatar,.top-avatar{display:grid;place-items:center;border-radius:50%;background:#ffe2d2;color:#c56d3c;font-weight:600}.avatar{width:37px;height:37px;font-size:15px}.profile strong{display:block;font-size:11px}.profile small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.icon-button{position:relative;width:36px;height:36px;border:0;background:transparent;color:#73778b;border-radius:50%;display:grid;place-items:center;cursor:pointer}.icon-button:hover{background:#f0f1f6}.profile .icon-button{margin-left:auto}.main{margin-left:252px;min-height:100vh}.topbar{height:68px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.72);display:flex;align-items:center;justify-content:space-between;padding:0 42px}.breadcrumbs{font-size:12px;color:#a0a2b1}.breadcrumbs span{padding:0 10px;color:#d0d1d9}.breadcrumbs strong{color:#45495d;font-weight:500}.top-actions{display:flex;align-items:center;gap:18px}.top-actions .icon-button i{position:absolute;width:6px;height:6px;border-radius:50%;background:#f17f69;right:7px;top:6px;border:1px solid white}.top-avatar{width:32px;height:32px;font-size:13px}.content{max-width:1280px;margin:auto;padding:34px 42px 26px}.welcome{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.eyebrow{display:flex;align-items:center;gap:7px;color:#8d91a4;font-size:11px}.eyebrow .material-symbols-rounded{font-size:16px;color:#eea753}.welcome h1{font-size:27px;letter-spacing:-.7px;margin:9px 0 4px;font-weight:600}.welcome p,.schedule-heading p,.courses-title p{color:var(--muted);font-size:12px;margin:0}.primary-button{height:42px;border:0;border-radius:12px;padding:0 17px;background:var(--purple);color:white;font:500 12px 'Sarabun',sans-serif;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-shadow:0 5px 12px #6255d92b;transition:.2s}.primary-button:hover{background:#5045c4;transform:translateY(-1px)}.primary-button .material-symbols-rounded{font-size:19px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:23px}.stat-card{min-height:100px;background:#fff;border:1px solid #f0f0f5;border-radius:15px;padding:17px 18px;display:flex;align-items:center;gap:12px;position:relative}.stat-icon{width:41px;height:41px;display:grid;place-items:center;border-radius:13px}.stat-icon .material-symbols-rounded{font-size:20px}.lavender{background:#f0efff;color:#7668db}.mint{background:#e8f7f2;color:#46aa8a}.peach{background:#fff1e8;color:#e69157}.stat-card div:nth-child(2)>span{display:block;color:#9699aa;font-size:10px;margin-bottom:4px}.stat-card strong{font-size:20px;font-weight:600;letter-spacing:-.3px}.stat-card strong small{font-size:11px;font-weight:400;color:#777b8e}.room-value{font-size:15px!important}.stat-note{position:absolute;right:14px;bottom:13px;color:#adafbc;font-size:9px}.schedule-card{background:white;border:1px solid #f0f0f5;border-radius:17px;padding:22px 22px 12px;box-shadow:0 5px 20px #25294a05}.schedule-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.schedule-heading h2,.courses-title h2{font-size:16px;font-weight:600;margin:0 0 4px}.schedule-heading p,.courses-title p{font-size:10px}.week-controls{display:flex;align-items:center;gap:5px;color:#55596d;font-size:11px}.week-controls .icon-button{width:29px;height:29px}.week-controls .material-symbols-rounded{font-size:19px}.today-button{margin-left:7px;border:1px solid #e9e9f1;border-radius:8px;padding:6px 10px;background:#fff;color:#666a7e;font:11px 'Sarabun',sans-serif;cursor:pointer}.today-button:hover{border-color:var(--purple);color:var(--purple)}.schedule-wrap{overflow-x:auto}.schedule-grid{min-width:700px;display:grid;grid-template-columns:54px repeat(5,1fr);border-top:1px solid var(--line)}.day-head{height:57px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;border-bottom:1px solid var(--line);color:#8e91a3;font-size:10px}.day-head strong{font-size:12px;color:#42465b;font-weight:500}.day-head.today strong{color:var(--purple);background:var(--soft-purple);border-radius:20px;padding:3px 8px}.time-head{border-bottom:1px solid var(--line)}.time-col,.day-col{position:relative;height:64px;border-bottom:1px solid #f0f1f5}.time-label{position:absolute;top:-7px;left:0;color:#a4a6b4;font-size:9px}.day-col{border-left:1px solid #f1f2f6}.class-block{position:absolute;left:5px;right:5px;border-radius:8px;padding:7px 8px;overflow:hidden;cursor:pointer;transition:filter .15s,transform .15s;z-index:1}.class-block:hover{filter:saturate(1.2);transform:scale(1.02);z-index:2}.class-block strong{display:block;font-size:10px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.class-block span{display:block;font-size:8px;margin-top:3px;opacity:.8}.course-purple{background:#efedff;color:#6457cd;border-left:3px solid #8375eb}.course-mint{background:#e8f7f1;color:#31896d;border-left:3px solid #57bc99}.course-peach{background:#fff0e8;color:#b76d3c;border-left:3px solid #ec9b69}.course-blue{background:#eaf3ff;color:#4e7bb4;border-left:3px solid #7eafe8}.schedule-footer{display:flex;justify-content:space-between;padding:13px 0 0;color:#a1a3b2;font-size:9px}.schedule-footer>span:first-child{display:flex;align-items:center;gap:6px}.live-dot{width:6px;height:6px;background:#ed8375;border-radius:50%}.courses{margin-top:26px}.courses-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.courses-title a{display:flex;align-items:center;gap:5px;text-decoration:none;color:var(--purple);font-size:10px;font-weight:500}.courses-title a .material-symbols-rounded{font-size:16px}.course-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.course-item{display:flex;align-items:center;gap:11px;background:white;border:1px solid #f0f0f5;border-radius:13px;padding:12px 14px}.course-color{width:4px;height:35px;border-radius:4px}.course-item-info{flex:1;min-width:0}.course-item-info strong{display:block;font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-item-info span,.course-time{color:#9a9dad;font-size:9px}.course-time{text-align:right;white-space:nowrap}.course-time strong{display:block;color:#5e6277;font-size:10px;font-weight:500;margin-bottom:3px}footer{margin-top:28px;color:#aaacba;font-size:9px;display:flex;justify-content:space-between}.menu-toggle,.scrim{display:none}dialog{border:0;border-radius:20px;padding:0;width:min(390px,calc(100% - 32px));box-shadow:0 20px 70px #24243b33;color:var(--ink)}dialog::backdrop{background:#25253c55;backdrop-filter:blur(3px)}.dialog-content{position:relative;padding:30px}.dialog-close{position:absolute;right:15px;top:14px}.dialog-icon{display:grid;place-items:center;width:45px;height:45px;background:var(--soft-purple);color:var(--purple);border-radius:14px;margin-bottom:17px}.dialog-content h2{font-size:19px;margin:8px 0}.dialog-content p{color:var(--muted);font-size:12px;margin-bottom:22px}.dialog-content>.primary-button{width:100%}@media(max-width:1100px){.content{padding:30px 25px}.topbar{padding:0 25px}.stats{gap:10px}.stat-card{padding:14px 12px}.stat-note{font-size:8px}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .25s ease;box-shadow:12px 0 30px #2222}.sidebar.open{transform:translateX(0)}.scrim.show{display:block;position:fixed;inset:0;background:#1c1d2f55;z-index:3}.main{margin-left:0}.topbar{height:58px;padding:0 16px;gap:10px}.menu-toggle{display:grid}.breadcrumbs{margin-right:auto}.top-actions{gap:10px}.content{padding:25px 16px}.welcome{align-items:flex-start;gap:14px}.welcome h1{font-size:22px}.welcome p{font-size:10px;max-width:230px}.welcome .primary-button{height:38px;padding:0 10px;font-size:10px;white-space:nowrap}.welcome .primary-button .material-symbols-rounded{font-size:17px}.stats{grid-template-columns:1fr;gap:9px}.stat-card{min-height:75px;padding:12px 14px}.stat-note{right:15px;bottom:15px}.schedule-card{padding:17px 14px 11px}.schedule-heading{align-items:flex-start;gap:10px;flex-direction:column;margin-bottom:14px}.schedule-heading h2,.courses-title h2{font-size:15px}.week-controls{align-self:stretch;justify-content:flex-start}.schedule-grid{min-width:650px}.course-list{grid-template-columns:1fr}.courses{margin-top:22px}footer{font-size:8px;gap:10px}footer span{text-align:right}.breadcrumbs{font-size:10px}.breadcrumbs span{padding:0 5px}}@media(max-width:380px){.welcome{flex-direction:column}.welcome .primary-button{align-self:flex-start}.top-avatar{display:none}}
