:root {
    --pp-deep: #7c8f1a;
    --pp-purple: #c6d62e;
    --pp-accent: #f2fe54;
    --pp-purple-rgb: 198, 214, 46;
    --pp-accent-rgb: 242, 254, 84;
    --font-body: 'Inter', -apple-system, sans-serif;
    --font-heading: 'Plus Jakarta Sans', sans-serif;
    --bg-base: rgb(var(--pp-bg-base) / 1);
    --bg-surface: rgb(var(--pp-bg-surface) / 1);
    --text-primary: rgb(var(--pp-text-primary) / 1);
    --text-secondary: rgb(var(--pp-text-secondary) / 1);
    --text-muted: rgb(var(--pp-text-muted) / 1);
    --border-base: rgb(var(--pp-border-base) / 1);
}
body { font-family: var(--font-body); }
h1, h2, h3, .font-heading { font-family: var(--font-heading), sans-serif; }
.text-gradient-pp { background: linear-gradient(135deg, #a9bf2b 0%, var(--pp-purple) 50%, var(--pp-accent) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.admin-layout { display:flex; min-height:100vh; background:var(--bg-base); }
.admin-sidebar { width:272px; flex-shrink:0; background:var(--bg-surface); border-right:1px solid var(--border-base); display:flex; flex-direction:column; position:sticky; top:0; height:100vh; font-size:13px; color:var(--text-secondary); }
.admin-sidebar__scroll { flex:1; overflow-y:auto; padding:16px 12px; display:flex; flex-direction:column; gap:6px; }
.admin-sidebar__footer { padding:12px; border-top:1px solid var(--border-base); }
.admin-main { flex:1; min-width:0; padding:24px 28px 48px; }
.admin-sidebar__brand { display:flex; align-items:center; gap:10px; text-decoration:none; color:inherit; padding:4px; }
.admin-sidebar__brand-name { font-family: var(--font-heading); font-size:13px; font-weight:700; color:#fff; }
.admin-sidebar__brand-sub { font-size:9px; text-transform:uppercase; letter-spacing:.08em; color:var(--pp-accent); }
.admin-sidebar__brand-sub span { display:block; line-height:1.15; }
.pp-theme-toggle { width:32px; height:32px; border-radius:9999px; border:1px solid var(--border-base); display:grid; place-items:center; background:transparent; color:var(--text-muted); cursor:pointer; }
.pp-theme-toggle svg { width:14px; height:14px; grid-area:1 / 1; }
html.dark .pp-theme-toggle .pp-theme-icon-sun { display:block; }
html.dark .pp-theme-toggle .pp-theme-icon-moon { display:none; }
html:not(.dark) .pp-theme-toggle .pp-theme-icon-sun { display:none; }
html:not(.dark) .pp-theme-toggle .pp-theme-icon-moon { display:block; }
.pp-theme-toggle--logout:hover { color:#f87171 !important; border-color:rgba(248,113,113,.45) !important; background:rgba(248,113,113,.08) !important; }
.pp-sb-head { display:flex; align-items:center; justify-content:space-between; padding:0 4px 10px; }
.pp-sb-head-actions { display:flex; gap:6px; }
.nav-item { display:flex; align-items:center; gap:9px; padding:7px 8px; border-radius:6px; color:var(--text-secondary); text-decoration:none; font-size:12.5px; }
.nav-item:hover { background: rgba(var(--pp-purple-rgb), .1); color: var(--text-primary); }
.nav-item.is-active { background: rgba(var(--pp-purple-rgb), .08); color: var(--text-primary); font-weight:600; }
.nav-item svg.lucide { width:14px; height:14px; stroke-width:1.75; flex-shrink:0; color:var(--text-muted); transition:color .12s ease; }
.nav-item:hover svg.lucide { color:var(--text-secondary); }
.nav-item.is-active svg.lucide { color:var(--pp-accent); }
.pp-user-card { display:flex; align-items:center; gap:12px; padding:10px 12px; border-radius:12px; background:var(--bg-base); border:1px solid var(--border-base); }
.pp-user-avatar { width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(var(--pp-purple-rgb),.18); color:var(--pp-accent); font-weight:700; }
.pp-user-name { font-weight:600; font-size:.8rem; color:var(--text-primary); }
.pp-user-email,.pp-user-role { font-size:.68rem; color:var(--text-muted); }
.admin-main-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-bottom:18px; margin-bottom:22px; border-bottom:1px solid var(--border-base); flex-wrap:wrap; }
.admin-main-title { display:flex; align-items:center; gap:10px; font-size:18px; font-weight:700; color:var(--text-primary); margin:0; }
.pp-table-wrap { background: rgb(var(--pp-bg-subtle) / 1); border:1px solid var(--border-base); border-radius:16px; overflow:hidden; }
.pp-table-wrap table { width:100%; border-collapse:collapse; font-size:.875rem; }
.pp-table-wrap th { text-align:left; padding:.75rem 1rem; font-size:.65rem; text-transform:uppercase; color:var(--text-secondary); background:var(--bg-surface); border-bottom:1px solid var(--border-base); }
.pp-table-wrap td { padding:.85rem 1rem; border-bottom:1px solid var(--border-base); color:var(--text-secondary); }
.pp-table-wrap tr:last-child td { border-bottom:none; }
.pp-table-wrap a { color:var(--pp-accent); text-decoration:none; font-weight:500; }
.pp-badge { display:inline-flex; align-items:center; font-size:10px; font-weight:600; padding:2px 8px; border-radius:999px; }
.pp-badge-ok { color:var(--pp-accent); background:rgba(var(--pp-accent-rgb), .14); }
.pp-badge-bad { color:#f87171; background:rgba(248,113,113,.1); }
.pp-badge-warn { color:#fbbf24; background:rgba(251,191,36,.1); }
.pp-sidebar-sites .sidebar-search { position:relative; margin:0 0 8px; padding:0 4px; }
.pp-sidebar-sites .sidebar-search__icon { position:absolute; left:14px; top:50%; transform:translateY(-50%); width:13px; height:13px; color:var(--text-muted); pointer-events:none; }
.pp-sidebar-sites .pp-sites-search-input { width:100%; box-sizing:border-box; background:var(--bg-base); border:1px solid var(--border-base); border-radius:6px; padding:7px 12px 7px 32px; font-size:12.5px; color:var(--text-primary); outline:none; }
.pp-sidebar-sites .pp-sites-search-input:focus { border-color: var(--pp-purple); }
.pp-sidebar-sites .admin-sidebar__label { display:flex; align-items:center; justify-content:space-between; padding:10px 8px 4px; font-size:10px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); }
.pp-sidebar-sites .admin-sidebar__label-count { font-size:10px; color:var(--text-muted); opacity:.65; }
.pp-sidebar-sites .prop { position:relative; border-radius:6px; margin:0 0 1px; }
.pp-sidebar-sites .prop > summary { list-style:none; cursor:pointer; display:flex; align-items:center; gap:8px; padding:6px 8px; border-radius:6px; color:var(--text-secondary); font-size:12.5px; font-weight:500; }
.pp-sidebar-sites .prop > summary::-webkit-details-marker { display:none; }
.pp-sidebar-sites .prop > summary:hover { background:rgba(var(--pp-purple-rgb), .1); color:var(--text-primary); }
.pp-sidebar-sites .prop__chevron { width:12px !important; height:12px !important; stroke-width:2; color:var(--text-muted); transition:transform .15s ease; }
.pp-sidebar-sites .prop[open] > summary .prop__chevron { transform:rotate(90deg); }
.pp-sidebar-sites .prop__name { flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--text-primary); }
.pp-sidebar-sites .prop__version { font-size:10px; font-weight:400; color:var(--text-muted); margin-left:5px; }
.pp-sidebar-sites .prop__sub { position:relative; padding:2px 0 4px 13px; margin-left:7px; }
.pp-sidebar-sites .prop__sub::before { content:""; position:absolute; left:0; top:0; bottom:8px; width:1px; background:var(--border-base); }
.pp-sidebar-sites .prop__sub a { display:flex; align-items:center; gap:9px; padding:5px 8px 5px 10px; border-radius:5px; color:var(--text-muted); font-size:12px; text-decoration:none; transition:background-color .12s ease,color .12s ease; }
.pp-sidebar-sites .prop__sub a:hover, .pp-sidebar-sites .prop__sub a.is-active { background:rgba(var(--pp-purple-rgb), .08); color:var(--text-primary); }
.pp-sidebar-sites .pp-site-item.is-filtered-out { display:none; }
.pp-toast { position:fixed; bottom:22px; left:50%; transform:translateX(-50%); z-index:10000; padding:12px 20px; border-radius:12px; background:var(--bg-surface); border:1px solid rgba(var(--pp-purple-rgb),.38); color:var(--pp-accent); opacity:0; pointer-events:none; transition:opacity .2s ease; }
.pp-toast.pp-toast--visible { opacity:1; }
@media (max-width: 900px) {
    .admin-layout { flex-direction:column; }
    .admin-sidebar { width:100%; height:auto; position:static; border-right:0; border-bottom:1px solid var(--border-base); }
    .admin-main { padding:16px; }
}
