:root{color-scheme:dark;--bg-0: #1c1c1e;--bg-1: #2c2c2e;--bg-2: rgba(255, 255, 255, .04);--bg-3: #3a3a3c;--text-0: #f2f2f7;--text-1: #d1d1d6;--text-2: #8e8e93;--text-3: #636366;--text-4: #48484a;--border-1: rgba(255, 255, 255, .08);--border-2: rgba(255, 255, 255, .14);--accent: #b8864a;--accent-1: #b8864a;--accent-soft: rgba(184, 134, 74, .14);--accent-strong: rgba(184, 134, 74, .45);--danger: #e05252;--danger-soft: rgba(224, 82, 82, .12);--success: #3ecf71;--success-soft: rgba(62, 207, 113, .14);--radius-sm: 5px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 14px;--shadow-1: 0 1px 2px rgba(0, 0, 0, .18);--shadow-2: 0 1px 3px rgba(0, 0, 0, .24), 0 6px 14px rgba(0, 0, 0, .18);--shadow-lift: 0 4px 14px rgba(0, 0, 0, .28);--focus-ring: 0 0 0 3px rgba(184, 134, 74, .18);--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif;--font-serif: "Iowan Old Style", "Apple Garamond", Georgia, "Times New Roman", serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--transition: .15s cubic-bezier(.2, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-sans);background:var(--bg-0);color:var(--text-0);font-size:13px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input,button,textarea,select{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer;background:transparent;border:none}button:disabled{cursor:default;opacity:.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#ffffff29}.app-shell{display:flex;height:100vh;overflow:hidden;background:var(--bg-0)}.app-main{flex:1;overflow:auto;background:var(--bg-0);position:relative;min-width:0}.app-main.is-editor{overflow:hidden;display:flex;flex-direction:column}.app-shell-page-enter{animation:rvm-page-fade .2s ease}@keyframes rvm-page-fade{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.sidebar{width:224px;flex-shrink:0;background:var(--bg-1);border-right:1px solid var(--border-1);display:flex;flex-direction:column;padding:18px 12px 12px;transition:width var(--transition)}.sidebar.collapsed{width:60px;padding:18px 8px 12px}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:4px 6px 22px}.sidebar-brand-logo{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:7px;background:#ffffff0a;overflow:hidden}.sidebar-brand-logo img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}.sidebar-brand-text{display:flex;flex-direction:column;gap:1px;min-width:0}.sidebar-brand-name{font-family:var(--font-serif);font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--text-0);line-height:1.1}.sidebar-brand-mark{font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);line-height:1.1}.sidebar-brand-collapsed{display:flex;justify-content:center;align-items:center;padding:2px 0 22px}.sidebar-brand-collapsed .sidebar-brand-logo{width:32px;height:32px}.sidebar-nav{display:flex;flex-direction:column;gap:1px}.sidebar-item{position:relative;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--text-2);font-size:13px;font-weight:400;transition:background var(--transition),color var(--transition);cursor:pointer;border:none;background:transparent;text-align:left;width:100%;text-decoration:none}.sidebar-item:hover{background:#ffffff09;color:var(--text-0);text-decoration:none}.sidebar-item.active{background:#b8864a1a;color:var(--text-0);font-weight:500}.sidebar-item.active:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:2px;border-radius:0 2px 2px 0;background:var(--accent)}.sidebar.collapsed .sidebar-item.active:before{left:-8px}.sidebar-item.active .sidebar-icon{color:var(--accent)}.sidebar-icon{width:18px;flex-shrink:0;display:inline-flex;justify-content:center;font-size:14px;color:var(--text-3);transition:color var(--transition)}.sidebar-item:hover .sidebar-icon{color:var(--text-1)}.sidebar-footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--border-1);display:flex;flex-direction:column;gap:4px}.sidebar-user{display:flex;align-items:center;gap:9px;padding:4px 4px 8px}.sidebar-user-avatar{width:30px;height:30px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(140deg,#b8864a52,#b8864a1a);color:var(--text-0);font-size:12px;font-weight:600;font-family:var(--font-serif);letter-spacing:.02em}.sidebar-user-meta{display:flex;flex-direction:column;min-width:0;gap:1px}.sidebar-user-name{font-size:12px;font-weight:500;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-email{font-size:10.5px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-collapse-btn{margin-top:6px;font-size:11px;color:var(--text-3);padding:6px 10px;border-radius:var(--radius-sm);background:transparent;border:none;display:flex;align-items:center;gap:6px;transition:background var(--transition),color var(--transition)}.sidebar-collapse-btn:hover{background:var(--bg-2);color:var(--text-1)}.page{padding:32px 40px 64px;max-width:1280px;animation:rvm-page-fade .2s ease}.page-narrow{max-width:880px}.page-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}.page-title{font-family:var(--font-serif);font-size:30px;font-weight:600;letter-spacing:-.015em;color:var(--text-0);margin:0;line-height:1.15}.page-subtitle{color:var(--text-2);font-size:13px;margin:0;line-height:1.5}.section-label{font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--text-3)}@media(max-width:720px){.page{padding:22px 18px 48px}.page-title{font-size:24px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;font-size:12.5px;font-weight:500;border-radius:var(--radius-md);border:1px solid transparent;transition:background var(--transition),border-color var(--transition),color var(--transition),transform var(--transition),box-shadow var(--transition);white-space:nowrap;line-height:1.2;font-variant-numeric:tabular-nums}.btn:active{transform:translateY(.5px)}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-primary{background:var(--accent);color:#1c1c1e;border-color:var(--accent);font-weight:600;box-shadow:var(--shadow-1)}.btn-primary:hover{background:#c69257;border-color:#c69257}.btn-primary:disabled{background:var(--bg-3);color:var(--text-3);border-color:transparent;box-shadow:none}.btn-secondary{background:transparent;color:var(--text-1);border-color:var(--border-2)}.btn-secondary:hover{background:var(--bg-2);border-color:#fff3;color:var(--text-0)}.btn-ghost{background:transparent;color:var(--text-2);border-color:transparent}.btn-ghost:hover{background:#ffffff0b;color:var(--text-0)}.btn-danger{background:transparent;color:var(--danger);border-color:#e0525252}.btn-danger:hover{background:var(--danger-soft);border-color:var(--danger)}.btn-sm{padding:6px 11px;font-size:11.5px}.btn-lg{padding:10px 20px;font-size:13.5px}.btn-icon{width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center}.input,.textarea,.select{width:100%;padding:9px 12px;background:var(--bg-1);color:var(--text-0);border:1px solid var(--border-1);border-radius:var(--radius-md);outline:none;font-size:13px;line-height:1.4;transition:border-color var(--transition),background var(--transition),box-shadow var(--transition)}.input:hover,.textarea:hover,.select:hover{border-color:var(--border-2)}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);background:var(--bg-1);box-shadow:var(--focus-ring)}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.textarea{resize:vertical;min-height:64px;line-height:1.55}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.field-hint{font-size:11.5px;color:var(--text-3);line-height:1.45}.pill{padding:6px 12px;font-size:11.5px;font-weight:500;border-radius:100px;background:transparent;color:var(--text-2);border:1px solid var(--border-1);text-transform:capitalize;transition:background var(--transition),border-color var(--transition),color var(--transition);line-height:1.2}.pill:hover{background:#ffffff09;color:var(--text-0);border-color:var(--border-2)}.pill.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-strong)}.card{background:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.card-hover{transition:background var(--transition),border-color var(--transition),transform var(--transition),box-shadow var(--transition)}.card-hover:hover{background:var(--bg-1);border-color:#ffffff29;transform:translateY(-1px);box-shadow:var(--shadow-lift)}.card-hover:hover .card-cover img{transform:scale(1.02)}.card-cover{overflow:hidden;background:var(--bg-3)}.card-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s cubic-bezier(.2,0,.2,1)}.table{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}.table thead tr{color:var(--text-3)}.table th{padding:11px 12px;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-align:left;border-bottom:1px solid var(--border-1);color:var(--text-3)}.table td{padding:13px 12px;vertical-align:middle}.table tbody tr{border-bottom:1px solid var(--border-1);transition:background var(--transition);cursor:pointer}.table tbody tr:hover{background:#ffffff06}.badge{display:inline-block;padding:2px 8px;border-radius:100px;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.badge-draft{background:#8e8e932e;color:var(--text-1)}.badge-review{background:#5fa0ff2e;color:#79b1ff}.badge-scheduled{background:#b8864a33;color:var(--accent)}.badge-published{background:#3ecf712e;color:var(--success)}.badge-archived{background:#48484a80;color:var(--text-3)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(6px) saturate(1.1);backdrop-filter:blur(6px) saturate(1.1);display:flex;align-items:center;justify-content:center;z-index:1000;padding:32px;animation:rvm-modal-fade-in .18s ease}.modal{background:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--radius-lg);box-shadow:0 24px 70px #00000080;max-width:100%;max-height:100%;display:flex;flex-direction:column;overflow:hidden;animation:rvm-modal-scale-in .2s ease}@keyframes rvm-modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes rvm-modal-scale-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-1)}.modal-title{font-size:14px;font-weight:600;color:var(--text-0)}.modal-body{padding:18px;overflow:auto}.modal-footer{padding:14px 18px;border-top:1px solid var(--border-1);display:flex;gap:8px;justify-content:flex-end}.empty{padding:64px 28px;text-align:center;color:var(--text-3);border:1px dashed var(--border-1);border-radius:var(--radius-lg);font-size:13.5px;background:#ffffff04;display:flex;flex-direction:column;align-items:center;gap:12px}.empty-icon{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#b8864a1a;color:var(--accent);font-size:22px;margin-bottom:4px}.empty-title{font-family:var(--font-serif);font-size:18px;font-weight:600;color:var(--text-1);letter-spacing:-.01em}.empty-subtitle{color:var(--text-3);font-size:13px;max-width:380px;line-height:1.5}.kbd{display:inline-block;padding:1px 6px;font-family:var(--font-mono);font-size:11px;background:var(--bg-3);border:1px solid var(--border-2);border-radius:var(--radius-sm);color:var(--text-1);line-height:1.4}.divider-h{height:1px;background:var(--border-1);margin:12px 0}.muted{color:var(--text-3)}.mono{font-family:var(--font-mono)}.spinner-line{color:var(--text-3);font-size:12px;padding:20px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(212px,1fr));gap:16px;margin-bottom:28px}.kpi{background:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--radius-lg);padding:18px 20px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow-1);transition:border-color var(--transition),transform var(--transition)}.kpi:hover{border-color:var(--border-2)}.kpi-label{font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--text-3)}.kpi-value{font-family:var(--font-serif);font-size:30px;font-weight:600;letter-spacing:-.015em;color:var(--text-0);font-variant-numeric:tabular-nums;line-height:1.1}.kpi-delta{font-size:11.5px;color:var(--text-3)}.skeleton{background:linear-gradient(90deg,#ffffff0a,#ffffff14,#ffffff0a);background-size:200% 100%;animation:rvm-shimmer 1.4s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes rvm-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-card{aspect-ratio:16 / 9;background:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--radius-lg);overflow:hidden}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.1);border-top-color:var(--accent);animation:rvm-spin .7s linear infinite;display:inline-block}@keyframes rvm-spin{to{transform:rotate(360deg)}}.editor-shell{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--bg-0);overflow:hidden}.editor-topbar{position:sticky;top:0;z-index:5;height:54px;flex-shrink:0;display:flex;align-items:center;gap:10px;padding:0 16px;background:#2c2c2ed9;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid var(--border-1)}.editor-body{flex:1;display:flex;overflow:hidden;min-height:0}.editor-content{flex:1;overflow:auto;display:flex;justify-content:center;padding:36px 28px 140px;background:var(--bg-0)}.editor-content-inner{width:100%;max-width:720px}
