.control-board.timeline-board{display:block;width:100%;min-width:0;box-sizing:border-box;border:1px solid var(--border,#dce5e8);border-radius:12px;background:#fff;color:var(--text,#122029);overflow:hidden;font-size:13px}.control-board *{box-sizing:border-box}.cb-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px}.cb-head h3{margin:0;font-size:17px;color:#124b47}.cb-head p{margin:5px 0 0;color:#607078;font-size:12px}.control-board button,.control-board input,.control-board select{font:inherit}.control-board button{cursor:pointer}.control-board button:disabled{cursor:default;opacity:.55}.cb-head button,.cb-form-actions button,.cb-list-case>button:last-child{min-height:44px;border:1px solid #bdd3ce;border-radius:7px;background:#f5faf8;color:#18594f;padding:8px 12px}.control-board button:focus-visible,.control-board input:focus-visible,.control-board select:focus-visible,.cb-scroll:focus-visible{outline:2px solid #0f766e;outline-offset:2px}.cb-legend{display:flex;flex-wrap:wrap;gap:8px 15px;padding:0 16px 12px;color:#607078;font-size:11px;line-height:1.5}.cb-key{display:inline-flex;align-items:center;gap:5px}.cb-key:before{content:"";width:12px;height:8px;border-radius:2px;background:#d5e9e5}.cb-key.actual:before{background:#0f766e}.cb-key.warning:before{background:#e4b746}.cb-key.late:before{background:#c85b5b}.cb-message:empty{display:none}.cb-message{padding:10px 16px;background:#eef7f3;color:#245941;overflow-wrap:anywhere}.cb-scroll{width:100%;max-width:100%;overflow:auto;border-top:1px solid #dce5e8;overscroll-behavior-x:contain;touch-action:pan-x pan-y}.cb-grid{width:calc(var(--cb-axis-width) + 184px);min-width:100%}.cb-ruler,.cb-row{display:grid;grid-template-columns:184px var(--cb-axis-width)}.cb-ruler{position:sticky;top:0;z-index:5;background:#f5f8f7;border-bottom:1px solid #dce5e8;height:40px}.cb-room-label{position:sticky;left:0;z-index:3;background:#fff;border-right:1px solid #dce5e8;padding:12px;display:flex;flex-direction:column;justify-content:center;gap:5px;white-space:normal;overflow-wrap:anywhere}.cb-ruler .cb-room-label{z-index:6;background:#f5f8f7;font-size:11px;color:#607078}.cb-axis{position:relative;margin-right:1px}.cb-axis>span{position:absolute;top:12px;transform:translate(-50%);font-size:11px;color:#526d66;white-space:nowrap}.cb-axis>span:first-child{transform:none}.cb-axis>span:last-child{transform:translate(-100%)}.cb-row{border-bottom:1px solid #e5edeb}.cb-row:last-child{border-bottom:0}.cb-room-label b{font-size:14px;color:#164f48}.cb-room-label small{font-size:11px;line-height:1.5;color:#607078}.cb-room-state{display:flex;align-items:center;gap:5px;font-size:11px;color:#607078}.cb-room-state:before{content:"";width:6px;height:6px;border-radius:50%;background:#a9bcb5;flex:0 0 auto}.cb-room-state.operating:before{background:#0f766e}.cb-track{position:relative;min-height:84px;background:repeating-linear-gradient(to right,transparent 0,transparent calc(100% / 12 - 1px),#edf2f0 calc(100% / 12 - 1px),#edf2f0 calc(100% / 12))}.cb-empty{position:absolute;left:12px;top:31px;color:#80918a;font-size:11px}.cb-plan-wrap{position:absolute;z-index:2;height:32px;min-width:14px;display:flex;border-radius:6px;background:#e1efeb;border:1px solid #a9cdc2}.control-board .timeline-bar{position:absolute;display:block;border:0;border-radius:5px;text-align:left;overflow:hidden;margin:0;padding:3px 6px;white-space:nowrap;min-width:3px}.control-board .cb-plan{position:relative;flex:1;min-width:0;height:100%;background:transparent;color:#245b4f}.cb-plan span,.cb-plan small{display:block;overflow:hidden;text-overflow:clip;font-size:11px;line-height:1.1}.cb-plan small{font-size:9px;margin-top:2px}.cb-drag-handle{touch-action:none;flex:0 0 24px;min-width:24px;border:0;border-left:1px solid #b8d6cd;border-radius:0 5px 5px 0;background:#d3e7df;color:#18594f;font-size:19px!important;padding:0}.cb-plan-wrap.tone-warning{background:#fff2cd;border-color:#dcb454}.cb-plan-wrap.tone-late{background:#ffe4e3;border-color:#ce7a78}.control-board .cb-actual{z-index:2;height:24px;color:#fff;background:#0f766e;font-size:10px}.control-board .cb-actual.phase-prepare{background:#4b9487}.control-board .cb-actual.phase-emergence{background:#235e57}.cb-actual.running{box-shadow:0 0 0 2px #0f766e33;animation:cb-breathe 2s ease-in-out infinite}.cb-turnover{position:absolute;top:45px;height:20px;z-index:1;background:repeating-linear-gradient(135deg,#e6ebe9 0 4px,#fafcfb 4px 8px);border:1px solid #d2ddd7;color:#65776d;font-size:9px;text-align:center;overflow:hidden}.cb-now{position:absolute;top:0;bottom:0;z-index:4;pointer-events:none;border-left:2px solid #b65044}.cb-now>span{position:absolute;top:0;left:3px;font-size:9px;background:#fff5ef;color:#a94339;padding:1px 3px}.cb-drop-target{outline:2px dashed #0f766e;outline-offset:-3px;background-color:#e8f6ee}.cb-dragging{cursor:grabbing}.cb-unplanned{padding:12px 16px;border-top:1px solid #dce5e8}.cb-unplanned summary{font-weight:600;color:#49675c;min-height:32px;cursor:pointer}.cb-list{padding:0 16px 12px}.cb-list section+section{border-top:1px solid #e0e8e4}.cb-list h4{margin:14px 0 8px;color:#164f48}.cb-list-case{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:6px}.cb-list-case>button:first-child{flex:1;min-width:0;border:0;text-align:left;background:#f5f8f7;border-radius:6px;padding:9px;color:#234f43;white-space:normal;overflow-wrap:anywhere;min-height:44px}.cb-list-case small{display:block;font-size:11px;color:#607078;line-height:1.4;margin-top:4px}.cb-list-case>button:last-child{flex:0 0 auto}.cb-move-form{border-top:2px solid #b8d3c9;padding:16px;background:#f7fbf9}.cb-move-form h3{margin:0;font-size:15px;color:#174f45}.cb-move-form p{font-size:12px;line-height:1.6;margin:10px 0;overflow-wrap:anywhere}.cb-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cb-fields label{display:grid;gap:6px;font-size:12px;font-weight:600;color:#375d4f}.cb-fields input,.cb-fields select{display:block;width:100%;min-width:0;height:44px;padding:8px;border:1px solid #b8ccc2;border-radius:6px;background:#fff;color:#234f43}.cb-preview,.cb-comparison{padding:9px;background:#eaf3ed;border-radius:6px;color:#365e4c}.cb-error{color:#993f3f!important}.cb-review{display:flex;gap:8px;align-items:center;min-height:44px;font-size:12px;line-height:1.5}.cb-review input{width:18px;height:18px;accent-color:#0f766e;flex:0 0 auto}.cb-form-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.cb-form-actions [data-cb-save]{background:#0f766e;color:#fff;border-color:#0f766e}.control-board.compact .cb-head{padding:10px 12px}.control-board.compact .cb-head h3{font-size:14px}.control-board.compact .cb-legend{padding:0 12px 8px;font-size:10px}.control-board.compact .cb-row,.control-board.compact .cb-ruler{grid-template-columns:160px var(--cb-axis-width)}.control-board.compact .cb-grid{width:calc(var(--cb-axis-width) + 160px)}@keyframes cb-breathe{50%{box-shadow:0 0 0 3px #0f766e19}}@media(max-width:600px){.cb-head{padding:12px;align-items:flex-start}.cb-head h3{font-size:15px}.cb-head p{font-size:11px}.cb-head button{padding:8px}.cb-legend{padding:0 12px 10px;gap:6px 10px}.cb-room-label{padding:9px}.cb-row,.cb-ruler{grid-template-columns:142px var(--cb-axis-width)}.cb-grid{width:calc(var(--cb-axis-width) + 142px)}.cb-room-label b{font-size:13px}.cb-fields{grid-template-columns:1fr}.cb-move-form{padding:12px}.cb-form-actions{display:grid;grid-template-columns:1fr}.cb-unplanned,.cb-list{padding-left:12px;padding-right:12px}.cb-list-case{align-items:stretch}.cb-list-case>button:last-child{max-width:120px;white-space:normal}.cb-drag-handle{flex-basis:32px;min-width:32px;min-height:44px;align-self:center;background:#d3e7df;border:1px solid #b8d6cd}.cb-plan-wrap{height:36px}.control-board .cb-plan{min-height:36px}.control-board.compact .cb-row,.control-board.compact .cb-ruler{grid-template-columns:142px var(--cb-axis-width)}.control-board.compact .cb-grid{width:calc(var(--cb-axis-width) + 142px)}}@media(prefers-reduced-motion:reduce){.cb-actual.running{animation:none}}.cb-publication-hint{margin:0;padding:10px 16px;border-top:1px solid #e4ddc8;background:#fffaf0;color:#7d6027;font-size:12px}.cb-message button{margin-left:10px;min-height:44px;border:1px solid #b8ccc2;border-radius:6px;background:#fff;color:#245941;padding:8px}.cb-now>span{white-space:nowrap}
