:root{
  --bg:#f5f7fb;--card:#fff;--text:#172033;--muted:#687386;--line:#e4e8ef;
  --accent:#3867e8;--accent2:#eaf0ff;--danger:#c43c3c;--shadow:0 8px 28px rgba(30,45,75,.07);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.container{max-width:1320px;margin:0 auto;padding:28px 18px 50px}
header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
h1{margin:0 0 3px;font-size:28px}
h2{margin:0;font-size:20px}
.muted{margin:0;color:var(--muted)}
.card,.empty,.status,.notice{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.search-card{padding:20px}
label{font-weight:600}
.search-row{display:flex;gap:10px;margin-top:8px}
input{border:1px solid var(--line);border-radius:9px;padding:11px 12px;background:var(--card);color:var(--text);font:inherit}
#group{flex:1;font-size:16px}
button{border:0;border-radius:9px;padding:11px 16px;background:var(--accent);color:#fff;font:600 15px inherit;cursor:pointer}
button:disabled{opacity:.6;cursor:wait}
.icon-btn{padding:9px 12px;background:var(--card);color:var(--text);border:1px solid var(--line)}
.settings{display:flex;gap:24px;align-items:center;margin-top:14px;color:var(--muted);font-weight:400}
.settings label{font-weight:400}
.settings input[type=checkbox]{accent-color:var(--accent)}
.date-fields{display:flex;gap:12px;align-items:center}
.date-fields label{display:flex;gap:6px;align-items:center;font-weight:400}
.date-fields input{padding:6px 8px}
.status{margin-top:14px;padding:13px 16px}
.status.error{color:var(--danger)}
.hidden{display:none!important}
.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}
.stat{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.stat span{display:block;color:var(--muted);font-size:13px}
.stat strong{display:block;margin-top:3px;font-size:19px}
#result{margin-top:14px;overflow:hidden}
.table-head{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:18px;border-bottom:1px solid var(--line)}
.table-head>div{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.updated{font-size:12px;color:var(--muted)}
#filter{width:280px}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;min-width:1180px}
th,td{padding:13px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:13px;color:var(--muted);font-weight:700;background:rgba(0,0,0,.015)}
tbody tr:hover{background:var(--accent2)}
.subject-name{font-weight:700;min-width:260px}
.num{text-align:center;white-space:nowrap;font-weight:650}
.nearest,.until-start,.finish{min-width:145px;white-space:nowrap}
.nearest strong,.finish strong{font-size:14px}
.platform-link{color:var(--accent);font-weight:650;text-decoration:none;white-space:nowrap}
.platform-link:hover{text-decoration:underline}
.teachers{min-width:270px}
.platform{min-width:110px;white-space:nowrap}
.teacher-line{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:baseline;padding:2px 0}
.teacher-line strong{white-space:nowrap}
.notice{margin-top:14px;padding:14px 16px;box-shadow:none}
.notice-title{font-weight:750;margin-bottom:4px}
.notice-text{color:var(--muted);font-size:13px}
.notice code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.empty{padding:40px;text-align:center;margin-top:14px}
footer{display:flex;gap:8px;justify-content:center;color:var(--muted);font-size:12px;margin-top:25px}
@media(max-width:750px){
  .search-row{flex-direction:column}
  .settings{flex-direction:column;align-items:flex-start;gap:10px}
  .date-fields{flex-wrap:wrap}
  .summary{grid-template-columns:repeat(2,1fr)}
  .table-head{flex-direction:column;align-items:stretch}
  #filter{width:100%}
}
.dark{
  --bg:#10131a;--card:#181c24;--text:#eef2f8;--muted:#9aa5b5;--line:#2a313e;
  --accent:#6d91ff;--accent2:#202b48;--shadow:0 8px 28px rgba(0,0,0,.2)
}
.dark th{background:rgba(255,255,255,.025)}
