:root{--bg:#f7f8f5;--paper:#fff;--ink:#202720;--muted:#858d85;--line:#e9ece7;--green:#1f714d;--soft:#eaf4ee;--dark:#18251e;--amber:#f2b544;--radius:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans',sans-serif}.shell{min-height:100vh;display:flex}.sidebar{width:250px;background:var(--paper);border-right:1px solid var(--line);padding:26px 16px 18px;display:flex;flex-direction:column;flex-shrink:0}.brand{display:flex;align-items:center;gap:11px;padding:0 9px 35px;color:inherit;text-decoration:none}.brand-icon{width:39px;height:39px;border-radius:12px;background:var(--dark);color:#a9e0bd;display:grid;place-items:center;font:800 12px Manrope;letter-spacing:-1px}.brand b{display:block;font:800 13px Manrope;letter-spacing:1.1px}.brand small,.profile small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.nav-label{font-size:10px;font-weight:700;letter-spacing:1.1px;color:#a0a69f;padding:0 11px 12px}.nav-item{display:flex;align-items:center;gap:13px;width:100%;padding:11px 12px;border:0;background:transparent;color:#6b736c;text-align:left;border-radius:10px;margin:2px 0;font:500 13px 'DM Sans';cursor:pointer}.nav-item i{font-style:normal;font-size:18px;width:19px;text-align:center}.nav-item:hover,.nav-item.active{background:#edf5f0;color:var(--green);font-weight:700}.sidebar-bottom{margin-top:auto}.profile{display:flex;align-items:center;gap:10px;padding:14px 6px;border-top:1px solid var(--line)}.profile b{font-size:12px}.avatar{width:34px;height:34px;background:#f2f5ef;border-radius:50%;display:grid;place-items:center;color:var(--green)}.dot{width:7px;height:7px;border-radius:50%;background:#56b67a;margin-left:auto}.privacy{display:block;color:#a0a69f;font-size:10px;line-height:1.5;padding:4px 6px}.main{min-width:0;flex:1}.topbar{height:68px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.76);display:flex;align-items:center;justify-content:space-between;padding:0 38px}.crumb{font-size:12px;color:var(--muted)}.crumb span{margin:0 10px;color:#c6cbc5}.crumb b{color:var(--ink);font-weight:600}.top-right{display:flex;align-items:center;gap:17px}.market{font-size:11px;color:#647067;background:#fff;border:1px solid var(--line);padding:7px 10px;border-radius:20px}.icon-button{border:0;background:transparent;color:#717a72;font-size:18px;cursor:pointer}.avatar.small{width:29px;height:29px;font-size:12px}.content{max-width:1270px;padding:35px 40px 70px;margin:auto}.eyebrow{font-size:11px;color:var(--green);font-weight:700;letter-spacing:.5px;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{font:700 28px Manrope;letter-spacing:-.8px;margin:8px 0}h2{font:700 17px Manrope;letter-spacing:-.3px;margin:0}h3{font:700 14px Manrope;margin:0 0 8px}.sub{color:var(--muted);line-height:1.6;font-size:13px;margin:7px 0 0}.heading-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:25px}.button{border:1px solid transparent;border-radius:9px;padding:10px 15px;font:600 12px 'DM Sans';cursor:pointer;transition:.15s}.button:hover{transform:translateY(-1px)}.primary{color:white;background:var(--green)}.secondary{background:white;border-color:var(--line);color:#555f57}.soft-button{border:0;background:var(--soft);color:var(--green);border-radius:8px;padding:8px 11px;font:600 11px 'DM Sans';cursor:pointer}.grid{display:grid;gap:16px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:19px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:19px}.stat-label{font-size:11px;color:var(--muted)}.stat-value{font:700 24px Manrope;margin:12px 0 5px}.stat-foot{font-size:10px;color:#929a93}.stat-icon{float:right;width:31px;height:31px;border-radius:9px;background:var(--soft);color:var(--green);display:grid;place-items:center}.two-col{grid-template-columns:1.4fr 1fr}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.task{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid #f0f2ee}.check{appearance:none;width:17px;height:17px;border:1.5px solid #cbd2cb;border-radius:5px;margin:1px 0 0;cursor:pointer;flex-shrink:0}.check:checked{background:var(--green);border-color:var(--green)}.check:checked:after{content:'✓';display:block;color:white;font-size:12px;text-align:center;line-height:15px}.task-title{font-size:12px;font-weight:600}.task-meta{color:var(--muted);font-size:10px;margin-top:4px}.empty{padding:23px;text-align:center;border:1px dashed #dce2db;border-radius:12px;color:var(--muted);font-size:12px;line-height:1.6}.empty strong{display:block;color:var(--ink);font-size:13px;margin-bottom:5px}.partner-card{background:var(--dark);color:#fff;border-radius:var(--radius);padding:22px;position:relative;overflow:hidden}.partner-card:after{content:'✳';position:absolute;right:14px;top:-24px;color:rgba(150,211,170,.12);font-size:145px}.partner-card h2{font-size:16px;position:relative}.partner-card p{color:#b6c4bb;font-size:11px;line-height:1.6;max-width:340px;margin:10px 0 16px;position:relative}.partner-card .button{position:relative;background:#a8ddba;color:#173b28}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:30px;background:#edf5f0;color:var(--green);padding:6px 9px;font-size:10px;font-weight:700}.badge.gray{background:#f3f4f2;color:#727a73}.progress{height:6px;background:#eef0ed;border-radius:5px;overflow:hidden;margin:14px 0 7px}.progress span{height:100%;display:block;background:#4d9a6e;border-radius:5px}.row-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.list-card{margin-top:18px}.table{width:100%;border-collapse:collapse}.table th{text-align:left;color:#909891;font-size:10px;font-weight:600;padding:10px;border-bottom:1px solid var(--line)}.table td{padding:13px 10px;border-bottom:1px solid #f0f2ef;font-size:12px}.table tr:last-child td{border:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:flex;flex-direction:column;gap:6px;margin:10px 0}.field label{font-size:11px;color:#687169;font-weight:600}.field input,.field select,.field textarea,input,select,textarea{font:13px 'DM Sans';color:var(--ink)}.field input,.field select,.field textarea{padding:10px 11px;border:1px solid var(--line);border-radius:8px;outline:none;background:#fff}.field input:focus,.field textarea:focus,.field select:focus{border-color:#6ca885;box-shadow:0 0 0 3px #eaf4ee}.field textarea{min-height:90px;resize:vertical}.idea-card{display:flex;flex-direction:column;min-height:200px}.idea-card .badge{align-self:flex-start}.idea-card h3{margin-top:16px}.idea-card p{color:var(--muted);font-size:12px;line-height:1.55;flex:1}.idea-tags{display:flex;gap:6px;flex-wrap:wrap}.idea-tags span{background:#f5f6f4;border-radius:5px;padding:5px 7px;color:#697169;font-size:9px}.project-card{cursor:pointer;transition:.15s}.project-card:hover{border-color:#a9cdb5;transform:translateY(-2px)}.project-card .project-mark{width:38px;height:38px;border-radius:11px;background:#eef4ef;display:grid;place-items:center;color:var(--green);font-weight:700;margin-bottom:15px}.project-note{font-size:12px;color:var(--muted);line-height:1.55;margin:8px 0 14px}.calc-result{background:var(--dark);color:white;border-radius:13px;padding:18px;margin-top:16px}.calc-result span{display:block;color:#bdc9c0;font-size:11px}.calc-result strong{display:block;font:700 25px Manrope;margin:7px 0}.calc-result small{color:#bdc9c0;font-size:10px}.mobile-menu{display:none}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}dialog{border:1px solid var(--line);border-radius:16px;width:min(500px,calc(100% - 28px));padding:22px;box-shadow:0 20px 80px #13231b2b}dialog::backdrop{background:#101a1480}.modal-head h2{font-size:17px}#modal-body{max-height:65vh;overflow:auto}.hint{font-size:10px;color:var(--muted);line-height:1.5}.divider{height:1px;background:var(--line);margin:18px 0}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--dark);color:white;padding:11px 16px;border-radius:10px;font-size:12px;box-shadow:0 8px 30px #0002;z-index:5}
@media(max-width:1000px){.sidebar{width:220px}.content{padding:28px 24px 60px}.topbar{padding:0 24px}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.sidebar{position:fixed;z-index:4;inset:0 auto 0 0;width:260px;transform:translateX(-102%);transition:.2s;box-shadow:10px 0 30px #00000010}.sidebar.open{transform:translateX(0)}.mobile-menu{display:block;border:0;background:none;font-size:18px;margin-right:10px}.topbar{height:58px;padding:0 16px;justify-content:flex-start}.crumb{font-size:10px}.top-right{margin-left:auto;gap:10px}.market{font-size:9px;padding:6px}.content{padding:25px 16px 50px}.heading-row{gap:12px;align-items:flex-start}h1{font-size:23px}.heading-row .button{padding:9px;font-size:10px}.stats{gap:10px}.card{padding:15px}.stat-value{font-size:21px}.two-col{grid-template-columns:1fr}.grid{gap:12px}.form-grid{grid-template-columns:1fr}.table th,.table td{padding:10px 6px}.table{min-width:550px}.table-wrap{overflow:auto}.desktop-only{display:none}}
.chat-card{padding:0;overflow:hidden}.chat-top{height:68px;padding:0 20px;display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--line)}.chat-top .avatar{font-size:17px}.chat-top b{display:block;font-size:12px}.chat-top small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.chat-top .badge{margin-left:auto}.chat-log{height:min(55vh,560px);min-height:340px;overflow:auto;padding:24px;display:flex;flex-direction:column;gap:13px}.welcome-chat{margin:auto;text-align:center;max-width:500px;padding:25px 0}.welcome-star{width:44px;height:44px;border-radius:14px;background:var(--soft);color:var(--green);display:grid;place-items:center;font-size:23px;margin:0 auto 15px}.welcome-chat h2{font-size:19px}.welcome-chat p{color:var(--muted);line-height:1.6;font-size:12px}.suggestions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:20px}.suggestions button{background:white;border:1px solid var(--line);border-radius:20px;padding:9px 12px;color:#59635b;font:500 10px 'DM Sans';cursor:pointer}.suggestions button:hover{border-color:#86b798;color:var(--green)}.message{max-width:min(78%,650px);padding:12px 14px;border-radius:13px;font-size:12px;line-height:1.65;white-space:pre-wrap}.user-message{align-self:flex-end;background:#edf5f0;color:#23392b;border-bottom-right-radius:4px}.assistant-message{align-self:flex-start;background:#f4f5f3;color:#303832;border-bottom-left-radius:4px}.error-message{color:#8b442a;background:#fff1e9}.chat-compose{display:flex;align-items:flex-end;gap:10px;padding:13px 16px;border-top:1px solid var(--line)}.chat-compose textarea{flex:1;resize:none;border:1px solid var(--line);border-radius:11px;padding:12px;outline:none;max-height:110px}.chat-compose textarea:focus{border-color:#6ca885}.send-button{width:39px;height:39px;border:0;border-radius:11px;background:var(--green);color:white;font-size:21px;cursor:pointer}.chat-disclaimer{padding:0 17px 13px;color:#999f99;font-size:9px;line-height:1.5}
.auth-root[hidden],.shell[hidden]{display:none}.auth-root{min-height:100vh;padding:24px;display:grid;place-items:center;background:radial-gradient(ellipse at top,#e8f3eb 0,transparent 48%),var(--bg)}.auth-card{width:min(440px,100%);padding:34px;background:white;border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 60px #13231b12}.auth-brand{padding:0 0 28px}.auth-card h1{font-size:26px;margin:9px 0}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f2f4f1;border-radius:10px;padding:4px;margin:23px 0 18px}.auth-tabs button{border:0;background:none;padding:10px;border-radius:8px;color:#687169;font:600 12px 'DM Sans';cursor:pointer}.auth-tabs button.selected{background:white;color:var(--green);box-shadow:0 1px 4px #00000010}.auth-card .field{margin:13px 0}.auth-card .field span{font-size:11px;color:#687169;font-weight:600}.auth-card .field input{width:100%;margin-top:7px}.auth-submit{width:100%;margin-top:7px}.auth-submit:disabled{opacity:.65;cursor:wait}.auth-error{min-height:19px;color:#a34a35;font-size:11px;line-height:1.5}.auth-privacy{margin:19px 0 0;color:#929a93;font-size:10px;line-height:1.6;text-align:center}@media(max-width:480px){.auth-root{padding:15px}.auth-card{padding:25px 20px}}
