@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap");:root{--color-soil:#2c2907;--color-soil-light:#6b6845;--color-sand:#f5f3ee;--color-trend:#e8e5da;--color-chalk:#f4f4f1;--color-warm-white:#fdfcf7;--color-green:#406648;--color-leaf:#5b8b54;--color-sprout:#c0e4b5;--color-water:#4f81aa;--color-water-light:#c8dcf0;--color-sun:#b47a2a;--color-sun-light:#f5dfa8;--color-alert:#b42222;--color-alert-light:#fedbdb;--font-heading:"DM Sans",sans-serif;--font-body:"IBM Plex Sans",sans-serif;--font-mono:"IBM Plex Mono",monospace;--radius-sm:8px;--radius-md:12px;--radius-lg:16px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:var(--font-body);background-color:var(--color-sand);line-height:1.5}body,h1,h2,h3,h4,h5,h6{color:var(--color-soil)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.2}a{color:var(--color-green);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:var(--font-body)}input,select,textarea{font-family:var(--font-body);font-size:14px}.mono{font-family:var(--font-mono)}.card{background:#fff;border:1px solid var(--color-trend);border-radius:var(--radius-md);padding:24px}.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--color-green);color:#fff;font-family:var(--font-heading);font-weight:600;font-size:14px;height:40px;padding:0 16px;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s}.btn-primary:hover{background:var(--color-leaf)}.btn-primary:disabled{background:var(--color-trend);color:var(--color-soil-light);cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--color-soil-light);font-family:var(--font-heading);font-weight:500;font-size:14px;height:40px;padding:0 16px;border:1px solid var(--color-trend);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,color .15s}.btn-secondary:hover{border-color:var(--color-soil-light);color:var(--color-soil)}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;font-family:var(--font-heading);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-soil-light);padding:10px 12px;background:var(--color-chalk);border-bottom:1px solid var(--color-trend)}.data-table td{padding:12px;font-size:14px;border-bottom:1px solid #f0ede5;color:var(--color-soil)}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--color-sand)}.form-input{width:100%;height:40px;padding:0 12px;background:#fff;border:1px solid var(--color-trend);border-radius:var(--radius-sm);color:var(--color-soil);font-size:14px;outline:none;transition:border-color .15s}.form-input:focus{border-color:var(--color-green)}.form-label{display:block;font-family:var(--font-heading);font-size:13px;font-weight:500;color:var(--color-soil);margin-bottom:6px}.badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:4px;font-family:var(--font-mono);font-size:11px;font-weight:500;white-space:nowrap}.badge-green{background:var(--color-sprout);color:#2a5230}.badge-water{background:var(--color-water-light);color:#2a4f6b}.badge-sun{background:var(--color-sun-light);color:#7a4f0d}.badge-alert{background:var(--color-alert-light);color:var(--color-alert)}.badge-neutral{background:var(--color-trend);color:var(--color-soil-light)}