:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{box-sizing:border-box}body{margin:0;background:#f5f5f5;color:#222;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}#root{min-height:100vh}.app{width:100%;max-width:none;margin:0;padding:10px;background:#fff}.title{margin:0 0 16px;font-size:2rem;font-weight:700}.map-wrapper{overflow-x:auto;overflow-y:hidden;background:#e5e5e5;padding:20px;border-radius:10px}.slot-grid{display:grid;grid-auto-rows:70px;min-width:max-content;gap:6px;padding:10px;background:#fff}.grid-cell{min-width:70px;height:70px}.slot-cell{background:#fff;border:1px solid #d0d0d0;border-radius:10px;box-shadow:0 1px 3px #00000026;min-height:60px;font-size:12px;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:all .15s}.slot-cell:hover{transform:translateY(-2px);box-shadow:0 3px 8px #00000040}.machine-no{font-size:1rem;font-weight:700;color:#222;line-height:1.1}.machine-name{font-size:.72rem;line-height:1.15;color:#222;word-break:break-word;opacity:.9}.empty-cell{background:#efefef;border-radius:6px}.setting-4{background:#7eb8ff!important;color:#000}.setting-5{background:#fff07c!important;color:#000}.setting-6{background:#ff6c66!important;color:#000}.setting-legend{display:flex;gap:10px;margin-bottom:8px;font-size:14px;align-items:center}.legend-box{width:20px;height:20px;border-radius:4px;border:1px solid #888}.analysis{padding:20px}.analysis-table{width:100%;border-collapse:collapse;margin-bottom:40px}.analysis-table th,.analysis-table td{border:1px solid #1d1d1d;padding:6px;text-align:center}.view-tabs{display:flex;border-bottom:2px solid #b6b6b6;margin-bottom:15px}.view-tabs button{border:none;background:#a9e5fd;padding:10px 18px;margin-right:4px;border-radius:6px 6px 0 0;font-weight:600;cursor:pointer}.view-tabs button:hover{background:#dddddd81}.view-tabs button.active{background:#1ff578;border-bottom:2px solid white}.analysis-tabs{margin-bottom:20px}.analysis-tabs button{margin-right:10px;padding:6px 12px;background:#222;color:#fff;border:1px solid #444;cursor:pointer}.analysis-tabs button:hover{background:#333}.analysis-table th{cursor:pointer}.analysis-table th:hover{background:#333}.filter-bar{margin-bottom:10px}.filter-bar select{padding:4px;background:#222;color:#fff;border:1px solid #555}.date-filter{display:flex;gap:10px;align-items:center;margin-bottom:20px}.date-label{font-weight:600;margin-right:10px}.date-filter label{display:flex;align-items:center;gap:4px;font-size:14px}.date-filter input{padding:4px 6px;font-size:14px;border:1px solid #bbb;border-radius:4px}.date-sep{font-weight:600}.date-bar input[type=date]{font-size:16px;padding:6px 10px;border-radius:6px;border:1px solid #bbb}.date-bar{display:flex;gap:10px;align-items:center;margin-bottom:10px}.history-list{padding:10px}.history-map-bar{display:flex;gap:6px;overflow-x:auto}.history-button{background:#333;color:#fff;border:none;padding:5px 10px;border-radius:6px;cursor:pointer}.history-button:hover{background:#555}.history-button.active{background:#f8ad3c}.history-row{display:flex;justify-content:space-between;align-items:center;padding:10px;border-bottom:1px solid #333}.data-tools{display:flex;gap:10px;margin:10px 0}.data-tools button{background:#444;color:#fff;border:none;padding:6px 10px;border-radius:6px;cursor:pointer}.data-tools button:hover{background:#666}.mode-button{background:#222;color:#fff;border-radius:8px;padding:10px 16px;font-size:18px;border:none}.mode-button.active{background:#2196f3}@media(max-width:1200px){.app{padding:12px}.title{font-size:2rem}.grid-cell{min-height:48px}.machine-no{font-size:.78rem}.machine-name{font-size:.58rem}.mode-bar{display:flex;gap:10px;margin-bottom:10px}.mode-bar button{font-size:18px;font-weight:700;padding:8px 14px;border-radius:6px;border:1px solid #888;cursor:pointer}}
