body{background:var(--gray-50);min-height:100vh}.match-data summary,.players-collapsible summary,.positions-collapsible summary,.quarters-collapsible summary{cursor:pointer;list-style:none;font-weight:700;font-size:.9rem;color:var(--gray-800);padding:var(--spacing-sm) var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-xs)}.match-data summary::-webkit-details-marker,.players-collapsible summary::-webkit-details-marker,.positions-collapsible summary::-webkit-details-marker,.quarters-collapsible summary::-webkit-details-marker{display:none}.match-data summary:before,.players-collapsible summary:before,.positions-collapsible summary:before,.quarters-collapsible summary:before{content:"▾";font-size:.85rem;color:var(--gray-500);transition:transform .2s ease}.match-data:not([open]) summary:before,.players-collapsible:not([open]) summary:before,.positions-collapsible:not([open]) summary:before,.quarters-collapsible:not([open]) summary:before{transform:rotate(-90deg)}.match-data-content{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-md)}.players-collapsible>.players-panel{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-md)}.players-content{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-xl);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);width:100%}.team-selector,.team-selector.match-title{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.temp-player-card{margin-top:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.temp-player-form{display:grid;gap:var(--spacing-sm)}.temp-player-form label{font-size:.85rem;font-weight:600;color:var(--gray-700)}.panel-header{display:none}@media (max-width: 934px){.match-data summary,.players-collapsible summary,.positions-collapsible summary,.quarters-collapsible summary{font-size:1.05rem}.match-data{margin-bottom:0}.match-data-content{display:flex;flex-direction:column;gap:var(--spacing-sm);padding-bottom:0;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-sm)}.row-config{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:0}.row-config .team-selector.match-title{order:1}#teamSelectorSection{order:2}.match-type-field{order:3}#previewPlannerPdf{order:4;align-self:stretch}.row-positions{order:5;margin-top:0}.players-collapsible{margin-bottom:0}.row-main{display:flex;flex-direction:column;gap:0}.players-panel{width:100%;max-width:100%;position:static;height:auto;max-height:none;overflow:visible}.players-collapsible>.players-panel{padding-bottom:0}.players-list{flex-direction:column;flex-wrap:nowrap;overflow:visible;width:100%;gap:var(--spacing-sm);padding-bottom:0}.player-item{width:100%;min-width:0}.quarters-panel,.quarters-content{width:100%}.quarters-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-md)}.quarters-grid[data-columns="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.quarters-grid[data-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.quarter-card{min-height:72px}.quarter-header{text-align:center;font-size:1rem;padding:var(--spacing-sm)}.quarter-dropzone{display:none}}@media (min-width: 935px){.match-data{border:none;box-shadow:none;background:transparent;margin-bottom:0}.match-data summary{display:block;margin-bottom:var(--spacing-sm);padding:0;font-size:1.5rem;font-weight:700;line-height:1.2;color:var(--gray-900);cursor:default;pointer-events:none}.match-data summary:before,.positions-collapsible summary:before{display:none}.match-data-content{padding:0}.players-collapsible{display:contents;border:none;box-shadow:none;background:transparent;margin-bottom:0}.players-collapsible summary{display:none}.quarters-collapsible{display:contents;border:none;box-shadow:none;background:transparent;margin-bottom:0}.quarters-collapsible summary{display:none}.panel-header{display:flex;align-items:center;justify-content:space-between}.players-collapsible>.players-panel{padding:0}.positions-collapsible summary{display:block;margin-bottom:var(--spacing-sm);padding:0;font-size:1.5rem;font-weight:700;line-height:1.2;color:var(--gray-900);cursor:default;pointer-events:none}.positions-collapsible>*:not(summary){display:block}.planner-main{--planner-toolbar-height: 56px}.planner-main .container{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto 1fr;gap:var(--spacing-sm);align-items:start;overflow:visible}#errorMsg,#guestNotice,.row-config,.row-positions,.row-main{grid-column:1 / -1}.row-config{display:grid;grid-template-columns:minmax(260px,1fr) minmax(200px,320px) minmax(180px,240px) minmax(160px,200px);gap:var(--spacing-md);align-items:center;padding:6px var(--spacing-sm);background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);max-height:64px;width:100%}.row-config>*{min-width:0}.row-positions{display:block;margin-top:0}.row-main{display:grid;grid-template-columns:25% minmax(0,1fr);gap:var(--spacing-lg);align-items:start;overflow:visible;width:100%;min-height:calc(100vh - 64px)}.row-main>.players-panel{width:100%;max-width:none;align-self:start}.row-main>.quarters-panel{min-width:0}.planner-layout{display:grid;grid-template-columns:25% minmax(0,1fr);gap:var(--spacing-lg);align-items:start;width:100%;overflow:visible}.team-selector,.team-selector.match-title,.match-type-field,#previewPlannerPdf{margin-bottom:0;width:100%}.team-selector label,.team-selector.match-title label,.config-field label{font-size:.72rem;font-weight:700;letter-spacing:.02em;margin-bottom:0;text-transform:uppercase;color:var(--gray-600)}.team-selector select,.team-selector.match-title input,#matchType,#previewPlannerPdf{min-height:28px;font-size:.85rem;width:100%}.team-selector select,.team-selector.match-title input,#matchType{padding:2px 8px}#previewPlannerPdf{padding:2px 10px;font-size:.84rem;height:28px;align-self:end}.players-panel{width:100%;max-width:none;position:sticky;top:64px;height:calc(100vh - 80px);z-index:2;align-self:start;background:transparent;border:none;padding:0;box-shadow:none;overflow:hidden;display:flex;flex-direction:column}.players-content{flex:1 1 auto;min-height:0;overflow-y:auto}.players-panel,.quarters-panel{min-width:0}.quarters-content{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-xl);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);min-width:0}.positions-panel{padding:6px var(--spacing-sm);margin-bottom:var(--spacing-sm);border-radius:var(--radius-md)}.positions-panel h4{font-size:.9rem;margin-bottom:6px}.positions-grid{grid-auto-flow:column;grid-auto-columns:minmax(140px,1fr);gap:var(--spacing-xs);overflow-x:auto}.position-input label{font-size:.7rem}.position-input input{padding:4px 6px}.quarters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:var(--spacing-md);padding-bottom:0}.quarters-grid[data-columns="4"]{grid-template-columns:repeat(4,1fr)}.quarters-grid[data-columns="3"]{grid-template-columns:repeat(3,1fr)}.quarter-card{min-height:300px}.quarter-header{padding:6px var(--spacing-sm)}.quarter-dropzone{padding:6px;gap:6px}.quarter-slot{min-height:60px}.quarter-slot-header{font-size:.7rem;padding:4px 6px}.quarter-player{padding:4px 6px;font-size:.82rem}}.positions-panel{border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--spacing-md);background:#fff;box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-lg)}.positions-panel h4{margin:0 0 var(--spacing-sm);font-size:1rem}.quarters-panel .positions-panel{display:none}.positions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--spacing-sm)}.position-input{display:flex;flex-direction:column;gap:4px}.position-input label{font-size:.75rem;color:var(--gray-600)}.position-input input{padding:6px 8px;border:1px solid var(--gray-300);border-radius:var(--radius-md);background:#fff}.quarters-control select{min-width:140px;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--gray-300);border-radius:var(--radius-md);background:#fff}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background:#00000080;backdrop-filter:blur(4px);align-items:center;justify-content:center}.modal.show{display:flex}.modal-content{background:#fff;border-radius:var(--radius-xl);width:90%;max-width:520px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column}.modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;font-size:1.25rem;font-weight:700;color:var(--gray-900)}.close-modal{background:none;border:none;font-size:1.5rem;color:var(--gray-500);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-modal:hover{background:var(--gray-100);color:var(--gray-900)}.modal-body{padding:var(--spacing-lg);max-height:calc(80vh - 140px);overflow-y:auto}.modal-footer{padding:var(--spacing-lg);border-top:1px solid var(--gray-200);display:flex;flex-direction:row;justify-content:flex-end;gap:var(--spacing-sm);flex-wrap:nowrap}.modal-footer .secondary-btn,.modal-footer .primary-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;line-height:1.25rem;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);min-width:100px;flex-shrink:0}.modal-footer .primary-btn{background:var(--primary-600);color:#fff}.modal-footer .primary-btn:hover:not(:disabled){background:var(--primary-700);transform:translateY(-1px);box-shadow:var(--shadow-md)}.modal-footer .primary-btn:active:not(:disabled){background:var(--primary-800);transform:translateY(0)}.modal-footer .secondary-btn{background:#e07a7a;color:#fff}.modal-footer .secondary-btn:hover:not(:disabled){background:#d86c6c;transform:translateY(-1px);box-shadow:var(--shadow-md)}.modal-footer .secondary-btn:active:not(:disabled){background:#cf6060;transform:translateY(0)}.modal-footer .primary-btn:disabled,.modal-footer .secondary-btn:disabled{opacity:.5;cursor:not-allowed}.pdf-preview-content{width:min(90vw,960px);max-width:960px;height:min(85vh,720px)}.pdf-preview-body{flex:1 1 auto;padding:0}.pdf-preview-body iframe{border:0;width:100%;height:100%;display:block}@media (max-width: 934px){.modal-content{width:95%;margin:var(--spacing-md)}.modal-footer{flex-direction:column}.modal-footer .secondary-btn,.modal-footer .primary-btn{width:100%}.pdf-preview-content{height:min(85vh,640px)}}.quarter-card{border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden;background:var(--gray-50);display:flex;flex-direction:column}.quarter-header{padding:var(--spacing-sm) var(--spacing-md);background:var(--primary-50);font-weight:600;color:var(--gray-900);border-bottom:1px solid var(--gray-200)}.quarter-dropzone{min-height:220px;display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm);background:#fff}.quarter-placeholder{padding:var(--spacing-sm);color:var(--gray-500);text-align:center}.quarter-slot{display:flex;flex-direction:column;border:1px dashed var(--gray-200);border-radius:var(--radius-md);background:var(--gray-50);min-height:88px;overflow:hidden}.quarter-slot.drag-over{outline:2px dashed var(--primary-400);outline-offset:-4px;background:var(--primary-25)}.quarter-slot-header{padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem;font-weight:600;color:var(--gray-600);background:#fff;border-bottom:1px solid var(--gray-200);min-height:0;display:flex;align-items:center}.quarter-slot-body{display:flex;flex-direction:column;gap:0;flex:1 1 auto;background:#fff}.quarter-slot.slot-multi .quarter-slot-body{flex-direction:row;gap:0}.quarter-player{display:flex;align-items:center;justify-content:flex-start;gap:var(--spacing-xs);text-align:center;padding:var(--spacing-sm);border-bottom:1px solid var(--gray-200);font-weight:600;color:var(--gray-900);background:var(--primary-25);flex:1 1 0}.quarter-player:last-child{border-bottom:none}.quarter-player .player-number{margin-right:var(--spacing-xs)}.quarter-slot.slot-multi .quarter-player{justify-content:center;border-bottom:none;border-right:1px solid var(--gray-200)}.quarter-slot.slot-multi .quarter-player:last-child{border-right:none}.quarter-slot.slot-multi .quarter-player .player-name{display:none}.quarter-slot.slot-stacked .quarter-slot-body{flex-direction:row;flex-wrap:wrap;gap:var(--spacing-xs);padding:var(--spacing-xs)}.quarter-slot.slot-stacked .quarter-player{border-bottom:none;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:4px 6px;flex:0 0 auto;font-size:.75rem;background:var(--primary-50)}.quarter-slot.slot-stacked .quarter-player .player-name{display:none}
