.tiptap-wrapper{border:1px solid var(--admin-fg);border-radius:var(--admin-radius);background:var(--admin-surface);overflow:hidden}.tiptap-toolbar{border-bottom:1px solid var(--admin-subtle);background:var(--admin-hover);flex-wrap:wrap;gap:2px;padding:6px 8px;display:flex}.tiptap-toolbar button{min-width:30px;height:28px;font-size:13px;font-family:var(--admin-font);border-radius:var(--admin-radius);cursor:pointer;color:var(--admin-fg);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0 6px;font-weight:500;transition:background .1s,border-color .1s;display:inline-flex}.tiptap-toolbar button:hover{background:var(--admin-surface);border-color:var(--admin-subtle)}.tiptap-toolbar button.is-active{background:var(--admin-selected);color:var(--admin-selected-fg);border-color:var(--admin-selected)}.tiptap-toolbar .toolbar-divider{background:var(--admin-subtle);align-self:stretch;width:1px;margin:2px 4px}.tiptap-editor{min-height:200px;font-size:14px;line-height:1.6;font-family:var(--admin-font);color:var(--admin-fg);outline:none;padding:12px 16px}.tiptap-editor p{margin:0 0 8px}.tiptap-editor p:last-child{margin-bottom:0}.tiptap-editor h2{margin:16px 0 8px;font-size:18px;font-weight:700}.tiptap-editor h3{margin:12px 0 6px;font-size:15px;font-weight:600}.tiptap-editor ul,.tiptap-editor ol{margin:0 0 8px;padding-left:20px}.tiptap-editor li{margin-bottom:2px}.tiptap-editor strong{font-weight:700}.tiptap-editor em{font-style:italic}.tiptap-editor a{color:var(--admin-fg);text-underline-offset:3px;text-decoration:underline}.tiptap-editor .is-editor-empty:before{content:attr(data-placeholder);color:var(--admin-muted);pointer-events:none;float:left;height:0}body:has(.admin){color:#000!important;background:#fdfdfc!important;margin:0!important;padding:0!important;overflow-x:visible!important}html:has(.admin) body{font-family:Inter,system-ui,-apple-system,sans-serif}:root{--admin-bg:#fdfdfc;--admin-fg:#000;--admin-muted:#666;--admin-subtle:#e5e5e5;--admin-surface:#fff;--admin-hover:#f5f5f0;--admin-selected:#000;--admin-selected-fg:#fdfdfc;--admin-danger:#a00000;--admin-radius:4px;--admin-border:1px solid var(--admin-fg);--admin-border-subtle:1px solid var(--admin-subtle);--admin-space-1:4px;--admin-space-2:8px;--admin-space-3:12px;--admin-space-4:16px;--admin-space-5:24px;--admin-space-6:32px;--admin-space-8:48px;--admin-font:"Inter", system-ui, -apple-system, sans-serif;--admin-font-size:14px;--admin-line-height:1.5;--admin-sidebar-width:240px;--admin-header-height:56px}.admin,.admin *{box-sizing:border-box}.admin{background:var(--admin-bg);min-height:100vh;color:var(--admin-fg);font-family:var(--admin-font);font-size:var(--admin-font-size);line-height:var(--admin-line-height);-webkit-font-smoothing:antialiased}body.light-mode .admin,.admin{background:var(--admin-bg);color:var(--admin-fg)}.admin h1{margin:0 0 var(--admin-space-4);letter-spacing:-.01em;font-size:24px;font-weight:700}.admin h2{margin:0 0 var(--admin-space-3);font-size:18px;font-weight:600}.admin h3{margin:0 0 var(--admin-space-2);font-size:15px;font-weight:600}.admin p{margin:0 0 var(--admin-space-3)}.admin a:not(.btn){color:var(--admin-fg);text-underline-offset:3px;text-decoration:underline}.admin a:not(.btn):hover,.admin a.btn{text-decoration:none}.admin code{background:var(--admin-hover);border-radius:var(--admin-radius);padding:1px 4px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px}.admin-layout{grid-template-columns:var(--admin-sidebar-width) 1fr;height:100vh;display:grid;overflow:hidden}.admin-sidebar{background:var(--admin-bg);border-right:var(--admin-border);flex-direction:column;height:100vh;display:flex;overflow-y:auto}.admin-sidebar-brand{height:var(--admin-header-height);padding:0 var(--admin-space-5);letter-spacing:.02em;text-transform:uppercase;border-bottom:var(--admin-border);flex:none;align-items:center;font-size:16px;font-weight:800;display:flex}.admin-nav{padding:var(--admin-space-4) var(--admin-space-3);flex-direction:column;flex:auto;gap:2px;min-height:0;display:flex;overflow-y:auto}.admin-nav-group-label{text-transform:uppercase;letter-spacing:.08em;color:var(--admin-muted);padding:var(--admin-space-4) var(--admin-space-2) var(--admin-space-2);font-size:11px;font-weight:600}.admin-nav a{align-items:center;gap:var(--admin-space-2);padding:var(--admin-space-2) var(--admin-space-3);color:var(--admin-fg);border-radius:var(--admin-radius);border:1px solid #0000;font-weight:500;text-decoration:none;display:flex}.admin-nav a:hover{background:var(--admin-hover)}.admin-nav a.active{background:var(--admin-selected);color:var(--admin-selected-fg);border-color:var(--admin-selected)}.admin-main{flex-direction:column;min-width:0;height:100vh;display:flex;overflow:hidden}.admin-header{height:var(--admin-header-height);border-bottom:var(--admin-border);padding:0 var(--admin-space-5);background:var(--admin-bg);flex:none;justify-content:space-between;align-items:center;display:flex}.admin-header-title{font-size:15px;font-weight:600}.admin-user{align-items:center;gap:var(--admin-space-3);font-size:13px;display:flex}.admin-content{padding:var(--admin-space-6) var(--admin-space-5);flex:auto;overflow-y:auto}.admin-content>*{max-width:1200px}.btn{justify-content:center;align-items:center;gap:var(--admin-space-2);border-radius:var(--admin-radius);border:var(--admin-border);background:var(--admin-bg);color:var(--admin-fg);font-family:inherit;font-size:var(--admin-font-size);cursor:pointer;padding:8px 14px;font-weight:500;text-decoration:none;transition:background 80ms linear;display:inline-flex}.btn:hover{background:var(--admin-hover)}.btn-primary{background:var(--admin-fg);color:var(--admin-selected-fg)}.btn-primary:hover{background:#222}.btn-danger{border-color:var(--admin-danger);color:var(--admin-danger)}.btn-danger:hover{background:#fff0f0}.btn-ghost{border-color:#0000}.btn-ghost:hover{border-color:var(--admin-fg)}.btn:disabled{opacity:.5;cursor:not-allowed}.input,.select,.textarea{border:var(--admin-border);border-radius:var(--admin-radius);background:var(--admin-surface);width:100%;color:var(--admin-fg);font-family:inherit;font-size:var(--admin-font-size);line-height:var(--admin-line-height);padding:8px 10px}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--admin-fg);outline-offset:-1px}.textarea{resize:vertical;min-height:120px}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--admin-fg) 50%), linear-gradient(135deg, var(--admin-fg) 50%, transparent 50%);background-position:calc(100% - 14px),calc(100% - 10px);background-repeat:no-repeat;background-size:4px 4px,4px 4px;padding-right:28px}.field{gap:var(--admin-space-1);margin-bottom:var(--admin-space-4);flex-direction:column;display:flex}.field-label{text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:600}.field-hint{color:var(--admin-muted);font-size:12px}.field-error{color:var(--admin-danger);font-size:12px}.card{border:var(--admin-border);border-radius:var(--admin-radius);padding:var(--admin-space-5);background:var(--admin-bg)}.table{border-collapse:collapse;border:var(--admin-border);border-radius:var(--admin-radius);background:var(--admin-bg);width:100%;overflow:hidden}.table th,.table td{padding:var(--admin-space-3);text-align:left;border-bottom:var(--admin-border-subtle)}.table th{text-transform:uppercase;letter-spacing:.06em;border-bottom:var(--admin-border);background:var(--admin-hover);font-size:12px;font-weight:700}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--admin-hover)}.tag{border:var(--admin-border);border-radius:var(--admin-radius);background:var(--admin-bg);align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:500;line-height:1.6;display:inline-flex}.tag-solid{background:var(--admin-fg);color:var(--admin-selected-fg)}.tag-danger{border-color:var(--admin-danger);color:var(--admin-danger)}.tag-muted{border-color:var(--admin-subtle);color:var(--admin-muted)}.tag-removable{padding-right:4px}.tag-remove-btn{cursor:pointer;color:inherit;background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1}.stats-grid{gap:var(--admin-space-4);margin-bottom:var(--admin-space-6);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.stat-card{border:var(--admin-border);border-radius:var(--admin-radius);padding:var(--admin-space-4)}.stat-card-label{text-transform:uppercase;letter-spacing:.08em;color:var(--admin-muted);margin-bottom:var(--admin-space-1);font-size:11px;font-weight:600}.stat-card-value{letter-spacing:-.02em;font-size:28px;font-weight:700}.toolbar{justify-content:space-between;align-items:center;gap:var(--admin-space-3);margin-bottom:var(--admin-space-4);flex-wrap:wrap;display:flex}.toolbar-left,.toolbar-right{align-items:center;gap:var(--admin-space-2);display:flex}.admin-login-page{background:var(--admin-bg);min-height:100vh;padding:var(--admin-space-5);place-items:center;display:grid}.admin-login-card{width:100%;max-width:400px;padding:var(--admin-space-6);border:var(--admin-border);border-radius:var(--admin-radius);background:var(--admin-bg)}.admin-login-brand{letter-spacing:.02em;text-transform:uppercase;text-align:center;margin-bottom:var(--admin-space-5);padding-bottom:var(--admin-space-4);border-bottom:var(--admin-border);font-size:18px;font-weight:800}.alert{padding:var(--admin-space-3);border:var(--admin-border);border-radius:var(--admin-radius);margin-bottom:var(--admin-space-4);font-size:13px}.alert-danger{border-color:var(--admin-danger);color:var(--admin-danger)}.alert-success{color:#1a6e2e;border-color:#1a6e2e}.skeleton{background:linear-gradient(90deg, var(--admin-hover) 0%, var(--admin-subtle) 50%, var(--admin-hover) 100%);border-radius:var(--admin-radius);background-size:200% 100%;animation:1.4s infinite skeleton-pulse}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{text-align:center;padding:var(--admin-space-8) var(--admin-space-5);color:var(--admin-muted);border:1px dashed var(--admin-subtle);border-radius:var(--admin-radius)}@media (width<=760px){.admin-layout{grid-template-rows:auto 1fr;grid-template-columns:1fr;height:100vh}.admin-sidebar{border-right:none;border-bottom:var(--admin-border);height:auto;padding:var(--admin-space-3) 0}.admin-main{height:auto;min-height:0}}
