*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#ecf0f1}#root{min-height:100vh}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-card{background:#fff;padding:40px;border-radius:10px;box-shadow:0 10px 25px #0003;width:100%;max-width:400px}.login-card h2{margin-bottom:20px;color:#333;text-align:center}.form-group label{display:block;margin-bottom:5px;color:#555;font-weight:500}.form-group input{width:100%;padding:10px;border:1px solid #ddd;border-radius:5px;font-size:14px;box-sizing:border-box}.btn-primary{width:100%;padding:12px;background:#667eea;color:#fff;border:none;border-radius:5px;font-size:16px;cursor:pointer;transition:background .3s}.btn-primary:hover:not(:disabled){background:#5568d3}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#fee;color:#c33;padding:10px;border-radius:5px;margin-bottom:15px;font-size:14px}.floor-plan-container{min-height:100vh;background:#f0f2f5}.floor-plan-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:40px 20px;box-shadow:0 4px 12px #00000026}.header-content{max-width:1600px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center}.floor-plan-header h1{margin:0 0 10px;font-size:2.5em;text-align:center}.floor-plan-header p{margin:0 0 20px;font-size:1.1em;opacity:.9;text-align:center}.btn-admin-login{padding:12px 28px;background:#fff3;border:2px solid white;color:#fff;border-radius:30px;font-size:1em;font-weight:700;cursor:pointer;transition:all .3s ease;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 12px #00000026}.btn-admin-login:hover{background:#fff;color:#667eea;transform:translateY(-2px);box-shadow:0 6px 16px #0003}.btn-admin-login:active{transform:translateY(0)}.filter-section{display:flex;justify-content:center;gap:15px;padding:30px 20px;background:#fff;box-shadow:0 2px 4px #0000001a}.filter-btn{padding:10px 25px;border:2px solid #667eea;background:#fff;color:#667eea;border-radius:25px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s}.filter-btn:hover{background:#f0f0f0}.filter-btn.active{background:#667eea;color:#fff}.floor-plan-wrapper{padding:30px 20px;max-width:1600px;margin:0 auto}.floor-plan-grid{display:grid;gap:0;background:#fff;padding:40px;border-radius:15px;box-shadow:0 8px 24px #0000001f;position:relative;border:3px solid #e0e0e0}.floor-section{background:#fafafa;border:2px solid #d0d0d0;border-radius:8px;padding:15px;position:relative;min-height:100px;display:flex;flex-direction:column}.section-label{font-size:.75em;color:#999;font-weight:600;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px;text-align:center}.seats-container{display:flex;gap:15px;flex-wrap:wrap;flex:1;align-items:flex-start;justify-content:center;padding:5px}.seats-container.vertical{flex-direction:column;align-items:stretch}.seats-container.horizontal{flex-direction:row;flex-wrap:wrap}.two-column-container{display:flex;gap:20px;flex:1;justify-content:center;align-items:flex-start;padding:5px}.two-column-container .column{display:flex;flex-direction:column;gap:12px;flex:1;max-width:50%}.floor-seat{position:relative;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;margin:3px}.floor-seat:before{content:attr(data-seat-id);display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;border-radius:8px 8px 0 0;transition:all .4s;font-size:.95em;z-index:2}.floor-seat:after{content:"🪑";display:flex;align-items:center;justify-content:center;font-size:1.8em;border-radius:0 0 8px 8px;transition:all .4s;z-index:1}.floor-seat.available[data-type=small]:before{background:#27ae60;width:38px;height:22px;box-shadow:0 4px #1e8449,0 6px 12px #27ae604d;font-size:.85em}.floor-seat.available[data-type=small]:after{background:#2ecc71;width:38px;height:35px;box-shadow:0 4px #27ae60,0 6px 12px #2ecc714d;font-size:1.5em}.floor-seat.occupied[data-type=small]:before{background:#c0392b;width:38px;height:22px;box-shadow:0 4px #922b21,0 6px 12px #c0392b4d;font-size:.85em}.floor-seat.occupied[data-type=small]:after{background:#e74c3c;width:38px;height:35px;box-shadow:0 4px #c0392b,0 6px 12px #e74c3c4d;font-size:1.5em}.floor-seat.half-occupied[data-type=small]:before{background:linear-gradient(to right,#27ae60 50%,#c0392b 50%);width:38px;height:22px;box-shadow:0 4px #7d7d7d,0 6px 12px #9696964d;font-size:.85em}.floor-seat.half-occupied[data-type=small]:after{background:linear-gradient(to right,#2ecc71 50%,#e74c3c 50%);width:38px;height:35px;box-shadow:0 4px #7d7d7d,0 6px 12px #9696964d;font-size:1.5em}.floor-seat.available[data-type=big]:before{background:#1976d2;width:52px;height:28px;box-shadow:0 5px #0d47a1,0 7px 15px #1976d259;font-size:.95em}.floor-seat.available[data-type=big]:after{background:#2196f3;width:52px;height:45px;box-shadow:0 5px #1976d2,0 7px 15px #2196f359;font-size:1.8em}.floor-seat.occupied[data-type=big]:before{background:#b71c1c;width:52px;height:28px;box-shadow:0 5px #7f0000,0 7px 15px #b71c1c59;font-size:.95em}.floor-seat.occupied[data-type=big]:after{background:#d32f2f;width:52px;height:45px;box-shadow:0 5px #b71c1c,0 7px 15px #d32f2f59;font-size:1.8em}.floor-seat.half-occupied[data-type=big]:before{background:linear-gradient(to right,#1976d2 50%,#b71c1c 50%);width:52px;height:28px;box-shadow:0 5px #7d7d7d,0 7px 15px #96969659;font-size:.95em}.floor-seat.half-occupied[data-type=big]:after{background:linear-gradient(to right,#2196f3 50%,#d32f2f 50%);width:52px;height:45px;box-shadow:0 5px #7d7d7d,0 7px 15px #96969659;font-size:1.8em}.floor-seat.payment-due[data-type=small]:before{background:#f57c00;width:38px;height:22px;box-shadow:0 4px #e65100,0 6px 12px #f57c004d;font-size:.85em;animation:pulse-warning 2s ease-in-out infinite}.floor-seat.payment-due[data-type=small]:after{background:#ff9800;width:38px;height:35px;box-shadow:0 4px #f57c00,0 6px 12px #ff98004d;font-size:1.5em;animation:pulse-warning 2s ease-in-out infinite}.floor-seat.payment-due[data-type=big]:before{background:#ef6c00;width:52px;height:28px;box-shadow:0 5px #e65100,0 7px 15px #ef6c0059;font-size:.95em;animation:pulse-warning 2s ease-in-out infinite}.floor-seat.payment-due[data-type=big]:after{background:#fb8c00;width:52px;height:45px;box-shadow:0 5px #ef6c00,0 7px 15px #fb8c0059;font-size:1.8em;animation:pulse-warning 2s ease-in-out infinite}.floor-seat.payment-due-half[data-type=small]:before{background:linear-gradient(to right,#27ae60 50%,#f57c00 50%);width:38px;height:22px;box-shadow:0 4px #7d7d7d,0 6px 12px #9696964d;font-size:.85em;animation:pulse-warning 2s ease-in-out infinite}.floor-seat.payment-due-half[data-type=small]:after{background:linear-gradient(to right,#2ecc71 50%,#ff9800 50%);width:38px;height:35px;box-shadow:0 4px #7d7d7d,0 6px 12px #9696964d;font-size:1.5em;animation:pulse-warning 2s ease-in-out infinite}.floor-seat.payment-due-half[data-type=big]:before{background:linear-gradient(to right,#1976d2 50%,#ef6c00 50%);width:52px;height:28px;box-shadow:0 5px #7d7d7d,0 7px 15px #96969659;font-size:.95em;animation:pulse-warning 2s ease-in-out infinite}.floor-seat.payment-due-half[data-type=big]:after{background:linear-gradient(to right,#2196f3 50%,#fb8c00 50%);width:52px;height:45px;box-shadow:0 5px #7d7d7d,0 7px 15px #96969659;font-size:1.8em;animation:pulse-warning 2s ease-in-out infinite}@keyframes pulse-warning{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.02)}}.floor-seat.available:after{animation:gentlePulse 3s ease-in-out infinite}.floor-seat.half-occupied:after{animation:none}@keyframes gentlePulse{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.02);filter:brightness(1.1)}}.floor-seat:hover{transform:translateY(-5px) scale(1.05);z-index:100}.floor-seat:hover:before{box-shadow:0 8px 0 currentColor,0 12px 20px #00000059}.floor-seat:hover:after{box-shadow:0 8px 0 currentColor,0 12px 20px #00000059}.floor-seat.available[data-type=small]:hover:before{background:#229954;box-shadow:0 7px #1e8449,0 10px 18px #27ae6073}.floor-seat.available[data-type=small]:hover:after{background:#52d681;box-shadow:0 7px #27ae60,0 10px 18px #2ecc7173}.floor-seat.available[data-type=big]:hover:before{background:#1565c0;box-shadow:0 9px #0d47a1,0 12px 22px #1976d273}.floor-seat.available[data-type=big]:hover:after{background:#42a5f5;box-shadow:0 9px #1976d2,0 12px 22px #2196f373}.floor-seat.occupied:hover:before,.floor-seat.occupied:hover:after{filter:brightness(.95)}.floor-seat:active{transform:translateY(-3px) scale(1.03)}.seat-id{display:none}.occupied-indicator{position:absolute;top:3px;right:3px;color:#f44336;font-size:.8em;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.seat-hover-info{display:none;position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:10px;background:#2c3e50;color:#fff;padding:12px 16px;border-radius:8px;min-width:180px;text-align:left;z-index:1000;box-shadow:0 4px 16px #0000004d;white-space:nowrap}.seat-hover-info:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:8px solid transparent;border-bottom-color:#2c3e50}.floor-seat:hover .seat-hover-info{display:block}.info-header{font-weight:700;font-size:1.1em;margin-bottom:6px;color:#fff}.info-type{font-size:.9em;color:#a8d5ff;margin-bottom:4px}.info-status{font-size:.85em;color:#ecf0f1;padding-top:6px;border-top:1px solid rgba(255,255,255,.2)}.info-payment-due{margin-top:8px;padding:8px;background:#ff980033;border:2px solid #ff9800;border-radius:6px;font-size:.9em;color:#ffeb3b;text-align:center;animation:warning-blink 1.5s ease-in-out infinite}.info-payment-due strong{display:block;font-size:1.05em}@keyframes warning-blink{0%,to{background:#ff980033;border-color:#ff9800}50%{background:#ff980066;border-color:#ffb74d}}.aisle{background:repeating-linear-gradient(45deg,#f8f9fa,#f8f9fa 10px,#e9ecef 10px 20px);border:1px dashed #ccc;pointer-events:none}.vertical-aisle{min-width:20px}.horizontal-aisle{min-height:20px}.legend-floor{display:flex;justify-content:center;align-items:center;gap:30px;padding:25px;background:#fff;margin:20px auto;max-width:900px;border-radius:10px;box-shadow:0 2px 8px #0000001a;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:10px}.legend-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.legend-icon:before{content:attr(data-number);font-weight:700;color:#fff;border-radius:6px 6px 0 0;display:flex;align-items:center;justify-content:center;font-size:.8em}.legend-icon:after{content:"🪑";font-size:1.3em;border-radius:0 0 6px 6px;display:flex;align-items:center;justify-content:center}.legend-icon.small-cabin.available:before{background:#27ae60;width:30px;height:18px;box-shadow:0 3px #1e8449;font-size:.75em}.legend-icon.small-cabin.available:after{background:#2ecc71;width:30px;height:26px;box-shadow:0 3px #27ae60;font-size:1.2em}.legend-icon.small-cabin.occupied:before{background:#c0392b;width:30px;height:18px;box-shadow:0 3px #922b21;font-size:.75em}.legend-icon.small-cabin.occupied:after{background:#e74c3c;width:30px;height:26px;box-shadow:0 3px #c0392b;font-size:1.2em}.legend-icon.small-cabin.half-occupied:before{background:linear-gradient(to right,#27ae60 50%,#c0392b 50%);width:30px;height:18px;box-shadow:0 3px #7d7d7d;font-size:.75em}.legend-icon.small-cabin.half-occupied:after{background:linear-gradient(to right,#2ecc71 50%,#e74c3c 50%);width:30px;height:26px;box-shadow:0 3px #7d7d7d;font-size:1.2em}.legend-icon.small-cabin.payment-due:before{background:#f57c00;width:30px;height:18px;box-shadow:0 3px #e65100;font-size:.75em}.legend-icon.small-cabin.payment-due:after{background:#ff9800;width:30px;height:26px;box-shadow:0 3px #f57c00;font-size:1.2em}.legend-icon.big-cabin.available:before{background:#1976d2;width:40px;height:22px;box-shadow:0 4px #0d47a1;font-size:.8em}.legend-icon.big-cabin.available:after{background:#2196f3;width:40px;height:32px;box-shadow:0 4px #1976d2;font-size:1.4em}.legend-icon.big-cabin.occupied:before{background:#b71c1c;width:40px;height:22px;box-shadow:0 4px #7f0000;font-size:.8em}.legend-icon.big-cabin.occupied:after{background:#d32f2f;width:40px;height:32px;box-shadow:0 4px #b71c1c;font-size:1.4em}.floor-plan-footer{background:#fff;text-align:center;padding:20px;box-shadow:0 -2px 4px #0000001a}.floor-plan-footer p{margin:0;color:#666;font-size:1em}@media(max-width:1200px){.floor-plan-grid{padding:20px}.floor-seat.available[data-type=small]:before,.floor-seat.occupied[data-type=small]:before{width:35px;height:20px;font-size:.8em}.floor-seat.available[data-type=small]:after,.floor-seat.occupied[data-type=small]:after{width:35px;height:32px;font-size:1.4em}.floor-seat.available[data-type=big]:before,.floor-seat.occupied[data-type=big]:before{width:48px;height:25px;font-size:.9em}.floor-seat.available[data-type=big]:after,.floor-seat.occupied[data-type=big]:after{width:48px;height:40px;font-size:1.7em}}@media(max-width:768px){.floor-plan-header h1{font-size:1.8em}.floor-plan-header p{font-size:.95em}.btn-admin-login{width:100%;max-width:300px}.floor-plan-grid{padding:15px;gap:5px}.floor-section{padding:10px}.floor-seat.available[data-type=small]:before,.floor-seat.occupied[data-type=small]:before{width:32px;height:18px;font-size:.7em;box-shadow:0 3px 0 currentColor,0 5px 8px #0003}.floor-seat.available[data-type=small]:after,.floor-seat.occupied[data-type=small]:after{width:32px;height:28px;font-size:1.2em;box-shadow:0 3px 0 currentColor,0 5px 8px #0003}.floor-seat.available[data-type=big]:before,.floor-seat.occupied[data-type=big]:before{width:44px;height:24px;font-size:.8em;box-shadow:0 4px 0 currentColor,0 6px 10px #0003}.floor-seat.available[data-type=big]:after,.floor-seat.occupied[data-type=big]:after{width:44px;height:38px;font-size:1.5em;box-shadow:0 4px 0 currentColor,0 6px 10px #0003}.floor-seat:hover{transform:translateY(-3px) scale(1.03)}.floor-seat.available:after{animation:none}.section-label{font-size:.65em}.legend-floor{gap:15px;padding:15px}.legend-icon.small-cabin.available:before,.legend-icon.small-cabin.occupied:before{width:28px;height:16px;font-size:.7em}.legend-icon.small-cabin.available:after,.legend-icon.small-cabin.occupied:after{width:28px;height:24px;font-size:1.1em}.legend-icon.big-cabin.available:before,.legend-icon.big-cabin.occupied:before{width:36px;height:20px;font-size:.7em}.legend-icon.big-cabin.available:after,.legend-icon.big-cabin.occupied:after{width:36px;height:30px;font-size:1.3em}.aisle{display:none}}@media(hover:none)and (pointer:coarse){.floor-seat{padding:5px}.floor-seat:hover{transform:none}.floor-seat:active{transform:translateY(-6px) scale(1.08);transition:all .2s}}@media print{.filter-section,.floor-plan-header,.floor-plan-footer{display:none}.floor-plan-grid{box-shadow:none}}.admin-layout{display:flex;min-height:100vh}.admin-sidebar{width:250px;background:#2c3e50;color:#fff;display:flex;flex-direction:column;position:fixed;height:100vh;left:0;top:0}.sidebar-header{padding:25px 20px;background:#1a252f;text-align:center;border-bottom:1px solid #34495e}.sidebar-header h2{margin:0;font-size:1.5em}.sidebar-nav{flex:1;padding:20px 0}.sidebar-nav a{display:block;padding:15px 20px;color:#ecf0f1;text-decoration:none;transition:all .3s;border-left:3px solid transparent}.sidebar-nav a:hover{background:#34495e;border-left-color:#3498db}.sidebar-nav a.active{background:#34495e;border-left-color:#3498db;font-weight:600}.sidebar-footer{padding:20px;border-top:1px solid #34495e}.btn-logout{width:100%;padding:12px;background:#e74c3c;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:15px;transition:background .3s}.btn-logout:hover{background:#c0392b}.admin-content{margin-left:250px;flex:1;background:#ecf0f1;min-height:100vh}.content-header{background:#fff;padding:15px 30px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:flex-end}.btn-view-home{padding:8px 20px;background:#3498db;color:#fff;text-decoration:none;border-radius:5px;transition:background .3s}.btn-view-home:hover{background:#2980b9}@media(max-width:768px){.admin-sidebar{width:200px}.admin-content{margin-left:200px}}.dashboard-container{padding:30px}.dashboard-container h1{margin:0 0 30px;color:#2c3e50}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:40px}.stat-card{background:#fff;padding:25px;border-radius:10px;box-shadow:0 2px 8px #0000001a;display:flex;align-items:center;gap:20px;transition:transform .2s}.stat-card:hover{transform:translateY(-5px)}.stat-icon{font-size:3em}.stat-card.blue{border-left:5px solid #3498db}.stat-card.green{border-left:5px solid #2ecc71}.stat-card.orange{border-left:5px solid #f39c12}.stat-card.purple{border-left:5px solid #9b59b6}.stat-info h3{margin:0 0 10px;color:#7f8c8d;font-size:.9em;font-weight:500}.stat-number{margin:0;font-size:2em;font-weight:700;color:#2c3e50}.recent-bookings-section{background:#fff;padding:25px;border-radius:10px;box-shadow:0 2px 8px #0000001a}.recent-bookings-section h2{margin:0 0 20px;color:#2c3e50}.bookings-table{overflow-x:auto}.bookings-table table{width:100%;border-collapse:collapse}.bookings-table th{background:#f8f9fa;padding:12px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6}.bookings-table td{padding:12px;border-bottom:1px solid #dee2e6}.badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.85em;font-weight:500}.badge.halfDay{background:#e3f2fd;color:#1976d2}.badge.fullDay{background:#f3e5f5;color:#7b1fa2}.payment-status{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.85em;font-weight:500}.payment-status.paid{background:#e8f5e9;color:#2e7d32}.payment-status.unpaid{background:#ffebee;color:#c62828}.empty-state{text-align:center;padding:40px;color:#999}.settings-container{padding:30px;max-width:900px}.settings-container h1{margin:0 0 10px;color:#2c3e50}.subtitle{margin:0 0 30px;color:#7f8c8d}.message{padding:15px 20px;border-radius:8px;margin-bottom:20px;font-weight:500}.settings-form{background:#fff;padding:30px;border-radius:10px;box-shadow:0 2px 8px #0000001a}.pricing-section{margin-bottom:35px}.pricing-section:last-of-type{margin-bottom:30px}.pricing-section h2{margin:0 0 20px;color:#34495e;font-size:1.3em;padding-bottom:10px;border-bottom:2px solid #ecf0f1}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.form-group{margin-bottom:0}.form-group label{display:block;margin-bottom:8px;color:#495057;font-weight:600;font-size:.95em}.btn-save{width:100%;padding:14px;background:#3498db;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:background .3s}.btn-save:hover:not(:disabled){background:#2980b9}.btn-save:disabled{opacity:.6;cursor:not-allowed}.seat-management-container{padding:30px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.page-header h1{margin:0 0 5px;color:#2c3e50}.btn-add{padding:12px 24px;background:#2ecc71;color:#fff;border:none;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer;transition:background .3s}.btn-add:hover{background:#27ae60}.seats-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.summary-card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;text-align:center}.summary-card h3{margin:0 0 10px;color:#7f8c8d;font-size:.9em;font-weight:500}.summary-card p{margin:0;font-size:2em;font-weight:700;color:#2c3e50}.seats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.seat-card[data-type=small]{min-height:160px}.seat-card[data-type=big]{min-height:190px;background:linear-gradient(135deg,#fff,#f8f9ff)}.seat-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #0000001a;border-left:4px solid;transition:transform .2s}.seat-card.available{border-left-color:#2ecc71}.seat-card.allocated{border-left-color:#e74c3c}.seat-card:hover{transform:translateY(-3px);box-shadow:0 4px 12px #00000026}.seat-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.seat-card-header h3{margin:0;color:#2c3e50;font-size:1.3em}.seat-type-badge{padding:4px 12px;border-radius:12px;font-size:.85em;font-weight:500}.seat-type-badge.big{background:#e3f2fd;color:#1976d2}.seat-type-badge.small{background:#f3e5f5;color:#7b1fa2}.seat-card-body{margin-bottom:15px}.status-row,.user-info{display:flex;justify-content:space-between;margin-bottom:8px;color:#555;font-size:.95em}.status{font-weight:600;padding:2px 10px;border-radius:10px;font-size:.9em}.status.free{background:#e8f5e9;color:#2e7d32}.status.occupied{background:#ffebee;color:#c62828}.seat-actions{display:flex;gap:8px}.btn-edit-seat{flex:1;padding:10px;background:#3498db;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:14px;transition:background .3s}.btn-edit-seat:hover{background:#2980b9}.btn-delete{flex:1;padding:10px;background:#e74c3c;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:14px;transition:background .3s}.btn-delete:hover{background:#c0392b}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;padding:30px;border-radius:10px;width:90%;max-width:500px;box-shadow:0 10px 40px #0000004d}.modal-content h2{margin:0 0 20px;color:#2c3e50}.form-group input,.form-group select{width:100%;padding:12px;border:2px solid #ddd;border-radius:6px;font-size:15px;box-sizing:border-box;transition:border-color .3s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3498db}.modal-buttons{display:flex;gap:10px;margin-top:25px}.btn-cancel,.btn-submit{flex:1;padding:12px;border:none;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s}.btn-cancel{background:#95a5a6;color:#fff}.btn-cancel:hover{background:#7f8c8d}.btn-submit{background:#3498db;color:#fff}.btn-submit:hover{background:#2980b9}.edit-seat-info{background:#f8f9fa;padding:15px;border-radius:6px;margin-bottom:20px}.edit-seat-info p{margin:8px 0;color:#555}.warning-box{background:#fff3cd;border:1px solid #ffc107;color:#856404;padding:12px;border-radius:6px;margin-top:10px;font-size:.9em}.booking-management-container{padding:30px}.filters-section{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;display:flex;gap:20px;flex-wrap:wrap}.filter-group{flex:1;min-width:200px}.filter-group label{display:block;margin-bottom:8px;color:#495057;font-weight:600;font-size:.9em}.filter-group input,.filter-group select{width:100%;padding:10px;border:2px solid #ddd;border-radius:6px;font-size:14px;box-sizing:border-box}.bookings-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:30px}.stat-box{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;text-align:center}.stat-box h4{margin:0 0 10px;color:#7f8c8d;font-size:.9em;font-weight:500}.stat-box p{margin:0;font-size:1.8em;font-weight:700;color:#2c3e50}.bookings-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow-x:auto}.bookings-table{width:100%;border-collapse:collapse}.bookings-table th{background:#f8f9fa;padding:15px 12px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6;white-space:nowrap}.bookings-table td{padding:15px 12px;border-bottom:1px solid #dee2e6}.bookings-table tbody tr:hover{background:#f8f9fa}.payment-btn{padding:6px 16px;border:none;border-radius:15px;font-size:.85em;font-weight:600;cursor:pointer;transition:all .3s}.payment-btn.paid{background:#e8f5e9;color:#2e7d32}.payment-btn.unpaid{background:#ffebee;color:#c62828}.payment-btn:hover{opacity:.8;transform:scale(1.05)}.payment-type-badge{display:inline-block;padding:6px 12px;border-radius:12px;font-size:.85em;font-weight:600;white-space:nowrap}.payment-type-badge.cash{background:#fff3e0;color:#e65100;border:1px solid #ffb74d}.payment-type-badge.online{background:#e3f2fd;color:#0277bd;border:1px solid #64b5f6}.action-buttons{display:flex;gap:8px}.btn-edit,.btn-cancel-booking{padding:6px 12px;border:none;border-radius:4px;font-size:.85em;cursor:pointer;transition:all .3s}.btn-edit{background:#3498db;color:#fff}.btn-edit:hover{background:#2980b9}.btn-cancel-booking{background:#e74c3c;color:#fff}.btn-cancel-booking:hover{background:#c0392b}.modal-content.large{max-width:700px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.price-display{background:#e8f5e9;padding:15px;border-radius:6px;text-align:center;font-size:1.1em;color:#2e7d32;margin:15px 0}.help-text{display:block;margin-top:5px;font-size:.85em;color:#666;font-style:italic}@media(max-width:768px){.form-row{grid-template-columns:1fr}.bookings-table{font-size:.9em}.action-buttons{flex-direction:column}}.reminders-container{padding:30px}.reminders-container .message{padding:15px 20px;margin:0 0 20px;border-radius:8px;font-weight:600;animation:slideIn .3s ease}.reminders-container .message.success{background:#d4edda;color:#155724;border:2px solid #c3e6cb}.reminders-container .message.error{background:#f8d7da;color:#721c24;border:2px solid #f5c6cb}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.reminders-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:15px;margin-bottom:30px}.reminders-stats .stat-box.urgent{background:linear-gradient(135deg,#ffebee,#ffcdd2);border-left:4px solid #f44336}.reminders-stats .stat-box.urgent p{color:#c62828}.reminders-stats .stat-box.warning{background:linear-gradient(135deg,#fff8e1,#ffecb3);border-left:4px solid #ff9800}.reminders-stats .stat-box.warning p{color:#e65100}.reminders-stats .stat-box.info{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left:4px solid #2196f3}.reminders-stats .stat-box.info p{color:#1565c0}.reminders-stats .stat-box.renewal{background:linear-gradient(135deg,#f3e5f5,#e1bee7);border-left:4px solid #9c27b0}.reminders-stats .stat-box.renewal p{color:#6a1b9a}.filters-section{background:#fff;padding:15px 20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;display:flex;gap:10px;flex-wrap:wrap}.filters-section .filter-btn{padding:8px 16px;border:2px solid #ddd;background:#fff;border-radius:20px;font-size:.9em;font-weight:600;cursor:pointer;transition:all .3s}.filters-section .filter-btn:hover{background:#f5f5f5}.filters-section .filter-btn.active{background:#667eea;color:#fff;border-color:#667eea}.reminders-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow-x:auto;margin-bottom:30px}.reminders-table{width:100%;border-collapse:collapse}.reminders-table th{background:#f8f9fa;padding:12px 10px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6;white-space:nowrap;font-size:.9em}.reminders-table td{padding:12px 10px;border-bottom:1px solid #dee2e6;font-size:.9em}.reminders-table tbody tr:hover{background:#f8f9fa}.reminders-table tbody tr.status-overdue{background:#ffebee}.reminders-table tbody tr.status-overdue:hover{background:#ffcdd2}.reminders-table tbody tr.status-due-soon{background:#fff8e1}.reminders-table tbody tr.status-due-soon:hover{background:#ffecb3}.reminders-table tbody tr.status-renewal-soon,.reminders-table tbody tr.status-renewal-overdue{background:#f3e5f5}.reminders-table tbody tr.status-renewal-soon:hover,.reminders-table tbody tr.status-renewal-overdue:hover{background:#e1bee7}.status-badge{display:inline-block;padding:5px 12px;border-radius:12px;font-size:.85em;font-weight:600;white-space:nowrap}.status-badge.overdue{background:#ffcdd2;color:#c62828;border:1px solid #ef5350}.status-badge.due-soon{background:#ffecb3;color:#e65100;border:1px solid #ffb74d}.status-badge.upcoming{background:#bbdefb;color:#1565c0;border:1px solid #64b5f6}.status-badge.pending{background:#e0e0e0;color:#616161;border:1px solid #bdbdbd}.status-badge.paid{background:#c8e6c9;color:#2e7d32;border:1px solid #81c784}.status-badge.renewal-soon,.status-badge.renewal-overdue{background:#e1bee7;color:#6a1b9a;border:1px solid #ba68c8}.status-badge.unknown{background:#f5f5f5;color:#9e9e9e;border:1px solid #e0e0e0}.days-info{font-weight:600;padding:4px 8px;border-radius:6px;display:inline-block}.days-info.overdue{color:#c62828;background:#ffebee}.days-info.due-soon{color:#e65100;background:#fff3e0}.days-info.upcoming{color:#1565c0;background:#e3f2fd}.payment-badge{display:inline-block;padding:5px 10px;border-radius:10px;font-size:.85em;font-weight:600}.payment-badge.paid{background:#e8f5e9;color:#2e7d32}.payment-badge.unpaid{background:#ffebee;color:#c62828}.action-buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.action-buttons .btn-renew,.action-buttons .btn-close{padding:6px 12px;border:none;border-radius:6px;font-size:.85em;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.action-buttons .btn-renew{background:#2196f3;color:#fff}.action-buttons .btn-renew:hover{background:#1976d2;transform:translateY(-2px);box-shadow:0 4px 8px #2196f34d}.action-buttons .btn-close{background:#f44336;color:#fff}.action-buttons .btn-close:hover{background:#d32f2f;transform:translateY(-2px);box-shadow:0 4px 8px #f443364d}.action-buttons .btn-renew:active,.action-buttons .btn-close:active{transform:translateY(0)}.reminder-legend{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.reminder-legend h3{margin:0 0 15px;color:#2c3e50;font-size:1.2em}.legend-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}.legend-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f8f9fa;border-radius:8px}.legend-item .legend-badge{padding:6px 12px;border-radius:12px;font-size:.85em;font-weight:600;white-space:nowrap;flex-shrink:0}.legend-item p{margin:0;font-size:.9em;color:#666;line-height:1.4}@media(max-width:768px){.reminders-table{font-size:.85em}.reminders-table th,.reminders-table td{padding:8px 6px}.filters-section{padding:10px 15px}.filters-section .filter-btn{padding:6px 12px;font-size:.85em}.legend-items{grid-template-columns:1fr}}.revenue-container{padding:30px}.revenue-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.revenue-stats .stat-box{background:#fff;padding:20px;border-radius:10px;box-shadow:0 2px 8px #0000001a;border-left:5px solid #ddd;transition:transform .3s ease}.revenue-stats .stat-box:hover{transform:translateY(-5px);box-shadow:0 4px 12px #00000026}.revenue-stats .stat-box h4{margin:0 0 10px;font-size:.95em;color:#666;font-weight:600}.revenue-stats .stat-box .amount{font-size:1.8em;font-weight:700;margin:10px 0;color:#2c3e50}.revenue-stats .stat-box .sub-text{font-size:.85em;color:#7f8c8d}.revenue-stats .stat-box.income{border-left-color:#3498db}.revenue-stats .stat-box.income .amount{color:#3498db}.revenue-stats .stat-box.online{border-left-color:#9b59b6}.revenue-stats .stat-box.online .amount{color:#9b59b6}.revenue-stats .stat-box.cash{border-left-color:#27ae60}.revenue-stats .stat-box.cash .amount{color:#27ae60}.revenue-stats .stat-box.expense{border-left-color:#e67e22}.revenue-stats .stat-box.expense .amount{color:#e67e22}.revenue-stats .stat-box.net.profit{border-left-color:#2ecc71;background:linear-gradient(135deg,#fff,#e8f8f5)}.revenue-stats .stat-box.net.profit .amount{color:#27ae60}.revenue-stats .stat-box.net.loss{border-left-color:#e74c3c;background:linear-gradient(135deg,#fff,#fadbd8)}.revenue-stats .stat-box.net.loss .amount{color:#c0392b}.summary-section{margin-top:30px}.summary-section h2{color:#2c3e50;margin-bottom:20px;font-size:1.5em}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:20px}.summary-card{background:#fff;padding:25px;border-radius:10px;box-shadow:0 2px 8px #0000001a}.summary-card h3{margin:0 0 20px;color:#2c3e50;font-size:1.2em;border-bottom:2px solid #ecf0f1;padding-bottom:10px}.breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f8f9fa}.breakdown-item:last-child{border-bottom:none}.breakdown-item.total{margin-top:10px;padding-top:15px;border-top:2px solid #3498db;border-bottom:none;font-size:1.1em}.breakdown-item span{color:#7f8c8d;font-size:.95em}.breakdown-item strong{color:#2c3e50;font-size:1.1em}.expense-text{color:#e67e22!important}.success-text{color:#27ae60!important}.warning-text{color:#e74c3c!important}.details-section{margin-top:30px}.details-section h2{color:#2c3e50;margin-bottom:20px;font-size:1.5em}.revenue-table-container{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;overflow-x:auto}.revenue-table{width:100%;border-collapse:collapse}.revenue-table thead{background:#34495e;color:#fff}.revenue-table th{padding:15px 12px;text-align:left;font-weight:600;font-size:.95em}.revenue-table td{padding:12px;border-bottom:1px solid #ecf0f1;font-size:.95em}.revenue-table tbody tr:hover{background:#f8f9fa}.revenue-table tfoot{background:#ecf0f1}.revenue-table tfoot td{padding:15px 12px;border-bottom:none;font-size:1.05em}.revenue-table .total-row{background:#f8f9fa}.text-right{text-align:right}.amount-cell{font-weight:700;color:#27ae60;font-size:1.05em}.expense-amount{color:#e67e22!important}.type-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.85em;font-weight:600}.type-badge.fullDay{background:#e3f2fd;color:#1976d2}.type-badge.halfDay{background:#fff3e0;color:#f57c00}.payment-type-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.85em;font-weight:600}.payment-type-badge.online{background:#f3e5f5;color:#7b1fa2}.payment-type-badge.cash{background:#e8f5e9;color:#2e7d32}.empty-state{background:#fff;padding:60px 20px;text-align:center;border-radius:10px;box-shadow:0 2px 8px #0000001a}.empty-state p{color:#95a5a6;font-size:1.1em;margin:0}@media(max-width:768px){.revenue-container{padding:15px}.revenue-stats{grid-template-columns:1fr;gap:15px}.summary-cards{grid-template-columns:1fr}.revenue-table{font-size:.85em}.revenue-table th,.revenue-table td{padding:8px 6px}}.expenses-container{padding:30px}.total-expenses-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px;border-radius:10px;box-shadow:0 4px 12px #00000026;margin-bottom:30px;text-align:center}.total-expenses-card h3{margin:0 0 15px;font-size:1.2em;opacity:.9}.total-amount{margin:0;font-size:3em;font-weight:700}.expenses-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow-x:auto}.expenses-table{width:100%;border-collapse:collapse}.expenses-table th{background:#f8f9fa;padding:15px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6}.expenses-table td{padding:15px;border-bottom:1px solid #dee2e6}.expenses-table tbody tr:hover{background:#f8f9fa}.expenses-table .amount{font-weight:600;color:#e74c3c;font-size:1.1em}.btn-delete-expense{padding:6px 16px;background:#e74c3c;color:#fff;border:none;border-radius:4px;font-size:.85em;cursor:pointer;transition:background .3s}.btn-delete-expense:hover{background:#c0392b}.input-with-prefix{display:flex;align-items:center;border:2px solid #ddd;border-radius:6px;overflow:hidden;transition:border-color .3s}.input-with-prefix:focus-within{border-color:#3498db}.input-with-prefix .prefix{background:#f8f9fa;padding:12px 15px;color:#6c757d;font-weight:600;border-right:2px solid #ddd}.input-with-prefix input{flex:1;padding:12px 15px;border:none;font-size:16px;outline:none}.reports-container{padding:30px}.month-selector{display:flex;align-items:center;gap:10px}.month-selector label{font-weight:600;color:#495057}.month-selector input{padding:8px 12px;border:2px solid #ddd;border-radius:6px;font-size:14px}.report-section{margin-bottom:40px}.report-section h2{margin:0 0 20px;color:#2c3e50;font-size:1.5em}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.report-card{background:#fff;padding:25px;border-radius:10px;box-shadow:0 2px 8px #0000001a;border-left:5px solid;transition:transform .2s}.report-card:hover{transform:translateY(-5px)}.report-card.blue{border-left-color:#3498db}.report-card.green{border-left-color:#2ecc71}.report-card.purple{border-left-color:#9b59b6}.report-card.orange{border-left-color:#f39c12}.report-card.yellow{border-left-color:#f1c40f}.report-card.red{border-left-color:#e74c3c}.report-card h3{margin:0 0 15px;color:#7f8c8d;font-size:.95em;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.big-number{margin:0 0 5px;font-size:2.5em;font-weight:700;color:#2c3e50}.report-card small{color:#95a5a6;font-size:.85em}.profit-section{margin-bottom:40px}.profit-card{background:#fff;padding:40px;border-radius:10px;box-shadow:0 4px 12px #00000026;text-align:center;border:3px solid}.profit-card.positive{border-color:#2ecc71;background:linear-gradient(135deg,#e8f5e9,#fff)}.profit-card.negative{border-color:#e74c3c;background:linear-gradient(135deg,#ffebee,#fff)}.profit-card h2{margin:0 0 20px;color:#2c3e50;font-size:1.5em}.profit-amount{margin:0 0 10px;font-size:3.5em;font-weight:700}.profit-card.positive .profit-amount{color:#2ecc71}.profit-card.negative .profit-amount{color:#e74c3c}.profit-card small{color:#7f8c8d;font-size:.9em}.analysis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.analysis-card{background:#fff;padding:25px;border-radius:10px;box-shadow:0 2px 8px #0000001a}.analysis-card h3{margin:0 0 20px;color:#2c3e50;font-size:1.2em;padding-bottom:10px;border-bottom:2px solid #ecf0f1}.analysis-item{display:flex;justify-content:space-between;align-items:center;padding:15px;margin-bottom:10px;background:#f8f9fa;border-radius:6px}.analysis-item span{color:#555}.analysis-item strong{font-size:1.5em;color:#2c3e50}@media print{.page-header,.month-selector{display:none}.reports-container{padding:20px}}.bulk-add-container{padding:30px;max-width:900px}.bulk-add-container h1{margin:0 0 10px;color:#2c3e50}.config-section{background:#fff;padding:30px;border-radius:10px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px}.info-box{background:#e3f2fd;border-left:4px solid #2196f3;padding:20px;border-radius:6px;margin-bottom:20px}.info-box h3{margin:0 0 12px;color:#1565c0}.info-box ul{margin:0;padding-left:20px;list-style:none}.info-box li{padding:5px 0;color:#1976d2}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#495057;font-weight:600}.form-group input{width:100%;padding:12px;border:2px solid #ddd;border-radius:6px;font-size:16px;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea}.form-group small{display:block;margin-top:5px;color:#6c757d;font-size:.85em}.btn-add-all{width:100%;padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:18px;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #667eea66}.btn-add-all:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #667eea99}.btn-add-all:disabled{opacity:.6;cursor:not-allowed;transform:none}.progress-section{background:#fff;padding:25px;border-radius:10px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px}.progress-bar{width:100%;height:40px;background:#f0f0f0;border-radius:20px;overflow:hidden;margin-bottom:10px}.progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:16px;transition:width .3s ease}.progress-text{text-align:center;color:#666;font-weight:600;margin:0}.results-section{background:#fff;padding:25px;border-radius:10px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px}.results-section h3{margin:0 0 20px;color:#2c3e50}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.result-card{padding:20px;border-radius:8px;text-align:center;border:2px solid}.result-card.success{background:#e8f5e9;border-color:#2ecc71}.result-card.info{background:#e3f2fd;border-color:#2196f3}.result-card.error{background:#ffebee;border-color:#f44336}.result-card.total{background:#f3e5f5;border-color:#9c27b0}.result-number{font-size:2.5em;font-weight:700;margin-bottom:5px}.result-card.success .result-number{color:#2ecc71}.result-card.info .result-number{color:#2196f3}.result-card.error .result-number{color:#f44336}.result-card.total .result-number{color:#9c27b0}.result-label{color:#666;font-weight:600;text-transform:uppercase;font-size:.85em}.logs-section{background:#fff;padding:25px;border-radius:10px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px}.logs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.logs-header h3{margin:0;color:#2c3e50}.btn-clear{padding:8px 16px;background:#95a5a6;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:14px;transition:background .3s}.btn-clear:hover{background:#7f8c8d}.logs-container{max-height:400px;overflow-y:auto;background:#2c3e50;border-radius:6px;padding:15px;font-family:Courier New,monospace}.log-entry{padding:6px 10px;margin-bottom:4px;border-radius:4px;font-size:.9em;display:flex;gap:10px}.log-entry.success{background:#2ecc711a;color:#2ecc71}.log-entry.error{background:#f443361a;color:#f44336}.log-entry.info{color:#ecf0f1}.log-time{color:#95a5a6;font-size:.85em;min-width:80px}.log-text{flex:1}.instructions{background:#fff8e1;border-left:4px solid #ffc107;padding:20px;border-radius:6px}.instructions h3{margin:0 0 15px;color:#f57c00}.instructions ol{margin:0 0 15px;padding-left:20px;line-height:1.8;color:#555}.instructions p{margin:0;color:#666}.instructions a{color:#667eea;text-decoration:none;font-weight:600}.instructions a:hover{text-decoration:underline}@media(max-width:768px){.results-grid{grid-template-columns:repeat(2,1fr)}.logs-container{max-height:300px}}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subtitle{margin:0 0 20px;color:#7f8c8d;font-size:.95em}.message{padding:15px 20px;border-radius:8px;margin-bottom:20px;font-weight:500;animation:slideDown .3s ease-out}.message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;gap:20px;background:#ecf0f1}.loading-spinner{width:50px;height:50px;border:5px solid #f3f3f3;border-top:5px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container p{color:#7f8c8d;font-size:1.1em}.empty-state{text-align:center;padding:60px 20px;color:#999;font-size:1.1em;background:#fff}button{font-family:inherit}button:disabled{opacity:.6;cursor:not-allowed!important}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#555}
