@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:Manrope,sans-serif;color:#e8eeee;background:#101a1c;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#101a1c}button{font:inherit}.app-shell{min-height:100vh;background:radial-gradient(circle at 78% -10%,rgba(56,116,108,.24),transparent 34%),#101a1c}.dashboard-page{width:min(1440px,100%);margin:0 auto;padding:0 40px 56px}.topbar{min-height:76px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-bottom:1px solid #293638;gap:12px}.topbar__left{display:flex;align-items:center;gap:16px;flex-wrap:nowrap;min-width:0}.brand{display:flex;align-items:center;gap:12px;color:#f3f8f7;font-size:15px;font-weight:800;letter-spacing:.02em}.brand__line{width:24px;height:4px;background:#d5ef71;display:block}.nav-tabs{display:flex;align-items:center;gap:3px;min-width:0}.nav-tab{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;padding:8px 9px;color:#91a3a3;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap;border-radius:2px;border:1px solid transparent;transition:color .2s,border-color .2s,background .2s}.nav-tab:hover{color:#edf5f1;background:#172527}.nav-tab--active{color:#d5ef71;border-color:#3d5051;background:#172527}.topbar__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:nowrap;min-width:0}.snapshot{display:grid;flex:0 0 auto;gap:2px;text-align:right;white-space:nowrap;font-family:DM Mono,monospace;font-size:10px;color:#7f9293;text-transform:uppercase;letter-spacing:.08em}.snapshot strong{color:#c2cccc;font-size:11px;font-weight:500;text-transform:none;letter-spacing:0}.icon-button,.button{border:1px solid #3d5051;background:#172527;color:#e7eeee;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:border-color .2s,background .2s,color .2s}.icon-button{width:40px;height:40px}.icon-button:hover,.button:hover{border-color:#d5ef71;color:#d5ef71}.icon-button:disabled,.button:disabled{cursor:not-allowed;opacity:.65}.button{padding:10px 15px;font-size:13px;font-weight:700;border-radius:2px}.button--primary{background:#d5ef71;border-color:#d5ef71;color:#101a1c}.button--primary:hover{background:#e3f888;border-color:#e3f888;color:#101a1c}.button--secondary{background:transparent}.button--warning{background:#edaa61;border-color:#edaa61;color:#101a1c}.button--warning:hover{background:#f4be81;border-color:#f4be81;color:#101a1c}.button--warning-subtle{border-color:#6d5138;color:#edaa61;background:transparent}.button--warning-subtle:hover{border-color:#edaa61;color:#edaa61}.button--danger{background:#ed6f61;border-color:#ed6f61;color:#101a1c}.button--danger:hover{background:#f38f83;border-color:#f38f83;color:#101a1c}.button--danger-subtle{border-color:#633935;color:#ed6f61;background:transparent}.button--danger-subtle:hover{border-color:#ed6f61;color:#ed6f61}.button--sm{padding:6px 10px;font-size:12px;gap:5px}.spin{animation:spin 1s linear infinite}.page-heading{display:flex;justify-content:space-between;gap:32px;align-items:end;padding:56px 0 34px}.eyebrow{display:block;color:#91a5a5;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.13em;text-transform:uppercase}h1,h2,h3,p{margin:0}h1{margin-top:10px;color:#f2f7f5;font-size:clamp(30px,4vw,52px);line-height:1;letter-spacing:-.04em}.page-heading p{margin-top:14px;color:#9dafb0;font-size:14px}.heading-mark{display:flex;align-items:center;gap:9px;color:#d5ef71;font-family:DM Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.metrics-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.summary-metric{min-height:116px;padding:18px;border:1px solid #2b3b3d;border-top:3px solid #506163;background:#182729d1;display:flex;flex-direction:column;justify-content:space-between}.summary-metric--positive{border-top-color:#75c8a5}.summary-metric--warning{border-top-color:#edaa61}.summary-metric--muted{border-top-color:#687b7c}.summary-metric--critical{border-top-color:#ed6f61}.summary-metric__label{color:#92a5a6;font-family:DM Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.summary-metric__value{color:#eef5f2;font-size:36px;line-height:1;font-weight:700}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(360px,.7fr);gap:18px;margin-top:18px}.panel{min-width:0;border:1px solid #2b3b3d;background:#142224d1;padding:24px}.panel-heading{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:22px}.panel h2{margin-top:6px;color:#edf5f1;font-size:22px;letter-spacing:-.03em}.panel-count{color:#b6c4c3;font-family:DM Mono,monospace;font-size:11px;white-space:nowrap;padding-top:5px}.alert-list,.sensor-list{display:grid;gap:8px}.alert-row,.sensor-row{display:grid;gap:16px;align-items:center;border:1px solid #2d3e40;background:#172527}.alert-row{grid-template-columns:100px minmax(0,1fr) 220px 150px;padding:15px 16px;border-left:3px solid #6e8182}.alert-row__actions{display:flex;flex-direction:column;gap:6px;align-items:stretch}.alert-row__actions .button--sm{padding:6px 10px;font-size:11px;justify-content:center}.alert-row--critical{border-left-color:#ed6f61}.alert-row--high{border-left-color:#edaa61}.alert-row--medium{border-left-color:#d5ef71}.alert-row__priority{display:grid;gap:5px}.alert-row__severity{color:#eef5f2;font-family:DM Mono,monospace;font-size:11px;font-weight:500;text-transform:uppercase}.alert-row__type{color:#809494;font-size:11px;line-height:1.2}.alert-row__heading,.sensor-row__heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.alert-row h3,.sensor-row h3{overflow:hidden;color:#edf5f1;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.alert-row__body p{overflow-wrap:anywhere;margin-top:6px;color:#9caeae;font-size:12px}.alert-status{color:#aebfbe;font-family:DM Mono,monospace;font-size:10px;text-transform:uppercase}.alert-row__time{color:#91a3a3;font-family:DM Mono,monospace;font-size:10px;line-height:1.4;text-align:right}.sensor-row{grid-template-columns:10px minmax(0,1fr) 130px;padding:15px}.status-dot{width:8px;height:8px;background:#7b8e8e}.sensor-row--online .status-dot{background:#75c8a5}.sensor-row--offline .status-dot{background:#ed6f61}.sensor-row__main{min-width:0}.state-pill{flex:none;padding:4px 7px;border:1px solid #536566;color:#b8c6c5;font-family:DM Mono,monospace;font-size:9px;text-transform:uppercase}.state-pill--online{border-color:#43745f;color:#8fd6b4}.state-pill--offline{border-color:#874d48;color:#f18b7f}.sensor-row__details{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:7px;color:#93a6a6;font-size:11px}.sensor-row__details span:first-child{color:#d5ef71;font-family:DM Mono,monospace}.sensor-row__meta{display:grid;gap:3px;color:#7f9293;font-size:10px;text-align:right}.sensor-row__meta strong{color:#b8c6c5;font-family:DM Mono,monospace;font-size:10px;font-weight:400}.sensor-row__meta small{color:#6f8181;font-size:9px}.breakdown-panel{margin-top:18px}.breakdown-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.breakdown-group h3{margin-bottom:10px;color:#91a5a5;font-family:DM Mono,monospace;font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.breakdown-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #2a393b;color:#aab9b8;font-size:12px}.breakdown-row strong{color:#edf5f1;font-family:DM Mono,monospace;font-weight:500}.empty-state{padding:30px 16px;border:1px dashed #3b4d4e;color:#b6c4c3;text-align:center}.empty-state__mark{display:block;color:#d5ef71;font-size:22px}.empty-state strong{display:block;margin-top:6px;color:#edf5f1;font-size:14px}.empty-state p{max-width:380px;margin:7px auto 0;color:#829595;font-size:12px;line-height:1.5}.empty-state__action{margin-top:16px}.error-state{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:24px 0 0;padding:16px 18px;border:1px solid #874d48;background:#5c272640}.error-state strong{color:#f18b7f;font-size:14px}.error-state p{margin-top:4px;color:#d5a6a1;font-size:12px}.management-page{width:100%}.management-list{display:grid;gap:10px}.management-card{border:1px solid #2d3e40;background:#172527;padding:18px;border-radius:2px;transition:border-color .2s}.management-card:hover{border-color:#3f5557}.management-card--inactive{opacity:.75;border-left:3px solid #6e8182}.management-card__header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.management-card__title-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.management-card__title-group h3{font-size:15px;color:#edf5f1;font-weight:700;margin:0}.management-card__actions{display:flex;align-items:center;gap:8px}.management-card__desc{margin:10px 0 0;color:#9dafb0;font-size:13px;line-height:1.4}.management-card__meta-row{display:flex;flex-wrap:wrap;gap:16px 24px;margin-top:12px;padding-top:10px;border-top:1px solid #253638;font-size:12px}.meta-item{display:flex;align-items:center;gap:6px}.meta-item__label{color:#7f9293;font-family:DM Mono,monospace;font-size:11px}.code-tag{font-family:DM Mono,monospace;font-size:11px;color:#d5ef71;background:#101a1c;padding:3px 6px;border:1px solid #2d3e40;border-radius:2px}.type-badge{font-family:DM Mono,monospace;font-size:10px;text-transform:uppercase;color:#8fd6b4;background:#132a24;border:1px solid #264a3e;padding:3px 6px;border-radius:2px}.badge--warning{font-family:DM Mono,monospace;font-size:10px;text-transform:uppercase;color:#edaa61;background:#2f2115;border:1px solid #543922;padding:2px 5px;border-radius:2px}.panel-heading--filters{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.filter-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sensor-detail-page{display:grid;gap:20px}.page-header{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #293638}.sensor-header__info h1{font-size:clamp(24px,3vw,36px);margin-bottom:8px}.sensor-header__meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sensor-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.status-panel,.rule-panel{min-height:200px}.status-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.status-item{display:flex;flex-direction:column;gap:4px}.status-label{color:#7f9293;font-family:DM Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.status-value{color:#e8eeee;font-size:14px}.status-value--temp{font-size:18px;font-weight:600;color:#d5ef71}.rule-details{display:grid;gap:12px;margin-top:16px}.rule-detail{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #253638}.rule-label{color:#7f9293;font-size:12px}.rule-value{color:#e8eeee;font-family:DM Mono,monospace;font-size:12px}.rule-actions{margin-top:12px}.health-indicator{padding:6px 12px;border-radius:2px;font-family:DM Mono,monospace;font-size:11px;text-transform:uppercase}.health-indicator--online{color:#75c8a5;background:#132a24;border:1px solid #264a3e}.health-indicator--offline{color:#ed6f61;background:#2f1816;border:1px solid #5c2726}.health-indicator--unknown{color:#8f9e9e;background:#1c2c2e;border:1px solid #2d3e40}.history-panel{min-height:400px}.range-selector{display:flex;align-items:center}.history-notice{padding:10px 12px;background:#2b1f15;border:1px solid #543922;color:#edaa61;font-size:12px;border-radius:2px;margin-bottom:16px}.chart-loading{padding:60px 20px;text-align:center;color:#7f9293}.table-container{overflow-x:auto}.readings-panel{min-width:0}.reading-log-notice{color:#7f9293;font-size:12px}.reading-log-pagination{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px}.data-table{width:100%;border-collapse:collapse}.data-table th{padding:12px 16px;text-align:left;color:#7f9293;font-family:DM Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid #253638}.data-table td{padding:12px 16px;color:#e8eeee;font-size:13px;border-bottom:1px solid #1c2c2e}.data-table tbody tr:hover{background:#162426}.data-table .mono{font-family:DM Mono,monospace}.alert-row__timestamps{display:flex;gap:16px;margin-top:8px;font-size:11px;color:#7f9293;font-family:DM Mono,monospace}.sensor-name-link{background:none;border:none;padding:0;margin:0;cursor:pointer;color:#edf5f1;font-size:15px;font-weight:700;text-align:left;text-decoration:none}.sensor-name-link:hover{color:#d5ef71}.sensor-name-link h3{margin:0}.temperature-chart-container{width:100%;overflow-x:auto;padding:10px 0}.chart-axis{stroke:#2d3e40;stroke-width:1}.chart-line{stroke:#d5ef71;stroke-width:2}.chart-point{fill:#d5ef71;cursor:pointer}.chart-threshold{stroke-width:1}.chart-threshold--min,.chart-threshold--max{stroke:#ed6f61}.chart-threshold-label{fill:#ed6f61;font-size:10px;font-family:DM Mono,monospace}.chart-label{fill:#7f9293;font-size:10px;font-family:DM Mono,monospace}.chart-empty{padding:60px 20px;text-align:center;color:#7f9293}@media (max-width: 1000px){.sensor-detail-grid{grid-template-columns:1fr}}@media (max-width: 640px){.page-header{flex-direction:column;gap:10px;align-items:flex-start}.sensor-header__info h1{font-size:24px}.status-grid{grid-template-columns:1fr}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#080e0fc7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;padding:20px;z-index:1000;overflow-y:auto}.modal-content{width:100%;max-height:90vh;overflow-y:auto;background:#162426;border:1px solid #3d5051;border-radius:2px;box-shadow:0 20px 40px #0009;animation:modalIn .15s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid #283739}.modal-header h2{font-size:17px;font-weight:700;color:#edf5f1;margin:0}.modal-close{width:32px;height:32px}.modal-body{padding:24px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid #283739}.modal-actions--split{justify-content:space-between;align-items:center}.modal-actions__group{display:flex;gap:10px;align-items:center}.form-grid{display:grid;gap:16px}.form-group{display:grid;gap:6px}.form-group label{color:#b8c7c7;font-size:12px;font-weight:600}.form-group--inline{display:flex;align-items:center}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-row--badges{display:flex;gap:12px;margin-top:4px}.form-help{color:#7f9293;font-size:11px;line-height:1.4}.input{width:100%;padding:10px 12px;background:#101a1c;border:1px solid #334446;color:#e8eeee;font-size:13px;border-radius:2px;font-family:inherit;transition:border-color .2s}.input:focus{outline:none;border-color:#d5ef71}.input:disabled{opacity:.6;cursor:not-allowed}.input--mono{font-family:DM Mono,monospace;font-size:12px}.textarea{resize:vertical;min-height:70px}.select{cursor:pointer}.select--sm{width:auto;padding:6px 10px;font-size:12px}.select--unit{width:120px}.duration-input{display:flex;gap:8px}.checkbox-label{display:flex;align-items:center;gap:9px;cursor:pointer;color:#d4e0e0;font-size:13px}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:#d5ef71;cursor:pointer}.read-only-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#101a1c;border:1px solid #2d3e40;border-radius:2px;font-size:11px}.read-only-badge__label{color:#7f9293;font-family:DM Mono,monospace}.inline-error{padding:10px 12px;border:1px solid #874d48;background:#5c272640;color:#f18b7f;font-size:12px;line-height:1.4;border-radius:2px}.confirm-dialog{display:flex;gap:16px;align-items:flex-start}.confirm-dialog__icon{flex-shrink:0;padding:8px;border-radius:2px}.confirm-dialog--warning .confirm-dialog__icon{color:#edaa61;background:#2b1f15;border:1px solid #543922}.confirm-dialog--danger .confirm-dialog__icon{color:#ed6f61;background:#2f1816;border:1px solid #5c2726}.confirm-dialog__content{flex-grow:1;display:grid;gap:10px}.confirm-dialog__message{font-size:14px;font-weight:600;color:#edf5f1;margin:0}.confirm-dialog__details{font-size:12px;color:#9dafb0;line-height:1.5;background:#101a1c;padding:10px 12px;border:1px solid #2b3b3d;border-radius:2px}.confirm-dialog__details p{margin:0}.confirm-dialog__details strong{color:#edf5f1}@keyframes modalIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.skeleton{display:block;background:linear-gradient(90deg,#1c2c2e 25%,#293c3e,#1c2c2e 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.skeleton--metric{min-height:116px}.skeleton--title{width:40%;height:25px;margin-bottom:22px}.skeleton--row{height:63px;margin-top:8px}.loading-state{padding-top:34px}.loading-state .dashboard-grid{margin-top:18px}@keyframes shimmer{to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1000px){.metrics-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr}.panel--alerts{order:1}.dashboard-grid>.panel:not(.panel--alerts){order:2}.alert-row{grid-template-columns:100px minmax(0,1fr) 220px}.alert-row__time{grid-column:3;grid-row:2;text-align:left;margin-top:4px}.alert-row__actions{grid-column:3;grid-row:1}}@media (max-width: 640px){.dashboard-page{padding:0 16px 36px}.topbar{min-height:66px;align-items:flex-start;flex-direction:column;gap:8px;padding:12px 0}.topbar__left{width:100%;min-width:0;display:grid;gap:10px}.nav-tabs{width:100%;max-width:100%;min-width:0;overflow-x:auto}.nav-tab{flex:none;padding:8px 10px}.topbar__actions{min-width:0}.snapshot{text-align:left}.page-heading{align-items:start;flex-direction:column;padding:38px 0 26px;gap:22px}h1{font-size:34px}.heading-mark{font-size:10px}.metrics-grid{grid-template-columns:repeat(2,1fr)}.summary-metric{min-height:96px;padding:14px}.summary-metric__value{font-size:30px}.panel{padding:17px}.alert-row{grid-template-columns:82px minmax(0,1fr);gap:10px}.alert-row__actions{grid-column:2;grid-row:2;display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}.alert-row__time{grid-column:2;grid-row:3;text-align:left}.sensor-row{grid-template-columns:8px minmax(0,1fr)}.sensor-row__meta{grid-column:2;text-align:left;display:flex;flex-wrap:wrap;gap:5px 10px;align-items:baseline}.breakdown-grid{gap:22px}.form-row{grid-template-columns:1fr}}.haccp-page{display:grid;gap:18px}.haccp-page-heading{padding-bottom:22px}.haccp-location-bar{display:flex;justify-content:space-between;align-items:end;gap:16px;padding:0 0 16px;border-bottom:1px solid #293638}.haccp-section{padding:8px 0 20px;border-bottom:1px solid #293638}.section-heading,.haccp-editor-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:16px}.section-heading h2,.haccp-editor-heading h3{margin-top:5px;color:#edf5f1;font-size:20px}.section-heading h2{display:flex;align-items:center;gap:10px}.haccp-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.haccp-template-card{min-width:0;display:grid;align-content:start;gap:12px;border:1px solid #2d3e40;background:#172527;padding:18px}.haccp-template-card__top{display:flex;align-items:center;justify-content:space-between;color:#d5ef71}.haccp-template-card h3,.haccp-record h3{color:#edf5f1;font-size:16px;line-height:1.35;overflow-wrap:anywhere}.haccp-template-card p,.haccp-record p{color:#9dafb0;font-size:12px;line-height:1.5}.haccp-template-card .button{justify-self:start;margin-top:4px}.haccp-record-list{display:grid;gap:8px}.haccp-record{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;border:1px solid #2d3e40;background:#172527}.haccp-record__main{min-width:0;display:grid;gap:6px}.haccp-record__labels{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.state-pill--warning{border-color:#6d5138;color:#edaa61}.result-pill{display:inline-flex;align-items:center;justify-content:center;min-width:62px;padding:5px 8px;border:1px solid #536566;font-family:DM Mono,monospace;font-size:10px;font-weight:500;text-transform:uppercase}.result-pill--pass{border-color:#43745f;color:#8fd6b4;background:#132a24}.result-pill--fail{border-color:#874d48;color:#f18b7f;background:#2f1816}.haccp-pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:14px;color:#91a3a3;font-family:DM Mono,monospace;font-size:11px}.haccp-template-management{margin-top:4px}.haccp-template-row--archived{opacity:.78}.haccp-template-actions{flex-wrap:wrap;justify-content:flex-end}.haccp-inline-actions{display:flex;gap:8px;flex-wrap:wrap}.haccp-template-items{display:grid;gap:12px;max-height:min(55vh,620px);overflow-y:auto;padding:2px}.haccp-template-item{position:relative;min-width:0;display:grid;gap:14px;padding:18px;border:1px solid #334446;background:#121f21}.haccp-template-item legend{padding:0 8px;color:#d5ef71;font-family:DM Mono,monospace;font-size:10px;text-transform:uppercase}.haccp-template-item__tools{display:flex;justify-content:flex-end;align-items:center;gap:7px}.haccp-template-item__tools .icon-button{width:34px;height:34px}.haccp-limit-row{align-items:end}.haccp-unit-label{padding:10px 0;color:#91a3a3;font-family:DM Mono,monospace;font-size:11px}.haccp-required-toggle{width:fit-content}.haccp-checklist-topbar{display:flex;justify-content:space-between;align-items:center;padding:10px 0 14px;border-bottom:1px solid #293638}.haccp-checklist-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;padding:8px 0}.haccp-checklist-heading h1{font-size:34px;line-height:1.1;overflow-wrap:anywhere}.haccp-checklist-heading p{margin-top:10px;color:#91a3a3;font-size:12px}.haccp-checklist-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.haccp-signoff-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border:1px solid #2d3e40;background:#172527;color:#b8c6c5;font-size:13px}.haccp-signoff-summary strong{color:#edf5f1}.haccp-checklist-items{display:grid;gap:12px}.haccp-check-item{min-width:0;display:grid;gap:16px;padding:20px;border:1px solid #2d3e40;background:#142224d1}.haccp-check-item__header{display:flex;justify-content:space-between;align-items:start;gap:16px}.haccp-check-item__header h3{margin-top:6px;color:#edf5f1;font-size:18px;overflow-wrap:anywhere}.haccp-item-instructions{margin-top:6px;color:#9dafb0;font-size:13px;line-height:1.5}.haccp-item-result-block{flex:none}.haccp-item-requirement{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-left:3px solid #d5ef71;background:#162426}.haccp-item-requirement strong{color:#d5ef71;font-family:DM Mono,monospace;font-size:13px}.haccp-answer-field{max-width:440px}.haccp-temperature-input{max-width:240px;font-size:18px}.haccp-answer-fieldset{min-width:0;margin:0;padding:0;border:0}.haccp-answer-fieldset legend{margin-bottom:8px;color:#b8c7c7;font-size:12px;font-weight:600}.haccp-pass-fail-control{display:flex;flex-wrap:wrap;gap:8px}.haccp-choice{min-width:112px;min-height:42px;padding:8px 18px;border:1px solid #3d5051;background:transparent;color:#b8c6c5;cursor:pointer;font-family:DM Mono,monospace;font-weight:600}.haccp-choice:hover{border-color:#d5ef71}.haccp-choice--pass{border-color:#75c8a5;background:#132a24;color:#8fd6b4}.haccp-choice--fail{border-color:#ed6f61;background:#2f1816;color:#f18b7f}.haccp-choice:disabled{cursor:default;opacity:.75}.haccp-corrective-action{padding:14px;border-left:3px solid #edaa61;background:#2b1f1573}.haccp-corrective-action--required{border-left-color:#ed6f61}.haccp-corrective-action--required label{color:#f18b7f}.haccp-item-actions{display:flex;justify-content:flex-end;border-top:1px solid #253638;padding-top:14px}.haccp-recorded-value{color:#edf5f1;font-family:DM Mono,monospace}.haccp-recorded-text{display:grid;gap:5px}.haccp-recorded-text p{color:#d1dcda;font-size:13px;line-height:1.55;overflow-wrap:anywhere}.haccp-answered-at{color:#718687;font-family:DM Mono,monospace;font-size:10px}.haccp-completion-panel{display:grid;gap:16px;padding:20px;border:1px solid #3d5051;background:#172527}.haccp-completion-panel h2{margin-top:5px;color:#edf5f1;font-size:20px}.haccp-completion-panel p{margin-top:4px;color:#91a3a3;font-size:12px}.haccp-completion-requirements{display:grid;gap:5px;padding:10px 12px;border:1px solid #6d5138;background:#2b1f15;color:#edaa61;font-size:12px}.haccp-signoff-controls{display:flex;align-items:end;justify-content:space-between;gap:16px}.haccp-signoff-controls .form-group{width:min(400px,100%)}.haccp-signoff-actions{display:flex;flex-wrap:wrap;gap:8px}.haccp-cancellation-summary{display:grid;gap:6px;padding:14px 16px;border:1px solid #3d5051;background:#172527;color:#b8c6c5;font-size:13px;overflow-wrap:anywhere}.haccp-cancellation-summary strong{color:#edf5f1}.haccp-template-schedule-summary{display:grid;gap:4px;margin-top:8px;padding:9px 10px;border-left:2px solid #7f9c9b;background:#132123;color:#d6e2df;font-size:12px}.haccp-template-schedule-summary small{color:#9dafb0;font-size:11px}.haccp-schedule-list{display:grid;gap:8px;min-width:0}.haccp-schedule-row{display:grid;gap:8px;min-width:0;padding:10px;border:1px solid #334446;background:#142224}.haccp-schedule-row__summary,.haccp-schedule-row__actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;min-width:0}.haccp-schedule-row__summary>span:first-child{overflow-wrap:anywhere}.haccp-schedule-row__actions{justify-content:flex-start}.haccp-add-schedule{justify-self:start}.haccp-template-schedule-paused{color:#edaa61!important}.haccp-schedule-paused{display:flex;align-items:start;gap:9px;padding:11px 12px;border-left:3px solid #edaa61;background:#2b1f15;color:#edc28f;font-size:12px}.haccp-schedule-paused svg{flex:none}.haccp-schedule-enabled{width:fit-content;padding:8px 10px;border:1px solid #334446;background:#142224}.haccp-schedule-control{max-width:260px}.haccp-weekday-fieldset,.haccp-timing-fieldset{min-width:0;margin:0;padding:12px;border:1px solid #334446;background:#142224}.haccp-weekday-fieldset legend,.haccp-timing-fieldset legend{padding:0 6px;color:#b8c7c7;font-size:12px;font-weight:600}.haccp-weekday-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.haccp-weekday-option{min-width:0}.haccp-weekday-option span{overflow-wrap:anywhere}.haccp-timing-options{display:flex;flex-wrap:wrap;gap:12px 20px;margin-bottom:12px}.radio-label{display:inline-flex;align-items:center;gap:8px;min-height:32px;color:#d4e0e0;font-size:13px;cursor:pointer}.radio-label input[type=radio]{width:16px;height:16px;accent-color:#d5ef71}.haccp-schedule-help{color:#aebdbb;font-size:12px;line-height:1.5}.haccp-schedule-timezone{display:grid;gap:5px;padding:12px;border:1px solid #334446;background:#142224}.haccp-schedule-timezone strong{color:#d5ef71;font-family:DM Mono,monospace;font-size:13px}.haccp-schedule-timezone p{color:#91a3a3;font-size:11px}.haccp-schedule-actions{flex-wrap:wrap}.haccp-schedule-action-spacer{flex:1 1 auto}.haccp-section--overdue{border-bottom-color:#874d48}.haccp-overdue-text{color:#f18b7f}.haccp-record--overdue{border-left:3px solid #ed6f61}.haccp-checklist-source,.haccp-checklist-due{color:#bac9c7!important}.haccp-checklist-status .result-pill--fail{font-weight:700}@media (max-width: 800px){.haccp-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.haccp-template-row{align-items:start;flex-direction:column}.haccp-template-actions{justify-content:flex-start;width:100%}.haccp-weekday-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.haccp-location-bar,.haccp-page-heading,.haccp-checklist-heading,.haccp-signoff-controls{align-items:stretch;flex-direction:column}.haccp-page-heading{padding-top:34px}.haccp-template-grid{grid-template-columns:1fr}.haccp-record{align-items:stretch;flex-direction:column}.haccp-record>.button{align-self:flex-start}.haccp-checklist-heading h1{font-size:27px}.haccp-check-item{padding:15px}.haccp-check-item__header{align-items:start}.haccp-item-requirement{align-items:start;flex-direction:column}.haccp-template-item{padding:14px}.haccp-editor-heading{align-items:start;flex-direction:column}.haccp-signoff-controls .form-group{width:100%}.haccp-signoff-controls .button{align-self:flex-start}.haccp-signoff-summary{align-items:start;flex-direction:column}.haccp-pagination{justify-content:space-between;gap:8px}.haccp-schedule-control{width:100%;max-width:none}.haccp-schedule-actions{align-items:stretch;flex-direction:column-reverse}.haccp-schedule-action-spacer{display:none}.haccp-schedule-actions>button{width:100%;justify-content:center}}.venue-selection-page h1,.settings-page h1{font-size:36px;letter-spacing:0}.venue-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px;margin:0;padding:0;list-style:none}.venue-choice{display:grid;grid-template-columns:21px minmax(0,1fr) 18px;align-items:center;gap:16px;width:100%;height:100%;min-height:110px;padding:20px;border:1px solid #3d5051;border-radius:2px;background:#172527;color:#d5ef71;font:inherit;text-align:left;cursor:pointer}.venue-choice:hover{border-color:#d5ef71}.venue-choice:focus-visible{outline:2px solid #d5ef71;outline-offset:3px}.venue-choice__identity{display:grid;min-width:0;gap:7px;overflow-wrap:anywhere}.venue-choice__identity strong{color:#edf5f1;font-size:16px}.venue-choice__identity>span{color:#9dafb0;font-size:12px}.venue-choice__current{display:flex;align-items:center;gap:5px}.page-heading .dashboard-venue{display:flex;align-items:center;gap:6px;color:#d5ef71;font-size:13px;overflow-wrap:anywhere}.settings-sections{display:grid;min-width:0}.settings-section{display:grid;grid-template-columns:22px minmax(0,1fr) 20px;align-items:center;gap:16px;padding:24px 0;border-top:1px solid #334446;border-bottom:1px solid #334446;color:#d5ef71;text-decoration:none}.settings-section:hover{background:#172527}.settings-section:focus-visible,.venues-page .back-link:focus-visible{outline:2px solid #d5ef71;outline-offset:4px}.settings-section h2{color:#edf5f1;font-size:16px;letter-spacing:0;text-transform:uppercase;overflow-wrap:anywhere}.settings-section p{margin-top:8px;color:#9dafb0;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.venues-page{min-width:0;gap:16px}.venues-page .back-link{display:inline-flex;align-items:center;gap:8px;margin-top:24px;color:#b6c4c3;font-size:13px;text-decoration:none}.venues-page .back-link:hover{color:#d5ef71}.venues-page__heading{padding-bottom:18px}.venue-feedback{padding:12px 14px;border-left:3px solid #72c7a0;background:#142820;color:#bfe8d3;font-size:13px;line-height:1.5}.venue-feedback--success{border-color:#72c7a0}.venue-context-error{display:flex;justify-content:space-between;align-items:center;gap:14px}.venue-editor{min-width:0;padding:20px;border:1px solid #3b5050;background:#142123}.venue-editor__heading,.venue-list__heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.venue-editor__heading h2,.venue-list__heading h2{margin-top:5px;color:#edf5f1;font-size:20px}.venue-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.venue-form-grid__wide{grid-column:1 / -1}.venue-form-grid .form-group{min-width:0}.venue-form-grid .input{width:100%;min-width:0}.venue-timezone-note{margin-top:12px;color:#bdc9c7;font-size:12px;line-height:1.5}.venue-editor__actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.venue-list{min-width:0}.venue-list__heading{padding-bottom:12px;border-bottom:1px solid #334446}.venue-list__rows{display:grid}.venue-row{min-width:0;display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(150px,.8fr) auto;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid #293638}.venue-row__identity{min-width:0;display:flex;align-items:center;gap:12px}.venue-row__icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border:1px solid #496061;color:#d5ef71}.venue-row__identity h3{color:#edf5f1;font-size:15px;overflow-wrap:anywhere}.venue-row__identity p{margin-top:4px;color:#94a8a7;font-size:12px;overflow-wrap:anywhere}.venue-row__meta{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:#b5c3c2;font-family:DM Mono,monospace;font-size:11px;overflow-wrap:anywhere}.venue-status{display:inline-flex;align-items:center;width:fit-content;padding:4px 7px;border:1px solid #425652;color:#a9dbc3;font-family:Manrope,sans-serif;font-size:11px;font-weight:700}.venue-status--active{border-color:#43745f;color:#a3dfc2}.venue-status--inactive{border-color:#7a5940;color:#f0c282}.venue-row__actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.venue-list__message{padding:24px 0;color:#9dafb0;font-size:13px}.haccp-checklist-venue{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#bac9c7!important}@media (max-width: 1000px){.topbar{display:flex;flex-wrap:wrap;padding:12px 0}.topbar__left{flex:1 1 100%;width:100%;justify-content:space-between;flex-wrap:wrap}.topbar__actions{flex:1 1 100%;width:100%;justify-content:flex-end;flex-wrap:wrap;gap:12px}}@media (max-width: 800px){.venue-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.venue-row__identity{grid-column:1 / -1}.venue-row__actions{justify-content:flex-start}}@media (max-width: 640px){.topbar__actions{width:100%;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 14px}.topbar__actions>.icon-button{margin-left:auto}.venues-page__heading{align-items:flex-start}.venue-editor{padding:16px}.venue-form-grid{grid-template-columns:minmax(0,1fr)}.venue-form-grid__wide{grid-column:auto}.venue-row{grid-template-columns:minmax(0,1fr)}.venue-row__identity,.venue-row__meta,.venue-row__actions{grid-column:auto}.venue-row__actions{justify-content:flex-start}.venue-row__actions .button{flex:1 1 auto}}.account-menu{position:relative;min-width:0}.account-menu__trigger{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;max-width:180px;padding:8px 10px;border:1px solid #3d5051;border-radius:2px;background:#172527;color:#e6efec;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.account-menu__trigger svg{flex:none}.account-menu__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu__trigger:hover,.account-menu__trigger[aria-expanded=true]{border-color:#d5ef71}.account-menu__trigger:focus-visible,.account-menu__panel [role=menuitem]:focus-visible{outline:2px solid #d5ef71;outline-offset:2px}.account-menu__panel{position:absolute;z-index:30;top:calc(100% + 8px);right:0;width:210px;max-width:calc(100vw - 32px);padding:6px;border:1px solid #496061;border-radius:2px;background:#172527;box-shadow:0 12px 28px #0000004d}.account-menu__panel [role=menuitem]{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:10px;border:0;background:transparent;color:#e6efec;font:inherit;font-size:13px;text-align:left;text-decoration:none;cursor:pointer}.account-menu__panel [role=menuitem]:hover,.account-menu__panel [role=menuitem]:focus{background:#243638;color:#d5ef71}.user-settings-page h1{font-size:36px;letter-spacing:0}.user-settings-section{padding:24px 0;border-top:1px solid #334446}.user-settings-section h2{font-size:18px;color:#edf5f1}.account-information{display:grid;gap:18px;margin:24px 0 0}.account-information div{display:grid;gap:6px;min-width:0}.account-information dt{color:#9dafb0;font-size:12px}.account-information dd{margin:0;color:#edf5f1;font-size:14px;overflow-wrap:anywhere}.password-section{max-width:460px;margin-top:24px}.password-section h3{font-size:16px;color:#edf5f1}.password-section .input{width:100%;min-width:0}.password-section .auth-form{margin-top:20px}.auth-state{min-height:100vh;display:grid;place-items:center;padding:28px 18px;background:linear-gradient(135deg,rgba(213,239,113,.05),transparent 48%),repeating-linear-gradient(135deg,#101a1c,#101a1c 26px,#111d1f,#111d1f 28px)}.auth-state--forced{min-height:100vh}.auth-panel{width:min(460px,100%);padding:32px;border:1px solid #3d5051;border-left:3px solid #d5ef71;background:#142123;box-shadow:0 24px 70px #00000047}.auth-brand{display:flex;align-items:center;gap:11px;margin-bottom:42px;color:#f3f8f7;font-size:14px;font-weight:800}.auth-panel h1{margin-top:10px;font-size:32px;line-height:1.12}.auth-intro{margin-top:10px;color:#9dafb0;font-size:13px;line-height:1.55}.auth-form{margin-top:26px}.auth-form .input{min-height:44px}.auth-submit{width:100%;min-height:44px;margin-top:4px}.auth-actions{display:flex;flex-wrap:wrap;gap:10px}.auth-modes{display:flex;margin-top:24px;border-bottom:1px solid #3d5051}.auth-mode{flex:1;min-height:42px;padding:8px;border:0;border-bottom:2px solid transparent;background:transparent;color:#a8b7b6;cursor:pointer;font:inherit;font-size:12px;font-weight:700}.auth-mode--active{color:#d5ef71;border-bottom-color:#d5ef71}.auth-mode:focus-visible{outline:2px solid #d5ef71;outline-offset:2px}.auth-success{padding:10px 12px;border:1px solid #43745f;background:#132a24;color:#a3dfc2;font-size:12px}.auth-state>p[role=status]{color:#c4d2d0;font-size:14px}.auth-state .auth-panel>p[role=alert]{margin-top:16px;color:#f18b7f;font-size:13px;line-height:1.5}.auth-state .auth-panel>.button{margin-top:18px}@media (max-width: 480px){.auth-state{min-height:100svh;padding:18px 14px}.auth-panel{padding:24px 20px}.auth-brand{margin-bottom:34px}.auth-panel h1{font-size:28px}.account-menu{margin-left:auto}}@media (max-width: 1280px) and (min-width: 1001px){.topbar{display:flex;flex-wrap:wrap;padding:12px 0}.topbar__left{flex:1 1 100%;width:100%;justify-content:space-between;flex-wrap:wrap}.topbar__actions{flex:1 1 100%;width:100%;justify-content:flex-end;flex-wrap:wrap;gap:12px}}
