:root { --blue:#2e368f; --blue-dark:#20266d; --yellow:#fedc00; --ink:#14182b; --muted:#747886; --line:#e1e3ea; --paper:#f4f5f9; --danger:#be3e4c; --success:#13764c; }
* { box-sizing: border-box; }
body { margin:0; min-height:100vh; color:var(--ink); background:var(--paper); font-family:Inter,"Noto Sans Georgian",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
button,input { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
a { color:inherit; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.admin-brand img { display:block; width:184px; height:auto; }
.kicker { color:var(--blue); font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.login-page { display:grid; place-items:center; padding:24px; background:linear-gradient(120deg,#f4f5fa 0 62%,var(--blue) 62%); }
.login-shell { width:min(100%,490px); }
.setup-shell { width:min(100%,720px); padding:40px 0; }
.login-shell > .admin-brand { display:inline-block; margin:0 0 28px 6px; padding:12px; background:#fff; }
.login-card { position:relative; padding:48px; background:#fff; box-shadow:0 28px 80px rgba(15,20,69,.26); }
.login-card::before { content:""; position:absolute; top:0; left:0; width:105px; height:6px; background:var(--yellow); }
.login-card h1 { margin:11px 0 8px; color:var(--blue); font-size:35px; letter-spacing:-.04em; }
.login-card > p { margin:0 0 28px; color:var(--muted); font-size:14px; }
.login-card form { display:grid; gap:19px; }
.login-card label,.settings-form > label { display:grid; gap:8px; }
.login-card label span,.settings-form label > span { color:#525666; font-size:12px; font-weight:700; }
.login-card input,.settings-form input[type="password"],.settings-form input[type="number"] { width:100%; height:47px; padding:0 13px; border:1px solid #d3d6df; outline:none; background:#fafbfc; transition:.2s; }
.login-card input:focus,.settings-form input:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(46,54,143,.1); background:#fff; }
.login-card form button,.save-button { height:55px; margin-top:7px; padding:0 20px; border:0; display:flex; align-items:center; justify-content:space-between; color:#151827; background:var(--yellow); font-weight:800; cursor:pointer; }
.back-link { display:inline-block; margin-top:24px; color:var(--blue); text-decoration:none; font-size:12px; font-weight:700; }
.setup-card fieldset { padding:18px; border:1px solid var(--line); grid-template-columns:1fr 1fr; }
.setup-card fieldset legend { width:auto; padding:0 8px; color:var(--blue); }
.setup-card fieldset label { display:grid; gap:8px; }
.setup-card fieldset label.wide { grid-column:1 / -1; }
.setup-note { margin:22px 0 0 !important; font-size:11px !important; line-height:1.6; }
.admin-alert { padding:13px 15px; border-left:4px solid; font-size:13px; line-height:1.5; }
.login-card .admin-alert { margin:0 0 20px; }
.admin-alert.error { color:#842d37; border-color:var(--danger); background:#fff0f2; }
.admin-alert.success { color:#0c6740; border-color:var(--success); background:#eaf8f1; }
.admin-header { height:82px; padding:0 max(28px,4vw); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:#fff; }
.admin-user { display:flex; align-items:center; gap:18px; color:#5e6271; font-size:12px; }
.admin-user form { margin:0; }
.admin-user button { padding:9px 14px; border:1px solid #d6d8e0; color:var(--blue); background:#fff; font-size:12px; font-weight:800; cursor:pointer; }
.dashboard-shell { width:min(1540px,calc(100% - 56px)); margin:0 auto; padding:54px 0 80px; }
.dashboard-title { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:34px; }
.dashboard-title h1 { margin:8px 0 0; color:var(--blue-dark); font-size:clamp(32px,4vw,50px); letter-spacing:-.045em; }
.primary-link { display:flex; align-items:center; gap:18px; min-height:47px; padding:0 18px; color:#171b2a; background:var(--yellow); text-decoration:none; font-size:12px; font-weight:800; }
.metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin:26px 0; }
.metrics article { position:relative; min-height:142px; padding:24px; border-top:3px solid transparent; background:#fff; box-shadow:0 8px 30px rgba(25,29,68,.06); }
.metrics article > span { display:block; color:#6e7280; font-size:12px; font-weight:700; }
.metrics strong { display:block; margin:12px 0 2px; color:var(--blue); font-size:38px; line-height:1; letter-spacing:-.04em; }
.metrics small { color:#9a9da8; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.metrics .status-card.open { border-color:#2ab278; }
.metrics .status-card.closed { border-color:#d44b5a; }
.metrics .status-card strong { font-size:28px; margin-top:19px; }
.dashboard-grid { display:grid; grid-template-columns:minmax(0,1fr) 370px; gap:22px; align-items:start; }
.panel { background:#fff; box-shadow:0 8px 30px rgba(25,29,68,.05); }
.panel-heading { min-height:86px; padding:22px 25px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); }
.panel-heading h2 { margin:0; color:var(--blue-dark); font-size:20px; letter-spacing:-.025em; }
.panel-heading p { margin:4px 0 0; color:#90939f; font-size:11px; }
.search-form { display:flex; gap:8px; }
.search-form input { width:min(290px,30vw); height:38px; padding:0 12px; border:1px solid #d9dbe3; outline:none; background:#fafbfc; font-size:12px; }
.search-form input:focus { border-color:var(--blue); }
.search-form button { padding:0 15px; border:0; color:#fff; background:var(--blue); font-size:11px; font-weight:800; cursor:pointer; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; min-width:980px; }
th { padding:13px 15px; color:#777b89; background:#f9fafc; font-size:10px; text-align:left; text-transform:uppercase; letter-spacing:.06em; }
td { padding:15px; border-top:1px solid #eceef3; color:#4b4f5e; font-size:12px; line-height:1.45; vertical-align:middle; }
td strong { display:block; color:#242838; font-size:12px; }
td small { display:block; margin-top:3px; color:#999ca8; font-size:10px; }
td a { color:var(--blue); text-decoration:none; }
.id-cell { color:#a0a3ad; width:54px; }
.personal-id { font-variant-numeric:tabular-nums; white-space:nowrap; }
.date-cell { white-space:nowrap; }
.empty-row { padding:48px; text-align:center; color:#8d919e; }
.pagination { padding:18px 22px; display:flex; flex-wrap:wrap; gap:5px; border-top:1px solid var(--line); }
.pagination a { display:grid; place-items:center; min-width:31px; height:31px; padding:0 7px; border:1px solid var(--line); color:#6a6e7b; text-decoration:none; font-size:11px; }
.pagination a.active { color:#fff; border-color:var(--blue); background:var(--blue); }
.settings-column { display:grid; gap:22px; }
.settings-form { padding:24px; display:grid; gap:20px; }
.capacity-field input { font-weight:800; color:var(--blue); }
.switch-row { grid-template-columns:1fr auto; align-items:center; gap:18px; padding:16px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); cursor:pointer; }
.switch-row span { display:grid; gap:4px; }
.switch-row small { color:#999ca7; font-size:10px; font-weight:400; }
.switch-row input { position:absolute; opacity:0; }
.switch-row i { position:relative; width:44px; height:25px; border-radius:999px; background:#c9ccd4; transition:.2s; }
.switch-row i::after { content:""; position:absolute; top:3px; left:3px; width:19px; height:19px; border-radius:50%; background:#fff; box-shadow:0 2px 6px rgba(0,0,0,.18); transition:.2s; }
.switch-row input:checked + i { background:#2ab278; }
.switch-row input:checked + i::after { transform:translateX(19px); }
fieldset { margin:0; padding:0; border:0; display:grid; grid-template-columns:1fr 1fr; gap:11px; }
legend { width:100%; margin-bottom:13px; color:#555968; font-size:12px; font-weight:800; }
.check-row { display:flex; align-items:center; gap:8px; cursor:pointer; }
.check-row input { width:17px; height:17px; accent-color:var(--blue); }
.check-row span { color:#555968; font-size:11px; }
.save-button { width:100%; }
.secondary-button { height:45px; border:1px solid var(--blue); color:var(--blue); background:#fff; font-size:12px; font-weight:800; cursor:pointer; }
@media (max-width:1180px) {
    .dashboard-grid { grid-template-columns:1fr; }
    .settings-column { grid-template-columns:1fr 1fr; }
}
@media (max-width:840px) {
    .dashboard-shell { width:calc(100% - 32px); padding-top:34px; }
    .metrics { grid-template-columns:1fr 1fr; }
    .dashboard-title { align-items:flex-start; flex-direction:column; }
    .settings-column { grid-template-columns:1fr; }
    .panel-heading { align-items:flex-start; flex-direction:column; }
    .search-form { width:100%; }
    .search-form label { flex:1; }
    .search-form input { width:100%; }
}
@media (max-width:520px) {
    .login-page { padding:16px; background:var(--paper); }
    .login-card { padding:38px 25px; }
    .login-card h1 { font-size:30px; }
    .setup-card fieldset { grid-template-columns:1fr; }
    .setup-card fieldset label.wide { grid-column:auto; }
    .admin-header { height:70px; padding:0 16px; }
    .admin-header .admin-brand img { width:132px; }
    .admin-user > span { display:none; }
    .metrics { grid-template-columns:1fr; }
    .metrics article { min-height:112px; }
    fieldset { grid-template-columns:1fr; }
}
