.planning-hero,.control-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:27px 30px;margin-bottom:16px;border-radius:18px;border:1px solid #dbe9df;background:radial-gradient(circle at 92% 0,#dceee2 0,transparent 32%),linear-gradient(125deg,#f7fbf8,#edf6ef 60%,#f8faf5);box-shadow:0 8px 30px #1649320b}
.planning-eyebrow{display:block;color:#4c8b68;font-size:10px;font-weight:750;letter-spacing:2.1px;margin-bottom:8px}
.planning-hero h2,.control-hero h2{font-size:23px;color:#194935;letter-spacing:.3px;font-weight:720}
.planning-hero p,.control-hero p{max-width:650px;color:#668276;font-size:12px;line-height:1.8;margin-top:7px}
.planning-metrics,.control-summary{display:flex;align-items:center;gap:8px;flex-shrink:0}
.planning-metrics span,.control-summary span{display:flex;flex-direction:column;gap:1px;min-width:65px;padding:9px 12px;border:1px solid #dce9df;border-radius:10px;background:#ffffffb8;color:#688273;font-size:10px;text-align:center;white-space:nowrap}
.planning-metrics strong,.control-summary strong{font-size:22px;line-height:1.2;color:#1d5b41;font-variant-numeric:tabular-nums}
.control-summary .waiting strong{color:#ae731d}.control-summary .live strong{color:#08785b}.control-summary .done strong{color:#657b8c}
.planning-toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:15px;flex-wrap:wrap;padding:13px 17px;border:1px solid #e2ebe4;border-radius:12px;background:#fff}
.planning-toolbar-left,.planning-toolbar-right,.control-legend{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.planning-clear-button{border-color:#ead4ce;color:#9c4e43;background:#fffaf8}.planning-clear-button:not(:disabled):hover{border-color:#dca89c;background:#fff1ed;color:#823e35}
.planning-date{display:grid;gap:4px;color:#718678;font-size:10px;font-weight:600;letter-spacing:.2px}
.planning-date input{height:36px;padding:0 9px;border:1px solid #dbe7df;border-radius:7px;background:#fff;color:#265a42;font-size:12px;min-width:125px}
.planning-date input:focus-visible{outline:2px solid #83bc98;outline-offset:1px}
.planning-layout{display:grid;gap:15px;align-items:start;transition:grid-template-columns .22s ease}.planning-layout.has-queue{grid-template-columns:minmax(540px,3fr) minmax(390px,2fr)}.planning-layout.queue-empty{grid-template-columns:minmax(0,1fr) 58px}
.planning-board,.planning-queue{background:#fff;border:1px solid #e1eae3;border-radius:14px;box-shadow:0 4px 18px #163f2907;min-width:0;overflow:hidden}
.planning-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid #e8f0e9}
.planning-panel-head h3{font-size:14px;color:#244c38;font-weight:720}.planning-panel-head p{font-size:10px;line-height:1.55;color:#91a399;margin-top:3px}.planning-panel-head b{font-size:15px;color:#2a6e51;background:#e8f4ec;padding:4px 9px;border-radius:7px}
.planning-hint{font-size:10px;color:#427b59;background:#edf6ef;border:1px solid #dcecdc;padding:5px 8px;border-radius:6px;white-space:nowrap}
.planning-scroll{overflow-y:auto;overflow-x:hidden;max-height:min(66vh,760px);scrollbar-color:#adc8b4 #f4f8f5}
.planning-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;max-width:100%}
.planning-table col.planning-time-col{width:76px}.planning-table col.planning-court-col{width:calc((100% - 76px)/var(--court-count))}
.planning-table th,.planning-table td{border-right:1px solid #e5eee7;border-bottom:1px solid #e5eee7}
.planning-table thead th{position:sticky;top:0;z-index:2;height:47px;padding:6px 8px;text-align:left;background:#185b40;color:#fff;font-size:11px;font-weight:620;white-space:nowrap}
.planning-table thead th:first-child{left:0;z-index:4;width:76px;background:#124b34;text-align:center}
.planning-court-num{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:6px;background:#ffffff23;margin-right:4px;font-variant-numeric:tabular-nums}
.planning-table tbody th{position:sticky;left:0;z-index:1;background:#f4f9f5;width:76px;text-align:center;vertical-align:top;padding:15px 4px;color:#315f47}
.planning-table tr.batch-drop-target>th,.planning-table tr.batch-drop-target>td{background:#e4f6e8!important;box-shadow:inset 0 0 0 2px #62aa7b}
.planning-time strong{display:block;font-size:13px;font-variant-numeric:tabular-nums}.planning-time small{display:block;font-size:9px;color:#91a69a;margin-top:2px}
.planning-table td{height:64px;padding:4px;vertical-align:top;background:#fff;transition:background .15s,box-shadow .15s}
.planning-table tbody tr:nth-child(even) td.empty-cell{background:#fafcfb}
.planning-table td[data-drop-time]{cursor:copy}.planning-table td.drop-target{background:#e1f5e7!important;box-shadow:inset 0 0 0 2px #2e9760}
.planning-empty{display:grid;place-items:center;min-height:54px;color:#bfd2c5;font-size:9px;border:1px dashed transparent;border-radius:6px}.planning-table td[data-drop-time]:hover .planning-empty{border-color:#9bc7a8;color:#5a9370;background:#f2fbf4}
.planning-card{position:relative;display:flex;flex-direction:column;justify-content:center;gap:4px;width:100%;min-height:54px;padding:6px 5px;border:1px solid #d7e7db;border-left:3px solid #7eb68e;border-radius:6px;text-align:left;background:#f3faf5;color:#274d38;white-space:normal;line-height:1.25;user-select:none;transition:box-shadow .14s,border-color .14s}
.planning-match-number{font-size:11px;font-weight:750;font-variant-numeric:tabular-nums;color:#285a40;letter-spacing:.2px}.planning-match-code{font-size:10px;font-weight:650;line-height:1.25;overflow-wrap:anywhere}.planning-card.waiting .planning-match-code{color:#aa7018}.planning-card.live .planning-match-code{color:#078462}.planning-card.done .planning-match-code{color:#60788b}.planning-card>.planning-status{position:absolute;top:8px;right:6px;width:5px;height:5px;border-radius:50%;background:currentColor}
.planning-table thead th{padding:5px 3px;text-align:center;white-space:normal;font-size:10px;line-height:1.25}.planning-court-num{width:21px;height:21px;margin-right:2px}.planning-table tbody th{padding-top:10px}.planning-time strong{font-size:12px}
.planning-card:hover{box-shadow:0 3px 9px #174a2b22;border-color:#91bda0}.planning-card[draggable="true"]{cursor:grab}.planning-card[draggable="true"]:active{cursor:grabbing}
.planning-card.is-draft{background:#fffaf0;border-color:#f0dfbc;border-left-color:#cf9c41}.planning-card.live{background:#e8f8f2;border-color:#c6e6d7;border-left-color:#0d9774}.planning-card.done{background:#f3f6f8;border-color:#dde5e9;border-left-color:#8fa3ae}
.planning-card.batch-selected{box-shadow:0 0 0 2px #4aaf73;border-color:#4aaf73;background:#eaf7ee}
.planning-card-top,.planning-card-foot{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:10px;color:#7a9483;min-width:0}.planning-card-top strong{font-size:11px;color:#1e5d3e;font-variant-numeric:tabular-nums}.planning-card-top span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.planning-pair{display:flex;align-items:center;gap:3px;flex-wrap:wrap;min-width:0;font-size:11px;font-weight:650;color:#294e3b;overflow-wrap:anywhere}.planning-vs{font-size:9px;font-weight:500;color:#a4b8a9}.planning-card-foot span:last-child{color:#789386;font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap}
.planning-status{font-weight:750!important;letter-spacing:.2px}.planning-status.waiting,.control-legend .waiting{color:#aa7018!important}.planning-status.live,.control-legend .live{color:#078462!important}.planning-status.done,.control-legend .done{color:#60788b!important}
.planning-queue{position:sticky;top:16px}.planning-queue.drop-target{box-shadow:inset 0 0 0 2px #2e9760,0 4px 18px #163f2907}.planning-queue.is-empty{min-height:180px;background:linear-gradient(180deg,#f9fcfa,#f2f8f4)}
.planning-queue-table-scroll{max-height:min(66vh,760px);overflow:auto;scrollbar-color:#adc8b4 #f4f8f5}.planning-queue-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.planning-queue-table th,.planning-queue-table td{border-right:1px solid #e5eee7;border-bottom:1px solid #e5eee7;padding:6px;vertical-align:top}.planning-queue-table th{position:sticky;left:0;z-index:2;width:118px;min-width:118px;background:#f0f7f2;padding:0}.planning-queue-table td{width:158px;min-width:158px;background:#fff}.planning-queue-table td.selected{background:#e6f5ea;box-shadow:inset 0 0 0 1px #6eb487}.planning-queue-table .planning-card{min-height:89px}.planning-round-label{display:flex;min-height:101px;padding:11px 10px;flex-direction:column;justify-content:center;color:#2c6046;white-space:normal}.planning-round-label strong{font-size:11px;line-height:1.5}.planning-round-label small{margin-top:4px;color:#8da396;font-size:9px}
.planning-selection-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:9px 11px;border-bottom:1px solid #dcebe0;background:#f1f8f3}.planning-batch-drag{min-width:0;padding:8px 9px;border:1px dashed #4baa70;border-radius:7px;background:#e2f4e7;color:#216b43;text-align:left;font-size:10px;font-weight:700;cursor:grab}.planning-selection-bar>button:not(.planning-batch-drag){padding:6px 8px;border-radius:6px;background:#fff;color:#668071;font-size:10px}.planning-selection-bar small{grid-column:1/-1;color:#779184;font-size:9px;line-height:1.45}.planning-queue-tip{padding:10px 13px;border-top:1px solid #edf1ed;color:#82978c;font-size:9px;line-height:1.55}.planning-queue-collapsed{display:flex;min-height:180px;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#789184}.planning-queue-collapsed b{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:#e4f2e8;color:#216b45}.planning-queue-collapsed span{font-size:10px;writing-mode:vertical-rl;letter-spacing:2px}
.planning-selection-bar[hidden]{display:none}.planning-queue-table td{width:104px;min-width:104px;padding:4px}.planning-queue-table th{width:104px;min-width:104px}.planning-queue-table .planning-card{min-height:54px}.planning-round-label{min-height:63px;padding:7px 9px}.planning-round-label small{margin-top:2px}.planning-scroll,.planning-queue-table-scroll{overflow-anchor:none;overscroll-behavior:contain}
.planning-queue-table .planning-stage-spacer td{height:12px;min-width:0;padding:0;border:0;background:#f6f9f7}.planning-queue-table .planning-stage-spacer:first-of-type td{border-top:1px solid #e4ece7}
.planning-legacy{margin-top:18px}.planning-legacy>summary{cursor:pointer;color:#4d785a;font-size:12px;padding:10px 3px}.planning-legacy>.card{margin-top:10px}
.control-hero{background:radial-gradient(circle at 90% 0,#d5eee5 0,transparent 34%),linear-gradient(125deg,#f5fbf9,#edf8f1 55%,#f7fbf6)}.control-toolbar{align-items:center}.control-legend{align-items:center;gap:16px;font-size:11px;font-weight:700}.control-board .planning-scroll{max-height:min(70vh,820px)}.control-board .planning-card{cursor:pointer}
.control-empty{display:grid;place-items:center;gap:10px;padding:64px 20px;border:1px dashed #c9dccf;background:#fff;border-radius:14px;text-align:center}.control-empty strong{color:#2d6847;font-size:17px}.control-empty p{color:#8da397;font-size:12px;line-height:1.7}
@media(max-width:1400px){.planning-layout.has-queue{grid-template-columns:minmax(500px,3fr) minmax(350px,2fr)}}
@media(max-width:1080px){.planning-hero,.control-hero{align-items:flex-start;flex-direction:column}.planning-layout.has-queue,.planning-layout.queue-empty{grid-template-columns:1fr}.planning-queue{position:static}.planning-queue-table-scroll{max-height:320px}.planning-queue-collapsed{min-height:54px;flex-direction:row}.planning-queue-collapsed span{writing-mode:horizontal-tb}.planning-metrics,.control-summary{width:100%;justify-content:flex-start}.planning-toolbar{align-items:flex-start}}
@media(max-width:650px){.planning-hero,.control-hero{padding:21px}.planning-hero h2,.control-hero h2{font-size:19px}.planning-metrics,.control-summary{display:grid;grid-template-columns:repeat(2,1fr);width:100%}.planning-metrics span,.control-summary span{min-width:0}.planning-toolbar-left,.planning-toolbar-right{width:100%}.planning-toolbar-right .btn{flex:1}.planning-panel-head{padding:13px}.planning-queue-table-scroll{max-height:340px}}
