.sidebar{width:250px;background-color:#2c3e50;color:#fff;display:flex;flex-direction:column;overflow-y:auto}.sidebar-header{padding:20px;border-bottom:1px solid #34495e}.sidebar-header h2{margin:0;font-size:20px;font-weight:600}.sidebar-nav{flex:1;padding:10px 0}.nav-home-link{display:block;padding:10px 20px;color:#ecf0f1;text-decoration:none;font-size:14px;font-weight:500;border-bottom:1px solid #34495e;margin-bottom:4px;transition:background .15s}.nav-home-link:hover{background:#34495e}.nav-home-link.active{background:#3498db;color:#fff}.sidebar-nav a{display:block;padding:12px 20px;color:#ecf0f1;text-decoration:none;transition:background-color .2s}.sidebar-nav a:hover{background-color:#34495e}.sidebar-nav a.active{background-color:#3498db;color:#fff}.sidebar-nav a[href="/users"],.sidebar-nav a[href="/shifts"]{display:none}.nav-folder{margin-bottom:0}.nav-folder-toggle{display:flex;align-items:center;width:100%;padding:14px 20px 6px;border:none;background:none;color:#ecf0f1;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left}.nav-folder-toggle:hover{color:#fff}.nav-folder-icon{margin-right:4px;font-size:9px}.nav-folder-content a{padding-left:20px}.nav-section-title{padding:14px 20px 6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:#7f8c8d;-webkit-user-select:none;user-select:none;margin-top:4px}.nav-section-title:first-child{margin-top:0}.nav-section-divider{height:1px;background-color:#34495e;margin:8px 16px}.notification-bell-container{position:relative}.notification-bell-btn{background:none;border:none;cursor:pointer;font-size:20px;padding:6px 8px;border-radius:8px;position:relative;transition:background .15s;line-height:1}.notification-bell-btn:hover{background:#f3f4f6}.notification-bell-btn.has-notifications{animation:bell-shake .5s ease-in-out}@keyframes bell-shake{0%,to{transform:rotate(0)}20%{transform:rotate(12deg)}40%{transform:rotate(-12deg)}60%{transform:rotate(6deg)}80%{transform:rotate(-6deg)}}.notification-badge{position:absolute;top:0;right:0;min-width:18px;height:18px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1;border:2px solid white;box-sizing:border-box}.notification-dropdown{position:absolute;top:100%;right:0;width:400px;max-height:520px;background:#fff;border-radius:12px;box-shadow:0 12px 40px #00000026;border:1px solid #e5e7eb;z-index:1000;overflow:hidden;display:flex;flex-direction:column}.notification-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #e5e7eb;font-size:15px;font-weight:600;color:#1f2937}.nd-count{background:#ef4444;color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px}.nd-loading,.nd-empty{padding:32px 16px;text-align:center;color:#9ca3af;font-size:14px}.notification-list{overflow-y:auto;max-height:460px;flex:1}.notification-item{padding:14px 16px;border-bottom:1px solid #f3f4f6;transition:background .15s}.notification-item:hover{background:#fafbfc}.notification-item:last-child{border-bottom:none}.notification-item.type-reminder{border-left:3px solid #3b82f6}.notification-item.type-overdue{border-left:3px solid #ef4444}.notification-item.type-gap{border-left:3px solid #f59e0b}.ni-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.ni-type-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:8px}.ni-type-badge.reminder{background:#dbeafe;color:#1d4ed8}.ni-type-badge.overdue{background:#fee2e2;color:#dc2626}.ni-type-badge.gap{background:#fef3c7;color:#92400e}.ni-time{font-size:11px;color:#9ca3af}.ni-body{margin-bottom:10px}.ni-client{font-size:14px;margin-bottom:4px}.ni-phone{margin-left:8px;font-size:13px;color:#6b7280}.ni-detail{display:flex;align-items:center;gap:8px;font-size:13px;color:#6b7280}.ni-activity{background:#f3f4f6;padding:1px 6px;border-radius:4px;font-weight:500}.ni-message{font-size:12px;color:#6b7280;margin:6px 0 0;line-height:1.4}.ni-actions{display:flex;gap:8px;flex-wrap:wrap}.ni-btn{padding:5px 12px;border-radius:6px;border:1px solid #d1d5db;background:#fff;cursor:pointer;font-size:12px;font-weight:500;transition:all .15s;white-space:nowrap}.ni-btn:disabled{opacity:.5;cursor:not-allowed}.ni-btn-confirm{background:#dcfce7;color:#166534;border-color:#86efac}.ni-btn-confirm:hover:not(:disabled){background:#bbf7d0}.ni-btn-cancel{background:#fee2e2;color:#dc2626;border-color:#fca5a5}.ni-btn-cancel:hover:not(:disabled){background:#fecaca}.ni-btn-extend{background:#dbeafe;color:#1d4ed8;border-color:#93c5fd}.ni-btn-extend:hover:not(:disabled){background:#bfdbfe}.ni-btn-secondary{background:#f3f4f6;color:#374151;border-color:#d1d5db}.ni-btn-secondary:hover:not(:disabled){background:#e5e7eb}.ni-extend-form{display:flex;flex-direction:column;gap:6px;width:100%;padding:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px}.ni-extend-form label{font-size:12px;font-weight:500;color:#64748b}.ni-extend-form input{padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:13px}.ni-extend-form input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea26}.ni-extend-actions{display:flex;gap:6px;margin-top:4px}.ni-activity-select{padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:13px;width:100%;background:#fff}.ni-activity-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea26}.ni-stop-check-hint{font-size:11px;color:#7c3aed;background:#ede9fe;padding:4px 8px;border-radius:4px;font-weight:500}.time-control-container{position:relative}.time-control-btn{display:flex;align-items:center;gap:6px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:4px 10px;cursor:pointer;font-size:13px;transition:all .15s;height:34px}.time-control-btn:hover{background:#f3f4f6;border-color:#d1d5db}.time-control-btn.overridden{background:#fefce8;border-color:#fbbf24;box-shadow:0 0 0 2px #fbbf2433}.tc-icon{font-size:16px;line-height:1}.tc-time{font-family:SF Mono,Menlo,monospace;font-size:12px;color:#374151}.tc-badge{font-size:9px;font-weight:800;background:#dc2626;color:#fff;padding:1px 5px;border-radius:4px;letter-spacing:.5px}.time-control-dropdown{position:absolute;top:100%;right:0;width:340px;background:#fff;border-radius:12px;box-shadow:0 12px 40px #00000026;border:1px solid #e5e7eb;z-index:1001;overflow:hidden;margin-top:6px}.tc-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e5e7eb;font-size:14px;font-weight:600;color:#1f2937}.tc-warn{font-size:11px;font-weight:700;background:#fef3c7;color:#92400e;padding:2px 8px;border-radius:8px}.tc-body{padding:16px;display:flex;flex-direction:column;gap:14px}.tc-real-time{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;font-size:13px}.tc-label{font-size:12px;font-weight:500;color:#6b7280}.tc-value{font-family:SF Mono,Menlo,monospace;font-size:13px;font-weight:600;color:#166534}.tc-input-group{display:flex;flex-direction:column;gap:6px}.tc-input-group label{font-size:12px;font-weight:500;color:#6b7280}.tc-input-group input{padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;width:100%;box-sizing:border-box}.tc-input-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea26}.tc-btn{padding:8px 14px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all .15s;width:100%}.tc-btn-apply{background:#667eea;color:#fff}.tc-btn-apply:hover{background:#5a6fd6}.tc-btn-reset{background:#f0fdf4;color:#166534;border:1px solid #86efac}.tc-btn-reset:hover{background:#dcfce7}.tc-quick-shifts{display:flex;flex-direction:column;gap:6px}.tc-shift-buttons{display:flex;gap:4px;flex-wrap:wrap}.tc-shift-buttons button{flex:1;min-width:46px;padding:5px 4px;border:1px solid #d1d5db;border-radius:4px;background:#fff;font-size:11px;font-weight:600;color:#374151;cursor:pointer;transition:all .1s}.tc-shift-buttons button:hover{background:#eef2ff;border-color:#a5b4fc;color:#4338ca}.topbar{background-color:#fff;border-bottom:1px solid #e0e0e0;padding:0 20px;height:60px;display:flex;align-items:center}.topbar-content{width:100%;display:flex;justify-content:space-between;align-items:center}.topbar-left{display:flex;align-items:center}.restaurant-badge{background-color:#3498db;color:#fff;padding:6px 12px;border-radius:4px;font-size:14px;font-weight:500}.topbar-right{display:flex;align-items:center;gap:20px}.user-info{display:flex;flex-direction:column;align-items:flex-end}.user-name{font-weight:500;font-size:14px;color:#333}.user-role{font-size:12px;color:#666}.logout-btn{padding:8px 16px;background-color:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.logout-btn:hover{background-color:#c0392b}.layout{display:flex;height:100vh;overflow:hidden}.layout-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.main-content{flex:1;min-height:0;overflow-y:auto;padding:20px;background-color:#f5f5f5;display:flex;flex-direction:column}.loading-container{display:flex;justify-content:center;align-items:center;height:100vh}.spinner{font-size:18px;color:#666}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-box{background:#fff;padding:40px;border-radius:8px;box-shadow:0 4px 6px #0000001a;width:100%;max-width:400px}.login-box h1{margin:0 0 10px;font-size:24px;color:#333}.login-hint{color:#666;font-size:14px;margin-bottom:20px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:5px;font-weight:500;color:#333}.form-group input{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:16px;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea}.login-box button[type=submit]{width:100%;padding:12px;background-color:#667eea;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s}.login-box button[type=submit]:hover:not(:disabled){background-color:#5568d3}.login-box button[type=submit]:disabled{background-color:#ccc;cursor:not-allowed}.error-message{background-color:#fee;color:#c33;padding:10px;border-radius:4px;margin-bottom:15px;font-size:14px}.attempts-info{background-color:#fff3cd;color:#856404;padding:10px;border-radius:4px;margin-bottom:15px;font-size:14px}.login-info{margin-top:20px;padding-top:20px;border-top:1px solid #eee;font-size:12px;color:#666}.login-info p{margin:5px 0}.resend-section{margin-top:15px;text-align:center}.resend-btn{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;text-decoration:underline}.resend-btn:hover:not(:disabled){color:#5568d3}.resend-btn:disabled{color:#ccc;cursor:not-allowed;text-decoration:none}.back-btn{width:100%;margin-top:10px;padding:8px;background:none;border:1px solid #ddd;color:#666;border-radius:4px;cursor:pointer;font-size:14px}.back-btn:hover{background-color:#f5f5f5}.platform-dashboard{padding:20px}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.card h3{margin:0 0 10px;font-size:14px;color:#666}.card-value{font-size:32px;font-weight:700;color:#333;margin:0}.recent-section{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.recent-section h2{margin-top:0}.data-table-container{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.data-table{width:100%;border-collapse:collapse}.data-table thead{background-color:#f8f9fa}.data-table th{padding:12px 16px;text-align:left;font-weight:600;font-size:14px;color:#333;border-bottom:2px solid #dee2e6}.data-table td{padding:12px 16px;border-bottom:1px solid #dee2e6;font-size:14px;color:#555}.data-table tbody tr:hover{background-color:#f8f9fa}.data-table tbody tr.clickable-row{cursor:pointer}.data-table tbody tr.clickable-row:hover{background-color:#e9ecef}.data-table-empty,.data-table-loading{padding:40px;text-align:center;color:#666;background:#fff;border-radius:8px}.modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;max-height:90vh;overflow-y:auto}.modal-small{width:400px}.modal-medium{width:600px}.modal-large{width:900px}.modal-xlarge{width:95%;max-width:1400px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #dee2e6}.modal-header h2{margin:0;font-size:20px}.modal-close{background:none;border:none;font-size:28px;cursor:pointer;color:#6c757d;line-height:1;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#495057}.modal-body{padding:20px}.form-input{margin-bottom:20px}.form-input label{display:block;margin-bottom:5px;font-weight:500;color:#333;font-size:14px}.form-input .required{color:#e74c3c;margin-left:2px}.form-input input,.form-input select,.form-input textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box;transition:border-color .2s}.form-input input:focus,.form-input select:focus,.form-input textarea:focus{outline:none;border-color:#667eea}.form-input input.error,.form-input select.error,.form-input textarea.error{border-color:#e74c3c}.form-input .error-message{color:#e74c3c;font-size:12px;margin-top:5px}.form-input input:disabled,.form-input select:disabled,.form-input textarea:disabled{background-color:#f5f5f5;cursor:not-allowed}.search-bar{margin-bottom:20px}.search-input{width:100%;max-width:400px;padding:10px 15px;border:1px solid #ddd;border-radius:4px;font-size:14px}.search-input:focus{outline:none;border-color:#667eea}.restaurants-list,.activity-log-page{padding:20px}.page-header{margin-bottom:20px}.page-header h1{margin:0 0 5px;font-size:24px}.page-header p{margin:0;color:#666;font-size:14px}.filters-panel{margin-bottom:20px;padding:16px;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px}.filter-row{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:6px;min-width:180px}.filter-group label{font-size:12px;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.5px}.filter-group select{padding:8px 12px;border:1px solid #d0d0d0;border-radius:6px;font-size:14px;background:#fff;color:#333;cursor:pointer;transition:border-color .2s,box-shadow .2s}.filter-group input[type=text],.filter-group input[type=date]{padding:8px 12px;border:1px solid #d0d0d0;border-radius:6px;font-size:14px;background:#fff;color:#333}.filter-group input[type=text]:focus,.filter-group input[type=date]:focus{outline:none;border-color:#4a90d9;box-shadow:0 0 0 3px #4a90d926}.preset-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.preset-chip{border:1px solid #d0d7de;background:#fff;border-radius:999px;padding:6px 10px;font-size:12px;cursor:pointer}.preset-chip.active{border-color:#2563eb;color:#1e40af;background:#eff6ff}.checkbox-group{min-width:240px}.inline-check{display:inline-flex;gap:8px;align-items:center;font-size:13px;color:#334155;text-transform:none!important;letter-spacing:normal!important}.filter-group select:hover{border-color:#999}.filter-group select:focus{outline:none;border-color:#4a90d9;box-shadow:0 0 0 3px #4a90d926}.filter-actions{min-width:auto}.reset-filters-btn{padding:8px 16px;border:1px solid #dc3545;border-radius:6px;background:transparent;color:#dc3545;font-size:14px;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap}.reset-filters-btn:hover{background:#dc3545;color:#fff}.action-row{display:flex;gap:8px}.reset-filters-btn.secondary{border-color:#2563eb;color:#2563eb}.reset-filters-btn.secondary:hover{background:#2563eb;color:#fff}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 16px}.summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px;font-size:13px}.description{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-type{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600;white-space:nowrap}.action-create{background:#d4edda;color:#155724}.action-update{background:#d1ecf1;color:#0c5460}.action-delete{background:#f8d7da;color:#721c24}.action-login{background:#e8daef;color:#4a235a}.action-logout{background:#fdebd0;color:#784212}.action-register{background:#d5f5e3;color:#186a3b}.action-cancel{background:#f8d7da;color:#721c24}.action-complete{background:#d4edda;color:#155724}.action-publish{background:#d6eaf8;color:#1b4f72}.action-lock{background:#fdebd0;color:#784212}.action-accept_swap{background:#d5f5e3;color:#186a3b}.action-reject_swap{background:#f8d7da;color:#721c24}.action-excel_upload{background:#d6eaf8;color:#1b4f72}.action-activate{background:#d5f5e3;color:#186a3b}.action-deactivate{background:#fdebd0;color:#784212}.action-add_item{background:#d4edda;color:#155724}.action-update_item{background:#d1ecf1;color:#0c5460}.action-remove_item{background:#f8d7da;color:#721c24}.action-update_recipe{background:#d1ecf1;color:#0c5460}.action-update_role{background:#e8daef;color:#4a235a}.action-close_order{background:#d5f5e3;color:#186a3b}.action-stock_in{background:#d4edda;color:#155724}.action-stock_out{background:#fff3cd;color:#856404}.action-mark_paid{background:#d5f5e3;color:#186a3b}.action-mark_unpaid{background:#fde2e2;color:#991b1b}.pagination button{padding:8px 16px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;transition:background .2s}.pagination button:hover:not(:disabled){background:#f0f0f0}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination span{font-size:14px;color:#666}.loading,.error{text-align:center;padding:40px;color:#666}.excel-hint-anchor{display:inline-flex;position:relative;align-items:center}.excel-hint-tooltip{position:fixed;z-index:11000;box-sizing:border-box;min-width:280px;max-width:min(440px,calc(100vw - 24px));max-height:min(420px,65vh);overflow-x:hidden;overflow-y:auto;padding:14px 16px;background-color:#1e293b;color:#f8fafc;border-radius:10px;font-size:13px;line-height:1.55;text-align:left;white-space:pre-wrap;box-shadow:0 8px 28px #00000059;pointer-events:none;border:1px solid rgba(255,255,255,.08)}.ingredients-page{padding:20px}.filters{display:flex;gap:20px;align-items:center;margin-bottom:20px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer}.btn-primary,.btn-secondary,.btn-small{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.btn-primary:hover{background-color:#5568d3}.btn-secondary:hover{background-color:#5a6268}.btn-danger:hover{background-color:#c0392b}.status-ok{color:#27ae60;font-weight:500}.status-low{color:#e74c3c;font-weight:500}.ingredients-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;margin-top:20px;padding:12px 0}.ingredients-pagination span{color:#555;font-size:14px}.upload-success{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:4px;padding:15px;margin-bottom:20px;color:#155724}.upload-success p{margin:5px 0}.error-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.error-dialog{background:#fff;border-radius:8px;padding:30px;max-width:500px;width:90%;box-shadow:0 4px 6px #0000001a}.error-dialog h2{margin-top:0;color:#dc3545}.error-dialog p{margin:15px 0;line-height:1.6}.btn{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .3s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background-color:#0056b3}.btn-secondary:hover:not(:disabled){background-color:#545b62}.pagination{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:20px}.pagination button{padding:8px 16px;border:1px solid #007bff;border-radius:4px;background:#007bff;color:#fff;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s,border-color .2s,transform .1s}.pagination button:hover:not(:disabled){background:#0056b3;border-color:#0056b3;transform:translateY(-1px);box-shadow:0 2px 4px #007bff4d}.pagination button:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #007bff33}.pagination button:disabled{background:#6c757d;border-color:#6c757d;opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.pagination span{font-size:14px;color:#333;font-weight:500}.ingredient-combobox-hint{margin:0 0 8px;font-size:13px;color:#555;line-height:1.4}.ingredient-combobox{position:relative}.ingredient-combobox>input[type=text]{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:14px}.ingredient-combobox-list{position:absolute;left:0;right:0;z-index:20;max-height:220px;overflow-y:auto;margin:2px 0 0;padding:0;list-style:none;border:1px solid #ddd;border-radius:4px;background:#fff;box-shadow:0 4px 12px #0000001f}.ingredient-combobox-item{display:block;width:100%;text-align:left;padding:8px 10px;border:none;border-bottom:1px solid #f0f0f0;background:#fff;cursor:pointer;font-size:14px}.ingredient-combobox-item:hover{background:#e7f1ff}.ingredient-combobox-item:last-child{border-bottom:none}.ingredient-combobox-unit{color:#666;font-weight:500}.hall-searchable-select{position:relative;width:100%}.hall-searchable-trigger{width:100%;min-height:42px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .2s}.hall-searchable-trigger:hover:not(.disabled){border-color:#c4c4c4}.hall-searchable-trigger:focus-visible{outline:none;border-color:#667eea}.hall-searchable-trigger.disabled{background:#f5f5f5;color:#888;cursor:not-allowed}.hall-searchable-trigger-label{flex:1;min-width:0;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#111827}.hall-searchable-trigger-chevron{font-size:12px;color:#6b7280;flex-shrink:0}.hall-searchable-dropdown{position:absolute;z-index:2000;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 8px 24px #0000001a;overflow:hidden}.hall-searchable-search{padding:8px;border-bottom:1px solid #eee}.hall-searchable-search input{width:100%;box-sizing:border-box;padding:10px;border:1px solid #ddd;border-radius:4px;outline:none;font-size:14px}.hall-searchable-search input:focus{border-color:#667eea}.hall-searchable-list{overflow-y:auto;-webkit-overflow-scrolling:touch}.hall-searchable-item{padding:10px 12px;font-size:14px;cursor:pointer;color:#333;line-height:20px;min-height:40px;box-sizing:border-box;display:flex;align-items:center}.hall-searchable-item:hover{background:#f5f5f5}.hall-searchable-item.selected{background:#eef2ff;color:#4338ca;font-weight:600}.hall-searchable-item.disabled{color:#9ca3af;cursor:not-allowed}.hall-searchable-empty{padding:14px 12px;font-size:14px;color:#888;text-align:center}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.btn-back{padding:8px 16px;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s;margin-right:15px}.category-image-cell{display:flex;align-items:center;gap:10px;background:#fff}.category-image-cell .img-wrap{width:60px;height:60px;flex-shrink:0;border-radius:8px;border:1px solid #ddd;overflow:hidden;background:#fff}.category-thumbnail{width:100%;height:100%;object-fit:cover;display:block;background:#fff}.category-thumbnail-placeholder{width:60px;height:60px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;font-weight:700}.btn-image-upload{padding:5px 10px;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:16px;transition:background-color .2s}.btn-image-upload:hover{background:#e0e0e0}.btn-small{padding:6px 12px;font-size:12px;border-radius:4px;border:none;cursor:pointer;transition:background-color .2s}.btn-small.btn-secondary{background:#f0f0f0;color:#333}.btn-small.btn-secondary:hover{background:#e0e0e0}.btn-small.btn-danger{background:#e74c3c;color:#fff}.btn-small.btn-danger:hover{background:#c0392b}.image-upload-section{margin-bottom:20px}.current-image-preview{margin-top:15px;padding:15px;background:#fff;border-radius:8px;border:1px solid #e0e0e0}.current-image-preview p{margin:0 0 10px;font-size:14px;color:#666}.current-image-preview .preview-image-wrap{display:inline-block;background:#fff;border-radius:8px;border:1px solid #ddd;overflow:hidden;line-height:0}.preview-image{max-width:200px;max-height:200px;display:block;background:#fff}.checkbox-label{display:flex;align-items:center;gap:8px;margin-bottom:15px;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.dish-image-cell{display:flex;align-items:center;gap:10px;background:#fff;border-radius:8px}.dish-image-cell .img-wrap{width:60px;height:60px;flex-shrink:0;border-radius:8px;border:1px solid #ddd;overflow:hidden;background:#fff}.dish-thumbnail{width:100%;height:100%;object-fit:cover;display:block;background:#fff}.dish-thumbnail-placeholder{width:60px;height:60px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;font-weight:700}.dish-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px;flex-wrap:wrap}.dish-pagination-info{font-size:14px;color:#555}.dom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:flex-end;justify-content:center;z-index:1000}.dom-modal{background:#fff;border-radius:16px 16px 0 0;width:100%;max-width:480px;max-height:90vh;display:flex;flex-direction:column;animation:dom-slide .2s ease}@keyframes dom-slide{0%{transform:translateY(30%);opacity:0}}.dom-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 8px;border-bottom:1px solid #eee;gap:12px}.dom-header h3{margin:0;font-size:18px;flex:1;min-width:0}.dom-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.dom-recipe-btn{padding:6px 12px;font-size:13px;border:1px solid #c4b5fd;border-radius:8px;background:#f5f3ff;color:#5b21b6;cursor:pointer;font-weight:500}.dom-recipe-btn:hover{background:#ede9fe}.dom-close{background:none;border:none;font-size:24px;cursor:pointer;color:#888;line-height:1}.dom-body{flex:1;overflow-y:auto;padding:12px 20px}.dom-group{margin-bottom:18px}.dom-group-header{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}.dom-group-title{font-weight:600;font-size:15px}.dom-hint{font-size:12px;color:#888}.dom-chips{display:flex;flex-wrap:wrap;gap:8px}.dom-chip{padding:6px 14px;border-radius:20px;border:1.5px solid #ddd;background:#fff;font-size:14px;cursor:pointer;transition:.15s}.dom-chip.active{background:#4f46e5;color:#fff;border-color:#4f46e5}.dom-chip:hover:not(.active){border-color:#aaa}.dom-check-list{display:flex;flex-direction:column;gap:6px}.dom-check-item{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.dom-check-item.disabled{opacity:.45;pointer-events:none}.dom-check-item input{width:18px;height:18px;accent-color:#4f46e5}.dom-delta{margin-left:auto;color:#4f46e5;font-size:13px;font-weight:500}.dom-cards{display:flex;flex-direction:column;gap:8px}.dom-cards-counter{text-align:right;font-size:13px;color:#666;font-weight:500}.dom-card{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border:1px solid #eee;border-radius:10px}.dom-card-info{display:flex;align-items:baseline;gap:6px}.dom-card-title{font-size:14px}.dom-card-stepper{display:flex;align-items:center;gap:8px}.dom-card-stepper button{width:28px;height:28px;border-radius:50%;border:1.5px solid #ddd;background:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.dom-card-stepper button:disabled{opacity:.3;cursor:default}.dom-card-stepper span{min-width:20px;text-align:center;font-weight:600}.dom-stepper-row{display:flex;align-items:center;gap:12px}.dom-stepper-row button{width:36px;height:36px;border-radius:50%;border:1.5px solid #ddd;background:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.dom-stepper-row button:disabled{opacity:.3;cursor:default}.dom-stepper-val{font-size:20px;font-weight:700;min-width:28px;text-align:center}.dom-stepper-price{font-size:14px;color:#4f46e5;font-weight:500}.dom-footer{padding:12px 20px 16px;border-top:1px solid #eee;display:flex;flex-direction:column;gap:10px;align-items:center}.dom-qty-row{display:flex;align-items:center;gap:12px}.dom-qty-btn{width:32px;height:32px;border-radius:50%;border:1.5px solid #ddd;background:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.dom-qty-val{font-size:18px;font-weight:700;min-width:24px;text-align:center}.dom-price{font-size:20px;font-weight:700}.dom-errors{font-size:12px;color:#ef4444;text-align:center}.dom-add-btn{width:100%;padding:12px;border:none;border-radius:10px;background:#4f46e5;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:.15s}.dom-add-btn:disabled{opacity:.4;cursor:default}.dom-add-btn:not(:disabled):hover{background:#4338ca}.split-bill{margin-top:24px;padding-top:20px;border-top:1px solid #dee2e6}.order-panel-split-fixed .split-display,.order-split-section .split-display{max-height:min(42vh,360px);overflow-y:auto;-webkit-overflow-scrolling:touch}.split-bill-hint{color:#666;font-size:14px;margin:0;padding:12px 0}.split-bill h3{font-size:16px;margin-bottom:12px;color:#333}.split-share-guest-line{margin:0 0 10px;font-size:13px;color:#059669}.split-share-guests-block{margin:16px 0;padding-top:12px;border-top:1px dashed #ccc}.split-share-guests-title{font-size:13px;color:#555;margin:0 0 10px}.split-share-guest-row{padding:10px 12px;margin-bottom:10px;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.split-share-guest-row-title{font-weight:600;font-size:13px;margin-bottom:8px;color:#374151}.split-share-guest-label{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:#059669;margin-bottom:6px}.split-share-guest-actions{margin-bottom:8px}.split-guest-search-input{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:4px;font-size:13px;margin-bottom:6px;box-sizing:border-box}.split-guest-searching{font-size:12px;color:#6b7280}.split-guest-results{list-style:none;margin:0 0 8px;padding:0;max-height:140px;overflow-y:auto;border:1px solid #eee;border-radius:4px}.split-guest-results li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid #f0f0f0;font-size:13px}.split-guest-results li:last-child{border-bottom:none}.split-share-guest-new{display:flex;flex-direction:column;gap:6px;margin-top:8px}.split-bill-error{background:#fff3f3;color:#c0392b;padding:10px 12px;border-radius:6px;margin-bottom:12px;font-size:13px}.split-bill-actions{display:flex;gap:8px;margin-bottom:16px}.split-form{background:#f8f9fa;border-radius:8px;padding:16px;margin-bottom:16px}.split-share-block{margin-bottom:14px;padding:12px;background:#fff;border-radius:6px;border:1px solid #e0e0e0}.split-share-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.split-share-header input{flex:1;padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:13px}.split-share-header button{background:none;border:none;color:#e74c3c;cursor:pointer;font-size:16px;padding:2px 6px}.split-item-row{display:flex;align-items:center;gap:8px;padding:10px 12px;font-size:13px;cursor:pointer;border-radius:6px;transition:background .15s}.split-item-row:hover{background:#f0f0f5}.split-item-row:focus{outline:2px solid #667eea;outline-offset:2px}.split-item-row input[type=checkbox]{cursor:pointer}.split-item-row .item-name{flex:1}.split-item-row .item-total{color:#667eea;font-weight:500}.split-add-share{margin-top:10px;margin-bottom:12px}.split-form-actions{display:flex;gap:8px;margin-top:14px}.split-qty-hint{font-size:12px;color:#555;margin:0 0 10px}.split-table-wrap{overflow-x:auto;margin-bottom:12px}.split-qty-table{width:100%;border-collapse:collapse;font-size:13px}.split-qty-table th,.split-qty-table td{padding:8px 6px;border:1px solid #e0e0e0;text-align:center}.split-qty-table th{background:#f0f4ff;font-weight:500}.split-qty-table td:first-child{text-align:left}.split-th-input{width:80px;padding:4px 6px;border:1px solid #ccc;border-radius:4px;font-size:12px}.split-th-remove{margin-left:4px;background:none;border:none;color:#c00;cursor:pointer;font-size:14px}.split-qty-input{width:48px;padding:4px 6px;border:1px solid #ccc;border-radius:4px;font-size:13px;text-align:center}.split-td-total{font-weight:600;color:#333}.split-row-invalid{background:#fff8f8}.split-unassigned-warn{color:#856404;background:#fff3cd;padding:8px 10px;border-radius:4px;font-size:12px;margin-top:8px}.split-display{background:#f8f9fa;border-radius:8px;padding:16px}.split-share-card{margin-bottom:12px;padding:12px;background:#fff;border-radius:6px;border:1px solid #e0e0e0}.split-share-card h4{font-size:14px;margin-bottom:6px;color:#333}.split-share-card .share-item{display:flex;justify-content:space-between;font-size:13px;padding:3px 0;color:#555}.split-share-total{display:flex;justify-content:space-between;font-weight:600;font-size:14px;padding-top:6px;margin-top:6px;border-top:1px solid #eee}.new-order-page{padding:0;flex:1;min-height:0;display:flex;flex-direction:column;box-sizing:border-box}.new-order-page>h1{flex-shrink:0;margin:0 0 16px}.order-layout{display:grid;grid-template-columns:1fr 400px;gap:20px;flex:1;min-height:0}.order-layout>*{min-width:0;min-height:0}.order-layout.split-order-layout{grid-template-columns:minmax(280px,1fr) minmax(760px,1.6fr)}.dishes-panel{background:#fff;border-radius:8px;padding:20px;overflow-y:auto;box-shadow:0 2px 4px #0000001a;min-height:0}.dishes-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:15px;margin-top:20px}.dish-card{display:flex;flex-direction:row;align-items:flex-start;justify-content:flex-start;padding:12px;border:1px solid #ddd;border-radius:8px;cursor:pointer;transition:all .2s;gap:12px}.dish-card-image{width:72px;height:72px;flex-shrink:0;object-fit:cover;border-radius:8px;border:1px solid #ddd;background:#fff}.dish-card:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea33}.dish-card.dish-unavailable{border-color:#dc2626;background-color:#fee2e2;opacity:.7;cursor:not-allowed}.dish-card.dish-unavailable:hover{border-color:#dc2626;box-shadow:0 2px 8px #dc26264d}.dish-card.dish-low-stock{border-color:#f97316;background-color:#fff7ed}.dish-card.dish-low-stock:hover{border-color:#f97316;box-shadow:0 2px 8px #f973164d}.dish-stock-warning{margin:5px 0 0;font-size:12px;color:#f97316;font-weight:500}.dish-stock-error{margin:5px 0 0;font-size:12px;color:#dc2626;font-weight:500}.dish-card-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.dish-card-title{margin:0;font-size:15px;line-height:1.35;color:#333;word-break:break-word;overflow-wrap:anywhere}.dish-card-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;flex-shrink:0}.dish-card-actions .dish-recipe-btn{padding:5px 10px;font-size:11px;font-weight:600;border:1px solid #c4b5fd;border-radius:6px;background:#f5f3ff;color:#5b21b6;cursor:pointer;white-space:nowrap;text-align:center}.dish-card-actions .dish-recipe-btn:hover{background:#ede9fe}.dish-card-actions .btn-add{align-self:center}.dish-price{margin:0;color:#667eea;font-weight:500}.new-order-page .btn-add{width:32px;height:32px;border-radius:50%;border:2px solid #667eea;background:#fff;color:#667eea;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.new-order-page .btn-add:hover{background:#667eea;color:#fff}.order-panel{background:#fff;border-radius:8px;padding:20px;display:flex;flex-direction:column;box-shadow:0 2px 4px #0000001a;min-height:0;overflow:hidden}.order-panel.split-order-panel{overflow:visible}.order-panel-top{flex-shrink:0}.order-panel-body{display:flex;flex-direction:column;gap:14px;flex:1 1 0;min-height:0;overflow:hidden;overflow-x:hidden}.order-panel-split-fixed{flex-shrink:0;padding-bottom:12px;margin-bottom:8px;border-bottom:1px solid #f0f0f0}.order-panel-split-fixed .order-split-section{margin-top:0;padding-top:0;border-top:none}.order-panel-scroll{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden}.order-panel-body.split-mode-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);align-items:stretch;gap:18px;overflow:hidden}.order-side-split-root{background:#fff;border-radius:8px;padding:20px;display:flex;flex-direction:column;box-shadow:0 2px 4px #0000001a;min-height:0;overflow:hidden}.order-column-heading{margin:0 0 10px;font-size:15px;font-weight:700;color:#111827}.split-mode-left,.split-mode-right{min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;background:#fff;border:1px solid #e8ebf0;border-radius:12px;padding:12px;box-shadow:0 1px 3px #0000000d}.split-mode-right .order-split-section{margin-top:0;padding-top:0;border-top:none;display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:hidden}.split-mode-right .split-bill{display:flex;flex-direction:column;flex:1 1 0;min-height:0;margin-top:0;padding-top:0;border-top:none;overflow:hidden}.split-mode-right .split-bill h3{flex-shrink:0}.split-mode-right .split-display{flex:1 1 0;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.split-mode-right .split-form{flex:1 1 0;min-height:0;overflow-y:auto;margin-bottom:0}.new-order-guest-split-column{display:flex;flex-direction:column;min-height:0}.order-split-footer-warn{margin:0 0 10px;padding:8px 10px;font-size:13px;color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:6px;line-height:1.4}.order-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #f0f0f0;flex-wrap:wrap;flex-shrink:0}.order-header h2{margin:0;font-size:20px}.order-id{color:#666;font-size:14px}.btn-paid-active{padding:6px 14px;font-size:13px;font-weight:600;border-radius:8px;background:#dcfce7;color:#059669;border:1px solid #059669;cursor:pointer}.btn-paid-active:hover{background:#bbf7d0}.btn-paid-inactive{padding:6px 14px;font-size:13px;font-weight:600;border-radius:8px;background:#f3f4f6;color:#6b7280;border:1px solid #d1d5db;cursor:pointer}.btn-paid-inactive:hover{background:#e5e7eb}.order-name-input{margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #f0f0f0}.order-name-input label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#333}.order-name-field{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .2s}.order-name-field:focus{outline:none;border-color:#667eea}.order-client-block{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f0f0f0;flex-shrink:0}.order-client-block label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#333}.order-client-block .current-guest{font-size:13px;color:#6b7280;margin-bottom:8px}.client-mode-tabs{display:flex;gap:8px;margin-bottom:10px}.client-mode-tabs button{padding:6px 12px;font-size:13px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer}.client-mode-tabs button.active{background:#667eea;color:#fff;border-color:#667eea}.client-select,.client-new{display:flex;flex-direction:column;gap:8px;margin-top:8px}.client-select .searching{font-size:12px;color:#6b7280}.guest-search-results{list-style:none;margin:0;padding:0;border:1px solid #eee;border-radius:4px}.guest-search-results li{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-bottom:1px solid #f0f0f0}.guest-search-results li:last-child{border-bottom:none}.order-client-block .selected-guest{font-size:13px;color:#059669;margin:4px 0 0}.order-items{margin-bottom:20px}.order-item{padding:15px;border-bottom:1px solid #f0f0f0}.order-item:last-child{border-bottom:none}.item-info{display:flex;flex-direction:column;margin-bottom:10px}.item-name-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;gap:8px;flex-wrap:wrap}.btn-recipe-inline{flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:600;border:1px solid #c4b5fd;border-radius:6px;background:#f5f3ff;color:#5b21b6;cursor:pointer;line-height:1.2}.btn-recipe-inline:hover{background:#ede9fe}.btn-comment-inline{flex-shrink:0;padding:4px 8px;font-size:14px;background:#f0f4ff;border:1px solid #d0d7ff;border-radius:6px;cursor:pointer;line-height:1}.btn-comment-inline:hover{background:#e0e8ff}.item-comment-edit{display:flex;align-items:center;gap:8px;margin-top:6px}.item-comment-edit input{flex:1;min-width:0}.item-name{font-weight:500;color:#333}.item-comment{display:flex;gap:8px;margin-top:5px;padding:5px 10px;background:#f8f9fa;border-radius:4px;font-size:12px}.comment-label{color:#666;font-weight:500}.comment-text{color:#333;font-style:italic}.item-price{color:#666;font-size:14px}.item-controls{display:flex;align-items:center;gap:10px;margin-bottom:10px}.qty-btn{width:28px;height:28px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center}.qty-btn:hover{background:#f8f9fa}.item-qty{min-width:30px;text-align:center;font-weight:500}.btn-remove{margin-left:auto;background:none;border:none;color:#e74c3c;font-size:20px;cursor:pointer;padding:0 10px}.btn-remove:hover{color:#c0392b}.item-total{text-align:right;font-weight:500;color:#333}.order-split-section{margin-top:16px;padding-top:16px;border-top:1px solid #eee}.order-split-hint{font-size:13px;color:#666;margin:0 0 10px}.split-draft-section .split-qty-table-wrap{overflow-x:auto;margin-bottom:12px}.split-draft-section .split-th-input{display:flex;align-items:center;gap:4px;min-width:90px}.split-draft-section .split-th-input input{flex:1;min-width:0;padding:4px 6px;border:1px solid #ccc;border-radius:4px;font-size:12px}.split-draft-section .split-remove-guest{flex-shrink:0;background:none;border:none;color:#c00;cursor:pointer;font-size:14px;padding:2px 4px}.split-draft-section .split-item-name{text-align:left}.split-draft-section .split-total-qty{font-weight:500}.split-draft-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;margin-bottom:12px}.split-share-guests{margin-top:16px;padding-top:12px;border-top:1px dashed #ddd;display:flex;flex-direction:column;gap:12px}.split-share-guest-row{padding:10px 12px;background:#f9fafb;border-radius:8px;border:1px solid #eee;display:flex;flex-direction:column;gap:8px}.split-share-guest-title{font-weight:600;font-size:13px;color:#374151}.split-share-assigned{background:#fff;border:1px solid #eceff3;border-radius:6px;padding:8px 10px}.split-share-assigned-empty{margin:0;font-size:12px;color:#6b7280}.split-share-assigned-item{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#374151;margin-bottom:4px}.split-share-assigned-item:last-of-type{margin-bottom:0}.split-share-assigned-total{display:flex;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px dashed #ddd;font-size:12px;font-weight:600;color:#111827}.split-share-guest-label{font-size:13px;color:#059669;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.split-share-guest-row .guest-search-results{max-height:none}@media (max-width: 1400px){.order-layout.split-order-layout{grid-template-columns:minmax(240px,1fr) minmax(620px,1.4fr)}}@media (max-width: 1200px){.order-layout.split-order-layout{grid-template-columns:1fr}.order-panel-body.split-mode-layout{grid-template-columns:1fr;grid-template-rows:none;overflow-y:auto}.split-mode-left,.split-mode-right{overflow-y:visible;min-height:auto}.split-mode-right{border-top:1px solid #eee;padding-top:12px}}.split-share-guest-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.split-share-guest-new{display:flex;flex-direction:column;gap:6px}.split-share-guest-new label{font-size:12px;color:#6b7280}.order-footer{padding-top:15px;border-top:2px solid #f0f0f0;flex-shrink:0;background:#fff;position:relative;z-index:1}.order-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;font-size:18px}.total-amount{font-size:24px;font-weight:700;color:#667eea}.order-actions{display:flex;gap:10px}.order-actions button{flex:1;padding:12px;border:none;border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s}.order-actions button:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;padding:24px;max-width:500px;width:90%;box-shadow:0 4px 20px #0000004d}.modal-content h3{margin:0 0 20px;font-size:20px;color:#333}.modal-body{margin-bottom:20px}.modal-body label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#333}.comment-textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;resize:vertical;min-height:80px;transition:border-color .2s}.comment-textarea:focus{outline:none;border-color:#667eea}.modal-actions button{padding:10px 20px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.modal-actions .btn-secondary{background:#f0f0f0;color:#333}.modal-actions .btn-secondary:hover{background:#e0e0e0}.modal-actions .btn-primary{background:#667eea;color:#fff}.modal-actions .btn-primary:hover{background:#5568d3}.btn-small.btn-danger{background:#dc2626;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer}.btn-small.btn-danger:hover{background:#b91c1c}.category-header{display:flex;align-items:center;gap:10px;margin-bottom:20px}.btn-back{padding:8px 16px;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.btn-back:hover{background:#e0e0e0}.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:20px;margin-top:20px}.category-card{display:flex;flex-direction:column;align-items:center;padding:20px;border:2px solid #ddd;border-radius:12px;cursor:pointer;transition:all .2s;background:#fff}.category-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea33;transform:translateY(-2px)}.category-image{width:100%;height:120px;object-fit:cover;border-radius:8px;margin-bottom:10px}.category-image-placeholder{width:100%;height:120px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:10px;color:#fff;font-size:48px;font-weight:700}.category-name{margin:0;font-size:16px;color:#333;text-align:center;font-weight:500}.recipe-modal-hint{font-size:13px;color:#555;line-height:1.45;margin:0 0 12px}.recipe-modal-status{font-size:14px;color:#666;margin:8px 0}.recipe-modal-error{font-size:14px;color:#b91c1c;margin:8px 0}.recipe-modal-list{list-style:none;margin:0;padding:0}.recipe-modal-list li{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-bottom:1px solid #eee;font-size:14px}.recipe-modal-name{font-weight:500;color:#222}.recipe-modal-qty{color:#666;white-space:nowrap}.orders-history-page{padding:20px}.orders-load-error{margin-bottom:16px;padding:12px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:14px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.status-badge{padding:4px 12px;border-radius:4px;font-size:12px;font-weight:500}.status-open{background:#fff3cd;color:#856404}.status-closed{background:#d4edda;color:#155724}.status-canceled{background:#f8d7da;color:#721c24}.paid-badge{font-size:12px;font-weight:600;color:#059669;padding:4px 10px;background:#dcfce7;border-radius:10px;white-space:nowrap}.unpaid-badge{font-size:12px;font-weight:500;color:#9ca3af;padding:4px 10px;background:#f3f4f6;border-radius:10px;white-space:nowrap}.btn-small.btn-success{background:#059669;color:#fff;border:none}.btn-small.btn-success:hover{background:#047857}.btn-small.btn-warning{background:#f59e0b;color:#fff;border:none}.btn-small.btn-warning:hover{background:#d97706}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;padding:24px;min-width:360px;max-width:460px;box-shadow:0 8px 32px #0003}.unpaid-reason-modal h3{margin:0 0 16px;font-size:18px;color:#111}.unpaid-reason-options{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.radio-label{display:flex;align-items:center;gap:8px;font-size:14px;color:#333;cursor:pointer}.radio-label input[type=radio]{accent-color:#667eea}.unpaid-reason-options .filter-input{margin-top:4px;width:100%;box-sizing:border-box}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.payment-qr-modal{padding:20px;text-align:center}.payment-online-btn-wrap{display:inline-block}.payment-tg-disabled-banner{margin:0 0 12px;padding:10px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:14px;line-height:1.4}.qr-progress{padding:20px 0}.progress-steps{display:flex;justify-content:center;align-items:flex-start;gap:8px;margin-bottom:24px;position:relative}.progress-step{display:flex;flex-direction:column;align-items:center;flex:1;max-width:100px;position:relative}.progress-step:after{content:"";position:absolute;top:18px;left:calc(50% + 18px);width:calc(100% - 36px);height:2px;background:#e5e7eb;z-index:0}.progress-step:last-child:after{display:none}.progress-step.completed:after{background:#22c55e}.progress-step.active:after{background:linear-gradient(to right,#3b82f6,#e5e7eb)}.step-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;background:#f3f4f6;border:2px solid #e5e7eb;position:relative;z-index:1;transition:all .3s ease}.progress-step.completed .step-icon{background:#22c55e;border-color:#22c55e;color:#fff;font-size:14px}.progress-step.active .step-icon{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f626;animation:stepPulse 2s infinite}@keyframes stepPulse{0%,to{box-shadow:0 0 0 4px #3b82f626}50%{box-shadow:0 0 0 8px #3b82f614}}.step-label{font-size:11px;color:#9ca3af;margin-top:6px;line-height:1.2;text-align:center}.progress-step.completed .step-label{color:#22c55e}.progress-step.active .step-label{color:#3b82f6;font-weight:600}.status-text{margin-top:8px}.status-text p{color:#4b5563;font-size:15px;display:flex;align-items:center;justify-content:center;gap:8px}.pulse-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#3b82f6;animation:pulseDot 1.5s infinite}.pulse-dot.green{background:#22c55e}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.qr-error{padding:20px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:20px}.qr-error p{color:#dc2626;margin-bottom:15px}.qr-success{padding:10px 20px 20px}.qr-check-icon{font-size:32px;margin-bottom:4px}.qr-ready-text{font-size:17px;font-weight:600;color:#22c55e;margin-bottom:16px}.qr-image-container{display:flex;justify-content:center;margin-bottom:16px;padding:16px;background-color:#fafafa;border-radius:12px}.qr-image{max-width:280px;height:auto;border:2px solid #e5e7eb;border-radius:8px;padding:8px;background-color:#fff}.qr-instruction{font-size:15px;color:#374151;margin-bottom:8px;font-weight:500}.qr-expires{font-size:13px;color:#6b7280;margin-bottom:16px}.qr-actions{display:flex;gap:10px;justify-content:center;margin-top:20px;padding-top:20px;border-top:1px solid #f3f4f6}.qr-actions button{min-width:120px}.payment-qr-multi-modal{padding:16px}.payment-qr-multi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;margin-bottom:16px}.payment-qr-multi-slot{background:#f8fafc;border-radius:8px;padding:12px;border:1px solid #e2e8f0}.payment-qr-multi-slot-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px}.payment-qr-multi-slot-label{font-weight:500;color:#334155}.payment-qr-multi-slot-amount{font-weight:600;color:#0f766e}.qr-image-multi{max-width:180px;height:auto;display:block;margin:0 auto}.payment-qr-multi-wait{font-size:12px;color:#64748b;margin:12px 0}.payment-qr-multi-draft-hint{font-size:13px;color:#64748b;margin:12px 0;padding:10px;background:#f1f5f9;border-radius:6px;border-left:3px solid #667eea}.payment-qr-slot-mark{margin-top:12px}.payment-qr-slot-mark .btn-success{background:#22c55e;color:#fff;border-color:#16a34a}.payment-qr-slot-mark-three{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center}.payment-qr-multi-middle-wait{font-size:13px;color:#64748b;padding:6px 10px;min-width:8rem;text-align:center}.payment-qr-multi-middle-muted{font-size:12px;color:#94a3b8;padding:6px 10px;max-width:10rem;text-align:center}.payment-qr-slot-paid-badge{margin:12px 0;font-size:13px;font-weight:500;color:#15803d}.tg-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tg-modal-content{background:linear-gradient(145deg,#1a1a2e,#16213e);border-radius:20px;padding:32px;width:100%;max-width:420px;position:relative;box-shadow:0 25px 50px #00000080;border:1px solid rgba(255,255,255,.1)}.tg-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;color:#888;font-size:24px;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.tg-modal-close:hover{background:#ffffff1a;color:#fff}.tg-modal-header{text-align:center;margin-bottom:24px}.tg-icon{font-size:48px;margin-bottom:16px}.tg-modal-header h2{color:#fff;font-size:24px;margin:0 0 8px;font-weight:600}.tg-subtitle{color:#aaa;font-size:14px;margin:0;line-height:1.5}.tg-error{background:#dc354526;border:1px solid rgba(220,53,69,.3);color:#ff6b6b;padding:12px 16px;border-radius:10px;margin-bottom:20px;font-size:14px}.tg-step{display:flex;flex-direction:column;gap:12px}.tg-step label{color:#ddd;font-size:14px;font-weight:500}.tg-step input{background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:14px 16px;color:#fff;font-size:16px;transition:all .2s}.tg-step input:focus{outline:none;border-color:#08c;box-shadow:0 0 0 3px #08c3}.tg-step input::placeholder{color:#666}.tg-hint{color:#888;font-size:13px;margin:4px 0 8px}.tg-btn-primary{background:linear-gradient(135deg,#08c,#06a);color:#fff;border:none;border-radius:12px;padding:14px 24px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:8px}.tg-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #08c6}.tg-btn-primary:disabled{opacity:.6;cursor:not-allowed}.tg-btn-secondary{background:transparent;color:#888;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:12px 24px;font-size:14px;cursor:pointer;transition:all .2s}.tg-btn-secondary:hover:not(:disabled){background:#ffffff0d;color:#fff}.tg-success{text-align:center;padding:20px 0}.tg-success-icon{font-size:64px;margin-bottom:16px}.tg-success h3{color:#4ade80;font-size:20px;margin:0 0 8px}.tg-success p{color:#aaa;margin:0}.tg-footer{margin-top:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.tg-security-note{color:#666;font-size:12px;text-align:center;margin:0}.order-details-page{padding:20px}.order-not-found-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:24px;max-width:480px}.order-not-found-panel p{margin:0;color:#374151;line-height:1.5}.page-header{display:flex;align-items:center;gap:20px;margin-bottom:20px}.page-header h1{margin:0}.order-info{margin-bottom:30px}.info-card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;max-width:500px}.info-card h3{margin:0 0 15px;font-size:18px;color:#333;border-bottom:2px solid #667eea;padding-bottom:10px}.info-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f0f0f0}.info-row:last-child{border-bottom:none}.info-label{font-weight:500;color:#666}.total-amount{font-size:20px;font-weight:700;color:#667eea}.order-items-section,.order-split-section{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.order-items-section h2{margin:0 0 20px;font-size:18px;color:#333}.order-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.payment-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;width:100%}.payment-tg-disabled-banner{margin:0;padding:10px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:14px;line-height:1.4;max-width:520px}.telegram-status{font-size:13px;padding:4px 10px;border-radius:12px;display:inline-flex;align-items:center;gap:4px}.telegram-status.connected{background:#4ade8026;color:#22c55e}.telegram-status.disconnected{background:#fbbf2426;color:#f59e0b}.btn-link{background:none;border:none;color:#667eea;cursor:pointer;font-size:13px;padding:4px 8px;text-decoration:underline}.btn-link:hover{color:#5a67d8}.bot-username-row{display:flex;align-items:center;gap:10px;width:100%;margin-bottom:10px}.bot-username-row label{font-size:14px;font-weight:500;color:#444;white-space:nowrap}.bot-username-input-group{display:flex;align-items:center;border:1px solid #d1d5db;border-radius:6px;overflow:hidden;background:#fff}.bot-username-input-group .at-sign{padding:6px 0 6px 10px;color:#9ca3af;font-size:14px;-webkit-user-select:none;user-select:none}.bot-username-input{border:none;outline:none;padding:6px 8px;font-size:14px;width:200px}.bot-username-input::placeholder{color:#bbb}.btn-small{background:#f3f4f6;border:none;border-left:1px solid #d1d5db;padding:6px 10px;cursor:pointer;font-size:14px}.btn-small:hover:not(:disabled){background:#e5e7eb}.btn-small:disabled{opacity:.4;cursor:not-allowed}.payment-buttons-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.payment-mode-modal{padding:12px;min-width:320px}.payment-mode-hint{margin:0 0 16px;font-size:14px;color:#555}.payment-mode-buttons{display:flex;flex-direction:column;gap:10px}.payment-mode-btn{width:100%}.payment-custom-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.payment-custom-row label{flex:1;font-size:14px}.payment-custom-row select{padding:6px 10px;border-radius:6px;border:1px solid #ddd;min-width:120px}.payment-account-row{flex-direction:column;align-items:stretch;gap:6px;padding:10px 0;border-bottom:1px solid #eee}.payment-account-row:last-of-type{border-bottom:none}.payment-account-label{background:none;border:none;cursor:pointer;text-align:left;font-size:15px;font-weight:600;color:#667eea;padding:4px 0}.payment-account-label:hover{text-decoration:underline}.payment-account-meta{font-weight:400;color:#666;font-size:13px}.payment-account-guests{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:13px;color:#555}.payment-account-who{margin-right:6px}.payment-account-select{padding:6px 10px;border-radius:6px;border:1px solid #ddd;min-width:120px;font-size:13px}.payment-guest-check{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.payment-guest-check input{margin:0}.payment-account-items-modal{max-height:60vh;overflow-y:auto}.payment-account-item-line{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #f0f0f0;font-size:14px}.payment-account-items-total{margin-top:12px;padding-top:12px;border-top:2px solid #667eea;font-weight:600;font-size:15px}.payment-account-empty{color:#888;font-style:italic;margin:0}.analytics-dashboard{max-width:1280px;margin:0 auto;padding:20px 24px;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;flex-wrap:wrap;gap:12px}.dashboard-title{font-size:24px;font-weight:700;color:#111827;margin:0;line-height:1.2}.dashboard-subtitle{font-size:13px;color:#6b7280;margin:2px 0 0}.dashboard-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.date-controls{display:flex;align-items:center;gap:6px;background:#f9fafb;padding:4px 8px;border-radius:8px;border:1px solid #e5e7eb}.date-label{font-size:11px;font-weight:500;color:#6b7280}.date-input{padding:4px 8px;font-size:12px;border:1px solid #e5e7eb;border-radius:6px;outline:none;background:#fff;color:#111827}.date-input:focus{border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e51a}.refresh-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;font-size:16px;transition:all .15s}.refresh-btn:hover:not(:disabled){background:#f3f4f6;border-color:#4f46e5}.refresh-btn:disabled{opacity:.5;cursor:wait}.export-btn{padding:6px 14px;font-size:12px;font-weight:500;border:1px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;color:#374151;transition:all .15s}.export-btn:hover{background:#f3f4f6;border-color:#4f46e5;color:#4f46e5}.last-loaded{font-size:10px;color:#9ca3af}.alert{padding:10px 16px;border-radius:8px;font-size:13px;margin-bottom:12px;font-weight:500}.alert-warning{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.alert-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.alert-retry{margin-left:auto;cursor:pointer;padding:6px 14px;border-radius:6px;border:1px solid #dc2626;background:#fff;color:#dc2626;font-weight:500;font-size:13px;transition:all .15s}.alert-retry:hover{background:#fef2f2}.layer-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px}.layer-btn{display:flex;flex-direction:column;align-items:center;padding:14px 12px;border:2px solid #e5e7eb;border-radius:12px;background:#fff;cursor:pointer;transition:all .2s;gap:2px}.layer-btn:hover{border-color:#c7d2fe;background:#fafafe}.layer-btn.active{border-color:#4f46e5;background:#eef2ff;box-shadow:0 0 0 3px #4f46e51a}.layer-icon{font-size:20px;margin-bottom:2px}.layer-label{font-size:13px;font-weight:600;color:#111827}.layer-desc{font-size:10px;color:#9ca3af}.layer-btn.active .layer-label{color:#4f46e5}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#9ca3af}.loading-state .loading-spinner,.analytics-loading .loading-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:12px}@keyframes spin{to{transform:rotate(360deg)}}.layer-content{transition:opacity .2s}.layer-loading{opacity:.5;pointer-events:none}.booking-analytics-page,.analytics-dashboard{max-width:1280px;margin:0 auto;padding:20px 24px;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif}.booking-analytics-page .dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;flex-wrap:wrap;gap:12px}.booking-analytics-page .dashboard-title{font-size:24px;font-weight:700;color:#111827;margin:0;line-height:1.2}.booking-analytics-page .dashboard-subtitle{font-size:13px;color:#6b7280;margin:2px 0 0}.booking-analytics-page .dashboard-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.booking-analytics-page .date-controls{display:flex;align-items:center;gap:6px;background:#f9fafb;padding:6px 10px;border-radius:8px;border:1px solid #e5e7eb}.booking-analytics-page .date-label{font-size:12px;font-weight:500;color:#6b7280}.booking-analytics-page .date-input{padding:6px 10px;font-size:13px;border:1px solid #e5e7eb;border-radius:6px;outline:none;background:#fff;color:#111827}.booking-analytics-page .date-input:focus{border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e51a}.booking-analytics-page .refresh-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;font-size:18px;transition:all .15s}.booking-analytics-page .refresh-btn:hover:not(:disabled){background:#f3f4f6;border-color:#4f46e5}.booking-analytics-page .refresh-btn:disabled{opacity:.5;cursor:wait}.booking-analytics-page .last-loaded{font-size:12px;color:#6b7280}.kpi-grid{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.kpi-grid>.kpi-card{flex:1 1 150px}.kpi-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px 18px;box-shadow:0 1px 2px #0000000a;transition:box-shadow .15s}.kpi-card:hover{box-shadow:0 4px 12px #0000000f}.kpi-label{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.kpi-value-row{display:flex;align-items:baseline;gap:6px;min-width:0}.kpi-value{font-size:22px;font-weight:700;color:#111827;line-height:1.2}.kpi-value.green{color:#059669}.kpi-value.blue{color:#2563eb}.kpi-value.purple{color:#7c3aed}.kpi-value.orange{color:#ea580c}.kpi-value.teal{color:#0d9488}.kpi-value.indigo{color:#4f46e5}.kpi-sub{font-size:11px;color:#9ca3af;margin-top:4px}.collapsible-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:12px;overflow:hidden}.section-header{width:100%;display:flex;align-items:center;gap:8px;padding:12px 16px;background:none;border:none;cursor:pointer;font-size:14px;font-weight:600;color:#111827;text-align:left;transition:background .15s}.section-header:hover{background:#f9fafb}.section-toggle{font-size:10px;color:#6b7280;flex-shrink:0}.section-title{flex:1}.section-body{padding:16px;border-top:1px solid #f3f4f6}.chart-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.chart-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:16px;min-width:0}.chart-card.wide{grid-column:1 / -1}.chart-card h3{font-size:12px;font-weight:600;color:#6b7280;margin:0 0 12px;text-transform:uppercase;letter-spacing:.03em}.bar-chart{display:flex;flex-direction:column;gap:6px}.bar-row{display:flex;align-items:center;gap:10px;font-size:13px}.bar-label{flex:0 0 auto;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#374151;font-size:12px}.bar-track{flex:1 1 40px;height:20px;background:#e5e7eb;border-radius:6px;overflow:hidden;min-width:24px}.bar-fill{height:100%;border-radius:6px;transition:width .3s ease}.bar-fill.blue{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.bar-fill.green{background:linear-gradient(90deg,#059669,#34d399)}.bar-fill.purple{background:linear-gradient(90deg,#7c3aed,#a78bfa)}.bar-fill.teal{background:linear-gradient(90deg,#0d9488,#2dd4bf)}.bar-fill.orange{background:linear-gradient(90deg,#ea580c,#fb923c)}.bar-fill.indigo{background:linear-gradient(90deg,#4f46e5,#818cf8)}.bar-value{flex:0 0 auto;text-align:right;font-weight:600;color:#111827;font-size:12px;white-space:nowrap;padding-left:4px}.analytics-empty{text-align:center;color:#9ca3af;font-size:13px;padding:24px}.dynamics-hint{font-size:12px;color:#6b7280;margin:-8px 0 10px}.analytics-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px}.analytics-tab{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:2px solid #e5e7eb;border-radius:12px;background:#fff;cursor:pointer;font-size:14px;font-weight:600;color:#374151;transition:all .2s}.analytics-tab:hover{border-color:#c7d2fe;background:#fafafe}.analytics-tab.active{border-color:#4f46e5;background:#eef2ff;color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.tab-icon{font-size:18px}.analytics-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#6b7280;font-size:14px}.analytics-table-wrapper{overflow-x:auto;border-radius:8px;border:1px solid #e5e7eb}.analytics-table{width:100%;border-collapse:collapse;font-size:13px}.analytics-table th,.analytics-table td{padding:10px 14px;text-align:left;border-bottom:1px solid #f3f4f6}.analytics-table th{background:#f9fafb;font-weight:600;color:#374151}.analytics-table td.num{text-align:right;font-variant-numeric:tabular-nums}.analytics-table th.num{text-align:right}@media (max-width: 768px){.analytics-tabs{grid-template-columns:1fr 1fr}.chart-grid{grid-template-columns:1fr}}@media (max-width: 768px){.analytics-dashboard{padding:12px}.dashboard-header{flex-direction:column}.layer-selector{grid-template-columns:1fr}.date-controls{flex-wrap:wrap}}.export-action-btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#1f2937;font-size:13px;line-height:1.2;cursor:pointer;transition:all .15s ease}.export-action-btn:hover:not(:disabled){background:#f3f4f6;border-color:#4f46e5;color:#4f46e5}.export-action-btn:disabled{opacity:.55;cursor:wait}html,body{touch-action:pan-x pan-y;-ms-touch-action:pan-x pan-y;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.hall-page{padding:20px;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;overscroll-behavior:contain;touch-action:pan-x pan-y;-ms-touch-action:pan-x pan-y}.hall-page{padding:20px}.hall-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;position:relative;z-index:1100}.hall-topbar .btn-primary:disabled{cursor:default}.hall-topbar-left{display:flex;flex-direction:column;gap:8px}.hall-topbar-right{display:flex;gap:10px;align-items:center}.hall-mode-tabs{display:flex;gap:8px}.hall-mode-tabs button{padding:8px 10px;border:1px solid #ddd;background:#fff;border-radius:8px;cursor:pointer}.hall-mode-tabs button.active{border-color:#4f46e5;background:#eef2ff}.hall-hint{font-size:12px;color:#666}.hall-filter{display:flex;align-items:center;gap:8px}.hall-filter select{padding:6px 8px}.hall-content{display:grid;grid-template-columns:320px 1fr;gap:16px}.hall-sidebar{border:1px solid #eee;border-radius:12px;padding:12px;background:#fff}.hall-sidebar-block{display:flex;flex-direction:column;gap:10px}.hall-sidebar-title{font-weight:600;color:#333}.hall-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.hall-row input,.hall-row select{padding:6px 8px;width:160px}.hall-zone-list{display:flex;flex-direction:column;gap:8px}.hall-zone-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #eee;border-radius:10px;padding:8px}.hall-zone-dot{width:12px;height:12px;border-radius:3px;display:inline-block}.hall-canvas-wrap{overflow:hidden;border:1px solid #eee;border-radius:12px;background:#f5f5f5;position:relative;overscroll-behavior:contain;width:100%;height:600px;min-height:400px;max-height:calc(100vh - 250px);touch-action:pan-x pan-y}.hall-canvas{position:relative;touch-action:none;-ms-touch-action:none;-webkit-touch-callout:none}.hall-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(to right,rgba(0,0,0,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,.06) 1px,transparent 1px);pointer-events:none}.hall-zone-rect{position:absolute;border:2px solid;border-radius:6px;box-sizing:border-box;pointer-events:none;transition:all .2s}.hall-zone-label{position:absolute;top:-24px;left:0;font-size:12px;font-weight:600;padding:4px 8px;border-radius:6px;background:#dc2626;color:#fff;white-space:nowrap;z-index:1000;box-shadow:0 2px 4px #0003}.hall-zone-hover{border-width:3px!important;box-shadow:0 0 0 2px #dc26264d}.hall-zone-cell{position:absolute;background:#dc26262e;outline:1px solid rgba(220,38,38,.35);pointer-events:none}.hall-zone-draft{border-color:#dc2626;background:#dc26261a;border-style:dashed;pointer-events:none}.hall-item{position:absolute;border-radius:6px;overflow:hidden}.hall-item-sprite{position:absolute;background-repeat:no-repeat;background-position:center;background-size:100% 100%;transform-origin:center center;pointer-events:none}.hall-item-table{border:2px solid rgba(34,197,94,.6);background:#22c55e26;box-sizing:border-box}.hall-item-decor{outline:none;background:#7b4b2a}.hall-item-selected{box-shadow:0 0 0 2px #facc15}.hall-item-drag-preview{border:2px dashed #3b82f6!important;background:#3b82f633!important;box-shadow:0 0 12px #3b82f680}.hall-item-drag-preview.hall-item-table{border-color:#22c55e!important;background:#22c55e40!important;box-shadow:0 0 12px #22c55e80}.hall-item-in-polygon{box-shadow:0 0 0 3px #0ea5e9,0 0 12px #0ea5e980;animation:polygon-pulse 1.5s ease-in-out infinite}@keyframes polygon-pulse{0%,to{box-shadow:0 0 0 3px #0ea5e9,0 0 12px #0ea5e980}50%{box-shadow:0 0 0 3px #0ea5e9,0 0 20px #0ea5e9cc}}.hall-item-img{width:100%;height:100%;object-fit:fill;image-rendering:pixelated}.hall-item-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:11px;color:#111}.hall-item-title{font-weight:700}.hall-eraser{position:absolute;background:#fff;border:2px solid #3b82f6;box-sizing:border-box;pointer-events:none;opacity:.9}.hall-table-btn{cursor:pointer;border:none}.hall-sprite-palette{grid-column:1 / -1;border:1px solid #eee;border-radius:12px;padding:12px;background:#fff;margin-top:16px}.hall-sprite-palette-title{font-weight:600;color:#333;margin-bottom:12px;font-size:14px}.hall-sprite-palette-grid{display:flex;flex-wrap:wrap;gap:12px;max-height:200px;overflow-y:auto}.hall-sprite-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;border:2px solid #ddd;border-radius:8px;cursor:pointer;transition:all .2s;background:#fff;min-width:80px}.hall-sprite-item:hover{border-color:#4f46e5;background:#f5f5ff}.hall-sprite-item.selected{border-color:#4f46e5;background:#eef2ff;box-shadow:0 0 0 2px #4f46e533}.hall-sprite-preview{width:48px;height:48px;object-fit:contain;image-rendering:pixelated;border:1px solid #eee;border-radius:4px;background:#fff}.hall-sprite-fallback{width:48px;height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #ddd;border-radius:4px;background:#f5f5f5;font-size:10px}.hall-sprite-fallback-text{font-weight:600;color:#333;text-align:center;line-height:1.2}.hall-sprite-fallback-size{font-size:9px;color:#666;margin-top:2px}.hall-sprite-label{font-size:11px;color:#555;text-align:center;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hall-canvas.drawing-polygon .hall-item{pointer-events:none!important}.hall-table-has-order{box-shadow:0 0 0 3px #22c55e99,0 0 12px #22c55e66}.hall-table-order-indicator{position:absolute;top:-4px;right:-4px;width:12px;height:12px;background:#22c55e;border-radius:50%;border:2px solid white;box-shadow:0 2px 4px #0003;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}to{transform:scale(1);opacity:1}}.hall-order-tooltip{background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000026,0 2px 8px #0000001a;padding:12px;min-width:220px;max-width:300px;pointer-events:none;animation:tooltipFadeIn .15s ease-out}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-5px)}to{opacity:1;transform:translate(0)}}.hall-order-tooltip-header{font-weight:600;font-size:14px;color:#1f2937;padding-bottom:8px;border-bottom:1px solid #e5e7eb;margin-bottom:8px}.hall-order-tooltip-items{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto}.hall-order-tooltip-item{display:flex;align-items:center;gap:10px}.hall-order-tooltip-img{width:40px;height:40px;border-radius:8px;object-fit:cover;flex-shrink:0;background:#fff}.hall-order-tooltip-img-placeholder{width:40px;height:40px;border-radius:8px;background:#f3f4f6;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.hall-order-tooltip-info{flex:1;min-width:0}.hall-order-tooltip-name{font-size:13px;color:#374151;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hall-order-tooltip-qty{font-size:12px;color:#6b7280;font-weight:600}.hall-order-tooltip-total{margin-top:10px;padding-top:10px;border-top:1px solid #e5e7eb;font-weight:600;font-size:14px;color:#059669;text-align:right}.hall-zone-mask{transition:opacity .2s ease}.hall-zone-visible-cell{box-sizing:border-box}.hall-item-table.hall-table-btn{z-index:10!important}.hall-item-decor{z-index:7!important}.hall-selected-zone-label{position:absolute;top:10px;left:50%;transform:translate(-50%);background:#fffffff2;padding:8px 16px;border-radius:8px;font-weight:600;font-size:14px;color:#1f2937;box-shadow:0 2px 8px #00000026;z-index:100;pointer-events:none}.table-reservations-page{padding:20px}.table-reservations-page .header-actions{display:flex;gap:15px;align-items:center}.table-reservations-page .header-actions label{display:flex;flex-direction:column;gap:5px;font-size:14px}.table-reservations-page .header-actions select{padding:6px;border:1px solid #ddd;border-radius:4px}.reservation-form{display:flex;flex-direction:column;gap:15px}.reservation-form label{display:flex;flex-direction:column;gap:5px}.reservation-form select{padding:8px;border:1px solid #ddd;border-radius:4px}.reservation-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.reservation-form .form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.table-selector{border:1px solid #e0e0e0;border-radius:8px;padding:12px;background:#fafafa}.table-selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.table-selector-label{font-weight:600;font-size:14px}.capacity-badge{font-size:13px;padding:4px 10px;border-radius:12px;font-weight:500}.capacity-badge.ok{background:#d4edda;color:#155724}.capacity-badge.warn{background:#fff3cd;color:#856404}.table-chips{display:flex;flex-wrap:wrap;gap:8px}.table-chip{display:flex;align-items:center;gap:6px;padding:8px 14px;border:2px solid #ddd;border-radius:8px;background:#fff;cursor:pointer;transition:all .15s ease;font-size:13px}.table-chip:hover{border-color:#aaa;background:#f5f5f5}.table-chip.selected{border-color:#2196f3;background:#e3f2fd;color:#1565c0}.chip-label{font-weight:600}.chip-capacity{color:#888;font-size:12px}.table-chip.selected .chip-capacity{color:#64b5f6}.chip-check{font-size:14px;font-weight:700;color:#2196f3}.table-selector-hint{margin:8px 0 0;font-size:13px;color:#999;font-style:italic}.reservation-status{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.status-confirmed{background:#d4edda;color:#155724}.status-cancelled{background:#f8d7da;color:#721c24}.status-completed{background:#cce5ff;color:#004085}.status-noshow{background:#fff3cd;color:#856404}.action-buttons{display:flex;gap:6px;flex-wrap:wrap}.btn-small{padding:4px 10px;font-size:12px;border:none;border-radius:4px;cursor:pointer;white-space:nowrap}.btn-success{background:#28a745;color:#fff}.btn-success:hover{background:#218838}.reservation-form .client-picker-section{position:relative}.reservation-form .client-picker-header{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.reservation-form .client-picker-header>label{flex:1;min-width:200px;display:flex;flex-direction:column;gap:5px;font-size:14px}.reservation-form .client-picker-actions{display:flex;align-items:center;gap:6px;padding-bottom:2px}.tr-client-search{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px}.tr-client-search:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 2px #667eea26}.tr-client-dropdown{position:absolute;z-index:100;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 6px 6px;box-shadow:0 4px 12px #0000001a;list-style:none;margin:0;padding:0;max-height:220px;overflow-y:auto}.reservation-form .client-dropdown-item{display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;transition:background .15s}.reservation-form .client-dropdown-item:hover{background:#f0f4ff}.reservation-form .client-dropdown-name{font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reservation-form .client-dropdown-phone{color:#666;font-size:13px;flex-shrink:0}.reservation-form .client-dropdown-count{color:#999;font-size:12px;flex-shrink:0;background:#f0f0f0;padding:2px 6px;border-radius:10px}.reservation-form .client-dropdown-empty{padding:12px;color:#999;font-size:14px;text-align:center}.tr-client-dropdown-more{font-size:11px;color:#6b7280;padding:4px 8px}.reservation-form .client-dropdown-restore{text-align:center;padding:8px 12px;color:#667eea;font-size:13px;cursor:pointer;border-top:1px solid #f3f4f6}.reservation-form .client-dropdown-restore:hover{background:#f0f4ff}.reservation-form .client-dropdown-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.reservation-form .client-dropdown-hide{font-size:13px;padding:3px 5px;border-radius:4px;cursor:pointer;opacity:.4}.reservation-form .client-dropdown-hide:hover{opacity:1;background:#f0f4ff}.btn-import-excel-small{background:#ecfdf5;color:#059669;border:1px solid #a7f3d0;padding:6px 10px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;white-space:nowrap}.btn-clear-imported-small{background:none;border:1px solid #fca5a5;color:#dc2626;cursor:pointer;font-size:11px;padding:5px 8px;border-radius:4px;font-weight:500;white-space:nowrap}.table-reservation-calendar-page{padding:20px}.table-reservation-calendar-page .calendar-controls{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.table-reservation-calendar-page .calendar-controls label{display:flex;flex-direction:column;gap:5px;font-size:14px}.table-reservation-calendar-page .calendar-controls select{padding:6px;border:1px solid #ddd;border-radius:4px}.table-reservation-calendar-page .view-mode{display:flex;gap:5px}.table-reservation-calendar-page .view-mode button{padding:6px 12px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer}.table-reservation-calendar-page .view-mode button.active{background:#667eea;color:#fff;border-color:#667eea}.table-reservation-calendar-page .date-navigation{display:flex;gap:5px;align-items:center}.table-reservation-calendar-page .date-navigation input{padding:6px;border:1px solid #ddd;border-radius:4px;min-width:140px}.table-reservation-calendar-page .date-navigation button{padding:6px 10px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-size:16px;font-weight:700;min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;transition:all .2s}.table-reservation-calendar-page .date-navigation button:hover{background:#f0f0f0;border-color:#667eea}.table-reservation-calendar-page .calendar-view{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:20px}.table-reservation-calendar-page .calendar-view.day-view{max-width:600px;margin-left:auto;margin-right:auto;grid-template-columns:1fr}.table-reservation-calendar-page .calendar-day{background:#fff;border:1px solid #ddd;border-radius:8px;padding:15px;box-shadow:0 2px 4px #00000014}.table-reservation-calendar-page .calendar-day.clickable{cursor:pointer;transition:transform .2s,box-shadow .2s}.table-reservation-calendar-page .calendar-day.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.table-reservation-calendar-page .day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid #f0f0f0}.table-reservation-calendar-page .day-header h3{margin:0;font-size:15px}.table-reservation-calendar-page .occupancy{padding:3px 8px;border-radius:12px;background:#d4edda;color:#155724;font-size:12px;font-weight:500}.table-reservation-calendar-page .occupancy.full{background:#f8d7da;color:#721c24}.table-reservation-calendar-page .day-bookings{display:flex;flex-direction:column;gap:6px}.table-reservation-calendar-page .no-bookings{color:#999;font-style:italic;text-align:center;padding:15px;font-size:13px}.table-reservation-calendar-page .booking-item{padding:8px 10px;background:#f8f9fa;border-left:3px solid #667eea;border-radius:4px}.table-reservation-calendar-page .booking-item.completed{border-left-color:#28a745}.table-reservation-calendar-page .booking-item.no_show{border-left-color:#ffc107;opacity:.7}.table-reservation-calendar-page .booking-time{font-weight:500;font-size:13px;margin-bottom:3px}.table-reservation-calendar-page .booking-customer{font-size:12px;color:#666}.table-reservation-calendar-page .more-bookings{font-size:12px;color:#667eea;text-align:center;padding:4px;font-weight:500}.table-reservation-calendar-page .gantt-chart{width:100%;min-height:300px;overflow-x:auto}.table-reservation-calendar-page .gantt-timeline{display:flex;border-bottom:2px solid #333;margin-bottom:0;height:40px}.table-reservation-calendar-page .gantt-table-label-header{min-width:100px;max-width:100px;display:flex;align-items:flex-end;padding:0 8px 4px;font-weight:600;font-size:12px;color:#555;border-right:1px solid #ddd}.table-reservation-calendar-page .gantt-hours-row{display:flex;flex:1;position:relative;height:100%}.table-reservation-calendar-page .gantt-hour-marker{flex:1;border-left:1px solid #ddd;position:relative;height:100%}.table-reservation-calendar-page .gantt-hour-label{position:absolute;left:4px;bottom:4px;font-size:10px;color:#666}.table-reservation-calendar-page .gantt-rows-container{border:1px solid #ddd;border-top:none;background:#fafafa}.table-reservation-calendar-page .gantt-row{display:flex;border-bottom:1px solid #eee;min-height:50px}.table-reservation-calendar-page .gantt-row:last-child{border-bottom:none}.table-reservation-calendar-page .gantt-table-label{min-width:100px;max-width:100px;display:flex;flex-direction:column;justify-content:center;padding:4px 8px;border-right:1px solid #ddd;background:#f5f5f5}.table-reservation-calendar-page .gantt-table-label strong{font-size:13px}.table-reservation-calendar-page .gantt-table-label small{font-size:11px;color:#888}.table-reservation-calendar-page .gantt-row-bars{flex:1;position:relative;min-height:50px}.table-reservation-calendar-page .gantt-row-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:12px;color:#bbb;font-style:italic}.table-reservation-calendar-page .gantt-bar{position:absolute;top:5px;height:40px;border-radius:4px;padding:3px 6px;box-sizing:border-box;cursor:pointer;transition:opacity .2s;min-width:60px;z-index:1}.table-reservation-calendar-page .gantt-bar:hover{opacity:.9;z-index:10}.table-reservation-calendar-page .gantt-bar.confirmed{background:#667eea;color:#fff;border:2px solid #5568d3}.table-reservation-calendar-page .gantt-bar.completed{background:#28a745;color:#fff;border:2px solid #218838}.table-reservation-calendar-page .gantt-bar.no_show{background:#ffc107;color:#333;border:2px solid #e0a800}.table-reservation-calendar-page .gantt-bar.cancelled{background:#dc3545;color:#fff;border:2px solid #c82333;opacity:.5}.table-reservation-calendar-page .gantt-bar-content{display:flex;flex-direction:column;height:100%;justify-content:center;overflow:hidden}.table-reservation-calendar-page .gantt-bar-time{font-size:10px;font-weight:500;white-space:nowrap}.table-reservation-calendar-page .gantt-bar-customer{font-size:10px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-reservation-calendar-page .no-bookings-gantt{text-align:center;padding:40px;color:#999;font-style:italic}.table-reservation-calendar-page .gantt-bar.multi-table{border-style:dashed;border-width:2px}.table-reservation-calendar-page .gantt-bar .multi-badge{margin-left:3px;font-size:11px}.time-interval-table-container{margin:15px 0}.time-interval-table{width:100%;border-collapse:collapse;margin-top:10px}.time-interval-table th{background-color:#f5f5f5;padding:8px;text-align:left;font-weight:600;border:1px solid #ddd}.time-interval-table td{padding:8px;border:1px solid #ddd}.time-interval-table tr:hover{background-color:#f9f9f9}.time-interval-table input[type=time],.time-interval-table input[type=number]{border:1px solid #ddd;border-radius:4px}.time-interval-table input[type=time]:focus,.time-interval-table input[type=number]:focus{outline:none;border-color:#2563eb}.tariffs-page{padding:20px}.tariff-form{display:flex;flex-direction:column;gap:15px}.tariff-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:end}.tariff-form .form-row label{display:flex;flex-direction:column;gap:5px}.tariff-form .form-row select{padding:8px;border:1px solid #ddd;border-radius:4px}.modifiers-form{display:flex;flex-direction:column;gap:20px}.modifiers-info{padding:15px;background:#f8f9fa;border-radius:8px}.modifiers-info p{margin:5px 0}.modifiers-actions{padding:15px;background:#fff3cd;border-radius:8px}.modifiers-actions label{display:flex;flex-direction:column;gap:5px}.modifiers-actions select{padding:6px;border:1px solid #ddd;border-radius:4px}.modifiers-list{max-height:400px;overflow-y:auto}.modifiers-table{width:100%;border-collapse:collapse}.modifiers-table th,.modifiers-table td{padding:10px;text-align:left;border-bottom:1px solid #ddd}.modifiers-table th{background:#f8f9fa;font-weight:600;position:sticky;top:0}.modifiers-table tr:hover{background:#f5f5f5}.modifiers-table select,.modifiers-table input{padding:4px;border:1px solid #ddd;border-radius:4px}.tariff-rules-page{padding:20px}.rules-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:20px}.rule-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:15px;box-shadow:0 2px 4px #0000001a}.rule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.rule-header h3{margin:0;font-size:16px}.rule-order{color:#666;font-size:12px}.rule-details{display:flex;gap:5px;margin-bottom:10px}.badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.badge.active{background:#d4edda;color:#155724}.badge.inactive{background:#f8d7da;color:#721c24}.badge.stop-check{background:#fff3cd;color:#856404}.rule-actions{display:flex;gap:10px}.rule-form{display:flex;flex-direction:column;gap:15px}.rule-form label{display:flex;flex-direction:column;gap:5px}.rule-form select,.rule-form textarea{padding:8px;border:1px solid #ddd;border-radius:4px;font-family:inherit}.rule-form textarea{min-height:80px;resize:vertical}.calendar-widget{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:10px}.calendar-header h3{margin:0;flex:1;text-align:center;font-size:18px}.nav-btn,.today-btn{padding:6px 12px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-size:14px}.nav-btn:hover,.today-btn:hover{background:#f0f0f0}.today-btn{margin-left:auto}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:15px}.calendar-day-header{text-align:center;font-weight:600;font-size:12px;color:#666;padding:8px 4px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;position:relative;font-size:14px;transition:all .2s}.calendar-day:hover{background:#f5f5f5;border-color:#667eea}.calendar-day.empty{border:none;cursor:default}.calendar-day.weekday{background:#f8f9fa}.calendar-day.weekend{background:#fff3cd}.calendar-day.special{background:#d4edda;border-color:#28a745;font-weight:600}.calendar-day.special:hover{background:#c3e6cb}.calendar-day.today{border:2px solid #667eea;font-weight:600}.special-indicator{position:absolute;top:2px;right:2px;font-size:10px;color:#28a745}.calendar-legend{display:flex;gap:20px;justify-content:center;padding-top:15px;border-top:1px solid #e0e0e0}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px}.legend-color{width:20px;height:20px;border:1px solid #e0e0e0;border-radius:4px}.legend-color.weekday{background:#f8f9fa}.legend-color.weekend{background:#fff3cd}.legend-color.special{background:#d4edda;border-color:#28a745}.calendar-page{padding:20px}.calendar-form{display:flex;flex-direction:column;gap:20px}.calendar-form label{display:flex;flex-direction:column;gap:5px}.calendar-form select{padding:8px;border:1px solid #ddd;border-radius:4px}.calendar-widget-section{margin-top:20px;padding:20px;background:#f8f9fa;border-radius:8px}.calendar-widget-section h3{margin-top:0;margin-bottom:10px}.instruction{color:#666;font-size:14px;margin-bottom:15px}.special-dates-list{margin-top:20px;padding:15px;background:#f8f9fa;border-radius:8px}.special-dates-list h3{margin-top:0;margin-bottom:15px;font-size:16px}.dates-grid{display:flex;flex-wrap:wrap;gap:10px}.special-date-badge{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#d4edda;border:1px solid #28a745;border-radius:4px;font-size:14px}.remove-date-btn{background:none;border:none;color:#dc3545;cursor:pointer;font-size:18px;line-height:1;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.remove-date-btn:hover{color:#c82333}.active-clients-page{padding:20px;max-width:1100px}.active-clients-page h1{margin:0 0 4px;font-size:24px}.active-clients-page .page-subtitle{color:#6b7280;margin:0 0 20px;font-size:14px}.client-card{background:#fff;border-radius:10px;padding:20px 24px;box-shadow:0 1px 4px #00000014;margin-bottom:20px}.client-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.client-card-header h2{margin:0;font-size:16px;color:#374151}.client-header-actions{display:flex;align-items:center;gap:8px}.btn-pick-client{background:#eef2ff;color:#667eea;border:1px solid #c7d2fe;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .15s}.btn-pick-client:hover{background:#e0e7ff}.btn-clear-client{background:none;border:1px solid #fca5a5;color:#dc2626;cursor:pointer;font-size:12px;padding:5px 10px;border-radius:6px;transition:all .15s;font-weight:500}.btn-clear-client:hover{background:#fef2f2}.client-picker{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:12px;margin-bottom:16px}.client-picker-search{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;box-sizing:border-box;margin-bottom:8px}.client-picker-search:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea26}.client-picker-hint{font-size:12px;color:#6b7280;margin-bottom:8px}.client-picker-list{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.client-picker-empty{text-align:center;padding:16px;color:#9ca3af;font-size:13px}.client-picker-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid transparent;border-radius:6px;background:#fff;cursor:pointer;text-align:left;transition:all .1s;width:100%}.client-picker-item:hover{background:#eef2ff;border-color:#c7d2fe}.client-picker-item.selected{background:#eef2ff;border-color:#667eea}.picker-name{font-size:14px;font-weight:600;color:#1f2937;flex:1}.picker-phone{font-size:13px;color:#6b7280}.picker-badge{font-size:11px;font-weight:600;background:#e0e7ff;color:#667eea;padding:2px 8px;border-radius:10px;white-space:nowrap}.client-fields{display:flex;gap:16px;flex-wrap:wrap}.client-fields .field{flex:1;min-width:200px}.active-clients-page .field label{display:block;font-size:13px;font-weight:500;color:#6b7280;margin-bottom:4px}.active-clients-page .field input,.active-clients-page .field select,.active-clients-page .field textarea{width:100%;padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;box-sizing:border-box;transition:border-color .15s}.active-clients-page .field input:focus,.active-clients-page .field select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea26}.section-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#667eea;margin-bottom:10px;padding-bottom:6px;border-bottom:1px dashed #c7d2fe}.new-section-label{margin-top:20px;color:#059669;border-bottom-color:#a7f3d0}.existing-line{background:#f8f9ff;border-color:#c7d2fe}.existing-line.modified{background:#fffbeb;border-color:#fbbf24;box-shadow:0 0 0 1px #fbbf2426}.existing-line .line-header{justify-content:flex-start;gap:12px}.existing-badge{background:#e0e7ff!important;color:#4338ca!important;font-size:12px!important}.line-status-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.3px}.line-status-badge.confirmed{background:#dcfce7;color:#166534}.line-status-badge.draft{background:#fef3c7;color:#92400e}.line-modified-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;background:#fef3c7;color:#92400e;text-transform:uppercase;letter-spacing:.3px}.readonly-value{padding:8px 10px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;color:#374151}.readonly-value.amount{font-weight:700;color:#059669}.readonly-value.needs-recalc{color:#dc2626;background:#fef2f2;border-color:#fca5a5}.recalc-hint{font-size:12px;color:#d97706;font-weight:500}.field-amount-ro{min-width:130px!important}.modified-summary{background:#fffbeb;border-radius:4px;padding:8px 6px!important}.activity-lines-card{background:#fff;border-radius:10px;padding:20px 24px;box-shadow:0 1px 4px #00000014;margin-bottom:20px}.activity-lines-card .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px;flex-wrap:wrap}.activity-lines-card .card-header h2{margin:0;font-size:16px;color:#374151}.activity-lines-card .btn-add-activity-line{background:#eef2ff;color:#667eea;border:1px dashed #a5b4fc;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .15s;white-space:nowrap;display:inline-flex;align-items:center;flex-shrink:0;width:auto;height:auto}.activity-lines-card .btn-add-activity-line:hover{background:#e0e7ff}.activity-line{border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:12px;transition:box-shadow .15s}.activity-line:hover{box-shadow:0 2px 8px #0000000f}.line-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.line-number{font-size:13px;font-weight:600;color:#667eea;background:#eef2ff;padding:2px 10px;border-radius:10px}.btn-remove{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:16px;padding:2px 6px;border-radius:4px;transition:all .15s}.btn-remove:hover{background:#fef2f2;color:#ef4444}.existing-line-actions{display:flex;align-items:center;gap:4px;margin-left:auto}.btn-exclude{background:none;border:1px solid #d1d5db;color:#6b7280;cursor:pointer;font-size:14px;padding:3px 8px;border-radius:6px;transition:all .15s;line-height:1}.btn-exclude:hover{background:#f3f4f6;color:#374151;border-color:#9ca3af}.btn-exclude:active{background:#e5e7eb}.btn-cancel-booking{background:none;border:1px solid #fca5a5;color:#dc2626;cursor:pointer;font-size:13px;padding:3px 8px;border-radius:6px;transition:all .15s;opacity:.6;line-height:1}.btn-cancel-booking:hover{opacity:1;background:#fef2f2;border-color:#dc2626}.line-fields{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.line-fields .field-activity{min-width:200px}.line-fields .field{min-width:170px}.line-fields .field-small{min-width:95px}.line-fields .field-reason{min-width:220px}.line-fields input[type=datetime-local]{min-width:190px}.line-footer{display:flex;align-items:center;gap:16px;margin-top:12px;padding-top:12px;border-top:1px solid #f3f4f6}.btn-calc{background:#f3f4f6;color:#374151;border:1px solid #d1d5db;padding:6px 16px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .15s}.btn-calc:hover:not(:disabled){background:#e5e7eb}.btn-calc:disabled{opacity:.5;cursor:not-allowed}.line-result{display:flex;align-items:center;gap:8px}.result-label{font-size:13px;color:#6b7280}.result-amount{font-size:16px;font-weight:700;color:#059669}.result-discount{font-size:12px;color:#dc2626}.line-result.error{color:#dc2626;font-size:13px}.line-breakdown{margin-top:10px}.line-breakdown summary{font-size:12px;color:#667eea;cursor:pointer;-webkit-user-select:none;user-select:none}.line-breakdown table{width:100%;border-collapse:collapse;margin-top:8px;font-size:12px}.line-breakdown th,.line-breakdown td{padding:6px 8px;text-align:left;border-bottom:1px solid #f3f4f6}.line-breakdown th{background:#f9fafb;font-weight:500;color:#6b7280}.line-breakdown .negative{color:#dc2626}.summary-card{background:#fff;border-radius:10px;padding:20px 24px;box-shadow:0 1px 4px #00000014}.summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.summary-header h2{margin:0;font-size:16px;color:#374151}.summary-lines{border-top:1px solid #f3f4f6;padding-top:12px}.summary-line{display:flex;align-items:center;padding:8px 0;border-bottom:1px solid #f9fafb;gap:16px}.existing-summary-line{opacity:.85}.summary-activity{flex:1;font-size:14px;font-weight:500;color:#374151}.summary-time{font-size:13px;color:#6b7280}.summary-amount{font-size:14px;font-weight:600;color:#059669;min-width:90px;text-align:right}.summary-existing-tag,.summary-new-tag{font-size:10px;font-weight:700;padding:1px 6px;border-radius:8px;margin-left:6px;text-transform:uppercase;vertical-align:middle}.summary-existing-tag{background:#e0e7ff;color:#4338ca}.summary-new-tag{background:#dcfce7;color:#166534}.summary-divider{height:1px;background:#e5e7eb;margin:6px 0}.summary-total{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:16px;border-top:2px solid #e5e7eb;font-size:18px;font-weight:700}.total-value{color:#667eea;font-size:22px}.btn-create{width:100%;margin-top:20px;padding:14px;font-size:16px;font-weight:600;border-radius:8px}.active-clients-page .btn-primary{background:#667eea;color:#fff;border:none;cursor:pointer;padding:8px 20px;border-radius:6px;font-size:14px;font-weight:500;transition:background .15s}.active-clients-page .btn-primary:hover:not(:disabled){background:#5a6fd6}.active-clients-page .btn-primary:disabled{opacity:.5;cursor:not-allowed}.active-clients-page .btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db;padding:8px 20px;border-radius:6px;cursor:pointer;font-size:14px;transition:background .15s}.active-clients-page .btn-secondary:hover{background:#e5e7eb}.gap-filler-notice{font-size:13px;font-weight:500;color:#7c3aed;padding:6px 0 4px}.gap-summary-line{opacity:.75;font-style:italic}.summary-gap-tag{font-size:10px;font-weight:700;padding:1px 6px;border-radius:8px;margin-left:6px;text-transform:uppercase;vertical-align:middle;background:#ede9fe;color:#7c3aed}.gap-amount{color:#7c3aed!important;font-style:italic}.trailing-gap{background:#fdf4ff;border-radius:4px;padding:8px 6px!important}.trailing-gap .summary-gap-tag{background:#f5d0fe;color:#a21caf}.gap-filler-warning{font-size:13px;color:#d97706;background:#fffbeb;padding:10px 12px;border-radius:6px;border:1px solid #fde68a;margin-top:8px}.stop-check-badge{font-size:11px;color:#059669;background:#ecfdf5;padding:2px 8px;border-radius:10px;border:1px solid #a7f3d0;margin-left:6px;font-weight:500}.btn-import-excel{background:#ecfdf5;color:#059669;border:1px solid #a7f3d0;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .15s;white-space:nowrap}.btn-import-excel:hover{background:#d1fae5;border-color:#6ee7b7}.btn-clear-imported{background:none;border:1px solid #fca5a5;color:#dc2626;cursor:pointer;font-size:12px;padding:5px 10px;border-radius:6px;transition:all .15s;font-weight:500;white-space:nowrap}.btn-clear-imported:hover{background:#fef2f2}.picker-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.picker-hide,.picker-delete{font-size:13px;padding:3px 5px;border-radius:4px;cursor:pointer;transition:all .15s;line-height:1;opacity:.4}.picker-hide:hover{opacity:1;background:#f0f4ff}.picker-delete:hover{opacity:1;background:#fef2f2}.client-picker-footer{text-align:center;padding:8px 0 4px}.active-bookings-page{padding:20px;max-width:1100px}.active-bookings-page h1{margin:0 0 4px;font-size:24px}.active-bookings-page .page-subtitle{color:#6b7280;margin:0 0 20px;font-size:14px}.tg-settings-bar{background:#fff;border-radius:10px;padding:14px 20px;box-shadow:0 1px 4px #00000014;margin-bottom:20px}.tg-settings-bar-disabled{border:1px solid #fecaca}.booking-orders-tg-banner{margin:0 0 8px}.booking-orders-tg-hint{margin:0;font-size:13px;color:#6b7280}.payment-tg-disabled-banner{padding:10px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:14px;line-height:1.4}.tg-bot-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tg-bot-group label{font-size:14px;font-weight:500;color:#444;white-space:nowrap}.tg-input-group{display:flex;align-items:center;border:1px solid #d1d5db;border-radius:6px;overflow:hidden;background:#fff}.tg-input-group .at-sign{padding:6px 0 6px 10px;color:#9ca3af;font-size:14px}.tg-input{border:none;outline:none;padding:6px 8px;font-size:14px;width:160px}.btn-save-tg{background:#f3f4f6;border:none;border-left:1px solid #d1d5db;padding:6px 10px;cursor:pointer;font-size:14px}.btn-save-tg:hover:not(:disabled){background:#e5e7eb}.btn-save-tg:disabled{opacity:.4;cursor:not-allowed}.tg-status{font-size:13px;padding:4px 10px;border-radius:12px}.tg-status.ok{background:#4ade8026;color:#22c55e}.tg-status.warn{background:#fbbf2426;color:#f59e0b}.btn-link-tg{background:none;border:none;color:#667eea;cursor:pointer;font-size:13px;text-decoration:underline}.ab-search-bar{display:flex;align-items:center;gap:10px;background:#fff;border-radius:10px;padding:12px 20px;box-shadow:0 1px 4px #00000014;margin-bottom:16px}.ab-search-input{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;outline:none;transition:border-color .15s}.ab-search-input:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea26}.ab-search-clear{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:16px;padding:4px 8px;border-radius:4px;transition:all .15s}.ab-search-clear:hover{background:#fef2f2;color:#ef4444}.ab-filter-orders{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#4b5563;white-space:nowrap;cursor:pointer}.ab-filter-orders input{cursor:pointer}.ab-search-count{font-size:13px;color:#9ca3af;white-space:nowrap}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:10px;box-shadow:0 1px 4px #00000014}.empty-state p{font-size:16px;color:#6b7280;margin-bottom:16px}.btn-primary-link{display:inline-block;background:#667eea;color:#fff;padding:10px 24px;border-radius:8px;text-decoration:none;font-weight:600;transition:background .15s}.btn-primary-link:hover{background:#5a6fd6}.booking-group-card{background:#fff;border-radius:10px;box-shadow:0 1px 4px #00000014;margin-bottom:16px;overflow:hidden}.group-deleted-badge{padding:8px 20px;background:#eef2ff;color:#4338ca;font-size:13px;font-weight:500;border-bottom:1px solid #e0e7ff}.group-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.group-client{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.order-kind-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap}.order-kind-virtual{background:#f3f4f6;color:#4b5563}.order-kind-linked{background:#dbeafe;color:#1d4ed8}.client-name{font-size:16px;font-weight:600;color:#1f2937}.client-phone{font-size:13px;color:#6b7280;background:#eef2ff;padding:2px 8px;border-radius:10px}.group-header-right{display:flex;align-items:center;gap:12px}.group-total{display:flex;align-items:center;gap:8px}.btn-delete-group{background:none;border:1px solid #e5e7eb;border-radius:6px;padding:4px 8px;font-size:16px;cursor:pointer;transition:all .15s;color:#9ca3af}.btn-delete-group:hover{background:#fef2f2;border-color:#fca5a5;color:#dc2626}.total-label{font-size:14px;color:#6b7280}.group-total .total-amount{font-size:20px;font-weight:700;color:#667eea}.group-bookings{padding:0}.booking-row{display:flex;align-items:center;padding:12px 20px;border-bottom:1px solid #f3f4f6;gap:16px}.booking-row:last-child{border-bottom:none}.booking-row:hover{background:#fafbff}.booking-info{flex:1;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.booking-activity{font-size:14px;font-weight:600;color:#374151}.booking-time{font-size:13px;color:#6b7280}.booking-status{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;text-transform:uppercase}.booking-status.confirmed{background:#dcfce7;color:#166534}.booking-status.draft{background:#fef3c7;color:#92400e}.booking-status.paid{background:#dbeafe;color:#1d4ed8}.booking-amount{font-size:14px;font-weight:600;color:#059669;min-width:80px;text-align:right}.booking-actions{display:flex;gap:6px}.btn-sm{padding:4px 12px;border-radius:5px;font-size:12px;font-weight:500;cursor:pointer;border:none;transition:all .15s}.btn-edit{background:#eef2ff;color:#667eea}.btn-edit:hover{background:#e0e7ff}.btn-cancel{background:#fef2f2;color:#dc2626}.btn-cancel:hover{background:#fee2e2}.btn-add-activity{background:#eef2ff;color:#667eea;border:1px dashed #a5b4fc;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .15s}.btn-add-activity:hover{background:#e0e7ff}.group-footer{padding:14px 20px;border-top:1px solid #e5e7eb;background:#fafbff;display:flex;align-items:center;justify-content:space-between;gap:12px}.group-footer-actions{display:flex;align-items:center;gap:10px}.btn-success.btn-mark-paid{padding:10px 24px;font-size:14px;font-weight:600;border-radius:8px;background:#059669;color:#fff;border:none;cursor:pointer;transition:background .15s}.btn-success.btn-mark-paid:hover:not(:disabled){background:#047857}.btn-success.btn-mark-paid:disabled{opacity:.5;cursor:not-allowed}.group-paid-badge{font-size:16px;font-weight:600;color:#059669;padding:8px 16px;background:#dcfce7;border-radius:8px;margin-left:auto}.paid-badge{font-size:12px;font-weight:600;color:#059669;padding:4px 10px;background:#dcfce7;border-radius:10px}.field-small-inline{flex:0 0 100px}.field-small-inline label{display:block;font-size:13px;font-weight:500;color:#6b7280;margin-bottom:4px}.field-small-inline input{width:100%;padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;box-sizing:border-box}.btn-pay{padding:10px 24px;font-size:14px;font-weight:600;border-radius:8px;background:#667eea;color:#fff;border:none;cursor:pointer;transition:background .15s}.btn-pay:hover:not(:disabled){background:#5a6fd6}.btn-pay:disabled{opacity:.5;cursor:not-allowed}.edit-booking-form{padding:10px 0}.edit-booking-form label{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.edit-booking-form label span{font-size:13px;font-weight:500;color:#6b7280}.edit-booking-form select{padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.edit-booking-form .form-row{display:flex;gap:12px}.edit-booking-form .form-row>*{flex:1}.edit-booking-form .form-row .form-input{margin-bottom:0}.edit-pricing-result{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:10px 14px;margin:12px 0;font-size:15px;color:#166534}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px;padding-top:16px;border-top:1px solid #f3f4f6}.btn-primary{background:#667eea;color:#fff;border:none;padding:8px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background .15s}.btn-primary:hover:not(:disabled){background:#5a6fd6}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db;padding:8px 20px;border-radius:6px;cursor:pointer;font-size:14px;transition:background .15s}.btn-secondary:hover{background:#e5e7eb}.trailing-gap-row{background:#fdf4ff;border-left:3px solid #c084fc;animation:trailing-pulse 2s ease-in-out infinite}@keyframes trailing-pulse{0%,to{background:#fdf4ff}50%{background:#f5f0ff}}.trailing-activity{color:#7c3aed!important}.trailing-status{background:#f5d0fe!important;color:#a21caf!important;font-weight:600!important;text-transform:none!important}.trailing-amount{color:#7c3aed!important;font-style:italic}.trailing-hint{font-size:11px;color:#9ca3af;font-style:italic}.stop-check-badge{font-size:10px;color:#059669;background:#ecfdf5;padding:2px 6px;border-radius:10px;border:1px solid #a7f3d0;margin-left:6px;font-weight:500}.stop-check-free{color:#059669;font-weight:600}.booking-orders-section{margin-bottom:28px}.booking-orders-section-title{font-size:18px;font-weight:600;color:#374151;margin:0 0 12px;padding-bottom:6px;border-bottom:1px solid #e5e7eb}.booking-orders-section .section-empty{color:#6b7280;font-size:14px;margin:0 0 8px}.activities-page{padding:20px}.activity-form{display:flex;flex-direction:column;gap:15px}.activity-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:end}.activity-form .form-row label{display:flex;flex-direction:column;gap:5px}.activity-form .form-row select{padding:8px;border:1px solid #ddd;border-radius:4px}.activity-full-venue-row{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;background:#f5f3ff;border:1px solid #ddd6fe;border-radius:8px;font-size:13px;line-height:1.45;color:#4c1d95}.activity-full-venue-row input[type=checkbox]{margin-top:3px;flex-shrink:0}.bookings-page{padding:20px}.header-actions{display:flex;gap:15px;align-items:center}.header-actions label{display:flex;flex-direction:column;gap:5px;font-size:14px}.header-actions select{padding:6px;border:1px solid #ddd;border-radius:4px}.booking-form{display:flex;flex-direction:column;gap:15px}.booking-form label{display:flex;flex-direction:column;gap:5px}.booking-form select{padding:8px;border:1px solid #ddd;border-radius:4px}.booking-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.booking-form .form-row .form-input{margin-bottom:0}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.pricing-result{display:flex;flex-direction:column;gap:15px}.status-badge{padding:8px 12px;border-radius:4px;font-weight:500}.status-badge.ok{background:#d4edda;color:#155724}.status-badge.stop{background:#fff3cd;color:#856404}.stop-reason{padding:10px;background:#fff3cd;border-left:4px solid #ffc107}.pricing-summary{background:#f8f9fa;padding:15px;border-radius:4px}.summary-item{display:flex;justify-content:space-between;margin-bottom:8px}.summary-item.total{font-weight:700;font-size:18px;border-top:2px solid #ddd;padding-top:8px;margin-top:8px}.breakdown h3{font-size:16px;margin-bottom:10px}.booking-info{background:#e7f3ff;padding:15px;border-radius:4px;border-left:4px solid #2196F3}.info-row{display:flex;justify-content:space-between;margin-bottom:8px}.info-row:last-child{margin-bottom:0}.info-label{font-weight:500;color:#555}.info-value{color:#333}.breakdown{margin-top:15px}.breakdown h3{font-size:16px;margin-bottom:15px;color:#333}.calculation-steps{display:flex;flex-direction:column;gap:12px}.calculation-step{background:#f8f9fa;border:1px solid #ddd;border-radius:6px;padding:12px;border-left:4px solid #667eea}.calculation-step.base-rate{border-left-color:#28a745}.calculation-step.coefficient{border-left-color:#ffc107}.calculation-step.discount{border-left-color:#dc3545}.calculation-step.other{border-left-color:#17a2b8}.step-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-weight:500}.step-number{background:#667eea;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.step-type{color:#333;font-size:14px}.step-details{margin-bottom:8px}.step-description{color:#555;margin-bottom:4px}.step-quantity{font-size:12px;color:#777;margin-top:4px}.step-reason{font-size:11px;color:#999;margin-top:4px;font-style:italic}.step-amount{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid #ddd}.amount-label{font-weight:500;color:#555}.amount-value{font-weight:700;font-size:16px;color:#28a745}.amount-value.negative{color:#dc3545}.step-total{margin-top:8px;padding-top:8px;border-top:1px dashed #ccc;font-size:12px;color:#666;text-align:right}.summary-item.discount{color:#dc3545}.client-picker-section{position:relative}.client-picker-section>label{display:flex;flex-direction:column;gap:5px}.client-search-input{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;width:100%;box-sizing:border-box;transition:border-color .2s}.client-search-input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 2px #667eea26}.client-dropdown{position:absolute;z-index:100;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 6px 6px;box-shadow:0 4px 12px #0000001a;list-style:none;margin:0;padding:0;max-height:220px;overflow-y:auto}.client-dropdown-item{display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;transition:background .15s}.client-dropdown-item:hover{background:#f0f4ff}.client-dropdown-name{font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-dropdown-phone{color:#666;font-size:13px;flex-shrink:0}.client-dropdown-count{color:#999;font-size:12px;flex-shrink:0;background:#f0f0f0;padding:2px 6px;border-radius:10px}.client-dropdown-empty{padding:12px;color:#999;font-size:14px;text-align:center}.client-picker-header{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.client-picker-header>label{flex:1;min-width:200px}.client-picker-actions{display:flex;align-items:center;gap:6px;padding-bottom:2px}.btn-import-excel-small{background:#ecfdf5;color:#059669;border:1px solid #a7f3d0;padding:6px 10px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;transition:all .15s;white-space:nowrap}.btn-import-excel-small:hover{background:#d1fae5;border-color:#6ee7b7}.btn-clear-imported-small{background:none;border:1px solid #fca5a5;color:#dc2626;cursor:pointer;font-size:11px;padding:5px 8px;border-radius:4px;transition:all .15s;font-weight:500;white-space:nowrap}.btn-clear-imported-small:hover{background:#fef2f2}.client-dropdown-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.client-dropdown-hide,.client-dropdown-delete{font-size:13px;padding:3px 5px;border-radius:4px;cursor:pointer;transition:all .15s;line-height:1;opacity:.4}.client-dropdown-hide:hover{opacity:1;background:#f0f4ff}.client-dropdown-delete:hover{opacity:1;background:#fef2f2}.client-dropdown-restore{text-align:center;padding:8px 12px;color:#667eea;font-size:13px;cursor:pointer;border-top:1px solid #f3f4f6}.client-dropdown-restore:hover{background:#f0f4ff}.btn-link{background:none;border:none;color:#667eea;cursor:pointer;font-size:13px;text-decoration:underline;padding:0}.btn-link:hover{color:#5a6fd6}.booking-calendar-page{padding:20px}.calendar-controls{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.calendar-controls label{display:flex;flex-direction:column;gap:5px;font-size:14px}.calendar-controls select{padding:6px;border:1px solid #ddd;border-radius:4px}.view-mode{display:flex;gap:5px}.view-mode button{padding:6px 12px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer}.view-mode button.active{background:#667eea;color:#fff;border-color:#667eea}.date-navigation{display:flex;gap:5px;align-items:center}.date-navigation input{padding:6px;border:1px solid #ddd;border-radius:4px;min-width:140px}.date-navigation button{padding:6px 10px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-size:16px;font-weight:700;min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;transition:all .2s}.date-navigation button:hover{background:#f0f0f0;border-color:#667eea}.date-navigation button:active{background:#667eea;color:#fff}.calendar-view{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:20px}.calendar-view.day-view{max-width:600px;margin-left:auto;margin-right:auto;grid-template-columns:1fr}.calendar-day{background:#fff;border:1px solid #ddd;border-radius:8px;padding:15px;box-shadow:0 2px 4px #0000001a}.day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:2px solid #f0f0f0}.day-header h3{margin:0;font-size:16px}.day-stats{font-size:12px}.occupancy{padding:4px 8px;border-radius:4px;background:#d4edda;color:#155724}.occupancy.full{background:#f8d7da;color:#721c24}.day-bookings{display:flex;flex-direction:column;gap:8px}.calendar-branch-warning{margin-top:16px;padding:12px 16px;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404}.full-venue-day-notice{font-size:12px;line-height:1.4;color:#5b21b6;background:#ede9fe;border:1px solid #c4b5fd;border-radius:6px;padding:8px 10px;margin:0 0 8px;text-align:left}.no-bookings{color:#999;font-style:italic;text-align:center;padding:20px}.max-concurrent-info{text-align:center;padding:20px;font-size:14px;color:#667eea;font-weight:500}.booking-item{padding:10px;background:#f8f9fa;border-left:4px solid #667eea;border-radius:4px}.booking-item.draft{border-left-color:#6c757d;opacity:.7}.booking-item.cancelled{border-left-color:#dc3545;opacity:.5;text-decoration:line-through}.booking-item.completed{border-left-color:#28a745}.booking-time{font-weight:500;font-size:14px;margin-bottom:5px}.booking-customer{font-size:12px;color:#666;margin-bottom:5px}.booking-amount{font-size:12px;color:#667eea;font-weight:500}.calendar-day.clickable{cursor:pointer;transition:transform .2s,box-shadow .2s}.calendar-day.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.gantt-chart{width:100%;min-height:400px;position:relative;overflow-x:auto}.gantt-timeline{display:flex;border-bottom:2px solid #333;margin-bottom:20px;position:relative;height:40px}.gantt-hour-marker{flex:1;border-left:1px solid #ddd;position:relative;height:100%}.gantt-hour-label{position:absolute;left:4px;bottom:4px;font-size:11px;color:#666}.gantt-bars-container{position:relative;min-height:300px;border:1px solid #ddd;background:#f9f9f9;padding-bottom:20px}.gantt-bar{position:absolute;height:40px;border-radius:4px;padding:4px 8px;box-sizing:border-box;cursor:pointer;transition:opacity .2s;min-width:80px}.gantt-bar:hover{opacity:.9;z-index:10}.gantt-bar.confirmed{background:#667eea;color:#fff;border:2px solid #5568d3}.gantt-bar.draft{background:#6c757d;color:#fff;border:2px solid #5a6268;opacity:.7}.gantt-bar.cancelled{background:#dc3545;color:#fff;border:2px solid #c82333;opacity:.5;text-decoration:line-through}.gantt-bar.completed{background:#28a745;color:#fff;border:2px solid #218838}.gantt-bar-full-venue{background:#7c3aed;color:#fff;border:2px solid #6d28d9;z-index:2}.gantt-bar-content{display:flex;flex-direction:column;height:100%;justify-content:center;overflow:hidden}.gantt-bar-time{font-size:11px;font-weight:500;white-space:nowrap}.gantt-bar-customer{font-size:10px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.no-bookings-gantt{text-align:center;padding:40px;color:#999;font-style:italic}.shifts-page{padding:24px;background:#f8fafc;min-height:100vh}.shifts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:16px}.shifts-title{display:flex;align-items:baseline;gap:16px}.shifts-title h1{margin:0;font-size:28px;font-weight:700;color:#1e293b}.week-range{font-size:16px;color:#64748b;font-weight:500}.header-actions{display:flex;gap:12px;flex-wrap:wrap}.header-actions button{padding:10px 16px;border-radius:8px;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s;border:none}.week-navigation{display:flex;justify-content:center;align-items:center;gap:16px;margin-bottom:24px}.nav-btn,.today-btn{padding:10px 20px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;color:#475569;transition:all .2s}.nav-btn:hover,.today-btn:hover{background:#f1f5f9;border-color:#3b82f6;color:#3b82f6}.schedule-container{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden}.schedule-grid{min-width:900px;overflow-x:auto}.grid-header{display:grid;grid-template-columns:200px repeat(7,1fr) 80px;background:linear-gradient(135deg,#1e293b,#334155);color:#fff}.employee-header,.stats-header{padding:16px;font-weight:600;font-size:14px}.day-header{padding:12px 8px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px;border-left:1px solid rgba(255,255,255,.1)}.day-header.today{background:#3b82f64d}.day-name{font-size:12px;font-weight:500;opacity:.8}.day-date{font-size:20px;font-weight:700}.day-month{font-size:11px;opacity:.7}.employee-row{display:grid;grid-template-columns:200px repeat(7,1fr) 80px;border-bottom:1px solid #e2e8f0;transition:background .2s}.employee-row:hover{background:#f8fafc}.employee-cell{padding:12px 16px;display:flex;align-items:center;gap:12px;border-left:4px solid transparent;background:#fafafa}.employee-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px;flex-shrink:0}.employee-info{display:flex;flex-direction:column;gap:2px;overflow:hidden}.employee-name{font-weight:600;font-size:14px;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.employee-role{font-size:11px;color:#64748b;text-transform:uppercase}.shift-cell{padding:4px;min-height:70px;border-left:1px solid #e2e8f0;display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:background .2s;position:relative}.shift-cell:hover{background:#f1f5f9}.shift-cell.today{background:#eff6ff}.empty-cell-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px;color:#cbd5e1;opacity:0;transition:opacity .2s}.shift-cell:hover .empty-cell-hint{opacity:1}.shift-block{padding:6px 8px;border-radius:6px;color:#fff;font-size:12px;cursor:pointer;transition:all .2s;position:relative;overflow:hidden}.shift-block:hover{transform:scale(1.02);box-shadow:0 2px 8px #00000026}.shift-block.draft{border:2px dashed rgba(255,255,255,.5)}.shift-time{font-weight:600;display:block}.draft-badge{display:block;font-size:10px;opacity:.8;margin-top:2px}.type-badge{position:absolute;top:4px;right:4px;font-size:10px;background:#0003;padding:2px 4px;border-radius:4px}.stats-cell{padding:12px;display:flex;align-items:center;justify-content:center;background:#fafafa;border-left:1px solid #e2e8f0}.hours-count{font-weight:700;font-size:14px;color:#3b82f6}.shifts-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px;font-size:18px;color:#64748b}.shifts-loading-spinner{width:32px;height:32px;border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:shifts-spin .8s linear infinite}.shifts-loading p{margin:0}@keyframes shifts-spin{to{transform:rotate(360deg)}}.no-employees{text-align:center;padding:60px;color:#64748b}.shift-form{display:flex;flex-direction:column;gap:16px}.shift-form label{display:flex;flex-direction:column;gap:6px}.shift-form label span{font-size:14px;font-weight:500;color:#475569}.shift-form select,.shift-form input{padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px}.shift-form .form-row{display:flex;flex-direction:column;gap:8px}.time-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.shift-status-info{display:flex;align-items:center;gap:12px;padding:12px;background:#f8fafc;border-radius:8px}.status-badge{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600}.status-badge.draft{background:#fef3c7;color:#92400e}.status-badge.published{background:#dcfce7;color:#166534}.status-badge.locked{background:#fee2e2;color:#991b1b}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px;padding-top:16px;border-top:1px solid #e2e8f0}.templates-container{display:grid;grid-template-columns:1fr 1fr;gap:24px}.templates-list h4,.template-form h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#1e293b}.no-templates{color:#64748b;font-style:italic}.template-employee-picker{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.template-employee-picker span{font-size:14px;font-weight:500;color:#475569}.template-employee-picker select{padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;background:#fff}.template-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f8fafc;border-radius:8px;margin-bottom:8px}.template-info{display:flex;flex-direction:column;gap:4px}.template-name{font-weight:600;color:#1e293b}.template-time{font-size:13px;color:#64748b}.template-day{font-size:12px;background:#e2e8f0;padding:2px 8px;border-radius:4px;display:inline-block;margin-top:4px}.template-actions{display:flex;gap:8px}.template-form{padding:16px;background:#f8fafc;border-radius:8px}.template-form label{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.template-form label span{font-size:14px;font-weight:500;color:#475569}.template-form input,.template-form select{padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px}.template-form button.btn-primary{width:100%;margin-top:8px}.template-days-block{margin-bottom:16px}.template-days-label{font-size:14px;font-weight:600;color:#475569;display:block;margin-bottom:6px}.template-days-hint{font-size:12px;color:#64748b;margin:0 0 10px;line-height:1.45}.template-day-presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.template-day-presets .btn-small{width:auto;margin-top:0;padding:6px 12px;font-size:12px}.template-day-checkboxes{display:flex;flex-wrap:wrap;gap:8px}.template-day-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;cursor:pointer;margin:0}.template-day-chip input{margin:0;cursor:pointer}.template-schedule-mode{margin-bottom:12px}.template-day-presets .btn-small.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.template-day-schedule-table{display:flex;flex-direction:column;gap:8px;margin-top:8px}.template-day-schedule-header,.template-day-schedule-row{display:grid;grid-template-columns:72px 1fr 1fr;gap:10px;align-items:center}.template-day-schedule-header{font-size:12px;font-weight:600;color:#64748b}.template-day-schedule-day{display:flex;align-items:center;gap:8px;font-weight:600;cursor:pointer}.template-day-schedule-day input{margin:0;cursor:pointer}.template-day-schedule-row input[type=time]{padding:6px 8px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px}.template-day-schedule-row input[type=time]:disabled{opacity:.45;cursor:not-allowed}.template-item .template-day{font-size:12px;color:#64748b}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:10px 16px;border-radius:8px;cursor:pointer}.btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.btn-secondary{background:#fff;color:#475569;border:1px solid #e2e8f0;padding:10px 16px;border-radius:8px;cursor:pointer}.btn-secondary:hover{background:#f1f5f9}.btn-danger{background:#ef4444;color:#fff;border:none;padding:10px 16px;border-radius:8px;cursor:pointer}.btn-danger:hover{background:#dc2626}.btn-success{background:#22c55e;color:#fff;border:none;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:12px}.btn-success:hover{background:#16a34a}.btn-small{padding:6px 12px!important;font-size:12px!important}.btn-small:disabled{cursor:not-allowed;opacity:.55}@media (max-width: 768px){.templates-container{grid-template-columns:1fr}.shifts-header{flex-direction:column;align-items:flex-start}.time-row{grid-template-columns:1fr}}.loyalty-page{padding:1.5rem;max-width:1400px}.loyalty-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.loyalty-header h1{margin:0;font-size:1.5rem;color:#1a1a2e}.loyalty-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem}.loyalty-stat-card{background:#fff;border-radius:12px;padding:1.5rem;text-align:center;box-shadow:0 2px 8px #0000000f;cursor:pointer;transition:transform .15s,box-shadow .15s}.loyalty-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.stat-value{font-size:2rem;font-weight:700;color:#4361ee}.stat-label{font-size:.875rem;color:#666;margin-top:.25rem}.loyalty-sections-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}@media (max-width: 900px){.loyalty-sections-row{grid-template-columns:1fr}}.loyalty-section-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000000f}.loyalty-section-card h3{margin:0 0 1rem;font-size:1.1rem;color:#1a1a2e}.quick-actions{display:flex;flex-wrap:wrap;gap:.5rem}.loyalty-search-bar{display:flex;gap:.5rem;margin-bottom:1rem}.loyalty-search-bar input{flex:1;padding:.6rem 1rem;border:1px solid #ddd;border-radius:8px;font-size:.95rem}.loyalty-count{font-size:.85rem;color:#888;margin-bottom:.75rem}.loyalty-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px #0000000f}.loyalty-table th{background:#f5f6fa;padding:.75rem 1rem;text-align:left;font-size:.8rem;text-transform:uppercase;color:#666;font-weight:600}.loyalty-table td{padding:.65rem 1rem;border-top:1px solid #f0f0f0;font-size:.9rem}.clickable-row{cursor:pointer}.clickable-row:hover{background:#f9f9ff}.rules-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rules-cell code{font-size:.75rem;color:#666}.loyalty-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem}.loyalty-pagination button{padding:.5rem 1rem;border:1px solid #ddd;background:#fff;border-radius:6px;cursor:pointer}.loyalty-pagination button:disabled{opacity:.4;cursor:not-allowed}.btn{padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background .15s}.btn-primary{background:#4361ee;color:#fff}.btn-primary:hover{background:#3a56d4}.btn-secondary{background:#e9ecef;color:#333}.btn-secondary:hover{background:#dde1e5}.btn-success{background:#2ecc71;color:#fff}.btn-success:hover{background:#27ae60}.btn-danger{background:#e74c3c;color:#fff}.btn-danger:hover{background:#c0392b}.btn-warning{background:#f39c12;color:#fff}.btn-warning:hover{background:#d68910}.btn-sm{padding:.25rem .6rem;font-size:.8rem}.btn-back{background:none;border:none;color:#4361ee;cursor:pointer;font-size:.9rem;margin-bottom:1rem;padding:0}.btn-back:hover{text-decoration:underline}.action-buttons{display:flex;gap:.3rem;flex-wrap:wrap}.badge{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.75rem;background:#e9ecef;color:#555;font-weight:500}.badge-earn{background:#d4edda;color:#155724}.badge-burn{background:#f8d7da;color:#721c24}.badge-expire{background:#fff3cd;color:#856404}.badge-adjust{background:#d1ecf1;color:#0c5460}.badge-status-draft{background:#e9ecef;color:#555}.badge-status-active{background:#d4edda;color:#155724}.badge-status-paused{background:#fff3cd;color:#856404}.badge-status-archived{background:#f8d7da;color:#721c24}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;padding:2rem;width:90%;max-width:480px;max-height:90vh;overflow-y:auto}.modal-wide{max-width:600px}.modal-content h2{margin:0 0 1.5rem;font-size:1.25rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.3rem;font-size:.85rem;color:#555;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.5rem .75rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem}.form-group textarea{resize:vertical;font-family:monospace}.loyalty-page .form-row{display:flex;gap:1rem}.loyalty-page .form-row .form-group{flex:1}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.5rem}.error-message{background:#f8d7da;color:#721c24;padding:.75rem;border-radius:6px;margin-bottom:1rem;font-size:.85rem}.empty-message{color:#888;font-style:italic}.guest-profile-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.guest-profile-header h1{margin:0}.guest-phone{color:#666;font-size:1.1rem}.guest-tier-badge{background:#4361ee;color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:2rem}.profile-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000000f}.profile-card h3{margin:0 0 1rem;font-size:1rem;color:#666}.profile-section{margin-bottom:2rem}.profile-section h3{margin:0 0 1rem;font-size:1.1rem}.bonus-balance{font-size:2rem;font-weight:700;color:#4361ee;margin-bottom:.5rem}.bonus-stats{display:flex;gap:1.5rem;margin-bottom:.5rem;font-size:.85rem;color:#666}.bonus-status{font-size:.85rem;color:#888;margin-bottom:1rem}.bonus-actions{display:flex;gap:.5rem}.info-rows div{padding:.3rem 0;font-size:.9rem}.tier-name{font-size:1.5rem;font-weight:600;color:#4361ee;margin-bottom:.5rem}.tier-info{display:flex;gap:1.5rem;font-size:.85rem;color:#666}.amount-positive{color:#27ae60;font-weight:600}.amount-negative{color:#e74c3c;font-weight:600}.rfm-scores{display:flex;gap:1rem;margin-bottom:.75rem}.rfm-score{background:#f5f6fa;padding:.5rem 1rem;border-radius:8px;font-weight:700;font-size:1.1rem}.rfm-segment{color:#4361ee;font-weight:600;font-size:1rem}.rfm-distribution{display:flex;flex-direction:column;gap:.5rem}.rfm-bar-row{display:flex;align-items:center;gap:.75rem}.rfm-label{width:140px;font-size:.8rem;color:#555;text-transform:capitalize}.rfm-bar-bg{flex:1;height:18px;background:#f0f0f0;border-radius:9px;overflow:hidden}.rfm-bar-fill{height:100%;background:#4361ee;border-radius:9px;transition:width .3s;min-width:4px}.rfm-count{width:36px;text-align:right;font-size:.8rem;color:#666;font-weight:600}.tiers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.tier-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000000f;text-align:center}.tier-level{font-size:.8rem;color:#888;text-transform:uppercase}.tier-card-name{font-size:1.25rem;font-weight:600;color:#4361ee;margin:.5rem 0}.tier-details{display:flex;justify-content:center;gap:1rem;font-size:.85rem;color:#666;margin-bottom:1rem}.missions-list{display:flex;flex-direction:column;gap:.75rem}.mission-card{background:#fff;padding:1rem;border-radius:8px;box-shadow:0 1px 4px #0000000f}.mission-name{font-weight:600;margin-bottom:.5rem}.mission-progress-bar{height:8px;background:#f0f0f0;border-radius:4px;overflow:hidden;margin-bottom:.3rem}.mission-bar-fill{height:100%;background:#4361ee;border-radius:4px;transition:width .3s}.mission-progress-text{font-size:.8rem;color:#666}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.achievement-badge{background:#fff;border:2px solid #f0f0f0;border-radius:12px;padding:1rem;text-align:center}.achievement-badge-large{padding:1.5rem}.achievement-name{font-weight:600;color:#4361ee;margin-bottom:.3rem}.achievement-desc{font-size:.85rem;color:#666}.achievement-criteria{margin-top:.5rem}.achievement-criteria code{font-size:.7rem;color:#888}.tabs{display:flex;gap:.25rem;border-bottom:2px solid #f0f0f0;margin-bottom:1rem}.tab{padding:.5rem 1rem;border:none;background:none;cursor:pointer;font-size:.9rem;color:#666;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s}.tab.active{color:#4361ee;border-bottom-color:#4361ee;font-weight:600}.tab:hover{color:#4361ee}.loyalty-scope-tabs{display:flex;gap:0;margin-bottom:1.5rem;border:1px solid #ddd;border-radius:8px;overflow:hidden;width:fit-content}.scope-tab{padding:.5rem 1.25rem;border:none;background:#fff;cursor:pointer;font-size:.875rem;color:#555;font-weight:500;transition:all .15s}.scope-tab:not(:last-child){border-right:1px solid #ddd}.scope-tab:hover{background:#f5f6fa}.scope-tab-active{background:#4361ee;color:#fff}.scope-tab-active:hover{background:#3a56d4}.permissions-section{margin-top:20px;margin-bottom:20px}.permission-grid-toolbar{display:flex;gap:8px;margin-bottom:10px}.permission-grid-toolbar button{padding:8px 14px;border:1px solid #ddd;border-radius:6px;background:#fff;cursor:pointer;font-size:13px;color:#555;transition:background-color .2s,border-color .2s,color .2s}.permission-grid-toolbar button:hover{background:#f5f5f5;color:#333}.permission-grid-toolbar button.active{background:#667eea;border-color:#667eea;color:#fff;font-weight:600}.permissions-container{max-height:400px;overflow-y:auto;border:1px solid #ddd;border-radius:4px;padding:15px;background:#f9f9f9}.permission-category{margin-bottom:20px}.permission-category:last-child{margin-bottom:0}.permission-category-title{font-size:14px;font-weight:600;margin:0 0 10px;color:#333;padding-bottom:5px;border-bottom:1px solid #ddd}.permission-checkboxes{display:flex;flex-direction:column;gap:8px}.permission-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;padding:5px;border-radius:4px;transition:background-color .2s}.permission-checkbox:hover{background-color:#f0f0f0}.permission-checkbox input[type=checkbox]{cursor:pointer;width:18px;height:18px}.permission-checkbox span{font-size:14px;color:#333}.users-page-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.users-header-actions{display:flex;gap:8px}.users-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid #ddd}.users-tabs button{padding:10px 16px;border:none;background:transparent;cursor:pointer;font-size:14px;color:#555;border-bottom:2px solid transparent;margin-bottom:-1px}.users-tabs button:hover{color:#333}.users-tabs button.active{color:#667eea;font-weight:600;border-bottom-color:#667eea}.users-template-select-label{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;font-weight:600;font-size:14px}.users-template-select-label select{padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:14px;max-width:100%}.users-hint{font-size:12px;color:#666;line-height:1.45;margin:0 0 12px}.users-template-actions{display:flex;flex-wrap:wrap;gap:8px}.profile-container{max-width:800px;margin:0 auto}.profile-container h1{margin-bottom:20px;color:#333}.profile-card{background:#fff;border-radius:8px;padding:30px;box-shadow:0 2px 4px #0000001a}.profile-section{margin-bottom:30px}.profile-section:last-child{margin-bottom:0}.profile-section h2{font-size:18px;margin-bottom:20px;color:#333;border-bottom:2px solid #667eea;padding-bottom:10px}.profile-field{margin-bottom:20px}.profile-field label{display:block;font-weight:500;color:#666;margin-bottom:5px;font-size:14px}.profile-value{font-size:16px;color:#333;padding:8px 0}.status-badge{display:inline-block;padding:4px 12px;border-radius:4px;font-size:14px;font-weight:500}.status-badge.active{background-color:#d4edda;color:#155724}.status-badge.inactive{background-color:#f8d7da;color:#721c24}.not-found-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f5f5f5}.not-found-content{text-align:center}.not-found-content h1{font-size:120px;margin:0;color:#667eea}.not-found-content h2{font-size:32px;margin:10px 0;color:#333}.not-found-content p{font-size:18px;color:#666;margin-bottom:30px}.forbidden-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f5f5f5}.forbidden-content{text-align:center}.forbidden-content h1{font-size:120px;margin:0;color:#e74c3c}.forbidden-content h2{font-size:32px;margin:10px 0;color:#333}.forbidden-content p{font-size:18px;color:#666;margin-bottom:30px}.go-home-btn{padding:12px 24px;background-color:#667eea;color:#fff;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:background-color .2s}.go-home-btn:hover{background-color:#5568d3}.qr-page{max-width:480px;margin:0 auto;padding:16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#fff;min-height:100vh}.qr-preview-banner{background:#e8f5e9;color:#2e7d32;padding:8px 12px;border-radius:6px;font-size:13px;text-align:center;margin-bottom:12px}.qr-header{text-align:center;padding:12px 0 16px;border-bottom:1px solid #eee;margin-bottom:16px}.qr-header h1{font-size:20px;color:#333;margin:0}.qr-tabs{display:flex;border-bottom:2px solid #eee;margin-bottom:16px}.qr-tab{flex:1;padding:10px;text-align:center;background:none;border:none;font-size:14px;font-weight:500;color:#888;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.qr-tab.active{color:#667eea;border-bottom-color:#667eea}.qr-error{background:#fff3f3;color:#c0392b;padding:12px;border-radius:8px;text-align:center;margin-bottom:12px;font-size:14px}.qr-loading{text-align:center;padding:40px 0;color:#888}.qr-rate-limit{background:#fff8e1;color:#856404;padding:12px;border-radius:8px;text-align:center;margin-bottom:12px;font-size:14px}.qr-session-setup{text-align:center;padding:24px 16px}.qr-session-setup p{margin-bottom:16px;color:#555;font-size:14px}.qr-session-setup input{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;margin-bottom:12px}.qr-session-setup button{width:100%;padding:12px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer}.qr-session-setup button:disabled{opacity:.5}.qr-category{margin-bottom:20px}.qr-category h2{font-size:16px;color:#333;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid #f0f0f0}.qr-dish{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f5f5f5}.qr-dish-img{width:56px;height:56px;border-radius:8px;object-fit:cover;background:#fff;flex-shrink:0}.qr-dish-info{flex:1;min-width:0}.qr-dish-name{font-size:14px;font-weight:500;color:#333}.qr-dish-price{font-size:13px;color:#667eea;font-weight:600;margin-top:2px}.qr-dish-add{display:flex;align-items:center;gap:6px;flex-shrink:0}.qr-dish-add button{width:28px;height:28px;border-radius:50%;border:1px solid #667eea;background:#fff;color:#667eea;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.qr-dish-add button.add-btn{background:#667eea;color:#fff}.qr-qty-display{min-width:20px;text-align:center;font-size:14px;font-weight:600}.qr-cart-empty{text-align:center;padding:40px 0;color:#888}.qr-cart-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #f5f5f5}.qr-cart-item-info{flex:1}.qr-cart-item-name{font-size:14px;font-weight:500}.qr-cart-item-meta{font-size:12px;color:#888;margin-top:2px}.qr-cart-item-mods{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.qr-cart-mod{font-size:11px;color:#667eea;background:#f0f0ff;padding:1px 6px;border-radius:3px}.qr-cart-item-remove{background:none;border:none;color:#e74c3c;cursor:pointer;font-size:18px;padding:4px 8px}.qr-cart-total{display:flex;justify-content:space-between;padding:16px 0;font-size:16px;font-weight:700;border-top:2px solid #333;margin-top:8px}.qr-cart-badge{background:#e74c3c;color:#fff;border-radius:10px;padding:1px 6px;font-size:11px;margin-left:6px;font-weight:700}.tg-page{max-width:480px;margin:0 auto;padding:16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#fff;min-height:100vh}.tg-preview-banner{background:#e3f2fd;color:#1565c0;padding:8px 12px;border-radius:6px;font-size:12px;text-align:center;margin-bottom:12px}.tg-header{text-align:center;padding:10px 0 12px;border-bottom:1px solid #eee;margin-bottom:8px}.tg-header h1{font-size:18px;color:#333;margin:0}.tg-header p{font-size:12px;color:#888;margin-top:2px}.tg-tabs{display:flex;border-bottom:2px solid #eee;margin-bottom:8px}.tg-tab{flex:1;padding:10px;text-align:center;background:none;border:none;font-size:14px;font-weight:500;color:#888;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.tg-tab.active{color:#08c;border-bottom-color:#08c}.tg-error{background:#fff3f3;color:#c0392b;padding:10px;border-radius:8px;text-align:center;margin-bottom:12px;font-size:13px}.tg-category-strip{display:flex;overflow-x:auto;gap:8px;padding:4px 0 10px;margin-bottom:6px}.tg-category-pill{flex:0 0 auto;border:none;background:#f5f7fb;border-radius:999px;padding:4px 10px 4px 4px;display:flex;align-items:center;gap:6px;cursor:pointer;font-size:12px;color:#555}.tg-category-pill.active{background:#08c;color:#fff}.tg-category-icon{width:28px;height:28px;border-radius:50%;object-fit:cover;background:#fff;flex-shrink:0}.tg-category-icon.placeholder{display:flex;align-items:center;justify-content:center;font-weight:600;color:#36c}.tg-category-label{white-space:nowrap}.tg-loading{text-align:center;padding:40px 0;color:#888}.tg-category-placeholder{text-align:center;padding:24px 0;color:#888;font-size:13px}.tg-category{margin-bottom:18px;background:#fafafa;border-radius:10px;padding:10px 10px 6px;box-shadow:0 1px 3px #0000000a}.tg-category h2{font-size:15px;color:#333;margin:0 0 6px}.tg-dish{display:flex;align-items:center;gap:12px;padding:8px 0}.tg-dish-img{width:48px;height:48px;border-radius:6px;object-fit:cover;background:#fff;flex-shrink:0}.tg-dish-info{flex:1;min-width:0}.tg-dish-name{font-size:14px;font-weight:500}.tg-dish-price{font-size:13px;color:#08c;font-weight:600;margin-top:2px}.tg-add-btn{width:28px;height:28px;border-radius:50%;border:none;background:#08c;color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tg-cart-empty{text-align:center;padding:40px 0;color:#888}.tg-cart-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #f5f5f5}.tg-cart-item-info{flex:1}.tg-cart-item-name{font-size:14px;font-weight:500}.tg-cart-item-mods{font-size:12px;color:#666;margin-top:4px;display:flex;flex-wrap:wrap;gap:4px 8px}.tg-cart-mod{display:inline-block}.tg-cart-item-meta{font-size:12px;color:#888;margin-top:2px}.tg-cart-item-remove{background:none;border:none;color:#e74c3c;cursor:pointer;font-size:18px;padding:4px 8px}.tg-cart-total{display:flex;justify-content:space-between;padding:14px 0;font-size:16px;font-weight:700;border-top:2px solid #333;margin-top:8px}.tg-cart-badge{background:#e74c3c;color:#fff;border-radius:10px;padding:1px 6px;font-size:11px;margin-left:6px;font-weight:700}.qr-config-page{max-width:560px;margin:0 auto;padding:24px}.qr-config-page h1{margin-bottom:8px;font-size:1.5rem}.qr-config-desc{color:#64748b;margin-bottom:24px;font-size:.95rem}.qr-config-loading,.qr-config-error{padding:16px;border-radius:8px}.qr-config-error{background:#fef2f2;color:#b91c1c;margin-bottom:16px}.qr-config-section{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:20px;margin-bottom:20px}.qr-config-section h2{font-size:1rem;margin:0 0 12px;color:#334155}.qr-config-url-wrap{display:flex;gap:8px;align-items:center}.qr-config-url{flex:1;padding:10px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:.9rem;background:#f8fafc}.qr-config-qr-wrap{display:flex;flex-direction:column;align-items:flex-start}.qr-config-qr-wrap canvas{border-radius:8px;background:#fff}.qr-config-download{margin-top:16px}.qr-config-expiry-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.qr-config-datetime{padding:10px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:1rem}.qr-config-extend-tip{background:#eff6ff;color:#1e40af;padding:10px 12px;border-radius:6px;font-size:.9rem;margin-bottom:12px;border-left:4px solid #3b82f6}.qr-config-expiry-soon{background:#fef3c7;color:#92400e;padding:10px 12px;border-radius:6px;font-size:.9rem;margin-bottom:12px;border-left:4px solid #f59e0b}.qr-config-expired{color:#b91c1c;margin-bottom:12px;font-size:.9rem}.qr-config-quick-extend{margin-top:12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.qr-config-quick-extend span{font-size:.9rem;color:#64748b}.qr-config-expiry-hint{margin-top:12px;font-size:.85rem;color:#64748b}*{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-color:#f5f5f5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.btn-primary,.btn-secondary,.btn-danger,.btn-small{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s;font-weight:500}.btn-primary{background-color:#667eea;color:#fff}.btn-primary:hover:not(:disabled){background-color:#5568d3}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#5a6268}.btn-danger{background-color:#e74c3c;color:#fff}.btn-danger:hover:not(:disabled){background-color:#c0392b}.btn-small{padding:6px 12px;font-size:12px}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled{opacity:.5;cursor:not-allowed}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-header h1{margin:0;color:#333}.status-active{color:#27ae60;font-weight:500}.status-inactive{color:#e74c3c;font-weight:500}.status-open{background:#fff3cd;color:#856404;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-closed{background:#d4edda;color:#155724;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-canceled{background:#f8d7da;color:#721c24;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.empty-state{color:#666;font-style:italic;text-align:center;padding:20px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:20px;border-top:1px solid #dee2e6}.filters{display:flex;gap:20px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:8px}.filter-group label{font-size:14px;color:#666}.filter-select,.filter-input{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.action-buttons{display:flex;gap:8px}
