.admin-shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.admin-side{display:flex;flex-direction:column;gap:18px;padding:20px 16px;background:var(--panel);border-inline-end:1px solid var(--line);position:sticky;top:0;align-self:start;height:100vh;height:100dvh;overflow-y:auto}.admin-brand{display:flex;align-items:center;gap:8px;font-weight:var(--fw-700);font-size:1rem;text-decoration:none;letter-spacing:.01em}.admin-brand .dot{color:var(--accent)}.admin-brand small{display:block;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);font-weight:var(--fw-500)}.admin-nav{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-height:0;overflow-y:auto}.admin-nav a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;border-radius:9px;border:1px solid transparent;text-decoration:none;font-size:.87rem;color:var(--muted);transition:color .16s,background .16s,border-color .16s}.admin-nav a:hover{color:var(--text);background:var(--row-hover)}.admin-nav a[aria-current=page]{color:var(--accent-ink);background:var(--accent-a-06);border-color:var(--accent-a-20)}.admin-nav .nav-tag{font-size:.66rem;color:var(--muted-2);border:1px solid var(--line-strong);border-radius:99px;padding:0 7px}.admin-side-foot{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding-top:14px;border-top:1px solid var(--line);font-size:.78rem;color:var(--muted)}.admin-who{display:flex;flex-direction:column;gap:2px}.admin-who b{color:var(--text-soft);font-size:.86rem;font-weight:var(--fw-600)}.admin-main{min-width:0;padding:26px 28px 60px}.admin-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.admin-head h1{font-size:1.4rem;font-weight:var(--fw-700);letter-spacing:-.015em}.admin-head p{margin-top:6px;font-size:.85rem;color:var(--muted)}.admin-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-alert{margin-bottom:16px;padding:10px 14px;border-radius:10px;font-size:.84rem;border:1px solid var(--line-strong);background:var(--panel-2)}.admin-alert.error{border-color:color-mix(in srgb,var(--danger) 55%,transparent);color:var(--danger-ink)}.admin-alert.notice{border-color:var(--accent-a-42);color:var(--accent-ink);background:var(--accent-a-06)}.admin-grid{display:grid;gap:16px}.admin-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-card{background:var(--panel-grad);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}.admin-card h2{font-size:.95rem;font-weight:var(--fw-650)}.admin-card>p.help{margin-top:6px}.admin-stat strong{display:block;margin-top:8px;font-size:1.7rem;font-weight:var(--fw-650);letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.1}.admin-stat span{font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted-2)}.admin-links{display:flex;flex-direction:column;gap:8px;margin-top:14px}.admin-links a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;text-decoration:none;font-size:.86rem;color:var(--text-soft);background:var(--input-bg);transition:border-color .16s,color .16s}.admin-links a:hover{border-color:var(--accent-a-42);color:var(--accent-ink)}.admin-links a span{color:var(--muted-2);font-size:.78rem}.admin-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.admin-table{width:100%;border-collapse:collapse;font-size:.86rem}.admin-table th,.admin-table td{padding:11px 14px;text-align:start;vertical-align:middle}.admin-table th{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);font-weight:var(--fw-600);border-bottom:1px solid var(--line);white-space:nowrap}.admin-table tbody tr+tr td{border-top:1px solid var(--line)}.admin-table tbody tr:hover td{background:var(--row-hover)}.admin-table td.actions{white-space:nowrap;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-table .title{color:var(--text-soft);font-weight:var(--fw-500)}.admin-table .sub{display:block;font-size:.74rem;color:var(--muted-2);margin-top:2px}.admin-empty{padding:28px 14px;text-align:center;color:var(--muted);font-size:.86rem}.admin-badge{display:inline-block;font-size:.68rem;letter-spacing:.03em;padding:2px 8px;border-radius:99px;border:1px solid var(--line-strong);color:var(--muted);white-space:nowrap}.admin-badge.published{color:var(--accent-ink);border-color:var(--accent-a-42);background:var(--accent-a-06)}.admin-badge.draft{color:var(--fat);border-color:color-mix(in srgb,var(--fat) 45%,transparent)}.admin-badge.archived{color:var(--muted-2)}.admin-badge.role-admin{color:var(--carb);border-color:color-mix(in srgb,var(--carb) 45%,transparent)}.admin-badge.role-author{color:var(--accent-ink);border-color:var(--accent-a-42)}.admin-badge.suspended{color:var(--danger-ink);border-color:color-mix(in srgb,var(--danger) 55%,transparent)}.admin-form{display:grid;gap:14px}.admin-form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-form label{display:block}.admin-form .label{display:block;margin-bottom:6px;font-size:.78rem;color:var(--muted)}.admin-input,.admin-select,.admin-textarea{width:100%;background:var(--input-bg);border:1px solid var(--line-strong);border-radius:10px;color:var(--text);font:inherit;font-size:.9rem;padding:9px 11px;transition:border-color .16s,box-shadow .16s}.admin-input:focus,.admin-select:focus,.admin-textarea:focus{outline:none;border-color:var(--accent-a-55);box-shadow:0 0 0 3px var(--accent-a-10)}.admin-textarea{min-height:420px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.84rem;line-height:1.6}.admin-form .help{margin-top:5px;font-size:.72rem;color:var(--muted-2)}.admin-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--accent-a-42);background:var(--accent-a-12);color:var(--accent-ink);font:inherit;font-size:.82rem;font-weight:var(--fw-600);padding:8px 15px;border-radius:9px;cursor:pointer;text-decoration:none;transition:background .16s,border-color .16s}.admin-btn:hover{background:var(--accent-a-20);border-color:var(--accent-a-55)}.admin-btn:disabled{opacity:.55;cursor:not-allowed}.admin-btn.ghost{border-color:var(--line-strong);background:none;color:var(--muted);font-weight:var(--fw-500)}.admin-btn.ghost:hover{color:var(--text);border-color:var(--line-strong);background:var(--row-hover)}.admin-btn.danger{border-color:color-mix(in srgb,var(--danger) 50%,transparent);background:none;color:var(--danger-ink)}.admin-btn.danger:hover{background:color-mix(in srgb,var(--danger) 12%,transparent)}.admin-btn.small{padding:5px 10px;font-size:.76rem}.admin-inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 20px}.admin-auth-card{width:min(420px,100%);background:var(--panel-grad);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;box-shadow:var(--shadow)}.admin-auth-card h1{font-size:1.25rem;font-weight:var(--fw-700)}.admin-auth-card>p{margin-top:8px;margin-bottom:18px;font-size:.84rem;color:var(--muted)}.admin-auth-foot{margin-top:16px;font-size:.78rem;color:var(--muted-2);display:flex;justify-content:space-between;gap:10px}.admin-auth-foot a{color:var(--muted)}@media(max-width:900px){.admin-shell{grid-template-columns:1fr}.admin-side{border-inline-end:0;border-bottom:1px solid var(--line);position:static;height:auto;overflow:visible}.admin-nav{flex-direction:row;flex-wrap:wrap;flex:0 0 auto;overflow:visible}.admin-side-foot{margin-top:0}.admin-main{padding:20px 18px 50px}.admin-grid.cols-3,.admin-grid.cols-2,.admin-form .row{grid-template-columns:1fr}}
