.header{background:var(--color-bg-primary);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.header-container{max-width:1400px;margin:0 auto;padding:var(--spacing-md) var(--spacing-xl);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg)}.header-logo h2{margin:0;font-size:1.25rem;font-weight:700;color:var(--color-text-primary);display:flex;align-items:center;gap:var(--spacing-sm)}.header-nav{display:flex;align-items:center;gap:var(--spacing-md)}.nav-link{padding:var(--spacing-sm) var(--spacing-lg);font-size:.95rem;font-weight:600;color:var(--color-text-secondary);text-decoration:none;border-radius:var(--radius-md);transition:all var(--transition-base)}.nav-link:hover,.nav-link.active{color:var(--color-primary);background:var(--color-primary-light)}.theme-toggle{padding:var(--spacing-sm);font-size:1.25rem;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;width:40px;height:40px}.theme-toggle:hover{background:var(--color-bg-secondary);border-color:var(--color-border-hover)}@media (max-width: 768px){.header-container{padding:var(--spacing-md) var(--spacing-lg)}.header-logo h2{font-size:1.1rem}.nav-link{padding:var(--spacing-xs) var(--spacing-md);font-size:.9rem}.theme-toggle{width:36px;height:36px;font-size:1.1rem}}.date-list{background:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;height:fit-content;max-height:calc(100vh - 200px);display:flex;flex-direction:column;border:1px solid var(--color-border)}.date-list-header{padding:var(--spacing-lg);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border)}.date-list-header h3{margin:0;font-size:1rem;font-weight:700;color:var(--color-text-primary);display:flex;align-items:center;gap:var(--spacing-sm)}.date-list-items{flex:1;overflow-y:auto;padding:var(--spacing-sm)}.date-list-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary)}.date-list-empty p{font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.date-list-empty span{font-size:.875rem}.date-item{padding:var(--spacing-md);margin-bottom:var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);animation:fadeIn .3s ease-out backwards}.date-item:hover{background:var(--color-bg-tertiary);border-color:var(--color-primary)}.date-item.active{background:var(--color-primary-light);border-color:var(--color-primary)}.date-item-content{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.date-item-name{font-weight:600;color:var(--color-text-primary);font-size:.95rem}.date-item.active .date-item-name{color:var(--color-primary)}.date-item-slots{font-size:.8rem;font-weight:600;color:var(--color-text-tertiary);background:var(--color-bg-primary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm)}.date-item.active .date-item-slots{background:#fff;color:var(--color-primary)}@media (max-width: 768px){.date-list{max-height:300px}.date-list-header{padding:var(--spacing-md)}.date-list-header h3{font-size:.95rem}.date-item{padding:var(--spacing-sm) var(--spacing-md)}.date-item-name{font-size:.9rem}}.slot-grid{background:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;height:fit-content;max-height:calc(100vh - 200px);display:flex;flex-direction:column;border:1px solid var(--color-border)}.slot-grid-header{padding:var(--spacing-lg);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border)}.slot-grid-header h3{margin:0 0 var(--spacing-md) 0;font-size:1.25rem;font-weight:700;color:var(--color-text-primary);display:flex;align-items:center;gap:var(--spacing-sm)}.slot-grid-legend{display:flex;gap:var(--spacing-lg);flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.legend-dot.available{background:var(--color-success)}.legend-dot.unavailable{background:var(--color-danger)}.slot-grid-items{flex:1;overflow-y:auto;padding:var(--spacing-lg);display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--spacing-md);align-content:start}.slot-item{padding:var(--spacing-lg) var(--spacing-md);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-base);animation:fadeIn .3s ease-out backwards;text-align:center}.slot-item.available{border-color:var(--color-success);background:var(--color-success-light)}.slot-item.available:hover{box-shadow:var(--shadow-md)}.slot-item.unavailable{border-color:var(--color-danger);background:var(--color-danger-light);opacity:.6}.slot-time{font-size:1rem;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.slot-status{display:flex;align-items:center;justify-content:center}.status-badge{font-size:.75rem;font-weight:600;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);display:inline-flex;align-items:center;gap:var(--spacing-xs);text-transform:uppercase;letter-spacing:.5px}.status-badge.success{background:transparent;color:var(--color-success)}.status-badge.danger{background:transparent;color:var(--color-danger)}.slot-grid-empty{background:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px dashed var(--color-border);display:flex;align-items:center;justify-content:center;min-height:400px;animation:fadeIn .3s ease-out}.slot-grid-empty-content{text-align:center;padding:var(--spacing-2xl)}.slot-grid-empty-content h3{color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.slot-grid-empty-content p{color:var(--color-text-tertiary);margin:0}@media (max-width: 1024px){.slot-grid-items{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--spacing-sm)}}@media (max-width: 768px){.slot-grid{max-height:none}.slot-grid-header{padding:var(--spacing-md)}.slot-grid-header h3{font-size:1.1rem}.slot-grid-items{padding:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.slot-item{padding:var(--spacing-md) var(--spacing-sm)}.slot-time{font-size:.9rem}.slot-grid-empty{min-height:300px}.empty-icon{font-size:2.5rem}}.tictactoe-container{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px}.status{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin-bottom:10px}.board{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:var(--color-bg-tertiary);padding:10px;border-radius:10px}.square{width:80px;height:80px;background:var(--color-bg-primary);border:none;border-radius:5px;font-size:2.5rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:var(--color-text-primary)}.square:hover:not(:disabled){background:var(--color-bg-secondary)}.square.x{color:var(--color-primary)}.square.o{color:var(--color-secondary)}.reset-btn{padding:10px 20px;background:var(--color-primary);color:#fff;border:none;border-radius:5px;font-size:1rem;cursor:pointer;transition:background .2s}.reset-btn:hover{background:var(--color-primary-dark)}.game2048-container{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px}.header-2048{display:flex;justify-content:space-between;width:300px;align-items:center}.score-box{background:var(--color-bg-tertiary);padding:5px 15px;border-radius:5px;display:flex;flex-direction:column;align-items:center}.score-box span{font-size:.8rem;color:var(--color-text-secondary)}.score-box strong{font-size:1.2rem;color:var(--color-text-primary)}.new-game-btn{padding:10px 20px;background:var(--color-primary);color:#fff;border:none;border-radius:5px;cursor:pointer;font-weight:700}.board-2048{background:#bbada0;padding:10px;border-radius:10px;position:relative;width:300px;height:300px;display:flex;flex-direction:column;gap:10px}.row-2048{display:flex;gap:10px;height:65px}.cell-2048{width:65px;height:65px;background:#eee4da59;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:#776e65;transition:all .1s ease-in-out}.val-2{background:#eee4da}.val-4{background:#ede0c8}.val-8{background:#f2b179;color:#f9f6f2}.val-16{background:#f59563;color:#f9f6f2}.val-32{background:#f67c5f;color:#f9f6f2}.val-64{background:#f65e3b;color:#f9f6f2}.val-128{background:#edcf72;color:#f9f6f2;font-size:1.5rem}.val-256{background:#edcc61;color:#f9f6f2;font-size:1.5rem}.val-512{background:#edc850;color:#f9f6f2;font-size:1.5rem}.val-1024{background:#edc53f;color:#f9f6f2;font-size:1.2rem}.val-2048{background:#edc22e;color:#f9f6f2;font-size:1.2rem}.game-over-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#eee4daba;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:10px;animation:fadeIn .5s}.game-over-overlay h2{font-size:2rem;color:#776e65;margin-bottom:20px}.game-over-overlay button{padding:10px 20px;background:#8f7a66;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1rem}.instructions{color:var(--color-text-secondary);font-size:.9rem}.chess-container{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px}.chess-header{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:450px;margin-bottom:1rem;padding:0;gap:1.5rem}.status{font-size:1rem;font-weight:500;color:#e2e8f0;display:flex;align-items:center;gap:.5rem;line-height:1.5;margin-bottom:0!important}.status span.white{color:#60a5fa;font-weight:600;font-size:1rem}.status span.black{color:#94a3b8;font-weight:600;font-size:1rem}.difficulty-selector{display:flex;align-items:center;gap:.6rem}.difficulty-selector label{color:#e2e8f0;font-size:1rem;font-weight:500;line-height:1.5}.difficulty-selector select{background:#1e293b;color:#e2e8f0;border:1px solid #475569;padding:.35rem .7rem;border-radius:6px;cursor:pointer;outline:none;font-size:.9rem;font-family:inherit;transition:all .2s;line-height:1.5}.difficulty-selector select:hover{border-color:#64748b;background:#334155}.difficulty-selector select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.difficulty-selector select:disabled{background-color:#0f172a;color:#475569;cursor:not-allowed;opacity:.6}.chess-board{border:5px solid #5c4033;border-radius:4px;-webkit-user-select:none;user-select:none;box-shadow:0 10px 15px -3px #0000004d,0 4px 6px -2px #0003}.chess-row{display:flex}.chess-square{width:50px;height:50px;display:flex;align-items:center;justify-content:center;font-size:2.5rem;cursor:pointer;position:relative;transition:transform .1s}.chess-square:hover{transform:scale(1.05)}.chess-square.white{background-color:#f0d9b5}.chess-square.black{background-color:#b58863}.chess-square.selected{background-color:#7b61ff!important;box-shadow:inset 0 0 0 3px #7b61ff80}.chess-square.possible{position:relative}.chess-square.possible:after{content:"";position:absolute;width:100%;height:100%;background:#22c55e40;pointer-events:none}.move-dot{width:15px;height:15px;background:#22c55e99;border-radius:50%;border:2px solid rgba(34,197,94,.8)}.chess-piece{cursor:pointer;line-height:1;z-index:1;transition:filter .1s}.chess-piece:hover{filter:brightness(1.1)}.chess-piece.white{color:#fff;text-shadow:0 0 3px #000,0 0 5px rgba(0,0,0,.5)}.chess-piece.black{color:#000;text-shadow:0 0 2px rgba(255,255,255,.3)}.game-over{font-weight:700;padding:.6rem 1.2rem;border-radius:6px;font-size:1.05rem;letter-spacing:.5px}.game-over.won{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 4px 6px -1px #22c55e66}.game-over.lost{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 6px -1px #ef444466}.game-over.draw{background:linear-gradient(135deg,#eab308,#ca8a04);color:#1e293b;box-shadow:0 4px 6px -1px #eab30866}.reset-btn{padding:.65rem 1.5rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:.95rem;transition:all .2s;margin-top:.5rem;box-shadow:0 4px 6px -1px #3b82f64d}.reset-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 6px 8px -1px #3b82f666}.reset-btn:active{transform:translateY(0)}@media (max-width: 500px){.chess-square{width:40px;height:40px;font-size:2rem}.chess-header{flex-direction:column;gap:12px;align-items:flex-start}.difficulty-selector{width:100%;justify-content:space-between}.status{font-size:1rem}}.flappy-container{width:100%;max-width:400px;margin:0 auto;padding:0}.flappy-game{width:100%;max-width:400px;height:600px;background:#4ec0ca;position:relative;overflow:hidden;cursor:pointer;box-shadow:0 4px 20px #0000004d;border-radius:8px}.flappy-sky{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#4ec0ca,#4ec0ca 80%,#ded895 80%,#ded895);z-index:0}.cloud{position:absolute;background:#fff;border-radius:100px;opacity:.8;z-index:1}.cloud:before,.cloud:after{content:"";position:absolute;background:#fff;border-radius:100px}.cloud-1{width:80px;height:30px;top:80px;left:50px;animation:float 20s linear infinite}.cloud-1:before{width:40px;height:40px;top:-15px;left:10px}.cloud-1:after{width:50px;height:35px;top:-10px;right:10px}.cloud-2{width:100px;height:35px;top:150px;right:80px;animation:float 25s linear infinite}.cloud-2:before{width:50px;height:50px;top:-20px;left:15px}.cloud-2:after{width:60px;height:40px;top:-15px;right:15px}.cloud-3{width:70px;height:28px;top:250px;left:200px;animation:float 18s linear infinite}.cloud-3:before{width:35px;height:35px;top:-12px;left:8px}.cloud-3:after{width:45px;height:32px;top:-10px;right:8px}@keyframes float{0%{transform:translate(0)}to{transform:translate(-500px)}}.city-bg{position:absolute;bottom:100px;left:0;width:100%;height:120px;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 120"><rect fill="%235dade2" x="10" y="60" width="40" height="60"/><rect fill="%235dade2" x="60" y="40" width="35" height="80"/><rect fill="%235dade2" x="105" y="70" width="30" height="50"/><rect fill="%235dade2" x="145" y="50" width="45" height="70"/><rect fill="%235dade2" x="200" y="65" width="38" height="55"/><rect fill="%235dade2" x="248" y="45" width="42" height="75"/><rect fill="%235dade2" x="300" y="55" width="35" height="65"/><rect fill="%235dade2" x="345" y="70" width="30" height="50"/></svg>') repeat-x;background-size:400px 120px;opacity:.6;z-index:2}.score-display{position:absolute;top:50px;left:50%;transform:translate(-50%);font-size:4rem;font-weight:700;color:#fff;text-shadow:3px 3px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000;z-index:15;font-family:Arial Black,sans-serif}.bird{position:absolute;width:34px;height:24px;background:gold;border-radius:50%;z-index:10;transition:transform .1s}.bird:before{content:"";position:absolute;top:6px;right:6px;width:6px;height:6px;background:#000;border-radius:50%;border:2px solid white}.bird:after{content:"";position:absolute;top:8px;right:-8px;width:0;height:0;border-left:12px solid #ff6b35;border-top:4px solid transparent;border-bottom:4px solid transparent}.pipe{position:absolute;width:52px;background:linear-gradient(to right,#5cb85c,#5cb85c 10%,#4cae4c 10%,#4cae4c 90%,#5cb85c 90%,#5cb85c);z-index:5;border-left:2px solid #3d8b3d;border-right:2px solid #3d8b3d}.pipe-cap{position:absolute;left:-4px;width:60px;height:28px;background:linear-gradient(to right,#5cb85c,#5cb85c 10%,#4cae4c 10%,#4cae4c 90%,#5cb85c 90%,#5cb85c);border:2px solid #3d8b3d;border-radius:4px}.pipe-top .pipe-cap{bottom:0}.pipe-bottom .pipe-cap{top:0}.flappy-ground{position:absolute;bottom:0;left:0;width:100%;height:100px;background:#ded895;border-top:3px solid #c4b87f;z-index:15;background-image:repeating-linear-gradient(90deg,#ded895,#ded895 20px,#d4ce8a 20px,#d4ce8a 40px)}.flappy-ground:before{content:"";position:absolute;top:0;left:0;width:100%;height:20px;background:repeating-linear-gradient(90deg,#5cb85c,#5cb85c 10px,#4cae4c 10px,#4cae4c 20px)}.flappy-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:20}.flappy-message{text-align:center;color:#fff;padding:2rem}.game-over-text{font-size:2.5rem;font-weight:700;color:#ff6b35;text-shadow:3px 3px 0 #000,-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000;margin-bottom:1.5rem;font-family:Arial Black,sans-serif;letter-spacing:2px}.score-board{background:#d4ce8a;border:3px solid #8b7355;border-radius:8px;padding:1.5rem;margin:1.5rem 0;min-width:250px}.score-row{display:flex;justify-content:space-between;align-items:center;margin:.8rem 0;padding:.5rem}.score-label{font-size:.9rem;font-weight:700;color:#5a5a5a;text-transform:uppercase;letter-spacing:1px}.score-value{font-size:1.5rem;font-weight:700;color:#fff;text-shadow:2px 2px 0 #000;font-family:Arial Black,sans-serif}.play-button{background:#5cb85c;color:#fff;border:3px solid #3d8b3d;border-radius:8px;padding:.8rem 2.5rem;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px #3d8b3d;text-transform:uppercase;letter-spacing:2px;font-family:Arial Black,sans-serif}.play-button:hover{background:#4cae4c;transform:translateY(-2px);box-shadow:0 6px #3d8b3d}.play-button:active{transform:translateY(2px);box-shadow:0 2px #3d8b3d}.tap-hint{margin-top:1rem;font-size:.9rem;opacity:.8;color:#fff;text-shadow:1px 1px 2px #000}@media (max-width: 600px){.flappy-game{height:500px;border-radius:0}.score-display{font-size:3rem;top:40px}.game-over-text{font-size:2rem}.score-board{min-width:200px;padding:1rem}.score-value{font-size:1.2rem}.play-button{padding:.6rem 2rem;font-size:1rem}}.game-section{margin-top:40px;background:var(--color-bg-primary);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden;box-shadow:var(--shadow-md)}.game-tabs{display:flex;background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border)}.game-tab{flex:1;padding:15px;background:none;border:none;font-size:1rem;font-weight:600;color:var(--color-text-secondary);cursor:pointer;transition:all .2s}.game-tab:hover{color:var(--color-text-primary);background:#0000000d}.game-tab.active{color:var(--color-primary);background:var(--color-bg-primary);border-bottom:2px solid var(--color-primary)}.game-content{padding:20px;min-height:400px;display:flex;justify-content:center}.home-page{flex:1;padding:var(--spacing-xl);animation:fadeIn .4s ease-out;max-width:1600px;margin:0 auto;width:100%}.welcome-header{text-align:center;margin-bottom:40px;padding:20px;background:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.welcome-header h1{font-size:1.5rem;color:var(--color-text-primary);margin:0;line-height:1.5}.home-container{display:grid;grid-template-columns:300px 1fr;gap:var(--spacing-xl);align-items:start}.home-sidebar{position:sticky;top:calc(80px + var(--spacing-xl))}.home-content{min-height:500px}.games-container-wrapper{margin-top:60px;padding-top:40px;border-top:1px solid var(--color-border)}.games-header-text{text-align:center;font-size:1.8rem;color:var(--color-text-primary);margin-bottom:30px}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center}.error-icon{font-size:3rem;margin-bottom:var(--spacing-md)}@media (max-width: 1024px){.home-container{grid-template-columns:1fr}.home-sidebar{position:static;margin-bottom:var(--spacing-lg)}}@media (max-width: 768px){.home-page{padding:var(--spacing-md)}.welcome-header h1{font-size:1.2rem}}.admin-page{flex:1;padding:var(--spacing-xl);animation:fadeIn .4s ease-out}.admin-header{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.admin-header h1{margin:0;font-size:1.75rem}.admin-header p{margin:var(--spacing-xs) 0 0 0;color:var(--color-text-secondary)}.admin-content{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:2fr 8fr;gap:var(--spacing-xl);align-items:start}.admin-sidebar{position:sticky;top:calc(80px + var(--spacing-xl))}.admin-main{min-height:400px}.login-container{display:flex;align-items:center;justify-content:center;min-height:70vh;animation:fadeIn .4s ease-out}.login-card{background:var(--color-bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);padding:var(--spacing-2xl);width:100%;max-width:450px}.login-header{text-align:center;margin-bottom:var(--spacing-xl)}.login-header h2{margin-bottom:var(--spacing-sm);color:var(--color-text-primary)}.login-header p{color:var(--color-text-secondary);margin:0}.login-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.login-hint{text-align:center;color:var(--color-text-tertiary);margin-top:var(--spacing-sm)}.alert{max-width:1400px;margin:0 auto var(--spacing-lg);padding:var(--spacing-md);border-radius:var(--radius-md);display:flex;justify-content:space-between;align-items:center}.alert-error{background:var(--color-danger-light);color:var(--color-danger);border:1px solid var(--color-danger)}.alert-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:inherit;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base)}.alert-close:hover{background:#0000001a}.admin-controls{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-md);box-shadow:var(--shadow-md)}.admin-controls h3{margin:0 0 var(--spacing-md) 0;font-size:1rem;color:var(--color-text-primary)}.create-form{display:flex;gap:var(--spacing-sm)}.create-form .form-input{flex:1}.draggable-date-list{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-sm);box-shadow:var(--shadow-md);max-height:calc(100vh - 400px);overflow-y:auto}.draggable-date-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);margin-bottom:var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-base)}.draggable-date-item:hover{background:var(--color-bg-tertiary);border-color:var(--color-primary)}.draggable-date-item.active{background:var(--color-primary-light);border-color:var(--color-primary)}.draggable-date-item.dragging{opacity:.5;box-shadow:var(--shadow-lg)}.drag-handle{font-size:1.25rem;color:var(--color-text-tertiary);cursor:grab;-webkit-user-select:none;user-select:none;transition:color var(--transition-base);padding:var(--spacing-xs);margin:calc(var(--spacing-xs) * -1);touch-action:none}.drag-handle:active{cursor:grabbing}.draggable-date-item:hover .drag-handle{color:var(--color-primary)}.date-content{flex:1;display:flex;align-items:center;cursor:pointer;min-width:0}.date-name{font-weight:600;color:var(--color-text-primary);font-size:.95rem}.draggable-date-item.active .date-name{color:var(--color-primary)}.edit-input{width:100%;padding:var(--spacing-xs) var(--spacing-sm);font-size:.95rem;font-weight:600;background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-primary);border-radius:var(--radius-sm);font-family:inherit}.edit-input:focus{outline:none}.date-actions{display:flex;gap:var(--spacing-xs)}.action-btn{background:none;border:none;font-size:1rem;cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all var(--transition-base)}.action-btn:hover{background:var(--color-bg-tertiary)}.slot-management{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.slot-management-header{padding:var(--spacing-lg);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border)}.slot-management-header h3{margin:0 0 var(--spacing-xs) 0;font-size:1.25rem;color:var(--color-text-primary)}.slot-management-header p{margin:0;font-size:.875rem;color:var(--color-text-secondary)}.slots-grid-admin{padding:var(--spacing-lg);display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--spacing-md)}.admin-slot-item{padding:var(--spacing-lg) var(--spacing-md);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);text-align:center;font-family:inherit}.admin-slot-item.available{border-color:var(--color-success);background:var(--color-success-light)}.admin-slot-item.available:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.admin-slot-item.unavailable{border-color:var(--color-danger);background:var(--color-danger-light);opacity:.6}.admin-slot-item.unavailable:hover{opacity:.8;box-shadow:var(--shadow-md)}.admin-slot-item .slot-time{font-size:1rem;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.slot-status-badge{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-available{color:var(--color-success)}.badge-unavailable{color:var(--color-danger)}.empty-state{background:var(--color-bg-primary);border:1px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-2xl);text-align:center;min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center}.empty-icon{font-size:3rem;display:block;margin-bottom:var(--spacing-lg)}.empty-state h3{color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.empty-state p{color:var(--color-text-tertiary);margin:0}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center}.spinner{width:50px;height:50px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:var(--spacing-lg)}@keyframes spin{to{transform:rotate(360deg)}}.loading-container p{color:var(--color-text-secondary);font-size:1rem;font-weight:500}@media (max-width: 1024px){.admin-content{grid-template-columns:1fr}.admin-sidebar{position:static}.slots-grid-admin{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}@media (max-width: 768px){.admin-page{padding:var(--spacing-md)}.admin-header{flex-direction:column;gap:var(--spacing-md);text-align:center;padding:var(--spacing-lg)}.admin-header h1{font-size:1.5rem}.login-card{padding:var(--spacing-xl)}.create-form{flex-direction:column}.slots-grid-admin{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--spacing-sm)}.empty-icon{font-size:2.5rem}}:root{--color-primary: hsl(174, 62%, 47%);--color-primary-hover: hsl(174, 62%, 42%);--color-primary-light: hsl(174, 62%, 96%);--color-secondary: hsl(210, 10%, 50%);--color-secondary-hover: hsl(210, 10%, 45%);--color-success: hsl(174, 62%, 47%);--color-success-light: hsl(174, 62%, 96%);--color-danger: hsl(0, 0%, 70%);--color-danger-light: hsl(0, 0%, 96%);--color-warning: hsl(40, 80%, 55%);--color-bg-primary: hsl(0, 0%, 100%);--color-bg-secondary: hsl(0, 0%, 98%);--color-bg-tertiary: hsl(0, 0%, 95%);--color-text-primary: hsl(0, 0%, 20%);--color-text-secondary: hsl(0, 0%, 45%);--color-text-tertiary: hsl(0, 0%, 65%);--color-border: hsl(0, 0%, 88%);--color-border-hover: hsl(0, 0%, 78%);--color-shadow: hsla(0, 0%, 0%, .04);--color-shadow-lg: hsla(0, 0%, 0%, .08);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--shadow-sm: 0 1px 2px var(--color-shadow);--shadow-md: 0 1px 3px var(--color-shadow);--shadow-lg: 0 2px 8px var(--color-shadow-lg);--shadow-xl: 0 4px 12px var(--color-shadow-lg)}[data-theme=dark]{--color-primary: hsl(174, 62%, 47%);--color-primary-hover: hsl(174, 62%, 52%);--color-primary-light: hsl(174, 30%, 15%);--color-secondary: hsl(210, 10%, 60%);--color-secondary-hover: hsl(210, 10%, 65%);--color-success: hsl(174, 62%, 47%);--color-success-light: hsl(174, 30%, 15%);--color-danger: hsl(0, 0%, 60%);--color-danger-light: hsl(0, 0%, 20%);--color-warning: hsl(40, 80%, 60%);--color-bg-primary: hsl(0, 0%, 12%);--color-bg-secondary: hsl(0, 0%, 15%);--color-bg-tertiary: hsl(0, 0%, 18%);--color-text-primary: hsl(0, 0%, 95%);--color-text-secondary: hsl(0, 0%, 70%);--color-text-tertiary: hsl(0, 0%, 55%);--color-border: hsl(0, 0%, 25%);--color-border-hover: hsl(0, 0%, 35%);--color-shadow: hsla(0, 0%, 0%, .2);--color-shadow-lg: hsla(0, 0%, 0%, .4)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background:var(--color-bg-secondary);color:var(--color-text-primary);line-height:1.6;min-height:100vh;transition:background var(--transition-base),color var(--transition-base)}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;margin-bottom:var(--spacing-md);color:var(--color-text-primary)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}p{margin-bottom:var(--spacing-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-size:.95rem;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);text-decoration:none;white-space:nowrap}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg-secondary);border-color:var(--color-border-hover)}.btn-success{background:var(--color-success);color:#fff}.btn-danger{background:var(--color-danger);color:#fff}.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:.875rem}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:1.1rem}.card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);transition:all var(--transition-base)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;margin-bottom:var(--spacing-sm);font-weight:600;color:var(--color-text-primary);font-size:.95rem}.form-input{width:100%;padding:var(--spacing-md);font-size:1rem;font-family:inherit;background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-base)}.form-input:focus{outline:none;border-color:var(--color-primary)}.form-input::placeholder{color:var(--color-text-tertiary)}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.text-center{text-align:center}.mt-auto{margin-top:auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.animate-fade-in{animation:fadeIn var(--transition-base) ease-out}.animate-slide-in{animation:slideIn var(--transition-base) ease-out}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border-hover);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}@media (max-width: 768px){html{font-size:14px}h1{font-size:2rem}h2{font-size:1.5rem}.container{padding:0 var(--spacing-md)}}
