body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0a0a0b;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--color-primary:#3b82f6;--color-primary-hover:#2563eb;--color-primary-light:#3b82f626;--color-secondary:#52525b;--color-secondary-hover:#3f3f46;--color-success:#22c55e;--color-success-hover:#16a34a;--color-success-light:#22c55e26;--color-success-border:#22c55e4d;--color-success-text:#4ade80;--color-success-pastel:#bbf7d0;--color-success-pastel-hover:#86efac;--color-success-pastel-border:#4ade80;--color-success-pastel-text:#166534;--color-danger:#ef4444;--color-danger-hover:#dc2626;--color-danger-light:#ef444426;--color-danger-border:#ef44444d;--color-danger-text:#f87171;--color-danger-pastel:#fecaca;--color-danger-pastel-hover:#fca5a5;--color-danger-pastel-border:#f87171;--color-danger-pastel-text:#991b1b;--color-warning:#eab308;--color-warning-hover:#ca8a04;--color-warning-light:#eab30826;--color-warning-border:#eab3084d;--color-warning-text:#facc15;--color-warning-pastel:#fef08a;--color-warning-pastel-hover:#fde047;--color-warning-pastel-text:#854d0e;--color-info:#06b6d4;--color-info-hover:#0891b2;--color-info-light:#06b6d426;--color-info-border:#06b6d44d;--color-info-text:#22d3ee;--color-info-pastel:#bae6fd;--color-info-pastel-hover:#7dd3fc;--color-info-pastel-text:#075985;--color-accent:#8b5cf6;--color-accent-hover:#7c3aed;--color-accent-gradient:linear-gradient(135deg,#8b5cf6,#a855f7);--color-accent-pastel:#ddd6fe;--color-accent-pastel-hover:#c4b5fd;--color-accent-pastel-border:#a78bfa;--color-accent-pastel-text:#5b21b6;--color-white:#fff;--color-background:#0a0a0b;--color-background-alt:#09090b;--color-surface:#18181b;--color-surface-hover:#27272a;--color-border:#27272a;--color-border-light:#3f3f46;--color-border-input:#3f3f46;--color-text:#fafafa;--color-text-dark:#f4f4f5;--color-text-dark-contrast:#fff;--color-text-muted:#a8a8b3;--color-text-light:#d4d4d8;--spacing-1:4px;--spacing-2:8px;--spacing-3:12px;--spacing-4:16px;--spacing-5:20px;--spacing-6:24px;--spacing-8:32px;--spacing-10:40px;--spacing-12:48px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-2xl:16px;--radius-full:50%;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px #0006;--shadow-lg:0 10px 15px #00000080;--shadow-xl:0 20px 40px #0009;--shadow-glow-accent:0 0 20px #8b5cf64d;--shadow-glow-primary:0 0 20px #3b82f64d;--transition-fast:0.2s ease;--transition-normal:0.3s ease}.text-muted{color:#a8a8b3;color:var(--color-text-muted)}.text-danger{color:#f87171;color:var(--color-danger-text)}.text-success{color:#4ade80}.text-warning{color:#facc15}.text-info{color:#22d3ee}.text-primary{color:#3b82f6;color:var(--color-primary)}.text-center{text-align:center}.text-uppercase{letter-spacing:.5px;text-transform:uppercase}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-sm{font-size:12px}.text-base{font-size:14px}.text-lg{font-size:16px}.text-xl{font-size:18px}.text-2xl{font-size:24px}.text-3xl{font-size:28px}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-height-relaxed{line-height:1.6}.mt-1{margin-top:4px;margin-top:var(--spacing-1)}.mt-2{margin-top:8px;margin-top:var(--spacing-2)}.mt-3{margin-top:12px;margin-top:var(--spacing-3)}.mt-4{margin-top:16px;margin-top:var(--spacing-4)}.mt-5{margin-top:20px;margin-top:var(--spacing-5)}.mt-6{margin-top:24px;margin-top:var(--spacing-6)}.mb-1{margin-bottom:4px;margin-bottom:var(--spacing-1)}.mb-2{margin-bottom:8px;margin-bottom:var(--spacing-2)}.mb-3{margin-bottom:12px;margin-bottom:var(--spacing-3)}.mb-4{margin-bottom:16px;margin-bottom:var(--spacing-4)}.mb-5{margin-bottom:20px;margin-bottom:var(--spacing-5)}.mb-6{margin-bottom:24px;margin-bottom:var(--spacing-6)}.ml-1{margin-left:4px;margin-left:var(--spacing-1)}.ml-2{margin-left:8px}.ml-3{margin-left:12px;margin-left:var(--spacing-3)}.ml-4{margin-left:16px;margin-left:var(--spacing-4)}.mr-1{margin-right:4px;margin-right:var(--spacing-1)}.mr-2{margin-right:8px;margin-right:var(--spacing-2)}.mr-3{margin-right:12px;margin-right:var(--spacing-3)}.mr-4{margin-right:16px;margin-right:var(--spacing-4)}.m-0{margin:0}.p-2{padding:8px;padding:var(--spacing-2)}.p-3{padding:12px;padding:var(--spacing-3)}.p-4{padding:16px;padding:var(--spacing-4)}.p-5{padding:20px;padding:var(--spacing-5)}.p-6{padding:24px;padding:var(--spacing-6)}.px-3{padding-left:12px;padding-left:var(--spacing-3);padding-right:12px;padding-right:var(--spacing-3)}.px-4{padding-left:16px;padding-left:var(--spacing-4);padding-right:16px;padding-right:var(--spacing-4)}.py-2{padding-bottom:8px;padding-bottom:var(--spacing-2);padding-top:8px;padding-top:var(--spacing-2)}.py-3{padding-bottom:12px;padding-bottom:var(--spacing-3);padding-top:12px;padding-top:var(--spacing-3)}.block{display:block}.inline-block{display:inline-block}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.cursor-grab{cursor:grab}.text-italic{font-style:italic}.opacity-50{opacity:.5}.text-gradient-accent{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#8b5cf6,#a855f7);background:var(--color-accent-gradient);-webkit-background-clip:text;background-clip:text}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1 1}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing-1)}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-5{gap:var(--spacing-5)}.gap-6{gap:var(--spacing-6)}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-auto-fit{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.grid-cols-auto-fill-320{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.w-full{width:100%}.w-auto{width:auto}.max-w-420{max-width:420px}.max-w-600{max-width:600px}.max-w-800{max-width:800px}.min-h-screen{min-height:100vh}.min-h-250{min-height:250px}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.inset-0{bottom:0;left:0;right:0;top:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.z-10{z-index:10}.z-50{z-index:50}.z-100{z-index:100}.z-1000{z-index:1000}.container{margin-left:auto;margin-right:auto;padding-left:var(--spacing-5);padding-right:var(--spacing-5);width:100%}.container-centered{align-items:center;display:flex;justify-content:center;min-height:100vh}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.border{border:1px solid var(--color-border)}.border-t{border-top:1px solid var(--color-border)}.border-b{border-bottom:1px solid var(--color-border)}.border-dashed{border-style:dashed}.rounded{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.min-w-0{min-width:0}.flex-shrink-0{flex-shrink:0}.mx-auto{margin-left:auto;margin-right:auto}.separator-vertical{background-color:var(--color-border-light);height:16px;width:1px}.ml-auto{margin-left:auto}.ml-2{margin-left:var(--spacing-2)}.form-group{margin-bottom:var(--spacing-4)}.form-group-sm{margin-bottom:var(--spacing-3)}.form-group-lg{margin-bottom:var(--spacing-5)}.form-label{color:var(--color-text);display:block;font-size:14px;font-weight:600;margin-bottom:var(--spacing-2)}.form-label-sm{font-size:13px;margin-bottom:var(--spacing-1)}.form-label-required:after{color:var(--color-danger);content:" *"}.form-control{background-color:var(--color-surface);border:1px solid var(--color-border-input);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font-size:14px;outline:none;padding:12px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.form-control:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #8b5cf633}.form-control:disabled{background-color:var(--color-surface-hover);cursor:not-allowed;opacity:.5}.form-control::placeholder{color:var(--color-text-muted)}.form-control-lg{border-radius:var(--radius-lg);border-width:1px;font-size:16px;padding:14px 16px}.form-control-lg:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #8b5cf633}.form-control-success:focus{border-color:var(--color-success);box-shadow:0 0 0 3px #22c55e33}.form-control-sm{font-size:14px;padding:4px 6px}.form-control-number{text-align:center;width:60px}textarea.form-control{min-height:100px;resize:vertical}.form-select{background-color:var(--color-surface);border:1px solid var(--color-border-input);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);cursor:pointer;font-size:14px;outline:none;padding:10px 12px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.form-select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #8b5cf633}.form-select option{background-color:var(--color-surface);color:var(--color-text)}.form-select-inline{min-width:140px;width:auto}.form-check{align-items:center;color:var(--color-text);display:flex;font-size:13px;gap:var(--spacing-2)}.form-check,.form-check input[type=checkbox],.form-check input[type=radio],.form-check-label{cursor:pointer}.form-check-grid{grid-gap:var(--spacing-2);background-color:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:var(--spacing-2);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));padding:var(--spacing-3)}.form-check-grid-wide{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.form-fieldset{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-4);padding:var(--spacing-4)}.form-fieldset legend{color:var(--color-text);font-weight:600;padding:0 var(--spacing-2)}.form-row{flex-wrap:wrap;gap:var(--spacing-3)}.form-row,.form-row-inline{align-items:center;display:flex}.form-row-inline{gap:var(--spacing-2)}.form-actions{border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-3);padding-top:var(--spacing-4)}.input-group{display:flex;gap:var(--spacing-2)}.input-group .form-control{flex:1 1}.form-help{color:var(--color-text-muted);font-size:12px;margin-top:var(--spacing-1)}.filter-group{align-items:center;display:flex;gap:var(--spacing-2)}.filter-label{color:var(--color-text-muted);font-size:12px;opacity:.8}.search-input{flex:1 1 250px;font-size:15px;max-width:400px;padding:12px 16px}.search-input:focus{box-shadow:0 0 0 3px #8b5cf626}.active-filters{align-items:center;background-color:#8b5cf60d;border:1px solid #8b5cf61a;border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin-bottom:var(--spacing-4);padding:var(--spacing-2) var(--spacing-4)}.filter-chip{background-color:#8b5cf626;border-radius:var(--radius-full);color:#c4b5fd;font-size:11px;font-weight:500;gap:var(--spacing-1);padding:3px 8px}.filter-chip,.filter-chip-remove{align-items:center;display:inline-flex}.filter-chip-remove{background:none;border:none;color:inherit;cursor:pointer;justify-content:center;margin-left:2px;opacity:.7;padding:0}.filter-chip-remove:hover{opacity:1}.filter-clear-all{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;font-size:11px;margin-left:auto;padding:2px 8px;transition:all var(--transition-fast)}.filter-clear-all:hover{background-color:var(--color-surface-hover);border-color:var(--color-border-light);color:var(--color-text)}.filter-count{color:var(--color-text-muted);font-size:11px;opacity:.65}.btn{align-items:center;border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:var(--spacing-2);justify-content:center;padding:10px 20px;text-decoration:none;transition:all var(--transition-fast);white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background-color:var(--color-accent);border-color:var(--color-accent);box-shadow:0 2px 4px #8b5cf64d;color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-accent-hover);border-color:var(--color-accent-hover);box-shadow:0 4px 8px #8b5cf666}.btn-secondary{background-color:#e4e4e7;border-color:#d4d4d8;color:#3f3f46}.btn-secondary:hover:not(:disabled){background-color:#d4d4d8;color:#27272a}.btn-success{background-color:var(--color-success-pastel);border-color:var(--color-success-pastel-hover);color:var(--color-success-pastel-text)}.btn-success:hover:not(:disabled){background-color:var(--color-success-pastel-hover);border-color:var(--color-success-pastel-border)}.btn-danger{background-color:var(--color-danger-pastel);border-color:var(--color-danger-pastel-hover);color:var(--color-danger-pastel-text)}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-pastel-hover);border-color:var(--color-danger-pastel-border)}.btn-warning{background-color:var(--color-warning-pastel);border-color:var(--color-warning-pastel-hover);color:var(--color-warning-pastel-text)}.btn-warning:hover:not(:disabled){background-color:var(--color-warning-pastel-hover)}.btn-info{background-color:var(--color-info-pastel);border-color:var(--color-info-pastel-hover);color:var(--color-info-pastel-text)}.btn-info:hover:not(:disabled){background-color:var(--color-info-pastel-hover)}.btn-accent{background-color:var(--color-accent-pastel);border-color:var(--color-accent-pastel-hover);color:var(--color-accent-pastel-text)}.btn-accent:hover:not(:disabled){background-color:var(--color-accent-pastel-hover);border-color:var(--color-accent-pastel-border)}.btn-outline-primary{background-color:initial;border:1px solid var(--color-accent-pastel-hover);color:var(--color-accent-pastel)}.btn-outline-primary:hover:not(:disabled){background-color:#ddd6fe1a;border-color:var(--color-accent-pastel)}.btn-outline-secondary{background-color:initial;border:1px solid var(--color-secondary);color:var(--color-text-light)}.btn-outline-secondary:hover:not(:disabled){background-color:#e4e4e71a;color:var(--color-text)}.btn-outline-neutral{background-color:initial;border:1px solid var(--color-border);color:var(--color-text-muted)}.btn-outline-neutral-active,.btn-outline-neutral:hover:not(:disabled){background-color:var(--color-surface-hover);border-color:var(--color-text-muted);color:var(--color-text)}.btn-sm{font-size:13px;padding:6px 12px}.btn-lg{border-radius:var(--radius-md);font-size:15px;font-weight:600;padding:12px 24px}.btn-full{width:100%}.btn-link{background:none;border:none;color:var(--color-primary);cursor:pointer;font-weight:600;padding:0;text-decoration:none}.btn-link:hover:not(:disabled){color:var(--color-primary-hover);text-decoration:underline}.btn-link-success{color:var(--color-success)}.btn-link-success:hover:not(:disabled){color:var(--color-success-hover)}.btn-close{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;line-height:1;opacity:.7;padding:0 4px}.btn-close:hover{opacity:1}.btn-close-lg{font-size:24px;padding:4px}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:none;transition:all var(--transition-fast)}.card-borderless{background-color:var(--color-surface-hover);border:none}.card-body{padding:var(--spacing-5)}.card-body-sm{padding:var(--spacing-4)}.card-body-lg{padding:var(--spacing-6)}.card-header{border-bottom:1px solid var(--color-border)}.card-footer,.card-header{padding:var(--spacing-4) var(--spacing-5)}.card-footer{border-top:1px solid var(--color-border)}.card-title{color:var(--color-text);font-size:24px;font-weight:600;margin:0 0 var(--spacing-2) 0}.card-subtitle{color:var(--color-text-muted);font-size:14px;margin:0}.card-interactive{cursor:pointer;transition:all .15s ease}.card-interactive:hover{background-color:var(--color-surface-hover);box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.card-colored-header{overflow:hidden}.card-colored-header .card-header{background-color:var(--color-accent);border-bottom:none;color:#fff}.card-editing{background-color:var(--color-warning-light);border-color:var(--color-warning-border)}.badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 10px;white-space:nowrap}.badge-sm{font-size:11px;padding:2px 8px}.badge-lg{border-radius:16px;font-size:13px;padding:6px 14px}.badge-primary{background-color:var(--color-primary-light);color:var(--color-primary)}.badge-secondary{background-color:var(--color-surface-hover);color:var(--color-text-muted)}.badge-success{background-color:var(--color-success-light);color:var(--color-success-text)}.badge-danger{background-color:var(--color-danger-light);color:var(--color-danger-text)}.badge-warning{background-color:var(--color-warning-light);color:var(--color-warning-text)}.badge-info{background-color:var(--color-info-light);color:var(--color-info-text)}.badge-accent{background-color:#3f3f46;color:#a1a1aa}.badge-light{background-color:var(--color-surface-hover);color:var(--color-text-muted)}.badge-outline-success{background-color:var(--color-success-light);border:1px solid var(--color-success-border);color:var(--color-success-text)}.badge-outline-warning{background-color:var(--color-warning-light);border:1px solid var(--color-warning-border);color:var(--color-warning-text)}.badge-outline-danger{background-color:var(--color-danger-light);border:1px solid var(--color-danger-border);color:var(--color-danger-text)}.badge-outline-info{background-color:var(--color-info-light);border:1px solid var(--color-info-border);color:var(--color-info-text)}.badge-beginner{background-color:#22c55e26;border:1px solid #22c55e4d;color:#4ade80}.badge-intermediate{background-color:#eab30826;border:1px solid #eab3084d;color:#facc15}.badge-advanced{background-color:#ef444426;border:1px solid #ef44444d;color:#f87171}.badge-admin{background-color:#3f3f46;border:1px solid #52525b;color:#a1a1aa;font-size:11px;font-weight:600;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.badge-category{border-radius:var(--radius-sm);font-size:11px;font-weight:500;padding:4px 8px}.alert{border-left:4px solid #0000;border-radius:var(--radius-md);margin-bottom:var(--spacing-4);padding:var(--spacing-3) var(--spacing-4)}.alert-error{border-color:var(--color-danger);border-left-color:var(--color-danger);color:var(--color-danger-text)}.alert-error,.alert-warning{background-color:var(--color-surface)}.alert-warning{border-color:var(--color-warning);border-left-color:var(--color-warning);color:var(--color-warning-text)}.alert-info{border-color:var(--color-info);border-left-color:var(--color-info);color:var(--color-info-text)}.alert-info,.alert-success{background-color:var(--color-surface)}.alert-success{border-color:var(--color-success);border-left-color:var(--color-success);color:var(--color-success-text)}.alert-dismissible{align-items:center;display:flex;justify-content:space-between}.toast-container{max-width:400px;position:fixed;right:var(--spacing-5);top:var(--spacing-5);z-index:1000}.toast{align-items:flex-start;animation:slideIn .3s ease-out;border-left:4px solid #0000;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;gap:var(--spacing-3);justify-content:space-between;margin-bottom:var(--spacing-2);padding:var(--spacing-4)}.toast-error{border-color:var(--color-border);border-left-color:var(--color-danger)}.toast-error,.toast-warning{background-color:var(--color-surface);color:var(--color-text)}.toast-warning{border-color:var(--color-border);border-left-color:var(--color-warning)}.toast-info{border-color:var(--color-border);border-left-color:var(--color-info)}.toast-info,.toast-success{background-color:var(--color-surface);color:var(--color-text)}.toast-success{border-color:var(--color-border);border-left-color:var(--color-success)}.toast-title{font-weight:600;margin-bottom:var(--spacing-1)}.toast-message{font-size:14px;line-height:1.4}.toast-timestamp{font-size:12px;margin-top:var(--spacing-1);opacity:.7}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:var(--spacing-5);position:fixed;right:0;top:0;z-index:1000}.modal{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-height:90vh;max-width:600px;overflow:auto;width:100%}.modal-sm{max-width:400px}.modal-lg{max-width:800px}.modal-header{align-items:flex-start;background-color:var(--color-surface);border-bottom:1px solid var(--color-border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;display:flex;justify-content:space-between;padding:var(--spacing-6);position:sticky;top:0}.modal-title{color:var(--color-text);font-size:24px;font-weight:600;margin:0}.modal-body{padding:var(--spacing-6)}.modal-footer{border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-3);justify-content:flex-end;padding:var(--spacing-4) var(--spacing-6)}.section-title{font-size:14px;letter-spacing:.5px;margin:0 0 var(--spacing-3) 0;text-transform:uppercase}.stat-card{background-color:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-4);text-align:center}.stat-value{color:var(--color-text);font-size:20px;font-weight:600}.stat-value-lg{font-size:24px;font-weight:700}.stat-label{color:var(--color-text-muted);font-size:12px}.empty-state-icon{border-radius:var(--radius-2xl)}.drop-zone{background-color:var(--color-surface-hover);border:2px dashed var(--color-border-light);border-radius:var(--radius-lg);color:var(--color-text-muted);font-style:italic;padding:var(--spacing-5);text-align:center}.table-responsive{overflow-x:auto}.table{border-collapse:collapse;font-size:14px;width:100%}.table th{border-bottom:2px solid var(--color-border);color:var(--color-text-muted);font-size:12px;font-weight:600;letter-spacing:.5px;text-align:left;text-transform:uppercase}.table td,.table th{padding:var(--spacing-3) var(--spacing-4)}.table td{border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:middle}.table tbody tr:hover{background-color:var(--color-surface-hover)}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:16px;width:16px}.auth-container{align-items:center;background-color:var(--color-background);background-image:radial-gradient(circle at 1px 1px,#8b5cf61a 1px,#0000 0);background-size:32px 32px;display:flex;justify-content:center;min-height:100vh}.auth-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);margin:var(--spacing-5);max-width:420px;padding:var(--spacing-12);width:100%}.auth-header{margin-bottom:var(--spacing-8);text-align:center}.auth-logo{align-items:center;border-radius:var(--radius-2xl);color:#fff;display:flex;font-size:28px;height:64px;justify-content:center;margin:0 auto var(--spacing-4);width:64px}.auth-logo-login{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 8px 20px #3b82f64d}.auth-logo-signup{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 8px 20px #22c55e4d}.auth-title{color:var(--color-text);font-size:28px;font-weight:700;margin:0 0 var(--spacing-2) 0}.auth-subtitle{color:var(--color-text-muted);font-size:16px;margin:0}.auth-footer{border-top:1px solid var(--color-border);padding-top:var(--spacing-5);text-align:center}.auth-footer-text{color:var(--color-text-muted);font-size:14px;margin:0 0 var(--spacing-3) 0}.nav-container{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-6)}.nav-header{border-bottom:1px solid var(--color-border);justify-content:space-between;padding:var(--spacing-3) var(--spacing-5)}.nav-brand,.nav-header{align-items:center;display:flex}.nav-brand{gap:var(--spacing-3)}.nav-logo{align-items:center;background:var(--color-accent-gradient);border-radius:var(--radius-lg);display:flex;height:40px;justify-content:center;width:40px}.nav-logo-icon{color:#fff;font-size:20px}.nav-title{color:var(--color-text);font-size:22px;font-weight:600;margin:0}.nav-tagline{color:var(--color-text-muted);font-size:12px;font-weight:500;margin-top:2px}.nav-user{gap:var(--spacing-4)}.nav-user,.nav-user-info{align-items:center;display:flex}.nav-user-info{color:var(--color-text-muted);font-size:14px;gap:var(--spacing-2)}.nav-user-dropdown{position:relative}.nav-user-trigger{align-items:center;background-color:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-size:13px;gap:var(--spacing-2);padding:6px 12px;transition:all .15s ease}.nav-user-trigger:hover{background-color:var(--color-border)}.nav-user-name{font-weight:500}.nav-user-admin-icon{color:var(--color-accent)}.nav-user-chevron{color:var(--color-text-muted);transition:transform .15s ease}.nav-user-chevron-open{transform:rotate(180deg)}.nav-user-menu{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 8px 24px #0000004d;min-width:180px;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}.nav-user-menu-header{align-items:center;display:flex;gap:var(--spacing-2);padding:var(--spacing-3)}.nav-user-menu-name{color:var(--color-text);font-size:14px;font-weight:600}.nav-user-menu-divider{background-color:var(--color-border);height:1px}.nav-user-menu-item{align-items:center;background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:flex;font-size:13px;gap:var(--spacing-2);padding:var(--spacing-3);transition:all .15s ease;width:100%}.nav-user-menu-item:hover{background-color:var(--color-surface-hover);color:var(--color-text)}.nav-user-menu-logout:hover{color:var(--color-danger-text)}.nav-selection{align-items:center;display:flex;gap:var(--spacing-2)}.nav-selection-dropdown{background-color:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;font-size:13px;min-width:200px;padding:6px 12px;transition:border-color var(--transition-fast)}.nav-selection-dropdown:focus,.nav-selection-dropdown:hover{border-color:var(--color-accent)}.nav-selection-dropdown:focus{box-shadow:0 0 0 2px #8b5cf633;outline:none}.nav-selection-dropdown option{background-color:var(--color-surface);color:var(--color-text)}.nav-bar{align-items:center;background-color:var(--color-surface-hover);display:flex;justify-content:space-between;padding:var(--spacing-2) var(--spacing-5)}.nav-links{display:flex;gap:var(--spacing-1)}.nav-link{align-items:center;background-color:initial;border-radius:var(--radius-md);color:var(--color-text-muted);display:flex;font-size:13px;font-weight:500;gap:var(--spacing-2);opacity:.7;padding:8px 14px;position:relative;text-decoration:none;transition:all var(--transition-fast)}.nav-link:hover{background-color:var(--color-surface)}.nav-link-active,.nav-link:hover{color:var(--color-text);opacity:1}.nav-link-active{background-color:initial;font-weight:600}.nav-link-active:after{background-color:var(--color-accent);border-radius:1px;bottom:-2px;content:"";height:2px;left:8px;position:absolute;right:8px}.nav-link-active:hover,.nav-mobile-toggle{background-color:initial;color:var(--color-text)}.nav-mobile-toggle{border:1px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;display:none;font-size:20px;padding:var(--spacing-2)}.nav-mobile-menu{background-color:var(--color-surface-hover);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--spacing-1);padding:var(--spacing-4)}@media (max-width:768px){.nav-mobile-toggle{display:block}.nav-links,.nav-user-info{display:none}.nav-selection-dropdown{font-size:12px;min-width:150px;padding:4px 8px}}.page-header{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-6);padding:var(--spacing-5)}.page-title{color:var(--color-text);font-size:24px;font-weight:600;margin:0 0 var(--spacing-3) 0}.page-description{color:var(--color-text-muted);font-size:14px;line-height:1.5;margin:0;opacity:.8}.toolbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#1e1e24f2;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 2px 8px #00000026;gap:var(--spacing-3);margin-bottom:var(--spacing-5);padding:var(--spacing-3) var(--spacing-4);position:sticky;top:var(--spacing-3);z-index:100}.toolbar,.toolbar-filters{align-items:center;display:flex}.toolbar-filters{flex:1 1;flex-wrap:wrap;gap:var(--spacing-4)}.toolbar-actions{display:flex;gap:var(--spacing-2)}.toolbar-actions-only{justify-content:flex-end}.toolbar-divider{background-color:var(--color-border);height:24px;margin:0 var(--spacing-2);opacity:.5;width:1px}.drills-grid{grid-gap:var(--spacing-5);display:grid;gap:var(--spacing-5);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.drill-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;padding:var(--spacing-3);transition:all .2s ease}.drill-card:hover{background-color:var(--color-surface-hover);border-color:#8b5cf64d;box-shadow:0 8px 24px #0003,0 0 0 1px #8b5cf626;transform:translateY(-2px)}.drill-card:hover .drill-card-skills{max-height:50px;opacity:1}.drill-card:hover .drill-card-edit-btn{opacity:1}.drill-card-hidden{border-style:dashed;opacity:.6}.drill-badge-hidden{background-color:var(--color-text-muted);color:#fff;flex-shrink:0;font-size:10px;padding:1px 6px}.drill-card-header{align-items:flex-start;display:flex;gap:var(--spacing-2);margin-bottom:var(--spacing-2)}.drill-card-header .drill-card-title{flex:1 1;margin:0;min-width:0}.drill-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text);display:-webkit-box;font-size:15px;font-weight:600;line-height:1.3;margin:0 0 var(--spacing-2) 0;overflow:hidden}.drill-card-favourite{background:none;border:none;color:var(--color-text-muted);cursor:pointer;flex-shrink:0;line-height:1;padding:2px;transition:color .15s ease,transform .15s ease}.drill-card-favourite:hover{color:var(--color-warning);transform:scale(1.2)}.drill-card-favourite.active{color:var(--color-warning)}.drill-favourites-toggle{align-items:center;display:inline-flex;justify-content:center;padding:4px 8px}.drill-card-facts{display:flex;gap:var(--spacing-3);margin-bottom:var(--spacing-2)}.drill-fact{align-items:center;color:var(--color-text-muted);display:inline-flex;font-size:11px;gap:3px}.drill-fact svg{opacity:.6}.drill-card-badges{display:flex;flex-wrap:wrap;gap:var(--spacing-1);margin-bottom:var(--spacing-2)}.drill-badge{border:1px solid #0000;border-radius:8px;display:inline-block;font-size:10px;font-weight:500;padding:1px 6px}.drill-badge-age{background-color:#8b5cf61f;border-color:#8b5cf640;color:#a78bfa}.drill-card-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text-muted);display:-webkit-box;flex:1 1;font-size:12px;line-height:1.4;margin:0 0 var(--spacing-2) 0;opacity:.8;overflow:hidden}.drill-card-skills{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:var(--spacing-2);max-height:20px;opacity:.5;overflow:hidden;transition:all .2s ease}.drill-skill-tag{background-color:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-muted);display:inline-block;font-size:9px;padding:1px 5px}.drill-skill-more{background-color:initial;border-color:#0000;color:var(--color-text-muted);opacity:.7}.drill-card-actions{border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-2);margin-top:auto;padding-top:var(--spacing-2)}.drill-card-video-btn{align-items:center;display:inline-flex;gap:4px}.drill-card-edit-btn{opacity:.5;transition:opacity .2s ease}.teams-grid{grid-gap:var(--spacing-6);display:grid;gap:var(--spacing-6);margin-top:var(--spacing-5)}.team-column{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);flex:1 1;min-height:250px;padding:var(--spacing-5);transition:all var(--transition-fast)}.team-column-drop-active{background-color:#22c55e1a;border-color:var(--color-success);box-shadow:0 0 20px #22c55e33}.team-header{align-items:center;display:flex;justify-content:center;margin-bottom:var(--spacing-4)}.team-title{flex:1 1;font-size:16px;font-weight:600;margin:0;padding-bottom:var(--spacing-2);text-align:center}.team-score-section{background-color:var(--color-surface-hover);border-radius:var(--radius-md);margin-bottom:var(--spacing-4);padding:var(--spacing-3)}.team-score-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-2)}.team-score-value{color:var(--color-text);font-size:14px;font-weight:600}.team-score-diff{border-radius:var(--radius-sm);font-size:12px;font-weight:600;padding:2px 6px}.team-score-diff-positive{background-color:#22c55e26;color:#4ade80}.team-score-diff-negative{background-color:#ef444426;color:#f87171}.team-score-bar-track{background-color:var(--color-border);border-radius:3px;height:6px;overflow:hidden}.team-score-bar-fill{border-radius:3px;height:100%;transition:width .3s ease}.session-overview{grid-gap:var(--spacing-3);display:grid;gap:var(--spacing-3);grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.time-block{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--spacing-6);overflow:hidden}.time-block-header{align-items:center;color:var(--color-white);display:flex;justify-content:space-between;padding:var(--spacing-2) var(--spacing-3)}.time-block-header-warmup{background-color:#eab30814;color:var(--color-warning-text)}.time-block-header-main{background-color:#8b5cf614;color:#a78bfa}.time-block-header-game{background-color:#22c55e14;color:var(--color-success-text)}.time-block-header-cooldown{background-color:#06b6d414;color:var(--color-info-text)}.time-block-name{font-size:13px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.time-block-time{background-color:#ffffff14;border-radius:10px;font-size:11px;font-weight:500;opacity:.75;padding:2px 8px}.time-block-body{padding:var(--spacing-3)}.station-card{background-color:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:var(--spacing-4);padding:var(--spacing-2) var(--spacing-3)}.station-card:first-child{margin-top:0}.station-header{align-items:flex-start;display:flex;justify-content:space-between}.station-name{color:var(--color-text);font-size:14px;font-weight:600;margin-bottom:var(--spacing-2)}.station-players{color:var(--color-text-muted);font-size:12px;margin-top:0}.station-card .text-muted{opacity:.85}.station-card p.text-muted{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;line-height:1.5;overflow:hidden}.station-skills{display:flex;flex-wrap:wrap;gap:4px;margin-top:var(--spacing-1)}.station-space{color:var(--color-text-muted);font-size:11px;margin-top:var(--spacing-1);opacity:.7}.station-groups{display:flex;flex-direction:column;gap:var(--spacing-1);margin-bottom:var(--spacing-2)}.station-group-info{align-items:center;border-bottom:1px solid var(--color-border);color:var(--color-text-muted);display:flex;font-size:12px;gap:var(--spacing-2);padding:var(--spacing-1) 0}.station-group-info:last-child{border-bottom:none}.loading-container{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-10);text-align:center}.loading-text{color:var(--color-text-muted);font-size:16px;margin:0}.training-sessions-layout{grid-gap:var(--spacing-6);align-items:start;display:grid;gap:var(--spacing-6);grid-template-columns:320px 1fr}.session-list-panel{background-color:#1e1e2499;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:none;max-height:calc(100vh - 200px);overflow-y:auto;padding:var(--spacing-4);position:sticky;top:var(--spacing-5)}.session-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.session-list-item{background-color:initial;border:none;border-left:3px solid #0000;border-radius:var(--radius-sm);cursor:pointer;padding:var(--spacing-2) var(--spacing-3);transition:all var(--transition-fast)}.session-list-item:hover{background-color:var(--color-surface-hover);border-left-color:#8b5cf64d}.session-list-item-selected{background-color:var(--color-surface-hover);border-left-color:var(--color-accent)}.session-list-item-header{align-items:flex-start;display:flex;gap:var(--spacing-2);justify-content:space-between;margin-bottom:var(--spacing-1)}.session-list-item-name{color:var(--color-text);flex:1 1;font-size:13px;font-weight:500}.session-list-item-meta{color:var(--color-text-muted);display:flex;font-size:11px;gap:var(--spacing-2);opacity:.75}.session-list-item-date{font-size:11px;margin-top:var(--spacing-1);opacity:.6}.session-list-item .badge{font-size:10px;opacity:.8;padding:2px 6px}.session-detail-panel{min-width:0}.section-title{color:var(--color-text);font-size:16px;font-weight:600;margin:0}.session-list-panel .section-title{font-size:14px;font-weight:500;opacity:.9}.empty-state{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-10);text-align:center}.empty-state-icon{align-items:center;background:linear-gradient(135deg,#8b5cf633,#a855f733);border-radius:var(--radius-xl);color:var(--color-accent);display:flex;font-size:32px;height:64px;justify-content:center;margin:0 auto var(--spacing-4);width:64px}.empty-state-text{color:var(--color-text-muted);font-size:15px;margin:0}@media (max-width:900px){.training-sessions-layout{grid-template-columns:1fr}.session-list-panel{max-height:300px;position:static}}.squad-analysis-page{margin:0 auto;max-width:1200px}.player-needs-grouped{display:flex;flex-direction:column;gap:var(--spacing-6)}.player-needs-section{display:flex;flex-direction:column;gap:var(--spacing-3)}.player-needs-section-header{align-items:center;background-color:var(--color-surface-hover);border-left:3px solid;border-radius:0 var(--radius-sm) var(--radius-sm) 0;display:flex;gap:var(--spacing-3);padding:var(--spacing-2) var(--spacing-3)}.player-needs-section-title{color:var(--color-text);font-size:14px;font-weight:600}.player-needs-section-count{color:var(--color-text-muted);font-size:12px}.skill-bars{gap:var(--spacing-2)}.skill-bar-row,.skill-bars{display:flex;flex-direction:column}.skill-bar-row{gap:2px}.skill-bar-label{align-items:center;display:flex;justify-content:space-between}.skill-bar-name{color:var(--color-text-muted);font-size:12px;text-transform:capitalize}.skill-bar-value{color:var(--color-text-muted);font-size:11px;font-weight:500}.skill-bar-track{background-color:var(--color-border);border-radius:2px;height:4px;overflow:hidden}.skill-bar-fill{border-radius:2px;height:100%;transition:width .3s ease}.grid-cols-auto-fill{grid-gap:var(--spacing-4);display:grid;gap:var(--spacing-4);grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.grid-cols-auto-fill-lg{grid-gap:var(--spacing-4);display:grid;gap:var(--spacing-4);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.skill-list{list-style:none;margin:0;padding:0}.skill-item{font-size:14px}.priority-indicator{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:12px;font-weight:600;height:18px;justify-content:center;width:18px}.priority-high{background-color:var(--color-danger-light);color:var(--color-danger)}.priority-medium{background-color:var(--color-warning-light);color:var(--color-warning-text)}.skill-name{flex:1 1;text-transform:capitalize}.skill-score{color:var(--color-text-muted)}.stars{display:inline-flex;gap:1px}.star{font-size:12px;line-height:1}.star.filled{color:var(--color-warning)}.star.empty{color:var(--color-border)}.peer-member-chip{align-items:center;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);display:inline-flex;font-size:13px;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3)}.peer-member-chip .member-name{font-weight:500}.peer-member-chip .member-score{color:var(--color-text-muted)}.shared-status-chip{align-items:center;background-color:#a855f71a;border:1px solid #a855f74d;border-radius:9999px;color:#c084fc;cursor:default;display:inline-flex;font-size:11px;font-weight:500;gap:4px;letter-spacing:.2px;line-height:1.4;padding:1px 8px}.shared-status-chip-icon{flex-shrink:0;height:12px;opacity:.8;width:12px}button.shared-status-chip-clickable{cursor:pointer;transition:all .15s ease}button.shared-status-chip-clickable:hover{background-color:#a855f733;border-color:#a855f780;color:#d8b4fe}.mentor-pair-card .card-body{display:flex;flex-direction:column}.mentor-pair-content{align-items:center;display:flex;gap:var(--spacing-3)}.learner-card,.mentor-card{align-items:center;background-color:var(--color-background);border-radius:var(--radius-md);display:flex;flex:1 1;flex-direction:column;padding:var(--spacing-3);text-align:center}.mentor-card{border:2px solid var(--color-success-light)}.learner-card{border:2px solid var(--color-info-light)}.role-label{font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.player-name,.role-label{margin-bottom:var(--spacing-1)}.player-name{font-size:14px}.pair-arrow{align-items:center;color:var(--color-text-muted);display:flex;font-size:12px;font-style:italic}.app-container{margin:0 auto;max-width:1200px;min-height:100vh;padding:var(--spacing-5)}.app-container,body,html{background-color:var(--color-background)}body,html{color:var(--color-text);margin:0;padding:0}.page-loading-container{align-items:center;background-color:var(--color-background);display:flex;justify-content:center;margin:0 auto;max-width:1200px;min-height:100vh;padding:var(--spacing-5)}.page-loading-content{color:var(--color-text-muted);text-align:center}.page-loading-title{font-size:18px;margin-bottom:var(--spacing-3)}.page-loading-subtitle{font-size:14px;opacity:.7}.page-footer{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-top:var(--spacing-12);padding:var(--spacing-6) var(--spacing-5)}.page-footer-main{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-4);justify-content:space-between}.page-footer-brand{gap:var(--spacing-2)}.page-footer-brand,.page-footer-tagline{align-items:center;color:var(--color-text-muted);display:flex;font-size:14px}.page-footer-tagline{gap:var(--spacing-5)}.page-footer-version{font-size:12px;opacity:.8}.page-footer-bottom{align-items:center;border-top:1px solid var(--color-border);color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-size:12px;gap:var(--spacing-4);justify-content:center;margin-top:var(--spacing-4);padding-top:var(--spacing-4)}.page-footer-link{color:var(--color-accent);font-weight:500;text-decoration:none}.page-footer-link:hover{text-decoration:underline}.input-mode-toggle{align-items:center;display:flex;justify-content:flex-end;margin-bottom:var(--spacing-4)}.segmented-control{background-color:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-md);display:inline-flex;padding:3px}.segmented-control-btn{background-color:initial;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;position:relative;transition:all .15s ease}.segmented-control-btn:hover:not(.segmented-control-btn-active){color:var(--color-text)}.segmented-control-btn-active{background-color:var(--color-surface);box-shadow:0 1px 3px #0003;color:var(--color-text)}.segmented-control-btn-active:after{background-color:var(--color-accent);border-radius:1px;bottom:0;content:"";height:2px;left:8px;position:absolute;right:8px}.team-selection-layout{align-items:flex-start;display:flex;gap:var(--spacing-6);margin-top:var(--spacing-5);min-height:500px}.team-selection-sidebar{flex-shrink:0;width:280px}.team-selection-content{flex:1 1;padding:var(--spacing-5)}.available-players-panel,.team-selection-content{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.available-players-panel{height:fit-content;padding:var(--spacing-4)}.available-players-header{align-items:center;border-bottom:2px solid var(--color-border);display:flex;justify-content:space-between;margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-3)}.available-players-title{color:var(--color-text-dark-contrast);font-size:18px;font-weight:600;margin:0}.available-players-archived-toggle{align-items:center;color:var(--color-text-muted);cursor:pointer;display:flex;font-size:12px;gap:var(--spacing-2)}.available-players-archived-toggle input{accent-color:var(--color-accent);cursor:pointer}.player-accent-bar{border-radius:2px;bottom:0;left:0;position:absolute;top:0;width:4px}.available-player-row{align-items:center;border-radius:var(--radius-sm);color:var(--color-text);display:flex;justify-content:space-between;padding:8px 12px 8px 16px;position:relative;transition:background-color .15s ease,color .15s ease}.available-player-row:hover{background-color:#ffffff08;color:var(--color-text)}.available-player-row:hover .available-player-add{opacity:1}.available-player-row-selected{background-color:#8b5cf61a;color:var(--color-text)}.available-player-row-archived .available-player-name-text{font-style:italic;opacity:.5}.available-player-row-archived .available-player-score{opacity:.5}.available-player-row-archived:hover .available-player-name-text,.available-player-row-archived:hover .available-player-score{opacity:.7}.available-player-name-text{font-size:14px;font-weight:500}.available-player-right{align-items:center;display:flex;gap:var(--spacing-2)}.available-player-score{color:var(--color-text-muted);font-size:12px;min-width:24px;text-align:right}.available-player-add{align-items:center;background-color:var(--color-success);border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:700;height:20px;justify-content:center;line-height:1;opacity:0;transition:opacity .15s ease,transform .15s ease;width:20px}.available-player-add:hover{background-color:var(--color-success-hover);transform:scale(1.1)}.available-player-card{border-radius:var(--radius-md);margin-bottom:4px;padding:8px 12px;transition:all .15s ease}.available-player-name{align-items:center;display:flex;font-size:14px;font-weight:600;justify-content:space-between}.player-score-display{font-size:12px;font-weight:400}.player-add-btn{align-items:center;background-color:var(--color-success);border:2px solid var(--color-white);border-radius:var(--radius-full);box-shadow:0 2px 4px #0003;color:var(--color-white);cursor:pointer;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;line-height:1;transition:all var(--transition-fast);width:20px}.player-add-btn:hover{background-color:var(--color-success-hover);transform:scale(1.1)}.player-remove-btn{align-items:center;background-color:var(--color-danger);border:2px solid var(--color-white);border-radius:var(--radius-full);box-shadow:0 2px 4px #0003;color:var(--color-white);cursor:pointer;display:flex;font-size:11px;font-weight:700;height:20px;justify-content:center;line-height:1;position:absolute;right:0;top:0;transition:all var(--transition-fast);width:20px;z-index:10}.player-remove-btn:hover{background-color:#b02a37;transform:scale(1.1)}.team-player-name{align-items:center;color:var(--color-text);display:flex;font-weight:500;gap:6px}.team-player-right{align-items:center;display:flex;gap:var(--spacing-2)}.team-player-score{color:var(--color-text-muted);font-size:12px;font-weight:500;min-width:20px;text-align:right}.team-player-remove{align-items:center;background-color:var(--color-danger);border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;display:flex;font-size:14px;height:18px;justify-content:center;line-height:1;transition:opacity .15s ease,transform .15s ease;width:18px}.team-player-remove:hover{transform:scale(1.1)}.unknown-player-icon{color:var(--color-warning)}.draggable-player-name{align-items:center;display:flex;font-weight:600;gap:4px;justify-content:center}.team-toolbar{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-5)}.team-toolbar-main{align-items:center;display:flex;gap:var(--spacing-5);padding:var(--spacing-4) var(--spacing-5)}.team-toolbar-label{align-items:center;color:var(--color-text);display:flex;font-weight:500;gap:var(--spacing-2)}.team-toolbar-input{border:1px solid var(--color-border-input);border-radius:var(--radius-sm);font-size:14px;padding:6px 8px;width:60px}.text-assignment-section{background-color:var(--color-surface-hover);border-top:1px solid var(--color-border);padding:var(--spacing-5)}.text-assignment-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-2)}.text-assignment-title{color:var(--color-text);font-size:14px;font-weight:600;margin:0}.text-assignment-count{color:var(--color-accent);font-size:12px;font-weight:500}.text-assignment-description{color:var(--color-text-muted);font-size:13px;margin:0 0 var(--spacing-3) 0}.text-assignment-textarea{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:inherit;font-size:14px;min-height:100px;padding:var(--spacing-3);resize:vertical;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.text-assignment-textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px #8b5cf626;outline:none}.text-assignment-textarea::placeholder{color:var(--color-text-muted);opacity:.6}.text-assignment-helper{align-items:center;color:var(--color-text-muted);display:flex;font-size:12px;gap:var(--spacing-2);margin-top:var(--spacing-3)}.text-assignment-helper-icon{color:var(--color-success-text);flex-shrink:0}.text-assignment-actions{align-items:center;display:flex;gap:var(--spacing-2);margin-top:var(--spacing-4)}.text-assignment-label{color:var(--color-text);display:block;font-weight:500;margin-bottom:var(--spacing-2)}.text-assignment-hint{color:var(--color-text-muted);font-size:12px;font-style:italic}.player-form-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--spacing-5);overflow:hidden}.player-form-card-editing{border-color:var(--color-warning)}.player-form-header{align-items:center;background-color:var(--color-surface-hover);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--spacing-3) var(--spacing-4)}.player-form-title{align-items:center;color:var(--color-text);display:flex;font-size:13px;font-weight:600;gap:var(--spacing-2)}.player-form-editing-name{color:var(--color-warning-text);font-size:12px;font-weight:500}.player-form-content{padding:var(--spacing-4)}.player-form-main-row{align-items:center;display:flex;gap:var(--spacing-2)}.player-form-name-input{flex:1 1;max-width:200px}.player-form-toggle{align-items:center;background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:inline-flex;font-size:12px;gap:var(--spacing-1);margin-top:var(--spacing-3);padding:4px 8px;transition:color .15s ease}.player-form-toggle:hover{color:var(--color-text)}.player-form-skills{border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--spacing-3);margin-top:var(--spacing-4);padding-top:var(--spacing-4)}.player-form-skill-row{align-items:center;display:flex;justify-content:space-between}.player-form-skill-name{color:var(--color-text-muted);font-size:13px;text-transform:capitalize}.player-form-skill-controls{display:flex;gap:2px}.player-form-skill-btn{background-color:initial;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;font-size:12px;height:28px;transition:all .15s ease;width:28px}.player-form-skill-btn:hover{background-color:var(--color-surface-hover);color:var(--color-text)}.player-form-skill-btn-active{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}.player-form-nicknames{border-top:1px solid var(--color-border);margin-top:var(--spacing-4);padding-top:var(--spacing-4)}.player-form-nicknames-label{color:var(--color-text-muted);display:block;font-size:13px;font-weight:500;margin-bottom:var(--spacing-2)}.player-form-nicknames-textarea{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--color-text);font-family:inherit;font-size:13px;padding:var(--spacing-2);resize:vertical;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.player-form-nicknames-textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px #8b5cf626;outline:none}.player-form-nicknames-textarea::placeholder{color:var(--color-text-muted);opacity:.6}.player-form-nicknames-hint{color:var(--color-text-muted);display:block;font-size:11px;font-style:italic;margin-top:var(--spacing-1)}.player-form-archived{border-top:1px solid var(--color-border);margin-top:var(--spacing-4);padding-top:var(--spacing-4)}.player-form-archived-label{align-items:center;color:var(--color-text);cursor:pointer;display:flex;font-size:13px;gap:var(--spacing-2)}.player-form-archived-checkbox{accent-color:var(--color-accent);cursor:pointer}.player-form-archived-hint{color:var(--color-text-muted);display:block;font-size:11px;font-style:italic;margin-top:var(--spacing-1)}.player-upload-panel{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-6);padding:var(--spacing-5)}.player-upload-title{border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:15px;font-weight:600;margin:0 0 var(--spacing-5) 0;padding-bottom:var(--spacing-3)}.player-upload-template{margin-bottom:var(--spacing-5)}.player-upload-dropzone{background-color:initial;border:2px dashed var(--color-border);border-radius:var(--radius-lg);cursor:pointer;padding:var(--spacing-6);text-align:center;transition:all .15s ease}.player-upload-dropzone-active,.player-upload-dropzone:hover{background-color:#8b5cf60d;border-color:var(--color-accent)}.player-upload-dropzone-text{color:var(--color-text-muted);font-size:14px;margin-bottom:var(--spacing-2)}.player-upload-dropzone-or{color:var(--color-text-muted);font-size:12px;margin:var(--spacing-2) 0}.player-upload-file-selected{align-items:center;background-color:var(--color-surface-hover);border-radius:var(--radius-md);display:flex;justify-content:space-between;margin-top:var(--spacing-3);padding:var(--spacing-3)}.player-upload-file-name{color:var(--color-text);font-size:13px;font-weight:500}.player-upload-file-clear{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:16px;padding:4px}.player-upload-file-clear:hover{color:var(--color-danger-text)}.player-upload-actions{display:flex;justify-content:flex-end;margin-top:var(--spacing-4)}.player-upload-hint{color:var(--color-text-muted);font-size:12px;font-style:italic;margin-top:var(--spacing-3);text-align:center}.player-upload-result{background-color:#22c55e1a;border-left:3px solid var(--color-success);border-radius:var(--radius-md);color:var(--color-success-text);margin-top:var(--spacing-4);padding:var(--spacing-3)}.player-upload-row{align-items:center;display:flex;gap:var(--spacing-3);margin-bottom:var(--spacing-4)}.player-upload-input{background-color:var(--color-surface);border:1px solid var(--color-border-input);border-radius:var(--radius-sm);color:var(--color-text);font-size:14px;padding:var(--spacing-2)}.color-picker-container{display:inline-block;position:relative}.color-picker-button{border:2px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;height:32px;margin-left:var(--spacing-2);transition:all var(--transition-fast);width:32px}.color-picker-button:disabled{cursor:wait;opacity:.6}.color-picker-dropdown{background-color:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);left:0;min-width:200px;padding:var(--spacing-3);position:absolute;top:38px;z-index:1000}.color-picker-title{color:var(--color-text);font-size:12px;font-weight:600;margin-bottom:var(--spacing-2)}.color-picker-grid{grid-gap:var(--spacing-1);display:grid;gap:var(--spacing-1);grid-template-columns:repeat(5,1fr);margin-bottom:var(--spacing-2)}.color-picker-option{border-radius:var(--radius-sm);cursor:pointer;height:28px;transition:all var(--transition-fast);width:28px}.color-picker-custom{border-top:1px solid var(--color-border-light);color:var(--color-text-muted);font-size:12px;padding-top:var(--spacing-2)}.color-picker-custom-input{border:none;border-radius:var(--radius-sm);cursor:pointer;height:32px;width:100%}.color-picker-close{background-color:var(--color-background);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);cursor:pointer;font-size:12px;margin-top:var(--spacing-2);padding:4px 8px;width:100%}.skill-distribution-panel{background-color:initial;border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-4);opacity:.8;padding:var(--spacing-3);transition:opacity .15s ease}.skill-distribution-panel:hover{opacity:1}.skill-distribution-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between}.skill-distribution-title-row{align-items:center;display:flex;gap:var(--spacing-2)}.skill-distribution-icon,.skill-distribution-title{color:var(--color-text-muted)}.skill-distribution-title{font-size:13px;font-weight:500;margin:0}.skill-distribution-summary{align-items:center;display:flex;gap:var(--spacing-2)}.skill-distribution-summary-text{color:var(--color-text-muted);font-size:12px;font-style:italic}.expand-icon{color:var(--color-text-muted);font-size:12px;transition:transform var(--transition-fast)}.expand-icon-expanded{transform:rotate(180deg)}.skill-distribution-slider{border:2px solid var(--color-border-light);border-radius:20px;cursor:pointer;height:40px;position:relative}.slider-label{font-size:11px;font-weight:600;position:absolute;top:50%;transform:translateY(-50%)}.slider-marker{border-radius:var(--radius-full);box-shadow:0 2px 4px #0003;cursor:grab;height:20px;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:20px}.skill-distribution-grid{grid-gap:var(--spacing-2);display:grid;gap:var(--spacing-2);grid-template-columns:repeat(4,1fr);margin-top:var(--spacing-3)}.skill-distribution-card{border-radius:var(--radius-sm);padding:var(--spacing-2);text-align:center}.skill-distribution-card-label{font-size:12px;font-weight:600}.skill-distribution-card-value{font-size:14px;font-weight:700}.skill-distribution-card-percent{font-size:10px}.skill-distribution-hint{color:var(--color-text-muted);font-size:11px;font-style:italic;margin-top:var(--spacing-2);text-align:center}.teams-balance-summary{color:var(--color-text-muted);font-size:13px;margin-bottom:var(--spacing-4);padding:var(--spacing-3);text-align:center}.teams-balance-perfect{color:var(--color-success-text)}.teams-balance-diff{color:var(--color-text-muted)}.teams-balance-diff strong{color:var(--color-text)}.teams-display-grid{grid-gap:var(--spacing-6);display:grid;gap:var(--spacing-6)}.loading-state{padding:40px;text-align:center}.loading-state-text{margin:0}.stat-icon{font-size:24px;margin-bottom:var(--spacing-1)}.equipment-grid{grid-gap:var(--spacing-4);display:grid;gap:var(--spacing-4);grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.session-input-form{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-6)}.session-input-form-title{color:var(--color-text);font-size:18px;margin:0 0 var(--spacing-5) 0}.session-input-grid{grid-gap:var(--spacing-5);display:grid;gap:var(--spacing-5)}.session-input-row{grid-gap:var(--spacing-3);display:grid;gap:var(--spacing-3);grid-template-columns:1fr 1fr}.pitch-layout-container{background-color:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--spacing-4);padding:var(--spacing-4)}.pitch-layout-title{color:var(--color-text);font-size:14px;margin:0 0 var(--spacing-3) 0}.pitch-svg{background-color:var(--color-success-light);border:2px solid var(--color-success);border-radius:var(--radius-sm);height:auto;max-width:300px;width:100%}.pitch-legend{display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin-top:var(--spacing-3)}.pitch-legend-item{align-items:center;display:flex;font-size:12px;gap:var(--spacing-1)}.pitch-legend-color{border-radius:2px;height:12px;width:12px}.pitch-legend-label{color:var(--color-text-muted)}.station-coach-badge{background-color:var(--color-accent);border-radius:var(--radius-sm);color:var(--color-white);font-size:11px;font-weight:500;padding:4px 8px}.station-skill-badge{background-color:var(--color-border);border-radius:10px;color:var(--color-text-muted);font-size:9px;padding:1px 5px}.station-swap-btn{align-items:center;background-color:initial;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:inline-flex;font-size:11px;font-weight:400;gap:4px;margin-top:var(--spacing-3);padding:4px 8px;transition:all var(--transition-fast)}.station-swap-btn:hover{background-color:var(--color-surface-hover);border-color:var(--color-border-light);color:var(--color-text)}.station-video-actions{align-items:center;display:flex;gap:var(--spacing-2);margin-top:var(--spacing-3)}.station-video-link{align-items:center;color:var(--color-danger);display:inline-flex;font-size:12px;gap:var(--spacing-1);text-decoration:none}.station-video-separator{color:var(--color-border-light)}.station-video-toggle{background:none;border:none;color:var(--color-accent);cursor:pointer;font-size:12px;padding:0}.station-video-embed{margin-top:var(--spacing-2)}.station-video-primary{align-items:center;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:4px 10px;transition:all var(--transition-fast)}.station-video-primary:hover{background-color:var(--color-surface-hover);border-color:var(--color-border-light)}.station-video-link-subtle{color:var(--color-text-muted);font-size:11px;opacity:.7;text-decoration:none}.station-video-link-subtle:hover{opacity:1;text-decoration:underline}.rotation-schedule{background-color:var(--color-warning-light);border:1px solid var(--color-warning);border-radius:var(--radius-md);margin-top:var(--spacing-3);padding:var(--spacing-3)}.rotation-schedule-title{font-weight:600;margin-bottom:var(--spacing-1)}.rotation-schedule-item,.rotation-schedule-title{color:var(--color-warning-text);font-size:12px}.equipment-summary{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--spacing-4);padding:var(--spacing-4)}.equipment-summary-title{color:var(--color-text);font-size:14px;margin:0 0 var(--spacing-3) 0}.equipment-summary-grid{display:flex;flex-wrap:wrap;gap:var(--spacing-3)}.equipment-item{align-items:center;background-color:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:var(--spacing-1);opacity:.85;padding:var(--spacing-2) var(--spacing-3)}.equipment-icon{font-size:16px}.equipment-label{color:var(--color-text);font-size:13px;font-weight:500}.session-stat-card{background:linear-gradient(180deg,#ffffff0a,#0000);background-color:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-3);text-align:center}.session-stat-value{font-size:22px;font-weight:700}.session-stat-value-primary{color:#a78bfa}.session-stat-value-success{color:var(--color-success-text)}.session-stat-value-warning{color:var(--color-warning-text)}.session-stat-value-default{color:var(--color-text)}.session-stat-value-text{color:var(--color-text);font-size:14px;font-weight:600}.session-stat-label{color:var(--color-text-muted);font-size:12px}.session-timeline-title{color:var(--color-text);font-size:16px;margin:var(--spacing-6) 0 var(--spacing-4) 0}.planner-grid{grid-gap:var(--spacing-6);align-items:start;display:grid;gap:var(--spacing-6)}.planner-grid-with-plan{grid-template-columns:minmax(280px,340px) 1fr}.planner-save-container{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 -2px 8px #00000026;display:flex;justify-content:flex-end;margin-top:var(--spacing-3);padding:var(--spacing-2) var(--spacing-3)}.btn-generate{background:linear-gradient(135deg,var(--color-accent),#a855f7);border:none;border-radius:var(--radius-md);box-shadow:0 2px 8px #8b5cf640;color:var(--color-white);cursor:pointer;font-size:15px;font-weight:600;margin-top:var(--spacing-6);padding:14px 24px;transition:all var(--transition-fast)}.btn-generate:hover:not(:disabled){background:linear-gradient(135deg,var(--color-accent-hover),#9333ea);box-shadow:0 4px 12px #8b5cf659;transform:translateY(-1px)}.btn-generate:disabled{background-color:var(--color-secondary);cursor:not-allowed;opacity:.7}.btn-save-session{border:none;border-radius:var(--radius-md);color:var(--color-white);cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:background-color var(--transition-fast)}.btn-save-session-new{background-color:var(--color-success)}.btn-save-session-new:hover{background-color:var(--color-success-hover)}.btn-save-session-update{background-color:var(--color-primary)}.btn-save-session-update:hover{background-color:var(--color-primary-hover)}.save-modal-content{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:400px;padding:var(--spacing-6);width:90%}.save-modal-title{color:var(--color-text);font-size:18px;margin:0 0 var(--spacing-4) 0}.save-modal-field{margin-bottom:var(--spacing-4)}.save-modal-hint{color:var(--color-text-muted);font-size:12px;margin-bottom:0;margin-top:var(--spacing-1)}.save-modal-actions{display:flex;gap:var(--spacing-3);justify-content:flex-end}.empty-state-icon-gradient{align-items:center;background:linear-gradient(135deg,#8b5cf633,#a855f733);border-radius:var(--radius-xl);display:flex;height:64px;justify-content:center;margin:0 auto var(--spacing-4);width:64px}.empty-state-icon-emoji{color:var(--color-accent);font-size:32px}.drill-swap-list{max-height:400px;overflow-y:auto}.drill-swap-item{background-color:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;margin-bottom:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);transition:all var(--transition-fast)}.drill-swap-item:hover{border-color:var(--color-accent)}.drill-swap-item-selected{background-color:#8b5cf61a;border:2px solid var(--color-accent)}.drill-swap-name{color:var(--color-text);font-weight:600}.drill-swap-expand-btn{align-items:center;background-color:initial;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:inline-flex;font-size:12px;gap:var(--spacing-1);margin-top:var(--spacing-2);padding:4px 10px;transition:all var(--transition-fast)}.drill-swap-expand-btn:hover{background-color:var(--color-border);color:var(--color-text)}.drill-swap-expand-icon{transition:transform var(--transition-fast)}.drill-swap-expand-icon-rotated{transform:rotate(180deg)}.drill-swap-expanded{border-top:1px solid var(--color-border);margin-top:var(--spacing-3);padding-top:var(--spacing-3)}.drill-swap-skills{margin-bottom:var(--spacing-3)}.drill-swap-skills-label{margin-bottom:var(--spacing-1)}.drill-swap-video{margin-top:var(--spacing-3)}.drill-swap-no-video{font-style:italic}.drill-swap-favourite-star{color:var(--color-warning);flex-shrink:0}.youtube-search-page{margin:0 auto;max-width:1400px;padding:var(--spacing-6)}.youtube-search-header{align-items:center;display:flex;gap:var(--spacing-4);margin-bottom:var(--spacing-6)}.youtube-search-header-title{color:var(--color-text-dark-contrast);font-size:24px;margin:0}.youtube-search-bar{align-items:center;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;gap:var(--spacing-3);margin-bottom:var(--spacing-6);padding:var(--spacing-4)}.youtube-search-input{border:1px solid var(--color-border-input);border-radius:var(--radius-sm);flex:1 1;font-size:14px;min-width:200px;outline:none;padding:10px 14px}.youtube-search-input:focus{border-color:var(--color-primary)}.youtube-search-select{background-color:var(--color-white);border:1px solid var(--color-border-input);border-radius:var(--radius-sm);cursor:pointer;font-size:14px;padding:10px 14px}.btn-youtube-search{background-color:var(--color-danger);border:none;border-radius:var(--radius-sm);color:var(--color-white);cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px}.btn-youtube-search:disabled{cursor:not-allowed;opacity:.7}.youtube-loading{color:var(--color-text-muted);padding:var(--spacing-12);text-align:center}.youtube-spinner{animation:youtube-spin 1s linear infinite;border:4px solid var(--color-border);border-radius:50%;border-top-color:var(--color-danger);height:40px;margin:0 auto var(--spacing-4);width:40px}@keyframes youtube-spin{to{transform:rotate(1turn)}}.youtube-results-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-4)}.youtube-results-count{color:var(--color-text-muted);font-size:14px;margin:0}.youtube-selected-badge{background-color:var(--color-primary);border-radius:16px;color:var(--color-white);font-size:13px;font-weight:500;padding:4px 12px}.youtube-results-grid{grid-gap:var(--spacing-5);display:grid;gap:var(--spacing-5);grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.youtube-empty-state{background-color:var(--color-background);border-radius:var(--radius-lg);color:var(--color-text-muted);padding:var(--spacing-12);text-align:center}.youtube-empty-title{font-size:16px;margin-bottom:var(--spacing-2)}.youtube-empty-subtitle{font-size:14px}.youtube-save-bar{align-items:center;background-color:var(--color-text-dark-contrast);border-radius:var(--radius-lg);bottom:var(--spacing-6);box-shadow:0 4px 20px #0000004d;color:var(--color-white);display:flex;gap:var(--spacing-4);left:50%;padding:var(--spacing-3) var(--spacing-6);position:fixed;transform:translateX(-50%);z-index:1000}.youtube-save-bar-text{font-size:14px}.btn-youtube-save{background-color:var(--color-success);border:none;border-radius:var(--radius-sm);color:var(--color-white);cursor:pointer;font-size:14px;font-weight:500;padding:8px 20px}.btn-youtube-save:disabled{cursor:not-allowed;opacity:.7}.btn-youtube-clear{background-color:initial;border:1px solid #adb5bd;border-radius:var(--radius-sm);color:#adb5bd;cursor:pointer;font-size:14px;padding:8px 16px}.youtube-card{background-color:var(--color-white);border:2px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-fast)}.youtube-card-selected{background-color:#e8f4fd;border-color:var(--color-primary)}.youtube-card-header{align-items:center;background-color:var(--color-background);border-bottom:1px solid var(--color-border);cursor:pointer;display:flex;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4)}.youtube-card-header-selected{background-color:#d0e8ff}.youtube-card-checkbox{accent-color:var(--color-primary);cursor:pointer;height:18px;width:18px}.youtube-card-title{color:var(--color-text-dark-contrast);font-size:14px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.youtube-card-video{padding:var(--spacing-3)}.youtube-card-stats{background-color:var(--color-background);border-top:1px solid var(--color-border);color:var(--color-text-muted);display:flex;font-size:12px;gap:var(--spacing-4);padding:var(--spacing-2) var(--spacing-4)}.youtube-card-stat-icon{margin-right:var(--spacing-1)}.youtube-card-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text);display:-webkit-box;font-size:13px;line-height:1.4;overflow:hidden;padding:var(--spacing-2) var(--spacing-4);text-overflow:ellipsis}.youtube-card-edit{background-color:var(--color-background);padding:var(--spacing-4)}.youtube-card-edit,.youtube-card-tags{border-top:1px solid var(--color-border)}.youtube-card-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-1);padding:var(--spacing-2) var(--spacing-4)}.youtube-tag{border-radius:12px;font-size:11px;padding:2px 8px}.youtube-embed-container{background-color:#000;height:0;overflow:hidden;padding-bottom:56.25%;position:relative}.youtube-embed-iframe{border:none;height:100%;left:0;position:absolute;top:0;width:100%}.reseed-drills-page{margin:0 auto;max-width:800px;padding:var(--spacing-6)}.reseed-results-grid{grid-gap:var(--spacing-4);display:grid;gap:var(--spacing-4);grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.reseed-result-item{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-4);text-align:center}.reseed-result-label{color:var(--color-text-muted);display:block;font-size:12px;margin-bottom:var(--spacing-2)}.reseed-result-value{color:var(--color-text);display:block;font-size:24px;font-weight:700}.dropzone{background-color:initial;border:2px dashed var(--color-border);border-radius:var(--radius-lg);cursor:pointer;padding:var(--spacing-8);text-align:center;transition:all .2s ease}.dropzone-active,.dropzone:hover{background-color:#8b5cf60d;border-color:var(--color-accent)}.dropzone-has-file{background-color:#22c55e0d;border-color:var(--color-success);border-style:solid}.loading-spinner{animation:spin .8s linear infinite;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-accent);height:32px;width:32px}@keyframes spin{to{transform:rotate(1turn)}}.bg-light{background-color:var(--color-surface-hover)}.bg-warning-light{background-color:#eab3081a}.text-warning-dark{color:var(--color-warning-text)}.text-success{color:var(--color-success-text)}.text-info{color:var(--color-info-text)}.text-warning{color:var(--color-warning-text)}.border-warning{border-color:var(--color-warning)!important}.hidden{display:none}.session-notes{margin-top:var(--spacing-4)}.session-note-form{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--spacing-4);padding:var(--spacing-4)}.session-note-textarea{background-color:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font-family:inherit;font-size:14px;padding:var(--spacing-3);resize:vertical;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.session-note-textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px #8b5cf626;outline:none}.session-note-textarea::placeholder{color:var(--color-text-muted);opacity:.6}.session-notes-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.session-note-item{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-3) var(--spacing-4)}.session-note-content{color:var(--color-text);font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.session-note-footer{align-items:center;border-top:1px solid var(--color-border);display:flex;justify-content:space-between;margin-top:var(--spacing-2);padding-top:var(--spacing-2)}.session-note-delete{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:flex;justify-content:center;padding:var(--spacing-1);transition:color .15s ease,background-color .15s ease}.session-note-delete:hover{background-color:#dc35451a;color:var(--color-danger-text)}.session-reactions{align-items:center;display:flex;gap:var(--spacing-2);margin-left:auto}.reaction-btn{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-muted);cursor:pointer;display:inline-flex;font-size:13px;gap:var(--spacing-1);padding:var(--spacing-2) var(--spacing-3);transition:all .15s ease}.reaction-btn:hover{background-color:var(--color-surface-hover);color:var(--color-text)}.reaction-btn-sm{font-size:12px;padding:var(--spacing-1) var(--spacing-2)}.reaction-btn-active{background-color:#007bff14;border-color:var(--color-primary);color:var(--color-primary)}.reaction-btn-active:hover{background-color:#007bff26}.reaction-btn-danger:hover{background-color:#dc35451a;border-color:#dc35454d;color:var(--color-danger-text)}.reaction-count{font-weight:500}.session-comments{margin-top:var(--spacing-4)}.comment-form{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--spacing-4);padding:var(--spacing-4)}.comment-list{display:flex;flex-direction:column;gap:var(--spacing-1)}.comment-item{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-4)}.comment-header{align-items:center;display:flex;gap:var(--spacing-2);margin-bottom:var(--spacing-2)}.comment-avatar{align-items:center;background:linear-gradient(135deg,var(--color-accent),#8b5cf6);border-radius:var(--radius-full);color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.comment-avatar-sm{font-size:11px;height:24px;width:24px}.comment-username{color:var(--color-text);font-size:13px;font-weight:600;margin-right:var(--spacing-2)}.comment-time{color:var(--color-text-muted);font-size:12px}.comment-content{color:var(--color-text);font-size:14px;line-height:1.5;margin-bottom:var(--spacing-2);white-space:pre-wrap}.comment-actions{align-items:center;display:flex;gap:var(--spacing-2)}.comment-reply-form{margin-top:var(--spacing-3);padding-left:var(--spacing-6)}.comment-replies-toggle{align-items:center;background:none;border:none;color:var(--color-primary);cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:var(--spacing-1);margin-top:var(--spacing-2);padding:var(--spacing-1) 0}.comment-replies-toggle:hover{text-decoration:underline}.comment-replies{display:flex;flex-direction:column;gap:var(--spacing-3);margin-left:var(--spacing-8);margin-top:var(--spacing-3)}.comment-reply-item{background-color:var(--color-background);border-radius:var(--radius-md);padding:var(--spacing-3)}.drill-animator{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.drill-animator-pitch{display:block;height:auto;width:100%}.drill-animator-actor circle,.drill-animator-actor text{transition:cx .8s ease-in-out,cy .8s ease-in-out,x .8s ease-in-out,y .8s ease-in-out}.animation-controls{background:var(--color-background);border-top:1px solid var(--color-border);padding:var(--spacing-3) var(--spacing-4)}.animation-controls-row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-3);justify-content:space-between}.animation-controls-buttons{align-items:center;display:flex;gap:var(--spacing-2)}.animation-step-indicator{color:var(--color-text-muted);font-size:13px;font-weight:500}.animation-speed-selector{display:flex;gap:var(--spacing-1)}.animation-progress-dots{display:flex;gap:var(--spacing-2);justify-content:center;margin-top:var(--spacing-3)}.animation-progress-dot{background:var(--color-border);border-radius:50%;height:8px;transition:background .2s;width:8px}.animation-progress-dot.active{background:var(--color-primary);transform:scale(1.3)}.animation-progress-dot.completed{background:var(--color-success)}.animation-step-description{color:var(--color-text);font-size:13px;font-style:italic;margin-top:var(--spacing-3);min-height:20px;text-align:center}.animation-regenerate{background:var(--color-background);border-top:1px solid var(--color-border);padding:var(--spacing-2) var(--spacing-4);text-align:right}.animation-loading{align-items:center;display:flex;gap:var(--spacing-3);padding:var(--spacing-4)}.player-view{margin:var(--spacing-6) auto;max-width:520px}.player-view-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-4)}.player-view-name{color:var(--color-text);font-size:24px;font-weight:700;margin:0}.player-view-team{margin-bottom:var(--spacing-4)}.player-view-team-dot{border-radius:var(--radius-full);display:inline-block;flex-shrink:0;height:12px;width:12px}.player-view-score{margin-bottom:var(--spacing-5)}.player-view-skills{border-top:1px solid var(--color-border);padding-top:var(--spacing-4)}.player-view-skills-title{color:var(--color-text);font-size:16px;font-weight:600;margin:0 0 var(--spacing-3) 0}.player-training-page{margin:0 auto;max-width:960px}.player-training-header{padding:var(--spacing-5)}.player-training-header h2{color:var(--color-text);font-size:24px;font-weight:700;margin:0}.player-training-name-row{align-items:flex-start;display:flex;gap:var(--spacing-3)}.player-training-name-col{flex:1 1;min-width:0}.player-training-name-line{align-items:baseline;display:flex;gap:var(--spacing-3)}.player-training-avatar{align-items:center;background:linear-gradient(135deg,var(--color-accent),#8b5cf6);border-radius:var(--radius-full);color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:600;height:36px;justify-content:center;margin-top:2px;width:36px}.player-training-meta{color:var(--color-text-muted);font-size:13px;margin-top:var(--spacing-1)}.player-training-header .badge-accent{font-size:13px;transition:opacity .15s ease}.player-training-header .badge-accent:hover{opacity:.8}.player-wall-grid{grid-gap:var(--spacing-4);align-items:start;display:grid;gap:var(--spacing-4);grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.player-wall-card{display:flex;flex-direction:column;overflow:hidden;transition:background-color .15s ease,border-color .15s ease}.player-wall-card:hover{background-color:var(--color-surface-hover);border-color:#8b5cf633}.player-wall-coach-row{align-items:center;display:flex;gap:var(--spacing-2);margin-bottom:var(--spacing-3)}.player-wall-coach-avatar{align-items:center;background:linear-gradient(135deg,var(--color-accent),#8b5cf6);border-radius:var(--radius-full);color:#fff;display:flex;flex-shrink:0;font-size:11px;font-weight:600;height:24px;justify-content:center;width:24px}.player-wall-coach-date{color:var(--color-text-muted);font-size:13px;margin-left:auto}.player-wall-note{border-left:2px solid var(--color-accent);border-radius:1px;margin-bottom:var(--spacing-3);padding-left:var(--spacing-3)}.player-wall-note-label{color:var(--color-text-muted);display:block;font-size:10px;letter-spacing:.8px;margin-bottom:var(--spacing-1);text-transform:uppercase}.player-wall-comment{color:var(--color-text);font-size:14px;line-height:1.5;margin:0}.player-wall-drill{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:8px;box-shadow:inset 0 1px 2px #0000000a;padding:var(--spacing-4)}.player-wall-drill-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--spacing-3);justify-content:space-between;margin-bottom:var(--spacing-3)}.player-wall-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text-muted);display:-webkit-box;font-size:14px;line-height:1.5;margin-bottom:var(--spacing-2);overflow:hidden}.player-wall-show-more{background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:block;font-size:11px;margin-bottom:var(--spacing-3);padding:0}.player-wall-show-more:hover{color:var(--color-accent);text-decoration:underline}.player-wall-video-container{border-radius:6px;margin-top:var(--spacing-3);overflow:hidden}@media (max-width:768px){.player-training-page{padding:var(--spacing-3)}.player-wall-grid{gap:var(--spacing-3);grid-template-columns:1fr}.player-training-header{padding:var(--spacing-4)}.player-training-name-row h2{font-size:20px}}
/*# sourceMappingURL=main.7757eee5.css.map*/