:root{--ink: #111827;--muted: #6b7c77;--line: #e4ece8;--bg: #f3f6f5;--surface: #ffffff;--hero: #0c3f44;--hero-2: #0a3539;--mint: #d8f5e6;--mint-2: #b7ebd0;--brand: #128a4a;--logo: #0c3f44;--brand-dark: #0e6f3b;--soft: #f2faf6;--danger: #c2410c;--ok: #157a4b;--info: #e8f4ff;--radius: 22px;--shadow: 0 18px 50px rgb(12 63 68 / 8%);font-family:Inter,Segoe UI,system-ui,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;min-height:100%}a{color:var(--brand);text-decoration:none}button,input{font:inherit}h1,h2,p{margin-top:0}.muted{color:var(--muted)}.text-link{border:0;background:none;padding:0;color:var(--brand);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.text-link:disabled{opacity:.6}.history-export{margin:18px 0 0;font-size:.88rem}.error{color:var(--danger);font-weight:600}.success{color:var(--ok);font-weight:600}.brand{display:flex;align-items:center;color:var(--logo);justify-content:center}.brand-container{display:flex;align-items:center;justify-content:space-around;gap:10px}.brand-logo{display:block;line-height:0}.brand-logo svg{display:block;height:100px;width:auto;fill:currentColor}.auth-hero .brand-logo svg{height:100px;max-width:240px}.brand.dark{color:var(--logo)}.auth-hero .brand{color:#fff}.icon-link{display:inline-flex;align-items:center;gap:4px}.brand-mark{width:38px;height:38px;border-radius:999px;display:grid;place-items:center;background:#7ee0b0;color:var(--hero);flex-shrink:0}.auth-split{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.auth-hero{background:radial-gradient(circle at 80% 80%,rgb(126 224 176 / 12%),transparent 40%),var(--hero);color:#fff;padding:36px 48px;display:flex;flex-direction:column;position:relative;overflow:hidden}.auth-hero:after{content:"";position:absolute;right:-80px;bottom:-90px;width:420px;height:420px;border-radius:50%;border:40px solid rgb(255 255 255 / 4%)}.auth-hero-copy{margin:auto 0;max-width:520px}.auth-kicker{display:flex;align-items:center;gap:10px;letter-spacing:.14em;font-size:.72rem;color:#7ee0b0;font-weight:700}.auth-hero h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.1;margin:16px 0}.auth-panel{display:grid;place-items:center;padding:32px;background:var(--bg)}.auth-card{width:min(440px,100%);background:var(--surface);border-radius:28px;padding:36px 32px;box-shadow:var(--shadow)}.eyebrow{color:var(--brand);font-size:.72rem;font-weight:700;letter-spacing:.12em;margin-bottom:8px}.auth-card h1{font-size:2rem;margin-bottom:22px}.field{display:grid;gap:8px;font-weight:600;font-size:.92rem;margin-bottom:14px}.field-label{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.field-hint{font-size:.72rem;font-weight:700;letter-spacing:.04em;color:var(--muted);flex-shrink:0}.field-hint.required{color:var(--brand)}.field-control{position:relative;display:block}.field-control input{width:100%;border:1px solid var(--line);border-radius:14px;padding:13px 16px;background:#fff}.field-control .suffix{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:500;font-size:.85rem}.field-control input.has-suffix{padding-right:64px}.show-pass{border:0;background:transparent;color:var(--muted);font-size:.82rem;margin:-6px 0 10px auto;display:flex;cursor:pointer}.btn{border:0;border-radius:999px;padding:13px 18px;background:var(--brand);color:#fff;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:disabled{opacity:.6}.btn.block{width:100%}.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.danger{background:#fff;color:var(--danger);border:1px solid #f3d1c4}.btn.soft{background:var(--mint);color:var(--brand-dark)}.auth-foot{text-align:center;margin-top:16px;color:var(--muted)}.auth-legal{text-align:center;margin:12px 0 0;color:var(--muted);font-size:.92rem}.auth-notice{margin:16px 0 4px;padding:10px 14px;background:var(--soft);border:1px solid var(--line);border-radius:16px;text-align:left}.auth-notice summary{cursor:pointer;font-size:.92rem;font-weight:800;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}.auth-notice summary::-webkit-details-marker{display:none}.auth-notice summary svg{color:var(--muted);flex-shrink:0}.auth-notice[open] summary{margin-bottom:10px}.auth-notice p{margin:0 0 8px;color:var(--muted);font-size:.86rem;line-height:1.5}.auth-notice p:last-child{margin-bottom:0}.legal-shell{height:100%;overflow-y:auto;background:var(--bg)}.legal-inner{max-width:760px;margin:0 auto;padding:28px 20px 72px}.legal-top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:28px}.legal-nav{display:flex;gap:16px;font-weight:700}.legal-doc h1{font-size:2rem;margin-bottom:8px}.legal-doc h2{font-size:1.15rem;margin:28px 0 10px}.legal-doc p,.legal-doc li{color:var(--muted);line-height:1.65}.legal-doc ul{padding-left:20px}.legal-doc li{margin-bottom:8px}.legal-close{margin-top:32px}.shell{height:100%;min-height:100%;display:grid;grid-template-columns:250px 1fr;overflow:hidden}.sidebar{position:relative;z-index:30;height:100%;overflow-y:auto;background:#fff;padding:22px 16px;display:flex;flex-direction:column;gap:18px;border-right:1px solid var(--line);box-shadow:8px 0 24px #0c3f440a}.side-nav{display:grid;gap:6px}.side-nav a{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:14px;color:#4b5c57;font-weight:600}.side-nav a.active{background:var(--mint);color:var(--brand-dark)}.tip{margin-top:auto;background:var(--soft);border-radius:16px;padding:14px;color:var(--muted);font-size:.82rem}.tip strong{display:flex;gap:6px;color:var(--brand);margin-bottom:6px}.workspace{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.topbar{position:relative;z-index:20;flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:18px 28px 12px;background:#fff;border-bottom:1px solid var(--line)}.topbar small{color:var(--muted);letter-spacing:.12em;font-size:.7rem;font-weight:700}.account-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;color:var(--ink);font-weight:600;box-shadow:0 8px 20px #0c3f441a}.content{flex:1;min-height:0;overflow-y:auto;padding:16px 28px 48px;width:100%}.page-head{margin-bottom:18px}.page-head h1{font-size:2.1rem;margin-bottom:6px}.back{color:var(--muted);font-weight:600;display:inline-flex;gap:6px;margin-bottom:10px}.panel{background:var(--surface);border-radius:var(--radius);padding:22px;box-shadow:0 10px 30px #0c3f440a}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.grid-costs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.home-tools{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.tool-card{display:block;border:1px solid var(--line);border-radius:18px;padding:22px;color:inherit;background:#fff}.tool-card h2{font-size:1.15rem;margin:28px 0 6px}.help-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.help-chip{border:1px solid var(--line);border-radius:999px;padding:12px 16px;display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:600;background:#fff}.icon-bubble{width:38px;height:38px;border-radius:12px;background:var(--mint);color:var(--brand);display:grid;place-items:center}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.tab{border:0;background:transparent;color:var(--muted);font-weight:700;padding:8px 14px;border-radius:999px;cursor:pointer}.tab.active{background:var(--brand);color:#fff}.tab.ghost{background:#eef3f1;color:var(--ink)}.segment{display:grid;grid-template-columns:1fr 1fr;background:#f3f6f5;border-radius:14px;padding:4px;margin-bottom:18px}.segment button{border:0;background:transparent;padding:10px;border-radius:10px;font-weight:700;color:var(--muted);cursor:pointer}.segment button.active{background:#fff;color:var(--brand)}.metric{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff}.metric.mint{background:var(--mint);border-color:transparent}.metric span{display:block;color:var(--muted);font-size:.72rem;letter-spacing:.06em;font-weight:700;margin-bottom:8px}.metric strong{font-size:1.35rem}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.help-page{min-height:280px;display:grid;place-items:center;text-align:center;background:#f7fbf9;border-radius:18px;padding:40px 24px}.help-page ul{text-align:left;display:inline-block;color:var(--muted)}.account-stack{display:grid;gap:16px;max-width:640px}.account-hero-panel{background:linear-gradient(160deg,#f7fbf9,#fff 70%)}.account-hero{display:flex;gap:16px;align-items:center}.account-hero h2{margin:0 0 4px;font-size:1.35rem}.account-hero p{margin:0}.account-avatar{width:72px;height:72px;border-radius:999px;background:linear-gradient(160deg,var(--mint-2),#7ee0b0);color:var(--hero);display:grid;place-items:center;font-weight:800;font-size:1.3rem;letter-spacing:.02em;flex-shrink:0}.account-badge{display:inline-flex;margin-top:8px;background:var(--mint);color:var(--brand-dark);border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:700;letter-spacing:.03em}.account-stack h3{margin:0 0 6px;font-size:1.08rem}.account-readonly{display:block;border:1px solid var(--line);background:var(--soft);border-radius:14px;padding:13px 16px;color:var(--muted);font-weight:500}.account-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.account-danger{border:1px solid #f3d1c4;background:#fff8f5}.sync-banner{margin:14px 0;background:var(--info);color:#2563eb;border-radius:12px;padding:12px 14px;font-weight:600}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.92rem}.data-table th{text-align:left;color:var(--muted);font-size:.72rem;letter-spacing:.06em;padding:0 12px 10px 0}.data-table td{padding:12px 12px 12px 0;border-top:1px solid var(--line);vertical-align:top}.data-table strong{display:block}.activity-chart{display:grid;grid-template-columns:repeat(14,1fr);gap:8px;align-items:end;min-height:140px;margin-top:16px}.activity-col{display:grid;gap:8px;justify-items:center}.activity-bars{height:110px;display:flex;align-items:end;gap:3px}.activity-bars .bar{width:7px;min-height:4px;border-radius:999px;background:var(--brand)}.activity-bars .bar.harvest{background:#0c3f44}.activity-bars .bar.costs{background:#7ee0b0}.activity-col small{color:var(--muted);font-size:.62rem;text-transform:capitalize}.chart-legend{display:flex;gap:16px;margin-top:14px;color:var(--muted);font-size:.82rem;font-weight:600}.chart-legend .dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:6px;background:var(--brand)}.chart-legend .dot.harvest{background:#0c3f44}.chart-legend .dot.costs{background:#7ee0b0}@media(max-width:980px){.auth-split,.shell,.grid-2,.grid-3,.grid-4,.grid-costs,.home-tools,.help-row{grid-template-columns:1fr}.auth-hero{display:none}html,body,#root,.shell{height:auto;min-height:100%}.shell{grid-template-columns:1fr;overflow:visible}.sidebar{position:sticky;top:0;z-index:30;height:auto;overflow:visible;border-right:0;border-bottom:1px solid var(--line);box-shadow:0 8px 24px #0c3f440f}.workspace{overflow:visible}.topbar{position:sticky;top:0;z-index:20}.content{overflow:visible}.activity-chart{grid-template-columns:repeat(7,1fr)}}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px}.pagination-info{margin:0;color:var(--muted);font-size:.85rem}.pagination-actions{display:flex;gap:8px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0c3f4473;display:flex;align-items:center;justify-content:center;padding:20px}.modal-card{width:min(480px,100%);background:var(--surface);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.modal-card h2{margin:0 0 12px;font-size:1.35rem}.modal-body{color:var(--muted);line-height:1.5;margin-bottom:20px}.modal-body p:last-child{margin-bottom:0}.modal-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}@media print{.sidebar,.topbar,.no-print,.back{display:none!important}html,body,#root,.shell,.workspace,.content{height:auto;overflow:visible}.shell{display:block}.content{padding:0}}
