/* ===== KWizard UI — стиль из контентоделки (тёмная тема, Montserrat, акцент #609378) ===== */
/* Шрифты (относительно расположения этого css → ./fonts/...) */
@font-face { font-family:'Montserrat'; font-style:normal; font-weight:300; src:url('./fonts/Montserrat-Light.ttf') format('truetype'); }
@font-face { font-family:'Montserrat'; font-style:normal; font-weight:400; src:url('./fonts/Montserrat-Regular.ttf') format('truetype'); }
@font-face { font-family:'Montserrat'; font-style:normal; font-weight:500; src:url('./fonts/Montserrat-Medium.ttf') format('truetype'); }
@font-face { font-family:'Montserrat'; font-style:normal; font-weight:600; src:url('./fonts/Montserrat-SemiBold.ttf') format('truetype'); }
@font-face { font-family:'Montserrat'; font-style:normal; font-weight:700; src:url('./fonts/Montserrat-Bold.ttf') format('truetype'); }
@font-face { font-family:'Montserrat'; font-style:normal; font-weight:800; src:url('./fonts/Montserrat-ExtraBold.ttf') format('truetype'); }

:root{
  --bg:#1E1E1E;            /* фон */
  --accent:#2C2C2C;        /* карточки/сайдбар */
  --border:#424242;        /* границы/инпуты */
  --white:#FFF;
  --green:#609378;         /* акцент */
  --green-dark:#304a3c;
  --red:#E31E24;
  --red-delete:#c6262a;
  --orange:#D87403;
  --hint:#A6A6A6;
  --row-even:#262626;
}

*,*::before,*::after{ margin:0; padding:0; border:0; box-sizing:border-box; }

html,body{
  background:var(--bg); color:var(--white);
  font-family:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:15px; line-height:normal; min-height:100vh;
}
a{ color:var(--green); text-decoration:none; }
a:hover{ filter:brightness(1.15); }
ul,ol,li{ list-style:none; }
h1,h2,h3,h4{ font-family:'Montserrat'; font-weight:600; }
h2{ font-size:20px; } h3{ font-size:16px; }

/* ===== Раскладка: сайдбар + контент ===== */
.layout{ display:grid; grid-template-columns:300px 1fr; min-height:100vh; }
.sidebar{
  background:var(--accent); padding:20px 25px;
  display:flex; flex-direction:column; gap:20px;
}
.sidebar__logo{ display:flex; align-items:center; gap:12px; padding:5px 0 15px; }
.sidebar__logo figure{ display:flex; }
.sidebar__logo .brand{ font-weight:700; font-size:18px; }
.sidebar__nav{ display:flex; flex-direction:column; gap:5px; }
.sidebar__nav a{
  color:var(--white); background:var(--bg);
  padding:10px 14px; border-radius:4px; transition:.2s all;
}
.sidebar__nav a:hover{ filter:brightness(1.15); }
.sidebar__nav a.active{ background:var(--green); color:var(--white); }
.sidebar__spacer{ flex:1; }
.sidebar__bottom{ display:flex; flex-direction:column; gap:5px; }
.sidebar__bottom a{ color:var(--hint); padding:8px 14px; border-radius:4px; }
.sidebar__bottom a:hover{ background:var(--bg); color:var(--white); }

.main{ padding:30px; overflow:auto; }
.container{ max-width:1620px; margin:0 auto; }

/* Карточка контента (старый класс .content из шаблонов) */
.content,.card{
  background:var(--accent); padding:30px; border-radius:10px;
  box-shadow:0 0 10px 1px rgba(0,0,0,.4);
}
.content h2,.card h2{ margin-bottom:20px; }
.content h3,.card h3{ margin-bottom:15px; }

/* ===== Кнопки ===== */
.btn{
  display:inline-flex; gap:10px; justify-content:center; align-items:center;
  font-family:'Montserrat'; font-weight:500; font-size:15px;
  padding:10px 25px; border-radius:10px; cursor:pointer; transition:.2s all;
  background:transparent; color:var(--green); border:1px solid var(--green);
  text-decoration:none;
}
.btn:hover{ filter:brightness(.9); }
.btn-success,.btn-fill{ background:var(--green); color:var(--white); border:none; }
.btn-danger{ background:var(--red-delete); color:var(--white); border:none; }
.btn-warning{ background:var(--orange); color:var(--white); border:none; }
.btn[disabled]{ cursor:not-allowed; filter:opacity(.7); }

/* ===== Формы ===== */
.form-group{ margin-bottom:20px; display:flex; flex-direction:column; gap:5px; }
.form-group label,label{ display:block; font-size:11px; color:var(--white); }
input,textarea,select{
  width:100%; min-height:40px; padding:10px 15px; border-radius:10px;
  font-family:inherit; font-size:15px; color:var(--white); caret-color:var(--white);
  background:var(--border); border:1px solid var(--border); outline:none;
}
input:focus,textarea:focus,select:focus{ border:1px solid var(--green); }
textarea{ min-height:100px; font-family:'Courier New',monospace; }
input[disabled]{ opacity:.6; }

/* ===== Таблицы ===== */
table{ width:100%; border-collapse:initial; border-spacing:0; margin-top:20px; }
table th,table td{ padding:14px 16px; text-align:left; border-bottom:1px solid var(--border); }
table th{ font-weight:600; color:var(--white); background:transparent; }
table tbody tr:nth-child(even){ background:var(--row-even); }
table tbody tr:hover{ filter:brightness(1.08); }
table code{ font-family:'Courier New',monospace; font-size:11px; color:var(--hint); }
table a{ color:var(--green); text-decoration:underline; }
table a:hover{ text-decoration:none; }

/* ===== Бейджи / алерты ===== */
.badge{ display:inline-block; padding:4px 8px; border-radius:4px; font-size:12px; font-weight:600; }
.badge-success,.badge-info{ background:var(--green); color:var(--white); }
.badge{ background:var(--border); color:var(--white); }
.alert{ padding:15px; margin-bottom:20px; border-radius:10px; background:var(--accent); }
.alert-success{ border:1px solid var(--green); }
.alert-error{ border:1px solid var(--red); }

/* ===== Логин ===== */
.auth{ display:flex; justify-content:center; align-items:center; min-height:100vh; padding:20px; }
.auth__card{
  width:100%; max-width:400px; padding:30px; background:var(--accent);
  border-radius:10px; box-shadow:0 0 10px 1px rgba(0,0,0,.4);
}
.auth__card h1{ font-size:24px; font-weight:600; margin-bottom:25px; text-align:center; }
.auth__logo{ display:flex; justify-content:center; margin-bottom:15px; }
.auth__error{ color:var(--red); font-size:14px; margin-top:10px; }

/* ===== Меню разделов (плитки) ===== */
.tiles{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:15px; }
.tile{
  display:block; background:var(--bg); border:1px solid var(--border);
  border-radius:10px; padding:20px; transition:.2s all; color:var(--white);
}
.tile:hover{ border-color:var(--green); filter:brightness(1.1); }
.tile__name{ font-weight:600; font-size:16px; margin-bottom:6px; }
.tile__hint{ color:var(--hint); font-size:13px; }

/* Скроллбар */
*::-webkit-scrollbar{ width:6px; height:6px; }
*::-webkit-scrollbar-track{ background:transparent; }
*::-webkit-scrollbar-thumb{ background:var(--green); border-radius:5px; }
