:root { --navy:#071a3d; --navy2:#0d2c5d; --teal:#10bfa0; --paper:#f3f6f8; --line:#dce3e9; --ink:#0b1830; --slate:#66758a; --white:#fff; }
* { box-sizing: border-box; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Inter,"Segoe UI",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button,input,textarea,select { font:inherit; }
.auth-shell { min-height:100vh; display:grid; place-items:center; padding:30px 18px; background:radial-gradient(circle at 80% 10%,rgba(16,191,160,.15),transparent 30%),linear-gradient(135deg,#06142f,#0b2859); }
.auth-card { width:min(460px,100%); padding:40px; border:1px solid rgba(255,255,255,.1); border-radius:18px; color:#fff; background:rgba(255,255,255,.06); box-shadow:0 40px 90px rgba(0,0,0,.32); backdrop-filter:blur(20px); }
.auth-brand { margin-bottom:38px; font-size:28px; font-weight:800; letter-spacing:-.04em; }
.auth-brand span { display:block; color:#91a3ba; font-size:11px; font-weight:600; letter-spacing:.3em; text-transform:uppercase; }
.auth-kicker,.page-title span,.admin-header span { color:var(--teal); font-size:10px; font-weight:850; letter-spacing:.16em; }
.auth-card h1 { margin:10px 0 12px; font-size:33px; letter-spacing:-.04em; }
.auth-card > p { color:#a9b8ca; line-height:1.65; }
.auth-card form,.admin-form { display:grid; gap:17px; }
.auth-card form { margin-top:28px; }
label { display:grid; gap:8px; color:#41516a; font-size:11px; font-weight:800; }
.auth-card label { color:#c5d0dd; }
input,textarea,select { width:100%; border:1px solid var(--line); border-radius:8px; outline:none; color:var(--ink); background:#fff; font-size:14px; font-weight:450; transition:.2s; }
input,select { height:48px; padding:0 13px; }
textarea { padding:13px; resize:vertical; }
.auth-card input { color:#fff; border-color:rgba(255,255,255,.15); background:rgba(255,255,255,.06); }
input:focus,textarea:focus,select:focus { border-color:var(--teal); box-shadow:0 0 0 4px rgba(16,191,160,.1); }
button,.admin-form button { min-height:46px; padding:0 19px; border:0; border-radius:8px; cursor:pointer; color:#06142f; background:var(--teal); font-size:13px; font-weight:850; transition:.2s; }
button:hover { transform:translateY(-1px); background:#26d3b4; }
.text-link { display:inline-block; margin-top:25px; color:#81e2d0; font-size:13px; font-weight:700; }
.error-box { padding:13px; border:1px solid rgba(255,112,130,.3); border-radius:8px; color:#ffd8df!important; background:rgba(255,82,105,.1); }
.auth-card ol { padding-left:20px; color:#c1cddd; font-size:14px; line-height:1.8; }
.alert { margin-bottom:22px; padding:13px 16px; border-radius:8px; font-size:13px; line-height:1.5; }
.alert.success { color:#086b59; border:1px solid #b7eadf; background:#e2f8f3; }
.alert.error { color:#9e2639; border:1px solid #f0c6ce; background:#fff0f2; }
.auth-card .alert.success { color:#a9f2e4; border-color:rgba(16,191,160,.3); background:rgba(16,191,160,.1); }
.auth-card .alert.error { color:#ffd2da; border-color:rgba(255,88,113,.3); background:rgba(255,88,113,.1); }

.admin-layout { min-height:100vh; display:grid; grid-template-columns:260px 1fr; }
.sidebar { position:sticky; top:0; height:100vh; display:flex; flex-direction:column; padding:30px 18px; color:#fff; background:var(--navy); }
.sidebar-brand { display:block; padding:0 16px 30px; border-bottom:1px solid rgba(255,255,255,.1); }
.sidebar-brand strong { display:block; font-size:23px; letter-spacing:-.04em; }
.sidebar-brand span { color:#7890ac; font-size:9px; letter-spacing:.24em; text-transform:uppercase; }
.sidebar nav { display:grid; gap:5px; margin-top:28px; }
.sidebar nav a { display:flex; align-items:center; gap:13px; padding:14px 13px; border-radius:8px; color:#91a4bd; font-size:13px; font-weight:700; }
.sidebar nav a:hover,.sidebar nav a.active { color:#fff; background:rgba(255,255,255,.075); }
.sidebar nav a.active { box-shadow:inset 3px 0 var(--teal); }
.sidebar nav b { color:#5d7593; font-size:9px; letter-spacing:.08em; }
.sidebar nav i { min-width:21px; height:21px; display:grid; place-items:center; margin-left:auto; border-radius:50%; color:var(--navy); background:var(--teal); font-size:10px; font-style:normal; }
.sidebar-logout { margin-top:auto; padding:13px; color:#91a4bd; font-size:13px; font-weight:700; }
.admin-main { min-width:0; }
.admin-header { height:78px; display:flex; align-items:center; gap:18px; padding:0 34px; border-bottom:1px solid var(--line); background:#fff; }
.admin-header button { display:none; width:42px; padding:0; color:var(--navy); border:1px solid var(--line); background:#fff; }
.admin-header > div { display:grid; gap:4px; }
.admin-header strong { font-size:13px; }
.admin-header > a { margin-left:auto; color:var(--navy2); font-size:12px; font-weight:800; }
.admin-content { max-width:1400px; padding:36px; }
.page-title { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:30px; }
.page-title h1 { margin:9px 0 0; font-size:34px; letter-spacing:-.045em; }
.page-title p { color:var(--slate); font-size:12px; }
.stats-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:20px; }
.stats-grid article { min-height:150px; display:flex; flex-direction:column; padding:23px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.stats-grid article.accent { color:#fff; border-color:var(--navy); background:var(--navy); }
.stats-grid span { color:var(--slate); font-size:11px; font-weight:750; }
.stats-grid .accent span,.stats-grid .accent small { color:#8da1ba; }
.stats-grid strong { margin:auto 0 6px; font-size:40px; letter-spacing:-.05em; }
.stats-grid .accent strong { color:var(--teal); }
.stats-grid small { color:#8b98a9; font-size:10px; }
.panel { margin-bottom:20px; padding:25px; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:0 12px 35px rgba(7,26,61,.035); }
.panel-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:20px; }
.panel-head h2,.admin-form h2 { margin:0; font-size:17px; }
.panel-head a { color:var(--navy2); font-size:11px; font-weight:800; }
.panel-head > span { color:var(--slate); font-size:11px; }
.table-wrap { overflow:auto; }
table { width:100%; border-collapse:collapse; font-size:12px; }
th { padding:12px; color:#7a8798; border-bottom:1px solid var(--line); text-align:left; font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
td { padding:16px 12px; border-bottom:1px solid #edf0f3; color:#566478; white-space:nowrap; }
td strong { color:var(--ink); }
.status { display:inline-flex; align-items:center; padding:6px 9px; border-radius:99px; font-size:9px; font-weight:800; white-space:nowrap; }
.status.new { color:#a86500; background:#fff2cf; }
.status.contacted { color:#08715f; background:#dcf7f1; }
.status.closed { color:#617084; background:#edf1f4; }
.empty { color:var(--slate); font-size:13px; }
.admin-form { max-width:980px; }
.admin-form h2 { margin-top:15px; padding-top:24px; border-top:1px solid var(--line); }
.admin-form h2:first-of-type { margin-top:0; padding-top:0; border:0; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.check-label { display:flex; align-items:center; gap:10px; padding-top:29px; }
.check-label input { width:18px; height:18px; }
.form-actions { display:flex; align-items:center; gap:18px; }
.form-actions a { color:var(--slate); font-size:12px; font-weight:750; }
.admin-form button { width:max-content; min-width:180px; }
.admin-form.narrow { max-width:560px; }
.language-editor { display:grid; gap:15px; margin-top:10px; padding:22px; border:1px solid var(--line); border-radius:10px; background:#f8fafb; }
.language-editor-title { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:2px; padding-bottom:14px; border-bottom:1px solid var(--line); }
.language-editor-title b { color:var(--navy); font-size:12px; letter-spacing:.08em; }
.language-editor-title span { min-width:32px; padding:6px 8px; border-radius:6px; color:#08715f; background:#dcf7f1; text-align:center; font-size:9px; font-weight:850; }
.service-admin-list { display:grid; gap:0; }
.service-admin-list article { display:grid; grid-template-columns:45px 1fr auto auto auto; align-items:center; gap:16px; padding:17px 0; border-bottom:1px solid var(--line); }
.service-admin-list article:last-child { border:0; }
.service-admin-list article > b { width:38px; height:38px; display:grid; place-items:center; border-radius:7px; color:#08715f; background:#dcf7f1; font-size:10px; }
.service-admin-list h3 { margin:0 0 5px; font-size:14px; }
.service-admin-list p { margin:0; color:var(--slate); font-size:11px; line-height:1.4; }
.service-admin-list > article > a { color:var(--navy2); font-size:11px; font-weight:800; }
button.danger { min-height:34px; padding:0 11px; color:#a3293c; border:1px solid #efc7ce; background:#fff4f6; font-size:10px; }
button.danger:hover { color:#fff; background:#bc3449; }
.inquiry-list { display:grid; gap:14px; }
.inquiry-list > article { display:grid; grid-template-columns:1fr auto; gap:25px; padding:22px; border:1px solid var(--line); border-radius:10px; }
.inquiry-title { display:flex; align-items:center; gap:12px; }
.inquiry-title h3 { margin:0; font-size:16px; }
.inquiry-main > p { margin:7px 0 13px; color:var(--slate); font-size:12px; }
.inquiry-contact { display:flex; flex-wrap:wrap; gap:8px 18px; color:var(--navy2); font-size:11px; font-weight:700; }
.inquiry-contact span { color:#8995a5; font-weight:500; }
.inquiry-main blockquote { margin:18px 0 0; padding:14px; border-left:3px solid var(--teal); color:#556377; background:#f7f9fa; font-size:12px; line-height:1.6; }
.inquiry-actions { display:flex; align-items:flex-start; gap:8px; }
.inquiry-actions select { width:150px; height:36px; font-size:11px; }

@media (max-width:900px) {
    .admin-layout { grid-template-columns:1fr; }
    .sidebar { position:fixed; left:0; top:0; z-index:50; width:260px; transform:translateX(-110%); transition:.25s; box-shadow:20px 0 50px rgba(0,0,0,.25); }
    .sidebar.open { transform:none; }
    .admin-header button { display:block; }
    .admin-content { padding:24px; }
    .service-admin-list article { grid-template-columns:45px 1fr auto; }
    .service-admin-list article > a,.service-admin-list article > form { grid-row:2; }
}
@media (max-width:620px) {
    .auth-card { padding:28px 22px; }
    .admin-header { padding:0 17px; }
    .admin-content { padding:20px 14px; }
    .page-title h1 { font-size:28px; }
    .stats-grid,.form-grid { grid-template-columns:1fr; }
    .stats-grid article { min-height:125px; }
    .panel { padding:18px 14px; }
    .check-label { padding-top:0; }
    .service-admin-list article { grid-template-columns:38px 1fr; }
    .service-admin-list .status { grid-column:2; width:max-content; }
    .inquiry-list > article { grid-template-columns:1fr; padding:16px; }
    .inquiry-actions { flex-wrap:wrap; }
}
