:root { --ink:#111113; --paper:#f4f0e8; --card:#fffdfa; --muted:#6b666d; --line:#ddd5c9; --burg:#982536; --gold:#b99b62; }
* { box-sizing: border-box; }
body { margin:0; background:#ebe5dc; color:var(--ink); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; line-height:1.45; }
a { color:inherit; }
button,input,textarea,select { font:inherit; }
.auth-shell { min-height:100svh; display:grid; place-items:center; padding:24px; background:radial-gradient(circle at 78% 20%,rgba(152,37,54,.22),transparent 28%),#111113; }
.auth-card { width:min(100%,460px); background:var(--card); border-radius:24px; padding:38px; box-shadow:0 32px 100px rgba(0,0,0,.32); }
.auth-logo { width:52px; height:52px; display:grid; place-items:center; background:var(--ink); color:#fff; border-radius:14px; font-family:Georgia,serif; margin-bottom:22px; }
.eyebrow { margin:0 0 8px; color:var(--burg); letter-spacing:.16em; font-size:.72rem; font-weight:800; }
h1,h2,h3 { font-family:Georgia,"Times New Roman",serif; font-weight:500; }
.auth-card h1 { margin:0; font-size:2.4rem; }
.muted { color:var(--muted); }
.auth-card form { display:grid; gap:16px; margin-top:28px; }
label { display:grid; gap:7px; font-size:.83rem; font-weight:700; }
input,textarea,select { width:100%; border:1px solid var(--line); background:#fff; color:var(--ink); border-radius:10px; padding:11px 12px; outline:none; }
input:focus,textarea:focus,select:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(185,155,98,.15); }
textarea { resize:vertical; }
label small { font-weight:400; color:var(--muted); }
.admin-button { border:0; border-radius:10px; padding:12px 18px; font-weight:800; cursor:pointer; }
.admin-button.primary { background:var(--burg); color:#fff; }
.back-link { display:inline-block; margin-top:22px; color:var(--muted); font-size:.86rem; }
.alert { padding:12px 14px; border-radius:10px; margin:18px 0; font-size:.88rem; }
.alert.error { background:#fee8e8; color:#8b1d2d; border:1px solid #f4caca; }
.alert.success { background:#e6f5eb; color:#27623a; border:1px solid #c7e7d1; }
.admin-header { position:sticky; top:0; z-index:20; min-height:88px; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px max(24px,calc((100vw - 1260px)/2)); background:rgba(17,17,19,.96); color:#fff; backdrop-filter:blur(14px); }
.admin-header h1 { margin:0; font-size:1.6rem; }
.admin-header .eyebrow { color:#d9bb79; }
.header-actions { display:flex; gap:10px; align-items:center; }
.header-actions form { margin:0; }
.header-actions a, .header-actions button { text-decoration:none; border:1px solid rgba(255,255,255,.16); background:transparent; color:#fff; border-radius:999px; padding:9px 13px; font-size:.82rem; cursor:pointer; }
.admin-main { width:min(calc(100% - 32px),1260px); margin:28px auto 110px; }
.panel { background:var(--card); border:1px solid rgba(17,17,19,.06); border-radius:20px; padding:28px; margin-bottom:22px; box-shadow:0 14px 45px rgba(42,32,22,.06); }
.panel-heading { display:flex; justify-content:space-between; align-items:start; gap:18px; border-bottom:1px solid var(--line); padding-bottom:20px; margin-bottom:24px; }
.panel-heading h2 { margin:0; font-size:2rem; }
.status-pill { background:#f0e6d3; color:#6d562b; border-radius:999px; padding:7px 10px; font-size:.74rem; font-weight:800; white-space:nowrap; }
.grid { display:grid; gap:18px; }
.grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.grid.five { grid-template-columns:repeat(5,minmax(0,1fr)); }
.span-two { grid-column:1 / -1; }
.subhead { margin:30px 0 14px; font-size:1.25rem; }
.toggle-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:18px; }
.toggle { position:relative; display:grid; grid-template-columns:42px 1fr; grid-template-rows:auto auto; gap:2px 10px; padding:16px; border:1px solid var(--line); border-radius:12px; cursor:pointer; }
.toggle input { position:absolute; opacity:0; width:1px; height:1px; }
.toggle span { grid-row:1 / 3; width:38px; height:22px; border-radius:99px; background:#c9c3bb; position:relative; margin-top:2px; transition:.2s; }
.toggle span::after { content:""; position:absolute; width:16px; height:16px; left:3px; top:3px; background:#fff; border-radius:50%; transition:.2s; box-shadow:0 1px 4px rgba(0,0,0,.22); }
.toggle input:checked + span { background:var(--burg); }
.toggle input:checked + span::after { transform:translateX(16px); }
.toggle b { font-size:.88rem; }
.toggle small { color:var(--muted); font-weight:400; }
.media-row { align-items:end; margin-top:18px; }
.check-line { display:flex; grid-template-columns:auto 1fr; align-items:center; gap:10px; min-height:48px; }
.check-line input { width:auto; }
.file-info { color:var(--muted); font-size:.82rem; }
.inline-checks { display:flex; flex-wrap:wrap; gap:10px 18px; }
.inline-checks label { display:flex; align-items:center; gap:8px; font-weight:600; }
.inline-checks input { width:auto; }
.language-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px; }
.language-tab { border:1px solid var(--line); background:#f7f3ec; border-radius:999px; padding:9px 14px; cursor:pointer; }
.language-tab.active { background:var(--ink); color:#fff; border-color:var(--ink); }
.language-panel { display:none; }
.language-panel.active { display:block; }
.cards-editor { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.editor-card { border:1px solid var(--line); border-radius:14px; padding:16px; background:#faf7f1; display:grid; gap:12px; }
.editor-card > b { color:var(--burg); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
.save-bar { position:fixed; left:50%; bottom:18px; transform:translateX(-50%); z-index:30; width:min(calc(100% - 32px),850px); display:flex; justify-content:space-between; align-items:center; gap:18px; padding:14px 16px; background:rgba(17,17,19,.96); color:#fff; border-radius:16px; box-shadow:0 18px 55px rgba(0,0,0,.28); }
.save-bar span { color:rgba(255,255,255,.58); font-size:.8rem; }
@media (max-width:900px) { .grid.two,.grid.five,.toggle-grid,.cards-editor { grid-template-columns:1fr; } .span-two { grid-column:auto; } .admin-header { padding:16px; } .header-actions a:first-child { display:none; } .save-bar span { display:none; } .save-bar { justify-content:flex-end; } }
@media (max-width:560px) { .panel { padding:20px; border-radius:15px; } .panel-heading h2 { font-size:1.6rem; } .auth-card { padding:26px; } }

/* Personnel management */
.staff-master-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:center; }
.admin-button.secondary { background:#f0e6d3; color:#4e3b1f; border:1px solid #dfcfb0; }
.staff-admin-list { display:grid; gap:18px; margin-top:22px; }
.staff-admin-card { border:1px solid var(--line); border-radius:16px; padding:20px; background:#faf7f1; }
.staff-admin-head { display:flex; justify-content:space-between; align-items:center; gap:16px; padding-bottom:16px; margin-bottom:18px; border-bottom:1px solid var(--line); }
.staff-admin-head > div:first-child { display:grid; gap:2px; }
.staff-admin-head b { font-size:1rem; }
.staff-admin-head small { color:var(--muted); }
.staff-order-actions { display:flex; gap:8px; flex-wrap:wrap; }
.staff-order-actions button { border:1px solid var(--line); background:#fff; color:var(--ink); border-radius:9px; min-width:38px; min-height:36px; padding:0 10px; cursor:pointer; }
.staff-order-actions .danger { color:#8b1d2d; border-color:#e2b9bf; background:#fff5f6; }
.staff-enabled-line { align-self:end; min-height:48px; }
.photo-admin-status { display:flex; align-items:center; gap:12px; min-height:74px; }
.staff-admin-thumb { width:64px; height:64px; border-radius:10px; object-fit:cover; border:1px solid var(--line); background:#fff; }
.staff-admin-thumb.empty { background:linear-gradient(135deg,#f3eee6,#fff); }
.staff-subhead { margin-top:22px; margin-bottom:10px; font-size:1rem; }
.staff-visibility { padding:12px 0 2px; }
.staff-language-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.staff-language-box { display:grid; gap:10px; padding:14px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.staff-language-box > b { color:var(--burg); font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; }
@media (max-width:900px) { .staff-master-row,.staff-language-grid { grid-template-columns:1fr; } }
@media (max-width:560px) { .staff-admin-head { align-items:flex-start; flex-direction:column; } .staff-order-actions { width:100%; } .staff-order-actions button { flex:1; } }
