@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--ink: #0f172a;--ink-soft: #1e293b;--paper: #f4f5f7;--surface: #ffffff;--surface-hover: #f8fafc;--border: #e2e8f0;--border-strong: #cbd5e1;--text: #0f172a;--muted: #64748b;--muted-light: #94a3b8;--accent: #c41e3a;--accent-hover: #9f1830;--accent-soft: #fef2f2;--success: #15803d;--success-soft: #f0fdf4;--warning: #b45309;--warning-soft: #fffbeb;--danger: #dc2626;--danger-soft: #fef2f2;--sidebar-w: 260px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 4px 16px rgba(15, 23, 42, .08);--shadow-lg: 0 12px 32px rgba(15, 23, 42, .1);font-family:Inter,Segoe UI,system-ui,sans-serif;color:var(--text);background:var(--paper)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--paper);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button,input,textarea,select{font:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);background:var(--ink);color:#ffffffd9;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:50}.sidebar-brand{padding:24px 20px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-logo{font-size:1.25rem;font-weight:700;color:#fff;letter-spacing:-.02em}.sidebar-logo span{color:#fca5a5}.sidebar-tagline{display:block;margin-top:4px;font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;color:#fff6}.sidebar-nav{flex:1;padding:16px 12px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.nav-section-label{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#ffffff59;padding:12px 12px 6px}.nav-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);color:#ffffffa6;font-size:.875rem;font-weight:500;transition:background .15s,color .15s}.nav-link:hover{background:#ffffff0f;color:#fff}.nav-link.active{background:#b91c1c40;color:#fff}.nav-link svg{flex-shrink:0;opacity:.7}.nav-link.active svg{opacity:1}.sidebar-footer{padding:16px;border-top:1px solid rgba(255,255,255,.08)}.user-card{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--radius-md);background:#ffffff0d;margin-bottom:10px}.user-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;flex-shrink:0}.user-info{min-width:0}.user-info strong{display:block;font-size:.8125rem;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-info span{font-size:.6875rem;color:#ffffff73;text-transform:capitalize}.main-content{flex:1;margin-left:var(--sidebar-w);min-height:100vh}.page-wrap{max-width:1200px;margin:0 auto;padding:32px 32px 48px}@media(max-width:768px){.sidebar{transform:translate(-100%)}.main-content{margin-left:0}.page-wrap{padding:20px 16px 40px}}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;flex-wrap:wrap}.page-header h1{margin:0;font-size:1.625rem;font-weight:700;letter-spacing:-.02em;color:var(--ink)}.page-header p{margin:6px 0 0;font-size:.9375rem;color:var(--muted)}.page-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm)}.card-flush{padding:0;overflow:hidden}.card-title{margin:0 0 4px;font-size:1rem;font-weight:600}.card-subtitle{margin:0 0 20px;font-size:.875rem;color:var(--muted)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 22px;box-shadow:var(--shadow-sm)}.stat-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:8px}.stat-value{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--ink)}.stat-hint{margin-top:6px;font-size:.8125rem;color:var(--muted-light)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:var(--radius-sm);border:none;cursor:pointer;background:var(--accent);color:#fff;font-weight:600;font-size:.875rem;transition:background .15s,transform .1s;white-space:nowrap}.btn:hover{background:var(--accent-hover)}.btn:active{transform:scale(.98)}.btn.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn.secondary:hover{background:var(--surface-hover);border-color:var(--border-strong)}.btn.ghost{background:transparent;color:var(--muted);border:1px solid transparent}.btn.ghost:hover{background:var(--surface-hover);color:var(--text)}.btn.danger{background:var(--danger)}.btn.danger:hover{background:#b91c1c}.btn.success{background:var(--success)}.btn.sm{padding:7px 12px;font-size:.8125rem}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-block{width:100%}.link-btn{background:none;border:none;padding:0;color:var(--accent);font-weight:600;cursor:pointer;font-size:inherit}.link-btn:hover{color:var(--accent-hover);text-decoration:underline}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:.8125rem;font-weight:600;color:var(--ink-soft)}.field input,.field textarea,.field select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:10px 14px;transition:border-color .15s,box-shadow .15s}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #0f172a0f}.field-hint{font-size:.75rem;color:var(--muted)}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.badge.draft{background:#f1f5f9;color:#475569}.badge.submitted{background:#dbeafe;color:#1d4ed8}.badge.changes_requested{background:#fef3c7;color:#b45309}.badge.approved{background:#dcfce7;color:#15803d}.badge.published{background:#bbf7d0;color:#166534}.badge.rejected{background:#fee2e2;color:#991b1b}.badge.pending{background:#ffedd5;color:#c2410c}.badge.verified{background:#dcfce7;color:#166534}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:14px 20px;border-bottom:1px solid var(--border);font-size:.875rem}.table th{background:var(--surface-hover);color:var(--muted);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.table tbody tr{transition:background .1s}.table tbody tr:hover{background:var(--surface-hover)}.table tbody tr.selected{background:var(--accent-soft)}.table td.empty{color:var(--muted);text-align:center;padding:32px}.table-action{font-weight:600;font-size:.8125rem}.alert{padding:14px 16px;border-radius:var(--radius-md);margin-bottom:20px;font-size:.875rem;line-height:1.5}.alert.error{background:var(--danger-soft);border:1px solid #fecaca;color:#991b1b}.alert.success{background:var(--success-soft);border:1px solid #bbf7d0;color:#166534}.alert.info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}.editor-shell{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-sm)}.editor-toolbar{display:flex;flex-wrap:wrap;gap:4px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--surface-hover)}.editor-toolbar button{background:var(--surface);border:1px solid var(--border);color:var(--ink-soft);border-radius:var(--radius-sm);padding:6px 12px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .1s,border-color .1s}.editor-toolbar button:hover{border-color:var(--border-strong)}.editor-toolbar button.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.tiptap-editor{min-height:360px;padding:20px 24px;outline:none;font-size:1rem;line-height:1.65}.tiptap-editor p{margin:0 0 .75rem}.tiptap-editor h2{margin:1.25rem 0 .5rem;font-size:1.375rem}.tiptap-editor .is-editor-empty:first-child:before{color:var(--muted-light);content:attr(data-placeholder);float:left;height:0;pointer-events:none}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-brand{background:var(--ink);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:48px}.login-brand h1{font-size:2.5rem;font-weight:700;letter-spacing:-.03em;margin:0 0 16px;line-height:1.1}.login-brand h1 span{color:#fca5a5}.login-brand p{font-size:1.0625rem;line-height:1.65;color:#fff9;max-width:360px;margin:0}.login-features{margin-top:40px;display:grid;gap:16px}.login-feature{display:flex;align-items:flex-start;gap:12px;font-size:.875rem;color:#ffffffbf}.login-feature-icon{width:32px;height:32px;border-radius:var(--radius-sm);background:#ffffff14;display:flex;align-items:center;justify-content:center;flex-shrink:0}.login-panel{display:flex;align-items:center;justify-content:center;padding:48px 32px;background:var(--paper)}.login-card{width:min(400px,100%)}.login-card h2{margin:0 0 6px;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.login-card .subtitle{margin:0 0 28px;color:var(--muted);font-size:.9375rem}.login-switch{margin-top:24px;text-align:center;font-size:.875rem;color:var(--muted)}@media(max-width:768px){.login-page{grid-template-columns:1fr}.login-brand{display:none}}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.flex-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.quick-actions{display:flex;gap:12px;flex-wrap:wrap}.review-panel{position:sticky;top:24px}.review-content{border-top:1px solid var(--border);padding-top:16px;margin-bottom:20px;max-height:320px;overflow-y:auto;font-size:.9375rem;line-height:1.65;color:var(--ink-soft)}.save-indicator{font-size:.8125rem;color:var(--muted);display:flex;align-items:center;gap:6px}.save-dot{width:8px;height:8px;border-radius:50%;background:var(--success)}.empty-panel{text-align:center;padding:48px 24px;color:var(--muted)}.empty-panel svg{margin-bottom:12px;opacity:.4}@media(max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr}}
