@font-face{font-family:Barlow;src:url(/assets/fonts/Barlow-Regular.ttf)format("truetype");font-weight:400}@font-face{font-family:Barlow;src:url(/assets/fonts/Barlow-Bold.ttf)format("truetype");font-weight:700}@font-face{font-family:Barlow;src:url(/assets/fonts/Barlow-ExtraBold.ttf)format("truetype");font-weight:800}:root{--accent:#00b83e;--accent-rgb:0, 184, 62;--bg:#f4f5f7;--surface:#fff;--surface-alt:#eef0f3;--text:#14161a;--muted:#6b7280;--border:#e2e4e9;--radius:14px;--global-bg:#0b0c0f;--global-text:#fff}:root[data-theme=dark]{--accent:#00ff57;--accent-rgb:0, 255, 87;--bg:#0b0c0f;--surface:#16181d;--surface-alt:#1e2127;--text:#f5f6f8;--muted:#9aa0ab;--border:#2a2d34;--global-bg:#fff;--global-text:#0b0c0f}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;min-height:100vh;color:var(--text);margin:0;font-family:Barlow,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{grid-template-columns:84px 1fr;min-height:100vh;display:grid}.side-rail{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;justify-content:space-between;align-items:center;padding:20px 0;display:flex}.side-nav{flex-direction:column;align-items:center;gap:8px;width:100%;display:flex}.side-nav button{border-radius:var(--radius);width:56px;height:56px;color:var(--muted);background:0 0;border:none;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.side-nav button:hover{background:var(--surface-alt);color:var(--text)}.side-nav button.active{background:rgba(var(--accent-rgb), .14);color:var(--accent)}.side-footer{flex-direction:column;align-items:center;gap:10px;display:flex}.icon-button{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);width:48px;height:48px;color:var(--muted);justify-content:center;align-items:center;display:flex}.icon-button:hover{color:var(--text);border-color:var(--accent)}.content{flex-direction:column;min-width:0;display:flex}.app-header{background:var(--surface-alt);border-bottom:1px solid var(--border);box-shadow:0 2px 10px #0000000a}.top-bar{justify-content:space-between;align-items:center;padding:18px 28px;display:flex}.top-bar h1{margin:0;font-size:20px;font-weight:800}.kpi-row{gap:14px;padding:4px 28px 22px;display:flex;overflow-x:auto}.kpi-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);min-width:190px;color:var(--text);cursor:pointer;flex:none;padding:16px 18px;transition:transform .15s,box-shadow .15s;box-shadow:0 1px 4px #0000000d}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000001f}.kpi-card .kpi-name{margin-bottom:10px;font-size:15px;font-weight:800}.kpi-card .kpi-metric{justify-content:space-between;gap:10px;margin-top:4px;font-size:13px;display:flex}.kpi-card .kpi-metric span{color:var(--muted)}.kpi-card .kpi-metric strong{font-variant-numeric:tabular-nums;color:inherit}.kpi-card.global-card .kpi-metric span{color:inherit;opacity:.75}.kpi-card.global-card{background:var(--global-bg);color:var(--global-text);border-color:#0000}.page-body{flex:1;padding:24px 28px 28px}.placeholder-panel{border:1px dashed var(--border);border-radius:var(--radius);text-align:center;color:var(--muted);padding:48px}.login-screen{background:var(--bg);place-items:center;min-height:100vh;display:grid}.primary-button{background:var(--accent);color:#fff;border:none;border-radius:10px;padding:10px 18px;font-weight:700}.secondary-button{background:var(--surface-alt);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 18px;font-weight:700}.secondary-button.small,.primary-button.small,.icon-button.small{padding:6px 12px;font-size:13px}.icon-button.small{width:32px;height:32px;padding:0}.color-field-wrapper{position:relative}.color-trigger{border:1px solid var(--border);background:var(--bg);border-radius:10px;align-items:center;gap:10px;width:100%;padding:8px 12px;display:flex}.color-hex{letter-spacing:.4px;font-family:Consolas,Courier New,monospace;font-weight:700}.color-swatch{border:1px solid var(--border);border-radius:7px;flex:none;width:26px;height:26px}.color-swatch.large{border-radius:8px;width:34px;height:34px}.color-popover{background:var(--surface);border:1px solid var(--border);z-index:60;border-radius:12px;flex-direction:column;gap:12px;width:248px;padding:14px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 36px #0003}.color-popover-row{align-items:center;gap:8px;display:flex}.color-hex-input{border:1px solid var(--border);background:var(--bg);min-width:0;color:var(--text);border-radius:8px;flex:1;padding:7px 8px;font-family:Consolas,Courier New,monospace}.color-native-input{opacity:0;pointer-events:none;border:none;width:0;height:0;padding:0;position:absolute}.color-presets{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.color-preset-swatch{aspect-ratio:1;border:1px solid var(--border);border-radius:6px;width:100%;padding:0}.color-preset-swatch:hover{outline:2px solid var(--accent);outline-offset:1px}.color-popover-actions{justify-content:flex-end;gap:8px;display:flex}.error-text{color:#e02424;font-weight:600}.section-heading-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:20px 0;display:flex}.filters-row{flex-wrap:wrap;gap:10px;display:flex}.filters-row select,.filters-row input{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:8px 12px}.data-table{border-collapse:collapse;background:var(--surface);border-radius:var(--radius);width:100%;overflow:hidden}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 14px;font-size:14px}.data-table th{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:700}.actions-cell{white-space:nowrap;align-items:center;gap:8px;display:flex}.audit-changes{color:var(--muted);overflow-wrap:break-word;white-space:normal;max-width:320px;font-family:Consolas,Courier New,monospace;font-size:11px}.machine-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:16px;display:grid}.machine-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.machine-card-head{justify-content:space-between;align-items:center;margin-bottom:10px;font-size:16px;display:flex}.machine-card-actions{align-items:center;gap:6px;display:flex}.machine-card-row{color:var(--muted);justify-content:space-between;padding:4px 0;font-size:13px;display:flex}.machine-card-row strong{color:var(--text)}.modal-backdrop{z-index:50;background:#00000073;place-items:center;display:grid;position:fixed;inset:0}.modal-card{background:var(--surface);border-radius:var(--radius);flex-direction:column;gap:12px;width:min(480px,92vw);max-height:90vh;padding:24px;display:flex;overflow-y:auto}.modal-card label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.modal-card input,.modal-card select{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:10px;padding:10px 12px;font-weight:500}.form-row-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.modal-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.stepper{align-items:center;gap:12px;display:flex}.stepper button{border:1px solid var(--border);background:var(--surface-alt);width:32px;height:32px;color:var(--text);border-radius:8px;font-weight:800}.work-blocks{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:8px;display:grid}.work-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.work-block h2{margin:0 0 14px;font-size:15px}.work-block-actions{flex-direction:column;gap:10px;display:flex}.work-block-actions button{justify-content:flex-start;align-items:center;gap:8px;display:flex}.checkbox-grid{color:var(--text);grid-template-columns:repeat(2,1fr);gap:6px;font-weight:400;display:grid}.checkbox-item{flex-direction:row;align-items:center;gap:6px;font-size:13px;display:flex}.import-preview{background:var(--surface-alt);border-radius:10px;padding:10px 12px}.import-error-list{flex-direction:column;gap:4px;max-height:160px;display:flex;overflow-y:auto}.success-text{color:var(--accent);font-weight:700}.hint-text{color:var(--muted);font-size:13px}.worksheet-modal{width:min(760px,94vw)}.worksheet-list{flex-direction:column;gap:6px;max-height:50vh;display:flex;overflow-y:auto}.worksheet-row{border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.drag-handle{cursor:grab;color:var(--muted);touch-action:none}.worksheet-priority input{width:18px;height:18px}.worksheet-main{flex:1;grid-template-columns:90px 1fr 1fr 1fr 80px;align-items:center;gap:8px;min-width:0;font-size:13px;display:grid}.worksheet-main span,.worksheet-main strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.worksheet-observation{border:1px solid var(--border);background:var(--bg);width:140px;color:var(--text);border-radius:8px;padding:6px 8px}.worksheet-observation-readonly{width:140px;color:var(--muted);font-size:12px}.dashboard-shell{background:var(--bg);min-height:100vh;color:var(--text);padding:28px 36px;font-family:Barlow,sans-serif}.dashboard-loading{background:var(--bg);min-height:100vh;color:var(--text);place-items:center;display:grid}.dash-header{justify-content:space-between;align-items:baseline;margin-bottom:20px;display:flex}.dash-header h1{margin:0;font-size:32px}.dash-clock{color:var(--muted);font-variant-numeric:tabular-nums;font-size:16px}.dash-tiles{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:28px;display:grid}.dash-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;padding:20px;display:flex}.dash-tile-label{color:var(--muted);font-size:14px}.dash-tile-value{font-variant-numeric:tabular-nums;font-size:38px;font-weight:800}.dash-machine-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:28px;display:grid}.dash-machine-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);border-top:5px solid;padding:16px;font-size:15px}.dash-machine-row{justify-content:space-between;padding:4px 0;display:flex}.history-charts{margin-top:8px}.history-charts-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.history-charts-head h3{margin:0;font-size:16px}.charts-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.chart-card.wide{grid-column:1/-1}.chart-card h4{color:var(--muted);margin:0 0 8px;font-size:13px}
