:root{
  --navy:#171a2a;
  --navy2:#202334;
  --navy3:#292c3c;
  --gold:#c89532;
  --gold2:#e1b95c;
  --gold-soft:#fff8e8;
  --gold-line:#ead7a8;
  --bg:#f5f6f9;
  --card:#fff;
  --text:#181b29;
  --muted:#8d92a2;
  --line:#e7e8ed;
  --green:#2f9a70;
  --red:#c95959;
  --shadow:0 18px 48px rgba(23,26,42,.055);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Manrope,Arial,sans-serif;color:var(--text);background:var(--bg)}
body{font-size:14px}
button,select,input{font:inherit}
button,a{outline:none}
a{text-decoration:none;color:inherit}
svg{display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
[hidden]{display:none!important}
.app{min-height:100vh;display:flex}
.sidebar{position:fixed;z-index:30;inset:0 auto 0 0;width:304px;display:flex;flex-direction:column;background:var(--navy);color:#fff}
.sidebar__head{height:96px;display:flex;align-items:center;padding:0 26px;border-bottom:1px solid rgba(255,255,255,.065)}
.brand img{display:block;max-width:194px;max-height:58px;object-fit:contain}
.sidebar__context{margin:21px 20px 19px;padding:16px 14px;display:flex;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.085);border-radius:18px;background:rgba(255,255,255,.035)}
.avatar,.profile__avatar{display:grid;place-items:center;flex:0 0 auto;width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,#efc866,#bd8529);color:#1b1d2a;font-weight:800}
.sidebar__context-copy{min-width:0}
.sidebar__context-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.sidebar__context-copy span{display:block;margin-top:4px;color:#8f95a9;font-size:12px}
.menu{padding:3px 15px}
.menu__caption{padding:14px 13px 9px;color:#7f87a2;font-size:11px;font-weight:800;letter-spacing:.12em}
.menu__caption--space{margin-top:12px}
.menu__link{position:relative;display:flex;align-items:center;gap:13px;min-height:52px;margin:2px 0;padding:0 14px;border-radius:12px;color:#c2c7d6;font-weight:700;transition:.18s ease}
.menu__link:hover{background:rgba(255,255,255,.04);color:#fff}
.menu__link.active{background:rgba(255,255,255,.075);color:#fff}
.menu__link.active:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:4px;background:var(--gold2)}
.menu__icon{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:rgba(255,255,255,.055);color:#afb5c7}
.menu__icon svg{width:17px;height:17px}
.menu__link.active .menu__icon{background:rgba(214,174,80,.12);color:var(--gold2)}
.menu__icon--dots{display:flex;gap:3px}
.menu__icon--dots b{width:3px;height:3px;border-radius:50%;background:currentColor}
.sidebar__footer{margin-top:auto;padding:13px 15px 24px;border-top:1px solid rgba(255,255,255,.065)}
.workspace{width:calc(100% - 304px);margin-left:304px;min-height:100vh}
.topbar{position:relative;z-index:20;height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 39px;background:#fff;border-bottom:1px solid #e9e9ed}
.topbar__title span{display:block;color:#979baa;font-size:11px;font-weight:800;letter-spacing:.08em}
.topbar__title strong{display:block;margin-top:7px;font-size:13px}
.topbar__actions{display:flex;align-items:center;gap:15px}
.language{display:flex;align-items:center;padding:4px;border:1px solid #e2e3e8;border-radius:14px;background:#f9f9fa}
.language button{width:55px;height:39px;border:0;border-radius:10px;background:transparent;color:#838895;font-size:12px;font-weight:800;cursor:pointer}
.language button.active{background:linear-gradient(135deg,#e5bd61,#c48e31);color:#282216}
.profile{position:relative}
.profile__button{display:flex;align-items:center;gap:11px;border:0;background:transparent;cursor:pointer;text-align:left}
.profile__avatar{width:42px;height:42px;border-radius:12px}
.profile__copy{min-width:0;max-width:210px}
.profile__copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.profile__copy small{display:block;margin-top:4px;color:#979ba9;font-size:11px}
.profile__chevron{width:18px;height:18px;color:#999eaa}
.profile__menu{position:absolute;right:0;top:54px;display:none;width:215px;padding:8px;border:1px solid #e7e7eb;border-radius:14px;background:#fff;box-shadow:0 18px 50px rgba(17,20,35,.14)}
.profile.open .profile__menu{display:block}
.profile__menu a{display:block;padding:10px 12px;border-radius:9px;color:#545968;font-size:12px;font-weight:700}
.profile__menu a:hover{background:#f5f6f8}
.topbar__mobile-brand{display:none}
.main{padding:38px 39px 72px}
.intro{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;margin-bottom:24px}
.intro__eyebrow{margin:0 0 10px;color:#b57d1b;font-size:12px;font-weight:800;letter-spacing:.09em}
.intro h1{margin:0;font-size:44px;line-height:1.08;letter-spacing:-.055em}
.intro h1 span:last-child{color:#c79332}
.intro__lead{margin:11px 0 0;color:#8f94a3;font-size:13px}
.intro__meta{display:flex;align-items:stretch;gap:12px}
.connection-card,.date-card{display:flex;align-items:center;gap:11px;min-width:236px;min-height:72px;padding:13px 16px;border:1px solid #e7e8ec;border-radius:16px;background:#fff;box-shadow:0 9px 24px rgba(26,29,43,.025)}
.connection-card__dot{width:9px;height:9px;border-radius:50%;background:#aeb3bf;box-shadow:0 0 0 5px rgba(170,175,188,.11)}
.connection-card[data-state="ready"] .connection-card__dot{background:var(--green);box-shadow:0 0 0 5px rgba(47,154,112,.11)}
.connection-card[data-state="error"] .connection-card__dot{background:var(--red);box-shadow:0 0 0 5px rgba(201,89,89,.11)}
.connection-card strong,.date-card strong{display:block;font-size:12px}
.connection-card small,.date-card small{display:block;margin-bottom:5px;color:#999daa;font-size:10px}
.date-card{min-width:210px}
.date-card__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#fff6e2;color:#ae7419}
.date-card__icon svg{width:18px;height:18px}
.data-state{display:none;align-items:center;gap:10px;margin:-7px 0 18px;padding:10px 14px;border:1px solid #e6e7eb;border-radius:12px;background:#fff;color:#6f7482;font-size:11px}
.data-state.show{display:flex}
.data-state.is-error{border-color:#f0d4d0;background:#fff8f7;color:#a34c45}
.data-state__spinner{width:14px;height:14px;border:2px solid #ddd;border-top-color:#bd892d;border-radius:50%;animation:spin .8s linear infinite}
.data-state.is-error .data-state__spinner{animation:none;border:0;background:#c95959}
@keyframes spin{to{transform:rotate(360deg)}}
.next-card{position:relative;overflow:hidden;margin-bottom:19px;padding:29px 28px;border:1px solid var(--gold-line);border-radius:25px;background:linear-gradient(105deg,#fffdf8,#fff8e9);box-shadow:0 15px 36px rgba(122,92,31,.045)}
.next-card:after{content:"";position:absolute;right:-46px;top:-74px;width:190px;height:190px;border:1px solid rgba(202,157,63,.16);border-radius:50%}
.next-card__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:25px;align-items:center}
.next-card__label{display:flex;align-items:center;gap:8px;color:#9e711f;font-size:11px;font-weight:800;letter-spacing:.055em}
.next-card__dot{width:8px;height:8px;border-radius:50%;background:#d7dbe3;box-shadow:0 0 0 5px rgba(214,218,225,.18)}
.next-card:not(.is-empty) .next-card__dot{background:#c9932f;box-shadow:0 0 0 5px rgba(201,147,47,.11)}
.next-card h2{margin:11px 0 0;font-size:25px;line-height:1.2;letter-spacing:-.035em}
.next-card__meta{margin-top:9px;color:#858a99;font-size:12px}
.next-card__topic{margin-top:15px;padding-top:13px;border-top:1px solid rgba(193,151,67,.15)}
.next-card__topic small{display:block;color:#aa8132;font-size:10px;font-weight:800;text-transform:uppercase}
.next-card__topic strong{display:block;margin-top:5px;font-size:12px}
.next-card__side{display:flex;align-items:center;gap:9px}
.time-pill,.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border:1px solid #dedfe4;border-radius:11px;background:#fff;font-size:11px;font-weight:800}
.time-pill{border-color:#e8d19f;background:#fffdf7;color:#805e20}
.btn--gold{border-color:#be8a2f;background:linear-gradient(135deg,#e3bb5f,#bd872c);color:#272114}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:19px;padding:16px;border-radius:20px;background:#fff;box-shadow:var(--shadow)}
.view-tabs{display:flex;padding:4px;border-radius:13px;background:#f0f1f4}
.view-tab{min-width:100px;height:39px;padding:0 14px;border:0;border-radius:10px;background:transparent;color:#686d7c;font-size:11px;font-weight:800;cursor:pointer}
.view-tab.active{background:#fff;color:#202331;box-shadow:0 5px 15px rgba(26,29,43,.06)}
.toolbar__right{display:flex;align-items:center;gap:10px}
.date-nav{display:flex;align-items:center;gap:7px}
.icon-btn{display:grid;place-items:center;width:42px;height:42px;border:1px solid #e3e4e8;border-radius:11px;background:#fff;color:#8a8f9c;cursor:pointer}
.icon-btn svg{width:16px;height:16px}
.period-label{display:grid;place-items:center;min-width:216px;height:42px;padding:0 14px;border:1px solid #e3e4e8;border-radius:11px;background:#fff;font-size:11px;font-weight:800}
.filter-select{height:42px;min-width:180px;padding:0 36px 0 13px;border:1px solid #e3e4e8;border-radius:11px;background:#fff;color:#4e5362;font-size:11px;font-weight:700}
.panel{padding:24px;border-radius:23px;background:#fff;box-shadow:var(--shadow)}
.panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:18px}
.panel__head h2{margin:0;font-size:20px;letter-spacing:-.03em}
.panel__head p{margin:5px 0 0;color:#9a9eac;font-size:11px}
.legend{display:flex;align-items:center;gap:10px}
.legend>span{display:flex;align-items:center;gap:8px;min-height:39px;padding:0 13px;border-radius:20px;background:#f8f8f9;color:#747987;font-size:10px;font-weight:700}
.legend i{width:7px;height:7px;border-radius:50%;background:#b9bec9}
.legend .done i{background:#339b72}
.legend .next i{background:#c69434}
.lesson-list{border-top:1px solid #ececef}
.lesson-row{display:grid;grid-template-columns:92px minmax(0,1fr) 160px 126px;align-items:center;gap:13px;padding:17px 5px;border-bottom:1px solid #eeeeF1}
.lesson-row:last-child{border-bottom:0}
.lesson-row__time strong{display:block;font-size:14px}
.lesson-row__time span{display:block;margin-top:3px;color:#a0a4b0;font-size:10px}
.lesson-row__copy strong{display:block;font-size:12px}
.lesson-row__copy span{display:block;margin-top:5px;color:#8d92a0;font-size:10px}
.lesson-row__room{color:#707584;font-size:11px}
.status-chip{justify-self:end;display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:16px;background:#f5f6f8;color:#737887;font-size:10px;font-weight:800}
.status-chip:before{content:"";width:7px;height:7px;border-radius:50%;background:#bbc0cb}
.status-chip.done:before{background:#359d74}
.status-chip.next:before{background:#c89635}
.empty-block{padding:30px;border:1px dashed #e1e3e9;border-radius:14px;text-align:center;color:#a0a4b0;font-size:11px}
.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.week-day{min-height:210px;padding:13px;border:1px solid #e7e8ec;border-radius:15px;background:#fafafb}
.week-day.today{border-color:#e2c98c;background:#fffbf2}
.week-day__head{display:flex;justify-content:space-between;gap:8px;padding-bottom:10px;border-bottom:1px solid #ececf0}
.week-day__head strong{font-size:11px}
.week-day__head span{color:#999eab;font-size:10px}
.week-lesson{margin-top:9px;padding:9px;border-radius:10px;background:#fff;box-shadow:0 5px 13px rgba(29,32,45,.04)}
.week-lesson time{color:#b57e22;font-size:9px;font-weight:800}
.week-lesson strong{display:block;margin-top:4px;font-size:10px;line-height:1.35}
.week-lesson span{display:block;margin-top:3px;color:#969aa7;font-size:9px}
.calendar-wrap{overflow:auto}
.calendar-head,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr))}
.calendar-head span{padding:10px;text-align:center;color:#8d92a0;font-size:10px;font-weight:800}
.calendar-day{min-height:112px;padding:10px;border-top:1px solid #ebecf0;border-right:1px solid #ebecf0;background:#fff}
.calendar-day:nth-child(7n+1){border-left:1px solid #ebecf0}
.calendar-day.is-other{background:#fafafb;color:#b2b6c0}
.calendar-day.is-today{background:#fffaf0}
.calendar-day__num{font-size:10px;font-weight:800}
.calendar-event{margin-top:6px;padding:5px 7px;border-radius:7px;background:#f6f1e5;color:#7e6128;font-size:8px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-fab{position:fixed;z-index:25;right:37px;bottom:26px;display:grid;place-items:center;width:62px;height:62px;border-radius:18px;background:linear-gradient(135deg,#e4bc5e,#be882c);color:#1c1e2b;font-weight:800;box-shadow:0 14px 30px rgba(160,113,30,.22)}
.mobile-nav{display:none}
@media(max-width:1260px){
  .sidebar{width:254px}.workspace{width:calc(100% - 254px);margin-left:254px}
  .main,.topbar{padding-left:28px;padding-right:28px}
  .intro{flex-direction:column}.intro__meta{width:100%}
  .connection-card,.date-card{flex:1}
  .toolbar{align-items:flex-start;flex-direction:column}
  .toolbar__right{width:100%;flex-wrap:wrap}
  .week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:900px){
  .sidebar{display:none}.workspace{width:100%;margin-left:0}
  .topbar{height:74px;padding:0 17px}.topbar__title{display:none}.topbar__mobile-brand{display:block}
  .topbar__mobile-brand img{max-width:150px;max-height:42px}.profile__copy{display:none}
  .main{padding:24px 16px 100px}.intro h1{font-size:36px}.intro__meta{flex-direction:column}
  .next-card__grid{grid-template-columns:1fr}.next-card__side{flex-wrap:wrap}
  .toolbar__right{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .date-nav{grid-column:1/-1}.period-label{flex:1}
  .filter-select{width:100%;min-width:0}
  .lesson-row{grid-template-columns:75px 1fr auto}.lesson-row__room{display:none}
  .week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mobile-nav{position:fixed;z-index:35;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);height:68px;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid #e7e8ec;background:#fff}
  .mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#9297a4;font-size:14px}
  .mobile-nav b{font-size:8px}.mobile-nav a.active{color:#b77f22}
  .ai-fab{right:18px;bottom:82px;width:52px;height:52px;border-radius:16px}
}
@media(max-width:560px){
  .language button{width:42px}.intro h1{font-size:31px}.intro__lead{line-height:1.5}
  .toolbar{padding:12px}.view-tabs{width:100%}.view-tab{flex:1;min-width:0}
  .toolbar__right{grid-template-columns:1fr}.date-nav,.filter-select{grid-column:1}
  .period-label{min-width:0}
  .panel{padding:16px}.panel__head{flex-direction:column}.legend{flex-wrap:wrap}
  .lesson-row{grid-template-columns:65px 1fr}.status-chip{grid-column:2;justify-self:start}.week-grid{grid-template-columns:1fr}
}
