@import"https://fonts.googleapis.com/css2?family=DM+Mono:ital,wght@0,400;0,500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600&family=Syne:wght@600;700&display=swap";:root{--bg: #f0ece2;--panel: #ffffff;--ink: #141f13;--ink-mid: #4a5c44;--ink-faint: #a0a898;--border: #d6d0c4;--border-hover: #b0aa9a;--temp-color: #c4521a;--air-color: #1e5fa3;--light-color: #b88c2e;--soil-color: #2d6a4f;--danger-color: #b03a22;--warning-color: #997a20;--healthy-color: #2d6a4f;--ff-mono: "DM Mono", monospace;--ff-sans: "DM Sans", sans-serif;--ff-display: "Syne", sans-serif;--radius: .625rem;--shadow: 0 1px 3px rgba(20, 31, 19, .06), 0 1px 2px rgba(20, 31, 19, .04)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--ff-sans);background-color:var(--bg);color:var(--ink);min-height:100vh;-webkit-font-smoothing:antialiased}.glass-panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem;transition:border-color .15s ease}.glass-panel:hover{border-color:var(--border-hover)}.container{max-width:1280px;margin:0 auto;padding:1.5rem 2rem 3rem}h1,h2,h3{font-family:var(--ff-display);font-weight:600;color:var(--ink)}.app-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.app-header-left h1{font-family:var(--ff-display);font-size:1.625rem;font-weight:700;letter-spacing:-.02em;color:var(--ink)}.app-header-left .app-subtitle{font-family:var(--ff-mono);font-size:.7rem;color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase;margin-top:.25rem}.live-badge{display:flex;align-items:center;gap:.5rem;font-family:var(--ff-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--soil-color)}.live-dot{width:7px;height:7px;border-radius:50%;background-color:var(--soil-color);animation:pulse-dot 2.4s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}@media (max-width: 640px){.container{padding:1rem 1rem 2rem}.app-header{flex-direction:column;align-items:flex-start;gap:.75rem}}.metrics-grid[data-v-60ca785b]{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;width:100%}.metric-card[data-v-60ca785b]{padding:0;overflow:hidden;display:flex;flex-direction:column}.card-accent[data-v-60ca785b]{height:3px;width:100%;flex-shrink:0}.card-body[data-v-60ca785b]{padding:1.25rem 1.25rem 1rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.metric-label[data-v-60ca785b]{font-family:var(--ff-mono);font-size:.6rem;letter-spacing:.12em;color:var(--ink-faint)}.metric-value[data-v-60ca785b]{display:flex;align-items:baseline;gap:.3rem}.value-num[data-v-60ca785b]{font-family:var(--ff-mono);font-size:2.25rem;font-weight:500;line-height:1;color:var(--ink);letter-spacing:-.02em}.value-unit[data-v-60ca785b]{font-family:var(--ff-mono);font-size:.875rem;color:var(--ink-mid)}.metric-bar-track[data-v-60ca785b]{height:2px;background:var(--border);border-radius:1px;margin-top:auto;overflow:hidden}.metric-bar-fill[data-v-60ca785b]{height:100%;border-radius:1px;transition:width .6s ease}.plant-visualizer[data-v-9dfd45c1]{display:flex;flex-direction:column;height:100%}.visualizer-header[data-v-9dfd45c1]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.visualizer-header h2[data-v-9dfd45c1]{font-family:var(--ff-display);font-size:1rem;font-weight:600;color:var(--ink)}.visual-container[data-v-9dfd45c1]{flex:1;display:flex;align-items:center;justify-content:center}.plant-svg[data-v-9dfd45c1]{width:100%;max-width:220px;height:auto}.plant-group[data-v-9dfd45c1]{transform-origin:100px 118px;animation:breathe-9dfd45c1 4.5s ease-in-out infinite}@keyframes breathe-9dfd45c1{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.025)}}@media (prefers-reduced-motion: reduce){.plant-group[data-v-9dfd45c1]{animation:none}}.plant-part[data-v-9dfd45c1]{transition:all .55s cubic-bezier(.4,0,.2,1)}.status-badge[data-v-9dfd45c1]{font-family:var(--ff-mono);font-size:.65rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .65rem;border-radius:.25rem}.badge-healthy[data-v-9dfd45c1]{background:#d1fae5;color:#065f46}.badge-warning[data-v-9dfd45c1]{background:#fef3c7;color:#78350f}.badge-danger[data-v-9dfd45c1]{background:#fee2e2;color:#7f1d1d}.metrics-history[data-v-f4cce00b]{width:100%;display:flex;flex-direction:column}.history-header[data-v-f4cce00b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.history-header h2[data-v-f4cce00b]{font-family:var(--ff-display);font-size:1rem;font-weight:600}.range-select[data-v-f4cce00b]{font-family:var(--ff-mono);font-size:.75rem;padding:.375rem .625rem;border:1px solid var(--border);border-radius:.375rem;background:var(--bg);color:var(--ink-mid);outline:none;cursor:pointer;transition:border-color .15s ease}.range-select[data-v-f4cce00b]:focus,.range-select[data-v-f4cce00b]:hover{border-color:var(--soil-color)}.chart-container[data-v-f4cce00b]{height:340px;position:relative;display:flex;justify-content:center;align-items:center}.no-data[data-v-f4cce00b]{font-family:var(--ff-mono);font-size:.8rem;color:var(--ink-faint)}.device-controls[data-v-7c5340ae]{display:flex;flex-direction:column;gap:1.5rem}h2[data-v-7c5340ae]{font-family:var(--ff-display);font-size:1rem;font-weight:600;color:var(--ink)}.control-group[data-v-7c5340ae]{display:flex;flex-direction:column;gap:.625rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.control-group[data-v-7c5340ae]:last-of-type{border-bottom:none;padding-bottom:0}.control-label[data-v-7c5340ae]{font-family:var(--ff-mono);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.btn[data-v-7c5340ae]{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.125rem;border:none;border-radius:.375rem;font-family:var(--ff-sans);font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .15s ease,transform .1s ease}.btn[data-v-7c5340ae]:disabled{opacity:.45;cursor:not-allowed}.btn-action[data-v-7c5340ae]{background:var(--air-color);color:#fff;width:100%}.btn-action[data-v-7c5340ae]:hover:not(:disabled){opacity:.88}.btn-action[data-v-7c5340ae]:active:not(:disabled){transform:scale(.98)}.btn-secondary[data-v-7c5340ae]{background:var(--ink);color:#fff;white-space:nowrap}.btn-secondary[data-v-7c5340ae]:hover:not(:disabled){opacity:.85}.input-row[data-v-7c5340ae]{display:flex;align-items:center;gap:.5rem}.interval-input[data-v-7c5340ae]{width:80px;padding:.625rem .75rem;border:1px solid var(--border);border-radius:.375rem;font-family:var(--ff-mono);font-size:.9rem;color:var(--ink);background:var(--bg);outline:none;transition:border-color .15s ease}.interval-input[data-v-7c5340ae]:focus{border-color:var(--soil-color)}.unit-label[data-v-7c5340ae]{font-family:var(--ff-mono);font-size:.75rem;color:var(--ink-faint);flex-shrink:0}.feedback[data-v-7c5340ae]{font-family:var(--ff-mono);font-size:.72rem;letter-spacing:.04em;padding:.5rem .75rem;border-radius:.25rem;border-left:3px solid}.success[data-v-7c5340ae]{background:#f0fdf4;color:#14532d;border-color:var(--soil-color)}.error[data-v-7c5340ae]{background:#fef2f2;color:#7f1d1d;border-color:var(--danger-color)}.dashboard-wrapper[data-v-0d30dda3]{display:flex;flex-direction:column;gap:1.25rem}.top-section[data-v-0d30dda3]{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:stretch}.left-panel[data-v-0d30dda3]{flex:1;min-width:300px}.right-panel[data-v-0d30dda3]{flex:0 0 280px}.bottom-section[data-v-0d30dda3]{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:stretch}.main-content[data-v-0d30dda3]{flex:1;min-width:300px}.side-content[data-v-0d30dda3]{flex:0 0 280px}@media (max-width: 768px){.right-panel[data-v-0d30dda3],.side-content[data-v-0d30dda3]{flex:1 1 100%}}
