:root{
  --bg:#f5f7fb; --surface:#fff; --surface-2:#f0f3f9; --text:#172033; --muted:#647089;
  --primary:#3157d5; --primary-2:#2445b3; --border:#dfe4ee; --danger:#b42318; --success:#087443;
  --shadow:0 12px 32px rgba(31,43,72,.08); --radius:16px; --radius-sm:10px;
}
*{box-sizing:border-box} html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Arial,"Segoe UI",sans-serif}
body{overflow-x:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}
.auth-body{display:grid;place-items:center;min-height:100vh;padding:24px}.auth-shell{width:min(440px,100%)}
.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:34px;box-shadow:var(--shadow);text-align:right}.auth-card h1{margin:10px 0 6px;font-size:30px}.muted,.sidebar-subtitle,.topbar-kicker,.auth-footnote{color:var(--muted)}
.brand-mark{width:42px;height:42px;display:grid;place-items:center;background:var(--primary);color:#fff;border-radius:12px;font-weight:800}.auth-card .brand-mark{margin-right:auto}
.stack{display:grid;gap:14px;margin-top:20px}label{display:grid;gap:7px;font-weight:700}input,textarea,select{width:100%;border:1px solid var(--border);background:#fff;color:var(--text);border-radius:11px;padding:11px 12px;outline:none}textarea{min-height:170px;resize:vertical}input:focus,textarea:focus,select:focus{border-color:#8193e6;box-shadow:0 0 0 3px rgba(49,87,213,.12)}
.btn{border:1px solid transparent;border-radius:11px;padding:10px 15px;background:#fff}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-2)}.btn-ghost{border-color:var(--border);background:var(--surface)}.btn-danger{color:#fff;background:var(--danger)}.btn-lg{padding:13px 17px}.icon-btn{border:0;background:transparent;color:var(--muted);width:36px;height:36px;border-radius:10px}.icon-btn:hover{background:var(--surface-2);color:var(--text)}
.app-shell{display:flex;min-height:100vh}.sidebar{width:290px;background:#101828;color:#e7ecf5;position:sticky;top:0;height:100vh;padding:18px 15px;display:flex;flex-direction:column}.sidebar-head{display:flex;align-items:center;gap:10px;padding:5px 6px 18px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-head strong{display:block}.sidebar-subtitle{display:block;color:#97a3b9;font-size:12px;margin-top:3px}.sidebar .brand-mark{width:38px;height:38px;background:#4169e1}.nav{display:grid;gap:5px;padding:16px 0}.nav-item{width:100%;display:flex;gap:10px;align-items:center;justify-content:flex-start;border:0;background:transparent;color:#b7c1d3;padding:11px 12px;border-radius:11px;text-align:right}.nav-item:hover,.nav-item.active{background:#1b2740;color:#fff}.sidebar-projects{margin-top:4px;min-height:0;display:flex;flex-direction:column}.section-caption{display:flex;align-items:center;justify-content:space-between;color:#8591a7;font-size:12px;padding:8px 10px}.project-list{overflow:auto;min-height:0;display:grid;gap:3px;padding:3px}.project-entry{border:0;background:transparent;color:#d2d9e6;text-align:right;padding:9px 10px;border-radius:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-entry:hover,.project-entry.active{background:#1b2740;color:#fff}.logout{margin-top:auto}
.main-shell{min-width:0;flex:1}.topbar{height:84px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:10}.topbar h1{margin:2px 0 0;font-size:25px}.topbar-kicker{font-size:12px}.content{padding:28px;max-width:1500px;margin:0 auto}
.grid{display:grid;gap:18px}.mt-lg{margin-top:18px}.mt-md{margin-top:12px}.mt-sm{margin-top:9px}.divider-line{border:0;border-top:1px solid var(--border);margin:18px 0}.action-gap{margin-right:7px}.native-progress{width:100%;height:8px;display:block;accent-color:var(--primary)}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 18px rgba(31,43,72,.04);padding:20px}.card-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:16px}.card h2,.card h3{margin:0 0 6px}.stat{font-size:34px;font-weight:800}.card-sub{color:var(--muted);font-size:13px}.hero{display:grid;gap:16px;padding:24px;background:linear-gradient(135deg,#fff,#eef2ff);border:1px solid #dbe3ff;border-radius:20px}.hero-actions{display:flex;gap:9px;flex-wrap:wrap}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:17px;display:grid;gap:12px;box-shadow:0 4px 16px rgba(31,43,72,.04)}.project-card-title{font-weight:800;font-size:17px}.project-card-link{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.project-card-meta{display:flex;gap:12px;color:var(--muted);font-size:13px}.project-card-actions{display:flex;gap:7px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:var(--surface-2);font-size:12px}.badge.success{color:var(--success);background:#e6f5ee}.badge.danger{color:var(--danger);background:#fde9e7}.badge.primary{color:#2445b3;background:#e7ecff}
.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:14px}.toolbar-left,.toolbar-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.search{min-width:260px}.empty{padding:45px 20px;text-align:center;color:var(--muted)}
.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:14px}.analysis-table{width:100%;border-collapse:separate;border-spacing:0;min-width:900px}.analysis-table th,.analysis-table td{padding:13px 14px;border-bottom:1px solid var(--border);text-align:right;vertical-align:top}.analysis-table th{background:#f8f9fc;color:#52607a;font-size:12px;position:sticky;top:0;z-index:1}.analysis-table th+th,.analysis-table td+td{border-right:1px solid #edf0f5}.analysis-table tr:nth-child(even) td{background:#fbfcfe}.analysis-table tr:last-child td{border-bottom:0}.col-time,.col-importance{white-space:nowrap;text-align:center!important}.col-time{width:90px}.col-importance{width:100px}.col-topic{width:140px}.col-action{width:120px}.quote{font-weight:600;line-height:1.55}.why{color:#4e5d74;line-height:1.55}.action-cell{white-space:nowrap}.importance-pill{display:inline-flex;min-width:34px;justify-content:center;padding:5px 8px;border-radius:8px;background:#edf2ff;color:#2949ad;font-weight:800}
.tabs{display:flex;gap:6px;border-bottom:1px solid var(--border);margin-bottom:18px}.tab-btn{border:0;background:transparent;padding:10px 14px;color:var(--muted);border-bottom:2px solid transparent}.tab-btn.active{color:var(--text);border-color:var(--primary);font-weight:700}.report-list{display:grid;gap:14px}.report-item{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px}.report-meta{color:var(--muted);font-size:12px;margin-bottom:6px}.report-quote{font-weight:800;line-height:1.6}.report-why{color:#46546a;line-height:1.6;margin-top:6px}.report-actions{display:flex;gap:7px;margin-top:12px;flex-wrap:wrap}
.modal-backdrop{position:fixed;inset:0;background:rgba(10,18,35,.48);display:grid;place-items:center;padding:20px;z-index:100}.modal{width:min(720px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.25);padding:22px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.modal-head h2{margin:0}.modal-grid{display:grid;gap:13px}.modal-actions{display:flex;justify-content:flex-start;gap:8px;margin-top:18px;flex-wrap:wrap}.hint{font-size:12px;color:var(--muted);line-height:1.55}.error{min-height:18px;color:var(--danger);font-size:13px}.divider{display:flex;align-items:center;gap:12px;color:var(--muted);margin:20px 0}.divider:before,.divider:after{content:"";height:1px;background:var(--border);flex:1}
.job-drawer{position:fixed;left:22px;bottom:22px;width:min(420px,calc(100vw - 44px));max-height:58vh;overflow:auto;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 18px 50px rgba(22,32,52,.2);z-index:80}.job-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border)}.job-list{display:grid;gap:10px;padding:12px}.job-row{border:1px solid var(--border);border-radius:12px;padding:11px}.job-top{display:flex;justify-content:space-between;gap:8px}.job-msg{font-size:12px;color:var(--muted);margin-top:5px}.progress{height:7px;background:#edf0f5;border-radius:999px;overflow:hidden;margin-top:9px}.progress>i{display:block;height:100%;background:var(--primary);width:0}.toast{position:fixed;right:22px;bottom:22px;background:#172033;color:#fff;border-radius:12px;padding:12px 15px;opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s;z-index:150;max-width:380px}.toast.show{opacity:1;transform:none}.hidden{display:none!important}.mobile-only{display:none}
.channel-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:center;padding:11px 0;border-bottom:1px solid var(--border)}.channel-row:last-child{border-bottom:0}.channel-name{font-weight:700}.channel-url{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.result-list{display:grid;gap:10px}.result-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;border:1px solid var(--border);border-radius:12px;padding:12px}.result-title{font-weight:800}.result-meta{font-size:12px;color:var(--muted);margin-top:4px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:1000px){.sidebar{width:245px}.grid-3{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.content{padding:20px}.topbar{padding:0 20px}}
@media (max-width:760px){.sidebar{position:fixed;right:0;top:0;transform:translateX(102%);transition:.2s;z-index:70;width:290px;box-shadow:-16px 0 40px rgba(0,0,0,.2)}.sidebar.open{transform:none}.mobile-only{display:inline-grid}.topbar{height:auto;min-height:76px;padding:14px}.topbar-actions .btn{padding:9px 11px}.content{padding:14px}.grid-2{grid-template-columns:1fr}.search{min-width:180px}.hero{padding:18px}.analysis-table{min-width:760px}.modal{width:min(100%,720px);padding:17px}}
