:root{--bg:#f4f6fb;--bg-soft:#eef2f8;--surface:#fff;--surface-soft:#f8fafc;--ink:#0f172a;--ink-soft:#334155;--muted:#64748b;--line:#dbe3f0;--line-strong:#c7d2e3;--brand:#ff8a3d;--brand-strong:#f97316;--brand-ink:#fff;--brand-soft:#fff3e8;--success-bg:#ecfdf3;--success-line:#9ce9be;--success-ink:#065f46;--danger-bg:#fff1f2;--danger-line:#fecdd3;--danger-ink:#9f1239;--sidebar-bg:linear-gradient(170deg,#0b1220,#18253a 72%,#23324a);--shadow-sm:0 8px 20px rgba(15,23,42,.06);--shadow-md:0 16px 36px rgba(15,23,42,.1);--shadow-lg:0 24px 56px rgba(15,23,42,.14);--radius-md:14px;--radius-lg:18px}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:radial-gradient(circle at 12% -10%,#fff 0,var(--bg) 40%,#edf2fa 100%);color:var(--ink);font-family:Manrope,Segoe UI,Helvetica Neue,Arial,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit}.admin-layout{min-height:100vh;display:grid;grid-template-columns:292px minmax(0,1fr);transition:grid-template-columns .2s ease}.admin-layout:has(.sidebar.sidebar-collapsed){grid-template-columns:88px minmax(0,1fr)}.sidebar{position:-webkit-sticky;position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto;background:var(--sidebar-bg);color:#d8e1f2;border-right:1px solid rgba(148,163,184,.22);padding:18px 14px 22px;transition:padding .2s ease}.sidebar-brand{display:grid;grid-template-columns:46px minmax(0,1fr) 28px;grid-gap:12px;gap:12px;align-items:center;margin-bottom:18px;padding:10px;border-radius:14px;background:hsla(0,0%,100%,.06);border:1px solid rgba(148,163,184,.22)}.sidebar-brand strong{display:block;color:#f8fafc;font-size:14px;letter-spacing:.01em}.sidebar-brand p{margin:3px 0 0;color:#a6b5cc;font-size:12px}.sidebar-toggle{border:1px solid rgba(148,163,184,.35);border-radius:9px;min-height:28px;min-width:28px;color:#cbd5e1;background:rgba(15,23,42,.35);cursor:pointer}.sidebar-toggle-bottom{margin-top:14px;width:100%;min-height:36px}.sidebar-brand-mark{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-weight:900;letter-spacing:.04em;color:#fff;background:linear-gradient(140deg,#fb923c,#f97316 65%,#ea580c);box-shadow:0 10px 20px rgba(249,115,22,.4)}.sidebar-sections{display:grid;grid-gap:18px;gap:18px}.sidebar-section h3{margin:0 0 8px;padding:0 10px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#8ba0c0}.sidebar-links{display:grid;grid-gap:4px;gap:4px}.sidebar-link{min-height:38px;display:flex;align-items:center;padding:0 11px;border-radius:11px;text-decoration:none;color:#d8e1f2;border:1px solid transparent;transition:all .16s ease;gap:8px}.sidebar-link-abbr{display:none;width:24px;text-align:center;font-size:11px;font-weight:800}.sidebar-link-text{white-space:nowrap}.sidebar-link:hover{color:#fff;background:hsla(0,0%,100%,.08);border-color:rgba(148,163,184,.26)}.sidebar-link-active{color:#fff;font-weight:700;background:linear-gradient(90deg,rgba(249,115,22,.92),rgba(249,115,22,.75));border-color:rgba(255,237,213,.45);box-shadow:0 8px 20px rgba(249,115,22,.26)}.sidebar.sidebar-collapsed{padding:14px 10px 18px}.sidebar.sidebar-collapsed .sidebar-brand{grid-template-columns:1fr;justify-items:center;text-align:center;gap:8px}.sidebar.sidebar-collapsed .sidebar-brand p,.sidebar.sidebar-collapsed .sidebar-brand strong,.sidebar.sidebar-collapsed .sidebar-link-text,.sidebar.sidebar-collapsed .sidebar-section h3,.sidebar.sidebar-collapsed .sidebar-toggle-bottom{display:none}.sidebar.sidebar-collapsed .sidebar-toggle{width:100%}.sidebar.sidebar-collapsed .sidebar-link{justify-content:center;padding:0}.sidebar.sidebar-collapsed .sidebar-link-abbr{display:inline}.admin-main{min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr)}.admin-topbar{border-bottom:1px solid var(--line);background:hsla(0,0%,100%,.85);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);position:-webkit-sticky;position:sticky;top:0;z-index:20;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px}.admin-topbar h1{margin:0;font-size:22px;font-weight:800;letter-spacing:-.015em}.admin-topbar p{margin:5px 0 0;font-size:13px;color:var(--muted)}.shell{width:100%;max-width:1380px;padding:26px 24px 34px}main h1{margin:0;font-size:1.52rem;line-height:1.2;letter-spacing:-.015em}main h2{margin:0;font-size:1.08rem;line-height:1.3;letter-spacing:-.01em}main h3{margin:0;font-size:.96rem;line-height:1.35;letter-spacing:-.005em}.panel{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-sm)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:12px;gap:12px}.card{border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(180deg,#fff,#fbfdff);padding:18px;box-shadow:var(--shadow-sm)}.card h2{margin:0;font-size:1.02rem}.card p{margin-top:8px}.stack{grid-gap:14px;gap:14px}.row,.stack{display:grid}.row{grid-template-columns:1fr;grid-gap:.9rem;gap:.9rem}@media (min-width:860px){.row{grid-template-columns:1fr 1fr}}.field{display:grid;grid-gap:.4rem;gap:.4rem}.field label{font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--muted)}.input,select.input,textarea.input{width:100%;border:1px solid var(--line);border-radius:12px;padding:.7rem .78rem;font-size:14px;background:#fff;color:var(--ink);transition:border-color .16s ease,box-shadow .16s ease}.input:focus,select.input:focus,textarea.input:focus{outline:none;border-color:#fdba74;box-shadow:0 0 0 3px rgba(251,146,60,.2)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:11px;min-height:40px;padding:0 .92rem;border:1px solid var(--line-strong);background:#fff;cursor:pointer;color:var(--ink-soft);text-decoration:none;font-size:13px;font-weight:700;transition:all .16s ease}.button:hover{border-color:#b8c4d8;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.button:disabled{opacity:.62;cursor:not-allowed;transform:none}.button-primary{background:linear-gradient(140deg,var(--brand) 0,var(--brand-strong) 100%);border-color:#f97316;color:var(--brand-ink)}.button-primary:hover{box-shadow:0 12px 28px rgba(249,115,22,.34)}.button-danger{border-color:#fecaca;background:#fff5f5;color:#b91c1c}.button-danger:hover{border-color:#fca5a5;box-shadow:0 10px 20px hsla(0,91%,71%,.18)}.muted{color:var(--muted);font-size:.87rem}.pill{display:inline-flex;padding:.26rem .64rem;font-size:10.5px;font-weight:700;letter-spacing:.02em;background:var(--surface-soft);color:var(--ink-soft)}.authbar,.pill{align-items:center;border:1px solid var(--line);border-radius:999px}.authbar{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end;padding:.34rem .4rem;background:#fff;box-shadow:var(--shadow-sm)}.authbar-user{display:inline-flex;align-items:center;gap:.42rem;padding-right:.25rem}.authbar-email{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar-badge{width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#fff;background:linear-gradient(135deg,#fb923c,#f97316)}.media-field{display:flex;gap:.5rem;flex-wrap:wrap}.media-thumb{width:110px;height:110px;border-radius:12px;border:1px solid var(--line);background:#fff;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.media-thumb img{width:100%;height:100%;object-fit:cover;display:block}.image-modal-backdrop{position:fixed;inset:0;background:rgba(2,6,23,.76);display:grid;place-items:center;z-index:200;padding:24px}.image-modal-card{position:relative;max-width:min(900px,96vw);max-height:92vh;border-radius:16px;border:1px solid rgba(148,163,184,.35);background:#0f172a;overflow:hidden;box-shadow:var(--shadow-lg)}.image-modal-card img{display:block;max-width:100%;max-height:92vh;object-fit:contain}.image-modal-close{position:absolute;top:8px;right:8px;width:34px;height:34px;border-radius:999px;border:1px solid hsla(0,0%,100%,.5);background:rgba(15,23,42,.78);color:#fff;font-size:22px;line-height:1;cursor:pointer}.error,.success{padding:.6rem .75rem;border-radius:12px;font-size:13px;font-weight:600}.error{border:1px solid var(--danger-line);background:var(--danger-bg);color:var(--danger-ink)}.success{border:1px solid var(--success-line);background:var(--success-bg);color:var(--success-ink)}.table-wrap{overflow:auto;border-radius:14px;border:1px solid var(--line);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.7)}.table{width:100%;border-collapse:separate;border-spacing:0;background:#fff}.table td,.table th{padding:.7rem .62rem;border-bottom:1px solid var(--line);vertical-align:top;text-align:left;font-size:13px}.table th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:#f8fbff;color:#475569;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.table tbody tr:nth-child(2n) td{background:#fcfdff}.table tbody tr:hover td{background:#f4f8ff}.table tr:last-child td{border-bottom:none}@media (max-width:640px){.table-col-optional{display:none}.table td,.table th{padding:.55rem .4rem;font-size:12.5px}.table .button,.table .input{min-height:40px}}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.toolbar .input{min-width:180px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px;margin-top:10px}.kpi{border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#fff,#f9fcff);padding:14px}.kpi p{margin:0;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.kpi strong{margin-top:8px;display:block;font-size:27px;line-height:1}.check-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:7px 12px;gap:7px 12px}.permission-groups{display:grid;grid-gap:10px;gap:10px}.permission-group-card{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}.permission-group-head{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:8px}.permission-group-head h3{margin:0;text-transform:uppercase;font-size:11px;letter-spacing:.08em;color:#64748b}code{padding:.14rem .38rem;border-radius:7px;border:1px solid #dbe4f2;background:#f7faff;font-size:12px}@media (max-width:1120px){.admin-layout{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);border-radius:0 0 14px 14px}.admin-topbar{padding:14px 16px}.shell{padding:16px 14px 22px}.authbar{justify-content:flex-start;border-radius:14px}.authbar-email{max-width:160px}}