:root{--bg:#081826;--panel:#0e2232;--card:#102a3c;--line:#254253;--cyan:#53d0ef;--text:#edf8fb;--muted:#8ea7b5;--danger:#ff6b6b}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:#07131d;color:var(--text);display:flex;min-height:100vh}aside{width:240px;background:#06111a;border-right:1px solid #18303f;padding:28px 20px;position:fixed;top:0;bottom:0;display:flex;flex-direction:column}aside img{width:130px;margin-bottom:18px}aside b{letter-spacing:.18em;font-size:14px}aside span{font-size:9px;letter-spacing:.18em;color:var(--cyan);margin-top:5px}aside nav{margin-top:44px;display:flex;flex-direction:column;gap:6px}.tab{border:0;background:transparent;color:#78909c;text-align:left;padding:12px 0;font-size:10px;font-weight:800;letter-spacing:.12em;cursor:pointer}.tab.active,.tab:hover{color:#fff}.view,.logout{font-size:9px;letter-spacing:.12em;text-decoration:none}.view{margin-top:auto;color:var(--cyan)}.logout{margin-top:18px;color:#718693}.admin-main{margin-left:240px;flex:1;padding:34px 42px 80px;max-width:1500px}.admin-main>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.admin-main header small{color:var(--cyan);letter-spacing:.18em}.admin-main h1{font-size:30px;margin:5px 0}.admin-main header>span{font-size:9px;color:#62e3a2;border:1px solid #246a4b;border-radius:999px;padding:8px 12px}.panel{display:none}.panel.active{display:block}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.card{background:var(--panel);border:1px solid #19384a;border-radius:14px;padding:24px;margin-bottom:16px}.card.narrow{max-width:600px}.card h2{font-size:17px;margin:0 0 20px}.card p,.hint{color:var(--muted);font-size:12px;line-height:1.6}.card-head{display:flex;justify-content:space-between;gap:20px;align-items:center}label{display:block;font-size:10px;color:#9bb2bf;margin:13px 0;letter-spacing:.06em}input,textarea,select{width:100%;margin-top:7px;background:#081a28;border:1px solid #254454;color:#fff;border-radius:8px;padding:12px;font:13px Inter}textarea{min-height:90px;resize:vertical}.save,.small,.delete{border:0;border-radius:8px;font-weight:800;letter-spacing:.08em;cursor:pointer}.save{background:var(--cyan);color:#082031;padding:13px 18px;margin-top:12px}.small{background:#17374a;color:#aeeeff;padding:9px 12px}.delete{background:#40242a;color:#ff9ca6;padding:8px 10px;font-size:9px}.alert{padding:12px 15px;border-radius:8px;margin-bottom:18px;font-size:12px}.alert.ok{background:#123c31;color:#8ff1c7}.alert.err{background:#49242b;color:#ffbbc0}.island-row{display:grid;grid-template-columns:1fr 1fr 1.4fr 2fr auto;gap:10px;align-items:start;border-top:1px solid var(--line);padding:10px 0}.island-row textarea,.island-row input{margin:0}.remove{background:none;border:1px solid #5c3038;color:#ff8791;border-radius:7px;width:36px;height:42px}.preview-img{height:200px;width:100%;object-fit:cover;border-radius:10px;margin-bottom:12px}.media-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.media-grid img{width:100%;height:140px;object-fit:cover;border-radius:8px}.media-grid form{margin-top:6px}.period-editor{border:1px solid #254454;border-radius:12px;margin:14px 0;overflow:hidden}.period-top{display:flex;gap:10px;padding:12px;background:#0b1d2a;align-items:center}.period-top input{margin:0}.period-top button,.group-top button,.route-line button{width:auto}.group-editor{padding:12px;border-top:1px solid #254454}.group-top{display:flex;gap:10px;align-items:center}.group-top input{margin:0}
.group-order{display:flex;gap:6px;flex:0 0 auto}.move-group{width:36px!important;height:36px;border:1px solid #34718b;border-radius:8px;background:#102f42;color:#aeeeff;font-size:18px;font-weight:900;line-height:1;cursor:pointer}.move-group:hover:not(:disabled){background:#19445c;color:#fff}.move-group:disabled{opacity:.28;cursor:default}
.route-line{display:grid;grid-template-columns:1fr 1fr .7fr .7fr auto;gap:8px;margin-top:8px}.route-line input{margin:0}.login{display:grid;place-items:center;background:#06131e}.login-card{width:min(390px,90vw);padding:38px;background:#0e2232;border:1px solid #203d4d;border-radius:18px;text-align:center}.login-card img{width:150px;margin:0 auto 22px}.login-card h1{font-size:21px;letter-spacing:.16em;margin:0}.login-card p{font-size:10px;color:var(--cyan);letter-spacing:.18em}.login-card input{margin:20px 0 10px}.login-card button{width:100%;background:var(--cyan);border:0;padding:13px;border-radius:8px;font-weight:800}.login-card small{display:block;color:#68818f;font-size:9px;margin-top:18px}@media(max-width:900px){aside{width:100%;height:auto;position:relative}body{display:block}aside nav{flex-direction:row;flex-wrap:wrap;margin-top:20px}.admin-main{margin:0;padding:24px}.grid{grid-template-columns:1fr}.media-grid{grid-template-columns:1fr 1fr}.island-row{grid-template-columns:1fr}.route-line{grid-template-columns:1fr 1fr}.route-line button{grid-column:span 2}.view,.logout{margin-top:15px}}
.forgot-form{margin-top:12px}
.forgot-link{display:block;margin-top:12px;text-align:center;color:#8ea7c7;background:none!important;border:0!important;padding:6px!important;font-size:12px;text-decoration:none;cursor:pointer;letter-spacing:.4px}
.forgot-link:hover{color:#fff}


@media(max-width:900px){
  body{min-width:0;overflow-x:hidden}
  aside{box-sizing:border-box;padding:20px 16px}
  aside img{width:108px;margin-bottom:12px}
  aside nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
  .tab{padding:12px 10px;border:1px solid #19384a;border-radius:8px;text-align:center;background:#0b1d2a}
  .tab.active{background:#17374a}
  .view,.logout{display:inline-flex;min-height:40px;align-items:center}
  .admin-main{padding:20px 12px 60px;min-width:0}
  .admin-main>header{align-items:flex-start;gap:14px}
  .admin-main h1{font-size:24px}
  .card{padding:18px 14px;border-radius:12px;min-width:0}
  .card-head{align-items:flex-start;flex-direction:column}
  input,textarea,select,.save,.small{font-size:16px;min-height:44px}
  textarea{min-height:110px}
  .media-grid{grid-template-columns:1fr 1fr}
  .period-top,.group-top{flex-direction:column;align-items:stretch}
  .period-top button,.group-top button{width:100%}
  .route-line{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  aside nav{grid-template-columns:1fr}
  .media-grid{grid-template-columns:1fr}
  .route-line{grid-template-columns:1fr}
  .route-line button{grid-column:auto}
  .admin-main>header{flex-direction:column}
  .island-row{grid-template-columns:1fr}
  .login-card{width:calc(100vw - 24px);padding:28px 18px}
}

.checkline{display:flex;align-items:center;gap:10px}.checkline input{width:auto;margin:0}

.period-order{display:flex;gap:6px;flex:0 0 auto}.move-period{width:36px!important;height:36px;border:1px solid #53a0bd;border-radius:8px;background:#12364a;color:#c5f3ff;font-size:18px;font-weight:900;line-height:1;cursor:pointer}.move-period:hover:not(:disabled){background:#1d506a;color:#fff}.move-period:disabled{opacity:.28;cursor:default}
@media(max-width:900px){.period-order{width:100%}.period-order .move-period{flex:1;width:auto!important}}
