@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";:root{--bg:#f4f7fb;--bg-strong:#e8eef7;--panel:#fff;--panel-strong:#fff;--panel-border:#d8e1ef;--text:#183153;--muted:#62748f;--accent:#0c64c5;--accent-soft:#d9ecff;--accent-bright:#22aceb;--surface:#f8fbff;--warning:#d97706;--warning-soft:#fff0d2;--danger:#c2410c;--danger-soft:#ffddd2;--success:#18794e;--success-soft:#daf4e6;--info:#155e75;--info-soft:#d5edf6;--shadow:0 10px 30px #11264414;--radius-xl:22px;--radius-lg:18px;--radius-md:14px;--radius-sm:12px}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{color:var(--text);background:linear-gradient(#f7f9fc 0%,#eef3f9 100%);font-family:IBM Plex Sans,sans-serif}button,input,select,textarea{font:inherit}img{max-width:100%;display:block}.app-shell{min-height:100vh;padding:24px}.dashboard-shell{flex-direction:column;gap:20px;max-width:1560px;margin:0 auto;display:flex}.platform-bar{border:1px solid var(--panel-border);box-shadow:var(--shadow);background:#fffffff5;border-radius:18px;justify-content:space-between;align-items:center;gap:18px;padding:14px 20px;display:flex}.platform-brand,.platform-nav,.platform-actions{align-items:center;gap:14px;display:flex}.platform-logo{object-fit:contain;background:#fff;border-radius:14px;width:48px;height:48px}.platform-overline{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.platform-name{color:var(--text);font-size:1.15rem;font-weight:700}.nav-pill,.platform-badge{min-height:36px;color:var(--muted);background:#f2f6fc;border:1px solid #0000;border-radius:999px;align-items:center;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}button.nav-pill{cursor:pointer}.nav-pill.active{color:var(--accent);background:#eaf3ff;border-color:#c5ddff}.platform-badge{border-color:var(--panel-border);background:#f8fbff}.platform-badge.accent{color:#fff;background:linear-gradient(90deg,#0c64c5,#22aceb);border-color:#0000}.hero-grid,.content-grid,.history-page{gap:24px;display:grid}.hero-grid{grid-template-columns:1.45fr .95fr}.content-grid{grid-template-columns:1.08fr 1fr;align-items:start}.details-column{flex-direction:column;gap:24px;display:flex}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-xl);box-shadow:var(--shadow);padding:28px}.hero-panel{overflow:hidden}.hero-top,.fleet-top,.details-header,.execution-top,.notes-grid,.panel-heading,.radar-top,.machine-card-top,.item-head,.item-body,.qr-stack{justify-content:space-between;gap:18px;display:flex}.hero-top,.fleet-top,.details-header,.execution-top,.notes-grid,.panel-heading,.machine-card-top,.item-head,.item-body,.qr-stack{align-items:flex-start}.hero-top{flex-wrap:wrap;align-items:center;margin-bottom:18px}.eyebrow,.panel-kicker,.machine-id,.item-area,.item-frequency,.qr-label{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:11px;font-weight:700}.hero-title,.panel-title,.details-title{margin:0;font-family:IBM Plex Sans,sans-serif;line-height:1.15}.hero-title{max-width:900px;font-size:clamp(1.9rem,3vw,3.1rem)}.hero-subtitle,.panel-copy{max-width:860px;color:var(--muted);margin:10px 0 0;line-height:1.6}.hero-copy{flex-direction:column;gap:10px;max-width:860px;display:flex}.product-brand{align-items:center;gap:18px;display:flex}.product-logo{object-fit:contain;flex-shrink:0;width:132px;height:auto}.hero-tagline{min-height:38px;color:var(--accent);background:#edf5ff;border:1px solid #d7e7fb;border-radius:999px;align-self:flex-start;align-items:center;padding:8px 14px;font-weight:700;display:inline-flex}.hero-badges{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.hero-chip,.machine-open-badge,.lock-banner{border-radius:999px;align-items:center;gap:10px;padding:10px 16px;font-weight:600;display:inline-flex}.hero-chip{border:1px solid var(--panel-border);color:var(--text);background:#f5f8fd}.hero-chip-primary{color:var(--accent);background:#edf5ff;border-color:#d7e7fb}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.metric-card{border-radius:var(--radius-lg);border:1px solid var(--panel-border);flex-direction:column;gap:12px;min-height:156px;padding:18px;display:flex}.metric-card.tone-neutral{background:#f8fbff}.metric-card.tone-success{background:var(--success-soft);border-color:#18794e1f}.metric-card.tone-warning{background:#fff9ef;border-color:#f2dfb7}.metric-card.tone-danger{background:#fff5f2;border-color:#f3d4ca}.metric-head{color:var(--muted);align-items:center;gap:10px;font-weight:600;display:flex}.metric-icon{border:1px solid var(--panel-border);background:#fff;border-radius:12px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.metric-value{font-family:IBM Plex Sans,sans-serif;font-size:2.2rem;line-height:1}.metric-helper{color:var(--muted);line-height:1.5}.summary-band{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--panel-border);grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:16px;margin-top:18px;padding:18px;display:grid}.summary-stat{flex-direction:column;gap:4px;display:flex}.summary-stat span{color:var(--muted);font-size:13px}.summary-stat strong{font-family:IBM Plex Sans,sans-serif;font-size:1.3rem}.progress-bar{background:#e9eef5;border-radius:999px;width:100%;height:12px;overflow:hidden}.progress-value{border-radius:inherit;height:100%}.progress-dark{background:linear-gradient(90deg,#0f4f9b,#0c64c5)}.progress-accent{background:linear-gradient(90deg,#0c64c5,#22aceb)}.workflow-panel,.execution-panel,.fleet-panel,.details-panel,.notes-panel{flex-direction:column;gap:20px;display:flex}.flow-stack{flex-direction:column;gap:12px;display:flex}.flow-step{border-radius:var(--radius-md);border:1px solid var(--panel-border);background:#fff;grid-template-columns:50px 1fr;gap:14px;padding:14px;display:grid}.flow-step.active{background:#f5faff;border-color:#cfe2fb}.flow-index{background:#edf5ff;border-radius:16px;justify-content:center;align-items:center;width:50px;height:50px;font-family:IBM Plex Sans,sans-serif;font-weight:700;display:flex}.flow-title{margin-bottom:4px;font-weight:700}.flow-text{color:var(--muted);line-height:1.45}.radar-box{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--panel-border);flex-direction:column;gap:14px;padding:18px;display:flex}.history-box{border-radius:var(--radius-lg);border:1px solid var(--panel-border);background:#fff;flex-direction:column;gap:14px;padding:18px;display:flex}.deviation-list,.history-list{flex-direction:column;gap:10px;display:flex}.history-page-panel{flex-direction:column;gap:20px;display:flex}.history-page-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.history-toolbar{flex-wrap:wrap;gap:12px;display:flex}.history-table{flex-direction:column;gap:12px;display:flex}.deviation-item{border-radius:var(--radius-md);background:#ffddd28c;border:1px solid #c2410c1f;padding:14px}.deviation-machine,.deviation-title{font-weight:700}.deviation-title{margin-top:6px}.deviation-note{color:var(--muted);margin-top:6px;line-height:1.45}.history-item{border-radius:var(--radius-md);border:1px solid var(--panel-border);background:#f8fbff;padding:14px}.history-row{border-radius:var(--radius-md);border:1px solid var(--panel-border);background:#fff;grid-template-columns:minmax(170px,.9fr) minmax(240px,1.3fr) minmax(180px,.85fr) minmax(280px,1.5fr) minmax(160px,.8fr);align-items:start;gap:16px;padding:16px 18px;display:grid}.history-col{flex-direction:column;gap:6px;display:flex}.history-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.history-machine{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.history-label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:700}.history-title{margin-top:8px;font-weight:700}.history-detail{color:var(--muted);margin-top:6px;line-height:1.5}.history-detail-strong{font-weight:600;line-height:1.45}.history-time{color:var(--muted);margin-top:8px;font-size:12px}.empty-state{border-radius:var(--radius-md);color:var(--success);background:#18794e14;padding:14px;font-weight:600}.machine-grid .empty-state{grid-column:1/-1}.filter-cluster{flex-wrap:wrap;gap:12px;display:flex}.search-field,select,.primary-button,.secondary-button,.success-button,.danger-button{border-radius:16px}.search-field{background:#fff;border:1px solid #093c7d1f;align-items:center;gap:10px;min-width:280px;height:48px;padding:0 14px;display:inline-flex}.search-field input{background:0 0;border:none;outline:none;width:100%}select{min-width:170px;height:48px;color:var(--text);background:#fff;border:1px solid #093c7d1f;padding:0 14px}.machine-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.machine-card{cursor:pointer;text-align:left;color:inherit;background:#fff;border:1px solid #093c7d1a;border-radius:24px;padding:18px;box-shadow:0 8px 24px #1126440d}.machine-card.selected{color:var(--text);background:#f1f7ff;border-color:#bcd8fb}.machine-name{margin-top:4px;font-size:1.08rem;font-weight:700}.machine-meta,.machine-stats,.machine-footer,.progress-caption,.tag-row,.button-row,.summary-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.machine-meta,.machine-footer{flex-wrap:wrap}.machine-meta,.machine-footer,.progress-caption,.scan-stamp,.summary-row span{color:var(--muted);font-size:13px}.machine-card.selected .machine-meta,.machine-card.selected .machine-footer,.machine-card.selected .progress-caption{color:var(--muted)}.machine-progress{flex-direction:column;gap:8px;margin:16px 0;display:flex}.machine-stats>div{background:#0c64c50f;border-radius:16px;flex-direction:column;flex:1;gap:3px;padding:12px 10px;display:flex}.machine-card.selected .machine-stats>div{background:#fff;border:1px solid #dce8f7}.machine-stats strong{font-family:IBM Plex Sans,sans-serif;font-size:1.1rem}.machine-stats span{color:var(--muted);font-size:12px}.machine-card.selected .machine-stats span{color:var(--muted)}.status-pill{white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:700;display:inline-flex}.status-success{background:var(--success-soft);color:var(--success)}.status-warning{background:var(--warning-soft);color:var(--warning)}.status-danger{background:var(--danger-soft);color:var(--danger)}.status-muted{color:var(--muted);background:#0c64c514}.status-info{background:var(--info-soft);color:var(--info)}.machine-card.selected .status-pill{color:var(--text);background:#fff;border:1px solid #dce8f7}.details-title{font-size:clamp(1.7rem,2.1vw,2.5rem)}.detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.detail-card,.signal-card,.next-action-card{border-radius:var(--radius-lg);border:1px solid var(--panel-border);background:#fff}.detail-card{flex-direction:column;gap:6px;padding:16px;display:flex}.detail-card span,.signal-card span,.next-action-card p,.observation-field span,.note-field span{color:var(--muted)}.signal-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.signal-card{gap:12px;padding:16px;display:flex}.signal-card strong{margin-top:6px;display:block}.qr-stack{align-items:stretch}.next-action-card{flex-direction:column;flex:1;justify-content:center;padding:18px;display:flex}.next-action-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.next-action-card p{margin:12px 0 0;line-height:1.6}.qr-badge{border-radius:var(--radius-lg);background:#fff;border:1px solid #093c7d1a;align-items:center;gap:14px;min-width:240px;padding:16px;display:flex}.qr-badge.compact{min-width:210px}.qr-matrix{background:#edf4fb;border-radius:18px;grid-template-columns:repeat(5,1fr);gap:4px;width:78px;height:78px;padding:8px;display:grid}.qr-cell{background:#0c64c51f;border-radius:3px}.qr-cell.filled{background:#103763}.qr-copy{flex-direction:column;gap:6px;display:flex}.qr-code{font-family:IBM Plex Sans,sans-serif;font-size:1.05rem}.primary-button,.secondary-button,.success-button,.danger-button{cursor:pointer;border:none;justify-content:center;align-items:center;gap:10px;padding:12px 16px;font-weight:700;transition:transform .18s,opacity .18s;display:inline-flex}.primary-button:hover,.secondary-button:hover,.success-button:hover,.danger-button:hover{transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled,.success-button:disabled,.danger-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.primary-button{color:#fff;background:linear-gradient(135deg,#0f4f9b,#0c64c5)}.secondary-button{color:var(--info);background:#edf6fb;border:1px solid #d5eaf3}.success-button{color:var(--success);background:#edf8f2;border:1px solid #d2eadb}.danger-button{color:var(--danger);background:#fff2ee;border:1px solid #f0d3c8}.machine-open-badge{color:var(--success);background:#18794e1f}.lock-banner{border:1px solid var(--panel-border);color:var(--text);background:#f4f8fe}.checklist-list{flex-direction:column;gap:16px;display:flex}.checklist-row{background:#fff;border:1px solid #093c7d14;border-radius:24px;flex-direction:column;gap:16px;padding:18px;display:flex}.checklist-row.attention{background:linear-gradient(#fff8f6f5,#ffe4dbb8);border-color:#c2410c29}.item-main{flex:1}.item-topline{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.item-frequency{background:#0c64c514;border-radius:999px;padding:6px 10px}.item-title{margin:10px 0 0;font-size:1.05rem;line-height:1.45}.item-controls{flex-direction:column;flex:1;gap:14px;display:flex}.tag-row{flex-wrap:wrap}.item-tag{background:#0c64c514;border-radius:999px;align-items:center;padding:7px 11px;font-size:12px;font-weight:700;display:inline-flex}.scan-stamp{font-size:12px}.button-row{flex-wrap:wrap;justify-content:flex-start}.note-field,.observation-field{flex-direction:column;gap:8px;display:flex}.note-field textarea,.observation-field textarea{resize:vertical;width:100%;min-height:96px;color:var(--text);background:#ffffffe0;border:1px solid #093c7d1f;border-radius:16px;outline:none;padding:14px 16px}.note-field textarea:focus,.observation-field textarea:focus,.search-field:focus-within,select:focus{border-color:#0c64c557;box-shadow:0 0 0 3px #0c64c51a}.notes-grid{align-items:stretch}.notes-column{flex-direction:column;gap:16px;min-width:280px;display:flex}.summary-list{flex-direction:column;gap:12px;display:flex}.summary-row{border-radius:var(--radius-md);border:1px solid var(--panel-border);background:#fff;padding:14px 16px}.summary-row strong{margin-left:auto}.observation-field{flex:1}@media (width<=1380px){.hero-grid,.content-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1080px){.metrics-grid,.machine-grid,.signal-strip{grid-template-columns:1fr 1fr}.summary-band{grid-template-columns:1fr}.item-body,.notes-grid,.qr-stack{flex-direction:column}.history-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.app-shell{padding:16px}.panel{border-radius:24px;padding:20px}.metrics-grid,.machine-grid,.detail-grid,.signal-strip{grid-template-columns:1fr}.hero-top,.fleet-top,.details-header,.execution-top,.panel-heading,.item-head,.platform-bar,.history-page-header{flex-direction:column}.platform-nav,.platform-actions{flex-wrap:wrap;width:100%}.product-brand{flex-direction:column;align-items:flex-start;gap:12px}.product-logo{width:112px}.hero-badges{align-items:stretch;width:100%}.filter-cluster,.search-field,.history-toolbar .search-field,.history-toolbar select,select{width:100%}.history-row{grid-template-columns:1fr}.qr-badge,.qr-badge.compact{min-width:100%}.button-row{flex-direction:column;align-items:stretch}.primary-button,.secondary-button,.success-button,.danger-button{width:100%}}
