*{box-sizing:border-box;margin:0;padding:0}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh;background-color:#f9fafb;color:#111827}#root{min-height:100vh}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6ab547,#4a8f32);padding:20px}.login-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;padding:48px;width:100%;max-width:440px}.login-header{text-align:center;margin-bottom:32px}.login-header h1{font-size:32px;color:#6ab547;margin:0 0 8px;font-weight:700}.login-header h2{font-size:18px;color:#6b7280;margin:0;font-weight:500}.login-form{display:flex;flex-direction:column;gap:20px}.form-group input{padding:12px 16px;border:2px solid #E5E7EB;border-radius:8px;font-size:16px;transition:all .2s}.login-button{padding:14px;background:linear-gradient(135deg,#6ab547,#4a8f32);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:8px}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #6ab54766}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-footer{margin-top:24px;text-align:center}.demo-hint{font-size:13px;color:#6b7280;background-color:#f3f4f6;padding:12px;border-radius:8px;margin:0}.twofa-section{text-align:center}.twofa-icon{color:#6ab547;margin-bottom:16px}.twofa-section h3{font-size:20px;color:#374151;margin:0 0 12px}.twofa-description{font-size:14px;color:#6b7280;margin:0 0 24px;line-height:1.5}.totp-input{font-size:24px!important;text-align:center;letter-spacing:6px;font-family:monospace}.back-link{background:none;border:none;color:#6b7280;font-size:14px;cursor:pointer;text-decoration:underline;margin-top:8px}.back-link:hover{color:#6ab547}.dashboard-container{display:flex;min-height:100vh;background-color:#f3f4f6}.sidebar{width:280px;background:linear-gradient(180deg,#6ab547,#5ba33f,#4a8f32);color:#fff;display:flex;flex-direction:column;box-shadow:4px 0 32px #00000026;position:relative}.sidebar:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M0,20 Q25,15 50,20 T100,20 L100,0 L0,0 Z" fill="rgba(255,255,255,0.05)"/></svg>');background-size:100% 100px;opacity:.5;pointer-events:none}.sidebar-header{padding:32px 24px;border-bottom:1px solid rgba(255,255,255,.15);position:relative;z-index:1}.logo-container{display:flex;align-items:center;gap:12px}.logo-icon{font-size:32px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.sidebar-header h1{font-size:24px;margin:0 0 2px;font-weight:700;letter-spacing:-.5px}.sidebar-header p{font-size:13px;margin:0;opacity:.85;font-weight:500}.sidebar-nav{padding:24px 0;position:relative;z-index:1}.nav-item{display:flex;align-items:center;gap:14px;padding:16px 24px;color:#fff;text-decoration:none;transition:all .25s ease;border-left:3px solid transparent;font-weight:500;font-size:15px;position:relative}.nav-item .icon{flex-shrink:0}.nav-item:hover{background-color:#ffffff1f;padding-left:28px}.nav-item.active{background-color:#fff3;border-left-color:#fff;font-weight:600}.sidebar-footer{padding:20px;border-top:1px solid rgba(255,255,255,.15);position:relative;z-index:1}.user-info{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px;background-color:#ffffff1a;border-radius:10px}.user-avatar{width:40px;height:40px;background-color:#ffffff40;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-details{flex:1;min-width:0}.user-name{font-weight:600;margin:0 0 2px;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{font-size:12px;margin:0;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-button{width:100%;padding:12px;background-color:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.logout-button:hover{background-color:#ffffff40;transform:translateY(-1px)}.main-content{flex:1;padding:40px;overflow-y:auto;background-color:#f3f4f6}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid #E5E7EB}.modal-header h2{margin:0;font-size:24px;color:#111827}.close-button{background:none;border:none;font-size:32px;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-button:hover{color:#111827}.promotion-form{padding:32px;display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group label{font-size:14px;font-weight:600;color:#374151}.form-group input,.form-group select,.form-group textarea{padding:12px 16px;border:2px solid #E5E7EB;border-radius:8px;font-size:14px;font-family:inherit;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#6ab547;box-shadow:0 0 0 3px #6ab5471a}.form-group textarea{resize:vertical}.form-checkboxes{display:flex;gap:24px;padding:16px 0}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:500;color:#374151}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.form-actions{display:flex;gap:12px;margin-top:8px}.btn-secondary{flex:1;padding:12px;background-color:#f3f4f6;color:#374151;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background-color:#e5e7eb}.form-actions .btn-primary{flex:1}.error-message{background-color:#fee2e2;color:#dc2626;padding:12px 16px;border-radius:8px;font-size:14px}.promotions-page{max-width:1400px}.promotions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px}.promotion-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 12px #0000000f;transition:all .3s ease;border:1px solid #E5E7EB}.promotion-card:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-4px);border-color:#6ab547}.promotion-header{display:flex;align-items:flex-start;gap:8px;margin-bottom:12px;flex-wrap:wrap}.promotion-header h3{flex:1;margin:0;color:#111827;font-size:18px}.badge-featured{background-color:#fcd34d;color:#92400e;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.badge-status{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.badge-status.active{background-color:#d1fae5;color:#065f46}.badge-status.inactive{background-color:#fee2e2;color:#991b1b}.promotion-description{color:#6b7280;margin:0 0 16px;line-height:1.5}.promotion-details{display:flex;flex-direction:column;gap:8px;padding:16px 0;border-top:1px solid #E5E7EB;border-bottom:1px solid #E5E7EB;margin-bottom:16px}.detail-row{display:flex;align-items:center;gap:8px;font-size:14px}.detail-icon{color:#6ab547;flex-shrink:0}.detail-row .label{color:#6b7280;font-weight:500;margin-right:auto}.detail-row .value{color:#111827;font-weight:600}.promotion-actions{display:flex;gap:10px}.btn-edit,.btn-delete{flex:1;padding:10px 16px;border:none;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px}.btn-edit{background-color:#6ab547;color:#fff}.btn-edit:hover{background-color:#5ba33f;transform:translateY(-1px);box-shadow:0 4px 12px #6ab5474d}.btn-delete{background-color:#ef4444;color:#fff}.btn-delete:hover{background-color:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.loading,.empty-state{text-align:center;padding:64px 32px;color:#6b7280;font-size:16px}.header-actions{display:flex;gap:12px}.btn-secondary{padding:12px 20px;background:#fff;color:#374151;border:1px solid #D1D5DB;border-radius:10px;font-weight:600;font-size:15px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.badge-group{display:flex;gap:6px;flex-wrap:wrap}.badge-source{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600}.badge-source.flowhub{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.promotion-card.flowhub-source{border-left:4px solid #3B82F6}.promotion-location{display:flex;align-items:center;gap:6px;color:#6b7280;font-size:13px;margin:0 0 12px}.promotion-location svg{color:#3b82f6}.deals-page{padding:24px}.header-content h1{margin:0 0 8px;font-size:28px;font-weight:700;color:#1a1a2e}.header-subtitle{margin:0;color:#666;font-size:14px}.btn-primary{display:flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#00b894,#00a884);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #00b8944d}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.spinning{animation:spin 1s linear infinite}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stat-card{background:#fff;border-radius:12px;padding:20px;text-align:center;box-shadow:0 2px 8px #0000000d}.stat-card .stat-value{font-size:32px;font-weight:700;color:#1a1a2e}.stat-card .stat-label{font-size:14px;color:#666;margin-top:4px}.stat-card.published .stat-value{color:#00b894}.stat-card.unpublished .stat-value{color:#e17055}.filters-row{display:flex;gap:16px;margin-bottom:16px;flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;flex:1;min-width:200px}.search-box input{border:none;outline:none;flex:1;font-size:14px}.search-box svg{color:#999}.filter-group{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:8px}.filter-group svg{color:#666}.filter-group select{border:none;outline:none;background:transparent;font-size:14px;cursor:pointer;padding-right:8px}.bulk-actions{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f8f9fa;border-radius:8px;margin-bottom:16px}.bulk-actions span{font-weight:600;color:#1a1a2e}.bulk-actions button{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-publish{background:#00b894;color:#fff}.btn-unpublish{background:#e17055;color:#fff}.btn-clear{background:#dfe6e9;color:#636e72}.bulk-actions button:hover{transform:translateY(-1px)}.deals-table-container{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000d}.deals-table{width:100%;border-collapse:collapse}.deals-table th{background:#f8f9fa;padding:14px 16px;text-align:left;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e0e0e0}.deals-table td{padding:16px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.deals-table tr:last-child td{border-bottom:none}.deals-table tr.unpublished{background:#fafafa}.deals-table tr:hover{background:#f5f5f5}.col-checkbox{width:40px;text-align:center}.col-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.col-status{width:80px}.col-title{min-width:200px}.col-location{width:150px}.col-discount{width:100px}.col-dates{width:180px}.col-action{width:140px}.deal-title{font-weight:600;color:#1a1a2e;margin-bottom:4px}.deal-details{font-size:13px;color:#666;line-height:1.4}.status-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase}.status-badge.active{background:#d4edda;color:#155724}.status-badge.inactive{background:#f8d7da;color:#721c24}.location-badge{display:flex;align-items:center;gap:6px;font-size:13px;color:#666}.discount-badge{display:inline-block;padding:4px 10px;background:linear-gradient(135deg,#00b894,#00a884);color:#fff;border-radius:4px;font-size:12px;font-weight:600}.date-range{display:flex;align-items:center;gap:6px;font-size:13px;color:#666}.toggle-switch{display:flex;align-items:center;gap:10px;cursor:pointer}.toggle-switch input{display:none}.toggle-slider{width:48px;height:26px;background:#dfe6e9;border-radius:26px;position:relative;transition:all .3s}.toggle-slider:after{content:"";position:absolute;width:22px;height:22px;background:#fff;border-radius:50%;top:2px;left:2px;transition:all .3s;box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider{background:#00b894}.toggle-switch input:checked+.toggle-slider:after{left:24px}.toggle-label{font-size:13px;font-weight:500;color:#666}.toggle-switch input:checked~.toggle-label{color:#00b894}.loading{display:flex;align-items:center;justify-content:center;min-height:300px;font-size:16px;color:#666}.empty-state{text-align:center;padding:60px 20px;color:#666}@media (max-width: 1024px){.stats-row{grid-template-columns:repeat(3,1fr)}.filters-row{flex-direction:column}.deals-table-container{overflow-x:auto}.deals-table{min-width:900px}}:root{--primary: #6AB547;--primary-dark: #4A8F32;--primary-light: #E8F5E9;--text-main: #111827;--text-secondary: #6B7280;--bg-page: #F9FAFB;--bg-card: #FFFFFF;--border: #E5E7EB;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px}.notifications-page{max-width:1200px;margin:0 auto;padding:2rem;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--text-main)}.page-header{margin-bottom:3rem;text-align:center}.page-header h1{font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem;letter-spacing:-.02em}.header-subtitle{color:var(--text-secondary);font-size:1.1rem}.notifications-layout{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start}@media (max-width: 1024px){.notifications-layout{grid-template-columns:1fr}}.send-notification-card,.notification-history-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.5);transition:transform .2s ease,box-shadow .2s ease}.send-notification-card:hover,.notification-history-card:hover{transform:translateY(-2px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}h2{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;color:var(--text-main);display:flex;align-items:center;gap:.75rem}.notification-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}label{font-size:.875rem;font-weight:600;color:var(--text-main);margin-left:.25rem}input,textarea{width:100%;padding:.875rem 1rem;border:2px solid var(--border);border-radius:var(--radius-md);font-size:.95rem;transition:all .2s ease;background:#f9fafb}input:focus,textarea:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px var(--primary-light)}textarea{resize:vertical;min-height:120px}small{text-align:right;color:var(--text-secondary);font-size:.75rem}.notification-preview{margin-top:1rem;background:#f3f4f6;padding:1.5rem;border-radius:var(--radius-lg);border:1px dashed var(--border)}.notification-preview h3{font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.preview-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px;padding:12px;box-shadow:0 4px 12px #00000014;display:flex;flex-direction:column;gap:8px}.preview-header{display:flex;align-items:center;justify-content:space-between}.preview-header-left{display:flex;align-items:center;gap:8px}.app-icon{width:20px;height:20px;border-radius:5px;overflow:hidden}.app-name{font-size:13px;font-weight:600;color:#1c1c1e;text-transform:uppercase;opacity:.6}.preview-time{font-size:12px;color:#8e8e93}.preview-content{display:flex;flex-direction:column;gap:2px}.preview-content strong{font-size:15px;font-weight:600;color:#000}.preview-content p{font-size:15px;color:#1c1c1e;margin:0;line-height:1.3}.btn-send{margin-top:1rem;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;padding:1rem;border:none;border-radius:var(--radius-md);font-weight:600;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.75rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #6ab5474d}.btn-send:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #6ab54766}.btn-send:active:not(:disabled){transform:translateY(0)}.btn-send:disabled{opacity:.7;cursor:not-allowed;filter:grayscale(100%)}.history-list{display:flex;flex-direction:column;gap:1rem;max-height:600px;overflow-y:auto;padding-right:.5rem}.history-list::-webkit-scrollbar{width:6px}.history-list::-webkit-scrollbar-track{background:transparent}.history-list::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:10px}.history-item{background:#f9fafb;border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem;transition:all .2s ease}.history-item:hover{background:#fff;border-color:var(--primary-light);box-shadow:var(--shadow-md)}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.history-header strong{font-size:1rem;color:var(--text-main)}.history-date{font-size:.75rem;color:var(--text-secondary);background:#fff;padding:2px 8px;border-radius:10px;border:1px solid var(--border)}.history-body{font-size:.9rem;color:var(--text-secondary);margin-bottom:1rem;line-height:1.5}.history-footer .badge{display:inline-flex;align-items:center;gap:.25rem;background:var(--primary-light);color:var(--primary-dark);padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600}.success-message,.error-message{padding:1rem;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;display:flex;align-items:center;gap:.5rem;animation:slideIn .3s ease}.success-message{background:#ecfdf5;color:#065f46;border:1px solid #A7F3D0}.error-message{background:#fef2f2;color:#991b1b;border:1px solid #FECACA}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.image-upload-group{margin-bottom:.5rem}.image-upload-area{position:relative}.file-input{display:none}.upload-placeholder{border:2px dashed var(--border);border-radius:var(--radius-md);padding:2.5rem 1.5rem;text-align:center;cursor:pointer;transition:all .2s ease;background:#f9fafb;display:flex;flex-direction:column;align-items:center;gap:.75rem}.upload-placeholder:hover{border-color:var(--primary);background:var(--primary-light)}.upload-placeholder svg{color:var(--text-secondary)}.upload-placeholder span{font-weight:600;color:var(--text-main)}.upload-placeholder small{color:var(--text-secondary);text-align:center}.image-preview-container{position:relative;border-radius:var(--radius-md);overflow:hidden;background:#f3f4f6}.image-preview{width:100%;max-height:300px;object-fit:contain;display:block}.remove-image-btn{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;background:#0009;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.remove-image-btn:hover{background:#dc2626e6;transform:scale(1.1)}.change-image-btn{position:absolute;bottom:12px;right:12px;padding:6px 12px;border-radius:6px;background:#000000b3;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:.85rem;transition:all .2s ease}.change-image-btn:hover{background:var(--primary-color);transform:scale(1.05)}.label-hint{font-weight:400;color:var(--text-secondary);font-size:.8rem}.announcement-preview{padding:0;overflow:hidden}.preview-image{width:100%;max-height:200px;overflow:hidden;background:#f3f4f6}.preview-image img{width:100%;height:100%;object-fit:cover}.announcement-preview .preview-content{padding:1.25rem;text-align:center}.announcement-preview .preview-content strong{font-size:1.25rem;margin-bottom:.5rem;display:block}.preview-description{color:var(--text-secondary)!important;font-size:.95rem!important;line-height:1.5!important}.preview-footer{padding:0 1.25rem 1.25rem;text-align:center}.preview-cta{display:inline-block;background:var(--primary);color:#fff;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:600;font-size:.9rem}.history-item{display:flex;gap:1rem;align-items:flex-start}.history-image{width:80px;height:80px;flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden;background:#f3f4f6}.history-image img{width:100%;height:100%;object-fit:cover}.history-content{flex:1;min-width:0}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.empty-state p{margin:0}.form-section{background:#f9fafb;border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem;margin-top:.5rem}.section-header{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--text-main);margin-bottom:1rem}.section-header svg{color:var(--primary)}.form-row{display:flex;gap:1rem}.form-row .form-group{margin-bottom:0}.flex-1{flex:1}.flex-2{flex:2}.announcement-preview-enhanced{padding:0;overflow:hidden;background:linear-gradient(145deg,#1a1a2e,#16213e);border-radius:20px;box-shadow:0 20px 40px #0000004d}.preview-image-enhanced{position:relative;width:100%;height:180px;overflow:hidden}.preview-image-enhanced img{width:100%;height:100%;object-fit:cover}.preview-image-overlay{position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(to top,rgba(26,26,46,1) 0%,transparent 100%)}.preview-content-enhanced{padding:1.5rem;text-align:center;margin-top:-40px;position:relative;z-index:1}.preview-badge{display:inline-block;background:linear-gradient(135deg,var(--primary) 0%,#2ecc71 100%);color:#fff;font-size:.65rem;font-weight:700;padding:.25rem .75rem;border-radius:20px;letter-spacing:.1em;margin-bottom:.75rem;text-transform:uppercase}.preview-title{color:#fff;font-size:1.5rem;font-weight:700;margin:0 0 .75rem;line-height:1.2}.preview-description-enhanced{color:#ffffffb3!important;font-size:.9rem!important;line-height:1.6!important;margin:0 0 1.25rem!important}.preview-buttons{display:flex;flex-direction:column;gap:.75rem;padding-top:.5rem}.preview-link-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:transparent;border:2px solid var(--primary);color:var(--primary);padding:.75rem 1.5rem;border-radius:12px;font-weight:600;font-size:.9rem;transition:all .2s ease}.preview-link-btn:hover{background:var(--primary);color:#fff}.preview-save-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;padding:.875rem 1.5rem;border-radius:12px;font-weight:600;font-size:.9rem;box-shadow:0 4px 15px #6ab54766}.history-footer{display:flex;gap:.5rem;flex-wrap:wrap}.badge-link{background:#eef2ff!important;color:#4f46e5!important}.badge-link svg{width:12px;height:12px}@media (max-width: 640px){.form-row{flex-direction:column}.preview-title{font-size:1.25rem}.preview-buttons{gap:.5rem}}.page-header h1{display:flex;align-items:center;justify-content:center;gap:.75rem}.page-header h1 svg{flex-shrink:0}.global-message{margin-bottom:1.5rem}.form-hint{color:var(--text-secondary);font-size:.875rem;margin-top:-.5rem;margin-bottom:1.5rem}.section-hint{color:var(--text-secondary);font-size:.875rem;margin-top:-1rem;margin-bottom:1.5rem}.loading-state{text-align:center;padding:2rem;color:var(--text-secondary)}.history-actions{display:flex;gap:.5rem}.action-btn{width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#fff;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.action-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.action-btn.delete:hover{border-color:#dc2626;color:#dc2626;background:#fef2f2}.history-item.unpublished{opacity:.6;background:#f3f4f6}.badge-hidden{background:#fef3c7!important;color:#92400e!important}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;font-size:1.25rem}.modal-close{width:36px;height:36px;border-radius:50%;border:none;background:#f3f4f6;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-close:hover{background:#e5e7eb;color:var(--text-main)}.modal-form{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;margin-top:.5rem;border-top:1px solid var(--border)}.btn-cancel{padding:.75rem 1.5rem;border-radius:var(--radius-md);border:1px solid var(--border);background:#fff;color:var(--text-main);font-weight:600;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{background:#f3f4f6}.btn-save{padding:.75rem 1.5rem;border-radius:var(--radius-md);border:none;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-save:disabled{opacity:.7;cursor:not-allowed}.store-select{width:100%;padding:.875rem 2.5rem .875rem 1rem;border:2px solid var(--border);border-radius:var(--radius-md);font-size:.95rem;transition:all .2s ease;background:#f9fafb;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}.store-select:focus{outline:none;border-color:var(--primary);background-color:#fff;box-shadow:0 0 0 4px var(--primary-light)}.store-select option{padding:.5rem}.badge-store{background:#dbeafe!important;color:#1e40af!important}.badge-all-stores{background:#f3f4f6!important;color:#4b5563!important}.tab-navigation{display:flex;gap:.5rem;margin-bottom:2rem;background:#f3f4f6;padding:.5rem;border-radius:var(--radius-md)}.tab-btn{flex:1;padding:.875rem 1.5rem;border:none;background:transparent;border-radius:var(--radius-sm);font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.tab-btn.active{background:#fff;color:var(--primary-dark);box-shadow:var(--shadow-sm)}.tab-btn:hover:not(.active){color:var(--text-main)}.tab-badge{background:var(--primary);color:#fff;font-size:.7rem;font-weight:700;padding:.125rem .5rem;border-radius:999px;min-width:20px;text-align:center}.notifications-layout.single-column{grid-template-columns:1fr;max-width:700px;margin:0 auto}.scheduling-section{margin-top:1rem}.send-mode-toggle{display:flex;gap:.75rem;margin-bottom:1rem}.mode-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1rem;border:2px solid var(--border);border-radius:var(--radius-md);background:#fff;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.mode-btn:hover{border-color:var(--primary-light);color:var(--text-main)}.mode-btn.active{border-color:var(--primary);background:var(--primary-light);color:var(--primary-dark)}.mode-btn svg{width:18px;height:18px}.schedule-inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.schedule-inputs input[type=date],.schedule-inputs input[type=time]{width:100%;padding:.875rem 1rem;border:2px solid var(--border);border-radius:var(--radius-md);font-size:.95rem;transition:all .2s ease;background:#fff}.schedule-inputs input[type=date]:focus,.schedule-inputs input[type=time]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-light)}.scheduled-notifications-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.5);max-width:900px;margin:0 auto}.scheduled-list{display:flex;flex-direction:column;gap:1rem}.scheduled-item{display:flex;justify-content:space-between;align-items:flex-start;background:#f9fafb;border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem;transition:all .2s ease}.scheduled-item:hover{background:#fff;border-color:var(--primary-light);box-shadow:var(--shadow-md)}.scheduled-item.status-sent{opacity:.7;background:#ecfdf5;border-color:#a7f3d0}.scheduled-item.status-cancelled{opacity:.5;background:#f3f4f6}.scheduled-item.status-failed{background:#fef2f2;border-color:#fecaca}.scheduled-content{flex:1;min-width:0}.scheduled-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.scheduled-header strong{font-size:1rem;color:var(--text-main)}.scheduled-body{font-size:.9rem;color:var(--text-secondary);margin-bottom:.75rem;line-height:1.5}.scheduled-footer{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.scheduled-time{display:inline-flex;align-items:center;gap:.375rem;font-size:.8rem;color:var(--text-secondary);background:#fff;padding:.25rem .75rem;border-radius:999px;border:1px solid var(--border)}.scheduled-actions{flex-shrink:0;margin-left:1rem}.status-badge{display:inline-flex;padding:.25rem .75rem;border-radius:999px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.badge-pending{background:#fef3c7;color:#92400e}.badge-processing{background:#dbeafe;color:#1e40af}.badge-sent{background:#d1fae5;color:#065f46}.badge-cancelled{background:#f3f4f6;color:#6b7280}.badge-failed{background:#fee2e2;color:#991b1b}.badge-sent-count{background:#d1fae5!important;color:#065f46!important}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.empty-state p{margin:0 0 .5rem;font-weight:600;font-size:1.1rem;color:var(--text-main)}.empty-state small{display:block;text-align:center;color:var(--text-secondary)}@media (max-width: 768px){.tab-navigation{flex-direction:column}.tab-btn{justify-content:flex-start}}@media (max-width: 640px){.schedule-inputs{grid-template-columns:1fr}.send-mode-toggle{flex-direction:column}.scheduled-item{flex-direction:column;gap:1rem}.scheduled-actions{margin-left:0;align-self:flex-end}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.milestone-form-modal{background:#fff;border-radius:16px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:1.25rem;color:#1f2937}.close-btn{background:none;border:none;color:#6b7280;cursor:pointer;padding:.25rem;border-radius:6px;transition:all .2s}.close-btn:hover{background:#f3f4f6;color:#1f2937}.milestone-form{padding:1.5rem}.form-error{padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;margin-bottom:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-row.checkboxes{margin-top:.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-weight:500;color:#374151;margin-bottom:.5rem;font-size:.875rem}.form-group input[type=text],.form-group input[type=number],.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;transition:all .2s;background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.form-group textarea{resize:vertical;min-height:80px}.form-group.checkbox{margin-bottom:0}.form-group.checkbox label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:400}.form-group.checkbox input[type=checkbox]{width:20px;height:20px;accent-color:#10b981;cursor:pointer}.form-actions{display:flex;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.btn-cancel,.btn-submit{flex:1;padding:.875rem 1.5rem;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s}.btn-cancel{background:#fff;color:#4b5563;border:1px solid #d1d5db}.btn-cancel:hover{background:#f9fafb;border-color:#9ca3af}.btn-submit{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none}.btn-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.btn-submit:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 640px){.form-row{grid-template-columns:1fr}.milestone-form-modal{max-height:100vh;border-radius:0}.form-actions{flex-direction:column-reverse}}.milestones-page{padding:2rem}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.header-content h1{font-size:1.75rem;color:#1f2937;margin:0}.header-subtitle{color:#6b7280;margin-top:.5rem}.btn-primary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.tier-filter{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.filter-btn{padding:.5rem 1rem;border:2px solid #e5e7eb;border-radius:8px;background:#fff;color:#4b5563;font-weight:500;cursor:pointer;transition:all .2s}.filter-btn:hover{border-color:#10b981;color:#10b981}.filter-btn.active{background:#10b981;border-color:#10b981;color:#fff}.milestones-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem}.summary-card{background:#fff;padding:1.25rem;border-radius:12px;box-shadow:0 1px 3px #0000001a;text-align:center}.summary-card.bronze{border-left:4px solid #CD7F32}.summary-card.gold{border-left:4px solid #FFD700}.summary-card.platinum{border-left:4px solid #E5E4E2}.summary-card.black-diamond{border-left:4px solid #1a1a2e;background:linear-gradient(135deg,#fff,#f0f0f5)}.summary-number{display:block;font-size:2rem;font-weight:700;color:#1f2937}.summary-label{display:block;font-size:.875rem;color:#6b7280;margin-top:.25rem}.tier-section{margin-bottom:2rem}.tier-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#fff;border-radius:12px 12px 0 0;border-left:4px solid var(--tier-color, #10b981);margin-bottom:1rem}.tier-header h2{margin:0;font-size:1.25rem;color:#1f2937}.tier-range{color:#6b7280;font-size:.875rem}.milestones-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.milestone-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;transition:all .2s;border:1px solid #e5e7eb}.milestone-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.milestone-card.tier-up{border:2px solid #fbbf24;background:linear-gradient(135deg,#fffbeb,#fef3c7)}.milestone-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.milestone-icon{width:48px;height:48px;background:linear-gradient(135deg,#10b981,#059669);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}.milestone-card.tier-up .milestone-icon{background:linear-gradient(135deg,#f59e0b,#d97706)}.milestone-badges{display:flex;gap:.5rem}.badge-tierup{padding:.25rem .75rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-radius:20px;font-size:.75rem;font-weight:600}.badge-status{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.badge-status.active{background:#d1fae5;color:#065f46}.badge-status.inactive{background:#fee2e2;color:#991b1b}.milestone-title{font-size:1.125rem;font-weight:600;color:#1f2937;margin:0 0 .5rem}.milestone-description{color:#6b7280;font-size:.875rem;margin:0 0 1rem;line-height:1.5}.milestone-details{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:#f9fafb;border-radius:8px;margin-bottom:1rem}.detail-row{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#4b5563}.detail-row svg{color:#9ca3af}.milestone-actions{display:flex;gap:.75rem}.btn-edit,.btn-delete{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.btn-edit{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.btn-edit:hover{background:#dbeafe}.btn-delete{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.btn-delete:hover{background:#fee2e2}.empty-state{text-align:center;padding:4rem 2rem;color:#6b7280}.empty-state svg{color:#d1d5db;margin-bottom:1rem}.loading{display:flex;justify-content:center;align-items:center;padding:4rem;color:#6b7280}@media (max-width: 768px){.milestones-page{padding:1rem}.page-header{flex-direction:column;gap:1rem}.btn-primary{width:100%;justify-content:center}.milestones-grid{grid-template-columns:1fr}}.stores-page{max-width:1400px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:40px;gap:24px}.header-content{flex:1}.page-header h1{font-size:32px;color:#111827;margin:0 0 6px;font-weight:700;letter-spacing:-.5px}.header-subtitle{font-size:15px;color:#6b7280;margin:0;font-weight:400}.stores-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px}.store-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 12px #0000000f;border:1px solid #E5E7EB;transition:all .3s ease}.store-card:hover{box-shadow:0 8px 24px #0000001a}.store-card.editing{border-color:#6ab547;box-shadow:0 8px 24px #6ab54726}.store-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.store-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.btn-edit{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#f3f4f6;border:none;border-radius:8px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.btn-edit:hover{background:#e5e7eb}.store-details{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.detail-item{display:flex;gap:12px;align-items:flex-start}.detail-icon{color:#6ab547;flex-shrink:0;margin-top:2px}.detail-primary{margin:0;font-size:14px;color:#111827;font-weight:500}.detail-secondary{margin:0;font-size:13px;color:#6b7280}.hours-grid{display:grid;grid-template-columns:auto auto;gap:4px 12px;font-size:13px}.hours-grid .day{color:#6b7280}.hours-grid .time{color:#111827}.store-meta{display:flex;gap:8px;flex-wrap:wrap;padding-top:16px;border-top:1px solid #E5E7EB}.badge{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.badge.active{background:#d1fae5;color:#065f46}.badge.inactive{background:#fee2e2;color:#991b1b}.badge.medical{background:#dbeafe;color:#1e40af}.badge.recreational{background:#f3e8ff;color:#6b21a8}.store-edit-form{display:flex;flex-direction:column;gap:16px}.form-row{display:flex;flex-direction:column;gap:6px}.form-row label{font-size:13px;font-weight:500;color:#374151}.form-row input{padding:10px 12px;border:1px solid #D1D5DB;border-radius:8px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-row input:focus{outline:none;border-color:#6ab547;box-shadow:0 0 0 3px #6ab5471a}.form-row.small input{width:60px}.form-row-group{display:flex;gap:12px}.form-row-group .form-row{flex:1}.form-actions{display:flex;gap:12px;margin-top:8px;padding-top:16px;border-top:1px solid #E5E7EB}.btn-cancel,.btn-save{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}@media (max-width: 900px){.stores-list{grid-template-columns:1fr}}.carousel-page{max-width:1000px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;gap:24px}.header-content h1{font-size:32px;color:#111827;margin:0 0 6px;font-weight:700}.header-subtitle{font-size:15px;color:#6b7280;margin:0}.btn-primary{padding:12px 20px;background:linear-gradient(135deg,#6ab547,#4a8f32);color:#fff;border:none;border-radius:10px;font-weight:600;font-size:15px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;box-shadow:0 2px 8px #6ab54740}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6ab54766}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #E5E7EB}.modal-header h2{margin:0;font-size:20px;font-weight:600;color:#111827}.btn-close{background:none;border:none;padding:8px;cursor:pointer;color:#6b7280;border-radius:8px;transition:all .2s}.btn-close:hover{background:#f3f4f6;color:#111827}.slide-form{padding:24px;display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:500;color:#374151}.form-group input[type=text],.form-group input[type=url]{padding:12px 14px;border:1px solid #D1D5DB;border-radius:8px;font-size:14px;transition:all .2s}.form-group input:focus{outline:none;border-color:#6ab547;box-shadow:0 0 0 3px #6ab5471a}.image-upload-zone{border:2px dashed #D1D5DB;border-radius:12px;padding:24px;cursor:pointer;transition:all .2s;text-align:center;min-height:200px;display:flex;align-items:center;justify-content:center;background:#fafafa}.image-upload-zone:hover{border-color:#6ab547;background:#f0fdf4}.image-upload-zone.has-image{padding:8px;background:#fff}.upload-placeholder{color:#6b7280;display:flex;flex-direction:column;align-items:center;gap:8px}.upload-placeholder p{margin:0;font-weight:500;color:#374151}.upload-placeholder span{font-size:12px}.image-preview{max-width:100%;max-height:300px;border-radius:8px;object-fit:contain}.checkbox-group{flex-direction:row!important}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:#6AB547}.form-actions{display:flex;gap:12px;margin-top:8px;padding-top:20px;border-top:1px solid #E5E7EB}.btn-cancel,.btn-save{flex:1;padding:12px 16px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-cancel{background:#f3f4f6;color:#374151}.btn-cancel:hover:not(:disabled){background:#e5e7eb}.btn-save{background:linear-gradient(135deg,#6ab547,#4a8f32);color:#fff}.btn-save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6ab5474d}.btn-cancel:disabled,.btn-save:disabled{opacity:.6;cursor:not-allowed}.empty-state{text-align:center;padding:64px 32px;background:#fff;border-radius:16px;border:1px solid #E5E7EB}.empty-state svg{color:#d1d5db;margin-bottom:16px}.empty-state p{color:#6b7280;margin:0 0 24px;font-size:16px}.slides-list{display:flex;flex-direction:column;gap:12px}.drag-hint{font-size:13px;color:#9ca3af;margin:0 0 8px 4px}.slide-card{display:flex;align-items:center;gap:16px;background:#fff;border-radius:12px;padding:12px;border:1px solid #E5E7EB;transition:all .2s}.slide-card:hover{box-shadow:0 4px 12px #00000014}.slide-card.inactive{opacity:.6}.slide-card.dragging{box-shadow:0 8px 24px #00000026;transform:scale(1.02)}.drag-handle{color:#9ca3af;cursor:grab;padding:8px 4px}.drag-handle:active{cursor:grabbing}.slide-image{width:120px;height:80px;flex-shrink:0;border-radius:8px;overflow:hidden;background:#f3f4f6}.slide-image img{width:100%;height:100%;object-fit:cover}.slide-info{flex:1;min-width:0}.slide-title{font-weight:600;color:#111827;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slide-title .no-title{color:#9ca3af;font-weight:400;font-style:italic}.slide-link{font-size:12px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:8px}.slide-meta{display:flex;gap:8px}.status-badge,.order-badge{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:600}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.inactive{background:#fee2e2;color:#991b1b}.order-badge{background:#e0e7ff;color:#3730a3}.slide-actions{display:flex;gap:8px}.btn-icon{width:36px;height:36px;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;background:#f3f4f6;color:#6b7280}.btn-icon:hover{background:#e5e7eb;color:#374151}.btn-icon.active{background:#d1fae5;color:#065f46}.btn-icon.edit:hover{background:#dbeafe;color:#1d4ed8}.btn-icon.delete:hover{background:#fee2e2;color:#dc2626}.loading{text-align:center;padding:64px 32px;color:#6b7280;font-size:16px}@media (max-width: 600px){.slide-card{flex-wrap:wrap}.slide-image{width:100%;height:150px}.slide-info{width:100%}.slide-actions{width:100%;justify-content:flex-end}}.usage-metrics-page{padding:24px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:16px}.header-content h1{font-size:24px;font-weight:600;color:#1a1a1a;margin:0}.header-actions{display:flex;gap:12px;align-items:center}.period-select{padding:8px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;background:#fff;cursor:pointer}.btn-refresh{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;transition:background .2s}.btn-refresh:hover{background:#2563eb}.btn-refresh:disabled{opacity:.7;cursor:not-allowed}.error-message{background:#fee2e2;color:#991b1b;padding:12px 16px;border-radius:8px;margin-bottom:24px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:#fff;border-radius:12px;padding:20px;display:flex;gap:16px;align-items:flex-start;box-shadow:0 1px 3px #0000001a}.stat-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon.users{background:#dbeafe;color:#2563eb}.stat-icon.devices{background:#dcfce7;color:#16a34a}.stat-icon.notification{background:#fef3c7;color:#d97706}.stat-icon.trending{background:#f3e8ff;color:#9333ea}.stat-content{min-width:0}.stat-value{font-size:28px;font-weight:700;color:#1a1a1a;margin:0;line-height:1.2}.stat-label{font-size:14px;color:#666;margin:4px 0 0}.stat-hint{font-size:12px;color:#999;margin:2px 0 0}.summary-section{background:#fff;border-radius:12px;padding:20px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a}.summary-section h2{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#1a1a1a;margin:0 0 16px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.summary-item{display:flex;flex-direction:column;gap:4px}.summary-label{font-size:13px;color:#666}.summary-value{font-size:24px;font-weight:600;color:#1a1a1a}.chart-section{background:#fff;border-radius:12px;padding:20px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a}.chart-section h2{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#1a1a1a;margin:0 0 16px}.chart-container{height:200px;position:relative}.chart-bars{display:flex;align-items:flex-end;height:100%;gap:4px;padding-bottom:24px}.chart-bar-group{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;min-width:0}.chart-bar{width:100%;max-width:40px;background:linear-gradient(to top,#3b82f6,#60a5fa);border-radius:4px 4px 0 0;position:relative;transition:height .3s ease;cursor:pointer}.chart-bar:hover{background:linear-gradient(to top,#2563eb,#3b82f6)}.bar-value{position:absolute;top:-20px;left:50%;transform:translate(-50%);font-size:11px;font-weight:600;color:#3b82f6;white-space:nowrap}.chart-label{font-size:10px;color:#999;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.no-data{display:flex;align-items:center;justify-content:center;height:200px;color:#999;font-size:14px}.table-section{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a}.table-section h2{font-size:16px;font-weight:600;color:#1a1a1a;margin:0 0 16px}.table-container{overflow-x:auto}.metrics-table{width:100%;border-collapse:collapse;font-size:14px}.metrics-table th{text-align:left;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-weight:600;color:#475569;white-space:nowrap}.metrics-table td{padding:12px 16px;border-bottom:1px solid #f1f5f9}.metrics-table tbody tr:hover{background:#f8fafc}.date-cell{font-weight:500;color:#1a1a1a}.number-cell{text-align:right;font-family:SF Mono,monospace;color:#475569}.number-cell.highlight{color:#3b82f6;font-weight:600}.no-data-cell{text-align:center;color:#999;padding:40px 16px!important}.loading{display:flex;align-items:center;justify-content:center;height:300px;color:#666;font-size:16px}@media (max-width: 768px){.usage-metrics-page{padding:16px}.page-header{flex-direction:column}.header-actions{width:100%;justify-content:space-between}.stats-grid{grid-template-columns:1fr 1fr}.stat-card{padding:16px}.stat-value{font-size:22px}.chart-bars{gap:2px}.bar-value{display:none}}.settings-page{padding:24px;max-width:900px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.header-content h1{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:600;color:#1a1a1a;margin:0}.header-subtitle{color:#666;font-size:14px;margin-top:4px}.btn-refresh{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s}.btn-refresh:hover{background:#e2e8f0}.btn-refresh .spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.alert{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.alert-success{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.settings-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.section-header{display:flex;align-items:center;gap:10px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.section-header h2{font-size:18px;font-weight:600;color:#1a1a1a;margin:0}.setting-card{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:20px;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0}.setting-info{flex:1}.setting-info h3{font-size:16px;font-weight:600;color:#1a1a1a;margin:0 0 8px}.setting-description{color:#64748b;font-size:14px;margin:0 0 16px;line-height:1.5}.setting-details{display:flex;flex-direction:column;gap:12px}.detail-group{display:flex;flex-direction:column;gap:6px}.detail-label{font-size:12px;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.tags{display:flex;flex-wrap:wrap;gap:6px}.tag{display:inline-block;padding:4px 10px;background:#e2e8f0;color:#475569;border-radius:4px;font-size:12px;font-family:monospace}.setting-control{flex-shrink:0}.toggle-btn{display:flex;align-items:center;gap:12px;padding:8px 16px 8px 8px;border:none;border-radius:24px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.toggle-btn.enabled{background:#dcfce7;color:#166534}.toggle-btn.disabled{background:#fee2e2;color:#991b1b}.toggle-btn:hover{opacity:.9}.toggle-btn:disabled{opacity:.7;cursor:not-allowed}.toggle-track{position:relative;width:44px;height:24px;border-radius:12px;transition:background .2s}.toggle-btn.enabled .toggle-track{background:#22c55e}.toggle-btn.disabled .toggle-track{background:#ef4444}.toggle-thumb{position:absolute;top:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:left .2s;box-shadow:0 1px 3px #0003}.toggle-btn.enabled .toggle-thumb{left:22px}.toggle-btn.disabled .toggle-thumb{left:2px}.toggle-label{min-width:60px}.setting-note{margin-top:16px;padding:12px 16px;background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;font-size:13px;color:#92400e}.setting-note strong{color:#78350f}.loading{display:flex;align-items:center;justify-content:center;height:200px;color:#666;font-size:16px}.password-form{margin-top:16px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;font-weight:500;color:#475569;margin-bottom:6px}.password-input{position:relative;display:flex;align-items:center}.password-input input{width:100%;padding:10px 40px 10px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px}.password-input input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.toggle-visibility{position:absolute;right:8px;background:none;border:none;cursor:pointer;padding:4px;color:#64748b}.toggle-visibility:hover{color:#1a1a1a}.inline-alert{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:6px;font-size:13px;margin:12px 0}.inline-alert.error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.inline-alert.success{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-primary:hover{background:#2563eb}.btn-primary:disabled{background:#94a3b8;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-secondary:hover{background:#e2e8f0}.btn-text{background:none;border:none;color:#64748b;font-size:13px;cursor:pointer;padding:8px 12px;margin-left:8px}.btn-text:hover{color:#1a1a1a;text-decoration:underline}.btn-danger-outline{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:transparent;color:#dc2626;border:1px solid #fca5a5;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-danger-outline:hover{background:#fee2e2;border-color:#dc2626}.btn-danger{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:#dc2626;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-danger:hover{background:#b91c1c}.btn-danger:disabled{background:#94a3b8;cursor:not-allowed}.button-group{display:flex;align-items:center;gap:8px;margin-top:12px}.setting-info h3{display:flex;align-items:center;gap:8px}.twofa-setup{margin-top:20px}.qr-section{text-align:center;padding:20px;background:#fff;border-radius:8px;border:1px solid #e2e8f0;margin-bottom:20px}.qr-section p{margin-bottom:12px;color:#475569;font-size:14px}.qr-code{width:200px;height:200px;margin:16px auto;display:block}.manual-entry{font-size:12px;color:#64748b;margin-top:16px!important}.manual-entry code{background:#f1f5f9;padding:4px 8px;border-radius:4px;font-family:monospace;font-size:12px;word-break:break-all}.verify-form{margin-top:20px}.verify-form p{margin-bottom:12px;color:#475569;font-size:14px}.code-input-group{display:flex;gap:12px;align-items:center}.code-input{width:120px;padding:12px;font-size:18px;font-family:monospace;text-align:center;letter-spacing:4px;border:2px solid #e2e8f0;border-radius:8px}.code-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.twofa-enabled{margin-top:16px}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:500}.status-badge.enabled{background:#dcfce7;color:#166534}.enabled-date{font-size:13px;color:#64748b;margin:8px 0}.backup-count{font-size:13px;color:#64748b;margin-bottom:16px}.disable-form{margin-top:16px;padding:16px;background:#fef3c7;border:1px solid #fcd34d;border-radius:8px}.disable-form p{font-size:13px;color:#92400e;margin-bottom:12px}.disable-form input{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;background:#fff}.disable-form input:focus{outline:none;border-color:#3b82f6}.backup-codes-section{margin-top:20px;padding:20px;background:#fef3c7;border:1px solid #fcd34d;border-radius:8px}.backup-codes-section h4{display:flex;align-items:center;gap:8px;font-size:16px;color:#92400e;margin:0 0 12px}.warning-text{font-size:13px;color:#92400e;margin-bottom:16px}.backup-codes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;margin-bottom:16px}.backup-code{padding:8px 12px;background:#fff;border:1px solid #fcd34d;border-radius:4px;font-family:monospace;font-size:14px;text-align:center;color:#78350f}.settings-section+.settings-section{margin-top:32px}@media (max-width: 640px){.setting-card{flex-direction:column}.setting-control{width:100%}.toggle-btn{width:100%;justify-content:center}.code-input-group{flex-direction:column;align-items:stretch}.code-input{width:100%}.backup-codes-grid{grid-template-columns:repeat(2,1fr)}}
