:root{--navy:#071d35;--navy2:#0d2b4b;--green:#19b58a;--green-dark:#0c8264;--bg:#f4f1e9;--card:#fff;--text:#14202b;--muted:#6f7a83;--danger:#b93232;--warning:#b86c13;--line:#e3e7e8}*{box-sizing:border-box}html{font-size:16px}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}a{color:#5a2474}header{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;padding:20px 24px}.brand{font-weight:850;font-size:22px}.sub{opacity:.72;font-size:13px}.wrap{max-width:1180px;margin:auto;padding:24px}.narrow{max-width:760px;margin:5vh auto}.login-card{max-width:430px;margin:7vh auto}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.grid.compact{grid-template-columns:1fr 1fr;gap:12px}.stats{margin-bottom:16px}.card{background:var(--card);border-radius:20px;padding:22px;box-shadow:0 10px 32px #071d3510;margin-bottom:16px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:13px;padding:12px 16px;background:var(--green);color:#fff;font-weight:750;text-decoration:none;cursor:pointer;font-size:14px;min-height:44px}.btn:hover{background:var(--green-dark)}.btn.secondary{background:#e8edf0;color:var(--navy)}input,select,textarea{width:100%;padding:12px 13px;border:1px solid #d5dadd;border-radius:12px;margin:6px 0 14px;background:#fff;color:var(--text);font:inherit}input:focus,select:focus,textarea:focus{outline:2px solid #19b58a33;border-color:var(--green)}label{font-size:13px;font-weight:750}.check{display:flex;align-items:center;gap:9px;margin:7px 0 16px}.check input{width:auto;margin:0}.top{display:flex;justify-content:space-between;gap:14px;align-items:center}.pagehead{margin-bottom:18px}.pagehead h1{margin-bottom:4px}.pill{display:inline-block;font-size:12px;padding:5px 9px;border-radius:99px;background:#daf5ec;color:#087257;font-weight:700}.pill.off{background:#eee;color:#777}.pill.warn{background:#fff0dd;color:#9a5410}.metric{font-size:32px;font-weight:850}.muted{color:var(--muted)}small{display:block;color:var(--muted);margin-top:3px}h1{font-size:clamp(28px,5vw,44px);line-height:1.05}h2{margin-top:0}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}.table-scroll{overflow:auto}.nowrap{white-space:nowrap}.alert{padding:12px 14px;border-radius:12px;margin:0 0 16px}.alert.success{background:#dcf7ee;color:#087257}.alert.danger{background:#fde7e7;color:#8f2525}.split{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(320px,1.2fr);gap:16px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--text)}.list-row:last-child{border-bottom:0}.module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.module-card{background:#fff;border-radius:18px;padding:18px;box-shadow:0 8px 26px #071d350d;text-decoration:none;color:var(--text);display:flex;flex-direction:column;gap:4px;min-height:130px}.module-card span{font-size:28px}.module-card b{font-size:18px}.module-card.accent{border:2px solid #19b58a33;background:#f9fffd}.temperature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px;margin-bottom:16px}.temp-card{background:#fff;border-radius:20px;padding:20px;box-shadow:0 8px 26px #071d350d;border:1px solid transparent}.temp-card.bad{border-color:#e9a4a4}.temp-value{font-size:30px;font-weight:850}.quick-temp{margin-top:14px}.quick-temp>input{width:calc(100% - 108px);display:inline-block;margin-right:6px}.quick-temp>.btn{width:96px}.limits{font-size:12px;color:var(--muted);margin-top:8px}.filter{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:12px;align-items:end}.filter-actions{padding-bottom:14px}.export-actions{display:flex;gap:10px;flex-wrap:wrap}.export-card p{max-width:760px}details{margin:8px 0 14px}summary{cursor:pointer;color:var(--muted);font-weight:700}footer{text-align:center;color:var(--muted);font-size:12px;padding:18px 12px 28px}@media(max-width:850px){.split{grid-template-columns:1fr}.module-grid{grid-template-columns:repeat(2,1fr)}.filter{grid-template-columns:1fr 1fr}.filter-actions{padding-bottom:0}}@media(max-width:650px){.wrap{padding:14px}header{padding:16px}.card{padding:17px;border-radius:18px}h1{font-size:36px}.top.pagehead{align-items:flex-start}.module-grid{grid-template-columns:1fr 1fr;gap:10px}.module-card{min-height:118px;padding:15px}.grid.compact{grid-template-columns:1fr 1fr}.temperature-grid{grid-template-columns:1fr}.filter{grid-template-columns:1fr 1fr}.filter>div:nth-child(3){grid-column:1/-1}.filter-actions{grid-column:1/-1}.filter-actions .btn{width:100%}.export-actions .btn{flex:1}.quick-temp>input{width:calc(100% - 104px)}th,td{padding:10px 8px;font-size:13px}}

/* v0.3.1 – operative App, Mitarbeiterzugang und geführte HACCP-Kontrollen */
.wide{width:100%}.text-link{font-weight:750;text-decoration:none}.center-link{display:block;text-align:center;margin-top:18px}.app-body{background:#f5f2ea}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;z-index:20}.app-head-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border-radius:13px;background:#eef3f5;color:#0b2947;text-decoration:none;font-weight:800}.app-wrap{max-width:760px}.app-login-icon{font-size:42px;margin-bottom:8px}.pin-input{font-size:28px;letter-spacing:.25em;text-align:center;font-weight:850}.eyebrow{font-size:11px;font-weight:850;letter-spacing:.09em;color:var(--muted)}.today-head{display:flex;justify-content:space-between;align-items:flex-start;margin:8px 0 8px}.today-head h1,.haccp-top h1{margin:4px 0 5px}.location-label{margin:4px 0 20px;color:var(--muted);font-weight:700}.location-switch{background:#fff;padding:14px 16px;border-radius:16px;margin:0 0 18px;box-shadow:0 8px 24px #071d3509}.location-switch select{margin-bottom:0}.today-section{margin:25px 0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.today-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.today-card{display:flex;gap:14px;background:#fff;border-radius:20px;padding:18px;box-shadow:0 8px 26px #071d350d}.today-card-icon{font-size:30px;line-height:1}.today-card-body{min-width:0;flex:1}.today-card h3{margin:0 0 3px;font-size:17px}.today-card p{margin:0 0 12px;color:var(--muted)}.task-status{display:block;font-size:13px;font-weight:800;margin-bottom:12px}.task-status.done{color:#087257}.task-status.open{color:#9a5410}.task-status.due{color:#9a5410}.latest-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.latest-card{background:#fff;border-radius:16px;padding:15px;display:flex;justify-content:space-between;align-items:center;gap:12px;box-shadow:0 6px 20px #071d3509}.latest-temp{font-size:25px;font-weight:850}.temp-good{color:#087257}.temp-bad{color:#a92b2b}.haccp-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.progress-pill{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;border-radius:999px;min-width:62px;padding:9px 12px;font-weight:850}.progress-line{height:9px;border-radius:999px;background:#e2e7e4;overflow:hidden;margin:14px 0 22px}.progress-line span{display:block;height:100%;background:var(--green);transition:width .2s ease}.haccp-card{padding:22px}.device-title{display:flex;align-items:flex-start;gap:13px}.device-icon{font-size:34px;line-height:1.1}.device-title h2{margin:2px 0 3px}.limit-box{margin:18px 0;padding:12px 14px;border-radius:13px;background:#f1f5f3;font-size:14px}.temp-input-row{display:flex;align-items:center;gap:10px}.temp-input-row span{font-size:22px;font-weight:850}.temp-input{font-size:28px!important;font-weight:850;margin-bottom:0!important}.small-gap{margin:7px 0 16px}.deviation-panel{display:none;border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.deviation-panel.show{display:block}.completion-card{text-align:center}.completion-check{font-size:50px;color:#087257;font-weight:900}.result-list{margin:20px 0;text-align:left;border-top:1px solid var(--line)}.result-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.access-state{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.access-actions{display:flex;flex-wrap:wrap;gap:9px}.access-actions .btn{margin:0}.access-link{display:block;word-break:break-all;margin:7px 0;font-weight:700}.subchecks{padding:2px 0 4px 18px;border-left:3px solid #e7ecea;margin:0 0 10px}.filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.device-check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:8px 0 16px}.device-check{display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid var(--line);border-radius:12px;font-weight:700}.device-check input{width:auto;margin:2px 0 0}.device-check small{font-weight:500}.export-actions{margin-top:16px}
@media(max-width:700px){.today-grid,.latest-grid{grid-template-columns:1fr}.today-card{padding:16px}.filter-grid{grid-template-columns:1fr 1fr}.device-check-grid{grid-template-columns:1fr}.section-title{align-items:flex-end}.app-header{padding:15px 16px}.app-wrap{padding:16px}.haccp-card{padding:18px}.access-actions{display:grid;grid-template-columns:1fr}.access-actions .btn{width:100%}}
@media(max-width:430px){.filter-grid{grid-template-columns:1fr}.haccp-top h1{font-size:30px}.today-head h1{font-size:34px}.latest-card{padding:14px}.app-head-link{padding:9px 12px}}

/* v0.3.1 – Temperatur UX, Verlaufsgrafik und mobiler Messverlauf */
.sign-toggle{flex:0 0 48px;width:48px;min-height:48px;margin:0;border:1px solid #d6dcdf;border-radius:12px;background:#eef2f3;color:var(--navy);font-size:21px;font-weight:850;line-height:1;cursor:pointer}.sign-toggle:focus{outline:2px solid #19b58a44;border-color:var(--green)}.sign-toggle:hover{background:#e4eaed}.temp-input-row .sign-toggle{align-self:stretch;min-height:54px}.signed-temp-entry{min-width:0}.quick-temp{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:8px;align-items:start}.quick-temp-input{display:flex;align-items:center;gap:8px;min-width:0}.quick-temp-input input[name="temperature"]{min-width:0;margin:0}.quick-temp>.btn{width:96px;margin:0}.quick-temp details{grid-column:1/-1;margin-top:2px}
.chart-card{overflow:hidden}.chart-subtitle{margin:-6px 0 0}.temperature-chart{width:100%;margin-top:12px;overflow:hidden}.temperature-chart svg{display:block;width:100%;height:auto;min-height:230px}.chart-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:8px}.chart-legend-item{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:var(--muted)}.chart-legend-item i{display:inline-block;width:10px;height:10px;border-radius:50%}
.history-mobile{display:none}.history-card{border:1px solid var(--line);border-radius:15px;padding:14px;margin-top:10px}.history-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.history-card-top>div{min-width:0}.history-card-top b{font-size:17px}.history-temp{font-size:22px;font-weight:850;white-space:nowrap}.history-meta{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:11px;color:var(--muted);font-size:13px}.history-status{display:flex;align-items:center;gap:8px;margin-top:10px}.recheck-badge{font-size:12px;font-weight:750;color:#8a5510;background:#fff0dd;border-radius:999px;padding:5px 9px}.history-note{margin-top:11px;padding-top:10px;border-top:1px solid var(--line);display:grid;gap:4px;font-size:13px}.history-note span{color:var(--muted)}
@media(max-width:700px){.history-desktop{display:none}.history-mobile{display:block}.chart-card{padding-left:12px;padding-right:12px}.temperature-chart svg{min-height:215px}.quick-temp{grid-template-columns:minmax(0,1fr) 88px}.quick-temp>.btn{width:88px;padding-left:10px;padding-right:10px}.sign-toggle{flex-basis:44px;width:44px;min-height:46px}.temp-input-row .sign-toggle{min-height:54px}.temp-input-row{gap:8px}}

/* v0.3.2 – Zusatzmessungen, Grafik-Zeiträume und Ereignisverlauf */
.manual-measurement{margin:15px 0 8px;border-top:1px solid var(--line);padding-top:12px}.manual-measurement>summary{display:inline-flex;align-items:center;min-height:40px;padding:7px 0;color:#425363;font-size:13px;font-weight:800}.manual-measurement[open]>summary{color:var(--navy)}.manual-help{font-size:12px;color:var(--muted);margin:0 0 10px;line-height:1.45}.range-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0 10px}.range-tab{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:#f2f5f5;color:var(--navy);font-size:12px;font-weight:800;text-decoration:none}.range-tab.active{background:var(--navy);border-color:var(--navy);color:#fff}.chart-empty{padding:18px 0 6px}.history-title{align-items:flex-start;margin-bottom:12px}.history-title h2{margin-bottom:6px}.compact-btn{min-height:40px;padding:8px 12px;font-size:12px;white-space:nowrap}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.pager .btn{min-height:40px;padding:8px 12px}.temperature-grid .temp-card>.top small{margin-top:2px}
@media(max-width:700px){.range-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.range-tab{width:100%;padding:8px 6px}.history-title{display:block}.history-title .compact-btn{margin-top:12px;width:100%}.manual-measurement .quick-temp{margin-top:8px}.pager{display:grid;grid-template-columns:1fr;text-align:center}.pager .btn{width:100%}}


/* v0.3.3 – Temperatur-Hierarchie, eigene Detailseite und Betriebsmonitor */
.temperature-primary{margin-top:0}.temperature-summary-grid{margin-top:16px}.monitor-admin-split{align-items:start}.monitor-widget-editor{display:grid;gap:9px;margin:10px 0 18px}.monitor-config-card{display:grid;grid-template-columns:44px minmax(0,1fr) 110px;align-items:center;gap:10px;border:1px solid var(--line);border-radius:14px;padding:10px;background:#fff}.monitor-config-card.dragging{opacity:.55;border-color:var(--green)}.drag-handle{width:44px;height:44px;border:0;border-radius:10px;background:#edf2f3;color:var(--navy);font-size:20px;font-weight:900;cursor:grab;touch-action:none}.drag-handle:active{cursor:grabbing}.monitor-widget-check{margin:0!important;min-width:0}.monitor-widget-check span{font-weight:800}.monitor-config-card select{margin:0!important;padding:10px 11px;font-size:13px}
.monitor-body{margin:0;background:#071d35;color:#f8fbfc;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}.monitor-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 28px;background:#092845;border-bottom:1px solid #ffffff18;position:sticky;top:0;z-index:5}.monitor-brand{font-size:24px;font-weight:900}.monitor-name{margin-top:3px;color:#c7d4df;font-size:15px}.monitor-clock{text-align:right}.monitor-clock b{display:block;font-size:30px}.monitor-clock small{color:#aebdcc}.monitor-wrap{max-width:1600px;margin:0 auto;padding:24px 28px 32px}.monitor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.monitor-widget{min-width:0;background:#0e3457;border:1px solid #ffffff17;border-radius:20px;padding:22px;box-shadow:0 14px 38px #00000024}.monitor-widget.normal{grid-column:span 2}.monitor-widget.wide{grid-column:span 4}.monitor-widget.large{grid-column:span 4;min-height:300px}.monitor-widget-title{display:flex;align-items:center;gap:10px;margin-bottom:16px}.monitor-widget-title span{font-size:24px}.monitor-widget h2{font-size:24px;margin:0}.monitor-overall{display:flex;align-items:center;justify-content:space-between;gap:20px}.monitor-overall small{letter-spacing:.1em;font-weight:850;color:#aebdcc}.monitor-overall h1{font-size:42px;margin:7px 0 4px}.monitor-overall p{margin:0;color:#c7d4df}.monitor-overall.good{background:linear-gradient(135deg,#0c4d45,#0d6859)}.monitor-overall.warn{background:linear-gradient(135deg,#594211,#785b17)}.monitor-overall.bad{background:linear-gradient(135deg,#642323,#8b2f2f)}.monitor-pulse{width:26px;height:26px;border-radius:50%;box-shadow:0 0 0 10px #ffffff13}.monitor-pulse.good{background:#37e0b3}.monitor-pulse.warn{background:#f2bd4e}.monitor-pulse.bad{background:#ff7070}.monitor-temp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.monitor-temp{display:flex;justify-content:space-between;align-items:center;gap:12px;border-radius:15px;padding:16px;background:#0b2b49;border:1px solid #ffffff12}.monitor-temp.good{border-color:#31d0aa55}.monitor-temp.bad{background:#5b252b;border-color:#ff747466}.monitor-temp.neutral{opacity:.72}.monitor-temp b{display:block;font-size:18px}.monitor-temp small{display:block;color:#aebdcc;margin-top:4px}.monitor-temp strong{font-size:28px;white-space:nowrap}.monitor-status-list,.monitor-event-list{display:grid;gap:10px}.monitor-status-list>div,.monitor-event-list>div{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px 0;border-bottom:1px solid #ffffff12}.monitor-status-list>div:last-child,.monitor-event-list>div:last-child{border-bottom:0}.monitor-status-list span:last-child,.monitor-event-list span:last-child{color:#c7d4df;text-align:right}.monitor-dot{width:11px;height:11px;border-radius:50%;background:#8ea0ae}.monitor-dot.good{background:#31d0aa}.monitor-dot.warn{background:#f2bd4e}.monitor-dot.bad{background:#ff7070}.monitor-muted{color:#aebdcc}.monitor-footer{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;color:#8fa2b2;font-size:12px;padding:18px 4px 0}.monitor-error{max-width:680px;margin:80px auto;padding:30px;color:#fff}.monitor-error h1{color:#fff}
@media(max-width:900px){.monitor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.monitor-widget.normal{grid-column:span 1}.monitor-widget.wide,.monitor-widget.large{grid-column:span 2}.monitor-temp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.monitor-config-card{grid-template-columns:44px minmax(0,1fr)}.monitor-config-card select{grid-column:2}.monitor-header{padding:15px 16px}.monitor-brand{font-size:20px}.monitor-name{font-size:13px}.monitor-clock b{font-size:24px}.monitor-wrap{padding:14px}.monitor-grid{grid-template-columns:1fr;gap:12px}.monitor-widget.normal,.monitor-widget.wide,.monitor-widget.large{grid-column:span 1;padding:16px;border-radius:16px}.monitor-overall h1{font-size:30px}.monitor-temp-grid{grid-template-columns:1fr}.monitor-temp strong{font-size:24px}.monitor-status-list>div,.monitor-event-list>div{grid-template-columns:14px minmax(0,1fr);}.monitor-status-list span:last-child,.monitor-event-list span:last-child{grid-column:2;text-align:left;font-size:12px}.temperature-primary{margin-top:0}}

/* v0.3.4 – visueller Monitor-Rastereditor und dauerhaft sichtbare View-Links */
.monitor-layout-designer{margin:12px 0 18px;border:1px solid var(--line);border-radius:18px;background:#f7f9f9;padding:14px}.monitor-designer-head,.monitor-library-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:2px 2px 10px}.monitor-designer-head b,.monitor-library-head b{font-size:15px}.monitor-designer-head span,.monitor-library-head span{font-size:11px;color:var(--muted);text-align:right}.monitor-grid-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row dense;gap:10px;min-height:130px;padding:10px;border:2px dashed #cbd5d8;border-radius:15px;background:#eef3f3}.monitor-grid-editor.drop-target,.monitor-widget-library.drop-target{border-color:var(--green);background:#effbf7}.monitor-designer-widget{min-width:0;border:1px solid #dbe2e4;border-radius:14px;background:#fff;padding:11px;box-shadow:0 5px 16px #071d350a;display:flex;flex-direction:column;justify-content:space-between;gap:12px;transition:border-color .15s,opacity .15s,transform .15s}.monitor-designer-widget.size-normal{grid-column:span 1;min-height:112px}.monitor-designer-widget.size-wide{grid-column:span 2;min-height:112px}.monitor-designer-widget.size-large{grid-column:span 2;min-height:178px}.monitor-designer-widget.dragging{opacity:.45;border-color:var(--green);transform:scale(.99)}.monitor-designer-title{display:flex;align-items:center;gap:8px;min-width:0}.monitor-designer-title .drag-handle{flex:0 0 36px;width:36px;height:36px;font-size:22px;background:#eef2f3}.monitor-designer-icon{font-size:20px}.monitor-designer-title b{min-width:0;font-size:14px}.monitor-designer-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.size-switch{display:inline-flex;gap:4px;padding:3px;border-radius:10px;background:#edf2f3}.size-choice,.secondary-mini{border:0;border-radius:8px;background:transparent;color:var(--navy);font:inherit;font-size:11px;font-weight:800;cursor:pointer;min-height:32px;padding:6px 8px}.size-choice.active{background:var(--navy);color:#fff}.secondary-mini{background:#edf2f3}.monitor-library-head{margin-top:16px}.monitor-widget-library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:76px;padding:9px;border:2px dashed #d7dde0;border-radius:14px;background:#fff}.monitor-widget-library .monitor-designer-widget{grid-column:span 1!important;min-height:96px;opacity:.78}.monitor-widget-library:empty:after{content:'Keine ausgeblendeten Kacheln';color:var(--muted);font-size:12px;padding:16px;grid-column:1/-1;text-align:center}.monitor-link-box{margin:14px 0 16px;padding:14px;border-radius:14px;background:#f4f8f7;border:1px solid #dbe7e3}.monitor-link-box input{margin-bottom:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.monitor-link-actions{display:flex;gap:8px;flex-wrap:wrap}.monitor-link-actions .btn{margin:0}.monitor-link-box #monitor-link-feedback{min-height:18px;margin:8px 0 0}.alert:not(.success):not(.danger){background:#eef3f5;color:var(--navy)}
@media(max-width:700px){.monitor-layout-designer{padding:10px}.monitor-grid-editor,.monitor-widget-library{grid-template-columns:1fr}.monitor-designer-widget.size-normal,.monitor-designer-widget.size-wide,.monitor-designer-widget.size-large{grid-column:span 1;min-height:100px}.monitor-designer-head,.monitor-library-head{display:block}.monitor-designer-head span,.monitor-library-head span{display:block;text-align:left;margin-top:3px}.monitor-widget-library .monitor-designer-widget{grid-column:span 1!important}.monitor-link-actions{display:grid;grid-template-columns:1fr 1fr}.monitor-link-actions a.btn{grid-column:1/-1}.size-choice{min-width:44px}.monitor-designer-tools{align-items:flex-end}}

/* v0.3.5 – Gerätemodi für Reinigung, Wartung und Abtauen */
.device-mode-panel{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.device-mode-panel h3{margin:0 0 5px}.device-mode-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:850;white-space:nowrap;background:#edf3f1;color:var(--navy)}.device-mode-badge.ok{background:#e9f8f2;color:#166a55}.device-mode-badge.active{background:#fff0d9;color:#8b5a11}.device-mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:7px 0 15px}.device-mode-options label{margin:0}.device-mode-options input{position:absolute;opacity:0;pointer-events:none}.device-mode-options span{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--line);border-radius:11px;padding:8px;text-align:center;font-size:12px;font-weight:800;cursor:pointer;background:#fff}.device-mode-options input:checked+span{border-color:var(--green);background:#edf9f5;box-shadow:0 0 0 2px #18a9871f}.device-mode-current{display:grid;gap:5px;margin:10px 0 14px;padding:13px;border-radius:13px;background:#fff7e9;border:1px solid #f0d7a8}.device-mode-current>b{font-size:15px}.device-mode-current>span,.device-mode-current>small{font-size:12px;color:var(--muted)}.device-mode-current p{margin:5px 0 0;font-size:12px;color:var(--navy)}.device-mode-history{margin-top:15px}.device-mode-history>div{margin-top:8px}.device-mode-history-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.device-mode-history-row:last-child{border-bottom:0}.device-mode-history-row span{display:grid;gap:2px}.device-mode-history-row small{color:var(--muted);font-size:11px}.device-list-badges{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.latest-card.device-mode-active{border-color:#e7c98e;background:#fffaf0}.device-mode-inline{display:inline-flex;margin-top:5px;font-size:11px;font-weight:800;color:#8b5a11}.monitor-temp.mode{background:#4d421f;border-color:#f2bd4e77}.monitor-mode-label{color:#f4cf7d!important;font-weight:700}.monitor-temp.mode strong{color:#fff1be}
@media(max-width:700px){.device-mode-options{grid-template-columns:1fr 1fr}.device-mode-history-row{display:grid}.device-list-badges{align-items:flex-end}.device-mode-panel .section-title{align-items:flex-start}.device-mode-panel .section-title>div{min-width:0}}
.temp-card.mode-active{border-color:#e7c98e;background:#fffaf0}.temp-suppressed{color:#a76d13!important}.history-status{flex-wrap:wrap}
.device-mode-skip{margin:12px 0;background:#fff7e9!important;color:var(--navy)!important}.inline-skip-form{margin-top:10px}.result-row small{display:block;color:var(--muted);margin-top:3px}
.device-mode-link{display:inline-flex;margin-top:6px;font-size:11px;font-weight:800;color:var(--green);text-decoration:none}

/* v0.3.6 – Übersicht zuerst: Geräte und Mitarbeiter */
.overview-actions{display:flex;justify-content:flex-end;margin:-4px 0 14px}.overview-card{padding-top:19px}.overview-count{font-size:12px;font-weight:800;color:var(--muted);background:#eef2f3;border-radius:999px;padding:7px 10px;white-space:nowrap}.overview-row{padding:16px 2px}.overview-row>b{font-size:16px}.row-end{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.row-chevron{font-size:28px;line-height:1;color:#a0abb2;font-weight:400}.overview-temperature{font-weight:800;color:#087257}.overview-temperature.bad{color:#a92b2b}.empty-state{display:grid;gap:5px;padding:18px 0;color:var(--muted)}.empty-state b{color:var(--text)}.form-card{max-width:760px;margin-left:auto;margin-right:auto}.form-actions{display:flex;gap:9px;flex-wrap:wrap}.entity-status-card{border:1px solid #e1e7e7}.entity-status-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.entity-status-head h2{margin:3px 0 4px}.entity-status-head p{margin:0;color:var(--muted)}.entity-kicker{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:900;color:var(--muted)}.device-status-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.device-status-facts>div{background:#f4f7f6;border-radius:14px;padding:13px}.device-status-facts span{display:block;font-size:11px;color:var(--muted);font-weight:800}.device-status-facts b{display:block;font-size:18px;margin:4px 0 1px}.mode-action-details{margin:16px 0 0;border-top:1px solid var(--line);padding-top:14px}.mode-action-details>summary{color:var(--navy)}.mode-action-details form{margin-top:14px}.edit-details{padding:0!important;overflow:hidden}.edit-details>summary{display:flex;flex-direction:column;gap:3px;list-style:none;padding:19px 22px;color:var(--navy);background:#fff}.edit-details>summary::-webkit-details-marker{display:none}.edit-details>summary span{font-size:17px;font-weight:850}.edit-details>summary small{margin:0;font-weight:500}.edit-details>summary:after{content:'›';position:absolute;right:24px;font-size:27px;transform:rotate(90deg);transition:transform .15s}.edit-details[open]>summary:after{transform:rotate(-90deg)}.edit-details>summary{position:relative;padding-right:54px}.edit-details-body{padding:4px 22px 22px;border-top:1px solid var(--line)}.access-actions form{display:flex;flex-wrap:wrap;gap:9px}.device-overview-row .row-end{max-width:44%}
@media(max-width:700px){.overview-actions .btn{width:100%}.overview-card{padding-top:16px}.section-title{align-items:flex-start}.overview-row{align-items:flex-start}.row-end{max-width:42%;align-items:flex-end;flex-direction:column}.device-overview-row .row-end{max-width:46%}.device-status-facts{grid-template-columns:1fr}.entity-status-head{align-items:flex-start}.form-actions{display:grid;grid-template-columns:1fr 1fr}.access-actions form{display:grid;grid-template-columns:1fr;width:100%}.access-actions form .btn{width:100%}.edit-details>summary{padding:17px 18px;padding-right:48px}.edit-details-body{padding:4px 18px 18px}}
@media(max-width:430px){.overview-row{gap:8px}.overview-row small{font-size:11px}.device-mode-badge{white-space:normal;text-align:center}.row-end{max-width:48%}.device-overview-row .row-end{max-width:52%}.form-actions{grid-template-columns:1fr}.entity-status-head{gap:8px}}

/* v0.3.7 – Mini-Verläufe, Betriebs-/Öffnungszeiten und sichere Testphase */
.device-overview-row>span:first-child{min-width:0;flex:1}.device-sparkline-wrap{margin-top:9px;max-width:310px}.device-sparkline{display:block;width:100%;height:42px;overflow:visible}.sparkline-base{stroke:#e4e9e8;stroke-width:1}.sparkline-line{fill:none;stroke:#18a987;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.device-sparkline-wrap.bad .sparkline-line{stroke:#b93232}.device-sparkline-wrap span{display:block;margin-top:1px;font-size:10px;color:var(--muted);font-weight:650}.device-sparkline-empty{margin-top:9px;font-size:10px;color:#9aa3aa;font-weight:650}
.hours-location-switch{max-width:520px}.hours-grid{display:grid;gap:11px;margin:15px 0 18px}.hours-day{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fbfcfb}.hours-day-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}.hours-day-title>b{font-size:16px}.hours-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hours-block{padding:11px;border-radius:13px;background:#f3f6f5}.hours-block>strong{display:block;margin-bottom:8px}.compact-check{margin:4px 0 9px;font-size:12px}.hours-time-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hours-time-row input{margin:4px 0 0;padding:9px 10px}.temperature-data-mode{margin-top:18px}.danger-zone,.live-start-box{margin-top:16px;padding:16px;border-radius:15px;border:1px solid var(--line)}.danger-zone{background:#fff5f5;border-color:#efd1d1}.danger-zone h3,.live-start-box h3{margin:0 0 6px}.danger-zone p,.live-start-box p{margin:0 0 12px}.danger-zone form{max-width:440px}.danger-btn{background:#b93232}.danger-btn:hover{background:#922525}.live-start-box{background:#f4faf7;border-color:#d8e9e2}.today-hours-label{font-size:11px;font-weight:800;color:var(--muted);background:#edf2f1;border-radius:999px;padding:7px 10px}.rest-day-card{display:flex;align-items:center;gap:15px;background:#fbfaf6}.rest-day-card h3{margin:0 0 4px}.rest-day-card p{margin:0;color:var(--muted)}.rest-day-icon{font-size:34px}.monitor-rest-day{display:grid;gap:5px;padding:14px;border-radius:14px;background:#ffffff10;border:1px solid #ffffff16}.monitor-rest-day b{font-size:18px}.monitor-rest-day span{font-size:13px;opacity:.72}
@media(max-width:700px){.hours-columns{grid-template-columns:1fr}.hours-day{padding:12px}.hours-block{padding:10px}.device-sparkline-wrap{max-width:100%}.device-overview-row{display:grid;grid-template-columns:minmax(0,1fr) auto}.device-overview-row .row-end{max-width:none}.temperature-data-mode .section-title{display:grid}.today-hours-label{justify-self:start}.rest-day-card{align-items:flex-start}}
@media(max-width:430px){.hours-time-row{grid-template-columns:1fr 1fr}.device-sparkline{height:38px}.device-overview-row{grid-template-columns:1fr}.device-overview-row .row-end{max-width:none;flex-direction:row;align-items:center;justify-content:space-between}.rest-day-card{padding:15px}}
.device-sparkline-wrap,.device-sparkline-empty{display:block}

/* v0.3.8 – kompakte Mandantenübersicht und komfortable Zeitübernahme */
.tenant-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.tenant-stat{margin:0;padding:13px 16px;min-height:78px;border-radius:16px;display:flex;flex-direction:column;justify-content:center}.tenant-stat .metric{font-size:27px;line-height:1;margin-top:3px}.tenant-stat-label{font-size:12px;color:var(--muted);font-weight:700;line-height:1.15}.tenant-stat-label span{font-size:10px;font-weight:650;opacity:.85}.hours-copy-box{margin:16px 0 18px;padding:15px;border:1px solid #dbe5e1;border-radius:16px;background:#f7fbf9}.hours-copy-box h3{margin:0 0 4px;font-size:17px}.hours-copy-box p{margin:0 0 13px}.hours-copy-times{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hours-copy-times>div{background:#fff;border-radius:13px;padding:11px}.hours-day-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin:11px 0}.hours-day-picker label{cursor:pointer}.hours-day-picker input{position:absolute;opacity:0;pointer-events:none}.hours-day-picker span{display:flex;align-items:center;justify-content:center;min-height:38px;border:1px solid #d6dedd;border-radius:11px;background:#fff;color:var(--navy);font-weight:850}.hours-day-picker input:checked+span{background:#d9f5ec;border-color:#9bdcc9;color:#087257}.hours-copy-actions{display:flex;gap:8px;flex-wrap:wrap}.hours-copy-actions .btn{min-height:40px;padding:9px 12px}.hours-copy-feedback{min-height:18px;margin-top:8px;font-weight:750;color:#087257}.rest-auto-note{margin:6px 0 10px;padding:9px 10px;border-radius:10px;background:#ecefef;color:var(--muted);font-size:12px;font-weight:700}.hours-day input:disabled{background:#eef1f0;color:#8c969b;opacity:.75}.hours-day [hidden]{display:none!important}
@media(max-width:650px){.tenant-stats{gap:7px}.tenant-stat{padding:10px 9px;min-height:66px;border-radius:14px}.tenant-stat .metric{font-size:23px}.tenant-stat-label{font-size:10px}.tenant-stat-label span{display:block;font-size:9px}.hours-copy-times{grid-template-columns:1fr}.hours-day-picker{grid-template-columns:repeat(7,1fr);gap:4px}.hours-day-picker span{min-height:35px;font-size:11px}.hours-copy-actions{display:grid;grid-template-columns:1fr}.hours-copy-actions .btn{width:100%}}
@media(max-width:390px){.tenant-stat{padding:9px 7px}.tenant-stat-label{font-size:9px}.tenant-stat .metric{font-size:21px}}


/* v0.3.9 – Mobile Overflow-Fix für Betriebszeiten */
html,body{max-width:100%;overflow-x:clip}
.wrap,.card,form,.hours-copy-box,.hours-copy-times,.hours-copy-times>div,.hours-grid,.hours-day,.hours-columns,.hours-block,.hours-time-row,.hours-day-picker{min-width:0;max-width:100%}
.hours-copy-times>div,.hours-columns>div,.hours-time-row>label,.hours-day-picker>label{min-width:0}
.hours-time-row input[type="time"]{min-width:0;max-width:100%;width:100%}
.hours-day-picker{width:100%}
.hours-day-picker span{min-width:0;padding-left:2px;padding-right:2px}
@media(max-width:650px){
  .pagehead{min-width:0}
  .pagehead>div{min-width:0;max-width:100%}
  .pagehead p{overflow-wrap:anywhere}
  .hours-copy-box{overflow:hidden}
}


/* v0.3.10 – Temperatur-Standards & Kontrollreihenfolge */
.compact-settings-details{padding:0!important;overflow:hidden}.compact-settings-details>summary{position:relative;display:flex;flex-direction:column;gap:3px;list-style:none;padding:16px 48px 16px 18px;cursor:pointer;color:var(--navy)}.compact-settings-details>summary::-webkit-details-marker{display:none}.compact-settings-details>summary span{font-weight:850;font-size:15px}.compact-settings-details>summary small{color:var(--muted);font-size:11px;font-weight:600}.compact-settings-details>summary:after{content:'›';position:absolute;right:19px;top:50%;transform:translateY(-50%) rotate(90deg);font-size:25px;color:#8a979f;transition:transform .15s}.compact-settings-details[open]>summary:after{transform:translateY(-50%) rotate(-90deg)}.compact-settings-body{padding:15px 18px 18px;border-top:1px solid var(--line)}.temperature-default-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:13px 0}.temperature-default-grid>div{padding:12px;border-radius:13px;background:#f4f7f6}.temperature-default-grid strong{display:block;margin-bottom:6px}.category-default-check{margin-top:12px}.category-default-note{display:block;margin:-3px 0 12px;color:var(--muted);font-size:11px}.js-temp-min[readonly],.js-temp-max[readonly]{background:#eef4f2;color:#506269}.device-order-form+.device-order-form{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.device-order-form h3{margin:0 0 10px}.device-sort-list{display:grid;gap:8px;margin:10px 0 12px}.device-sort-item{display:grid;grid-template-columns:44px minmax(0,1fr) 34px;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:#fff;transition:box-shadow .12s,transform .12s}.device-sort-item.is-dragging{box-shadow:0 10px 28px #071d3526;transform:scale(1.01);z-index:2}.device-sort-item>span:nth-child(2){min-width:0;display:grid;gap:2px}.device-sort-item b{font-size:13px}.device-sort-item small{font-size:10px;color:var(--muted)}.device-sort-handle{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:0;border-radius:9px;background:#eef4f2;color:var(--navy);font-size:20px;font-weight:900;cursor:grab;touch-action:none;user-select:none}.device-sort-handle:active{cursor:grabbing}.device-sort-position{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#edf3f1;color:var(--navy);font-size:11px;font-weight:900}
@media(max-width:700px){.temperature-default-grid{grid-template-columns:1fr}.compact-settings-details>summary{padding:14px 45px 14px 15px}.compact-settings-body{padding:13px 15px 16px}.device-sort-item{grid-template-columns:42px minmax(0,1fr) 32px}}

/* v0.3.11 – kompakte Geräteeinstellungen & robuster Mobile-Overflow-Fix */
html,body{width:100%;max-width:100%;overflow-x:hidden}
body{position:relative}
header,main.wrap,footer{width:100%;max-width:100%}
.wrap{min-width:0;overflow-x:hidden}
.wrap>*{min-width:0;max-width:100%}
input,select,textarea,button{min-width:0;max-width:100%}
.top,.pagehead,.section-title,.hours-copy-box,.hours-copy-times,.hours-copy-times>div,.hours-grid,.hours-day,.hours-columns,.hours-block,.hours-time-row,.hours-day-picker,.temperature-default-grid,.device-sort-list,.device-sort-item{min-width:0;max-width:100%}
.top>*,.pagehead>*,.section-title>*,.hours-columns>*,.hours-time-row>*,.temperature-default-grid>*{min-width:0}
.pagehead h1,.pagehead p,.hours-copy-box h3,.hours-day-title b,.settings-card h2,.settings-card h3{overflow-wrap:anywhere;word-break:normal}
.hours-columns,.hours-copy-times,.hours-time-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.hours-day-picker{grid-template-columns:repeat(7,minmax(0,1fr))}
.hours-time-row input[type="time"],.hours-time-row select{width:100%;min-width:0;max-width:100%}
.device-overview-actions{display:grid;grid-template-columns:1fr;gap:9px;margin:-4px 0 14px}
.device-overview-actions .btn{width:100%}
.settings-card{overflow:hidden}
.settings-card .temperature-default-grid{margin-top:15px}
@media(max-width:650px){
  .top.pagehead{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}
  .top.pagehead>a{justify-self:end}
  .hours-copy-box,.hours-day,.hours-block{width:100%}
  .hours-copy-times,.hours-columns{grid-template-columns:minmax(0,1fr)}
  .hours-day-picker{gap:4px}
}
@media(max-width:390px){
  .hours-day-picker span{font-size:10px;padding-left:1px;padding-right:1px}
  .top.pagehead{grid-template-columns:1fr}
  .top.pagehead>a{justify-self:start}
}

/* v0.3.12 – bewusster Standort-Kontext für lokale Verwaltung */
.location-context-card{padding:18px 20px}.location-context-card h2{margin:3px 0 5px}.location-context-card p{margin:0}.location-context-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:14px}.location-context-item{display:flex;flex-direction:column;gap:3px;min-width:0;padding:14px 15px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--text);text-decoration:none}.location-context-item>span{font-size:21px}.location-context-item b{font-size:15px;overflow-wrap:anywhere}.location-context-item small{margin:0}.location-context-item.active{border-color:#7fd7bf;background:#f3fcf9;box-shadow:inset 0 0 0 1px #19b58a33}.context-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:11px 14px;border:1px solid #d8e8e2;border-radius:15px;background:#f7fcfa}.context-banner>span{min-width:0}.context-banner b{display:block;overflow-wrap:anywhere}.context-banner small{margin:2px 0 0}.context-banner a{white-space:nowrap;font-weight:750}.section-heading{margin:22px 0 10px}.section-heading h2{margin:0 0 3px;font-size:19px}.section-heading p{margin:0}.global-module-grid{margin-bottom:18px}.form-context-note{margin:3px 0 15px;padding:10px 12px;border-radius:11px;background:#eef6f3;color:#35685a;font-size:12px;font-weight:750}.device-overview-row>span:first-child small:first-of-type{overflow-wrap:anywhere}
@media(max-width:650px){.location-context-card{padding:15px}.location-context-grid{grid-template-columns:1fr 1fr;gap:8px}.location-context-item{padding:12px}.context-banner{align-items:flex-start}.context-banner a{font-size:12px}.section-heading{margin-top:18px}}
@media(max-width:430px){.location-context-grid{grid-template-columns:1fr}.context-banner{display:grid}.context-banner a{justify-self:start}}

/* v0.3.13 – produktionsreifer Temperatur-Rundgang & kompakter Standort-Kontext */
.overview-count{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:78px;padding:7px 12px;line-height:1.15}
.pagehead-main{min-width:0;flex:1}.page-title-inline{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}.page-title-inline h1{margin:0;min-width:0}.location-chip{display:inline-flex;align-items:center;justify-content:center;max-width:min(44vw,320px);min-height:34px;padding:7px 11px;border-radius:999px;background:#edf5f2;color:#35685a;text-decoration:none;font-size:11px;font-weight:850;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-chip.global{background:#eef2f3;color:var(--navy)}.page-nav-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.page-nav-actions a{font-weight:750;white-space:nowrap}.page-location-select{margin:0;min-width:0}.page-location-select select{margin:0;min-height:38px;padding:8px 32px 8px 10px;border-radius:999px;background:#edf5f2;color:#35685a;font-size:11px;font-weight:850;max-width:min(44vw,320px)}.page-location-select.inline{display:inline-flex}.app-subnav{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:0 0 14px}.app-subnav a{font-size:13px;font-weight:800;text-decoration:none}.manual-round-card{display:flex;align-items:flex-start;gap:16px;border:1px solid #d7ebe4;background:#fbfffd}.manual-round-icon{font-size:34px;line-height:1}.manual-round-body{min-width:0;flex:1}.manual-round-body h3{margin:0 0 5px}.manual-round-body p{margin:0 0 13px;color:var(--muted)}.round-launch-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px;padding:13px 15px;border:1px solid #d8e9e2;border-radius:16px;background:#f8fcfa}.round-launch-bar>div{min-width:0;display:grid;gap:2px}.round-launch-bar>div span{font-size:12px;color:var(--muted)}.round-launch-bar form{margin:0}.round-alt-actions{display:grid;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.round-alt-actions>form{padding:12px;border-radius:14px;background:#f5f7f6}.round-alt-actions select,.round-alt-actions input{margin-bottom:9px}.final-skip-details{margin:0;border:1px solid #edd2d2;border-radius:14px;padding:11px 12px;background:#fff8f8}.final-skip-details>summary{color:#8f2525}.final-skip-details p{font-size:12px;margin:9px 0}.postponed-badge{display:inline-flex;margin-top:6px;padding:5px 8px;border-radius:999px;background:#fff0dd;color:#9a5410;font-size:11px;font-weight:800}.open-round-list{margin-top:14px;padding:14px;border-radius:14px;background:#f7f9f8;border:1px solid var(--line)}.open-round-list h3{margin:0;font-size:15px}.open-round-list .section-title>span{font-size:11px;font-weight:800;color:var(--muted)}.open-round-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #e8ecea}.open-round-row:last-child{border-bottom:0}.open-round-row small{margin:0;font-size:10px}.progress-pill{white-space:nowrap;min-width:max-content}.btn[disabled]{opacity:.5;cursor:not-allowed}
@media(max-width:700px){.page-title-inline{align-items:flex-start}.location-chip,.page-location-select select{max-width:46vw}.page-nav-actions{justify-content:flex-start}.top.pagehead{grid-template-columns:minmax(0,1fr) auto}.round-launch-bar{align-items:flex-start}.round-launch-bar .btn{white-space:nowrap}.haccp-top{display:grid;grid-template-columns:minmax(0,1fr) auto}.progress-pill{font-size:11px;padding:8px 10px}.manual-round-card{padding:16px}}
@media(max-width:430px){.page-title-inline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.location-chip,.page-location-select select{max-width:42vw;font-size:10px}.top.pagehead{grid-template-columns:1fr}.page-nav-actions{justify-content:flex-start}.round-launch-bar{display:grid}.round-launch-bar form,.round-launch-bar .btn{width:100%}.haccp-top{grid-template-columns:1fr}.progress-pill{justify-self:start}.manual-round-card{gap:11px}.manual-round-icon{font-size:28px}}

/* v0.3.14 – negative TK-Werte, Abweichungsgründe & Sensor-Alarmregeln */
.signed-setting-input{display:grid;grid-template-columns:46px minmax(0,1fr);gap:8px;align-items:center}.signed-setting-input input{margin:0}.setting-sign-toggle{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid #d5dedd;border-radius:12px;background:#edf3f2;color:var(--navy);font-size:22px;font-weight:900;cursor:pointer}.setting-sign-toggle:disabled{opacity:.45;cursor:not-allowed}.setting-help{display:block;margin-top:7px;color:var(--muted);font-size:11px;line-height:1.4}.sensor-alarm-rule{margin-top:14px;padding:14px;border:1px solid #dce7e3;border-radius:14px;background:#f7fbf9}.sensor-alarm-rule h4{margin:0 0 4px}.sensor-alarm-rule p{margin:0 0 12px}.sensor-alarm-rule .grid{margin-bottom:8px}.deviation-reason-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0 14px}.deviation-reason-grid label{margin:0;cursor:pointer}.deviation-reason-grid input{position:absolute;opacity:0;pointer-events:none}.deviation-reason-grid span{display:flex;align-items:center;min-height:46px;padding:10px 12px;border:1px solid #d7dfdd;border-radius:12px;background:#fff;color:var(--navy);font-size:12px;font-weight:800;line-height:1.25}.deviation-reason-grid input:checked+span{border-color:#75cfb6;background:#e8f8f2;color:#087257;box-shadow:inset 0 0 0 1px #19b58a22}.deviation-panel .alert.warning{background:#fff6e8;border-color:#ecd1a8;color:#79480f}.deviation-panel textarea{min-height:82px}
@media(max-width:520px){.deviation-reason-grid{grid-template-columns:1fr}.signed-setting-input{grid-template-columns:44px minmax(0,1fr)}.setting-sign-toggle{width:44px;height:44px}.sensor-alarm-rule{padding:12px}}

/* v0.3.15 – Kühlstatus auf Start/Heute & grafischer Betriebsmonitor */
.cooling-status-card{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px;padding:15px 17px;border-radius:18px;border:1px solid var(--line);background:#fff;color:var(--text);text-decoration:none;box-shadow:0 8px 26px #071d350d;min-width:0}.cooling-status-card.start-status{margin-top:-2px}.cooling-status-card.good{border-color:#bfe7da;background:linear-gradient(135deg,#f8fffc,#eefaf6)}.cooling-status-card.warn{border-color:#ecd59e;background:linear-gradient(135deg,#fffdf7,#fff7e8)}.cooling-status-card.neutral{background:#f8faf9}.cooling-status-main{display:flex;align-items:center;gap:13px;min-width:0}.cooling-status-main>div{min-width:0;display:grid;gap:2px}.status-led{flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#95a1a9;box-shadow:0 0 0 7px #95a1a91a}.status-led.good{background:#24c79b;box-shadow:0 0 0 7px #24c79b20}.status-led.warn{background:#e5ad37;box-shadow:0 0 0 7px #e5ad3722}.status-led.bad{background:#e75b5b;box-shadow:0 0 0 7px #e75b5b22}.status-kicker{font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.cooling-status-card b{font-size:19px;line-height:1.15}.cooling-status-card small{margin:1px 0 0;line-height:1.35}.status-problem{font-size:11px;font-weight:800;color:#8a5a10;margin-top:3px;overflow-wrap:anywhere}.status-chevron{font-size:30px;line-height:1;color:#98a3aa;flex:0 0 auto}
.monitor-widget-title{flex-wrap:wrap}.monitor-widget-meta{margin-left:auto!important;font-size:11px!important;color:#9fb1c0;font-weight:750}.monitor-overall-copy{min-width:0}.monitor-status-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.monitor-status-chips span{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;background:#ffffff12;font-size:11px;font-weight:850}.monitor-status-chips .good{color:#74efd0}.monitor-status-chips .warn{color:#ffd27b}.monitor-status-chips .neutral{color:#c8d2db}.monitor-status-chips .mode{color:#ffe1a5}.monitor-temp{display:block;padding:14px 15px 12px;overflow:hidden}.monitor-temp-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.monitor-temp-top>div{min-width:0}.monitor-temp-top strong{font-size:25px}.monitor-sparkline{margin-top:10px}.monitor-sparkline svg{display:block;width:100%;height:46px;overflow:visible}.monitor-sparkline polyline{fill:none;stroke:#43dfba;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.monitor-sparkline circle{fill:#7ff3d5;stroke:#0b2b49;stroke-width:2;vector-effect:non-scaling-stroke}.monitor-temp.bad .monitor-sparkline polyline{stroke:#ffb071}.monitor-temp.bad .monitor-sparkline circle{fill:#ffd19f;stroke:#5b252b}.monitor-temp.mode .monitor-sparkline polyline{stroke:#f2bd4e}.monitor-temp.neutral .monitor-sparkline polyline{stroke:#93a6b5}.monitor-safe-band{fill:#31d0aa13}.monitor-sparkline>span{display:block;margin-top:1px;color:#8297a8;font-size:9px;font-weight:750}.monitor-sparkline-empty{margin-top:12px;color:#7f93a3;font-size:10px;font-weight:700}.monitor-overall.warn .monitor-pulse{animation:monitorPulseWarn 2.4s ease-in-out infinite}@keyframes monitorPulseWarn{0%,100%{box-shadow:0 0 0 9px #ffffff12}50%{box-shadow:0 0 0 15px #ffffff08}}
@media(max-width:700px){.cooling-status-card{padding:14px}.cooling-status-card b{font-size:17px}.status-led{width:19px;height:19px;flex-basis:19px}.monitor-widget-meta{width:100%;margin-left:34px!important}.monitor-temp-top strong{font-size:23px}}

/* v0.3.16 – Startseite nach täglicher Relevanz gewichten */
.daily-section-heading{margin-top:18px}.daily-module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.daily-module-card{min-height:148px;padding:23px 24px;justify-content:center}.daily-module-card>span{font-size:34px}.daily-module-card>b{font-size:22px}.daily-module-card>small{font-size:12px;line-height:1.35}.tenant-stats-subtle{margin-top:2px;margin-bottom:18px}.management-module-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.management-module-grid .module-card,.monitoring-module-grid .module-card{min-height:92px;padding:13px 15px;border-radius:15px}.management-module-grid .module-card>span,.monitoring-module-grid .module-card>span{font-size:22px}.management-module-grid .module-card>b,.monitoring-module-grid .module-card>b{font-size:15px}.management-module-grid .module-card>small,.monitoring-module-grid .module-card>small{font-size:10px}.monitoring-module-grid{grid-template-columns:repeat(auto-fit,minmax(210px,280px));gap:10px}.temperature-summary-grid .device-sparkline-wrap{max-width:none;margin-top:12px;padding-top:9px;border-top:1px solid #edf0ef}.temperature-summary-grid .device-sparkline{height:44px}
@media(max-width:850px){.management-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.monitoring-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.daily-module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.daily-module-card{min-height:126px;padding:16px}.daily-module-card>span{font-size:29px}.daily-module-card>b{font-size:18px}.daily-module-card>small{font-size:10px}.management-module-grid,.monitoring-module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.management-module-grid .module-card,.monitoring-module-grid .module-card{min-height:84px;padding:11px 12px}.management-module-grid .module-card>span,.monitoring-module-grid .module-card>span{font-size:20px}.management-module-grid .module-card>b,.monitoring-module-grid .module-card>b{font-size:14px}.tenant-stats-subtle{margin-bottom:14px}}
@media(max-width:380px){.daily-module-grid{grid-template-columns:1fr}.daily-module-card{min-height:104px}.management-module-grid,.monitoring-module-grid{grid-template-columns:1fr 1fr}}

/* v0.3.17 – Monitor-Raster: Editor und View-Link verwenden dieselbe 2-Spalten-Geometrie. */
.monitor-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row dense;grid-auto-rows:190px;align-items:stretch}
.monitor-widget{height:auto;min-height:0;overflow:hidden}
.monitor-widget.normal{grid-column:span 1;grid-row:span 1}
.monitor-widget.wide{grid-column:span 2;grid-row:span 1}
.monitor-widget.large{grid-column:span 2;grid-row:span 2;min-height:0}
.monitor-grid-editor{grid-auto-flow:row dense;grid-auto-rows:112px;align-items:stretch}
.monitor-designer-widget.size-normal{grid-column:span 1;grid-row:span 1;min-height:0}
.monitor-designer-widget.size-wide{grid-column:span 2;grid-row:span 1;min-height:0}
.monitor-designer-widget.size-large{grid-column:span 2;grid-row:span 2;min-height:0}
.size-choice:disabled{opacity:.32;cursor:not-allowed;text-decoration:line-through}
.monitor-haccp-summary{padding:7px 0 12px;color:#c7d4df;font-size:13px}
.monitor-rest-day{display:grid;gap:5px;padding:16px;border-radius:14px;background:#ffffff0d;border:1px solid #ffffff12}
.monitor-rest-day b{font-size:20px}.monitor-rest-day span{color:#c7d4df}
@media(max-width:900px){.monitor-grid{grid-auto-rows:180px}.monitor-temp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.monitor-grid{grid-template-columns:1fr;grid-auto-rows:auto}.monitor-widget.normal,.monitor-widget.wide,.monitor-widget.large{grid-column:span 1;grid-row:auto;min-height:0;overflow:visible}.monitor-grid-editor{grid-auto-rows:auto}.monitor-designer-widget.size-normal,.monitor-designer-widget.size-wide,.monitor-designer-widget.size-large{grid-column:span 1;grid-row:auto;min-height:100px}}


/* v0.3.18 – offene Temperaturauffälligkeiten */
.temperature-attention-section{margin-top:14px}
.temperature-case-list{display:grid;gap:10px}
.temperature-case-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:14px 16px;border:1px solid #f1c36a;border-radius:16px;background:#fffaf0;color:inherit;text-decoration:none}
.temperature-case-card b,.temperature-case-card small{display:block}.temperature-case-card small{margin-top:3px;color:#6b7280}.temperature-case-card strong{white-space:nowrap;font-size:1.1rem}
.temperature-case-summary{display:flex;gap:16px;align-items:center}.temperature-case-summary.open{border-color:#f1c36a;background:#fffaf0}.temperature-case-summary.resolved{border-color:#bfe3cd;background:#f5fbf7}
.temperature-case-value{display:flex;align-items:center;gap:10px;min-width:120px}.temperature-case-value strong{font-size:1.7rem}
.temperature-case-summary p{margin:.25rem 0}.temperature-case-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.temperature-recheck-form{margin-top:14px;padding:14px;border-radius:14px;background:#f7f9fb}
.latest-card.assessed-deviation,.temp-card.assessed-deviation{border-color:#d7dee7;background:#fbfcfd}.latest-card.assessed-deviation .latest-temp{color:#334155}
.monitor-temp.assessed{border-color:rgba(255,255,255,.16)}.monitor-temp.assessed strong{color:#e7edf4}.monitor-temp.assessed:after{content:"bewertet";display:block;margin-top:4px;font-size:.72rem;color:#98a6b8}
@media(max-width:700px){.temperature-case-actions{grid-template-columns:1fr}.temperature-case-card{grid-template-columns:auto minmax(0,1fr) auto}.temperature-case-card .status-chevron{display:none}.temperature-case-value{min-width:0}}


/* v0.3.19 – Temperatur-UI-Politur */
.temperature-case-summary{display:block;position:relative;border-left:4px solid transparent}
.temperature-case-summary.open{border-left-color:#e5ad37}
.temperature-case-summary.resolved{border-left-color:#24c79b}
.temperature-case-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.temperature-case-head strong{font-size:1.8rem;line-height:1}
.case-state{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:850;white-space:nowrap}
.case-state.open{background:#fff0d5;color:#8a5a10}.case-state.resolved{background:#dcf7ee;color:#087257}
.temperature-case-workflow>h2{margin-bottom:7px}.case-choice-list{display:grid;gap:10px;margin-top:18px}
.case-choice{margin:0;border:1px solid var(--line);border-radius:15px;background:#fbfcfc;overflow:hidden}
.case-choice>summary{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:10px;align-items:center;padding:14px 15px;color:var(--navy);list-style:none;cursor:pointer}
.case-choice>summary::-webkit-details-marker{display:none}.case-choice>summary>span{grid-row:1/3;font-size:22px;text-align:center}.case-choice>summary>b{font-size:14px;line-height:1.25}.case-choice>summary>small{font-size:11px;margin-top:2px}
.case-choice[open]{border-color:#b8ddd2;background:#fff}.case-choice[open]>summary{background:#f0faf7;border-bottom:1px solid #dbe9e4}
.temperature-recheck-form,.case-choice-form{margin:0;padding:15px;background:#fff}.case-choice-form input:last-of-type{margin-bottom:12px}
.case-device-action{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line);font-size:12px}.case-device-action>span{color:var(--muted);font-weight:750}
.latest-card.value-deviation,.latest-card.assessed-deviation{border:1px solid #e9a4a4;background:#fffdfd}.latest-card.assessed-deviation .latest-temp{color:#a92b2b}
.temp-card.value-deviation,.temp-card.assessed-deviation{border-color:#e9a4a4;background:#fffdfd}
@media (orientation:portrait) and (max-width:1000px){.monitor-temp-grid{grid-template-columns:1fr}.monitor-temp-top b{font-size:18px}.monitor-temp-top strong{font-size:25px}}
@media(max-width:700px){.temperature-case-head{align-items:flex-start}.case-device-action{align-items:flex-start;flex-direction:column}.case-device-action .text-link{padding:6px 0}.case-choice>summary{padding:13px}}

/* v0.3.20 – getrennte Anmeldung & automatisches Temperatur-Tages-PDF */
.login-link-note{margin:16px 0 0;text-align:center;line-height:1.45}
.daily-report-panel{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.daily-report-panel h3{margin:0 0 4px;font-size:18px}
.daily-report-panel .section-title{align-items:flex-start;margin-bottom:14px}
.daily-report-panel form{margin:0}
.daily-report-panel .form-actions{margin-top:12px}
.inline-test-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px!important}
.inline-test-form small{margin:0}
.daily-report-last{display:grid;gap:3px;margin-top:14px;padding:11px 13px;border:1px solid #cde6dd;border-radius:13px;background:#f6fcfa;font-size:12px}
.daily-report-last.failed{border-color:#edc5c5;background:#fff8f8;color:#8b2a2a}
.daily-report-last small{margin:0;color:inherit;overflow-wrap:anywhere}
.cron-details{margin-top:14px;padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:#fafcfc}
.cron-details>summary{cursor:pointer;font-size:12px;font-weight:850;color:var(--navy)}
.cron-details p{margin:10px 0}.cron-details input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}
@media(max-width:650px){.daily-report-panel .section-title{display:flex;gap:10px}.inline-test-form{align-items:flex-start;flex-direction:column}.inline-test-form .btn{width:100%}}


/* v0.3.21 – Mini-Verlauf: rot nur bis zwei unauffällige Folgemessungen */
.monitor-sparkline.recent-deviation polyline{stroke:#ff8d7f}.monitor-sparkline.recent-deviation circle{fill:#ffb3a8;stroke:#5b252b}

/* v0.3.22 – Rollen, Berechtigungen, Mitarbeiterprofil und merkbarer Betriebslogin */
.header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.login-remember{margin:8px 0 18px}.permission-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.permission-group{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fbfcfb}.permission-group-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:9px}.permission-group-head small{color:var(--muted)}.permission-check{display:flex;align-items:flex-start;gap:10px;padding:9px 6px;border-radius:10px;margin:0;font-weight:650}.permission-check:hover{background:#f2f6f4}.permission-check input{width:auto;margin:2px 0 0}.permission-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.permission-summary-group{border:1px solid var(--line);border-radius:14px;padding:13px;display:flex;flex-direction:column;gap:7px}.permission-summary-group b{margin-bottom:2px}.permission-summary-group span{font-size:14px;color:#29475f}.role-delete-form{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.profile-logout{margin:18px 0 30px}.temperature-case-card>small.muted{margin-left:auto}
@media(max-width:700px){.permission-editor,.permission-summary{grid-template-columns:1fr}.header-actions{gap:6px}.header-actions .btn{padding:9px 11px}}

/* v0.3.23 – klare Trennung von Rollenverwaltung und Mitarbeiterverwaltung */
.role-permission-details{margin-top:14px;border-top:1px solid rgba(255,255,255,.08);padding-top:12px}.role-permission-details summary{cursor:pointer;font-weight:700;color:var(--text,#17324d);list-style:none}.role-permission-details summary::-webkit-details-marker{display:none}.role-permission-details summary:after{content:'›';float:right;transition:transform .18s ease}.role-permission-details[open] summary:after{transform:rotate(90deg)}.role-permission-details .permission-summary{margin-top:12px}

/* v0.3.24 – ruhigeres Profil und gemerkter Betrieb ohne Kennungsfeld */
.remembered-tenant{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;margin:10px 0 18px;border:1px solid rgba(7,29,53,.12);border-radius:16px;background:rgba(7,29,53,.035)}
.remembered-tenant span{display:flex;flex-direction:column;gap:2px}.remembered-tenant small{color:#7b838b;font-weight:700}.remembered-tenant b{font-size:1.08rem}.remembered-tenant a{font-weight:800;color:#6b2c78;text-decoration:none}

/* v0.3.25 – Warenhaltung: Artikel, Bestand und Buchungen */
.goods-hero-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0 20px}.goods-hero-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--text);text-decoration:none;box-shadow:0 8px 24px #071d350b}.goods-hero-card>span{font-size:29px}.goods-hero-card b{display:block;font-size:18px}.goods-hero-card small{display:block;margin-top:4px;line-height:1.4}.goods-hero-card>strong{font-size:28px;color:#9aa5aa}.goods-secondary-grid{align-items:start}.storage-chip-list{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0 14px}.storage-chip-list span{padding:7px 9px;border-radius:999px;background:#eef5f2;color:#315f53;font-size:11px}.storage-quick-form{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.inventory-article-form h3{margin:24px 0 10px}.inventory-package-row{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:8px}.article-photo-preview{display:block;width:100%;max-height:230px;object-fit:contain;border:1px solid var(--line);border-radius:15px;background:#f7f8f7;margin-bottom:12px}.article-after-save{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.article-list{display:grid;gap:9px}.article-list-row{display:grid;grid-template-columns:56px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:15px;color:var(--text);text-decoration:none;background:#fff}.article-list-row.inactive{opacity:.55}.article-list-row.low{border-color:#e7c078;background:#fffdf8}.article-list-row img,.article-list-icon{width:56px;height:56px;border-radius:12px;object-fit:cover;background:#f0f4f2;display:flex;align-items:center;justify-content:center;font-size:24px}.article-list-copy{display:grid;gap:2px;min-width:0}.article-list-copy b{font-size:15px}.article-list-copy small{overflow-wrap:anywhere}.article-list-stock{display:flex;flex-direction:column;align-items:flex-end;min-width:86px}.article-list-stock>b{font-size:20px}.article-list-stock small{margin:0}.article-list-stock em{font-style:normal;color:#9a5e12;font-size:10px;font-weight:850;margin-top:3px}.stock-list{display:grid;gap:10px}.stock-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:17px;background:#fff}.stock-card.low{border-color:#e7c078;background:#fffaf0}.stock-card-main{display:flex;gap:11px;align-items:flex-start;min-width:0}.stock-state-dot{width:11px;height:11px;border-radius:50%;background:#25bf94;box-shadow:0 0 0 5px #25bf941b;margin-top:5px;flex:0 0 auto}.stock-card.low .stock-state-dot{background:#e5ad37;box-shadow:0 0 0 5px #e5ad3720}.stock-card-main>div{display:grid;gap:2px}.stock-card-main b{font-size:16px}.stock-card-value{display:flex;flex-direction:column;align-items:flex-end}.stock-card-value strong{font-size:24px;line-height:1}.stock-card-value small{margin-top:3px}.stock-book-link{font-weight:850;text-decoration:none;padding:9px 11px;border-radius:10px;background:#eef5f2;color:#174f42;white-space:nowrap}.booking-current{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;margin-bottom:16px;border-radius:14px;background:#eef8f5}.booking-current span{color:var(--muted);font-size:12px;font-weight:750}.booking-current b{font-size:18px}.movement-list{display:grid}.movement-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.movement-row:last-child{border-bottom:0}.movement-sign{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font-size:18px;font-weight:900}.movement-sign.plus{background:#dcf7ee;color:#087257}.movement-sign.minus{background:#fde8e8;color:#a92b2b}.movement-copy{display:grid;gap:2px;min-width:0}.movement-copy small{overflow-wrap:anywhere}.movement-qty{font-weight:900;font-size:17px;white-space:nowrap}.movement-qty.plus{color:#087257}.movement-qty.minus{color:#a92b2b}.movement-qty small{font-size:10px;color:var(--muted);font-weight:750}.inventory-book-card{max-width:820px}.empty-state .btn{margin-top:12px}
@media(max-width:800px){.goods-hero-grid{grid-template-columns:1fr}.article-list-row{grid-template-columns:48px minmax(0,1fr) auto}.article-list-row img,.article-list-icon{width:48px;height:48px}.article-list-row>.row-chevron{display:none}.stock-card{grid-template-columns:minmax(0,1fr) auto}.stock-book-link{grid-column:1/-1;text-align:center}.inventory-package-row{grid-template-columns:minmax(0,1fr) 95px}}
@media(max-width:520px){.article-list-row{grid-template-columns:44px minmax(0,1fr)}.article-list-row img,.article-list-icon{width:44px;height:44px}.article-list-stock{grid-column:2;align-items:flex-start;flex-direction:row;gap:5px;min-width:0}.article-list-stock>b{font-size:17px}.article-list-stock em{margin:0 0 0 6px}.stock-card{grid-template-columns:1fr}.stock-card-value{align-items:flex-start;flex-direction:row;gap:6px}.stock-book-link{grid-column:auto}.movement-row{grid-template-columns:30px minmax(0,1fr)}.movement-qty{grid-column:2;justify-self:start}}

/* v0.3.27 – Artikelwerte & Artikelfotos; Basis v0.3.26 Standortkontext */

/* v0.3.28 – Waren-Scanner / MHD-Erkennung */
.inventory-scan-panel{margin:1.15rem 0 1.3rem;padding:1rem;border:1px solid #dce7e4;border-radius:18px;background:#f8fbfa}
.inventory-scan-panel[hidden]{display:none!important}
.inventory-scan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;margin-bottom:.85rem}
.inventory-scan-head>div{display:flex;align-items:center;gap:.7rem;min-width:0}
.inventory-scan-head b{display:block;font-size:1rem}.inventory-scan-head small{display:block;color:#6d7b83;margin-top:.15rem;line-height:1.3}
.inventory-scan-icon{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:12px;background:#e7f6f1;font-size:1.25rem;flex:0 0 auto}
.inventory-scan-button{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;margin:.1rem 0 .75rem}
.inventory-scan-work{display:grid;grid-template-columns:92px 1fr;gap:.85rem;align-items:center;margin:.2rem 0 .8rem;padding:.65rem;border-radius:14px;background:#fff;border:1px solid #e5ecea}
.inventory-scan-work[hidden],.inventory-scan-result[hidden]{display:none!important}
.inventory-scan-work img{width:92px;height:72px;object-fit:cover;border-radius:10px;background:#edf1f0}
.inventory-scan-status b,.inventory-scan-status span{display:block}.inventory-scan-status span{color:#6d7b83;font-size:.88rem;margin-top:.18rem}
.inventory-scan-result{display:grid;gap:.45rem;margin:.15rem 0 .8rem}.scan-result-line{padding:.55rem .65rem;border-radius:10px;background:#eef3f2;font-size:.92rem;line-height:1.35}
.scan-result-line.success{background:#e8f7f1;color:#11664f}.scan-result-line.warning{background:#fff5dd;color:#7b5b0d}
.scan-date-choices{display:flex;flex-wrap:wrap;gap:.45rem}.scan-date-choice{appearance:none;border:1px solid #cbd8d5;background:#fff;border-radius:999px;padding:.55rem .8rem;font:inherit;font-weight:700;cursor:pointer}.scan-date-choice.selected{border-color:#18a987;box-shadow:0 0 0 2px rgba(24,169,135,.13)}
@media(max-width:620px){.inventory-scan-panel{margin-left:-.1rem;margin-right:-.1rem;padding:.9rem}.inventory-scan-work{grid-template-columns:76px 1fr}.inventory-scan-work img{width:76px;height:64px}.inventory-scan-button{width:100%}}

/* v0.3.28 – System-SMTP */
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}

.temperature-entry-target{scroll-margin-top:18px}

/* Live barcode scanner */
body.scanner-open{overflow:hidden}
.live-barcode-overlay{position:fixed;inset:0;z-index:9999;background:rgba(3,16,29,.78);display:flex;align-items:center;justify-content:center;padding:1rem}
.live-barcode-modal{width:min(560px,100%);background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.35)}
.live-barcode-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1rem .85rem}.live-barcode-head b,.live-barcode-head span{display:block}.live-barcode-head b{font-size:1.08rem}.live-barcode-head span{color:#6d7b83;font-size:.9rem;margin-top:.16rem;line-height:1.3}
.live-barcode-close{border:0;background:#eef2f1;border-radius:999px;width:2.4rem;height:2.4rem;font-size:1.7rem;line-height:1;cursor:pointer;flex:0 0 auto}
.live-barcode-stage{position:relative;background:#06182a;aspect-ratio:4/3;overflow:hidden}.live-barcode-stage video{width:100%;height:100%;object-fit:cover;display:block}
.live-barcode-frame{position:absolute;left:9%;right:9%;top:31%;height:38%;border:2px solid rgba(255,255,255,.78);border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.22);transition:.15s}.live-barcode-frame.detected{border-color:#23c89b;box-shadow:0 0 0 999px rgba(0,0,0,.22),0 0 0 4px rgba(35,200,155,.22)}
.live-barcode-frame span{position:absolute;width:28px;height:28px;border-color:#23c89b;border-style:solid}.live-barcode-frame span:nth-child(1){left:-3px;top:-3px;border-width:4px 0 0 4px;border-radius:12px 0 0 0}.live-barcode-frame span:nth-child(2){right:-3px;top:-3px;border-width:4px 4px 0 0;border-radius:0 12px 0 0}.live-barcode-frame span:nth-child(3){left:-3px;bottom:-3px;border-width:0 0 4px 4px;border-radius:0 0 0 12px}.live-barcode-frame span:nth-child(4){right:-3px;bottom:-3px;border-width:0 4px 4px 0;border-radius:0 0 12px 0}
.live-barcode-hint{position:absolute;left:50%;bottom:1rem;transform:translateX(-50%);background:rgba(3,16,29,.78);color:#fff;padding:.48rem .7rem;border-radius:999px;font-size:.86rem;white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis}
.live-barcode-foot{display:flex;gap:.65rem;justify-content:flex-end;padding:.85rem 1rem 1rem}.live-barcode-torch[hidden]{display:none!important}
.barcode-field-row{display:flex;gap:.55rem;align-items:stretch}.barcode-field-row input{min-width:0;flex:1}.barcode-field-row .btn{white-space:nowrap;padding-left:.8rem;padding-right:.8rem}
.barcode-scan-feedback{display:block;margin-top:.35rem;font-size:.86rem;color:#6d7b83}.barcode-scan-feedback.success{color:#147c62}.barcode-scan-feedback.warning{color:#9a6900}.barcode-scan-feedback.danger{color:#a73535}
.scan-result-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.15rem}.scan-result-actions .btn{font-size:.9rem;padding:.6rem .75rem}
@media(max-width:620px){.live-barcode-overlay{padding:0;align-items:stretch}.live-barcode-modal{width:100%;border-radius:0;display:flex;flex-direction:column}.live-barcode-stage{aspect-ratio:auto;flex:1;min-height:50vh}.live-barcode-foot{padding-bottom:max(1rem,env(safe-area-inset-bottom))}.barcode-field-row{flex-direction:column}.barcode-field-row .btn{width:100%}}
