@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--bg-page:#0b0f14;--bg-card:#111827;--bg-input:#161d2b;--bg-hover:#1a2232;--bg-overlay:#0d1117;--border:#1f2937;--border-mid:#374151;--border-focus:#7c3aed;--purple:#7c3aed;--purple-hover:#6d28d9;--purple-dim:rgba(124,58,237,.12);--purple-ring:rgba(124,58,237,.25);--purple-text:#a78bfa;--green:#10b981;--green-dim:rgba(16,185,129,.12);--green-text:#34d399;--amber:#f59e0b;--amber-dim:rgba(245,158,11,.12);--amber-text:#fcd34d;--red:#ef4444;--red-dim:rgba(239,68,68,.12);--red-text:#fca5a5;--blue:#3b82f6;--blue-dim:rgba(59,130,246,.12);--blue-text:#93c5fd;--text-1:#e5e7eb;--text-2:#9ca3af;--text-3:#6b7280;--text-4:#374151;--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:40px;--s6:48px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-pill:9999px;--font:"Inter",system-ui,-apple-system,sans-serif;--fs-xs:11px;--fs-sm:13px;--fs-base:14px;--fs-md:15px;--fs-lg:17px;--fs-xl:20px;--fs-2xl:24px;--fs-3xl:30px;--shadow-sm:0 1px 3px rgba(0,0,0,.5);--shadow-md:0 4px 12px rgba(0,0,0,.6);--shadow-lg:0 8px 32px rgba(0,0,0,.7);--shadow-purple:0 0 0 3px var(--purple-ring);--sidebar-w:216px;--sidebar-bg:#090d12;--t:120ms ease}body,html{background:var(--bg-page);color:var(--text-1);font-family:var(--font);font-size:var(--fs-base);line-height:1.5;min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:var(--font)}.dashboard-layout{display:flex;min-height:100vh;background:var(--bg-page)}.sidebar{width:var(--sidebar-w);background:var(--sidebar-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:50;transition:transform .2s ease}.main-content{margin-left:var(--sidebar-w);flex:1;display:flex;flex-direction:column;min-width:0}.topbar{height:52px;background:var(--sidebar-bg);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--s3);position:sticky;top:0;z-index:40;flex-shrink:0}.page-content{padding:var(--s3);max-width:1160px;width:100%;margin:0 auto}.sidebar-logo{display:flex;align-items:center;gap:var(--s1);padding:var(--s2) var(--s2);border-bottom:1px solid var(--border);height:52px}.sidebar-logo-icon{width:26px;height:26px;background:var(--purple);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-logo-text{font-size:var(--fs-sm);font-weight:700;color:var(--text-1);letter-spacing:-.02em}.sidebar-nav{flex:1;padding:var(--s1);overflow-y:auto}.sidebar-section-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-4);padding:var(--s1) 10px 6px}.sidebar-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--r-md);font-size:var(--fs-sm);font-weight:500;color:var(--text-3);cursor:pointer;transition:all var(--t);margin-bottom:2px;border:1px solid transparent;text-decoration:none}.sidebar-item svg{opacity:.5;flex-shrink:0}.sidebar-item:hover{background:var(--bg-hover);color:var(--text-2)}.sidebar-item.active{background:var(--purple-dim);color:var(--purple-text);border-color:var(--purple-ring)}.sidebar-item.active svg{opacity:1}.sidebar-badge{margin-left:auto;background:var(--purple);color:#fff;font-size:10px;font-weight:700;padding:1px 6px;border-radius:var(--r-pill);min-width:18px;text-align:center;line-height:1.7}.sidebar-footer{padding:var(--s1);border-top:1px solid var(--border)}.sidebar-user{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-md);cursor:pointer;transition:background var(--t)}.sidebar-user:hover{background:var(--bg-hover)}.sidebar-avatar{width:28px;height:28px;border-radius:var(--r-md);background:var(--purple);display:flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:700;color:#fff;flex-shrink:0;letter-spacing:0}.sidebar-user-name{font-size:var(--fs-sm);font-weight:500;color:var(--text-1);line-height:1.3}.sidebar-user-email{font-size:11px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px;line-height:1.3}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.card-body,.card-header{padding:var(--s2)}.card-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.card-title{font-size:var(--fs-sm);font-weight:600;color:var(--text-1);letter-spacing:-.01em}.btn{display:inline-flex;align-items:center;gap:6px;border-radius:var(--r-md);font-family:var(--font);font-weight:500;cursor:pointer;transition:all var(--t);text-decoration:none;white-space:nowrap;border:1px solid transparent;outline:none;line-height:1}.btn-xs{font-size:11px;padding:4px 10px}.btn-sm{font-size:var(--fs-xs);padding:5px 12px}.btn-md{font-size:var(--fs-sm);padding:8px var(--s2)}.btn-lg{font-size:var(--fs-base);padding:10px var(--s3)}.btn-primary{background:var(--purple);color:#fff;border-color:var(--purple);font-weight:600}.btn-primary:hover{background:var(--purple-hover);border-color:var(--purple-hover)}.btn-primary:active{filter:brightness(.9)}.btn-primary:focus-visible{box-shadow:var(--shadow-purple)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--text-2);border-color:var(--border-mid)}.btn-secondary:hover{background:var(--bg-hover);color:var(--text-1);border-color:var(--border-mid)}.btn-ghost{background:transparent;color:var(--text-3);border-color:transparent}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-2)}.btn-danger{background:transparent;color:var(--red-text);border-color:transparent}.btn-danger:hover{background:var(--red-dim)}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:var(--r-pill);font-size:11px;font-weight:600;white-space:nowrap;letter-spacing:.01em;border:1px solid transparent}.badge:before{content:"";width:5px;height:5px;border-radius:50%;flex-shrink:0}.badge-draft{background:rgba(55,65,81,.4);color:var(--text-3);border-color:var(--border)}.badge-draft:before{background:var(--text-4)}.badge-generated{background:var(--blue-dim);color:var(--blue-text);border-color:rgba(59,130,246,.2)}.badge-generated:before{background:var(--blue-text)}.badge-pending{background:var(--amber-dim);color:var(--amber-text);border-color:rgba(245,158,11,.2)}.badge-pending:before{background:var(--amber-text)}.badge-approved{background:var(--purple-dim);color:var(--purple-text);border-color:var(--purple-ring)}.badge-approved:before{background:var(--purple-text)}.badge-published{background:var(--green-dim);color:var(--green-text);border-color:rgba(16,185,129,.2)}.badge-published:before{background:var(--green-text)}.badge-failed{background:var(--red-dim);color:var(--red-text);border-color:rgba(239,68,68,.2)}.badge-failed:before{background:var(--red-text)}.badge-skipped{background:rgba(31,41,55,.5);color:var(--text-4);border-color:var(--border)}.badge-skipped:before{background:var(--text-4)}.badge-rss{background:rgba(31,41,55,.4);color:var(--text-3);border-color:var(--border);font-size:10px}.badge-manual{background:var(--purple-dim);color:var(--purple-text);border-color:var(--purple-ring);font-size:10px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s2);text-decoration:none;display:block;transition:border-color var(--t),transform .12s ease;position:relative;overflow:hidden}.stat-card:hover{border-color:var(--border-mid);transform:translateY(-1px)}.stat-label{font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);margin-bottom:var(--s1)}.stat-value{font-size:32px;font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--text-1)}.stat-hint{font-size:11px;font-weight:600;margin-top:6px;color:var(--text-3)}.list-row{display:flex;align-items:center;gap:var(--s2);padding:12px var(--s2);border-bottom:1px solid var(--border);transition:background var(--t)}.list-row:last-child{border-bottom:none}.list-row:hover{background:var(--bg-hover)}.input,.textarea{width:100%;background:var(--bg-input);border:1px solid var(--border-mid);border-radius:var(--r-md);color:var(--text-1);font-family:var(--font);font-size:var(--fs-sm);padding:8px var(--s2);transition:border-color var(--t),box-shadow var(--t);outline:none}.input::-moz-placeholder,.textarea::-moz-placeholder{color:var(--text-4)}.input::placeholder,.textarea::placeholder{color:var(--text-4)}.input:focus,.textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--purple-ring)}.textarea{resize:vertical;min-height:80px;line-height:1.6}.tabs{display:flex;gap:2px;background:var(--bg-input);padding:3px;border-radius:var(--r-md);width:-moz-fit-content;width:fit-content;border:1px solid var(--border)}.tab{padding:5px var(--s2);border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:500;cursor:pointer;color:var(--text-3);background:transparent;border:none;font-family:var(--font);transition:all var(--t)}.tab:hover{color:var(--text-2)}.tab.active{background:var(--bg-card);color:var(--text-1);font-weight:600;box-shadow:var(--shadow-sm)}.page-title{font-size:var(--fs-2xl);font-weight:700;color:var(--text-1);letter-spacing:-.03em;line-height:1.15}.section-title{font-size:var(--fs-sm);font-weight:600;color:var(--text-1);letter-spacing:-.01em}.label{display:block;font-size:var(--fs-xs);font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px}.divider{height:1px;background:var(--border)}.animate-in{animation:fadeUp .2s ease both}@keyframes fadeUp{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.shimmer{background:linear-gradient(90deg,var(--bg-hover) 25%,var(--bg-input) 50%,var(--bg-hover) 75%);background-size:200%;animation:shimmer 1.5s infinite;border-radius:var(--r-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.toggle{width:36px;height:20px;background:var(--bg-hover);border:1px solid var(--border-mid);border-radius:var(--r-pill);position:relative;cursor:pointer;transition:all var(--t);flex-shrink:0}.toggle.on{background:var(--purple);border-color:var(--purple)}.toggle-thumb{width:14px;height:14px;background:var(--text-4);border-radius:50%;position:absolute;top:2px;left:2px;transition:transform var(--t),background var(--t)}.toggle.on .toggle-thumb{transform:translateX(16px);background:#fff}@keyframes spin{to{transform:rotate(1turn)}}.spinner{width:14px;height:14px;border:2px solid hsla(0,0%,100%,.15);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:inline-block;flex-shrink:0}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--text-4)}::-moz-selection{background:var(--purple-dim);color:var(--purple-text)}::selection{background:var(--purple-dim);color:var(--purple-text)}.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--s2)}.modal{background:var(--bg-card);border:1px solid var(--border-mid);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);width:100%;max-width:480px;overflow:hidden;animation:modalIn .22s cubic-bezier(.34,1.56,.64,1)}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--sidebar-bg);border-top:1px solid var(--border);z-index:50;padding:6px 0}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;flex:1;text-decoration:none;color:var(--text-3);font-size:10px;font-weight:500;padding:4px 0;transition:color var(--t)}.mobile-nav-item.active{color:var(--purple-text)}@media (max-width:768px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0);box-shadow:var(--shadow-lg)}.main-content{margin-left:0}.mobile-bottom-nav{display:flex}.mobile-menu-btn{display:flex!important}.page-content{padding:var(--s2);padding-bottom:72px}.topbar{padding:0 var(--s2)}}