:root{
  --navy:#082f3a;--navy-2:#0b3d49;--petrol:#0e7c82;--petrol-dark:#09656b;--mint:#ccefe8;
  --ink:#15323a;--muted:#70868d;--bg:#f3f7f7;--card:#fff;--line:#e3ecec;--soft:#edf5f4;
  --shadow:0 18px 45px rgba(16,57,66,.08);--radius:24px;--sidebar:248px;
}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}button{font:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:linear-gradient(180deg,var(--navy) 0%,#062a34 100%);padding:26px 18px 18px;color:#fff;display:flex;flex-direction:column;z-index:30}.brand-block{display:flex;align-items:center;gap:12px;padding:0 10px 28px}.brand-mark{width:44px;height:44px;border-radius:15px;background:linear-gradient(145deg,#1eb0a3,#0d7d83);display:grid;place-items:center;box-shadow:0 10px 28px rgba(15,178,164,.26)}.brand-mark span{font-weight:900;letter-spacing:-.08em}.brand-block strong{display:block;font-size:20px;letter-spacing:-.04em}.brand-block small{display:block;color:#9cb9bf;font-size:11px;margin-top:2px;letter-spacing:.08em;text-transform:uppercase}.side-nav{display:grid;gap:5px}.nav-item{width:100%;border:0;background:transparent;color:#b8cdd1;display:flex;align-items:center;gap:13px;padding:12px 13px;border-radius:13px;cursor:pointer;text-align:left;transition:.2s}.nav-item svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-item span{flex:1;font-weight:700;font-size:14px}.nav-item b{font-size:10px;min-width:22px;height:22px;border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.1);color:#dbeaec}.nav-item:hover{background:rgba(255,255,255,.06);color:#fff}.nav-item.active{background:linear-gradient(135deg,rgba(40,188,174,.22),rgba(255,255,255,.07));color:#fff;box-shadow:inset 0 0 0 1px rgba(123,231,218,.12)}.nav-item.active:before{content:"";width:4px;height:22px;border-radius:999px;background:#55d4c6;margin-left:-13px;margin-right:9px}.sidebar-bottom{margin-top:auto}.profile-mini{margin-top:12px;padding:13px 10px 2px;border-top:1px solid rgba(255,255,255,.08);display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.avatar{width:36px;height:36px;border-radius:12px;background:linear-gradient(145deg,#f0d8b9,#d2a878);color:#573d26;font-weight:900;display:grid;place-items:center;font-size:12px}.profile-mini strong{font-size:12px;display:block}.profile-mini small{color:#9ebbc0;font-size:10px}.dot{width:7px;height:7px;border-radius:50%;background:#53d39a;display:inline-block;margin-right:5px}.profile-mini button{border:0;background:none;color:#91aeb4;padding:4px}.profile-mini svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}.main-content{margin-left:var(--sidebar);padding:28px 34px 46px;max-width:1680px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.kicker{margin:0 0 5px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.topbar h1{margin:0;font-size:28px;letter-spacing:-.04em}.topbar h1 span{font-size:24px}.top-actions{display:flex;align-items:center;gap:10px}.online-pill{height:38px;padding:0 13px;border:1px solid var(--line);background:var(--card);border-radius:999px;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;color:#4e696f}.online-pill span{width:8px;height:8px;background:#4dce91;border-radius:50%;box-shadow:0 0 0 4px rgba(77,206,145,.13)}.icon-button{width:40px;height:40px;border-radius:13px;border:1px solid var(--line);background:var(--card);display:grid;place-items:center;cursor:pointer;position:relative;color:#4a6870}.icon-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.notification span{position:absolute;right:-3px;top:-4px;width:18px;height:18px;border-radius:50%;background:#e56c69;color:white;font-size:9px;display:grid;place-items:center;border:2px solid var(--bg)}.avatar.large{width:40px;height:40px;border-radius:13px}.mobile-menu{display:none}.hero-card{background:linear-gradient(132deg,#0b3945 0%,#0d5560 62%,#0c6d72 100%);border-radius:28px;padding:30px 32px;color:#fff;display:grid;grid-template-columns:1.05fr 1fr;gap:30px;box-shadow:0 20px 55px rgba(8,47,58,.17);position:relative;overflow:hidden}.hero-card:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-110px;top:-175px;background:rgba(111,221,205,.09);box-shadow:0 0 0 55px rgba(111,221,205,.04)}.hero-copy{position:relative;z-index:1}.eyebrow,.section-label{display:block;font-size:10px;font-weight:900;letter-spacing:.15em;color:#65d4c6;margin-bottom:9px}.hero-copy h2{font-size:32px;line-height:1.15;letter-spacing:-.045em;margin:0 0 9px}.hero-copy h2 strong{color:#8ce0d5}.hero-copy p{color:#c4d9dc;max-width:520px;line-height:1.55;margin:0 0 22px}.primary-button,.secondary-button{border:0;border-radius:14px;padding:12px 16px;font-weight:850;display:inline-flex;align-items:center;justify-content:center;gap:9px;cursor:pointer}.primary-button{background:#fff;color:var(--navy)}.primary-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}.hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:center;position:relative;z-index:1}.hero-stats article{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.11);border-radius:18px;padding:17px;min-height:112px;backdrop-filter:blur(8px)}.hero-stats .next{grid-column:1/-1;min-height:90px}.hero-stats span,.hero-stats small{display:block;color:#bcd1d5;font-size:11px}.hero-stats strong{display:block;margin:7px 0 5px;font-size:18px}.progress{height:6px;background:rgba(255,255,255,.14);border-radius:999px;overflow:hidden;margin-top:12px}.progress i{display:block;height:100%;background:#70dbcf;border-radius:999px}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.metric-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:18px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;box-shadow:0 8px 25px rgba(16,57,66,.035)}.metric-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center}.metric-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8}.metric-icon.mint{background:#e3f7f2;color:#15877f}.metric-icon.blue{background:#e8f0fb;color:#507db5}.metric-icon.amber{background:#fff1da;color:#b8812d}.metric-icon.rose{background:#fbe9e8;color:#ba6864}.metric-card span{display:block;color:var(--muted);font-size:11px;font-weight:750}.metric-card strong{font-size:25px;line-height:1;margin:5px 0;display:block}.metric-card small{color:#91a3a8;font-size:10px}.metric-card>button{width:30px;height:30px;border:0;border-radius:10px;background:#f3f7f7;color:#7f9499;display:grid;place-items:center}.metric-card>button svg,.text-button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,.88fr);gap:18px}.right-column{display:grid;gap:18px;align-content:start}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.schedule-panel{padding:22px 22px 8px}.quick-panel,.exam-panel,.note-panel{padding:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-head.compact{margin-bottom:16px}.panel-head h3{margin:0;font-size:19px;letter-spacing:-.03em}.text-button{border:0;background:none;color:var(--petrol);font-weight:800;font-size:12px;display:flex;align-items:center;gap:5px;cursor:pointer}.timeline{display:grid}.appointment{display:grid;grid-template-columns:62px 18px 1fr;gap:9px;min-height:96px}.time{text-align:right;padding-top:12px}.time strong{display:block;font-size:12px}.time span{display:block;color:#9aabb0;font-size:10px;margin-top:4px}.line{position:relative;display:flex;justify-content:center}.line:before{content:"";width:1px;background:#dce8e8;position:absolute;top:0;bottom:0}.line i{width:9px;height:9px;border-radius:50%;background:#aec2c5;border:2px solid #fff;box-shadow:0 0 0 1px #c8d8da;margin-top:15px;z-index:1}.appointment.active .line i{background:#1da693;box-shadow:0 0 0 4px #def4ef}.appointment-card{margin-bottom:12px;border:1px solid var(--line);border-radius:17px;padding:13px;display:grid;grid-template-columns:1.25fr 1fr auto;align-items:center;gap:12px;transition:.2s}.appointment.active .appointment-card{border-color:#bce3dc;background:#f8fcfb;box-shadow:0 8px 22px rgba(13,124,130,.06)}.appointment-main,.exam-person{display:flex;align-items:center;gap:10px}.student-avatar{width:38px;height:38px;border-radius:12px;background:#d7eee8;color:#1b706d;display:grid;place-items:center;font-weight:900;font-size:11px}.student-avatar.lilac{background:#ebe8f7;color:#6f62a5}.student-avatar.peach{background:#f8e9dc;color:#9b6740}.student-avatar.amber-bg{background:#fff0d5;color:#9c6b21}.appointment-main strong,.exam-person strong{display:block;font-size:13px}.appointment-main span,.exam-person span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.location{font-size:10px;color:#7b9197;display:flex;align-items:center;gap:5px}.location svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2}.status-pill{font-size:9px;font-weight:850;padding:6px 9px;border-radius:999px;background:#dff5ef;color:#13766b;white-space:nowrap}.status-pill.quiet{background:#f0f4f4;color:#7a9095}.break-card{height:48px;border:1px dashed #ccdada;border-radius:14px;display:flex;align-items:center;gap:8px;padding:0 13px;color:#84989d;font-size:11px}.break-card svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-grid button{border:1px solid var(--line);background:#fbfdfd;border-radius:16px;padding:14px;text-align:left;cursor:pointer;transition:.2s}.quick-grid button:hover{transform:translateY(-2px);border-color:#bddbd8;box-shadow:0 8px 18px rgba(16,57,66,.07)}.quick-grid button>span{width:34px;height:34px;border-radius:11px;background:#e5f5f2;color:var(--petrol);display:grid;place-items:center;margin-bottom:11px}.quick-grid svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}.quick-grid strong{display:block;font-size:11px}.quick-grid small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.date-badge{padding:7px 9px;border-radius:10px;background:#edf7f5;color:var(--petrol);font-size:10px;font-weight:900}.exam-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:15px 0}.exam-meta div{background:#f7fafa;border-radius:12px;padding:10px}.exam-meta span{display:block;font-size:9px;color:var(--muted)}.exam-meta strong{font-size:10px}.secondary-button{width:100%;background:#e8f4f2;color:var(--petrol-dark);font-size:11px}.note-panel p{font-size:12px;line-height:1.55;color:#647b81;margin:0 0 16px}.more{border:0;background:none;color:#9aabb0;letter-spacing:2px}.note-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px}.note-footer span{display:flex;align-items:center;gap:5px;font-size:9px;color:#8ba0a5}.note-footer svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2}.note-footer button{border:0;background:none;color:var(--petrol);font-size:10px;font-weight:850}.toast{position:fixed;right:24px;bottom:24px;background:var(--navy);color:#fff;padding:13px 17px;border-radius:14px;box-shadow:0 16px 45px rgba(8,47,58,.3);font-size:12px;font-weight:700;transform:translateY(25px);opacity:0;pointer-events:none;transition:.25s;z-index:100}.toast.show{transform:none;opacity:1}.overlay{display:none}
body.dark{--bg:#0d2025;--card:#132a30;--line:#244047;--ink:#ecf7f7;--muted:#92a9ae;--soft:#19343a}.dark .metric-card,.dark .panel,.dark .online-pill,.dark .icon-button{box-shadow:none}.dark .appointment-card,.dark .quick-grid button{background:#10262b}.dark .appointment.active .appointment-card{background:#12312f}.dark .break-card{border-color:#335158}.dark .exam-meta div{background:#10262b}.dark .status-pill.quiet{background:#1d383e;color:#a9bdc1}
@media(max-width:1180px){.metrics-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.right-column{grid-template-columns:1fr 1fr}.note-panel{grid-column:1/-1}}
@media(max-width:820px){:root{--sidebar:0px}.sidebar{transform:translateX(-100%);width:248px;transition:.25s}.sidebar.open{transform:none}.main-content{margin-left:0;padding:18px}.mobile-menu{display:grid;width:40px;height:40px;border:1px solid var(--line);background:var(--card);border-radius:12px;place-items:center;margin-right:10px}.topbar{align-items:flex-start}.topbar>div:first-of-type{flex:1}.online-pill,.top-actions .avatar{display:none}.hero-card{grid-template-columns:1fr}.right-column{grid-template-columns:1fr}.note-panel{grid-column:auto}.overlay{position:fixed;inset:0;background:rgba(5,26,32,.45);z-index:20}.overlay.show{display:block}}
@media(max-width:620px){.main-content{padding:14px}.topbar h1{font-size:21px}.kicker{font-size:9px}.top-actions{gap:6px}.icon-button{width:36px;height:36px}.hero-card{padding:23px;border-radius:22px}.hero-copy h2{font-size:27px}.hero-stats{grid-template-columns:1fr}.hero-stats .next{grid-column:auto}.metrics-grid{grid-template-columns:1fr}.appointment{grid-template-columns:52px 14px 1fr}.appointment-card{grid-template-columns:1fr;gap:8px}.status-pill{justify-self:start}.location{padding-left:48px}.quick-grid{grid-template-columns:1fr 1fr}.panel{border-radius:20px}.schedule-panel{padding:18px 13px 4px}.panel-head h3{font-size:17px}}
