html{height:100%}body{--header-height: 4.5rem;--card-max-width: 650px;height:100%;display:grid;grid-template-columns:18rem 1fr;grid-template-rows:var(--header-height) 1fr;grid-template-areas:"sidebar header" "sidebar main";transition:grid-template-columns 0.12s;font-size:125%;font-family:Roboto, verdana, sans-serif;font-weight:400;margin:0;overflow-x:hidden;background-color:#0a4b2e;background:linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.3)),url(/assets/background1-2401e0a8849e54f88211198918fd43f339e8332df098a64ee418ea0644b4fdb5.jpg),no-repeat;background-size:cover;background-attachment:fixed}@media (max-width: 750px){body{--card-max-width: none}}@media (max-width: 600px){body{--header-height: 4rem;grid-template-columns:1fr;grid-template-rows:var(--header-height) auto 1fr auto;grid-template-areas:"header" "sidebar" "main" "footer"}body.sidebarMinimized{grid-template-rows:var(--header-height) 0 1fr auto}body.sidebarMinimized aside#sidebar{visibility:hidden;pointer-events:none}}@media (max-width: 600px){body{background-attachment:scroll}}@media (min-width: 601px){body.sidebarMinimized{grid-template-columns:4rem 1fr}}body.development{background-image:url(/assets/background2-ac2225a303a43dc7d4e667a7e3e69af01e33387d43f0296c625ecbdf4183036f.jpg)}html.no-transition *{transition:none !important}@media (max-width: 600px){html.sidebarMinimized body{grid-template-rows:var(--header-height) 0 1fr auto}html.sidebarMinimized body aside#sidebar{visibility:hidden;pointer-events:none}}@media (min-width: 601px){html.sidebarMinimized body{grid-template-columns:4rem 1fr}}header{grid-area:header;position:relative;display:grid;grid-template-columns:1fr;align-items:center;padding:0;margin:0;color:white;z-index:10;overflow:visible;isolation:isolate}header>*{grid-row:1;grid-column:1}header a{color:rgba(255,255,255,0.75)}header form{padding:0}@media (max-width: 600px){header{padding-left:var(--header-height)}}button.hamburgerToggle{z-index:11;width:100%;height:var(--header-height);padding:0;background:#0007;border:none;border-bottom:1px solid #fff3;cursor:pointer;color:#fffe;flex-shrink:0;position:relative}button.hamburgerToggle .hamburger-icon{position:absolute;left:0;top:0;width:4rem;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;line-height:1}button.hamburgerToggle .hamburger-title{display:block;width:100%;box-sizing:border-box;font-size:1.75rem;font-weight:400;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4rem;line-height:var(--header-height);opacity:1;transition:opacity 0.08s 0.04s}button.hamburgerToggle:hover{background:#7779}@media (max-width: 600px){button.hamburgerToggle{position:fixed;top:0;left:0;width:var(--header-height);height:var(--header-height);z-index:20;background:var(--section-color-start)}button.hamburgerToggle .hamburger-title{opacity:0;transition:none}}@media (min-width: 601px){body.sidebarMinimized button.hamburgerToggle .hamburger-title,html.sidebarMinimized body button.hamburgerToggle .hamburger-title{opacity:0;transition:opacity 0.04s}}@media (max-width: 600px){body.sidebarMinimized button.hamburgerToggle,html.sidebarMinimized button.hamburgerToggle{visibility:visible;pointer-events:auto}}body:has(header.header-plants),body:has(header.header-default){--section-gradient: linear-gradient(135deg, #2E7D32 0%, #637271 67%, #3E4F4E 100%);--section-color-start: #2E7D32}body:has(header.header-waterings){--section-gradient: linear-gradient(135deg, #1565C0 0%, #4a7a9b 67%, #2c4454 100%);--section-color-start: #1565C0}body:has(header.header-tanks){--section-gradient: linear-gradient(135deg, #00897B 0%, #4a8a84 67%, #2c5450 100%);--section-color-start: #00897B}body:has(header.header-locations){--section-gradient: linear-gradient(135deg, #F57F17 0%, #9b8a4a 67%, #544a2c 100%);--section-color-start: #F57F17}body:has(header.header-sensors){--section-gradient: linear-gradient(135deg, #7B1FA2 0%, #7a4a9b 67%, #3d2c54 100%);--section-color-start: #7B1FA2}body:has(header.header-users){--section-gradient: linear-gradient(135deg, #283593 0%, #4a5a9b 67%, #2c3454 100%);--section-color-start: #283593}body:has(header.header-settings){--section-gradient: linear-gradient(135deg, #546E7A 0%, #637271 67%, #3E4F4E 100%);--section-color-start: #546E7A}body:has(header.header-admin){--section-gradient: linear-gradient(135deg, #E65100 0%, #BF360C 67%, #4E342E 100%);--section-color-start: #E65100}body.development:has(header.header-plants),body.development:has(header.header-default){--section-gradient: linear-gradient(135deg, #008c4b 0%, #637271 67%, #8C6800 100%);--section-color-start: #008c4b}.header-plants,.header-waterings,.header-tanks,.header-locations,.header-sensors,.header-users,.header-settings,.header-admin,.header-default{background:var(--section-gradient)}@media (max-width: 600px){.header-plants,.header-waterings,.header-tanks,.header-locations,.header-sensors,.header-users,.header-settings,.header-admin,.header-default{background:linear-gradient(to right, var(--section-color-start) var(--header-height), transparent calc(var(--header-height) + 3rem)), var(--section-gradient)}}#headerTitle{text-align:center;font-size:2.25rem;font-weight:400;letter-spacing:-0.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}body:has(.plant-graphic-banner) #headerTitle{width:var(--card-max-width);justify-self:start;margin-left:3vw}#headerRight{justify-self:end;position:relative;display:flex;align-items:center;z-index:1}#headerEmail{padding:0.75rem 1rem;font-size:1.1rem;color:rgba(255,255,255,0.85);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;user-select:none;border-radius:4px}#headerEmail:hover{background:rgba(255,255,255,0.1)}@media (max-width: 600px){#headerEmail .email-text{display:none}}#headerEmail .mobile-user-icon{display:none;font-size:1.4rem}@media (max-width: 600px){#headerEmail .mobile-user-icon{display:inline}}.header-dropdown{position:absolute;top:100%;right:0;background:white;border-radius:6px;box-shadow:0 4px 16px rgba(0,0,0,0.2);z-index:100;min-width:200px;overflow:hidden}.header-dropdown form{width:100%}.dropdown-icon{display:inline-block;height:1em;width:1em;vertical-align:middle;margin-right:0.25rem;text-align:center}.dropdown-item{display:block;padding:1rem 1.25rem;color:#333;text-decoration:none;font-size:1rem}.dropdown-item:hover{background:rgba(0,0,0,0.06);text-decoration:none}.dropdown-logout{display:block;width:100%;padding:1rem 1.25rem;color:#c62828;text-decoration:none;font-size:1rem;background:none;border:none;border-top:1px solid #eee;text-align:left;cursor:pointer}.dropdown-logout:hover{background:#fbe9e7}#headerSearch{display:flex;align-items:center;margin:0 1rem;z-index:1}#headerSearch form{display:flex;width:100%;align-items:center;gap:0.5rem}#headerSearch .search-input-wrapper{flex:1;position:relative;display:flex;align-items:center}#headerSearch .search-icon{position:absolute;left:0.75rem;display:flex;align-items:center;pointer-events:none;z-index:1}#headerSearch .search-icon-img{width:2rem;height:2rem;opacity:0.6}#headerSearch .search-toggle-btn{display:none;background:none;border:none;cursor:pointer;padding:0 0.75rem;flex-shrink:0;height:var(--header-height);align-items:center;justify-content:center}#headerSearch .search-toggle-btn:hover .search-icon-img{opacity:0.9}#headerSearch input[type="search"]{flex:1;padding:0.35rem 2.5rem 0.35rem 2.75rem;border:1px solid rgba(255,255,255,0.3);border-radius:4px;background:rgba(255,255,255,0.15);color:white;font-size:1.1rem;outline:none}#headerSearch input[type="search"]::placeholder{color:rgba(255,255,255,0.6)}#headerSearch input[type="search"]:focus{background:rgba(255,255,255,0.25);border-color:rgba(255,255,255,0.5)}@media (max-width: 600px){#headerSearch{margin:0 0.5rem}#headerSearch .search-input-wrapper{display:none}#headerSearch .search-toggle-btn{display:block}#headerSearch.search-expanded .search-input-wrapper{display:flex}#headerSearch.search-expanded .search-toggle-btn{display:none}}body:has(main.plants.index) header{grid-template-columns:minmax(0, 1fr) auto}body:has(main.plants.index) header>*{grid-row:auto;grid-column:auto}body:has(main.plants.index) #headerTitle{display:none !important}body:has(main.plants.index) #headerSearch{max-width:var(--card-max-width);margin-left:1rem}@media (max-width: 600px){body:has(main.plants.index) #headerSearch{max-width:none}body:has(main.plants.index) #headerSearch .search-input-wrapper{display:flex !important}body:has(main.plants.index) #headerSearch .search-toggle-btn{display:none !important}}#sidebarLocale{position:relative}#sidebarLocale .locale-toggle-btn{width:100%;background:none;border:none;cursor:pointer;color:white;text-align:left;font-size:inherit}#sidebarLocale .locale-toggle-btn:hover{background:#777}#sidebarLocale .locale-options{border-top:1px solid #fff7}#sidebarLocale .locale-options .locale-option{border-bottom:1px solid #fff7}#sidebarLocale .locale-options .locale-option.selected{background:#777;cursor:default}.hidden{display:none !important}a.sidebarNav{display:block;width:100%;padding:0;border:none;color:#fffe;flex-shrink:0;text-decoration:none;overflow:hidden;cursor:pointer}a.sidebarNav #logoContainer{box-sizing:border-box;height:var(--logo-size, var(--header-height));padding:1rem 0;width:100%;display:flex;justify-content:center;align-items:center;transition:height 0.12s, padding 0.12s}a.sidebarNav #logoContainer img{width:auto;height:100%;object-fit:contain}a.sidebarNav:hover{background:#7779;color:#fffc;text-decoration:none}@media (max-width: 900px) and (min-width: 601px) and (max-height: 500px){a.sidebarNav #logoContainer{height:var(--header-height);padding:0.25rem}}body{--logo-size: 16rem}@media (min-width: 601px){body.sidebarMinimized .sidebarNav #logoContainer,html.sidebarMinimized body .sidebarNav #logoContainer{height:var(--header-height);padding:0.25rem}body.sidebarMinimized .sidebarNav #logoContainer img,html.sidebarMinimized body .sidebarNav #logoContainer img{width:100%;height:100%;object-fit:contain}}main{grid-area:main;display:flex;flex-direction:column;margin:0;min-width:0;overflow-x:clip;overflow-y:scroll}a.breadcrumb{color:#004D40}svg.breadcrumb{height:46px}section#primary{padding:0.5em 3vw 2em;background:#eee;flex:1;min-width:0}.plant-graphic-banner{display:flex;justify-content:center;max-width:var(--card-max-width);margin:1.5rem 0 0;padding:1.5rem 0;background:rgba(0,77,64,0.06);border-radius:8px}.plant-graphic-banner .plant-graphic-image{max-height:12rem;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,0.15))}@media (max-width: 600px){.plant-graphic-banner{padding:1rem 0;margin:1rem 0 0}.plant-graphic-banner .plant-graphic-image{max-height:8rem}}@media (max-width: 600px){#mainContainer{flex-direction:column}aside#sidebar{width:100%}aside#sidebar .fill{flex:0}}@media (max-width: 900px) and (min-width: 601px) and (max-height: 500px){aside#sidebar .fill{flex:0}}aside#sidebar{grid-area:sidebar;background:#0009;display:flex;flex-direction:column;justify-content:space-between}@media (min-width: 601px){aside#sidebar{grid-row:1 / -1}}aside#sidebar nav{display:flex;flex-direction:column;flex-wrap:nowrap;flex:1;border-top:1px solid #fff7;overflow-y:auto;min-height:0}aside#sidebar a.navItem,aside#sidebar nav button,aside#sidebar .locale-toggle-btn{display:block;color:white;padding:1rem 1rem 1rem 2.5rem;margin:0;border-bottom:1px solid #fff7}aside#sidebar a.navItem:hover,aside#sidebar a.navItem.selected,aside#sidebar nav button:hover,aside#sidebar nav button.selected,aside#sidebar .locale-toggle-btn:hover,aside#sidebar .locale-toggle-btn.selected{background:#7779;text-decoration:none}aside#sidebar a.navItem.selected,aside#sidebar nav button.selected,aside#sidebar .locale-toggle-btn.selected{cursor:default}aside#sidebar a.navItem svg,aside#sidebar nav button svg,aside#sidebar .locale-toggle-btn svg{height:20px}aside#sidebar a.navItem .nav-icon,aside#sidebar nav button .nav-icon,aside#sidebar .locale-toggle-btn .nav-icon{height:1.5em;width:1.5em;object-fit:contain;vertical-align:middle;margin-right:0.1em}aside#sidebar .fill+a.navItem{border-top:1px solid #fff7}aside#sidebar .indent a{padding-left:4rem}aside#sidebar form{display:flex}aside#sidebar button{text-align:left}aside#sidebar .iconLink{color:#fff7}aside#sidebar .iconLink:hover{color:#ffff}.fill{flex:1}@media (min-width: 601px){body.sidebarMinimized aside#sidebar .nav-label,html.sidebarMinimized body aside#sidebar .nav-label{display:none}body.sidebarMinimized aside#sidebar a.navItem,body.sidebarMinimized aside#sidebar nav button,body.sidebarMinimized aside#sidebar .locale-toggle-btn,html.sidebarMinimized body aside#sidebar a.navItem,html.sidebarMinimized body aside#sidebar nav button,html.sidebarMinimized body aside#sidebar .locale-toggle-btn{padding:1rem 0;text-align:center;font-size:1.2rem}body.sidebarMinimized aside#sidebar .indent a,html.sidebarMinimized body aside#sidebar .indent a{padding-left:0;text-align:center}}h1{margin-bottom:0.25rem}.plants-count-headers{padding:0 0.75rem}@media (min-width: 900px){.plants-count-headers{display:flex;align-items:baseline}}@media (max-width: 600px){.plants-count-headers h1{font-size:1.5em}.plants-count-headers h2{font-size:1.1em;padding-left:0.1em}}.display-toggle-btn{display:inline-block;padding:0.25rem 0.75rem;border-radius:999px;font-size:0.9em;line-height:1.4;text-decoration:none;color:#0E487B;background:rgba(14,72,123,0.1);white-space:nowrap;border:none;cursor:pointer;font-family:inherit}.display-toggle-btn:hover{background:rgba(14,72,123,0.2);text-decoration:none}.display-toggle-btn.active{background:#0E487B;color:white}.display-toggle-btn[data-location-color],.display-toggle-btn[data-recipe-color]{background:color-mix(in srgb, var(--filter-color) 15%, transparent);color:var(--filter-color)}.display-toggle-btn[data-location-color]:hover,.display-toggle-btn[data-recipe-color]:hover{background:color-mix(in srgb, var(--filter-color) 25%, transparent)}.display-toggle-btn.active[data-location-color],.display-toggle-btn.active[data-recipe-color]{background:var(--filter-color);color:white}.display-toggle-btn.active[data-location-color]:hover,.display-toggle-btn.active[data-recipe-color]:hover{background:var(--filter-color);opacity:0.9}#search-options{display:flex;flex-direction:column;gap:0.5rem;margin:0 0 .5em .5em}.sort-row{display:flex;align-items:center;gap:0.5rem;min-height:2.5rem;overflow-x:auto;scrollbar-width:none}.sort-row::-webkit-scrollbar{display:none}.sort-row .display-toggle-btn{padding:.75em  1.5em .75em 1em}.filter-row{display:flex;gap:0.5rem}@media (max-width: 500px){.filter-row{flex-direction:column}}.row-label{color:#666;font-size:0.9em;white-space:nowrap;line-height:1.8;display:flex;align-items:center;align-self:stretch}.filter-row-content{display:flex;flex-direction:column;gap:0.5rem;flex:1;min-width:0}.add-filters{display:flex;align-items:center;gap:0.5rem;min-height:2rem;overflow-x:auto;scrollbar-width:none}.add-filters::-webkit-scrollbar{display:none}.add-filter-btn{display:inline-block;padding:0.25rem 0.75rem;border-radius:999px;font-size:0.9em;text-decoration:none;color:#0E487B;background:transparent;border:1px dashed rgba(14,72,123,0.4);white-space:nowrap;cursor:pointer;font-family:inherit;transition:all 0.2s ease}.add-filter-btn:hover{background:rgba(14,72,123,0.1);border-style:solid}.collapsible-filter{display:flex;align-items:center;gap:0.5rem;min-height:2rem}.collapsible-filter .display-toggle-btn{border:1px solid transparent}.filter-section-label{color:#666;font-size:0.9em;white-space:nowrap;line-height:1.8;flex-shrink:0}@media (max-width: 500px){.filter-section-label .filter-label-text{display:none}}.filter-buttons-scroll{display:flex;align-items:center;gap:0.5rem;flex:1;min-width:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.filter-buttons-scroll::-webkit-scrollbar{display:none}.filter-buttons-scroll.expanded{flex-wrap:wrap;overflow-x:visible}.filter-buttons-scroll button.display-toggle-btn{border:none;cursor:pointer;font-family:inherit}.filter-actions{position:sticky;right:0;display:flex;align-items:center;align-self:stretch;gap:0.25rem;flex-shrink:0;background:#eee;padding-left:0.25rem}.is-overflowing>.filter-actions::before{content:"";position:absolute;right:100%;top:0;bottom:0;width:3em;background:linear-gradient(to right, transparent, #eee);pointer-events:none}.filter-toggle-btn{display:inline-block;padding:0.25rem 0.75rem;border-radius:999px;font-size:0.85em;border:1px solid rgba(14,72,123,0.3);background:transparent;color:#0E487B;cursor:pointer;font-family:inherit;transition:all 0.2s ease;white-space:nowrap}.filter-toggle-btn:hover{background:rgba(14,72,123,0.1);border-style:solid}.remove-filter-btn{display:inline-block;padding:0.25rem 0.5rem;border-radius:999px;font-size:0.9em;background:transparent;border:none;color:rgba(14,72,123,0.6);cursor:pointer;font-family:inherit;margin-left:0.25rem}.remove-filter-btn:hover{background:rgba(14,72,123,0.1);color:#0E487B}.watering-status-filters{display:flex;align-items:center;gap:0.5rem;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.watering-status-filters::-webkit-scrollbar{display:none}.watering-status-btn[data-status="urgent"]{background:color-mix(in srgb, #f59e0b 15%, transparent);color:#f59e0b}.watering-status-btn[data-status="urgent"]:hover{background:color-mix(in srgb, #f59e0b 25%, transparent)}.watering-status-btn[data-status="today"]{background:color-mix(in srgb, #10b981 15%, transparent);color:#10b981}.watering-status-btn[data-status="today"]:hover{background:color-mix(in srgb, #10b981 25%, transparent)}.watering-status-btn[data-status="scheduled"]{background:color-mix(in srgb, #3b82f6 15%, transparent);color:#3b82f6}.watering-status-btn[data-status="scheduled"]:hover{background:color-mix(in srgb, #3b82f6 25%, transparent)}.watering-status-btn.active[data-status="urgent"]{background:#f59e0b;color:white}.watering-status-btn.active[data-status="urgent"]:hover{opacity:0.9}.watering-status-btn.active[data-status="today"]{background:#10b981;color:white}.watering-status-btn.active[data-status="today"]:hover{opacity:0.9}.watering-status-btn.active[data-status="scheduled"]{background:#3b82f6;color:white}.watering-status-btn.active[data-status="scheduled"]:hover{opacity:0.9}.location-group-header{font-size:1.1em;font-weight:600;color:#0E487B;padding:0.75rem 0.75rem 0.25rem;margin:0}.location-group-header.clickable{cursor:pointer;user-select:none;transition:background-color 0.2s ease;display:flex;align-items:center;gap:0.5rem;padding:0.75rem;margin:0.5rem 0 0.25rem;border-radius:4px}.location-group-header.clickable:hover{opacity:0.9}.group-count{margin-left:auto;font-size:0.9em;opacity:0.8}.wateringNotesColumn{max-width:15rem}.range-field{width:100px}.range-dash{font-size:200%;line-height:40px;margin:0 8px}.range-label{font-size:100%;line-height:40px;margin:0 8px}.autocomplete-wrapper{position:relative}.autocomplete-list{display:none;position:absolute;top:100%;left:0;right:0;z-index:10;background:white;border:1px solid #ccc;border-radius:4px;box-shadow:0 4px 12px rgba(0,0,0,0.15);list-style:none;margin:2px 0 0;padding:4px 0;max-height:240px;overflow-y:auto}.autocomplete-item{display:flex;align-items:center;gap:0.5rem;padding:6px 10px;cursor:pointer}.autocomplete-item:hover,.autocomplete-item.active{background:rgba(14,72,123,0.1)}.autocomplete-thumb{width:32px;height:32px;object-fit:contain}.plant-graphic-selector{margin:1rem 0}.graphic-select-container{display:flex;align-items:center;gap:1rem}.graphic-select-container select{flex:1;max-width:200px}.plant-graphic-preview-image{width:64px;height:64px;border:2px solid #ddd;border-radius:8px;padding:4px;background:white;object-fit:contain}.plant-header{display:flex;align-items:center;gap:0.75rem}.plant-header-graphic-link{display:flex;align-items:center}.plant-header-graphic{width:128px;height:128px;object-fit:contain}.archived-checkbox{display:flex;align-items:center;gap:0.5rem}.archived-checkbox input[type=checkbox]{transform:scale(1);width:auto}.plant-cards{display:flex;flex-direction:column;gap:0.5rem}.plant-card{display:flex;align-items:stretch;border-radius:4px;background:rgba(14,72,123,0.1)}.plant-card:active{filter:brightness(0.95)}.plant-card.normal{background:rgba(14,72,123,0.1)}.plant-card.today{background:rgba(0,77,64,0.15)}.plant-card.today .plant-card-watering{color:#004D40}.plant-card.urgent{background:rgba(206,154,0,0.2)}.plant-card.urgent .plant-card-watering{color:#8C6800}.plant-card.none{background:rgba(153,153,153,0.1)}.plant-card-graphic-col{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 160px;min-width:0;max-width:160px;overflow:hidden;padding:0.5rem 0.25rem}.plant-card-graphic{display:flex;align-items:center;flex-shrink:0;overflow:hidden}.plant-card-graphic img{width:120px;min-width:120px;height:120px;object-fit:contain;display:block}.plant-card-name{font-size:1.1em;font-weight:500;text-align:center;margin-bottom:0.25rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plant-card-name a{color:inherit;text-decoration:none;opacity:0.9}.plant-card-name a:hover{text-decoration:underline}.plant-card-details{flex:1;min-width:0;padding:0.5rem 0.75rem;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.plant-card-watering{color:#0E487B;margin-bottom:0.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.1em}.plant-card-meta{display:grid;grid-template-columns:minmax(0, 220px) minmax(0, 1fr);gap:0.15rem 1rem;font-size:1.05em;color:#666;overflow:hidden;flex:1}.plant-card-last-watering-time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plant-card-last-watering-volume,.plant-card-last-watering-notes{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:0}.plant-card-location,.plant-card-container{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plant-card-water-col{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0.5rem 1.5rem;border-radius:0 4px 4px 0;text-decoration:none;color:#0E487B}.plant-card-water-col:hover{background:rgba(14,72,123,0.15);text-decoration:none}.plant-card-water-col.normal{color:#0E487B;background:rgba(14,72,123,0.05)}.plant-card-water-col.today{color:#004D40;background:rgba(0,77,64,0.05)}.plant-card-water-col.today:hover{background:rgba(0,77,64,0.15)}.plant-card-water-col.urgent{color:#8C6800;background:rgba(206,154,0,0.07)}.plant-card-water-col.urgent:hover{background:rgba(206,154,0,0.2)}.plant-card-water-col.none{color:#999}.water-icon{width:3em;height:3em}.plant-card-water-helper{font-size:0.7em;color:#999;margin-top:0.25rem;white-space:nowrap}.desktop-only{display:inline}.mobile-only{display:none}.short-text{display:none}.long-text{display:inline}@media (max-width: 768px){.plant-card-meta{grid-template-columns:1fr;font-size:0.85em}}@media (max-width: 500px){.desktop-only{display:none}.mobile-only{display:inline}.plant-card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr auto}.plant-card-graphic-col{grid-row:1;flex:0 0 120px;max-width:120px}.plant-card-details{grid-column:2;grid-row:1}.plant-card-water-col{grid-column:1 / -1;grid-row:2;flex-direction:row;border-radius:0 0 4px 4px;padding:0.5rem}.plant-card-name{white-space:normal;word-break:break-word}section#primary{padding-left:0;padding-right:0}.plant-actions{margin-left:16px;margin-right:16px}}.timeline-header{display:flex;align-items:center;flex-wrap:wrap;gap:0.5rem}.timeline-header h3{margin:0}.timeline-header .plant-actions{margin-left:0;margin-right:0}.search-input-wrapper{position:relative}.search-clear-btn{position:absolute;right:0.5rem;top:50%;transform:translateY(-50%);background:none;border:none;color:rgba(255,255,255,0.7);font-size:1.2rem;cursor:pointer;padding:0.25rem 0.5rem;z-index:10}.search-clear-btn:hover{color:white}.pagination-controls{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem 0.5rem;flex-wrap:wrap}.pagination-per-page{display:flex;align-items:center;gap:0.5rem;font-size:0.9em;color:#666}.pagination-per-page select{padding:0.25rem 0.5rem;border-radius:999px;border:1px solid rgba(14,72,123,0.3);background:white;color:#0E487B;font-family:inherit;font-size:0.9em;cursor:pointer}.pagination-nav{display:flex;align-items:center;gap:0.25rem}.pagination-nav button{display:inline-block;padding:0.25rem 0.6rem;border-radius:999px;font-size:0.85em;border:1px solid rgba(14,72,123,0.3);background:transparent;color:#0E487B;cursor:pointer;font-family:inherit;transition:all 0.2s ease;white-space:nowrap;min-width:2rem;text-align:center}.pagination-nav button:hover:not(:disabled){background:rgba(14,72,123,0.1);border-style:solid}.pagination-nav button:disabled{opacity:0.4;cursor:default}.pagination-nav button.active{background:#0E487B;color:white;border-color:#0E487B}.pagination-info{font-size:0.85em;color:#666;white-space:nowrap}html.no-transition *{transition:none !important}a,.link,.buttonLink,.buttonLinkDanger,.linkDanger{color:#D81B60;text-decoration:none}a:hover,.link:hover,.buttonLink:hover,.buttonLinkDanger:hover,.linkDanger:hover,a:active,.link:active,.buttonLink:active,.buttonLinkDanger:active,.linkDanger:active{text-decoration:underline}textarea{font-size:100%;font-family:Roboto, verdana, sans-serif;width:50%;min-width:8em;box-sizing:border-box}@media (max-width: 600px){textarea{width:100%;min-width:0}}nav{display:flex;flex-wrap:wrap}nav a,nav .link,nav .buttonLink,nav .buttonLinkDanger,nav .linkDanger{display:inline-block;white-space:nowrap}nav .navItem,nav .button_to .navItem{padding:0 13px;white-space:nowrap}nav .navItem:hover,nav .navItem.selected,nav .button_to .navItem:hover,nav .button_to .navItem.selected{background:#d9e4e2;color:#00362d;text-decoration:none}nav .navItem.selected{cursor:default;background:#d9e4e2;color:#00362d;text-decoration:none}nav#sidebar{flex-direction:column}form.button_to{display:inline-block}form.button_to button.logout{font-family:Roboto, verdana, sans-serif;color:rgba(255,255,255,0.75);border:none;background:none;font-size:100%}form.button_to button.logout:hover{cursor:pointer}.rangeInputContainer{display:flex;align-items:flex-end}time{float:right;margin-left:1.25em}h1{clear:both}h2{font-size:1.4em;font-weight:400;opacity:0.7;margin:.5em 0 .5em .65em}main.sessions label,main.registrations label,main.passwords label,main.password_resets label,main.settings label,main.plants label,main.tanks label,main.locations label,main.zones label,main.sensors label,main.sensor_types label,main.water_tests label,main.recipes label,main.recipe_sources label,main.recipe_batches label{display:block;font-size:85%;color:#555}main.sessions .field,main.registrations .field,main.passwords .field,main.password_resets .field,main.settings .field,main.plants .field,main.tanks .field,main.locations .field,main.zones .field,main.sensors .field,main.sensor_types .field,main.water_tests .field,main.recipes .field,main.recipe_sources .field,main.recipe_batches .field{margin-bottom:0.5em}main.sessions .field input,main.registrations .field input,main.passwords .field input,main.password_resets .field input,main.settings .field input,main.plants .field input,main.tanks .field input,main.locations .field input,main.zones .field input,main.sensors .field input,main.sensor_types .field input,main.water_tests .field input,main.recipes .field input,main.recipe_sources .field input,main.recipe_batches .field input{padding:4px 8px}main.sessions .submit,main.registrations .submit,main.passwords .submit,main.password_resets .submit,main.settings .submit,main.plants .submit,main.tanks .submit,main.locations .submit,main.zones .submit,main.sensors .submit,main.sensor_types .submit,main.water_tests .submit,main.recipes .submit,main.recipe_sources .submit,main.recipe_batches .submit{margin-top:1em}main.plants h1{padding:0 0.75rem}main.sessions section#primary,main.registrations section#primary,main.passwords section#primary,main.password_resets section#primary{background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center}main.sessions section#primary .settings-card,main.sessions section#primary .auth-card,main.registrations section#primary .settings-card,main.registrations section#primary .auth-card,main.passwords section#primary .settings-card,main.passwords section#primary .auth-card,main.password_resets section#primary .settings-card,main.password_resets section#primary .auth-card{width:100%;max-width:450px}@media (max-width: 600px){main.sessions section#primary .settings-card,main.sessions section#primary .auth-card,main.registrations section#primary .settings-card,main.registrations section#primary .auth-card,main.passwords section#primary .settings-card,main.passwords section#primary .auth-card,main.password_resets section#primary .settings-card,main.password_resets section#primary .auth-card{width:calc(100% - 2rem);margin:0 1rem}}@media (max-width: 400px){main.sessions section#primary .settings-card input:not([type="submit"]),main.sessions section#primary .auth-card input:not([type="submit"]),main.registrations section#primary .settings-card input:not([type="submit"]),main.registrations section#primary .auth-card input:not([type="submit"]),main.passwords section#primary .settings-card input:not([type="submit"]),main.passwords section#primary .auth-card input:not([type="submit"]),main.password_resets section#primary .settings-card input:not([type="submit"]),main.password_resets section#primary .auth-card input:not([type="submit"]){font-size:0.875em}}main.plants.new section#primary,main.plants.edit section#primary,main.plants.create section#primary,main.plants.update section#primary{background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center}main.plants.new section#primary .settings-card,main.plants.new section#primary .auth-card,main.plants.edit section#primary .settings-card,main.plants.edit section#primary .auth-card,main.plants.create section#primary .settings-card,main.plants.create section#primary .auth-card,main.plants.update section#primary .settings-card,main.plants.update section#primary .auth-card{width:100%;max-width:450px}@media (max-width: 600px){main.plants.new section#primary .settings-card,main.plants.new section#primary .auth-card,main.plants.edit section#primary .settings-card,main.plants.edit section#primary .auth-card,main.plants.create section#primary .settings-card,main.plants.create section#primary .auth-card,main.plants.update section#primary .settings-card,main.plants.update section#primary .auth-card{width:calc(100% - 2rem);margin:0 1rem}}main.tanks.new section#primary,main.tanks.edit section#primary,main.tanks.create section#primary,main.tanks.update section#primary,main.locations.new section#primary,main.locations.edit section#primary,main.locations.create section#primary,main.locations.update section#primary,main.zones.new section#primary,main.zones.edit section#primary,main.zones.create section#primary,main.zones.update section#primary,main.sensors.new section#primary,main.sensors.edit section#primary,main.sensors.create section#primary,main.sensors.update section#primary,main.sensor_types.new section#primary,main.sensor_types.edit section#primary,main.sensor_types.create section#primary,main.sensor_types.update section#primary,main.water_tests.new section#primary,main.water_tests.edit section#primary,main.water_tests.create section#primary,main.water_tests.update section#primary,main.recipes.new section#primary,main.recipes.edit section#primary,main.recipes.create section#primary,main.recipes.update section#primary,main.recipe_sources.new section#primary,main.recipe_sources.edit section#primary,main.recipe_sources.create section#primary,main.recipe_sources.update section#primary,main.recipe_batches.new section#primary,main.recipe_batches.edit section#primary,main.recipe_batches.create section#primary,main.recipe_batches.update section#primary{background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center}main.tanks.new section#primary .settings-card,main.tanks.new section#primary .auth-card,main.tanks.edit section#primary .settings-card,main.tanks.edit section#primary .auth-card,main.tanks.create section#primary .settings-card,main.tanks.create section#primary .auth-card,main.tanks.update section#primary .settings-card,main.tanks.update section#primary .auth-card,main.locations.new section#primary .settings-card,main.locations.new section#primary .auth-card,main.locations.edit section#primary .settings-card,main.locations.edit section#primary .auth-card,main.locations.create section#primary .settings-card,main.locations.create section#primary .auth-card,main.locations.update section#primary .settings-card,main.locations.update section#primary .auth-card,main.zones.new section#primary .settings-card,main.zones.new section#primary .auth-card,main.zones.edit section#primary .settings-card,main.zones.edit section#primary .auth-card,main.zones.create section#primary .settings-card,main.zones.create section#primary .auth-card,main.zones.update section#primary .settings-card,main.zones.update section#primary .auth-card,main.sensors.new section#primary .settings-card,main.sensors.new section#primary .auth-card,main.sensors.edit section#primary .settings-card,main.sensors.edit section#primary .auth-card,main.sensors.create section#primary .settings-card,main.sensors.create section#primary .auth-card,main.sensors.update section#primary .settings-card,main.sensors.update section#primary .auth-card,main.sensor_types.new section#primary .settings-card,main.sensor_types.new section#primary .auth-card,main.sensor_types.edit section#primary .settings-card,main.sensor_types.edit section#primary .auth-card,main.sensor_types.create section#primary .settings-card,main.sensor_types.create section#primary .auth-card,main.sensor_types.update section#primary .settings-card,main.sensor_types.update section#primary .auth-card,main.water_tests.new section#primary .settings-card,main.water_tests.new section#primary .auth-card,main.water_tests.edit section#primary .settings-card,main.water_tests.edit section#primary .auth-card,main.water_tests.create section#primary .settings-card,main.water_tests.create section#primary .auth-card,main.water_tests.update section#primary .settings-card,main.water_tests.update section#primary .auth-card,main.recipes.new section#primary .settings-card,main.recipes.new section#primary .auth-card,main.recipes.edit section#primary .settings-card,main.recipes.edit section#primary .auth-card,main.recipes.create section#primary .settings-card,main.recipes.create section#primary .auth-card,main.recipes.update section#primary .settings-card,main.recipes.update section#primary .auth-card,main.recipe_sources.new section#primary .settings-card,main.recipe_sources.new section#primary .auth-card,main.recipe_sources.edit section#primary .settings-card,main.recipe_sources.edit section#primary .auth-card,main.recipe_sources.create section#primary .settings-card,main.recipe_sources.create section#primary .auth-card,main.recipe_sources.update section#primary .settings-card,main.recipe_sources.update section#primary .auth-card,main.recipe_batches.new section#primary .settings-card,main.recipe_batches.new section#primary .auth-card,main.recipe_batches.edit section#primary .settings-card,main.recipe_batches.edit section#primary .auth-card,main.recipe_batches.create section#primary .settings-card,main.recipe_batches.create section#primary .auth-card,main.recipe_batches.update section#primary .settings-card,main.recipe_batches.update section#primary .auth-card{width:100%;max-width:450px}@media (max-width: 600px){main.tanks.new section#primary .settings-card,main.tanks.new section#primary .auth-card,main.tanks.edit section#primary .settings-card,main.tanks.edit section#primary .auth-card,main.tanks.create section#primary .settings-card,main.tanks.create section#primary .auth-card,main.tanks.update section#primary .settings-card,main.tanks.update section#primary .auth-card,main.locations.new section#primary .settings-card,main.locations.new section#primary .auth-card,main.locations.edit section#primary .settings-card,main.locations.edit section#primary .auth-card,main.locations.create section#primary .settings-card,main.locations.create section#primary .auth-card,main.locations.update section#primary .settings-card,main.locations.update section#primary .auth-card,main.zones.new section#primary .settings-card,main.zones.new section#primary .auth-card,main.zones.edit section#primary .settings-card,main.zones.edit section#primary .auth-card,main.zones.create section#primary .settings-card,main.zones.create section#primary .auth-card,main.zones.update section#primary .settings-card,main.zones.update section#primary .auth-card,main.sensors.new section#primary .settings-card,main.sensors.new section#primary .auth-card,main.sensors.edit section#primary .settings-card,main.sensors.edit section#primary .auth-card,main.sensors.create section#primary .settings-card,main.sensors.create section#primary .auth-card,main.sensors.update section#primary .settings-card,main.sensors.update section#primary .auth-card,main.sensor_types.new section#primary .settings-card,main.sensor_types.new section#primary .auth-card,main.sensor_types.edit section#primary .settings-card,main.sensor_types.edit section#primary .auth-card,main.sensor_types.create section#primary .settings-card,main.sensor_types.create section#primary .auth-card,main.sensor_types.update section#primary .settings-card,main.sensor_types.update section#primary .auth-card,main.water_tests.new section#primary .settings-card,main.water_tests.new section#primary .auth-card,main.water_tests.edit section#primary .settings-card,main.water_tests.edit section#primary .auth-card,main.water_tests.create section#primary .settings-card,main.water_tests.create section#primary .auth-card,main.water_tests.update section#primary .settings-card,main.water_tests.update section#primary .auth-card,main.recipes.new section#primary .settings-card,main.recipes.new section#primary .auth-card,main.recipes.edit section#primary .settings-card,main.recipes.edit section#primary .auth-card,main.recipes.create section#primary .settings-card,main.recipes.create section#primary .auth-card,main.recipes.update section#primary .settings-card,main.recipes.update section#primary .auth-card,main.recipe_sources.new section#primary .settings-card,main.recipe_sources.new section#primary .auth-card,main.recipe_sources.edit section#primary .settings-card,main.recipe_sources.edit section#primary .auth-card,main.recipe_sources.create section#primary .settings-card,main.recipe_sources.create section#primary .auth-card,main.recipe_sources.update section#primary .settings-card,main.recipe_sources.update section#primary .auth-card,main.recipe_batches.new section#primary .settings-card,main.recipe_batches.new section#primary .auth-card,main.recipe_batches.edit section#primary .settings-card,main.recipe_batches.edit section#primary .auth-card,main.recipe_batches.create section#primary .settings-card,main.recipe_batches.create section#primary .auth-card,main.recipe_batches.update section#primary .settings-card,main.recipe_batches.update section#primary .auth-card{width:calc(100% - 2rem);margin:0 1rem}}main.settings section#primary{max-width:600px;margin-left:auto;margin-right:auto}main.settings .settings-card,main.settings .auth-card{background:rgba(0,77,64,0.15)}input,select{width:100%;box-sizing:border-box}select{font-size:120%;padding:4px 8px;font-family:Roboto, verdana, sans-serif}table th{text-align:left;font-weight:500}table td{text-overflow:'...';white-space:nowrap;overflow:hidden}input[type=checkbox]{transform:scale(1.5)}input{font-size:120%}.saveButton{padding:16px 48px;background:#517c68;color:white;border:none;border-radius:6px;font-family:Roboto, verdana, sans-serif;font-size:100%;cursor:pointer}.saveButton:hover{background:#1ba562}.hide{display:none}h4{color:#bbb;margin:-1em 0 1em 9em}.line-break::after{content:"\a";white-space:pre}table{border-spacing:0;width:100%;margin:1em 0}th,td{padding:12px 6px;line-height:27px}thead th{color:#004D40}tbody tr:nth-child(odd){background:rgba(0,77,64,0.15)}tbody tr:nth-child(even) td{border-top:2px solid rgba(0,77,64,0.15);border-bottom:2px solid rgba(0,77,64,0.15)}tbody tr:nth-child(even) td:first-child{border-left:2px solid rgba(0,77,64,0.15)}tbody tr:nth-child(even) td:last-child{border-right:2px solid rgba(0,77,64,0.15)}table.blue{border-color:#0E487B}table.blue thead th{color:#0E487B}table.blue tbody tr:nth-child(odd){background:rgba(14,72,123,0.1)}table.blue td{border-color:rgba(14,72,123,0.1) !important}table.yellow{border-color:#8C6800}table.yellow thead th{color:#8C6800}table.yellow tbody tr:nth-child(odd){background:rgba(206,154,0,0.2)}table.yellow td{border-color:rgba(206,154,0,0.2) !important}.settings-card,.auth-card{background:#f7f7f7;border-radius:8px;border-left:4px solid #004D40;padding:1rem 1.25rem;margin-bottom:1.5rem}.settings-card h2,.auth-card h2{margin-top:0;color:#00362d;font-size:1.1em}.settings-card .info-row,.auth-card .info-row{display:flex;justify-content:space-between;padding:0.4rem 0;border-bottom:1px solid rgba(0,77,64,0.1)}.settings-card .info-row:last-of-type,.auth-card .info-row:last-of-type{border-bottom:none}.settings-card .info-row .label,.auth-card .info-row .label{color:#00362d;font-weight:500}.settings-card .info-row .value,.auth-card .info-row .value{color:#333;text-align:right}.settings-card.danger,.danger.auth-card{background:rgba(124,81,81,0.1);border-left-color:#7c5151}.settings-card.danger h2,.danger.auth-card h2{color:#7c5151}.auth-card{padding:1.5rem 2rem;text-align:center;background:#f7f7f7}.auth-card h1{font-weight:500;margin-bottom:1rem}.auth-card h1.auth-heading-sm{font-size:1.5em}.auth-card form{text-align:left}.auth-card .saveButton{width:100%;box-sizing:border-box}.auth-card .g_id_signin{display:flex;justify-content:center}.auth-links{margin-top:1.5rem;display:flex;flex-wrap:wrap;justify-content:center;gap:0.5rem}.auth-errors{background:rgba(124,81,81,0.1);border-left:3px solid #7c5151;border-radius:4px;padding:0.75rem 1rem;margin-bottom:1rem;text-align:left;color:#7c5151;font-size:0.9em}.guest-banner{background:#fff3cd;border:1px solid #ffc107;border-radius:6px;padding:0.75rem 1rem;margin-bottom:1rem;text-align:center;font-size:0.9em;color:#856404}.guest-banner-link{font-weight:500;color:#004D40;text-decoration:underline}.auth-separator{display:flex;align-items:center;margin:1.25rem 0;color:#999}.auth-separator::before,.auth-separator::after{content:"";flex:1;border-bottom:1px solid #ddd}.auth-separator span{padding:0 0.75rem;font-size:0.85em;text-transform:uppercase}.guestButton{display:block;width:100%;padding:0.6rem;margin-top:1.25rem;background:transparent;border:1px solid #999;border-radius:4px;color:#555;cursor:pointer;font-size:0.9em}.guestButton:hover{background:#f0f0f0}.flash-notice,.flash-alert{display:flex;align-items:center;gap:0.6rem;border-radius:4px;padding:0.75rem 1rem;margin:0.5rem 3vw;font-size:0.95em;border-left:4px solid}.flash-notice svg,.flash-alert svg{flex-shrink:0;width:1.25em;height:1.25em}.flash-notice{background:#d2e9e4;border-left-color:#004D40;color:#00362d}.flash-alert{background:#f0dcdc;border-left-color:#7c5151;color:#7c5151}.plantButton{display:inline-block;background:#517c68;max-width:300px;width:100%;font-size:120%;border:none;border-radius:6px;cursor:pointer}.plantButton a,.plantButton .link,.plantButton .buttonLink,.plantButton .buttonLinkDanger,.plantButton .linkDanger{display:block;text-align:center;line-height:48px;color:white;text-decoration:none}.plantButton:hover{background:#1ba562}a.blue,.blue.link,.blue.buttonLink,.blue.buttonLinkDanger,.blue.linkDanger{color:#0E487B}a.green,.green.link,.green.buttonLink,.green.buttonLinkDanger,.green.linkDanger{color:#004D40}a.yellow,.yellow.link,.yellow.buttonLink,.yellow.buttonLinkDanger,.yellow.linkDanger{color:#8C6800}a.purple,.purple.link,.purple.buttonLink,.purple.buttonLinkDanger,.purple.linkDanger{color:#D81B60}p.large{font-size:120%}#localizations{margin:0;padding:0;list-style-type:none}#localizations li{display:inline-block}#localizations a,#localizations .link,#localizations .buttonLink,#localizations .buttonLinkDanger,#localizations .linkDanger{display:inline-block;padding:6px 8px;color:rgba(255,255,255,0.7);transition:none}#localizations a:hover,#localizations .link:hover,#localizations .buttonLink:hover,#localizations .buttonLinkDanger:hover,#localizations .linkDanger:hover,#localizations a.selected,#localizations .selected.link,#localizations .selected.buttonLink,#localizations .selected.buttonLinkDanger,#localizations .selected.linkDanger{color:white;text-decoration:none}.updateText{display:inline-block;margin:20px 0;padding-left:4px;font-size:75%;color:#999}.cursor-pointer{cursor:pointer}#plant_search{display:flex}#plant_search input[type=search]{padding:16px 2.5rem 16px 52px}#plant_search input[type=submit]{flex:1}.link,.buttonLink,.buttonLinkDanger,.linkDanger{display:inline-block;padding:8px 16px;margin:4px;background:#517c68;border-radius:6px;font-size:95%;color:white}.link:hover,.buttonLink:hover,.buttonLinkDanger:hover,.linkDanger:hover{background:#1ba562;color:white;text-decoration:none}.link.sharing-toggle:hover,.sharing-toggle.buttonLink:hover,.sharing-toggle.buttonLinkDanger:hover,.sharing-toggle.linkDanger:hover{background:#517c68}.link.sharing-toggle.sharing-active,.sharing-toggle.sharing-active.buttonLink,.sharing-active.buttonLinkDanger,.sharing-toggle.sharing-active.linkDanger{background:#1ba562}.link.sharing-toggle.sharing-active:hover,.sharing-toggle.sharing-active.buttonLink:hover,.sharing-active.buttonLinkDanger:hover,.sharing-toggle.sharing-active.linkDanger:hover{background:#1ba562}.linkDanger{background:#7c5151}.linkDanger:hover{background:#a52f2f}.buttonLink,.buttonLinkDanger{font-family:Roboto, verdana, sans-serif;cursor:pointer;border:none}.buttonLink button,.buttonLinkDanger button{background:#517c68;color:white;border:none;border-radius:6px;padding:8px 16px;margin:4px;font-family:Roboto, verdana, sans-serif;font-size:95%;cursor:pointer}.buttonLink button:hover,.buttonLinkDanger button:hover{background:#1ba562;color:white}.buttonLink button:disabled,.buttonLinkDanger button:disabled{background:#aaa;cursor:not-allowed}.buttonLink button:disabled:hover,.buttonLinkDanger button:disabled:hover{background:#aaa}.buttonLinkDanger{background:#7c5151;color:white}.buttonLinkDanger:hover{background:#a52f2f}.buttonLinkDanger button{background:#7c5151}.buttonLinkDanger button:hover{background:#a52f2f}svg{vertical-align:middle}table.timeline{width:100%;table-layout:fixed}table.timeline .whenColumn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}@media (max-width: 600px){table.timeline .whenColumn{white-space:normal;word-break:break-word}}table.timeline tbody tr.log-entry-row:hover{background:rgba(0,77,64,0.25)}table.timeline tbody tr.log-entry-row td{border-color:rgba(0,77,64,0.15) !important}table.timeline tbody tr.log-entry-row:nth-child(odd){background:rgba(0,77,64,0.15)}table.timeline tbody tr.log-entry-row:nth-child(odd):hover{background:rgba(0,77,64,0.25)}table.timeline tbody tr.log-entry-row:nth-child(odd) td:first-child{border-left:2px solid transparent}table.timeline tbody tr.log-entry-row:nth-child(odd) td:last-child{border-right:2px solid transparent}table.timeline tbody tr.log-entry-row:nth-child(even) td{border-top:2px solid rgba(0,77,64,0.15);border-bottom:2px solid rgba(0,77,64,0.15)}table.timeline tbody tr.log-entry-row:nth-child(even) td:first-child{border-left:2px solid rgba(0,77,64,0.15)}table.timeline tbody tr.log-entry-row:nth-child(even) td:last-child{border-right:2px solid rgba(0,77,64,0.15)}table.timeline tbody tr.watering-row:hover{background:rgba(14,72,123,0.2)}table.timeline tbody tr.watering-row td{border-color:rgba(14,72,123,0.1) !important}table.timeline tbody tr.watering-row:nth-child(odd){background:rgba(14,72,123,0.1)}table.timeline tbody tr.watering-row:nth-child(odd):hover{background:rgba(14,72,123,0.2)}table.timeline tbody tr.watering-row:nth-child(odd) td:first-child{border-left:2px solid transparent}table.timeline tbody tr.watering-row:nth-child(odd) td:last-child{border-right:2px solid transparent}table.timeline tbody tr.watering-row:nth-child(even) td{border-top:2px solid rgba(14,72,123,0.1);border-bottom:2px solid rgba(14,72,123,0.1)}table.timeline tbody tr.watering-row:nth-child(even) td:first-child{border-left:2px solid rgba(14,72,123,0.1)}table.timeline tbody tr.watering-row:nth-child(even) td:last-child{border-right:2px solid rgba(14,72,123,0.1)}table.timeline .metadata,table.timeline .notes,table.timeline .interval{font-size:90%;color:#666}table.timeline .updated-at{float:right;font-size:0.85em}table.timeline .timeline-icon{font-size:1.3em;margin:0 0.3em}table.timeline .watering-notes{margin-left:0.3em}table.timeline .no-volume{color:#bbb;margin:0 0.5em}table.timeline .watering-time,table.timeline .entry-time{margin-left:1.5em}table.timeline .typeColumn{font-weight:500;white-space:nowrap}table.timeline .detailsColumn div{margin:2px 0}.resource-cards{display:flex;flex-direction:column;gap:0.5rem}.resource-card{display:block;background:rgba(14,72,123,0.1);border-left:4px solid #0E487B;border-radius:8px;padding:0.75rem 1rem;text-decoration:none;color:inherit}.resource-card:hover{filter:brightness(0.95);text-decoration:none}.resource-card .resource-card-name{font-size:1.1em;font-weight:500;color:#333}.resource-card .resource-card-meta{color:#666;font-size:0.95em;margin-top:0.25rem}.info-card{margin:1.5rem 0;max-width:100%}.info-card .info-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.info-card .info-card-grid:has(.details-section){grid-template-columns:1fr;max-width:var(--card-max-width)}@media (max-width: 750px){.info-card .info-card-grid{grid-template-columns:1fr}}.info-card .info-card-section{background:rgba(0,77,64,0.15);border-radius:8px;border-left:4px solid #004D40;min-width:0}.info-card .info-card-section:not(.watering-section){padding:1rem 1.25rem}.info-card .info-row{display:flex;justify-content:space-between;padding:0.4rem 0;border-bottom:1px solid rgba(0,77,64,0.1);gap:0.5rem}.info-card .info-row:last-of-type{border-bottom:none}.info-card .info-row.primary{font-size:1.1em}.info-card .info-row.archived{color:#8C6800}.info-card .info-row .label{color:#00362d;font-weight:500;flex-shrink:0}.info-card .info-row .value{color:#333;text-align:right;min-width:0;overflow-wrap:break-word}.info-card .watering-section{display:flex;align-items:stretch;background:rgba(14,72,123,0.1);border-left-color:#0E487B}@media (max-width: 600px){.info-card .watering-section{flex-direction:column}}.info-card .watering-section.urgent{background:rgba(206,154,0,0.2);border-left-color:#8C6800}.info-card .watering-section.urgent .watering-suggestion{color:#8C6800}.info-card .watering-section.today{background:rgba(0,77,64,0.15);border-left-color:#004D40}.info-card .watering-section.today .watering-suggestion{color:#004D40}.info-card .water-icon-link{display:flex;flex-direction:column;align-items:center;justify-content:center;order:2;padding:2rem;text-decoration:none;flex:1;min-width:0}.info-card .water-icon-link:hover{background:rgba(14,72,123,0.15);text-decoration:none}.info-card .water-icon-link.normal{color:#0E487B;background:rgba(14,72,123,0.05)}.info-card .water-icon-link.today{color:#004D40;background:rgba(0,77,64,0.05)}.info-card .water-icon-link.today:hover{background:rgba(0,77,64,0.15)}.info-card .water-icon-link.urgent{color:#8C6800;background:rgba(206,154,0,0.07)}.info-card .water-icon-link.urgent:hover{background:rgba(206,154,0,0.2)}.info-card .water-icon-link.none{color:#999}.info-card .water-icon{width:4em;height:4em}.info-card .water-helper-text{margin-top:0.5em;color:#888}.info-card .click-text{display:none}@media (hover: hover){.info-card .click-text{display:inline}}.info-card .tap-text{display:inline}@media (hover: hover){.info-card .tap-text{display:none}}.info-card .watering-text{flex:1;order:1;user-select:text;text-align:center;padding:1rem 1.25rem;display:flex;flex-direction:column;justify-content:space-around;min-width:0;overflow-wrap:break-word}.info-card .watering-suggestion{font-size:1.5em;color:#0E487B;margin-bottom:0.25rem}.info-card .watering-history{color:#888;font-size:0.85em;margin-bottom:1rem}.info-card .watering-details{color:#555}.info-card .watering-details .watering-notes-text{color:#888;font-size:0.85em}.info-card .watering-details .watering-recipe-text,.info-card .watering-details .watering-batch-text{display:block;color:#888;font-size:0.85em}.info-card .watering-frequency-prompt{font-size:0.85em}.info-card .watering-frequency-prompt a,.info-card .watering-frequency-prompt .link,.info-card .watering-frequency-prompt .linkDanger,.info-card .watering-frequency-prompt .buttonLink{color:#888}main.plants h3{margin-left:16px;margin-right:16px}.plant-detail-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid #ddd}.share-cards{margin-top:1rem;padding-top:1rem;border-top:1px solid #ddd;display:flex;flex-direction:column;gap:0.75rem}.share-card{margin-bottom:0}.share-card h2{font-size:1.1rem}.share-link-container{display:flex;gap:0.5rem;align-items:center}.share-link-container form.buttonLinkDanger{padding:0;margin:0;background:transparent;border:none;border-radius:0}.share-link-container form.buttonLinkDanger button{white-space:nowrap;padding:6px 10px;margin:0;font-size:0.85em;background:#7c5151;color:white;border:none;border-radius:6px;font-family:Roboto, verdana, sans-serif;cursor:pointer}.share-link-container form.buttonLinkDanger button:hover{background:#a52f2f}.share-link-input{flex:1;min-width:0;padding:0.5rem 0.6rem;font-size:0.85rem;border:2px solid #ddd;border-radius:4px;background:#f9f9f9;font-family:monospace;text-overflow:ellipsis}.share-link-input:focus{outline:none;border-color:#0E487B;background:white}.notification-card{padding:0}.notification-card .notification-card-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:1rem 1.25rem;border-radius:6px;transition:background 0.12s}.notification-card .notification-card-header h2{margin:0;pointer-events:none}.notification-card .notification-card-header:hover{background:rgba(0,0,0,0.04)}.notification-card .notification-card-body{padding:0 1.25rem}.notification-card .notification-card-body>:first-child{padding-top:1rem}.notification-card .notification-card-body>:last-child{padding-bottom:1rem}.toggle-wrap{display:flex;align-items:center;align-self:stretch;gap:0.5rem;padding:0 0 0 0.75rem;margin:-1rem -1.25rem -1rem 0;padding-right:1.25rem;padding-top:1rem;padding-bottom:1rem;cursor:pointer;border-radius:0 6px 6px 0}.toggle-label{font-size:0.75em;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:0.05em}.switch{position:relative;display:inline-block;width:48px;height:26px;flex-shrink:0;cursor:pointer}.switch input{opacity:0;width:0;height:0}.switch .switch-slider{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#ccc;border-radius:26px;transition:background-color 0.2s}.switch .switch-slider::before{content:"";position:absolute;height:20px;width:20px;left:3px;bottom:3px;background-color:white;border-radius:50%;transition:transform 0.2s}.switch input:checked+.switch-slider{background-color:#2E7D32}.switch input:checked+.switch-slider::before{transform:translateX(22px)}.push-device-list{margin-bottom:1rem}.push-device{display:flex;align-items:center;justify-content:space-between;padding:0.5rem 0.75rem;border-bottom:1px solid rgba(0,77,64,0.1)}.push-device:last-child{border-bottom:none}.push-device.current-device{border-left:3px solid #004D40;padding-left:calc(0.75rem - 3px);background:rgba(0,77,64,0.05)}.push-device-info{display:flex;flex-direction:column;gap:0.15rem}.push-device-name{font-weight:500;color:#333;font-size:0.95em}.push-device-date{font-size:0.8em;color:#888}.push-device-badge{font-size:0.75em;color:#004D40;font-weight:500;background:rgba(0,77,64,0.08);padding:1px 6px;border-radius:3px}.push-device-enable{background:#004D40;color:white;border:none;border-radius:4px;padding:4px 10px;font-size:0.8em;font-family:Roboto, verdana, sans-serif;cursor:pointer;flex-shrink:0}.push-device-enable:hover{background:#00241e}.push-device-remove{background:#7c5151;color:white;border:none;border-radius:4px;padding:4px 10px;font-size:0.8em;font-family:Roboto, verdana, sans-serif;cursor:pointer;flex-shrink:0}.push-device-remove:hover{background:#a52f2f}.push-device-disabled{opacity:0.6}.push-device-actions{display:flex;gap:0.35rem;align-items:center;flex-shrink:0}.current-device .push-device-forget-wrap{display:none !important}.push-device-forget{background:transparent;color:#999;border:1px solid #ccc;border-radius:4px;padding:4px 8px;font-size:0.75em;font-family:Roboto, verdana, sans-serif;cursor:pointer;flex-shrink:0}.push-device-forget:hover{background:#f5f5f5;color:#666}.frequency-toggle{display:inline-flex;border-radius:6px;overflow:hidden;border:1px solid #ccc}.frequency-toggle .frequency-btn{padding:6px 16px;border:none;background:white;font-family:Roboto, verdana, sans-serif;font-size:0.95em;cursor:pointer;color:#555;transition:background 0.15s, color 0.15s}.frequency-toggle .frequency-btn:not(:last-child){border-right:1px solid #ccc}.frequency-toggle .frequency-btn.active{background:#004D40;color:white}.frequency-toggle .frequency-btn:hover:not(.active){background:#f0f0f0}.frequency-detail-row{display:flex;align-items:center;gap:0.4em;white-space:nowrap;flex-wrap:nowrap}.frequency-value-input{width:3.5em !important;text-align:center;padding:4px 4px;font-size:100%}.frequency-day-select{width:auto !important;padding:4px 8px;font-size:100%}.frequency-time-input{width:auto !important;padding:4px 8px;font-size:100%}.save-submit-wrap{overflow:hidden;height:0;transition:height 0.12s ease}.notification-toggle{display:inline-block;padding:0.5rem 1rem;border:none;border-radius:6px;font-family:Roboto, verdana, sans-serif;font-size:0.95em;cursor:pointer}.notification-toggle button{background:none;border:none;color:inherit;font:inherit;cursor:pointer;padding:0}.notification-toggle.enabled{background:#2E7D32;color:white}.notification-toggle.enabled:hover{background:#1B5E20}.notification-toggle.disabled{background:#999;color:white}.notification-toggle.disabled:hover{background:#777}.shared-header{display:flex;justify-content:space-between;align-items:center;padding:0 2rem;background:linear-gradient(135deg, #008c4b 0%, #637271 67%, #2c4944 100%);color:white;height:4.5rem}.shared-header .login-link{color:rgba(255,255,255,0.85);padding:0.5rem 1rem;text-decoration:none}.shared-header .login-link:hover{color:white}.shared-view{display:flex;flex-direction:column;min-height:100vh}.shared-view main{margin:0;padding:0;flex:1;display:flex;flex-direction:column}.shared-view .shared-main{padding:0;flex:1;display:flex;flex-direction:column}.shared-view section#primary{margin:0;width:100%;flex:1;box-sizing:border-box;padding:0 1em;max-width:100%}.shared-view .shared-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:2em}.shared-view .shared-not-found h2,.shared-view .shared-not-found p{margin:0}.shared-view .shared-not-found .not-found-box{display:flex;align-items:center;gap:2em;background:white;border:1px solid #d9e4e2;border-radius:12px;padding:2.5em 3em;max-width:540px;box-shadow:0 2px 8px rgba(0,0,0,0.08)}.shared-view .shared-not-found .not-found-box .not-found-icon{font-size:3em;line-height:1;flex-shrink:0}.shared-view .shared-not-found .not-found-box .not-found-text{text-align:left}.shared-view .shared-not-found .not-found-box .not-found-text h2{color:#00362d;font-size:1.25em;margin-bottom:0.75em}.shared-view .shared-not-found .not-found-box .not-found-text p{color:#555;font-size:0.95em;line-height:1.5}.shared-view .watering-toggle summary{list-style:none}.shared-view .watering-toggle summary::-webkit-details-marker{display:none}.shared-view .watering-toggle .water-icon-link{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;cursor:pointer;text-decoration:none;border-radius:8px}.shared-view .watering-toggle .water-icon-link:hover{background:rgba(14,72,123,0.15)}.shared-view .watering-toggle .water-icon-link.normal{color:#0E487B;background:rgba(14,72,123,0.05)}.shared-view .watering-toggle .water-icon-link.today{color:#004D40;background:rgba(0,77,64,0.05)}.shared-view .watering-toggle .water-icon-link.today:hover{background:rgba(0,77,64,0.15)}.shared-view .watering-toggle .water-icon-link.urgent{color:#8C6800;background:rgba(206,154,0,0.07)}.shared-view .watering-toggle .water-icon-link.urgent:hover{background:rgba(206,154,0,0.2)}.shared-view .watering-toggle .water-icon-link.none{color:#999}.shared-view .watering-toggle .water-icon{width:4em;height:4em}.shared-view .watering-toggle .water-helper-text{margin-top:0.5em;color:#888}.shared-view .watering-toggle .click-text{display:none}@media (hover: hover){.shared-view .watering-toggle .click-text{display:inline}}.shared-view .watering-toggle .tap-text{display:inline}@media (hover: hover){.shared-view .watering-toggle .tap-text{display:none}}.nested-row{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.5rem;padding:0.5rem;background:rgba(0,77,64,0.15);border-radius:4px}.nested-row .nested-row-fields{display:flex;gap:0.5rem;flex:1;flex-wrap:wrap}.nested-row .nested-row-fields select,.nested-row .nested-row-fields input{flex:1;min-width:80px}.nested-row .nested-row-fields .nested-amount{max-width:100px}.nested-row .nested-row-fields .nested-units{max-width:120px}.nested-row .nested-row-actions{flex-shrink:0}.watering-tds,.watering-recipe,.watering-batch{margin-left:0.5em;font-size:0.9em;color:#666}
