html,body,#root{height:100%;margin:0;padding:0}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#f0f4f0;color:#333}.hgf-app{height:100%;display:flex;flex-direction:column;overflow:hidden;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#333;background:#f4f4f9;-webkit-font-smoothing:antialiased}.hgf-app *,.hgf-app *:before,.hgf-app *:after{box-sizing:border-box}.hgf-app button{font-family:inherit;cursor:pointer}.hgf-topbar{display:flex;align-items:center;padding:6px 14px;border-bottom:1px solid #ddd;background:#fff;flex-shrink:0;gap:12px}.hgf-statusbar{display:flex;align-items:center;gap:14px;padding:4px 14px;border-top:1px solid #ddd;background:#fff;font-size:11px;color:#666;flex-shrink:0}.hgf-workarea{flex:1;display:flex;min-height:0;position:relative;overflow:hidden}.hgf-side{display:flex;flex-direction:column;gap:10px;padding:10px;overflow-y:auto;overflow-x:hidden;flex-shrink:0;border-right:1px solid #ddd;background:#f4f4f9;transition:width .25s ease,padding .25s ease,opacity .2s ease}.hgf-side.right{border-right:0;border-left:1px solid #ddd}.hgf-side.collapsed{width:0!important;padding-left:0;padding-right:0;opacity:0;pointer-events:none}.hgf-handle{position:absolute;top:50%;width:14px;height:56px;background:#fff;border:1px solid #ddd;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#888;cursor:pointer;z-index:4;box-shadow:0 1px 3px #00000014;transform:translateY(-50%);transition:left .25s ease,right .25s ease,background .12s;padding:0}.hgf-handle:hover{background:#f0f0f0;color:#333}.hgf-handle.horizontal{top:auto;left:50%;right:auto;width:56px;height:24px;transform:translate(-50%);transition:bottom .25s ease,background .12s;cursor:row-resize;flex-direction:column;gap:2px}.hgf-handle.horizontal:after{content:"";display:block;width:24px;height:8px;background-image:radial-gradient(circle,#aaa 1px,transparent 1px);background-size:5px 4px;opacity:.6}.hgf-center{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;background:#f4f4f9}.hgf-center-inner{flex:1;display:flex;flex-direction:column;min-height:0;padding:10px;gap:10px;position:relative}.hgf-tlpanel-wrap{flex-shrink:0;overflow:hidden;transition:height .25s ease,opacity .2s ease;position:relative;z-index:0}.hgf-tlpanel-wrap.collapsed{height:0!important;opacity:0;pointer-events:none}.dashboard-container{display:grid;gap:20px;height:95vh;max-width:1600px;margin:0 auto}.panel{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:15px;display:flex;flex-direction:column;overflow:hidden}.panel-header{font-size:1.2rem;font-weight:700;margin-bottom:15px;border-bottom:2px solid #eee;padding-bottom:10px}.time-widget{background:#2c3e50;color:#fff;padding:15px;border-radius:8px;margin-bottom:20px;text-align:center}.date-display-row{display:flex;justify-content:center;align-items:center;gap:8px;margin-bottom:5px}.calendar-btn{background:#fff3;border:none;color:#fff;border-radius:4px;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.calendar-btn:hover{background:#ffffff4d}.hidden-date-input{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.orbit-container{width:120px;height:120px;margin:20px auto;position:relative;border-radius:50%}.orbit-gradient-ring{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;background:conic-gradient(#3498db 0deg 35deg,#2ecc71 78deg 125deg,#f1c40f 170deg 215deg,#e67e22 261deg 305deg,#3498db 350deg 360deg);z-index:0}.orbit-gradient-ring:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:85%;height:85%;background-color:#2c3e50;border-radius:50%;z-index:1}.sun{width:40px;height:40px;background:#f1c40f;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 20px #f1c40f99;z-index:1;cursor:pointer;transition:transform .2s}.sun:hover{transform:translate(-50%,-50%) scale(1.1)}.earth-track{width:100%;height:100%;position:absolute;top:0;left:0;border-radius:50%;transition:transform .3s cubic-bezier(.25,.1,.25,1)}.earth{width:16px;height:16px;background:#3498db;border-radius:50%;position:absolute;top:-3.5px;left:50%;transform:translate(-50%);border:1px solid white;box-shadow:0 0 5px #0000004d;z-index:2}input[type=range]{width:100%;margin-top:10px;accent-color:#3498db;cursor:pointer}.veggie-list{overflow-y:auto;flex:1}.veggie-item{display:flex;align-items:center;padding:10px;cursor:pointer;border-radius:6px;margin-bottom:5px;transition:background .2s;border:2px solid transparent}.veggie-item:hover{background:#f5f5f5}.veggie-item.active{border-color:#333;background:#eee}.veggie-item{position:relative}.veggie-tooltip{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:#000c;color:#fff;padding:4px 8px;border-radius:4px;font-size:.75rem;opacity:0;pointer-events:none;transition:opacity .2s;white-space:nowrap;z-index:10}.veggie-item:hover .veggie-tooltip{opacity:1}.color-dot{width:20px;height:20px;border-radius:4px;margin-right:10px;border:1px solid rgba(0,0,0,.1)}.garden-map{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:20px;padding:10px}.bed-unit{display:flex;flex-direction:column;align-items:center;padding:4px;border-radius:8px;transition:all .2s;cursor:pointer}.bed-unit.selected{background-color:#27ae601a;box-shadow:0 0 0 2px #27ae60}.bed-unit-label{font-size:.9rem;font-weight:600;margin-bottom:4px;color:#777}.grid-frame{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);width:100px;height:100px;border:2px solid #ccc;background:#fff;box-sizing:content-box}.grid-cell{border:1px solid #eee;transition:background .1s}.grid-cell:hover{opacity:.8;outline:1px solid #888;z-index:1}.stat-card{background:#f8f9fa;padding:15px;border-radius:8px;margin-bottom:15px;text-align:center}.stat-value{font-size:2rem;font-weight:700;color:#27ae60}.stat-label{color:#666;font-size:.9rem}.legend-item{display:flex;justify-content:space-between;font-size:.9rem;margin-bottom:5px}.cursor-paint{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18.375 2.625a3.875 3.875 0 0 0-5.48 0l-9.15 9.15c-.2.2-.34.46-.4.74L2.1 16.9a1 1 0 0 0 1 1l4.4-.85c.27-.05.53-.2.73-.4l9.15-9.15a3.875 3.875 0 0 0 0-5.48z"/><path d="M14 6l4 4"/></svg>') 0 24,auto}
