:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#25302b;background:#f8f9f6;font-synthesis:none;font-size:15px;--lime:#c4ef83;--ink:#202c26;--muted:#7d877f;--line:#e7eae2}
body{font:15px Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f8f9f6;color:#25302b}
button,input,textarea,select{font:inherit}
button:focus-visible,a:focus-visible{outline:3px solid #86ae55;outline-offset:3px}
input,textarea,select{border:1px solid #dfe5da;border-radius:9px;color:#202c26;line-height:1.5;outline:none}
input:focus,textarea:focus,select:focus{border-color:#82a956;box-shadow:0 0 0 3px #c4ef8335}
.app{background:#f8f9f6;align-items:stretch}
.side{width:235px;flex:none;min-height:100vh;height:100vh;position:sticky;top:0;z-index:10;padding:30px 18px 14px;background:#111a17;border-right:0;color:#bbc4bc;gap:6px}
.side .brand{display:block;padding:0 12px;color:#f5f8ef;font-size:28px;font-weight:700;letter-spacing:-1.2px;text-decoration:none}
.side .brand i{color:#c4ef83}
.side .workspace{margin:30px 0 22px;padding:12px 10px;border:1px solid #2a352e;border-radius:10px;background:transparent;color:#818f84;font-size:12px}
.side .workspace strong{color:#e2e8de;font-size:13px;font-weight:600}
.side .nav{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:8px;color:#9eaba1;text-align:left;font-size:13px;font-weight:450;line-height:1.35}
.side .nav svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.side .nav:hover{background:#202c24;color:#fff}
.side .nav.active{background:#c4ef83;color:#24321d;font-weight:600}
.side .logout{border-top:1px solid #2a352e;border-radius:0;padding-top:18px;margin-top:auto}
.main{width:calc(100% - 235px);max-width:1520px;min-width:0;margin:0 auto;padding:35px 36px 28px}
.app .main{max-width:1520px}
.title{align-items:center;margin-bottom:27px;gap:20px}
.title h1{font-size:32px;line-height:1.25;letter-spacing:-1.25px;font-weight:620;margin:0;color:#25302b}
.eyebrow{font-size:12px;letter-spacing:1.6px;font-weight:600;color:#8b9488;margin-bottom:10px}
.panel{background:#fff;border:1px solid #e7eae2;border-radius:13px;padding:24px;margin-bottom:20px}
.panel h2{font-size:17px;letter-spacing:-.3px;font-weight:600;color:#25302b;margin:0 0 9px}
.muted,.panel>.subtle{font-size:13px;line-height:1.65;color:#899183}
label{font-size:12px;font-weight:500;color:#6a775d;margin:18px 0}
label input,label textarea,label select{margin-top:9px;font-size:13px}
.primary,.extra-actions .primary{background:#c4ed87;border:1px solid #bce17f;color:#25351f;border-radius:8px;padding:10px 17px;font-size:13px;font-weight:600;min-height:39px}
.primary:hover,.extra-actions .primary:hover{background:#b6e575}
.extra-actions button:not(.primary),.choice{border:1px solid #e0e5dc;border-radius:8px;background:#fff;color:#4f5d50;font-size:12px;font-weight:500}
.extra-actions button:not(.primary):hover,.choice:hover{background:#f0f4ea}
.choice.selected{border-color:#a9c981;background:#f7faef;box-shadow:none}
.choice strong{font-size:13px;font-weight:600}
.choice small{font-size:12px;line-height:1.6;color:#8a9385}
.quota{background:#f0f6e7;border:1px solid #dfe9d1;border-radius:10px;color:#667b50;font-size:12px}
.quota strong{font-weight:600;color:#667b50}
.avatar-stage{background:radial-gradient(ellipse at 50% 42%,#f4f8ed 0%,#eaf0df 45%,#e0e8d6 100%);border:1px solid #dce4d3;border-radius:16px}
.chat{background:#fbfcf9;border:1px solid #e7eae2;border-radius:12px}
.msg{font-size:13px;line-height:1.7}
.msg.user{background:#f0f5e9;color:#506046}
.msg.bot{background:#fff;color:#5b6554}
.onboard-card{border:1px solid #e7eae2;border-radius:16px}
.onboard-card h1{font-size:30px;font-weight:620;letter-spacing:-1.1px}
.mode-choice{border-radius:10px;font-size:13px}
.mode-choice.active{border:1px solid #a9c981;background:#f7faef}
.auth{background:#fbfcf8}
.authbox{border:1px solid #e7eae2;border-radius:16px;box-shadow:0 18px 50px #15291b12}
.intro{background:radial-gradient(ellipse at center,#354734,#17221b);color:#ecf4e4}
.intro h1{font-size:36px;line-height:1.2;font-weight:500;letter-spacing:-1.3px}
.intro p{font-size:13px;color:#9ba98e}
.formbox .brand{font-weight:700}
.formbox label{font-size:12px}
.tabs button{font-size:13px;font-weight:500}
.tabs .active{color:#25351f;border-bottom-color:#c4ef83;font-weight:600}
@media(max-width:900px){.side{width:66px;padding:22px 8px}.side .brand{font-size:0;padding:0 12px}.side .brand::before{content:'✦';font-size:24px;color:#c4ef83}.side .brand i,.side .workspace,.side .nav span,.side .logout span{display:none}.side .nav{justify-content:center;padding:12px}.main{width:calc(100% - 66px);padding:26px 20px}.extra-grid{grid-template-columns:1fr}}
@media(max-width:600px){.main{padding:22px 15px}.panel{padding:18px}.title h1{font-size:25px}.authbox{grid-template-columns:1fr}.intro{padding:30px}.formbox{padding:28px}}
