/* --- ТВОИ БАЗОВЫЕ СТИЛИ ИЗ ШАБЛОНА --- */
:root {
    --red:#ed3156;
    --pink:#f45b83;
    --blue:#3978dc;
    --dark:#202438;
    --muted:#747b8d;
    --border:#eceef3;
    --shadow:0 14px 40px rgba(35,39,65,.07);
    --radius:22px;
}
*{box-sizing:border-box}
body{margin:0;font-family:'Manrope',Arial,sans-serif;color:var(--dark);background:#fafbfe;line-height:1.65;}
a{color:inherit;text-decoration:none}
button{font:inherit}
.container{width:min(1160px,calc(100% - 40px));margin:0 auto}

/* Хедер */
.topbar{background:#25283b;color:#e9eaf1;font-size:12px}
.topbar-inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:15px}
.topbar a{color:#fff}
.header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}
.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.logo{font-size:27px;font-weight:800;letter-spacing:-1.5px;white-space:nowrap;color:var(--dark)}
.logo span{color:var(--red)}
.nav{display:flex;align-items:center;gap:23px;font-size:13px;font-weight:700;color:#4d5264}
.nav a:hover{color:var(--red)}
.header-actions{display:flex;align-items:center;gap:16px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 23px;border:0;border-radius:13px;font-size:13px;font-weight:800;cursor:pointer;transition:.2s ease;text-decoration:none;}
.btn-primary{color:#fff;background:linear-gradient(135deg,var(--red),var(--pink));box-shadow:0 8px 20px rgba(237,49,86,.2)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(237,49,86,.28)}
.btn-outline{color:var(--dark);border:1px solid var(--border);background:#fff}
.btn-outline:hover{border-color:var(--pink);color:var(--red)}

/* --- СТИЛИ ДЛЯ КАБИНЕТА --- */
.page-title { margin-bottom: 25px; font-size: 32px; font-weight: 800; letter-spacing: -1px; }
.card { background: #fff; border: 1px solid var(--border); border-radius: var(--radius); padding: 30px; box-shadow: var(--shadow); margin-bottom: 25px; }
.table-custom { width: 100%; border-collapse: collapse; margin-top: 15px; }
.table-custom th, .table-custom td { padding: 15px; text-align: left; border-bottom: 1px solid var(--border); font-size: 14px; }
.table-custom th { background: #f8f9fc; font-weight: 800; color: var(--muted); text-transform: uppercase; font-size: 11px; letter-spacing: 0.5px;}
.table-custom tr:last-child td { border-bottom: none; }
.form-group { margin-bottom: 15px; }
.form-group label { display: block; font-size: 13px; font-weight: 700; margin-bottom: 5px; color: var(--dark); }
.form-group input[type="text"], .form-group input[type="password"], .form-group input[type="email"], .form-group select {
    width: 100%; padding: 12px 15px; border: 1px solid var(--border); border-radius: 10px; font-family: inherit; font-size: 14px; outline: none; transition: 0.2s;
}
.form-group input:focus, .form-group select:focus { border-color: var(--pink); box-shadow: 0 0 0 3px rgba(244, 91, 131, 0.1); }
.alert-success { background: #e9fbf2; color: #1a9c6a; padding: 15px; border-radius: 10px; margin-bottom: 20px; font-weight: 700; font-size: 14px; }
.alert-error { background: #fff0f3; color: var(--red); padding: 15px; border-radius: 10px; margin-bottom: 20px; font-weight: 700; font-size: 14px; }
.badge { display: inline-block; padding: 5px 10px; border-radius: 6px; font-size: 11px; font-weight: 800; }
.badge-green { background: #e9fbf2; color: #1a9c6a; }
.badge-orange { background: #fff8e1; color: #f57c00; }
body { display: flex; flex-direction: column; min-height: 100vh; }
main { flex: 1 0 auto; } /* Растягивает контент, прижимая футер вниз */
footer { flex-shrink: 0; background: #202337; text-align: center; padding: 20px 0; color: #aeb2c2; font-size: 12px; margin-top: 40px;}