@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{align-items:center;background-color:#f4f4f9;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-form{animation:fadeIn .5s ease-in-out;background-color:#fff;border-radius:12px;box-shadow:0 8px 30px #0000001a;box-sizing:border-box;max-width:400px;padding:40px;text-align:center;width:100%}.login-form h2{color:#333;font-size:1.8rem;margin-bottom:25px;margin-top:0}.form-group{margin-bottom:20px;text-align:left}.form-group label{color:#555;display:block;font-weight:600;margin-bottom:8px}.form-input{border:1px solid #ccc;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:12px 15px;transition:border-color .3s ease,box-shadow .3s ease;width:100%}.form-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff40;outline:none}.error-message{animation:fadeIn .3s;color:#d93025;font-weight:500;margin-bottom:15px;text-align:center}.form-input.input-error{border-color:#d93025}.form-input.input-error:focus{box-shadow:0 0 0 3px #d9302540}@media (max-width:480px){.login-form{padding:25px}.login-form h2{font-size:1.6rem}}.event-card{align-items:center;background-color:#fff;border:1px solid #eaeaeb;border-radius:12px;display:flex;margin-bottom:15px;padding:20px;transition:all .2s ease-in-out}.event-card:hover{border-color:#ddd;box-shadow:0 8px 20px #00000012;transform:translateY(-3px)}.event-date{align-items:center;color:#333;display:flex;flex-direction:column;font-weight:600;justify-content:center;margin-right:25px}.event-date .day{font-size:2rem;line-height:1}.event-date .month{color:#888;font-size:.8rem;letter-spacing:.5px}.event-info{flex-grow:1}.event-title{font-size:1.2rem;font-weight:600;margin:0 0 5px}.event-location{color:#888;font-size:.9rem;margin:0}.event-actions{display:flex;gap:10px}.event-actions button{background:none;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-weight:500;padding:5px 12px}.event-actions button.delete{border-color:#ffa39e;color:#ff4d4f}.event-actions button.manage{background-color:#f6ffed;border-color:#b7eb8f;color:#52c41a}@keyframes backdrop-fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-slide-in{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.dialog-backdrop{align-items:center;animation:backdrop-fade-in .3s ease;background-color:#00000080;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:1000}.dialog-box{animation:dialog-slide-in .4s ease-out;background-color:#fff;border-radius:16px;box-shadow:0 10px 30px #00000026;max-width:450px;padding:30px;text-align:center;width:90%}.dialog-title{font-size:1.5rem;font-weight:600;margin-bottom:15px;margin-top:0}.dialog-message{color:#666}.dialog-input,.dialog-message{font-size:1rem;margin-bottom:25px}.dialog-input{border:1px solid #ddd;border-radius:8px;box-sizing:border-box;padding:12px;width:100%}.dialog-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff33;outline:none}.dialog-buttons{display:flex;gap:15px;justify-content:center;margin-top:10px}.dialog-button{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 25px;transition:all .2s ease}.dialog-button.primary{background-color:#f0f0f0;color:#333}.dialog-button.primary:hover{background-color:#e0e0e0}.dialog-button.secondary{background-color:#6c757d;color:#fff}.dialog-button.secondary:hover{background-color:#5a6268}.dashboard-page{padding:40px 50px}.main-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:40px}.main-header h1{font-size:2.5rem;font-weight:700;letter-spacing:-1px;margin:0}.create-event-button{background-color:var(--sidebar-accent);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 20px;transition:background-color .2s ease,transform .2s ease}.create-event-button:hover{background-color:#0073e6;transform:translateY(-2px)}.pagination-container{align-items:center;border-top:1px solid #e5e7eb;display:flex;font-size:.9rem;justify-content:space-between;padding:20px 25px}.page-info{color:#6b7280}.pagination-controls{display:flex;gap:10px}.pagination-button{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-weight:500;padding:8px 16px;transition:background-color .2s}.pagination-button:hover:not(:disabled){background-color:#f9fafb}.pagination-button:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.user-management-container{background-color:#f8fafc;margin:0 auto;max-width:1200px;min-height:80vh;padding:2rem}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.page-header h2{color:#1e293b;font-size:1.8rem;font-weight:700}.header-actions{gap:1rem}button{border:none;cursor:pointer;font-weight:500;transition:all .2s}.btn-primary{background-color:#3b82f6;border-radius:8px;box-shadow:0 2px 4px #3b82f64d;padding:.6rem 1.2rem}.btn-primary:hover{background-color:#2563eb;transform:translateY(-1px)}.btn-secondary{border:1px solid #cbd5e1;border-radius:8px;font-weight:600;padding:.6rem 1.2rem}.btn-secondary:hover{filter:brightness(.95);transform:translateY(-1px)}.table-responsive{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;overflow-x:auto}.data-table{border-collapse:collapse;min-width:600px;width:100%}.data-table th{background-color:#f1f5f9;border-bottom:2px solid #e2e8f0;color:#475569;font-weight:600;padding:1rem;text-align:left}.data-table td{border-bottom:1px solid #e2e8f0;color:#334155;padding:1rem;vertical-align:middle}.data-table tr:hover{background-color:#f8fafc}.role-badge{border-radius:20px;font-size:.85rem;font-weight:600;padding:.25rem .75rem;text-transform:capitalize}.role-badge.admin{background-color:#e0e7ff;border:1px solid #c7d2fe;color:#4338ca}.role-badge.user{background-color:#f1f5f9;border:1px solid #e2e8f0;color:#475569}.icon-btn{background:#0000;border:none;border-radius:6px;font-size:1.1rem;margin-right:.5rem;padding:.4rem}.icon-btn:hover{background-color:#f1f5f9}.edit-btn:hover{background-color:#eff6ff;color:#3b82f6}.delete-btn:hover{background-color:#fef2f2;color:#ef4444}.empty-state{color:#94a3b8;font-style:italic;padding:3rem!important;text-align:center}.dialog-form{display:flex;flex-direction:column;gap:1rem;padding:.5rem}.dialog-form label{color:#475569;font-size:.9rem;font-weight:600;margin-bottom:-.5rem}.dialog-form input,.dialog-form select{border:1px solid #cbd5e1;border-radius:6px;font-size:1rem;padding:.7rem;transition:border-color .2s}.dialog-form input:focus,.dialog-form select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.error-text{color:#ef4444;margin-top:-.5rem}.loading-spinner{align-items:center;color:#64748b;display:flex;font-size:1.2rem;height:200px;justify-content:center}:root{--sidebar-bg:#1c1c1e;--sidebar-text:#eaeaeb;--sidebar-hover-bg:#2c2c2e}.sidebar{background-color:#1c1c1e;background-color:var(--sidebar-bg);box-sizing:border-box;color:#eaeaeb;color:var(--sidebar-text);display:flex;flex-direction:column;height:100vh;left:0;padding:20px;position:fixed;top:0;transition:transform .3s ease-in-out;width:260px;z-index:9999}.sidebar-header{display:flex;flex-shrink:0;justify-content:center;margin-bottom:40px}.sidebar-logo-img{height:auto;max-width:100px}.sidebar-menu{flex-grow:1;list-style:none;margin:0;overflow-y:auto;padding:0}.sidebar-footer{flex-shrink:0;margin-top:auto}.menu-link{color:inherit;display:block;text-decoration:none}.menu-item{align-items:center;border-radius:8px;cursor:pointer;display:flex;font-weight:500;margin-bottom:8px;padding:12px 15px;transition:background-color .2s ease,color .2s ease}.menu-item svg{height:20px;margin-right:15px;width:20px}.menu-item:hover{background-color:#2c2c2e;background-color:var(--sidebar-hover-bg)}.menu-item.active{background-color:#0a84ff;background-color:var(--sidebar-accent);color:#fff}.logout-button-sidebar{align-items:center;background:none;border:none;border-radius:8px;color:#eaeaeb;color:var(--sidebar-text);cursor:pointer;display:flex;font-size:1rem;font-weight:500;padding:12px 15px;text-align:left;transition:background-color .2s ease;width:100%}.logout-button-sidebar:hover{background-color:#2c2c2e;background-color:var(--sidebar-hover-bg)}.logout-button-sidebar svg{margin-right:15px}.sidebar-overlay{background-color:#00000080;bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:9998}@media (max-width:768px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.sidebar-overlay{display:block}}.sidebar-user-info{color:#a0a0a0;font-size:.9rem;padding:10px 0;text-align:center}.user-name-sidebar{color:#fff;display:block;font-size:1.1rem;font-weight:600;margin-top:4px}.sidebar-separator{border:none;border-top:1px solid #2c2c2e;margin:20px 0}.mobile-header{display:none}@media (max-width:768px){.mobile-header{align-items:center;background-color:#1c1c1e;box-shadow:0 2px 5px #0003;color:#fff;display:flex;height:60px;left:0;padding:0 15px;position:fixed;right:0;top:0;z-index:900}.menu-toggle-btn{background:none;border:none;color:#fff;cursor:pointer;padding:10px}.menu-toggle-btn svg{height:24px;width:24px}.mobile-header-logo{font-weight:600;margin-left:15px}}.inventory-panel{padding:40px 50px}.inventory-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:40px}.inventory-header h1{font-size:2.5rem;font-weight:700;margin:0}.add-button{background-color:#0a84ff;background-color:var(--sidebar-accent,#0a84ff);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:10px 20px}.empty-inventory-message{background-color:#fff;border:1px dashed #ddd;border-radius:12px;color:#888;font-size:1.1rem;margin-top:20px;padding:50px 20px;text-align:center}.location-accordion{background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000000d;margin-bottom:20px}.location-accordion summary{align-items:center;cursor:pointer;display:flex;font-size:1.5rem;font-weight:600;justify-content:space-between;list-style:none;padding:20px}.location-accordion summary::-webkit-details-marker{display:none}.location-title{align-items:center;display:flex;gap:15px}.summary-details{gap:20px}.admin-controls,.summary-details{align-items:center;display:flex}.location-content{border-top:1px solid #f0f0f0;padding:0 20px 20px}.inventory-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:15px 10px}.item-details{align-items:flex-start;display:flex;flex-direction:column}.item-controls{align-items:center;display:flex;gap:15px}.quantity-adjust{display:flex;flex-direction:column;gap:5px}.item-controls .quantity-adjust button{align-items:center;background:#f0f0f0;border:1px solid #ddd;border-radius:50%;cursor:pointer;display:flex;font-size:1.2rem;height:30px;justify-content:center;line-height:1;margin:0;transition:background-color .2s ease,transform .2s ease;width:30px}.item-controls .quantity-adjust button:hover{background-color:#e0e0e0;transform:scale(1.05)}.item-controls .quantity-adjust button,.item-controls .sell-btn{transition:background-color .2s ease,transform .2s ease}.item-controls .quantity-adjust button:hover,.item-controls .sell-btn:hover{transform:scale(1.05)}.sell-btn{background:#e6f7ff;border:1px solid #91d5ff;border-radius:6px;color:#1890ff;cursor:pointer;padding:5px 15px}.sell-btn:hover{background-color:#d4edff}.vending-badge{background:#f6ffed;border:1px solid #b7eb8f;border-radius:6px;color:#52c41a;font-size:.8rem;padding:3px 8px}.total-revenue{color:#389e0d;font-size:1rem;font-weight:500}.item-price{color:#888;font-size:.9rem;margin-top:2px}.item-name{font-weight:500}.item-quantity{font-size:1.1rem;font-weight:600;min-width:30px;text-align:center}.add-button-subtle{background:none;border:1px dashed #ccc;border-radius:8px;color:#888;cursor:pointer;margin-top:15px;padding:10px;width:100%}.delete-button-subtle{background:none;border:none;color:#ff4d4f;cursor:pointer;font-size:.9rem}.delete-button-subtle.item{background:none;border:none;border-radius:0;color:#aaa;font-size:1.5rem;height:auto;width:auto}.checkbox-wrapper{justify-content:center}.checkbox-wrapper input[type=checkbox]{width:auto}.checkbox-wrapper label{font-weight:500;margin:0}.manage-event-panel{margin:0 auto;max-width:1200px;padding:40px 50px}.manage-event-header{margin-bottom:50px;position:relative;text-align:center}.manage-event-header .back-link{color:#0a84ff;color:var(--sidebar-accent,#0a84ff);font-weight:500;left:0;position:absolute;text-decoration:none;top:10px}.manage-event-header h1{font-size:2.5rem;margin:0}.manage-event-header .subtitle{color:#888;font-size:1.2rem;margin-top:10px}.management-menu{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr}.menu-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 20px #0000000f;color:inherit;padding:30px;text-decoration:none;transition:all .2s ease-in-out}.menu-card:hover{border-color:#ccc;box-shadow:0 10px 30px #00000014;transform:translateY(-5px)}.menu-card svg{color:#0a84ff;color:var(--sidebar-accent,#0a84ff);height:32px;margin-bottom:15px;width:32px}.menu-card h3{color:#333;font-size:1.5rem;margin:0 0 10px}.menu-card p{color:#888;line-height:1.5;margin:0}:root{--primary-color:#4f46e5;--primary-hover:#4338ca;--danger-color:#ef4444;--warning-color:#f97316;--gray-text:#6b7280;--light-gray-border:#d1d5db;--light-gray-bg:#f9fafb}.panel-container{background-color:#f9fafb}.panel-header{align-items:flex-start}.panel-header h1{color:#111827;font-size:2rem;font-weight:700}.panel-header .subtitle{color:#6b7280;color:var(--gray-text);margin-top:5px}.back-to-events-btn{background:#fff;border:1px solid #d1d5db;border:1px solid var(--light-gray-border);border-radius:8px;color:#374151;font-weight:500;padding:10px 20px;text-decoration:none;transition:all .2s ease;white-space:nowrap}.back-to-events-btn:hover{background-color:#f3f4f6}.attendee-manager-content{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px 0 #0000000d,0 1px 2px -1px #0000000d}.table-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 25px}.table-header h3{font-size:1.25rem;font-weight:600;margin:0}.attendee-count{color:#6b7280;color:var(--gray-text);font-size:.9rem;margin-top:4px}.action-buttons-group{display:flex;gap:12px}.btn{border:1px solid #0000;border-radius:8px;cursor:pointer;font-weight:500;padding:10px 18px;transition:all .2s ease}.btn-primary{background-color:#4f46e5;background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:#4338ca;background-color:var(--primary-hover)}.btn-secondary{background-color:#fff;border-color:#d1d5db;border-color:var(--light-gray-border);color:#374151}.btn-secondary:hover{background-color:#f9fafb}.btn-tertiary{background-color:#ecfdf5;border-color:#a7f3d0;color:#065f46}.table-controls{border-bottom:1px solid #e5e7eb;display:flex;gap:15px;padding:20px 25px}.search-input{border:1px solid #d1d5db;border:1px solid var(--light-gray-border);flex-grow:1;padding:10px 15px}.search-input:focus{border-color:#4f46e5;border-color:var(--primary-color);box-shadow:0 0 0 2px #4f46e533}.pagination-select{background-color:#fff;border:1px solid #d1d5db;border:1px solid var(--light-gray-border);border-radius:8px;padding:0 15px}.table-wrapper{overflow-x:auto}.attendees-table{border-collapse:collapse;width:100%}.attendees-table td,.attendees-table th{border-bottom:1px solid #e5e7eb;overflow:hidden;padding:16px 25px;text-align:left;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.attendees-table tr:last-child td{border-bottom:none}.attendees-table th{background-color:#f9fafb;background-color:var(--light-gray-bg);color:#6b7280;color:var(--gray-text);font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.attendees-table th:first-child{width:28%}.attendees-table th:nth-child(2){width:22%}.attendees-table th:nth-child(3){width:12%}.attendees-table th:nth-child(4){width:10%}.attendees-table th:nth-child(5){width:13%}.attendees-table th:nth-child(6){width:5%}.actions-header{text-align:right}.user-info-cell{display:flex;flex-direction:column}.user-info-cell .user-name{color:#111827;font-weight:500}.user-info-cell .user-subtext{color:#6b7280;color:var(--gray-text);font-size:.9rem}.actions-cell{text-align:right}.status-badge{border-radius:12px;font-size:.8rem;font-weight:600;padding:4px 12px;text-transform:uppercase}.status-badge.not-sent{background-color:#fffbe6;color:#d48806}.status-badge.sent{background-color:#e6f7ff;color:#1890ff}.status-badge.checked-in{background-color:#f6ffed;color:#52c41a}.empty-list-message{color:#6b7280;color:var(--gray-text);padding:40px;text-align:center}.dialog-form label{display:block;font-weight:500;margin-bottom:5px;margin-top:15px;text-align:left}.dialog-form input{border:1px solid #ccc;border-radius:6px;box-sizing:border-box;padding:10px;width:100%}.csv-instructions{background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;color:var(--gray-text);margin-bottom:20px;margin-top:0;padding:10px;text-align:left}.file-input{margin-bottom:15px;width:100%}.file-name{color:#374151;font-weight:500;margin-top:10px;text-align:center}@media (max-width:768px){.panel-container{padding:15px}.attendees-table thead{display:none}.attendees-table tr{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 2px 8px #00000014;display:block;margin-bottom:15px}.attendees-table td{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:10px 15px;text-align:right}.attendees-table td:last-child{border-bottom:none}.attendees-table td:before{color:#333;content:attr(data-label);font-weight:600;margin-right:15px;text-align:left}.actions-cell{justify-content:center}.actions-cell:before{display:none}.table-controls,.table-header{flex-direction:column;gap:15px}.action-buttons-group{display:grid;grid-template-columns:1fr 1fr;width:100%}.btn-tertiary{grid-column:1/-1}}.dialog-form .form-error{color:#ef4444;display:block;font-size:.8rem;font-weight:500;margin-top:5px;text-align:left}.dialog-form input.error{background-color:#fef2f2;border-color:#ef4444}.dialog-form input.error:focus{border-color:#ef4444;box-shadow:0 0 0 2px #ef444433}.dropdown-container{position:relative}.dropdown-trigger{background:none;border:none;border-radius:50%;cursor:pointer;display:flex;padding:5px}.dropdown-trigger:hover{background-color:#f3f4f6}.dropdown-trigger svg{color:#6b7280}.dropdown-menu{animation:fadeIn .1s ease-out;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 20px #00000026;list-style:none;margin:0;min-width:180px;padding:8px 0;position:absolute;z-index:1050}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 15px;transition:background-color .2s ease;white-space:nowrap}.dropdown-item:hover{background-color:#f3f4f6}.dropdown-item.danger{color:#ef4444}.dropdown-item.danger:hover{background-color:#fef2f2}.ticket-designer{border-top:1px solid #eee;margin-top:30px;padding-top:30px}.designer-section{margin-bottom:30px}.designer-section h5{margin-top:0}.designer-section p{color:#888;font-size:.9rem}.coords-grid{grid-gap:10px 20px;align-items:center;display:grid;gap:10px 20px;grid-template-columns:auto 1fr;max-width:300px}.coords-grid input{padding:5px;width:100%}.current-template{color:#52c41a;font-size:.8rem}.ticket-designer button{background-color:#4f46e5;background-color:var(--primary-color,#4f46e5);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 20px;transition:all .2s ease}.ticket-designer button:hover{background-color:#4338ca;background-color:var(--primary-hover,#4338ca);box-shadow:0 4px 10px #0000001a;transform:translateY(-1px)}.ticket-designer button:disabled{background-color:#ccc;box-shadow:none;cursor:not-allowed;transform:none}.ticket-designer input[type=file]{margin-bottom:10px}.coords-grid+button{margin-top:15px}.upload-file-b{margin-left:15px}.coords-grid .form-error{color:#ef4444;display:block;font-size:.8rem;font-weight:500;margin-top:5px}.coords-grid>div{display:flex;flex-direction:column}.coords-grid input{border:1px solid #ccc}.coords-grid input.error{border-color:#ef4444}.coords-grid input.error:focus{border-color:#ef4444;box-shadow:0 0 0 2px #ef444433}.panel-container{margin:0 auto;max-width:1200px;padding:40px 50px}.panel-header{border-bottom:1px solid #e0e0e0;margin-bottom:40px}.panel-header .back-link{color:#0a84ff;color:var(--sidebar-accent,#0a84ff);display:inline-block;font-weight:500;margin-bottom:20px;text-decoration:none}.panel-header h1{font-size:2.5rem}.subtitle{color:#666;font-size:1.1rem;margin-top:5px}.settings-content{background-color:#fff;border-radius:12px;box-shadow:0 4px 20px #0000000f;padding:30px}.sales-section-box{background-color:#f8fafc;border:1px solid #e2e8f0;border-left:5px solid #10b981;border-radius:8px;margin-bottom:40px;padding:25px}.sales-header{align-items:center;display:flex;justify-content:space-between}.sales-header h3{color:#1e293b;font-size:1.2rem;margin:0 0 5px}.section-desc{color:#64748b;font-size:.95rem;margin:0}.sales-toggle-wrapper{align-items:center;display:flex;gap:15px}.status-active{color:#10b981;font-size:.9rem;font-weight:700}.status-inactive{color:#94a3b8;font-size:.9rem;font-weight:600}.toggle-switch{display:inline-block;height:28px;position:relative;width:50px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-switch .slider{background-color:#cbd5e1;border-radius:34px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.toggle-switch .slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:20px;left:4px;position:absolute;transition:.4s;width:20px}.toggle-switch input:checked+.slider{background-color:#10b981}.toggle-switch input:checked+.slider:before{transform:translateX(22px)}.permissions-section{margin-top:30px}.permissions-section h3{margin-bottom:10px;margin-top:0}.section-subtitle{color:#888;font-size:.9rem;margin-bottom:20px;margin-top:0}.role-info-box{background-color:#eff6ff;border:1px solid #dbeafe;border-radius:8px;color:#1e40af;font-size:.9rem;line-height:1.5;margin-bottom:25px;padding:15px 20px}.role-info-box ul{margin:5px 0 0;padding-left:20px}.role-info-box li{margin-bottom:4px}.permissions-list{border-top:1px solid #eee;margin-bottom:30px;padding-top:20px}.permission-item{align-items:center;border-bottom:1px solid #f9f9f9;border-radius:6px;display:flex;justify-content:space-between;padding:12px;transition:background-color .2s}.permission-item:hover{background-color:#f8fafc}.permission-user-info .user-name{color:#334155;display:block;font-weight:600}.permission-user-info .user-email{color:#64748b;font-size:.85rem}.permission-role .role-badge{border-radius:20px;display:inline-block;font-size:.75rem;font-weight:600;padding:4px 12px;text-transform:capitalize}.role-badge.role-scanner{background-color:#e6f7ff;color:#0077fa}.role-badge.role-editor{background-color:#f9f0ff;color:#722ed1}.role-badge.role-attendee_manager{background-color:#fff2e8;color:#d46b08}.role-badge.role-seller{background-color:#dcfce7;color:#166534}.revoke-btn{background:#fff;border:1px solid #fee2e2;border-radius:6px;color:#ef4444;cursor:pointer;font-size:.85rem;font-weight:500;padding:6px 12px;transition:all .2s}.revoke-btn:hover{background-color:#fef2f2;border-color:#fecaca}.grant-permission-form{border-top:1px solid #eee;margin-top:20px;padding-top:25px}.grant-permission-form h4{color:#334155;margin-bottom:15px;margin-top:0}.form-row{grid-gap:15px;align-items:center;display:grid;gap:15px;grid-template-columns:2fr 1fr auto}.form-row select{background-color:#fff;border:1px solid #cbd5e1;border-radius:6px;font-size:.95rem;padding:10px}.form-row button{background-color:#f0fdf4;border:1px solid #86efac;border-radius:6px;color:#16a34a;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s}.form-row button:hover{background-color:#dcfce7}.empty-list{color:#94a3b8;font-style:italic;margin:20px 0;text-align:center}.scanner-container{margin:0 auto;max-width:800px;padding:30px 40px;text-align:center}.back-link-scanner{color:#0a84ff;color:var(--sidebar-accent,#0a84ff);display:block;font-weight:500;margin-bottom:20px;text-align:left;text-decoration:none}.scanner-container h1{font-size:2rem;font-weight:700}.scanner-wrapper{align-items:center;aspect-ratio:1/1;background-color:#f0f0f0;border:1px solid #e0e0e0;border-radius:16px;box-shadow:0 10px 30px #0000001a;display:flex;justify-content:center;margin:30px auto;max-width:500px;overflow:hidden;position:relative;width:100%}.scanner-wrapper>div{border-radius:16px}.scanner-wrapper video{height:auto!important;width:100%!important}.scanner-paused-overlay{color:#888;font-size:1.5rem;font-weight:500}.scanner-instructions{color:#888;font-size:1.1rem;margin-top:20px}.scan-result-message{border-radius:8px;font-size:1.2rem;font-weight:600;margin:15px 0;padding:20px;text-align:center}.scan-result-message.success{background-color:#f6ffed;border:1px solid #b7eb8f;color:#389e0d}.scan-result-message.failure{background-color:#fff1f0;border:1px solid #ffa39e;color:#cf1322}.scan-result-message p{margin:5px 0}.panel-container{background-color:#f8fafc;min-height:100vh;padding:30px 40px}.panel-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.header-left{display:flex;flex-direction:column;gap:5px}.header-actions{align-items:center;display:flex;gap:12px}.back-link{align-items:center;color:#0a84ff;color:var(--sidebar-accent,#0a84ff);display:inline-flex;font-size:.9rem;font-weight:500;gap:5px;text-decoration:none}.panel-header h1{color:#1e293b;font-size:1.8rem;margin:0}.action-btn{align-items:center;border:none;border-radius:8px;box-shadow:0 1px 2px #0000000d;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:8px;padding:10px 16px;transition:all .2s ease}.action-btn:disabled{cursor:not-allowed;opacity:.6}.action-btn svg{height:18px;width:18px}.btn-excel{background-color:#10b981;color:#fff}.btn-excel:hover:not(:disabled){background-color:#059669}.btn-csv{background-color:#fff;border:1px solid #d1d5db;color:#4b5563}.btn-csv:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af;color:#111827}.save-form-btn{background-color:#0a84ff;background-color:var(--sidebar-accent,#0a84ff);color:#fff}.save-form-btn:hover:not(:disabled){filter:brightness(110%)}.response-counter{background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:20px;color:#64748b;font-size:.9rem;font-weight:500;margin-right:5px;padding:6px 12px}.form-builder-layout{grid-gap:25px;align-items:start;display:grid;gap:25px;grid-template-columns:260px 1fr 320px}.form-canvas,.question-palette,.question-settings{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 6px -1px #0000000d;padding:25px}.question-palette h4,.question-settings h4{align-items:center;color:#334155;display:flex;font-size:1.1rem;font-weight:700;gap:8px;margin-bottom:20px;margin-top:0}.component-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#475569;cursor:grab;display:flex;font-weight:500;gap:10px;margin-bottom:12px;padding:14px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.component-btn:active{cursor:grabbing}.component-btn:hover{background-color:#f8fafc;border-color:#0a84ff;border-color:var(--sidebar-accent,#0a84ff);color:#0a84ff;color:var(--sidebar-accent,#0a84ff);transform:translateX(5px)}.form-canvas{background-color:#fff;min-height:600px;transition:background-color .2s ease}.canvas-placeholder{align-items:center;background-color:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;color:#94a3b8;display:flex;flex-direction:column;height:100%;justify-content:center;min-height:450px}.question-item{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #00000005;margin-bottom:20px;padding:25px;position:relative}.sortable-question.selected .question-item{border-color:#0a84ff;border-color:var(--sidebar-accent,#0a84ff);box-shadow:0 0 0 3px #0a84ff26}.question-item label{color:#1e293b;display:block;font-size:1.05rem;font-weight:600;margin-bottom:12px}.required-indicator{color:#ef4444;font-size:1.1rem;font-weight:700;margin-left:4px;vertical-align:middle}.question-item input:not([type=checkbox]):not([type=radio]),.question-item textarea{background-color:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;box-sizing:border-box;color:#64748b;padding:12px;width:100%}.question-item input[type=checkbox]{accent-color:#0a84ff;accent-color:var(--sidebar-accent,#0a84ff);cursor:default;height:18px;margin-right:10px;width:18px}.question-item .question-description-preview{color:#64748b;font-size:.9rem;margin-bottom:15px;margin-top:-8px}.options-container{display:flex;flex-direction:column;gap:12px}.options-container div{align-items:center;display:flex}.options-container label{color:#475569;font-weight:400;margin:0}.settings-form label{color:#334155;display:block;font-size:.9rem;font-weight:600;margin-bottom:8px;margin-top:18px}.settings-form input:not([type=checkbox]):not([type=radio]):not([type=file]),.settings-form textarea{background-color:#fff;border:1px solid #cbd5e1;border-radius:8px;box-sizing:border-box;font-size:.95rem;padding:10px 12px;transition:all .2s;width:100%}.settings-form input:focus,.settings-form textarea:focus{border-color:#0a84ff;border-color:var(--sidebar-accent,#0a84ff);box-shadow:0 0 0 3px #0a84ff1a;outline:none}.settings-separator{border:none;border-top:1px solid #e2e8f0;margin:30px 0}.form-status-toggle{align-items:center;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;justify-content:space-between;margin-top:25px;padding:16px}.form-status-toggle label{margin:0!important;padding:0}.status-indicator{align-items:center;display:flex}.toggle-switch-local{display:inline-block;height:26px;margin-right:10px;position:relative;width:48px}.toggle-switch-local input{height:0;opacity:0;width:0}.toggle-switch-local .slider{background-color:#cbd5e1;border-radius:34px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle-switch-local .slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:18px;left:4px;position:absolute;transition:.3s;width:18px}.toggle-switch-local input:checked+.slider{background-color:#10b981}.toggle-switch-local input:checked+.slider:before{transform:translateX(22px)}.checkbox-wrapper{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;gap:10px;margin-top:20px;padding:12px}.checkbox-wrapper label{cursor:pointer;margin:0!important}.checkbox-wrapper input[type=checkbox]{accent-color:#0a84ff;accent-color:var(--sidebar-accent,#0a84ff);cursor:pointer;height:18px;margin:0;width:18px}.hidden-file-input{display:none}.custom-file-upload{align-items:center;background-color:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:25px;text-align:center;transition:all .2s}.custom-file-upload:hover{background-color:#f0f9ff;border-color:#0a84ff;border-color:var(--sidebar-accent,#0a84ff);color:#0a84ff;color:var(--sidebar-accent,#0a84ff)}.custom-file-upload .upload-icon{color:#94a3b8;display:block;transition:color .2s}.custom-file-upload:hover .upload-icon{color:#0a84ff;color:var(--sidebar-accent,#0a84ff)}.preview-mini{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-top:15px;padding:10px;text-align:center}.preview-mini img{background-color:#f8fafc;border-radius:8px;height:160px;margin-bottom:12px;object-fit:contain;width:100%}.multiple-choice-settings{margin-top:20px}.option-editor{align-items:center;display:flex;gap:8px;margin-bottom:8px}.option-editor input{flex-grow:1}.add-option-btn,.remove-option-btn{border:none;border-radius:6px;cursor:pointer;font-weight:600}.remove-option-btn{align-items:center;background-color:#fee2e2;color:#ef4444;display:flex;height:32px;justify-content:center;width:32px}.add-option-btn{background:#f1f5f9;border:1px dashed #cbd5e1;color:#64748b;margin-top:10px;padding:10px;width:100%}.sortable-question{cursor:grab;position:relative;transition:transform .2s,opacity .2s}.delete-question-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;display:flex;justify-content:center;padding:6px;position:absolute;right:15px;top:15px;transition:all .2s;z-index:10}.delete-question-btn:hover{background-color:#fee2e2;color:#ef4444}body{background-color:#f3f4f6}.public-form-container{background:#fff;border-radius:12px;box-shadow:0 10px 25px -5px #0000001a,0 10px 10px -5px #0000000a;margin:50px auto;max-width:700px;padding:40px}.public-form-container.centered{text-align:center}.public-form-container h1{font-size:2rem;margin-bottom:10px}.public-form-container .form-description{color:#6b7280;font-size:1.1rem;margin-top:0}.public-form-container hr{border:none;border-top:1px solid #e5e7eb;margin:30px 0}.form-question{margin-bottom:30px}.form-question label{color:#111827;font-size:1.1rem;font-weight:600}.form-question label .required-asterisk{color:#ef4444;margin-left:4px}.question-description{color:#6b7280;font-size:.9rem;margin-bottom:15px;margin-top:5px}.form-question input,.form-question textarea{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:12px;width:100%}.form-question input:focus,.form-question textarea:focus{border-color:#4f46e5;border-color:var(--primary-color,#4f46e5);box-shadow:0 0 0 2px #4f46e533;outline:none}.submit-btn{background:#4f46e5;background:var(--primary-color,#4f46e5);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:500;padding:15px;transition:background-color .2s;width:100%}.submit-btn:hover{background:#4338ca;background:var(--primary-hover,#4338ca)}.submit-btn:disabled{background:#9ca3af;cursor:not-allowed}.success-message h2{color:#16a34a}.error-message,.submission-error{color:#ef4444;font-weight:500}.submission-error{background-color:#fef2f2;border-radius:6px;margin-bottom:20px;padding:10px;text-align:center}.multiple-choice-group{display:flex;flex-direction:column;gap:12px;margin-top:15px}.checkbox-label{align-items:center;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;font-weight:500;padding:12px}.checkbox-label input[type=checkbox]{height:20px;margin-right:12px;width:20px}.question-image-container img,.question-image-preview{border:1px solid #e5e7eb;border-radius:8px;margin:10px 0;max-height:300px;max-width:100%;object-fit:cover}.preview-mini img{border-radius:4px;height:100px;margin-top:5px;object-fit:cover;width:100px}.remove-img-btn{background:#fee2e2;border:none;border-radius:4px;color:#ef4444;cursor:pointer;display:block;font-size:.8rem;margin-top:5px;padding:4px 8px}.input-error{background-color:#fef2f2;border:1px solid #dc2626!important}.error-text{display:block;font-size:.85rem;font-weight:500;margin-top:4px}.error-text,.has-error label{color:#dc2626}.sales-container{background-color:#f8fafc;min-height:100vh;padding:30px}.sales-header-main{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.sales-header-main h2{color:#1e293b;font-size:1.8rem;margin:0}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:2rem}.stat-card{background:#fff;border:1px solid #f1f5f9;border-radius:16px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;display:flex;flex-direction:column;padding:1.5rem;transition:all .3s ease}.stat-card:hover{border-color:#e2e8f0;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transform:translateY(-5px)}.stat-card h4{border-bottom:2px solid #f8fafc;color:#1e293b;font-size:1.25rem;font-weight:700;margin:0 0 1.2rem;padding-bottom:.8rem}.stat-details{display:flex;flex-direction:column;gap:.8rem}.tag-bizum,.tag-cash{align-items:center;border-radius:10px;display:flex;font-size:.95rem;justify-content:space-between;padding:.75rem 1rem}.tag-bizum{background-color:#eff6ff;border:1px solid #dbeafe;color:#1e40af}.tag-cash{background-color:#fffbeb;border:1px solid #fcd34d;color:#b45309}.tag-bizum span:last-child,.tag-cash span:last-child{font-size:1.05rem;font-weight:700}.stat-total{align-items:center;border-top:2px dashed #e2e8f0;color:#64748b;display:flex;font-weight:600;justify-content:space-between;margin-top:1.2rem;padding-top:1rem}.stat-total span:first-child{font-size:.9rem;letter-spacing:.5px;text-transform:uppercase}.stat-total span:last-child{color:#059669;font-size:1.5rem;font-weight:800}.no-stats{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;color:#94a3b8;font-style:italic;grid-column:1/-1;padding:3rem;text-align:center}.pending-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 6px -1px #0000000d;padding:25px}.pending-section h3{align-items:center;color:#334155;display:flex;margin-bottom:20px;margin-top:0}.search-input{border:1px solid #cbd5e1;border-radius:8px;box-sizing:border-box;font-size:1rem;margin-bottom:20px;padding:12px;width:100%}.search-input:focus{border-color:#0a84ff;box-shadow:0 0 0 3px #0a84ff1a;outline:none}.pending-list{display:flex;flex-direction:column;gap:10px}.pending-item{align-items:center;border:1px solid #f1f5f9;border-radius:8px;display:flex;justify-content:space-between;padding:15px;transition:background-color .2s}.pending-item:hover{background-color:#f8fafc;border-color:#e2e8f0}.attendee-info{display:flex;flex-direction:column;gap:4px}.att-name{color:#1e293b;font-size:1.05rem;font-weight:600}.att-contact{color:#64748b;font-size:.9rem}.att-phone{color:#059669;font-size:.85rem;font-weight:500}.payment-actions{display:flex;gap:10px}.btn-pay-bizum,.btn-pay-cash{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:6px;padding:8px 16px;transition:all .2s}.btn-pay-bizum{background-color:#eff6ff;border:1px solid #dbeafe;color:#1d4ed8}.btn-pay-bizum:hover{background-color:#dbeafe}.btn-pay-cash{background-color:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.btn-pay-cash:hover{background-color:#dcfce7}.empty-msg{color:#94a3b8;font-style:italic;padding:30px;text-align:center}:root{--sidebar-accent:#0a84ff}body{background-color:#f9fafb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0}.main-layout-content{margin-left:260px;transition:margin-left .3s ease-in-out}@media (max-width:768px){.main-layout-content{margin-left:0;padding-top:60px}}.app-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px;text-align:center}.main-content{max-width:600px;width:100%}.main-content h1{font-size:3rem;font-weight:600;margin-bottom:1rem}.main-content p{color:#666;font-size:1.2rem;font-weight:300;margin-bottom:2.5rem}.primary-button{background-color:#007bff;border:none;border-radius:8px;box-shadow:0 4px 10px #0000001a;color:#fff;cursor:pointer;font-size:1rem;font-weight:400;padding:15px 30px;transition:background-color .3s ease,transform .2s ease}.primary-button:hover{background-color:#0056b3;transform:translateY(-2px)}.dashboard-layout{background-color:#f7f7f7}