.visualizer{display:flex;flex-direction:column;gap:20px}.visualizer h2{color:#2d5016;margin-bottom:10px}.subtitle{color:#666;font-size:.95em;margin-bottom:15px}.svg-container{background:#fff;border:1px solid #ddd;border-radius:8px;display:flex;justify-content:center;padding:20px}.garden-svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.info{background:#fff;border-left:4px solid #2d5016;border-radius:8px;padding:20px}.info h3{color:#2d5016;margin-bottom:15px}.info-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-grid div{background:#fafafa;border-left:3px solid #8b7355;border-radius:4px;padding:10px}.info-grid strong{color:#2d5016}@media (max-width:768px){.svg-container{overflow-x:auto}.info-grid{grid-template-columns:1fr}}.plant-tool{display:flex;flex-direction:column;gap:20px}.plant-tool h2{color:#2d5016}.tool-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.bed-selector,.plant-selector{background:#fff;border:1px solid #ddd;border-radius:8px;padding:20px}.bed-selector h3,.plant-selector h3{color:#2d5016;margin-bottom:15px}.filters{display:flex;gap:10px;margin-bottom:20px}.filter-group{display:flex;flex:1 1;flex-direction:column;gap:5px}.filter-group label{color:#333;font-size:.9em;font-weight:700}.filter-group select{border:1px solid #ddd;border-radius:4px;padding:8px}.plant-list{display:flex;flex-direction:column;gap:12px;max-height:600px;overflow-y:auto}.plant-card{align-items:flex-start;background:#fafafa;border-left:4px solid #8b7355;border-radius:4px;display:flex;gap:10px;justify-content:space-between;padding:12px}.plant-info{display:flex;flex:1 1;flex-direction:column;gap:5px}.plant-info strong{color:#2d5016}.plant-info small{color:#666;font-size:.85em}.plant-specs{display:flex;flex-wrap:wrap;font-size:.85em;gap:10px}.plant-specs span{background:#fff;border:1px solid #ddd;border-radius:3px;padding:3px 6px}.plant-specs .pest{font-size:1.1em}.plant-info .notes{color:#999;font-style:italic}.add-btn{font-size:.9em;padding:6px 12px;white-space:nowrap}.bed-tabs{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:20px}.bed-tab{background:#fff;border:2px solid #ddd;border-radius:4px;color:#666;cursor:pointer;padding:8px 12px;transition:all .2s}.bed-tab.active,.bed-tab:hover{border-color:#2d5016}.bed-tab.active{background:#2d5016;color:#fff}.bed-detail{background:#fafafa;border-radius:4px;margin-bottom:15px;padding:15px}.bed-detail h4{color:#2d5016;margin-bottom:5px}.bed-hint{color:#666;font-size:.9em;margin-bottom:15px}.plants-in-bed h5{color:#333;margin-bottom:10px}.plants-in-bed ul{display:flex;flex-direction:column;gap:8px;list-style:none}.plants-in-bed li{align-items:center;background:#fff;border-left:3px solid #2d5016;border-radius:4px;display:flex;justify-content:space-between;padding:8px}.plants-in-bed span{color:#333;font-size:.9em}.remove-btn{background:#d9534f;font-size:.8em;padding:4px 8px}.remove-btn:hover{background:#c9302c}.empty{background:#fff;border-left:3px solid #ccc;border-radius:4px;color:#999;font-style:italic;padding:10px}.button-group{display:flex;gap:10px;width:100%}.calendar-btn{flex:1 1;font-size:1em;font-weight:700;padding:12px}.clear-btn{background:#95a5a6;flex:0.3 1;font-size:.9em;padding:12px}.clear-btn:hover{background:#7f8c8d}.spacing-info{background:#e8f5e9;border-left:3px solid #27ae60;border-radius:4px;margin-top:10px;padding:10px}.spacing-info strong{color:#2d5016;display:block;margin-bottom:5px}.spacing-info p{color:#555;font-size:.85em;margin:5px 0}.spacing-info em{color:#2d5016;font-style:italic}.quantity-selector{background:#f9f9f9;border-radius:4px;display:flex;flex-direction:column;gap:8px;margin-top:10px;padding:10px}.quantity-selector label{color:#333;font-size:.9em;font-weight:700}.quantity-selector input{border:1px solid #ddd;border-radius:4px;font-size:.9em;padding:6px}.confirm-btn{background:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9em;font-weight:700;padding:8px 12px}.confirm-btn:hover{background:#45a049}.bed-info{background:#fff;border-radius:4px;margin-bottom:15px;padding:10px}.bed-info p{color:#333;font-size:.9em;margin:5px 0}.bed-plants-summary{display:flex;flex-direction:column;gap:10px}.bed-plant-item{background:#fff;border-left:3px solid #4caf50;border-radius:4px;padding:10px}.plant-summary{align-items:center;display:flex;gap:10px;margin-bottom:5px}.plant-summary strong{color:#2d5016;flex:1 1}.plant-summary .count{background:#2d5016;border-radius:3px;color:#fff;font-size:.85em;font-weight:700;padding:2px 6px}.plant-summary .variety{color:#999;font-size:.85em}.spacing-details{color:#666;font-size:.8em}.spacing-details small{display:block;margin-top:3px}.clear-bed-btn{background:#ff9800;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85em;margin-top:10px;padding:8px;width:100%}.clear-bed-btn:hover{background:#e68900}.layout-actions{display:flex;gap:10px;margin-top:15px}.calendar-btn,.clear-all-btn{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:.95em;font-weight:700;padding:10px}.calendar-btn{background:#27ae60;color:#fff}.calendar-btn:hover{background:#229954}.clear-all-btn{background:#e74c3c;color:#fff}.clear-all-btn:hover{background:#c0392b}.tips{background:#f0f8f0;border-left:4px solid #27ae60;border-radius:4px;padding:20px}.tips h3{color:#2d5016;margin-bottom:10px}.tips ul{display:flex;flex-direction:column;gap:10px;list-style:none;padding:0}.tips li{color:#333;padding:8px 0 8px 20px;position:relative}.tips li:before{color:#27ae60;content:"✓";font-weight:700;left:0;position:absolute}@media (max-width:768px){.tool-container{grid-template-columns:1fr}.button-group{flex-direction:column}.calendar-btn,.clear-btn{width:100%}}.calendar{display:flex;flex-direction:column;gap:20px}.calendar h2{color:#2d5016}.calendar-info{grid-gap:15px;background:#f0f8f0;border-left:4px solid #27ae60;border-radius:4px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:15px}.calendar-info p{color:#333;margin:0}.calendar-empty{color:#999;font-size:1.1em;padding:40px;text-align:center}.plants-calendar{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.plant-calendar-card{background:#fff;border-left:4px solid #8b7355;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.plant-calendar-card h3{color:#2d5016;margin:0 0 5px}.plant-calendar-card .variety{color:#666;font-size:.9em;font-style:italic;margin:0 0 15px}.timeline{display:flex;flex-direction:column;gap:10px}.timeline-item{background:#fafafa;border-left:3px solid #ddd;border-radius:4px;display:flex;justify-content:space-between;padding:10px}.timeline-item.highlight{background:#f0f8f0;border-left-color:#27ae60;font-weight:700}.timeline-item .label{color:#666;font-weight:500}.timeline-item .date{color:#2d5016;font-weight:700}.calendar-tips{background:#fff8e1;border-left:4px solid #f39c12;border-radius:4px;padding:20px}.calendar-tips h3{color:#d68910;margin-top:0}.calendar-tips ul{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.calendar-tips li{color:#333;padding:8px 0 8px 20px;position:relative}.calendar-tips li:before{color:#f39c12;content:"→";font-weight:700;left:0;position:absolute}@media (max-width:768px){.calendar-info,.plants-calendar{grid-template-columns:1fr}}.drip-designer{display:flex;flex-direction:column;gap:20px;padding:0}.drip-designer h2{color:#2d5016;margin-bottom:10px}.designer-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 2fr}.config-panel{background:#fff;border:1px solid #ddd;border-radius:8px;padding:20px}.config-panel h3{border-bottom:2px solid #2d5016;color:#2d5016;margin-bottom:15px;padding-bottom:10px}.config-group{display:flex;flex-direction:column;gap:8px;margin-bottom:15px}.config-group label{color:#333;font-weight:700}.config-group input[type=range],.config-group select{border:1px solid #ddd;border-radius:4px;font-size:.9em;padding:8px}.config-group input[type=range]{height:6px;padding:5px}.config-group small{color:#666;font-size:.85em}.system-summary{background:#f0f8f0;border-left:4px solid #27ae60;border-radius:4px;margin-top:15px;padding:12px}.system-summary h4{color:#2d5016;font-size:.95em;margin-bottom:10px}.summary-stat{align-items:center;border-bottom:1px solid #ddd;display:flex;font-size:.9em;justify-content:space-between;padding:6px 0}.summary-stat:last-child{border-bottom:none}.summary-stat strong{color:#2d5016;font-weight:700}.layout-panel{background:#fff;border:1px solid #ddd;border-radius:8px;padding:20px}.layout-panel h3{border-bottom:2px solid #2d5016;color:#2d5016;margin-bottom:15px;padding-bottom:10px}.beds-layout{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.bed-layout{background:#fafafa;border-left:4px solid #87ceeb;border-radius:4px;padding:12px}.bed-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.bed-header strong{color:#2d5016}.bed-size{background:#fff;border-radius:3px;color:#666;font-size:.85em;padding:3px 6px}.bed-diagram{background:#fff;border-radius:4px;padding:10px}.bed-svg{border:1px solid #e0e0e0;border-radius:3px;height:80px;width:100%}.emitter-details{display:flex;font-size:.85em;gap:10px;margin-top:8px}.emitter-item{background:#fff9e6;border-left:2px solid #ff6b6b;border-radius:3px;flex:1 1;padding:6px}.emitter-item strong{color:#ff6b6b}.emitter-item small{color:#666;display:block;margin-top:3px}.main-line-routing{background:#e8f5e9;border-left:4px solid #27ae60;border-radius:4px;padding:15px}.main-line-routing h4{color:#2d5016;margin-bottom:10px}.routing-diagram{display:flex;flex-direction:column;gap:8px}.routing-step{background:#fff;border-left:3px solid #06c;border-radius:3px;font-size:.9em;padding:10px}.routing-step strong{color:#06c}.routing-step br+br{display:block;height:2px}.components-panel{background:#fff;border:1px solid #ddd;border-radius:8px;padding:20px}.components-panel h3{color:#2d5016;margin-bottom:15px}.components-table{border-collapse:collapse;font-size:.9em;width:100%}.components-table th{background:#2d5016;color:#fff;font-weight:700;padding:10px;text-align:left}.components-table td{border-bottom:1px solid #ddd;padding:10px}.components-table tr:nth-child(2n){background:#f9f9f9}.components-table .qty{color:#2d5016;font-weight:700;text-align:center}.components-table strong{color:#333}.components-table small{color:#666}.installation-guide{background:#e3f2fd;border-left:4px solid #1976d2;border-radius:4px;padding:20px}.installation-guide h3{color:#1565c0;margin-bottom:15px}.installation-guide ol{margin:0;padding-left:20px}.installation-guide li{color:#333;line-height:1.6;margin-bottom:10px}.installation-guide strong{color:#1565c0}.troubleshooting{background:#fff3e0;border-left:4px solid #f57c00;border-radius:4px;padding:20px}.troubleshooting h3{color:#e65100;margin-bottom:15px}.troubleshoot-item{margin-bottom:15px}.troubleshoot-item strong{color:#e65100;display:block;margin-bottom:8px}.troubleshoot-item ul{color:#333;margin:0;padding-left:20px}.troubleshoot-item li{font-size:.9em;margin-bottom:5px}@media (max-width:1200px){.designer-container{grid-template-columns:1fr}.emitter-details{flex-wrap:wrap}.routing-diagram{flex-direction:column}}@media (max-width:768px){.drip-designer{padding:0}.components-panel,.config-panel,.layout-panel{padding:15px}.components-table{font-size:.8em}.components-table td,.components-table th{padding:6px}}.shopping-list{background:#f8f9fa;border-radius:8px;margin:0 auto;max-width:1000px;padding:30px}.shopping-header{background:#fff;border-left:4px solid #27ae60;border-radius:8px;margin-bottom:30px;padding:20px;text-align:center}.shopping-header h2{color:#27ae60;font-size:28px;margin:0 0 10px}.shopping-header p{color:#7f8c8d;font-size:14px;margin:5px 0}.print-btn{background:#3498db;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;margin-top:15px;padding:10px 20px;transition:background .3s}.print-btn:hover{background:#2980b9}.shopping-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px;overflow:hidden;width:100%}.shopping-table thead{background:linear-gradient(135deg,#27ae60,#229954);color:#fff}.shopping-table th{font-size:14px;font-weight:700;letter-spacing:.5px;padding:15px;text-align:left;text-transform:uppercase}.shopping-table tbody tr{border-bottom:1px solid #ecf0f1;transition:background .2s}.shopping-table tbody tr:hover{background:#f0f8f5}.shopping-table td{font-size:14px;padding:15px}.plant-name{color:#2c3e50;font-weight:700;width:30%}.variety{color:#7f8c8d;font-size:13px;width:35%}.quantity{text-align:center;width:12%}.qty-badge{background:#27ae60;border-radius:20px;color:#fff;display:inline-block;font-size:13px;font-weight:700;min-width:35px;padding:4px 12px;text-align:center}.beds{color:#2c3e50;font-size:13px;width:25%}.bed-list{display:flex;flex-wrap:wrap;gap:6px}.bed-tag{background:#ecf0f1;border-left:3px solid #3498db;border-radius:3px;display:inline-block;font-size:12px;font-weight:500;padding:4px 8px;white-space:nowrap}.notes{color:#16a085;font-size:13px;width:20%}.shopping-summary{background:#fff;border-left:4px solid #f39c12;border-radius:8px;margin-bottom:20px;padding:20px}.shopping-summary h3{color:#f39c12;font-size:18px;margin-top:0}.shopping-summary p{color:#2c3e50;font-size:14px;margin:8px 0}.shopping-summary strong{color:#2c3e50}.shopping-notes{background:#fff;border-left:4px solid #3498db;border-radius:8px;margin-bottom:20px;padding:20px}.shopping-notes h3{color:#3498db;font-size:18px;margin-top:0}.shopping-notes ul{list-style:none;margin:10px 0;padding-left:20px}.shopping-notes li{color:#2c3e50;font-size:14px;margin:8px 0}.empty-state{background:#fff;border-radius:8px;color:#7f8c8d;padding:40px;text-align:center}.print-footer{border-top:1px solid #ecf0f1;color:#95a5a6;font-size:12px;margin-top:30px;padding-top:20px;text-align:center}@media print{.shopping-list{background:#fff;padding:0}.print-btn{display:none}.shopping-table{box-shadow:none}.shopping-table thead{background:#f0f0f0;color:#000}.shopping-table td,.shopping-table th{border:1px solid #999}body{font-family:Arial,sans-serif}.shopping-header,.shopping-notes,.shopping-summary{page-break-inside:avoid}}.app{background:#fff;margin:0 auto;max-width:1200px;min-height:100vh;padding:20px}.header{border-bottom:2px solid #8b7355;margin-bottom:30px;padding-bottom:20px;text-align:center}.header h1{color:#2d5016;font-size:2.5em;margin-bottom:5px}.header p{color:#666;font-size:1.1em}.tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:10px;margin-bottom:30px}.tab{background:#0000;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:1em;padding:12px 20px;transition:all .3s ease}.tab:hover{background:#f0f0f0;color:#2d5016}.tab.active{border-bottom-color:#2d5016;color:#2d5016;font-weight:700}.content{background:#fafafa;border-radius:8px;margin:30px 0;padding:20px}.footer{border-top:1px solid #e0e0e0;color:#999;font-size:.9em;margin-top:50px;padding-top:20px;text-align:center}.loading{align-items:center;color:#666;display:flex;font-size:1.5em;justify-content:center;min-height:100vh}button{background:#2d5016;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1em;padding:8px 16px;transition:background .3s ease}button:hover{background:#1e3810}button:active{background:#0f1c08}input,select{border:1px solid #ddd;border-radius:4px;font-size:1em;padding:8px 12px}input:focus,select:focus{border-color:#2d5016;box-shadow:0 0 4px #2d5016;outline:none}
/*# sourceMappingURL=main.8969a70a.css.map*/