:root { --ink:#181714; --muted:#777169; --line:#e8e3da; --paper:#f5f2ec; --card:#fff; --accent:#ef5b2a; --green:#24865a; --red:#bd3426; --display:'Syne',sans-serif; --body:'DM Sans',system-ui,sans-serif; }
* { box-sizing: border-box; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--body); }
button,input,select { font:inherit; }
.admin-shell { min-height:100dvh; }
.admin-sidebar { position:fixed; inset:0 auto 0 0; display:flex; width:250px; padding:28px 20px; flex-direction:column; color:#fff; background:#191815; }
.admin-brand { display:flex; align-items:center; gap:10px; color:#fff; text-decoration:none; font-family:var(--display); letter-spacing:.04em; }
.admin-brand span { display:grid; width:38px; height:38px; place-items:center; border-radius:10px; background:var(--accent); }
.admin-sidebar nav { display:grid; gap:6px; margin-top:48px; }
.admin-sidebar nav button { display:flex; min-height:48px; padding:0 14px; align-items:center; gap:12px; color:#a9a49c; border:0; border-radius:10px; background:transparent; text-align:left; cursor:pointer; }
.admin-sidebar nav button.active { color:#fff; background:#302e29; }
.admin-sidebar nav span { color:var(--accent); font-size:18px; }
.sidebar-bottom { display:grid; gap:5px; margin-top:auto; padding:16px 12px; border-top:1px solid #36332e; }
.sidebar-bottom small { color:#8d887f; }.sidebar-bottom strong { overflow-wrap:anywhere; font-size:12px; }.sidebar-bottom a { margin-top:12px; color:#c2bdb4; font-size:12px; }
.admin-main { min-height:100dvh; margin-left:250px; padding:34px clamp(24px,4vw,64px) 60px; }
.admin-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:30px; }
.admin-header p { margin:0 0 6px; color:var(--accent); font-size:11px; font-weight:800; letter-spacing:.14em; }.admin-header h1 { margin:0; font-family:var(--display); font-size:32px; }
.admin-header button { padding:10px 16px; color:var(--ink); border:1px solid var(--line); border-radius:9px; background:#fff; cursor:pointer; }
.admin-message { margin-bottom:18px; padding:12px 15px; color:#7c2a1f; border:1px solid #f0c0b4; border-radius:10px; background:#fff0ec; }
.access-gate { max-width:520px; margin:80px auto; padding:44px; text-align:center; border:1px solid var(--line); border-radius:20px; background:#fff; }
.access-gate > span { display:grid; width:60px; height:60px; margin:0 auto 18px; place-items:center; color:#fff; border-radius:50%; background:var(--accent); font-family:var(--display); font-size:24px; font-weight:800; }.access-gate h2 { font-family:var(--display); }.access-gate p { color:var(--muted); }.access-gate a { display:inline-flex; min-height:44px; margin-top:12px; padding:0 20px; align-items:center; color:#fff; border-radius:9px; background:var(--accent); text-decoration:none; font-weight:700; }
.metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.metric-grid article { min-height:158px; padding:22px; border:1px solid var(--line); border-radius:16px; background:var(--card); box-shadow:0 8px 28px rgba(25,24,21,.035); }.metric-grid span { color:var(--muted); font-size:13px; }.metric-grid strong { display:block; margin:20px 0 8px; font-family:var(--display); font-size:38px; }.metric-grid small { color:var(--accent); }
.privacy-note { display:flex; gap:18px; margin-top:18px; padding:20px 22px; border:1px solid #dfe9e2; border-radius:14px; background:#f7fbf8; }.privacy-note strong { white-space:nowrap; color:var(--green); }.privacy-note p { margin:0; color:var(--muted); font-size:13px; line-height:1.6; }
.section-tools { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:16px; }.section-tools h2 { margin:0 0 5px; font-family:var(--display); }.section-tools p { margin:0; color:var(--muted); font-size:13px; }.section-tools input { width:min(280px,100%); min-height:42px; padding:0 13px; border:1px solid var(--line); border-radius:9px; background:#fff; outline:none; }
.table-card { overflow:hidden; border:1px solid var(--line); border-radius:14px; background:#fff; }.table-scroll { overflow:auto; }table { width:100%; border-collapse:collapse; white-space:nowrap; }th,td { padding:14px 16px; border-bottom:1px solid #eeeae3; text-align:left; font-size:12px; }th { color:var(--muted); background:#faf8f4; font-weight:700; }td strong { display:block; max-width:260px; overflow:hidden; text-overflow:ellipsis; }.status { display:inline-flex; padding:4px 8px; border-radius:99px; font-size:11px; font-weight:700; }.status.active { color:var(--green); background:#e9f6ef; }.status.disabled { color:var(--red); background:#fcebe8; }.quota-input { width:68px; padding:7px; border:1px solid var(--line); border-radius:7px; }.row-save { padding:7px 10px; color:#fff; border:0; border-radius:7px; background:var(--ink); cursor:pointer; }.table-empty { padding:42px; color:var(--muted); text-align:center; }.path-cell { display:block; max-width:220px; overflow:hidden; text-overflow:ellipsis; }
@media (max-width:900px) { .admin-sidebar { position:static; width:100%; min-height:auto; padding:16px; }.admin-sidebar nav { display:flex; margin-top:18px; overflow:auto; }.admin-sidebar nav button { flex:0 0 auto; }.sidebar-bottom { display:none; }.admin-main { margin-left:0; padding:24px 16px 50px; }.metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:540px) { .admin-header h1 { font-size:26px; }.metric-grid { grid-template-columns:1fr; }.metric-grid article { min-height:132px; }.privacy-note,.section-tools { align-items:stretch; flex-direction:column; }.privacy-note strong { white-space:normal; } }
