*{box-sizing:border-box}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#edf6ef;color:#18312a;font-family:Segoe UI,sans-serif;margin:0}button,input,select,textarea{font:inherit}img{display:block;max-width:100%}#root{min-height:100vh}.account-management-panel{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1.3fr 1fr}.create-user-panel,.users-panel{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffd6;border:1px solid #142d2314;border-radius:24px;box-shadow:0 20px 45px #13322914;padding:24px}.field-group input,.field-group select{background:#f6faf7e6;border:1px solid #1b4a3b1f;border-radius:12px;color:#15362d;font-size:1rem;padding:14px 16px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.field-group input:focus,.field-group select:focus{border-color:#13845399;box-shadow:0 0 0 4px #36b0721f;outline:none}.alert-box,.success-box{border-radius:12px;font-size:.9rem;padding:12px 14px}.form-actions{align-items:center;display:flex;gap:12px}.user-list{display:flex;flex-direction:column;gap:12px}.user-card{align-items:center;background:#f7faf8e6;border:1px solid #142d2314;border-radius:14px;display:flex;gap:12px;justify-content:space-between;padding:14px 16px}.user-info{flex:1 1}.user-card strong{color:#15362d;display:block;margin-bottom:4px}.user-card p{color:#58706a;font-size:.9rem;margin:0}.user-actions{flex-wrap:wrap;gap:8px;justify-content:flex-end}.role-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.74rem;font-weight:700;justify-content:center;letter-spacing:.04em;padding:7px 12px;text-transform:uppercase}.role-badge.admin{background:#145a461a;color:#124f3c}.role-badge.user{background:#5d74831f;color:#455b63}.mini-button{border:none;border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:600;padding:8px 10px;transition:opacity .2s ease}.mini-button:hover{opacity:.9}.mini-button.edit{background:#1e84491f;color:#0f6a46}.mini-button.delete{background:#ba3e3e1f;color:#922d2d}.muted-text{color:#58706a;margin:0}@media (max-width:760px){.account-management-panel,.field-row{grid-template-columns:1fr}.account-management-panel{display:grid}.user-card{align-items:flex-start;flex-direction:column}.user-actions{justify-content:flex-start;width:100%}}.dashboard-layout{grid-gap:24px;display:grid;gap:24px;grid-template-columns:260px 1fr;margin:0 auto;max-width:1500px;min-height:calc(100vh - 64px)}.sidebar{background:linear-gradient(180deg,#14362d,#0d2b25);border-radius:28px;box-shadow:0 24px 48px #0c231d2e;color:#edf9f2;display:flex;flex-direction:column;gap:26px;padding:24px 18px}.sidebar-brand{align-items:center;display:flex;gap:12px}.sidebar-brand .brand-mark{align-items:center;background:linear-gradient(135deg,#1ea968,#8fd9a3);border-radius:16px;color:#fff;display:flex;font-size:.58rem;font-weight:900;height:52px;justify-content:center;letter-spacing:.08em;line-height:1;overflow:hidden;padding:6px 8px;text-align:center;text-overflow:clip;text-transform:uppercase;white-space:nowrap;width:88px}.sidebar-brand h2{font-size:1.15rem}.sidebar-nav{display:flex;flex-direction:column;gap:8px}.nav-item{background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;color:#e9f5ee;cursor:pointer;font-weight:600;padding:12px 14px;text-align:left;transition:all .2s ease}.nav-item.active,.nav-item:hover{background:linear-gradient(135deg,#1ea96833,#ffffff0f);border-color:#8fd9a366}.sidebar-card{background:#ffffff0d;border:1px solid #ffffff14;border-radius:18px;display:flex;flex-direction:column;gap:8px;margin-top:auto;padding:16px}.sidebar-card span,.sidebar-card strong{display:block}.sidebar-card span{color:#9fe3b5;font-size:.74rem;letter-spacing:.08em}.dashboard-main{display:flex;flex-direction:column;gap:22px}.dashboard-main .topbar{align-items:center;background:#ffffffb8;border:1px solid #142d2314;border-radius:24px;box-shadow:0 12px 30px #1332290f;display:flex;gap:18px;justify-content:space-between;padding:22px 24px}.topbar-actions{align-items:center;display:flex;gap:14px}.secondary-button{background:#14362d0f;border:1px solid #14362d1f;border-radius:12px;color:#14362d;cursor:pointer;font-weight:700;padding:12px 14px}.notification-wrapper{position:relative}.notification-bell{background:#14362d0f;border:1px solid #14362d1f;border-radius:50%;color:#14362d;cursor:pointer;display:grid;font-size:1.2rem;height:42px;place-items:center;position:relative;width:42px}.notification-badge{background:#e35d4f;border-radius:999px;color:#fff;display:grid;font-size:.66rem;font-weight:800;height:18px;min-width:18px;padding:0 5px;place-items:center;position:absolute;right:-4px;top:-4px}.notification-panel{background:#fffffffa;border:1px solid #12302514;border-radius:18px;box-shadow:0 18px 38px #1332291f;display:flex;flex-direction:column;gap:10px;padding:12px;position:absolute;right:0;top:calc(100% + 12px);width:300px;z-index:30}.notification-item{align-items:flex-start;background:#f8fbf9;border:1px solid #12302514;border-radius:12px;display:flex;gap:12px;justify-content:space-between;padding:12px 12px 10px}.notification-item.warning{border-left:4px solid #d98b1f}.notification-item.info{border-left:4px solid #2a6edb}.notification-item.success{border-left:4px solid #1d9d61}.notification-copy{display:flex;flex:1 1;flex-direction:column;gap:4px}.notification-copy strong{font-size:.88rem}.notification-copy span{color:#5a7568;font-size:.76rem;line-height:1.35}.notification-close{background:#0000;border:none;color:#425c53;cursor:pointer;font-size:1.2rem;line-height:1;padding:0}.user-tag{align-items:flex-end;color:#496b60;display:flex;flex-direction:column;gap:4px}.user-tag span{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.primary-action{background:linear-gradient(135deg,#173d34,#285e4b);border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:700;padding:12px 18px}.dashboard{display:flex;flex-direction:column;gap:20px}.hero-panel,.message-card,.metric-card,.panel{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffd6;border:1px solid #142d2314;box-shadow:0 18px 35px #1332290f}.hero-panel{align-items:center;border-radius:24px;display:flex;gap:12px;justify-content:space-between;padding:24px 28px}.hero-panel h2{font-size:clamp(1.7rem,2vw,2.2rem);margin-top:6px}.status-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:.82rem;font-weight:700;justify-content:center;padding:10px 16px}.status-pill.good{background:#1a9d5d1f;color:#0d7b4d}.status-pill.warning{background:#e58f231f;color:#b66300}.sync-error{background:#f6bf5f1f;border-radius:12px;color:#9a4d00;margin:0;padding:12px 14px}.metrics-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card{border-radius:22px;display:flex;flex-direction:column;gap:10px;min-height:180px;padding:22px 20px}.metric-card.accent-green{background:linear-gradient(135deg,#1c9a5c1a,#ffffffe6)}.metric-card.accent-blue{background:linear-gradient(135deg,#3b82f61a,#ffffffe6)}.metric-card.accent-cyan{background:linear-gradient(135deg,#0ea5e91a,#ffffffe6)}.metric-card.accent-gold{background:linear-gradient(135deg,#f6c4491f,#ffffffeb)}.metric-label{color:#5d7d72;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.metric-value{color:#16332d;font-size:clamp(2rem,2.6vw,2.8rem);line-height:1.1}.metric-note{color:#44665c;font-size:.95rem}.detail-grid{grid-template-columns:1.1fr 1.4fr}.reports-panel{gap:20px}.onion-prediction,.reports-panel{display:flex;flex-direction:column}.onion-prediction{gap:16px}.onion-prediction-header{align-items:center;display:flex;gap:16px;justify-content:space-between}.onion-prediction-header h3{margin:4px 0 0}.planting-date-field{color:#44665c;display:flex;flex-direction:column;font-size:.88rem;font-weight:700;gap:8px;max-width:320px}.planting-date-field input{background:#fbfdfb;border:1px solid #14362d29;border-radius:10px;color:#16332d;font:inherit;padding:11px 12px}.harvest-window{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.harvest-window>div{background:#f5faf7;border-radius:14px;color:#5a7568;display:flex;flex-direction:column;font-size:.84rem;gap:6px;padding:14px}.harvest-window strong{color:#0d7b4d;font-size:1.05rem}.harvest-window p{color:#285147;font-weight:700;grid-column:1/-1}.onion-water-guidance{background:#3b82f612;border-left:4px solid #2a6edb;border-radius:10px;color:#285147;padding:14px 16px}.onion-water-guidance p{line-height:1.5;margin:6px 0}.onion-water-guidance span{color:#5a7568;font-size:.86rem}.trend-list{display:flex;flex-direction:column;gap:14px}.trend-row{grid-gap:12px;align-items:center;border-bottom:1px solid #12302514;display:grid;gap:12px;grid-template-columns:minmax(120px,1.2fr) minmax(160px,2fr) minmax(110px,1fr);padding:10px 0}.trend-labels{display:flex;flex-direction:column;gap:4px}.trend-labels span{color:#647d73;font-size:.76rem}.mini-bars{align-items:end;display:flex;gap:8px;height:62px;justify-content:flex-start}.bar{border-radius:8px 8px 0 0;display:block;min-height:12px;width:16px}.bar.moisture{background:linear-gradient(180deg,#50c878,#1c9a5c)}.bar.humidity{background:linear-gradient(180deg,#6ab1ff,#2a6edb)}.bar.temperature{background:linear-gradient(180deg,#f6bf5f,#db8f1a)}.pump-tag{align-items:center;border-radius:999px;display:inline-flex;font-size:.72rem;font-weight:700;justify-content:center;padding:8px 10px}.pump-tag.on{background:#1a9d5d1f;color:#0d7b4d}.pump-tag.off{background:#6f7c881f;color:#4d5f65}.alert-list{display:flex;flex-direction:column;gap:12px;list-style:none}.alert-item{align-items:center;border:1px solid #12302514;border-radius:14px;display:flex;gap:12px;justify-content:space-between;padding:12px 14px}.alert-item.warning{background:#f6bf5f14}.alert-item.safe{background:#5cbd7e12}.alert-item span,.alert-item strong{display:block}.alert-item span{color:#5a7568;font-size:.8rem;margin-top:3px}.alert-dot{border-radius:50%;display:inline-block;height:12px;width:12px}.alert-dot.warning{background:#d98b1f}.alert-dot.good{background:#1d9d61}.summary-box{border-top:1px solid #12302514;margin-top:18px;padding-top:18px}.summary-box h4{margin-bottom:12px}.status-list.compact li{padding:8px 0}.status-list{display:flex;flex-direction:column;gap:14px;list-style:none}.automation-row,.progress-header,.status-list li{align-items:center;display:flex;gap:16px;justify-content:space-between}.status-list li{background:#f5faf7;border-radius:14px;color:#285147;padding:14px 16px}.automation-row{background:#f5faf7;border-radius:16px;margin-bottom:18px;padding:16px 18px}.automation-row p{color:#567468}.progress-block{display:flex;flex-direction:column;gap:12px}.progress-header{color:#44665c;font-size:.95rem}.progress-bar{background:#e7f1eb;border-radius:999px;height:12px;overflow:hidden;width:100%}.progress-bar span{background:linear-gradient(90deg,#1a9d5d,#93d6a8);border-radius:inherit;display:block;height:100%}.toggle{align-items:center;border-radius:999px;display:inline-flex;font-size:.76rem;font-weight:700;justify-content:center;min-width:70px;padding:8px 14px}.toggle.on{background:#1a9d5d1f;color:#0d7b4d}.toggle.off{background:#818a881f;color:#516562}.access-denied-panel{background:#ffffffd9;border:1px solid #142d2314;border-radius:22px;box-shadow:0 18px 35px #1332290f;padding:28px}.access-denied-panel h3{margin-bottom:8px}.access-denied-panel p{color:#5b7369}@media (max-width:900px){.dashboard-layout{grid-template-columns:1fr}.sidebar{padding:18px}}@media (max-width:760px){.automation-row,.dashboard-main .topbar,.hero-panel,.progress-header,.status-list li,.topbar-actions{align-items:flex-start;flex-direction:column}.detail-grid,.metrics-grid{grid-template-columns:1fr}.onion-prediction-header{align-items:flex-start;flex-direction:column}.harvest-window{grid-template-columns:1fr}.harvest-window p{grid-column:auto}.primary-action,.topbar-actions{width:100%}}.auth-shell,.dashboard-shell{background:radial-gradient(circle at top left,#75cd9130,#0000 28%),linear-gradient(180deg,#edf8f1,#eef5f0);color:#133229;min-height:100vh;padding:32px 20px 48px}.auth-panel,.create-user-panel,.message-card,.metric-card,.panel,.summary-card,.welcome-panel{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffd6;border:1px solid #142d2314;box-shadow:0 20px 45px #13322914}.auth-shell{display:grid;place-items:center}.auth-panel{border-radius:28px;padding:32px;width:min(100%,480px)}.create-user-panel{border-radius:24px;padding:24px}.panel-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.create-user-form{display:flex;flex-direction:column;gap:18px}.field-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.field-group select{background:#f6faf7e6;border:1px solid #1b4a3b1f;border-radius:12px;color:#15362d;font-size:1rem;padding:14px 16px;width:100%}.success-box{background:#1b9d6014;border:1px solid #1b9d6024;border-radius:12px;color:#0e6d46;font-size:.9rem;padding:12px 14px}.admin-create-section{margin-top:8px}.brand-block{align-items:center;display:flex;gap:15px;margin-bottom:18px}.brand-icon{background:linear-gradient(135deg,#1b8d5c,#76cf96);border-radius:18px;box-shadow:0 18px 30px #168f5c40;color:#fff;display:grid;font-weight:800;height:58px;place-items:center;width:58px}.eyebrow{color:#5d7a6d;font-size:.72rem;font-weight:800;letter-spacing:.12em;margin:0 0 6px;text-transform:uppercase}h1,h2,h3,li,p,ul{margin:0;padding:0}h1{font-size:clamp(1.9rem,3vw,2.6rem);line-height:1.1}.subtitle{color:#516c62;font-size:.98rem;line-height:1.6;margin-bottom:24px}.auth-form{gap:18px}.auth-form,.field-group{display:flex;flex-direction:column}.field-group{gap:8px}.field-group label{color:#284d42;font-size:.92rem;font-weight:600}.field-group input{background:#f6faf7e6;border:1px solid #1b4a3b1f;border-radius:12px;color:#15362d;font-size:1rem;padding:14px 16px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.field-group input:focus{border-color:#13845399;box-shadow:0 0 0 4px #36b0721f;outline:none}.verification-code-inputs{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(6,minmax(0,1fr))}.verification-digit-input{background:#f6faf7e6;border:1px solid #1b4a3b1f;border-radius:12px;color:#15362d;font-size:1.5rem;font-weight:700;height:56px;text-align:center;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.verification-digit-input:focus{border-color:#13845399;box-shadow:0 0 0 4px #36b0721f;outline:none}.primary-button,.secondary-button{border:none;border-radius:12px;cursor:pointer;font-size:.96rem;font-weight:700;padding:13px 18px;transition:transform .2s ease,box-shadow .2s ease}.primary-button{background:linear-gradient(135deg,#157c4d,#72c58d);box-shadow:0 16px 24px #177c4d2e;color:#fff}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.primary-button:disabled{cursor:not-allowed;opacity:.75}.alert-box{background:#d4525214;border:1px solid #d4525224;border-radius:12px;color:#9a2d2d;font-size:.9rem;padding:12px 14px}.dashboard-content,.topbar{margin:0 auto;max-width:1180px}.topbar{gap:20px;justify-content:space-between;margin-bottom:28px}.topbar,.user-actions{align-items:center;display:flex}.user-actions{gap:14px}.user-badge{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.badge-label{color:#607d70;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.user-badge strong{color:#15362d}.secondary-button{background:#173e34;box-shadow:0 12px 25px #173e342e;color:#fff}.dashboard-content{display:flex;flex-direction:column;gap:22px}.welcome-panel{align-items:center;border-radius:22px;display:flex;gap:18px;justify-content:space-between;padding:22px 24px}.welcome-panel h2{font-size:clamp(1.6rem,2vw,2.2rem);margin-top:6px}.role-pill{align-items:center;background:#1887531a;border-radius:999px;color:#0e6d46;display:inline-flex;font-size:.75rem;font-weight:800;justify-content:center;letter-spacing:.08em;min-width:120px;padding:10px 16px}.summary-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.summary-card{border-radius:20px;display:flex;flex-direction:column;gap:10px;min-height:180px;padding:22px 20px}.summary-card.accent-green{background:linear-gradient(135deg,#1b955a1f,#ffffffeb)}.summary-card.accent-blue{background:linear-gradient(135deg,#3877e31a,#ffffffeb)}.summary-card.accent-gold{background:linear-gradient(135deg,#edb2421a,#ffffffeb)}.summary-label{color:#5f7d70;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.summary-value{color:#14362d;font-size:clamp(2rem,2vw,2.4rem);line-height:1.1}.summary-meta{color:#516d63;font-size:.9rem}.detail-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:1fr 1.3fr}.panel{border-radius:22px;padding:24px}.panel h3{font-size:1.2rem;margin-bottom:18px}.info-list{display:flex;flex-direction:column;gap:14px;list-style:none}.info-list li{background:#f5faf7;border-radius:14px;color:#2a5648;display:flex;gap:18px;justify-content:space-between;padding:14px 16px}.operations-box{display:flex;flex-direction:column;gap:14px}.operation-row{align-items:center;background:#f5faf7;border-radius:14px;display:flex;gap:16px;justify-content:space-between;padding:14px 16px}.operation-row p{color:#5d7a6d;margin-bottom:6px}.operation-row strong{color:#16342d}.status-tag{align-items:center;border-radius:999px;display:inline-flex;font-size:.72rem;font-weight:700;justify-content:center;min-width:90px;padding:8px 12px}.status-tag.good{background:#1c9d601f;color:#0d7b4d}.status-tag.neutral{background:#607abb1f;color:#405c96}.status-tag.active{background:#308e7d1f;color:#0a6d5d}@media (max-width:760px){.field-row,.info-list li,.operation-row,.topbar,.user-actions,.welcome-panel{align-items:flex-start;flex-direction:column}.topbar,.welcome-panel{align-items:flex-start}.detail-grid,.field-row,.summary-grid{grid-template-columns:1fr}.user-badge{align-items:flex-start}.primary-button,.secondary-button{width:100%}}
/*# sourceMappingURL=main.9c2c661f.css.map*/