:root{--navy:#0b355b;--navy2:#123f69;--blue:#0b78f6;--blue2:#0866d3;--bg:#f4f8fc;--card:#fff;--text:#102a56;--muted:#6b7f9e;--border:#dce7f2;--green:#12b75a;--greenbg:#e8f8ef;--red:#ff3348;--redbg:#fff0f2;--amber:#f7a815;--amberbg:#fff6de;--slate:#91a3bc;--slatebg:#eef3f8;--purple:#7b3ff2;--orange:#ff7418;--shadow:0 6px 20px rgba(16,42,86,.06)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,"Segoe UI",sans-serif;font-size:14px}a{color:inherit}button,input,select{font:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{width:215px;position:fixed;inset:0 auto 0 0;background:linear-gradient(180deg,#0b355b,#0b2948);color:#fff;display:flex;flex-direction:column;z-index:30}.brand{height:72px;padding:14px 16px;display:flex;align-items:center;gap:11px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-mark{width:45px;height:45px;border-radius:10px;background:var(--blue);display:grid;place-items:center;font-size:24px}.brand strong{font-size:22px;display:block;line-height:1}.brand span{font-size:10px;color:#d6e5f3;display:block;margin-top:5px}.nav{padding:12px 9px;display:flex;flex-direction:column;gap:6px}.nav a{text-decoration:none;color:#e6f0f8;display:flex;align-items:center;gap:15px;padding:12px 14px;border-radius:7px;transition:.15s}.nav a:hover{background:rgba(255,255,255,.08)}.nav a.active{background:var(--blue);color:#fff}.nav a span{width:22px;text-align:center;font-size:18px;font-weight:bold}.sidebar-bottom{margin-top:auto;padding:14px}.online-box{border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:11px;display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.03)}.online-box i,.server-pill i{width:10px;height:10px;background:var(--green);border-radius:50%;display:inline-block}.online-box b{display:block;font-size:11px}.online-box small{display:block;margin-top:3px;color:#d3e0ec;font-size:9px}.sidebar-company{padding:17px 7px 2px}.sidebar-company b{display:block;font-size:17px}.sidebar-company span{display:block;color:#d3e0ec;font-size:11px;margin-top:4px}.workspace{margin-left:215px;min-width:0;flex:1}.topbar{height:62px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 16px;gap:15px;position:sticky;top:0;z-index:20}.menu-toggle{border:0;background:transparent;color:var(--navy);font-size:21px;cursor:pointer;display:none}.global-search{background:#f0f5fa;border-radius:7px;height:36px;display:flex;align-items:center;gap:9px;padding:0 12px;min-width:320px;max-width:470px;flex:1}.global-search span{font-size:18px;color:var(--text)}.global-search input{border:0;outline:0;background:transparent;width:100%;color:var(--text);font-size:12px}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:16px}.server-pill{background:#eef5fb;padding:8px 11px;border-radius:6px;display:flex;align-items:center;gap:7px;font-size:11px;white-space:nowrap}.server-pill i{width:8px;height:8px}.top-date{font-size:10px;color:var(--text);white-space:nowrap}.user-chip{display:flex;align-items:center;gap:8px}.avatar{width:38px;height:38px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:bold}.user-chip b,.user-chip small{display:block}.user-chip b{font-size:10px}.user-chip small{color:var(--muted);font-size:9px;margin-top:2px}.logout-inline{margin:0}.page-content{padding:12px 14px 24px;max-width:1700px;margin:0 auto}.btn{border:0;border-radius:7px;padding:9px 13px;font-weight:700;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:var(--blue2)}.btn-ghost{background:#f4f7fb;border:1px solid var(--border);color:var(--text)}.btn-outline{background:#fff;border:1px solid var(--blue);color:var(--text)}.flash{padding:11px 13px;border-radius:8px;background:#eaf4ff;color:var(--text);margin-bottom:10px;border:1px solid #d2e8ff}.flash.error{background:var(--redbg);color:#9a2030;border-color:#ffd2d8}.hero-card{background:#fff;border:1px solid var(--border);box-shadow:var(--shadow);border-radius:9px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:10px}.hero-main{display:flex;align-items:flex-start;gap:12px;min-width:0}.hero-icon{width:46px;height:46px;border-radius:8px;background:linear-gradient(135deg,#0b78f6,#4299ff);color:#fff;display:grid;place-items:center;font-size:22px;flex:0 0 auto}.hero-main h1{margin:0;font-size:22px}.hero-main strong{display:block;margin-top:3px}.hero-main p{margin:8px 0 0;color:var(--muted);font-size:11px}.hero-actions{display:grid;grid-template-columns:repeat(4,minmax(105px,1fr));gap:10px}.action-tile{color:#fff;text-decoration:none;border-radius:7px;padding:11px 14px;display:flex;align-items:center;justify-content:center;gap:8px;min-width:120px;box-shadow:0 5px 12px rgba(0,0,0,.08)}.action-tile b{font-size:18px}.action-tile span{font-size:11px;font-weight:700}.action-tile.red{background:linear-gradient(135deg,#ff3348,#ff5d6c)}.action-tile.green{background:linear-gradient(135deg,#0fb154,#21c76a)}.action-tile.blue{background:linear-gradient(135deg,#0b78f6,#268cff)}.action-tile.purple{background:linear-gradient(135deg,#7035e9,#8c55f6)}.kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:10px}.kpi{background:#fff;border:1px solid var(--border);border-radius:9px;box-shadow:var(--shadow);padding:10px 12px;display:flex;align-items:center;gap:13px;min-height:82px}.kpi-icon{width:55px;height:55px;border-radius:8px;display:grid;place-items:center;color:#fff;font-size:25px;font-weight:bold;flex:0 0 auto}.kpi-icon.green{background:linear-gradient(135deg,#0dad50,#20c867)}.kpi-icon.red{background:linear-gradient(135deg,#ff2c41,#ff5a6a)}.kpi-icon.amber{background:linear-gradient(135deg,#f6a20f,#ffb836)}.kpi-icon.slate{background:linear-gradient(135deg,#758aa8,#a0b1c7)}.kpi-icon.blue{background:linear-gradient(135deg,#0b78f6,#479dff)}.kpi span{display:block;font-size:10px}.kpi b{display:block;font-size:21px;margin-top:2px}.kpi small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:12px}.dashboard-main,.dashboard-side{min-width:0}.dashboard-side{display:flex;flex-direction:column;gap:10px}.panel,.metric-card{background:#fff;border:1px solid var(--border);border-radius:9px;box-shadow:var(--shadow)}.panel{padding:12px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.panel-head h2{font-size:16px;margin:0;display:flex;align-items:center;gap:8px}.panel-head h3{margin:0}.panel-head p{color:var(--muted);font-size:10px;margin:3px 0 0}.panel-head a{font-size:10px;color:var(--blue);text-decoration:none;font-weight:bold}.title-icon{color:var(--blue);font-size:19px}.responsive-head{align-items:flex-start}.date-actions{display:flex;gap:8px;align-items:center}.inline-form{display:flex;gap:7px;align-items:center}.inline-form input,.report-filter input,.report-filter select{min-height:36px}.table-wrap{overflow:auto;border:1px solid #e6eef6;border-radius:7px}.modern-table{width:100%;border-collapse:collapse;background:#fff}.modern-table th{background:#f1f6fb;color:var(--text);font-size:9px;text-align:left;padding:9px 10px;white-space:nowrap}.modern-table td{border-top:1px solid #e7eef6;padding:8px 10px;vertical-align:middle;font-size:10px}.modern-table tbody tr:hover{background:#f9fcff}.modern-table small{display:block;color:var(--muted);font-size:8px;margin-top:3px}.temp-cell>b{color:var(--blue);font-size:11px}.muted-inline{color:var(--muted)}.warning-text{color:var(--red)!important;font-weight:bold}.status{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border-radius:999px;font-size:9px;white-space:nowrap}.status i{width:7px;height:7px;border-radius:50%;display:inline-block;background:currentColor}.status.ok{background:var(--greenbg);color:#0b9b48}.status.bad{background:var(--redbg);color:var(--red)}.status.pending{background:var(--amberbg);color:#d48800}.status.missed{background:var(--slatebg);color:#657995}.status.auto{background:#eaf4ff;color:var(--blue)}.actions-cell{position:relative}.edit-pop{position:relative}.edit-pop summary{list-style:none;cursor:pointer;color:var(--blue);font-weight:bold;white-space:nowrap;font-size:9px}.edit-pop summary::-webkit-details-marker{display:none}.edit-pop[open] summary{color:var(--navy)}.edit-form{position:absolute;right:0;top:26px;width:430px;background:#fff;border:1px solid var(--border);border-radius:9px;padding:12px;box-shadow:0 18px 45px rgba(16,42,86,.18);z-index:12;display:grid;grid-template-columns:1fr 1fr;gap:9px}.edit-form label,.settings-form label,.add-fridge-form label,.report-filter label,.login-form label{display:flex;flex-direction:column;gap:5px;color:var(--text);font-size:9px;font-weight:bold}.edit-form input,.edit-form select,.settings-form input,.add-fridge-form input,.report-filter input,.report-filter select,.login-form input{border:1px solid #cbd9e7;border-radius:6px;background:#fff;color:var(--text);padding:8px 9px;outline:none;min-width:0}.edit-form input:focus,.edit-form select:focus,.settings-form input:focus,.add-fridge-form input:focus,.report-filter input:focus,.report-filter select:focus,.login-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(11,120,246,.1)}.edit-form .btn{grid-column:1/-1}.lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.chart-panel{min-height:260px}.trend-chart{min-height:205px;display:flex;align-items:center;justify-content:center}.trend-chart svg{width:100%;height:auto;display:block}.chart-empty,.empty-state{color:var(--muted);font-size:10px}.equipment-list{display:flex;flex-direction:column;gap:7px}.equipment-item{display:grid;grid-template-columns:46px minmax(130px,1.2fr) 1fr auto;gap:10px;align-items:center;border:1px solid #e7eef6;border-radius:8px;padding:9px}.equipment-icon{width:42px;height:42px;border-radius:8px;background:#eaf4ff;color:var(--blue);display:grid;place-items:center;font-size:20px}.equipment-name b,.equipment-name small,.equipment-temp b,.equipment-temp small{display:block}.equipment-name b,.equipment-temp b{font-size:10px}.equipment-name small,.equipment-temp small{font-size:8px;color:var(--muted);margin-top:3px}.equipment-temp b{color:var(--blue);font-size:15px}.metric-card{min-height:90px;padding:13px;display:flex;align-items:center;gap:14px}.metric-icon{width:52px;height:52px;border-radius:9px;background:#eaf4ff;color:var(--blue);display:grid;place-items:center;font-size:24px;font-weight:bold}.metric-card span,.metric-card b,.metric-card small{display:block}.metric-card span{font-size:10px}.metric-card b{font-size:23px;margin-top:2px}.metric-card small{font-size:9px;color:var(--muted);margin-top:3px}.panel.compact{padding:10px}.panel.compact .panel-head{margin-bottom:8px}.panel.compact .panel-head h2{font-size:12px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.quick{height:80px;border-radius:7px;color:#fff;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}.quick b{font-size:20px}.quick span{font-size:8px;font-weight:bold}.quick.blue{background:var(--blue)}.quick.green{background:var(--green)}.quick.purple{background:var(--purple)}.quick.orange{background:var(--orange)}.event-list{display:flex;flex-direction:column}.event-list>div{display:grid;grid-template-columns:10px 38px 1fr auto;gap:7px;align-items:center;border-top:1px solid #edf2f7;padding:7px 2px;font-size:8px}.event-list>div:first-child{border-top:0}.event-list i{width:8px;height:8px;border-radius:50%}.green-dot{background:var(--green)}.red-dot{background:var(--red)}.event-list span{color:var(--muted)}.event-list strong{color:var(--blue)}.settings-form{display:flex;flex-direction:column;gap:8px}.settings-form p{font-size:8px;line-height:1.4;color:var(--muted);margin:2px 0 0}.add-fridge-panel{margin-top:12px}.add-fridge-form{display:grid;grid-template-columns:1.2fr 1fr .7fr .7fr auto;gap:10px;align-items:end}.sensor-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:12px}.sensor-panel h2{font-size:13px;margin:0}.sensor-panel p{font-size:9px;color:var(--muted);margin:4px 0 0}.sensor-panel code{font-size:9px;background:#f1f6fb;border:1px solid var(--border);border-radius:6px;padding:10px;overflow:auto}.page-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:10px}.page-title h1{margin:0;font-size:22px}.page-title p{margin:4px 0 0;color:var(--muted);font-size:10px}.filter-panel{margin-bottom:10px}.report-filter{display:flex;gap:10px;align-items:end}.report-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:10px}.report-kpis article{background:#fff;border:1px solid var(--border);border-radius:8px;padding:12px}.report-kpis span{font-size:9px;color:var(--muted);display:block}.report-kpis b{font-size:17px;margin-top:4px;display:block}.report-kpis .good b{color:var(--green)}.report-kpis .danger b{color:var(--red)}.report-kpis .auto b{color:var(--blue)}.panel h3{font-size:12px;margin:10px 0}.audit-action{display:inline-block;background:#eaf4ff;color:var(--blue);border-radius:999px;padding:4px 8px;font-size:8px;font-weight:bold}.login-body{min-height:100vh;background:linear-gradient(135deg,#0b355b 0,#0d4f86 45%,#f4f8fc 45%,#f4f8fc 100%);display:grid;place-items:center;padding:20px}.login-shell{width:min(850px,96vw);min-height:500px;background:#fff;border-radius:18px;box-shadow:0 25px 70px rgba(5,31,55,.25);overflow:hidden;display:grid;grid-template-columns:1fr 1fr}.login-brand{background:linear-gradient(145deg,#0b355b,#0b78f6);color:#fff;padding:54px;display:flex;flex-direction:column;justify-content:center}.login-logo{width:70px;height:70px;border-radius:16px;background:rgba(255,255,255,.14);display:grid;place-items:center;font-size:38px}.login-brand h1{font-size:38px;margin:18px 0 2px}.login-brand>p{margin:0;color:#dcecff}.login-company{margin-top:auto;padding-top:55px}.login-company b,.login-company span,.login-company small{display:block}.login-company b{font-size:15px}.login-company span{margin-top:4px;color:#e8f2fb}.login-company small{margin-top:8px;color:#cfe2f5;line-height:1.5}.login-card{padding:55px;display:flex;flex-direction:column;justify-content:center}.login-heading span{color:var(--blue);font-weight:bold;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.login-heading h2{font-size:28px;margin:8px 0}.login-heading p{color:var(--muted);font-size:11px;line-height:1.6;margin:0 0 20px}.login-form{display:flex;flex-direction:column;gap:13px}.login-form input{font-size:14px;min-height:44px}.login-button{margin-top:5px;min-height:44px}.login-foot{font-size:9px;color:var(--muted);margin:20px 0 0;text-align:center}
@media(max-width:1250px){.hero-card{align-items:flex-start;flex-direction:column}.hero-actions{width:100%}.dashboard-grid{grid-template-columns:1fr}.dashboard-side{display:grid;grid-template-columns:repeat(2,1fr)}.dashboard-side .panel.compact:last-child{grid-column:1/-1}.add-fridge-form{grid-template-columns:repeat(2,1fr)}.add-fridge-form .btn{grid-column:1/-1}.report-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:950px){.sidebar{transform:translateX(-100%);transition:.2s}.nav-open .sidebar{transform:translateX(0);box-shadow:10px 0 30px rgba(0,0,0,.2)}.workspace{margin-left:0}.menu-toggle{display:block}.topbar-right .top-date,.topbar-right .user-chip,.logout-inline{display:none}.global-search{min-width:0}.kpi-grid{grid-template-columns:repeat(2,1fr)}.kpi-grid .kpi:last-child{grid-column:1/-1}.lower-grid{grid-template-columns:1fr}.hero-actions{grid-template-columns:repeat(2,1fr)}.report-kpis{grid-template-columns:repeat(2,1fr)}.sensor-panel{align-items:flex-start;flex-direction:column}.sensor-panel code{width:100%}.login-shell{grid-template-columns:1fr;max-width:520px}.login-brand{display:none}.login-card{padding:40px}}
@media(max-width:700px){body{font-size:13px}.page-content{padding:9px}.topbar{padding:0 9px}.server-pill{font-size:9px}.hero-card{padding:12px}.hero-main p{line-height:1.6}.hero-actions{grid-template-columns:1fr 1fr}.action-tile{min-width:0;padding:10px}.kpi-grid{grid-template-columns:1fr 1fr}.kpi{min-height:72px;padding:8px}.kpi-icon{width:45px;height:45px;font-size:20px}.dashboard-side{grid-template-columns:1fr}.dashboard-side .panel.compact:last-child{grid-column:auto}.responsive-head{flex-direction:column}.date-actions{width:100%;display:grid;grid-template-columns:1fr auto}.inline-form{display:grid;grid-template-columns:1fr auto}.modern-table-wrap{border:0;overflow:visible}.daily-table thead{display:none}.daily-table,.daily-table tbody,.daily-table tr,.daily-table td{display:block;width:100%}.daily-table tr{border:1px solid var(--border);border-radius:9px;margin-bottom:9px;padding:8px;background:#fff}.daily-table td{border:0;padding:7px 8px 7px 44%;position:relative;min-height:32px}.daily-table td:before{content:attr(data-label);position:absolute;left:8px;top:8px;width:40%;color:var(--muted);font-size:9px;font-weight:bold}.daily-table .actions-cell{padding-left:8px}.daily-table .actions-cell:before{display:none}.edit-form{position:static;width:100%;margin-top:10px;grid-template-columns:1fr}.edit-form .btn{grid-column:auto}.equipment-item{grid-template-columns:42px 1fr auto}.equipment-item>div:nth-child(3){grid-column:2/4}.equipment-item>div:nth-child(4){grid-column:2/4}.quick{height:72px}.add-fridge-form{grid-template-columns:1fr}.add-fridge-form .btn{grid-column:auto}.report-filter{display:grid;grid-template-columns:1fr}.report-kpis{grid-template-columns:1fr 1fr}.page-title{align-items:flex-start;flex-direction:column}.table-wrap:not(.modern-table-wrap){overflow-x:auto}.table-wrap:not(.modern-table-wrap) .modern-table{min-width:760px}.login-card{padding:28px 22px}.login-heading h2{font-size:24px}}
@media(max-width:430px){.global-search{display:none}.topbar{justify-content:space-between}.topbar-right{margin-left:0}.kpi-grid{grid-template-columns:1fr}.kpi-grid .kpi:last-child{grid-column:auto}.hero-actions{grid-template-columns:1fr 1fr}.action-tile span{font-size:9px}.date-actions{grid-template-columns:1fr}.inline-form{grid-template-columns:1fr}.date-actions form .btn{width:100%}.report-kpis{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr 1fr}.login-body{padding:0}.login-shell{width:100vw;min-height:100vh;border-radius:0}.login-card{padding:28px 18px}}

/* Dedicated navigation pages */
.section-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(320px,.8fr);gap:12px}.equipment-list-page .equipment-item{min-height:76px}.stack-form{display:flex;flex-direction:column;gap:12px}.stack-form label{display:flex;flex-direction:column;gap:6px;font-size:10px;font-weight:700;color:var(--text)}.stack-form input,.stack-form select{border:1px solid #cbd9e7;border-radius:7px;background:#fff;color:var(--text);padding:10px;min-height:40px;outline:none}.stack-form input:focus,.stack-form select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(11,120,246,.1)}.stack-form small{font-weight:400;color:var(--muted)}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.info-list{display:flex;flex-direction:column}.info-list>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 2px;border-bottom:1px solid #edf2f7}.info-list>div:last-child{border-bottom:0}.info-list span{color:var(--muted);font-size:10px}.info-list b,.info-list code{font-size:10px;text-align:right}.page-kpis{margin-bottom:12px}.nav a.active{box-shadow:inset 3px 0 0 rgba(255,255,255,.9)}
@media(max-width:1100px){.section-grid{grid-template-columns:1fr}.settings-page-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.section-grid,.settings-page-grid{grid-template-columns:1fr}.two-cols{grid-template-columns:1fr}}

/* Range-aware temperature averages */
.range-average-panel{min-height:90px}.range-average-list{display:flex;flex-direction:column;gap:7px}.range-average-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid #e6eef6;border-radius:8px;background:#f9fcff}.range-average-item span,.range-average-item b,.range-average-value strong,.range-average-value small{display:block}.range-average-item span{font-size:8px;color:var(--muted)}.range-average-item b{font-size:10px;margin-top:2px}.range-average-value{text-align:right}.range-average-value strong{font-size:17px;color:var(--blue)}.range-average-value small{font-size:8px;color:var(--muted);margin-top:2px}.report-kpis.report-kpis-five{grid-template-columns:repeat(5,1fr)}.range-report-panel{margin-bottom:10px}.range-report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.range-report-card{border:1px solid #e6eef6;border-radius:8px;padding:12px;background:#f9fcff}.range-report-card span,.range-report-card b,.range-report-card small{display:block}.range-report-card span{font-size:9px;color:var(--muted);font-weight:bold}.range-report-card b{font-size:21px;color:var(--blue);margin-top:5px}.range-report-card small{font-size:8px;color:var(--muted);margin-top:5px;line-height:1.4}
@media(max-width:900px){.report-kpis.report-kpis-five{grid-template-columns:repeat(2,1fr)}.range-report-grid{grid-template-columns:1fr}.range-average-item{align-items:flex-start}.range-average-value strong{font-size:15px}}

/* Live sensor monitoring */
.sensor-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:12px}.sensor-live-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:14px;box-shadow:var(--shadow)}.sensor-live-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.sensor-live-head>div{display:grid;grid-template-columns:10px 1fr;gap:3px 8px;align-items:center}.sensor-live-head small{grid-column:2;color:var(--muted);font-size:9px}.sensor-live-head strong{font-size:25px;color:var(--blue)}.live-dot{width:9px;height:9px;border-radius:50%;display:block}.live-dot.on{background:var(--green);box-shadow:0 0 0 4px var(--greenbg)}.live-dot.off{background:var(--red);box-shadow:0 0 0 4px var(--redbg)}.sensor-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.sensor-meta span{background:#f7fafd;border:1px solid #e8eff6;border-radius:7px;padding:8px;font-size:9px;color:var(--muted)}.sensor-meta b{display:block;color:var(--text);margin-top:3px}.sensor-assign{display:grid;grid-template-columns:1fr 1.2fr auto;gap:8px}.sensor-assign input,.sensor-assign select{border:1px solid #cbd9e7;border-radius:7px;padding:9px;min-width:0}@media(max-width:700px){.sensor-card-grid{grid-template-columns:1fr}.sensor-assign{grid-template-columns:1fr}.sensor-live-head strong{font-size:21px}}

/* Monitoring V3: history chart + delayed alarms */
.monitor-chart-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.monitor-chart-head small{color:var(--muted);font-size:9px}.chart-controls{display:flex;gap:8px}.chart-controls select{border:1px solid #cbd9e7;border-radius:7px;padding:8px;background:#fff}.chart-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.chart-kpis>div{background:#f7fafd;border:1px solid #e8eff6;border-radius:8px;padding:10px}.chart-kpis span{font-size:8px;color:var(--muted);display:block}.chart-kpis b{font-size:17px;margin-top:4px;display:block}.temperature-chart-wrap{position:relative;min-height:320px}.temperature-chart-wrap canvas{display:block;max-width:100%}.chart-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:11px}.status.pending{background:#fff4dd;color:#a96500}.status.pending i{background:#e5a100}@media(max-width:700px){.monitor-chart-head{align-items:flex-start;flex-direction:column}.chart-controls{width:100%;display:grid;grid-template-columns:1fr 1fr}.chart-kpis{grid-template-columns:1fr 1fr}}

/* V3.1 fridge/place editor */
.equipment-editable{grid-template-columns:46px minmax(130px,1.2fr) 1fr auto auto}.fridge-edit-pop{position:relative}.fridge-edit-pop summary{list-style:none;white-space:nowrap}.fridge-edit-pop summary::-webkit-details-marker{display:none}.fridge-edit-form{position:absolute;right:0;top:44px;width:390px;background:#fff;border:1px solid var(--border);border-radius:9px;padding:13px;box-shadow:0 18px 45px rgba(16,42,86,.18);z-index:40;display:flex;flex-direction:column;gap:10px}.fridge-edit-form label{display:flex;flex-direction:column;gap:5px;font-size:9px;font-weight:700}.fridge-edit-form input,.fridge-edit-form select{border:1px solid #cbd9e7;border-radius:7px;padding:9px;background:#fff;color:var(--text);min-height:38px}.fridge-edit-form small{font-size:9px;color:var(--muted);line-height:1.45}@media(max-width:700px){.equipment-editable{grid-template-columns:42px 1fr auto}.equipment-editable>.equipment-temp,.equipment-editable>.equipment-state,.equipment-editable>.fridge-edit-pop{grid-column:2/4}.fridge-edit-form{position:static;width:100%;margin-top:8px}}


/* Eu-Frigo V4.0.1 – Advanced alarm settings responsive UI */
.alarm-settings-panel { margin-top: 16px; }
.alarm-settings-panel .panel-head { margin-bottom: 14px; }
.alarm-settings-panel .panel-head h2 { margin-bottom: 4px; }
.alarm-settings-panel .panel-head p { margin: 0; opacity: .72; }

.alarm-settings-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.alarm-rule-card {
  min-width: 0;
  padding: 16px;
  border: 1px solid rgba(120,130,150,.22);
  border-radius: 12px;
  background: rgba(255,255,255,.025);
}

.alarm-rule-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 12px;
  margin-bottom: 14px;
  border-bottom: 1px solid rgba(120,130,150,.16);
}

.alarm-rule-head h3 {
  margin: 0 0 3px;
  font-size: 15px;
  line-height: 1.25;
}

.alarm-rule-head span {
  font-size: 12px;
  opacity: .68;
}

.alarm-rule-badge {
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(60,120,255,.10);
}

.alarm-rule-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
}

.alarm-rule-fields label {
  display: block;
  min-width: 0;
}

.alarm-rule-fields label > span {
  display: block;
  margin-bottom: 6px;
  font-size: 12px;
  font-weight: 600;
  opacity: .78;
}

.input-unit {
  display: flex;
  align-items: center;
  min-width: 0;
  border: 1px solid rgba(120,130,150,.28);
  border-radius: 8px;
  overflow: hidden;
  background: var(--card, #fff);
}

.input-unit input {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border: 0 !important;
  outline: 0;
  padding: 10px 11px;
  background: transparent;
}

.input-unit em {
  flex: 0 0 auto;
  padding: 0 10px;
  font-size: 12px;
  font-style: normal;
  opacity: .62;
  white-space: nowrap;
}

.alarm-rule-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 15px;
}

.alarm-rule-actions .btn {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 1100px) {
  .alarm-settings-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .alarm-rule-card { padding: 13px; }
  .alarm-rule-fields { grid-template-columns: 1fr; }
  .alarm-rule-actions { display: grid; grid-template-columns: 1fr; }
  .alarm-rule-actions .btn { width: 100%; box-sizing: border-box; }
}

.chart-empty { pointer-events: none !important; }
@import url("/static/v4_2.css");
