@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";
:root{--brand-green:#267e4f;--brand-green-light:#31a567;--brand-green-pale:#edf7f2;--brand-earth:#724f31;--brand-earth-light:#f1dfd0;--brand-sky:#2b88ca;--bg-base:#faf8f5;--bg-surface:#fff;--bg-muted:#f3f7f5;--text-primary:#212631;--text-secondary:#676f7e;--text-muted:#9fa3ad;--border:#e2e4e9;--border-focus:#31a567;--shadow-xs:0 1px 2px #14181f0f;--shadow-sm:0 2px 8px #14181f14;--shadow-md:0 4px 16px #14181f1a;--shadow-lg:0 12px 40px #14181f21;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--radius-full:9999px;--transition:.2s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background-color:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6}h1,h2,h3,h4{color:var(--text-primary);font-weight:700;line-height:1.25}h1{font-size:clamp(1.75rem,3vw,2.5rem)}h2{font-size:clamp(1.25rem,2vw,1.75rem)}h3{font-size:1.1rem;font-weight:600}p{color:var(--text-secondary)}a{color:var(--brand-green);text-decoration:none}.page-shell{min-height:100vh;display:flex}.sidebar{background:var(--bg-surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:260px;height:100vh;padding:28px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.main-content{flex:1;max-width:1060px;padding:40px clamp(20px,4vw,52px);overflow-y:auto}.sidebar-logo{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:20px;padding:4px 12px 28px;display:flex}.logo-leaf{background:linear-gradient(135deg, var(--brand-green), var(--brand-green-light));width:36px;height:36px;box-shadow:var(--shadow-sm);border-radius:10px;place-items:center;font-size:18px;display:grid}.logo-text{color:var(--text-primary);font-size:1.1rem;font-weight:800}.logo-text span{color:var(--brand-green)}.nav-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:16px 0 6px;padding:0 12px;font-size:.68rem;font-weight:600}.nav-item{border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:.92rem;font-weight:500;display:flex}.nav-item:hover{background:var(--bg-muted);color:var(--brand-green)}.nav-item.active{background:var(--brand-green-pale);color:var(--brand-green);font-weight:600}.nav-item .nav-icon{text-align:center;width:22px;font-size:1.1rem}.nav-badge{background:var(--brand-green);color:#fff;border-radius:var(--radius-full);margin-left:auto;padding:2px 7px;font-size:.68rem;font-weight:700}.sidebar-user{border-radius:var(--radius-md);background:var(--bg-muted);align-items:center;gap:10px;margin-top:auto;padding:14px 12px;display:flex}.user-avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--brand-green), var(--brand-sky));color:#fff;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:.9rem;font-weight:700;display:grid}.user-name{font-size:.88rem;font-weight:600}.user-role{color:var(--text-muted);font-size:.75rem}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:box-shadow var(--transition), transform var(--transition);padding:28px}.card:hover{box-shadow:var(--shadow-md)}.card-sm{border-radius:var(--radius-md);padding:20px}.stat-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:box-shadow var(--transition);padding:24px;position:relative;overflow:hidden}.stat-card:hover{box-shadow:var(--shadow-sm)}.stat-card:before{content:"";opacity:.07;border-radius:0 0 0 100%;width:80px;height:80px;position:absolute;top:0;right:0}.stat-card.green:before{background:var(--brand-green)}.stat-card.earth:before{background:var(--brand-earth)}.stat-card.sky:before{background:var(--brand-sky)}.stat-icon{margin-bottom:12px;font-size:1.5rem}.stat-value{color:var(--text-primary);margin-bottom:4px;font-size:1.8rem;font-weight:800;line-height:1}.stat-label{color:var(--text-muted);font-size:.82rem;font-weight:500}.stat-delta{color:var(--brand-green);margin-top:6px;font-size:.78rem;font-weight:600}.grid-2{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}@media (max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.sidebar{display:none}}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);border:none;align-items:center;gap:8px;padding:10px 20px;font-family:inherit;font-size:.9rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--brand-green);color:#fff;box-shadow:0 2px 8px #267e4f4d}.btn-primary:hover{background:var(--brand-green-light);transform:translateY(-1px);box-shadow:0 4px 14px #267e4f59}.btn-secondary{background:var(--bg-muted);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--brand-green-pale);border-color:var(--border-focus)}.btn-ghost{color:var(--brand-green);background:0 0;padding:8px 14px}.btn-ghost:hover{background:var(--brand-green-pale)}.btn-sm{padding:7px 14px;font-size:.82rem}.btn-full{justify-content:center;width:100%}.badge{border-radius:var(--radius-full);align-items:center;gap:4px;padding:3px 10px;font-size:.74rem;font-weight:600;display:inline-flex}.badge-green{background:var(--brand-green-pale);color:var(--brand-green)}.badge-earth{background:var(--brand-earth-light);color:var(--brand-earth)}.badge-sky{color:var(--brand-sky);background:#ddedf8}.badge-neutral{background:var(--border);color:var(--text-muted)}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--text-primary);font-size:.85rem;font-weight:600}.input{border:1.5px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);background:var(--bg-surface);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:11px 14px;font-family:inherit;font-size:.92rem}.input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #267e4f1f}.input::placeholder{color:var(--text-muted)}textarea.input{resize:vertical;min-height:90px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:32px;display:flex}.page-header-text p{margin-top:4px;font-size:.95rem}.progress-bar{background:var(--border);border-radius:var(--radius-full);height:6px;margin-top:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--brand-green), var(--brand-green-light));border-radius:var(--radius-full);height:100%;transition:width .6s}.plot-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:box-shadow var(--transition), transform var(--transition);cursor:pointer;overflow:hidden}.plot-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.plot-card-img{background:linear-gradient(135deg,#c1e1d0,#90d5b0);justify-content:center;align-items:center;width:100%;height:160px;font-size:3rem;display:flex;position:relative}.plot-card-img .plot-distance{border-radius:var(--radius-full);color:var(--text-primary);box-shadow:var(--shadow-xs);background:#fff;padding:3px 10px;font-size:.75rem;font-weight:600;position:absolute;top:10px;right:10px}.plot-card-body{padding:16px}.plot-card-title{margin-bottom:6px;font-size:.95rem;font-weight:700}.plot-card-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.plot-card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding-top:12px;display:flex}.plot-price{color:var(--brand-green);font-size:1rem;font-weight:800}.plot-price span{color:var(--text-muted);font-size:.78rem;font-weight:400}.chat-bubble{border-radius:14px;max-width:72%;padding:10px 14px;font-size:.88rem;line-height:1.5}.chat-bubble.from-them{background:var(--bg-muted);border-bottom-left-radius:4px}.chat-bubble.from-me{background:var(--brand-green);color:#fff;border-bottom-right-radius:4px;margin-left:auto}.chat-time{color:var(--text-muted);margin-top:3px;font-size:.7rem}.log-entry{border-bottom:1px solid var(--border);gap:14px;padding:16px 0;display:flex}.log-dot{background:var(--brand-green);border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:6px}.log-date{color:var(--text-muted);font-size:.78rem;font-weight:500}.log-desc{margin:2px 0;font-size:.9rem}.log-yield{color:var(--brand-green);font-size:.82rem;font-weight:700}.hero-gradient{border-radius:var(--radius-xl);color:#fff;background:linear-gradient(135deg,#216e45 0%,#2d8674 60%,#2471a8 100%);padding:40px 36px;position:relative;overflow:hidden}.hero-gradient:after{content:"🌿";opacity:.2;pointer-events:none;font-size:5rem;position:absolute;top:50%;right:32px;transform:translateY(-50%)}.hero-gradient h1,.hero-gradient h2,.hero-gradient p{color:#fff}.hero-gradient p{opacity:.85}.step-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:16px;padding:16px 0;display:flex}.step-row:last-child{border-bottom:none}.step-num{background:var(--brand-green);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:.78rem;font-weight:700;display:grid}.step-content h4{margin-bottom:2px;font-size:.9rem}.step-content p{font-size:.82rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:.45s both fadeUp}.fade-up-1{animation-delay:50ms}.fade-up-2{animation-delay:.12s}.fade-up-3{animation-delay:.19s}.fade-up-4{animation-delay:.26s}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.text-sm{font-size:.85rem}.text-xs{font-size:.75rem}.font-semibold{font-weight:600}.font-bold{font-weight:700}.color-green{color:var(--brand-green)}.color-muted{color:var(--text-muted)}.color-secondary{color:var(--text-secondary)}
