@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap");:root{--bg:#f6f7f4;--paper:#fff;--ink:#222b29;--muted:#7b837f;--line:#e5e9e2;--green:#315e47;--lime:#d9efb0;--soft:#edf3e7}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:DM Sans,Arial,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a:focus-visible,button:focus-visible{outline:3px solid #a6c47c;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #93b377;outline-offset:1px}a{color:var(--green);text-decoration:none}.brand,h1,h2,h3{font-family:Manrope,Arial,sans-serif}h1,h2,h3,p{margin-top:0}h1{font-size:34px;line-height:1.25;letter-spacing:-1.5px;font-weight:650;margin-bottom:10px}h2{font-size:27px;letter-spacing:-.8px;margin:12px 0 14px}h3{font-size:16px;font-weight:700}p{line-height:1.65}.app-shell{display:flex;min-height:100vh}.sidebar{width:247px;min-width:247px;background:#fff;border-right:1px solid var(--line);padding:30px 20px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0}.brand{display:flex;align-items:center;gap:10px;font-size:17px;letter-spacing:.5px;font-weight:800}.brand small{display:block;font-family:DM Sans,sans-serif;color:#89918c;letter-spacing:1.3px;font-size:8px;margin-top:4px;font-weight:500}.brand-icon{width:36px;height:38px;display:grid;place-items:center;color:var(--green)}.workspace{display:flex;align-items:center;gap:10px;margin-top:38px;padding:12px 8px;border:1px solid var(--line);border-radius:7px;font-size:12px;font-weight:600}.workspace-mark{display:grid;place-items:center;background:#e8ece6;color:#586950;width:30px;height:30px;border-radius:5px;font-size:14px}.workspace small{display:block;color:var(--muted);font-size:10px;font-weight:400;margin-top:3px}.workspace .dot{margin-left:auto}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#6b9661;flex-shrink:0}.nav-label{font-size:9px;letter-spacing:1.5px;color:#99a19c;margin:34px 12px 12px}.nav-item{width:100%;border:0;background:transparent;display:flex;gap:12px;align-items:center;padding:13px 12px;margin:4px 0;border-radius:6px;color:#79827c;font-size:13px}.nav-item.active{color:#315e47;background:#edf3e7;font-weight:600}.nav-count{margin-left:auto;font-size:10px;background:#dce8d0;border-radius:4px;padding:2px 6px}.sidebar-bottom{margin-top:auto;padding-top:45px}.radar-status{display:flex;gap:9px;align-items:flex-start;margin:12px 10px 25px;font-size:11px}.radar-status .dot{margin-top:4px}.radar-status small{display:block;margin-top:4px;color:#98a097;font-size:10px}.account{display:flex;gap:10px;align-items:center;border:0;border-top:1px solid var(--line);padding:21px 0 0;background:none;width:100%;text-align:left;font-size:12px}.account>svg{margin-left:auto;color:#8a948b}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#f0e8dd;font-size:11px;color:#846d52;flex-shrink:0}.account small{display:block;font-size:10px;color:#99a095;margin-top:4px}.main{margin-left:247px;min-width:0;width:calc(100% - 247px);display:flex;flex-direction:column}.topbar{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;border-bottom:1px solid var(--line);background:#fafbf8}.breadcrumb{font-size:11px;color:#9ca39c}.breadcrumb span{margin:0 12px;color:#c3c9bf}.breadcrumb strong{font-weight:500;color:#5b665c}.private-label{display:flex;align-items:center;gap:7px;color:#828c7e;font-size:9px;letter-spacing:1.2px}.content{padding:40px 42px 50px;max-width:1600px;width:100%;margin:0 auto}.page-heading{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:32px}.eyebrow{font-size:9px;letter-spacing:1.8px;color:#7b8a6c;font-weight:600;margin-bottom:10px}.page-heading p{color:#8b938b;font-size:12px;margin:0}.primary,.secondary{border-radius:5px;padding:11px 16px;display:inline-flex;gap:9px;align-items:center;justify-content:center;white-space:nowrap;font-size:12px;font-weight:500;line-height:1.4}.primary{border:1px solid #315e47;background:#315e47;color:#fff;box-shadow:0 2px 3px #2443340a}.primary:hover{background:#244b37}.secondary{border:1px solid #dfe5da;color:#5c6958;background:#fff}.secondary:hover{background:#f4f7ef}.text-button{background:none;border:0;color:var(--green);font-size:11px;padding:5px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px;margin-bottom:33px}.stat{background:#fff;border:1px solid var(--line);padding:20px 22px;border-radius:8px}.stat>span{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#8a9488}.stat>span svg{color:#93a089;width:17px}.stat strong{display:flex;align-items:baseline;gap:12px;font-size:34px;font-weight:500;letter-spacing:-1px;margin:12px 0}.stat strong small{font-size:10px;font-weight:400;letter-spacing:0;color:#969e92}.stat-foot{border-top:1px solid #f0f2ed;padding-top:12px;color:#9aa290;font-size:10px;display:flex;align-items:center;gap:7px;min-height:25px}.stat-foot button{margin-left:auto;background:none;border:0;color:#778b67;font-size:9px;padding:0}.opportunity-section{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden}.section-heading{display:flex;justify-content:space-between;align-items:center;padding:0 23px;border-bottom:1px solid var(--line);min-height:58px;gap:15px}.section-heading h3{margin:0}.view-tabs{display:flex;gap:24px;align-self:stretch}.view-tabs button{background:none;border:0;color:#a0a69d;font-size:12px;padding:20px 0;border-bottom:2px solid transparent}.view-tabs button.selected{border-bottom-color:#668552;color:#426038;font-weight:600}.view-tabs span{font-size:9px;background:#f0f3eb;border-radius:4px;padding:2px 5px;margin-left:4px;color:#98a28b}.result-count{font-size:10px;color:#9ca596}.filters{display:flex;gap:10px;padding:18px 22px 10px}.search-box{flex:1 1;min-width:160px;display:flex;align-items:center;gap:9px;background:#fafbf8;border:1px solid #e8ece3;padding:0 12px;border-radius:5px;color:#a4ac9d}.search-box input{background:none;border:0;width:100%;font-size:11px;height:37px;min-width:0}.search-box input:focus{outline:none}.filters select,.secondary-filters select{font-size:10px;color:#7d8875;border:1px solid #e7ebe1;border-radius:4px;background:#fff;padding:9px 11px;max-width:200px}.secondary-filters{padding:0 22px 15px;display:flex;flex-wrap:wrap;gap:7px}.secondary-filters select{font-size:9px;padding:5px 7px;background:#fafbf8;border-color:#f0f2ed;max-width:190px}.secondary-filters button{border:0;background:none;font-size:10px;color:var(--green)}.opportunity{display:flex;align-items:flex-start;gap:16px;border-top:1px solid #edf0e8;padding:25px 23px}.source-avatar{background:#ecf2e6;width:38px;height:38px;flex-shrink:0;border-radius:7px;display:grid;place-items:center;color:#647d4e;font-size:11px;font-weight:600}.opportunity-main{flex:1 1;min-width:0}.project-meta{display:flex;gap:7px;align-items:center;color:#98a08f;font-size:9px;margin:1px 0 8px;flex-wrap:wrap}.project-meta>span:first-child{font-weight:500;color:#77846d}.project-title{display:block;background:none;border:0;text-align:left;padding:0;color:#354333;font-size:14px;font-weight:600;line-height:1.5;margin-bottom:7px}.project-title:hover{color:#738f51}.project-excerpt{font-size:11px;color:#939b8c;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.8;margin-bottom:12px;max-width:650px}.project-tags{display:flex;align-items:center;gap:9px;font-size:9px;color:#9aa18f;flex-wrap:wrap}.category-tag{background:#f0f4eb;border:1px solid #e9eee1;color:#7f916c;padding:4px 7px;white-space:nowrap}.category-tag,.tag{font-size:9px;border-radius:4px}.tag{background:#f2f3ef;color:#929b84;padding:3px 6px}.opportunity-actions{min-width:110px;display:flex;flex-direction:column;align-items:flex-end;gap:13px}.match-badge{display:inline-flex;gap:5px;align-items:center;background:#eff5e6;border:1px solid #e0eacb;padding:5px 8px;border-radius:4px;color:#78954f;font-size:9px;white-space:nowrap}.match-badge .dot{background:#88a65e;width:4px;height:4px}.match-badge.muted{background:#f4f5f1;color:#9aa18e;border-color:#e9ece1}.opportunity-actions select{border:0;background:#f7f8f4;border-radius:4px;padding:5px 7px;font-size:9px;color:#929c87;max-width:115px}.opportunity-actions a{display:flex;gap:4px;align-items:center;color:#8f9d7e;font-size:9px}.empty{text-align:center;padding:64px 25px 72px;border-top:1px solid #edf0e8}.empty-icon{color:#79955e;background:#f0f5e9;width:70px;height:70px;display:grid;place-items:center;margin:0 auto 20px;border-radius:50%}.empty h3{font-size:20px;font-weight:600;color:#4a5e42}.empty p{max-width:420px;margin:0 auto 23px;color:#9aa28f;font-size:12px}.pagination{display:flex;align-items:center;justify-content:space-between;padding:16px 23px;border-top:1px solid var(--line);font-size:10px;color:#9aa28e}.pagination>div{display:flex;gap:6px}.pagination .secondary{font-size:10px;padding:7px 12px}.quiet-note{display:flex;align-items:center;gap:7px;margin-top:20px;font-size:10px;color:#a3ab96}.quiet-note button{background:none;border:0;font-size:10px;color:#83986b}.info-strip{display:flex;align-items:center;gap:13px;background:#edf3e7;border:1px solid #e3ebd8;padding:19px 22px;border-radius:7px;color:#6c8458;font-size:12px;margin-bottom:25px;line-height:1.7}.info-strip p{font-size:11px;margin:4px 0 0;color:#8b9b7a}.source-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px}.source-card{padding:23px;border:1px solid var(--line);border-radius:8px;background:#fff;min-width:0}.source-card-heading{justify-content:space-between;margin-bottom:20px}.source-card-heading,.status-badge{display:flex;align-items:center;gap:5px}.status-badge{font-size:8px;color:#a08b59;background:#faf6e9;padding:5px 7px;border-radius:4px;white-space:nowrap}.status-badge .dot{background:currentColor;width:4px;height:4px}.status-badge.active{color:#78984f;background:#eff5e7}.status-badge.error{color:#af6861;background:#fff0ec}.status-badge.manual_only,.status-badge.paused{color:#969d8a;background:#f1f3ed}.source-card h3{font-size:16px;margin-bottom:7px;color:#4c5e42}.source-url{font-size:10px;color:#98a18b;display:flex;align-items:center;gap:5px;overflow-wrap:anywhere}.source-details{display:grid;grid-template-columns:1fr 1fr;grid-gap:9px;gap:9px;font-size:9px;color:#95a185;border-top:1px solid #edf0e6;margin-top:20px;padding-top:16px}.source-check{font-size:9px;color:#a3aa98;line-height:1.9;margin:20px 0 0}.source-check strong{font-size:10px;font-weight:400;color:#80916c}.source-error,.source-help{padding:10px;background:#fafbf6;border-radius:4px;font-size:10px;margin-top:15px;color:#8f9b7f}.source-error{background:#fff3ed;color:#b07b63;overflow-wrap:anywhere}.source-buttons{display:flex;gap:7px;flex-wrap:wrap;margin-top:20px}.source-buttons .secondary{padding:7px 10px;font-size:10px}.add-source-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;border:1px dashed #d8e1cb;background:#f2f5ec;border-radius:8px;color:#90a276;padding:35px;min-height:270px}.add-source-card strong{font-size:14px;font-weight:500}.add-source-card span{font-size:11px;line-height:1.8;color:#a0ac8d}.panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:25px}.panel>.section-heading{padding:0 0 20px;margin-bottom:5px;min-height:0}.member{display:flex;gap:15px;align-items:center;padding:20px 0;border-bottom:1px solid #f0f2ec;font-size:12px}.member:last-child{border:0}.member>div{flex:1 1}.member strong{font-weight:500}.alert-row small,.member small{display:block;color:#9ba68c;font-size:10px;margin-top:6px}.member>span:not(.avatar):not(.tag){font-size:10px;color:#91a07e}.settings-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}.full-width{grid-column:1/-1}.help{font-size:12px;color:#929d86;line-height:1.8}.alert-row{display:flex;gap:15px;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line);font-size:11px}.alert-row>div{flex:1 1}label{display:block;font-size:11px;font-weight:500;color:#76866a;margin:17px 0}label input:not([type=checkbox]),label select,textarea{display:block;width:100%;border:1px solid #dfe5d5;border-radius:5px;padding:11px 12px;color:#4e6042;background:#fbfcf8;margin-top:7px;font-size:12px}input::placeholder,textarea::placeholder{color:#b0b8a3}textarea{resize:vertical;line-height:1.7}.checkbox{display:flex;gap:8px;align-items:flex-start;font-weight:400;line-height:1.6}.checkbox input{accent-color:#648344;margin-top:3px}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:15px;gap:15px}.input-button{display:flex;gap:6px;align-items:center}.input-button input{flex:1 1;min-width:0}.input-button button{margin-top:7px}.button-row{gap:9px;flex-wrap:wrap;margin-top:18px}.banner,.button-row{display:flex;align-items:center}.banner{padding:13px 18px;border-radius:5px;justify-content:space-between;margin-bottom:20px;line-height:1.7;font-size:12px}.banner button{background:none;border:0;color:inherit;font-size:20px}.error{color:#ab655c;background:#fff0e9;padding:12px;border-radius:5px;font-size:12px;overflow-wrap:anywhere}.success{color:#6c8955;background:#eaf2e2}.modal-backdrop{position:fixed;inset:0;background:#18271b80;z-index:10;display:flex;align-items:center;justify-content:center;padding:25px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{width:620px;max-width:100%;max-height:90vh;overflow:auto;border-radius:10px;background:#fff;padding:35px;box-shadow:0 20px 100px #18371c30;position:relative}.detail-modal{width:760px}.modal-close{position:absolute;right:18px;top:18px;background:#f3f6ed;border:0;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;color:#8a9a76}.modal .info-strip{font-size:11px;padding:13px;margin:16px 0}.modal code{overflow-wrap:anywhere;white-space:normal}.modal fieldset{border:1px solid #e2e8d8;border-radius:5px;padding:15px;margin:20px 0}.modal legend{color:#829570;font-size:11px}.modal details{margin-top:24px}.modal summary,details summary{cursor:pointer;font-size:11px;color:#879975}.preview{border:1px solid #dfe7d3;background:#f6f9f1;border-radius:5px;padding:18px;margin-top:20px}.preview>div{padding:10px 0;border-bottom:1px solid #e5eadc;font-size:11px}.preview p{font-size:10px;margin:6px 0 0}.detail-controls{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}.detail-metadata{display:flex;flex-wrap:wrap;gap:12px;font-size:10px;color:#91a07e;margin:15px 0}.detail-reasons{font-size:11px;color:#8da075;margin-top:15px}.post-body{white-space:pre-wrap;overflow-wrap:anywhere;background:#fafbf7;border:1px solid #edf0e5;border-radius:5px;padding:20px;font-size:12px;line-height:1.9;color:#6e7f5e;margin:20px 0}.inline{display:inline-flex}hr{border:0;border-top:1px solid var(--line);margin:28px 0}.note{border-bottom:1px solid var(--line);font-size:12px;padding:17px 0}.note small{color:#9eab8d;margin-left:10px;font-size:9px}.note p{white-space:pre-wrap;margin:10px 0 0}.small{font-size:10px;margin:10px 0;color:#99a78a}footer{margin-top:auto;padding:25px 42px;border-top:1px solid var(--line);color:#a9b19e;font-size:8px;letter-spacing:1.5px;display:flex;gap:23px}footer span:nth-child(2){letter-spacing:0;font-size:9px;color:#b2b9a7}footer span:last-child{margin-left:auto}.login-screen{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-art{background:#eaf0e1;padding:45px 65px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-art h1{font-size:55px;line-height:1.15;color:#3f5934;letter-spacing:-2px;margin-top:20px}.login-art h1,.login-art p{position:relative;z-index:1}.login-art p{color:#8b9b77;font-size:14px}.login-art small{font-size:10px;color:#91a47a}.login-panel{max-width:420px;width:100%;margin:auto;padding:45px}.login-panel h2{font-size:30px}.login-panel p{font-size:12px;color:#98a487}.login-panel form{margin:30px 0}.login-panel .primary{width:100%;margin-top:15px;justify-content:space-between}.login-panel>small{font-size:9px;color:#aab49c;line-height:1.8;display:block}.orb{height:200px;width:200px;right:-35px;bottom:10%;transform:rotate(-20deg);opacity:.65}.orb,.orb>div{position:absolute;border:1px solid #b9cda3;border-radius:50%}.orb>div{inset:20px}.orb>div:nth-child(2){inset:40px}.orb>div:nth-child(3){inset:60px}.orb span{position:absolute;inset:80px 0 0;text-align:center;color:#97b17b;font-size:8px;line-height:1.6;letter-spacing:2px}.loading{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#859d6b;font-size:12px}@media (min-width:1600px){.content{padding-top:50px}.page-heading{margin-bottom:40px}}@media (max-width:1200px){.sidebar{width:210px;min-width:210px;padding:25px 15px}.main{margin-left:210px;width:calc(100% - 210px)}.content{padding:32px 25px}.topbar{padding:0 25px}.source-grid{grid-template-columns:repeat(2,1fr)}.stats-grid{gap:12px}.stat{padding:17px}.stat strong small{display:none}.filters{flex-wrap:wrap}.search-box{flex-basis:100%}.heading-actions .primary{font-size:10px}.brand{font-size:15px}.opportunity{gap:12px;padding:22px 18px}.source-avatar{width:32px;height:32px}.project-title{font-size:13px}.login-art{padding:40px}.login-art h1{font-size:45px}}@media (max-width:800px){.sidebar{position:static;width:100%;padding:14px 20px;border-right:0;border-bottom:1px solid var(--line)}.app-shell,.sidebar{display:block}.brand{font-size:15px}.brand small,.nav-label,.sidebar-bottom,.workspace{display:none}.sidebar nav{display:flex;margin-top:15px;gap:5px}.nav-item{width:auto;font-size:11px;padding:9px 10px;gap:6px}.nav-item svg{width:16px}.nav-count{font-size:8px}.main{margin:0;width:100%}.topbar{height:50px;padding:0 20px}.content{padding:28px 20px}.page-heading{align-items:flex-start;flex-direction:column;gap:20px}h1{font-size:29px}.page-heading p{font-size:11px}.stats-grid{gap:8px}.stat{padding:13px 12px}.stat>span{font-size:9px}.stat>span svg{display:none}.stat strong{font-size:28px}.stat-foot{font-size:8px;line-height:1.6;flex-wrap:wrap}.stat-foot button{margin-left:0}.private-label{font-size:7px}.opportunity{gap:10px;flex-wrap:wrap}.opportunity>.source-avatar{display:none}.opportunity-main{flex-basis:calc(100% - 110px)}.project-meta{font-size:8px}.project-title{font-size:12px}.project-excerpt{font-size:10px}.project-tags{font-size:8px;gap:6px}.opportunity-actions{min-width:95px}.match-badge{font-size:8px}.section-heading{padding:0 16px}.view-tabs{gap:16px}.view-tabs button{font-size:11px}.filters{padding:15px 15px 8px;gap:7px}.filters select{font-size:9px;max-width:100%;flex:1 1;min-width:80px;padding:8px}.secondary-filters{padding:0 15px 12px}.secondary-filters select{max-width:160px}.source-grid{grid-template-columns:1fr 1fr}.source-card{padding:17px}.source-card-heading{flex-wrap:wrap;gap:10px}.settings-grid{grid-template-columns:1fr}.quiet-note{line-height:1.8;flex-wrap:wrap;font-size:9px}.member{flex-wrap:wrap;font-size:11px;gap:10px}.member .secondary{font-size:9px;padding:7px}.member>div{min-width:150px}.modal{padding:30px 22px;max-height:92vh}.modal-backdrop{padding:12px}.form-grid{gap:10px}.login-screen{grid-template-columns:1fr}.login-art{display:none}.login-panel{padding:35px;max-width:440px}.login-panel h2{font-size:34px}footer{padding:20px;font-size:7px}footer span:last-child{display:none}}@media (max-width:480px){.source-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.stat:last-child{grid-column:1/-1;display:flex;align-items:center;gap:20px}.stat:last-child strong{margin:0}.stat:last-child .stat-foot{margin-left:auto;border:0;display:block}.stat strong small{display:none}.stat>span{font-size:10px}.project-excerpt{-webkit-line-clamp:3}.view-tabs{gap:12px}.view-tabs button{font-size:10px}.form-grid{grid-template-columns:1fr}.form-grid label{margin:10px 0}.modal h2{font-size:24px}.detail-controls{grid-template-columns:1fr;gap:0}.pagination{padding:14px}.pagination,.status-badge{font-size:9px}.source-card-heading{flex-wrap:nowrap}}@media (max-width:800px){.sidebar nav{flex-wrap:wrap}.project-meta{font-size:10px}.project-title{font-size:14px}.project-excerpt{font-size:12px}.project-tags{font-size:10px}.match-badge{font-size:9px}}