@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap);:root{--color-bg:#f6f7fb;--color-subtext:#64748b;--color-border:#e2e8f0;--color-ring:#0284c740;--color-primary:#06b6d4;--color-primary-strong:#0ea5b7}@media (prefers-color-scheme:dark){:root{--color-bg:#0b1220;--color-surface:#0f172a;--color-text:#e2e8f0;--color-subtext:#94a3b8;--color-border:#1f2937;--color-ring:#38bdf859;--color-primary:#22d3ee;--color-primary-strong:#06b6d4;--color-success:#22c55e;--color-on-success:#052e16}}body{background:#f6f7fb;background:var(--color-bg);font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh;width:100%}.dashboard-layout{background-color:#f8fafc;display:flex;height:100vh}.sidebar{border-right:1px solid #e5e7eb;box-shadow:2px 0 4px #0000001a;height:100vh;left:0;position:fixed;top:0;transition:width .3s ease;z-index:1000}.logo{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;gap:.75rem;padding:1.5rem}.logo-icon,.logo-square{align-items:center;display:flex;justify-content:center}.logo-square{background:#11ce3e;border-radius:8px;height:40px;position:relative;width:40px}.shopping-bag{border:2px solid #fff;border-radius:2px;height:20px;position:relative;width:20px}.shopping-bag:before{border:2px solid #fff;border-bottom:none;border-radius:2px 2px 0 0;content:"";height:8px;left:50%;position:absolute;top:-8px;transform:translateX(-50%);width:8px}.logo-text{font-size:1.25rem}.logo-o{background:#11ce3e;color:#fff;font-weight:700;height:24px;margin-right:.25rem;width:24px}.logo-rest{color:#111827}.sidebar-nav{display:flex;flex-direction:column;gap:.25rem}.nav-item{position:relative}.nav-item svg{flex-shrink:0}.main-wrapper{display:flex;flex:1 1;flex-direction:column;margin-left:280px;transition:margin-left .3s ease}.sidebar.collapsed+.main-wrapper{margin-left:80px}.top-header{border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;position:sticky;top:0;z-index:100}.search-container{transition:all .2s ease}.search-container:focus-within{background:#fff;border-color:#11ce3e}.notification-btn,.user-btn{align-items:center;display:flex;font-size:.875rem;font-weight:500;gap:.5rem}.notification-badge{align-items:center;border-radius:9999px;display:flex;height:1rem;justify-content:center;min-width:1rem;right:-.25rem;top:-.25rem}.notification-dot{height:.5rem;width:.5rem}.user-section{align-items:center;display:flex;gap:1rem}.admin-info{align-items:flex-end;display:flex;flex-direction:column;gap:.25rem}.admin-email{color:#374151;font-size:.875rem;font-weight:500}.admin-role{background:#f3f4f6;border-radius:4px;color:#6b7280;font-size:.75rem;padding:.125rem .5rem;text-transform:capitalize}.main-content{background:#f8fafc;min-height:calc(100vh - 80px);padding:2rem}.page-header{border-bottom:1px solid #e5e7eb;margin-bottom:2rem;padding-bottom:1rem}.page-title-section{display:flex;flex-direction:column;gap:.5rem}.page-title{color:#111827;font-size:1.875rem}.date-range{align-items:center;color:#6b7280;font-size:.875rem;gap:.5rem}.date-range-text{color:#9ca3af}.page-actions{gap:1rem}.page-actions .search-container{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:.5rem;padding:.5rem .75rem;transition:all .2s ease}.page-actions .search-container:focus-within{background:#fff;border-color:#11ce3e}.page-actions .search-container input{background:none;border:none;color:#374151;font-size:.875rem;outline:none;width:200px}.page-actions .search-container input::placeholder{color:#9ca3af}.page-actions button{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.page-actions button:hover{border-color:#11ce3e;color:#11ce3e}.page-actions .export-btn,.page-actions .new-campaign-btn,.page-actions .new-customer-btn,.page-actions .new-voucher-btn{background:#11ce3e;border-color:#11ce3e;color:#fff}.page-actions .export-btn:hover,.page-actions .new-campaign-btn:hover,.page-actions .new-customer-btn:hover,.page-actions .new-voucher-btn:hover{background:#0ea53e;border-color:#0ea53e;color:#fff}.content-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1rem 0}.content-header .date-range{align-items:center;color:#6b7280;display:flex;font-size:.875rem;gap:.5rem}.content-header .date-range-text{color:#9ca3af}.content-header .page-actions{align-items:center;display:flex;gap:1rem}.content-header .page-actions button{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.content-header .page-actions button:hover{border-color:#11ce3e;color:#11ce3e}.content-header .page-actions .export-btn{background:#11ce3e;border-color:#11ce3e;color:#fff}.content-header .page-actions .export-btn:hover{background:#0ea53e;border-color:#0ea53e;color:#fff}@media (max-width:1024px){.sidebar{height:100vh;left:-280px;position:fixed;top:0;transition:left .3s ease;z-index:1000}.sidebar.open{left:0}.main-wrapper{margin-left:0}.main-content,.top-header{padding:1rem}.header-right{gap:.5rem}.search-container{display:none}.search-container input{width:150px}}@media (max-width:768px){.page-title{font-size:1.25rem}.header-right{gap:.25rem}.notification-btn,.user-btn{padding:.375rem}.page-header{align-items:flex-start;flex-direction:column;gap:1rem}.page-actions{gap:.5rem;justify-content:flex-start;width:100%}.page-actions .search-container input{width:150px}}*{scrollbar-color:#cbd5e1 #f1f5f9;scrollbar-width:thin}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px;-webkit-transition:background .2s ease;transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:#94a3b8}::-webkit-scrollbar-corner{background:#f1f5f9}body,html{scrollbar-gutter:stable}body{overflow-y:scroll}.dashboard-container{background:#f8fafc;display:flex;font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;scrollbar-gutter:stable}.loading-indicator{align-items:center;color:#6b7280;display:flex;font-size:.875rem;gap:.5rem;margin-top:.5rem}.kpi-card.loading{pointer-events:none}.loading-skeleton{animation:loading 1.5s infinite;background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%);background-size:200% 100%;border-radius:4px}.loading-skeleton.title{height:20px;margin-bottom:1rem;width:80%}.loading-skeleton.value{height:32px;margin-bottom:.5rem;width:60%}.loading-skeleton.subtitle{height:16px;width:40%}.loading-skeleton.tab{height:24px;margin:0 .25rem;width:60px}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.current-filter{align-items:center;background:#11ce3e1a;border:1px solid #11ce3e33;border-radius:6px;display:flex;font-size:.875rem;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem}.filter-label{color:#6b7280}.filter-value{color:#11ce3e;font-weight:600}.error-message{border-radius:12px;flex-direction:column;gap:1rem;grid-column:1/-1;padding:2rem;text-align:center}.error-message button{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:background-color .2s ease}.error-message button:hover{background:#b91c1c}.sidebar{background:#fff;border-right:1px solid #e2e8f0;box-shadow:2px 0 10px #0000000d;display:flex;flex-direction:column;transition:all .3s ease;width:280px}.sidebar.collapsed{width:80px}.sidebar-header{border-bottom:1px solid #e2e8f0;padding:1.5rem}.sidebar-header .logo-container{align-items:center;display:flex;gap:.75rem}.sidebar-header .hand-icon{align-items:center;background:#11ce3e1a;border:2px solid #11ce3e33;border-radius:10px;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.sidebar-header .logo-text{align-items:center;display:flex;font-size:1.25rem;font-weight:700}.sidebar-header .logo-o{align-items:center;border:2px solid #11ce3e;border-radius:50%;color:#11ce3e;display:flex;font-size:1.5rem;font-weight:800;height:28px;justify-content:center;margin-right:4px;width:28px}.sidebar-header .logo-rest{color:#1f2937;font-weight:600}.sidebar-nav{flex:1 1;overflow-y:auto;padding:1rem 0}.nav-item{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.75rem;padding:.75rem 1.5rem;text-align:left;transition:all .2s ease;width:100%}.nav-item:hover{background:#11ce3e0d;color:#11ce3e}.nav-item.active{background:#11ce3e1a;border-right:3px solid #11ce3e;color:#11ce3e}.nav-item.logout-btn{color:#ef4444;margin-top:auto}.nav-item.logout-btn:hover{background:#ef44440d;color:#ef4444}.sidebar.collapsed .nav-item span{display:none}.sidebar.collapsed .nav-item{justify-content:center;padding:.75rem}.main-content{display:flex;flex:1 1;flex-direction:column;scrollbar-gutter:stable}.top-header{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;display:flex;justify-content:space-between;padding:1rem 2rem}.sidebar-toggle{background:none;border:none;border-radius:8px;color:#6b7280;cursor:pointer;padding:.5rem;transition:all .2s ease}.sidebar-toggle:hover{background:#11ce3e1a;color:#11ce3e}.page-title{color:#374151;font-size:1.5rem;font-weight:600;margin:0}.search-container input{width:150px}.notification-btn,.user-btn{position:relative}.notification-dot{background:#ef4444;border-radius:50%;height:8px;position:absolute;right:.25rem;top:.25rem;width:8px}.dashboard-content{flex:1 1;padding:2rem}.welcome-section{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.welcome-content h2{color:#111827;font-size:1.875rem;font-weight:700;margin:0 0 .5rem}.welcome-content p{color:#6b7280;font-size:1rem;margin:0}.welcome-actions{display:flex;gap:1rem}.refresh-btn{align-items:center;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-right:.75rem;padding:.75rem 1rem;transition:all .2s ease}.refresh-btn:hover{background:#e5e7eb;color:#374151}.filter-btn,.new-booking-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1rem;transition:all .2s ease}.new-booking-btn{background:#11ce3e}.new-booking-btn:hover{background:#0ea54e}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.kpi-header h3{color:#6b7280;font-size:.875rem;font-weight:600;letter-spacing:.05em;margin:0;text-transform:uppercase}.live-tag{background:#3b82f6;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.kpi-content{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.kpi-change{align-items:center;display:flex;font-size:.875rem;font-weight:500;gap:.25rem}.kpi-change,.kpi-change svg{color:#11ce3e}.kpi-icon{background:#11ce3e1a;border-radius:50%;height:48px;justify-content:center;width:48px}.kpi-icon,.kpi-progress{align-items:center;display:flex}.kpi-progress{justify-content:space-between;margin-bottom:1rem}.progress-value{color:#111827;font-size:2rem;font-weight:700}.progress-subtitle{color:#6b7280;font-size:.875rem}.progress-circle{align-items:center;background:conic-gradient(#3b82f6 0deg 225deg,#e5e7eb 225deg 1turn);border-radius:50%;display:flex;height:60px;justify-content:center;position:relative;width:60px}.progress-circle:before{background:#fff;border-radius:50%;content:"";height:48px;width:48px}.kpi-status{margin-bottom:1rem}.status-items{display:flex;justify-content:space-between}.status-item{align-items:center;flex-direction:column;gap:.25rem}.status-value{color:#111827;font-size:1.25rem;font-weight:700}.status-label{color:#6b7280;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.kpi-tabs{display:flex;gap:.5rem}.tab-btn{font-size:.75rem;padding:.5rem .75rem}.chart-section{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:2fr 1fr;margin-bottom:2rem}.revenue-chart,.top-customers{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.chart-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.chart-header h3{color:#111827;font-size:1.125rem;font-weight:600;margin:0}.chart-container{height:200px;margin-top:1rem;position:relative}.tooltip-value{margin:0 0 .25rem}.tooltip-bookings{color:#6b7280;margin:0}.chart-area,.chart-labels,.chart-line,.chart-placeholder{display:none}.customers-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.customers-header h3{color:#111827;font-size:1.125rem;font-weight:600;margin:0}.period{color:#6b7280;font-size:.875rem}.customers-list{display:flex;flex-direction:column;gap:1rem}.customer-item{align-items:center;display:flex;gap:.75rem;padding:.75rem 0}.customer-avatar{height:32px;width:32px}.customer-avatar.small{font-size:.75rem;height:24px;width:24px}.customer-info{flex:1 1}.customer-name{margin-bottom:.25rem}.customer-stats{color:#6b7280;font-size:.875rem}.customer-change{align-items:center;display:flex;font-size:.875rem;font-weight:500;gap:.25rem}.customer-change.up{color:#11ce3e}.customer-change.down{color:#ef4444}.bottom-section{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.alerts-section,.bookings-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.section-header h3{color:#111827;font-size:1.125rem;font-weight:600;margin:0}.view-all{color:#11ce3e;font-size:.875rem;font-weight:500;text-decoration:none}.view-all:hover{text-decoration:underline}.alerts-list{display:flex;flex-direction:column;gap:1rem}.alert-item{align-items:flex-start;background:#f9fafb;border-left:4px solid;border-radius:8px;display:flex;gap:.75rem;padding:1rem}.alert-icon{flex-shrink:0;margin-top:.125rem}.alert-content{flex:1 1}.alert-title{color:#111827;font-size:.875rem;font-weight:600;margin-bottom:.25rem}.alert-message{color:#6b7280;font-size:.875rem;line-height:1.4;margin-bottom:.5rem}.alert-action{color:#11ce3e;font-size:.875rem;font-weight:500;text-decoration:none}.alert-action:hover{text-decoration:underline}.alert-time{color:#9ca3af;flex-shrink:0;font-size:.75rem}.bookings-table{border-radius:8px}.table-header,.table-row{grid-template-columns:1fr 1.5fr 1fr 1.5fr 1fr 1fr .5fr}.booking-id{color:#6b7280;font-weight:600}.customer{align-items:center;display:flex;gap:.5rem}.service{font-weight:500}.datetime{color:#6b7280}.amount,.status-tag{font-weight:600}.status-tag{border-radius:12px;padding:.25rem .5rem}.status-tag.completed{background:#11ce3e1a;color:#11ce3e}.status-tag.in-progress{background:#3b82f61a;color:#3b82f6}.action{color:#6b7280;cursor:pointer;display:flex;justify-content:center}.action:hover{color:#374151}.modal-overlay{overflow:hidden;padding:.125rem;scrollbar-gutter:stable}.modal-content{margin:.125rem 0;max-height:99vh;scrollbar-gutter:stable}.modal-header{flex-shrink:0;padding:.5rem}.modal-body{min-height:0;padding:.5rem;scrollbar-color:#cbd5e1 #f1f5f9;scrollbar-gutter:stable;scrollbar-width:thin}.details-content{display:flex;flex-direction:column;gap:1.5rem;min-height:100%;padding-bottom:.5rem}.details-summary{grid-gap:1rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:grid;flex-shrink:0;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:1rem}.summary-item{border-left:4px solid #0000;display:flex;flex-direction:column;gap:.25rem;justify-content:center;padding:.75rem;transition:all .2s ease}.summary-item.completed{background:linear-gradient(135deg,#10b9811a,#10b9810d);border-left-color:#10b981}.summary-item.pending{background:linear-gradient(135deg,#3b82f61a,#3b82f60d);border-left-color:#3b82f6}.summary-item.cancelled{background:linear-gradient(135deg,#ef44441a,#ef44440d);border-left-color:#ef4444}.summary-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.summary-label{font-size:1rem;font-weight:600;padding:.25rem 0;text-align:center}.summary-item.completed .summary-label{color:#10b981;font-weight:700}.summary-item.pending .summary-label{color:#3b82f6;font-weight:700}.summary-item.cancelled .summary-label{color:#ef4444;font-weight:700}.summary-value{font-size:1.75rem;padding:.25rem 0;text-align:center}.summary-item.completed .summary-value{color:#10b981}.summary-item.pending .summary-value{color:#3b82f6}.summary-item.cancelled .summary-value{color:#ef4444}.details-section{display:flex;flex:1 1;flex-direction:column;gap:.75rem}.details-section h3{border-bottom:2px solid #e5e7eb;flex-shrink:0;font-size:1rem;font-weight:700;letter-spacing:.05em;margin:0;padding-bottom:.5rem;text-transform:uppercase}.breakdown-list,.revenue-breakdown,.status-list{display:flex;flex:1 1;flex-direction:column;gap:.75rem;min-height:0}.breakdown-item,.revenue-item{align-items:center;background:#f9fafb;border-left:4px solid #11ce3e;border-radius:8px;display:flex;justify-content:space-between;padding:1rem}.breakdown-info,.revenue-info{display:flex;flex-direction:column;gap:.25rem}.service-name{font-weight:600}.service-count{color:#6b7280;font-size:.875rem}.breakdown-percentage{color:#11ce3e;font-weight:600}.revenue-amount{color:#111827;font-size:1.125rem;font-weight:700}.time-slots{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.time-slot{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;justify-content:space-between;padding:.75rem}.time{color:#111827;font-weight:600}.bookings-count{color:#6b7280;font-size:.875rem}.hourly-revenue{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.hour-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;justify-content:space-between;padding:.75rem}.hour{color:#111827}.hour,.revenue{font-weight:600}.revenue{color:#11ce3e}.bays-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.bay-item{border:2px solid #e5e7eb;border-radius:8px;padding:1rem;transition:all .2s ease}.bay-item.occupied{background:#3b82f60d;border-color:#3b82f6}.bay-item.available{background:#10b9810d;border-color:#10b981}.bay-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.bay-number{color:#111827;font-weight:600}.bay-status{border-radius:12px;font-size:.875rem;font-weight:500;padding:.25rem .5rem}.bay-status.occupied{background:#3b82f6;color:#fff}.bay-status.available{background:#10b981;color:#fff}.bay-details{display:flex;flex-direction:column;gap:.5rem}.service-name,.time-info{color:#6b7280}.time-info{display:flex;flex-direction:column;font-size:.75rem;gap:.25rem}.status-item{align-items:flex-start;border-left:4px solid;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;min-height:3rem;padding:.75rem}.status-item.completed{background:linear-gradient(135deg,#10b9811a,#10b9810d);border-left-color:#10b981;border-left-width:6px}.status-item.pending{background:linear-gradient(135deg,#3b82f61a,#3b82f60d);border-left-color:#3b82f6;border-left-width:6px}.status-item.cancelled{background:linear-gradient(135deg,#ef44441a,#ef44440d);border-left-color:#ef4444;border-left-width:6px}.booking-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.booking-id{background:#0000000d;border-radius:4px;color:#111827;display:inline-block;font-size:1rem;font-weight:700;letter-spacing:.05em;padding:.25rem .5rem}.customer-name,.service-name{font-size:.875rem;padding:.125rem 0}.service-name{color:#374151}.cancel-reason{background:#ef44441a;border-radius:4px;color:#ef4444;display:inline-block;font-size:1rem;font-style:italic;font-weight:600;padding:.25rem .5rem}.completion-time{background:#10b9811a;color:#10b981}.completion-time,.scheduled-time{border-radius:4px;font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-align:right;white-space:nowrap}.scheduled-time{background:#3b82f61a;color:#3b82f6}.cancelled-time{background:#ef44441a;border-radius:4px;color:#ef4444;font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-align:right;white-space:nowrap}.date-input{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#111827;font-size:.875rem;padding:.75rem;transition:all .2s ease}.date-input:focus{border-color:#11ce3e;box-shadow:0 0 0 3px #11ce3e1a;outline:none}.date-input:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}@media (max-width:1024px){.sidebar{height:100vh;left:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s ease;z-index:1000}.sidebar.open{transform:translateX(0)}.main-content{margin-left:0}.bottom-section,.chart-section{grid-template-columns:1fr}}@media (max-width:768px){.dashboard-content{padding:1rem}.welcome-section{align-items:flex-start;flex-direction:column;gap:1rem}.kpi-grid{grid-template-columns:1fr}.table-header,.table-row{gap:.5rem;grid-template-columns:1fr 1fr 1fr}.table-header .col:nth-child(n+4),.table-row .col:nth-child(n+4){display:none}.modal-content{margin:.25rem;max-height:calc(100vh - .5rem)}.bays-grid,.details-summary,.hourly-revenue,.time-slots{grid-template-columns:1fr}.status-item{align-items:flex-start;flex-direction:column;gap:.5rem}}@media (max-width:480px){.top-header{padding:1rem}.header-right{gap:.5rem}.search-container{display:none}.welcome-content h2{font-size:1.5rem}}@media (max-width:768px){.filter-modal{margin:1rem;max-height:calc(100vh - 2rem)}.date-inputs{gap:.75rem}.filter-actions{flex-direction:column}.apply-btn,.cancel-btn{text-align:center;width:100%}}.date-selector-btn{font-family:inherit}.calendar-dropdown{border:2px solid #e5e7eb;box-shadow:0 10px 25px -5px #0000001a,0 10px 10px -5px #0000000a;overflow:hidden}.calendar-header{background:#f8fafc}.calendar-header h4{min-width:120px;text-align:center}.calendar-weekdays{grid-gap:.125rem;gap:.125rem;margin-bottom:.25rem}.calendar-weekdays span{font-size:.625rem;padding:.25rem 0}.calendar-days{grid-gap:.125rem;gap:.125rem}.calendar-day{font-size:.75rem;font-weight:500;min-height:28px}.calendar-day:hover:not(:disabled):not(.empty){background:#11ce3e1a;color:#11ce3e}.calendar-day.selected{font-weight:600}.calendar-day.disabled:hover{color:#9ca3af}@media (max-width:768px){.calendar-dropdown{left:50%;max-height:80vh;max-width:350px;overflow-y:auto;position:fixed;top:50%;transform:translate(-50%,-50%);width:90vw}.calendar-grid{padding:.75rem}.calendar-day{font-size:.75rem}}.month-year-display{flex-direction:column;gap:.25rem}.month-year-display h4{font-size:.75rem}.year-selector-btn{color:#11ce3e}.year-selector-btn:hover{background:#11ce3e1a}.year-selector-container{position:relative}.year-selector-backdrop{background:#00000080;z-index:1000}.year-selector-dropdown{border:2px solid #e5e7eb;box-shadow:0 10px 25px -5px #0000001a,0 10px 10px -5px #0000000a;left:50%;max-height:300px;min-width:200px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:1001}.year-selector-header{background:#f8fafc}.year-selector-header h5{font-size:.75rem}.year-list{display:flex;flex-direction:column;gap:.125rem}.year-option{font-weight:500}.year-option:hover{background:#11ce3e1a;color:#11ce3e}.year-option.selected{font-weight:600}@media (max-width:768px){.year-selector-dropdown{left:50%;max-height:300px;position:fixed;top:50%;transform:translate(-50%,-50%);width:200px}}.expense-header{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;justify-content:space-between;padding:1rem 2rem}.expense-header,.header-left{align-items:center;display:flex}.header-left{gap:1rem}.header-left .app-title{color:#374151;font-size:1.5rem;font-weight:600;margin:0}.back-btn{background:none;border:none;border-radius:8px;color:#11ce3e;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem;transition:all .2s ease}.back-btn:hover{background:#11ce3e1a}.notification-btn,.user-btn{background:none;border:none;border-radius:8px;color:#6b7280;cursor:pointer;padding:.5rem;transition:all .2s ease}.notification-btn:hover,.user-btn:hover{background:#f3f4f6;color:#374151}.user-dropdown{align-items:center;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem;transition:all .2s ease}.user-dropdown:hover{background:#f3f4f6;color:#374151}.expense-nav{background:#fff;border-bottom:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;gap:0;margin-bottom:2rem;overflow:hidden;padding:0}.category-select{position:relative}.category-select-trigger{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#111827;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;justify-content:space-between;padding:.75rem;transition:all .2s ease;width:100%}.category-select-trigger:hover{border-color:#11ce3e;box-shadow:0 0 0 3px #11ce3e1a}.category-select .placeholder{color:#9ca3af}.selected-category{align-items:center;display:inline-flex;gap:.5rem}.category-dot{border-radius:9999px;display:inline-block;height:10px;width:10px}.category-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;left:0;margin-top:.25rem;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.category-search{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;gap:.5rem;padding:.5rem}.category-search input{border:none;flex:1 1;font-size:.875rem;outline:none}.category-options{max-height:220px;overflow:auto;padding:.25rem}.category-option{align-items:center;background:none;border:none;border-radius:6px;cursor:pointer;display:flex;gap:.5rem;padding:.5rem .75rem;text-align:left;width:100%}.category-option:hover{background:#f9fafb}.category-option.active{background:#11ce3e14}.category-option .name{color:#111827;font-size:.875rem}.no-results{color:#6b7280;font-size:.875rem;padding:.75rem;text-align:center}.inline-input{border:1px solid #e5e7eb;border-radius:6px;font-size:.875rem;padding:.5rem .625rem;width:100%}.inline-input::placeholder{color:#9ca3af}.action-btn.cancel,.action-btn.save{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;min-width:86px;padding:.5rem .875rem}.action-btn.save{background:#11ce3e;color:#fff}.action-btn.save:hover{background:#0ea54e}.action-btn.cancel{background:#f3f4f6;color:#374151}.action-btn.cancel:hover{background:#e5e7eb}.summary-loading{align-items:center;color:#6b7280;display:flex;gap:.75rem;justify-content:center;padding:1.5rem}.loading-spinner{border:2px solid #e5e7eb;border-radius:9999px;height:16px;width:16px}.loading-spinner.large{border-width:3px;height:24px;width:24px}.expense-content{padding:1rem 0}.expense-container{background:#f8fafc;min-height:100vh;padding:2rem}.section-header h2{font-size:1.25rem}.new-expense-btn{align-items:center;background:#11ce3e;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.new-expense-btn:hover{background:#0ea54e}.expense-table{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem;overflow:visible}.table-header{grid-template-columns:1fr 1fr 1fr 2fr 1fr}.table-row{grid-template-columns:1fr 1fr 1fr 2fr 1fr}.col.date,.table-row{overflow:visible;position:relative}.col.date{font-weight:500}.col.notes{color:#6b7280}.category-tag{border-radius:20px;display:inline-block;font-size:.75rem;font-weight:500;letter-spacing:.05em;padding:.25rem .75rem;text-transform:uppercase}.col.action{gap:.5rem;justify-content:flex-start}.action-btn{border-radius:4px;padding:.25rem}.action-btn.edit{color:#11ce3e}.action-btn:hover{background:#0000000d}.pagination{margin-top:1rem}.add-expense-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:2rem}.expense-form{max-width:800px}.form-group input,.form-group select{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#111827;font-size:.875rem;padding:.75rem;transition:all .2s ease}.form-group input:focus,.form-group select:focus{border-color:#11ce3e;box-shadow:0 0 0 3px #11ce3e1a;outline:none}.cancel-btn{background:#f9fafb}.cancel-btn:hover{background:#f3f4f6}.save-btn{transition:all .2s ease}.save-btn:hover{background:#0ea54e}.monthly-summary-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:2rem}.summary-filters{display:flex;gap:1rem}.filter-btn{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.filter-btn:hover{background:#f3f4f6}.summary-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.summary-card{border-radius:12px;padding:1.5rem}.card-header{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.card-header h3{color:#6b7280;font-size:.875rem;font-weight:600;letter-spacing:.05em;margin:0;text-transform:uppercase}.card-value{color:#111827;font-size:1.875rem;font-weight:700;margin-bottom:.5rem}.card-subtitle{color:#6b7280;font-size:.875rem}.category-breakdown{margin-top:2rem}.category-breakdown h3{color:#111827;font-size:1.125rem;font-weight:600;margin:0 0 1.5rem}.category-list{display:flex;flex-direction:column;gap:1rem}.category-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;padding:1rem}.category-info,.category-item{align-items:center;display:flex}.category-info{gap:.75rem}.category-dot{border-radius:50%;height:12px;width:12px}.category-name{color:#111827;font-weight:500}.category-amount{color:#111827;font-weight:600}.category-management-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:2rem}.new-category-btn{align-items:center;background:#11ce3e;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.new-category-btn:hover{background:#0fb833;transform:translateY(-1px)}.add-category-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:1.5rem 0;padding:1.5rem}.add-category-form h3{color:#374151;font-size:1.125rem;font-weight:600;margin:0 0 1rem}.category-table{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-top:1.5rem;overflow:hidden}.category-table .table-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#374151;font-size:.875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.category-table .table-header,.category-table .table-row{grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:2fr 1fr 1fr 1fr;padding:1rem 1.5rem}.category-table .table-row{border-bottom:1px solid #f1f5f9;transition:background-color .2s ease}.category-table .table-row:hover{background:#f8fafc}.category-table .table-row:last-child{border-bottom:none}.category-table .col{align-items:center;display:flex;gap:.5rem}.category-table .category-name{font-weight:500}.category-table .category-color{align-items:center;display:flex;gap:.5rem}.color-preview{border:2px solid #e2e8f0;border-radius:6px;height:24px;width:24px}.category-table input[type=color]{border:none;border-radius:6px;cursor:pointer;height:32px;padding:0;width:40px}.edit-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;padding:.5rem;width:100%}.edit-input:focus{border-color:#11ce3e;box-shadow:0 0 0 3px #11ce3e1a;outline:none}.usage-count{color:#6b7280;font-size:.875rem}.category-table .action{display:flex;gap:.75rem}.category-table .action-btn{align-items:center;background:none;border:none;border-radius:6px;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s ease}.category-table .action-btn.edit{color:#3b82f6}.category-table .action-btn.save{color:#10b981}.category-table .action-btn.cancel{color:#6b7280}.category-table .action-btn.delete{color:#ef4444}.category-table .action-btn:disabled{color:#d1d5db;cursor:not-allowed}.category-table .action-btn:hover:not(:disabled){background:#0000000d}.category-table .action-btn.edit:hover{background:#3b82f61a}.category-table .action-btn.save:hover{background:#10b9811a}.category-table .action-btn.delete:hover{background:#ef44441a}@media (max-width:768px){.category-table .table-header,.category-table .table-row{gap:.5rem;grid-template-columns:1fr 1fr 1fr}.category-table .col:nth-child(3){display:none}.add-category-form{padding:1rem}.form-row{flex-direction:column;gap:1rem}}.modal-overlay{z-index:3000}.confirm-modal .modal-header .modal-title h2{font-size:1rem;margin:0}.confirm-modal .confirm-message{color:#374151;font-size:.95rem}.date-selector-btn{border:2px solid #e5e7eb;color:#111827;padding:.75rem}.date-selector-btn:hover:not(:disabled){box-shadow:0 0 0 3px #11ce3e1a}.date-selector-btn span{flex:1 1;text-align:left}.calendar-dropdown{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;min-width:280px;z-index:1000}.calendar-header{border-bottom:1px solid #e5e7eb;padding:.75rem}.nav-btn{align-items:center;display:flex;justify-content:center}.calendar-header h4{color:#111827;font-size:.875rem;font-weight:600;margin:0}.calendar-grid{padding:.75rem}.calendar-weekdays{grid-gap:.25rem;gap:.25rem}.calendar-weekdays span{padding:.25rem}.calendar-day:hover:not(:disabled):not(.empty){background:#f3f4f6}.calendar-day.disabled{color:#d1d5db}.calendar-day.disabled:hover{background:none}.year-selector-btn{color:#111827;font-size:.875rem;font-weight:600}.year-selector-backdrop{z-index:999}.year-selector-dropdown{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;margin-top:.25rem;z-index:1000}.year-selector-header{border-bottom:1px solid #e5e7eb;padding:.5rem}.year-option{color:#111827;padding:.5rem}.cancel-btn:hover{border-color:#d1d5db}.apply-btn{font-weight:600}.apply-btn:hover:not(:disabled){background:#0ea53e;box-shadow:0 4px 12px #11ce3e4d;transform:translateY(-1px)}.apply-btn:disabled{box-shadow:none;transform:none}@media (max-width:768px){.filter-modal{margin:1rem;max-height:calc(100vh - 2rem)}.date-inputs{gap:.75rem}.filter-actions{flex-direction:column}.apply-btn,.cancel-btn{width:100%}.calendar-dropdown{left:50%;margin:0;max-height:80vh;max-width:90vw;position:fixed;top:50%;transform:translate(-50%,-50%)}.calendar-grid{max-height:60vh;overflow-y:auto}.calendar-day{font-size:1rem;padding:.75rem}.expense-header{padding:1rem}.expense-nav{padding:0 1rem}.expense-content{padding:1rem}.section-header{align-items:flex-start;flex-direction:column;gap:1rem}.action-bar{flex-wrap:wrap;gap:.5rem}.search-container input{width:150px}.table-header,.table-row{gap:.5rem;grid-template-columns:1fr 1fr 1fr}.table-header .col:nth-child(n+4),.table-row .col:nth-child(n+4){display:none}.form-row,.summary-cards{grid-template-columns:1fr}.pagination{align-items:center;flex-direction:column;gap:1rem}}@media (max-width:480px){.header-right{gap:.5rem}.user-dropdown span{display:none}.nav-tab{font-size:.75rem;padding:.75rem 1rem}.search-container{display:none}.category-table .table-header,.category-table .table-row{gap:.5rem;grid-template-columns:1fr 1fr;padding:.75rem}.category-table .col:nth-child(2){display:none}.category-table .action{flex-direction:column;gap:.25rem}}.date-range-selector{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1rem 2rem}.date-range{display:flex;flex-direction:column;gap:.25rem}.date-range span:first-child{color:#111827;font-size:.875rem;font-weight:600}.date-range-text{color:#6b7280;font-size:.75rem}.header-right .export-btn,.header-right .filter-btn{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.header-right .export-btn:hover,.header-right .filter-btn:hover{background:#f3f4f6}.user-btn{align-items:center;background:none;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;gap:.5rem;padding:.5rem;transition:all .2s ease}.user-btn:hover{background:#f3f4f6;color:#374151}.user-initials{align-items:center;background:#11ce3e;border-radius:50%;color:#fff;display:flex;font-size:.875rem;font-weight:600;height:32px;justify-content:center;width:32px}.kpi-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.kpi-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem;transition:all .2s ease}.kpi-card.clickable{cursor:pointer;transition:all .2s ease}.kpi-card.clickable:hover{border-color:#11ce3e;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.kpi-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.kpi-detail-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.kpi-detail-modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:800px;overflow-y:auto;width:100%}.kpi-detail-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem}.kpi-detail-header h2{color:#111827;font-size:1.25rem;font-weight:600;margin:0}.close-btn{padding:.5rem}.kpi-detail-content{padding:1.5rem}.kpi-detail-summary{align-items:center;background:#f9fafb;border-radius:8px;display:flex;gap:1rem;margin-bottom:2rem;padding:1rem}.detail-main-value{color:#111827;font-size:2rem;font-weight:700}.detail-change{border-radius:6px;font-size:1rem;font-weight:600;padding:.25rem .75rem}.detail-change.up{background:#11ce3e1a;color:#11ce3e}.detail-change.down{background:#ef44441a;color:#ef4444}.kpi-detail-breakdown{margin-bottom:2rem}.kpi-detail-breakdown h3{color:#111827;font-size:1.125rem;font-weight:600;margin:0 0 1rem}.breakdown-list{display:flex;flex-direction:column;gap:1rem}.breakdown-item{align-items:center;background:#f9fafb;border-radius:6px;display:flex;gap:1rem;padding:.75rem}.breakdown-info{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.breakdown-category{color:#374151;font-size:.875rem;font-weight:500}.breakdown-bar{background:#e5e7eb;border-radius:3px;height:6px;overflow:hidden;width:100%}.breakdown-fill{background:#11ce3e;border-radius:3px;height:100%;transition:width .3s ease}.breakdown-value{color:#111827;font-size:.875rem;font-weight:600;min-width:80px;text-align:right}.breakdown-percentage{color:#6b7280;font-size:.75rem;min-width:40px;text-align:right}.kpi-detail-chart{margin-top:2rem}.kpi-detail-chart h3{color:#111827;font-size:1.125rem;font-weight:600;margin:0 0 1rem}.kpi-trend{align-items:center;display:flex;font-size:.875rem;font-weight:500;gap:.25rem}.kpi-trend.up{color:#11ce3e}.kpi-trend.down{color:#ef4444}.kpi-value{color:#111827;font-size:2rem;font-weight:700;margin-bottom:.5rem}.kpi-label{color:#6b7280;font-size:.875rem;font-weight:600;letter-spacing:.05em;margin-bottom:.25rem;text-transform:uppercase}.kpi-subtitle{color:#9ca3af;font-size:.75rem}.revenue-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;padding:1.5rem}.section-header h2{font-size:1.125rem}.chart-tabs{display:flex;gap:.5rem}.tab-btn{background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.tab-btn.active{background:#11ce3e;color:#fff}.tab-btn:hover:not(.active){background:#f3f4f6}.revenue-chart-container{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:2fr 1fr}.chart-wrapper{background:#f9fafb;border-radius:8px;padding:1rem}.revenue-summary{display:flex;flex-direction:column;gap:1rem}.summary-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.summary-card h3{color:#6b7280;font-size:.875rem;font-weight:600;letter-spacing:.05em;margin:0 0 .5rem;text-transform:uppercase}.summary-value{font-size:1.5rem;font-weight:700}.services-trends-section{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}.services-section,.trends-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.services-section h2,.trends-section h2{color:#111827;font-size:1.125rem;font-weight:600;margin:0 0 1.5rem}.pie-chart-container{align-items:center;display:flex;flex-direction:column;gap:1.5rem}.service-legend{display:flex;flex-direction:column;gap:.75rem;width:100%}.legend-item{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.legend-color{border-radius:50%;flex-shrink:0;height:12px;width:12px}.legend-label{color:#374151;flex:1 1;font-size:.875rem}.legend-value{color:#111827;font-size:.875rem;font-weight:600}.trends-tabs{gap:.5rem}.dropdown,.trends-tabs{align-items:center;display:flex}.dropdown{border-radius:6px;color:#6b7280;cursor:pointer;font-size:.875rem;gap:.25rem;padding:.5rem;transition:all .2s ease}.dropdown:hover{background:#f3f4f6}.bar-chart-container{margin-top:1.5rem}.chart-legend{display:flex;gap:1rem;justify-content:center;margin-top:1rem}.staff-performance-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;padding:1.5rem}.staff-performance-section h2{color:#111827;font-size:1.125rem;font-weight:600;margin:0 0 1.5rem}.staff-table{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.table-header{grid-template-columns:2fr 1fr 1fr 1fr;padding:.75rem 1rem}.table-header .col{font-size:.7rem}.table-row{grid-template-columns:2fr 1fr 1fr 1fr;padding:.75rem 1rem}.table-row .col{font-size:.8rem}.col.staff{gap:.5rem}.col.staff,.staff-avatar{align-items:center;display:flex}.staff-avatar{background:#11ce3e;border-radius:50%;color:#fff;font-size:.75rem;height:28px;justify-content:center;width:28px}.col.bookings,.col.cancellations,.col.revenue,.staff-avatar{font-weight:600}.col.revenue{color:#11ce3e}.customer-analytics-section{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}.customer-lifetime-value,.customer-segments{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.customer-lifetime-value h2,.customer-segments h2{color:#111827;font-size:1.125rem;font-weight:600;margin:0 0 1.5rem}.clv-metrics{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}.metric-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.metric-card h3{color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.05em;margin:0 0 .5rem;text-transform:uppercase}.metric-value{color:#111827;font-size:1.25rem;font-weight:700}.clv-chart{background:#f9fafb;border-radius:8px;padding:1rem}.segments-container{display:flex;flex-direction:column;gap:1rem}.segment-item{align-items:center;display:flex;gap:1rem;justify-content:space-between}.segment-info{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.segment-name{color:#374151;font-size:.875rem;font-weight:500}.segment-bar{background:#e5e7eb;border-radius:4px;height:8px;overflow:hidden}.segment-fill{border-radius:4px;height:100%;transition:width .3s ease}.segment-percentage{color:#111827;font-size:.875rem;font-weight:600;min-width:40px;text-align:right}.custom-tooltip{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 6px #0000001a;font-size:.875rem;padding:.75rem}.tooltip-label{color:#111827;font-weight:600;margin:0 0 .5rem}.tooltip-value{color:#11ce3e;font-weight:500;margin:0}@media (max-width:1024px){.customer-analytics-section,.revenue-chart-container,.services-trends-section{gap:1rem;grid-template-columns:1fr}}@media (max-width:768px){.date-range-selector{padding:1rem}.kpi-grid{grid-template-columns:1fr}.customer-lifetime-value,.customer-segments,.revenue-section,.services-section,.staff-performance-section,.trends-section{padding:1rem}.table-header,.table-row{gap:.5rem;grid-template-columns:1fr 1fr 1fr 1fr}.clv-metrics{grid-template-columns:1fr}.chart-tabs,.trends-tabs{flex-wrap:wrap;gap:.25rem}.kpi-detail-modal{margin:1rem;max-width:95vw}.kpi-detail-content{padding:1rem}.kpi-detail-summary{align-items:flex-start;flex-direction:column;gap:.5rem}.detail-main-value{font-size:1.5rem}.breakdown-item{align-items:flex-start;flex-direction:column;gap:.5rem}.breakdown-percentage,.breakdown-value{min-width:auto;text-align:left}}@media (max-width:480px){.header-right{gap:.5rem}.header-right .export-btn,.header-right .filter-btn{font-size:.75rem;padding:.5rem}.header-right .export-btn span,.header-right .filter-btn span,.search-container{display:none}.kpi-value{font-size:1.5rem}.summary-value{font-size:1.25rem}}.modal-content{max-width:90vw}.filter-modal{max-width:500px}.modal-title{align-items:center;gap:.75rem}.modal-title h2{font-size:1.25rem;font-weight:600}.modal-body{padding:0 1.5rem 1.5rem}.filter-content{display:flex;flex-direction:column;gap:1.5rem;padding:1rem 0}.filter-description{color:#6b7280;font-size:.875rem;line-height:1.5;text-align:center}.filter-description p{margin:0}.date-inputs{gap:1rem}.date-input-group,.date-inputs{display:flex;flex-direction:column}.date-input-group{gap:.5rem}.date-input-group label{color:#111827;font-size:.875rem;font-weight:600}.custom-date-input{position:relative}.date-selector-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem 1rem;transition:all .2s ease;width:100%}.date-selector-btn:hover:not(:disabled){border-color:#11ce3e}.date-selector-btn:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.calendar-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a;left:0;margin-top:.25rem;position:absolute;right:0;top:100%;z-index:10}.calendar-header{border-bottom:1px solid #f3f4f6;padding:1rem}.calendar-nav{align-items:center;display:flex;gap:.5rem}.nav-btn{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;padding:.25rem;transition:all .2s ease}.nav-btn:hover{background:#f3f4f6;color:#374151}.month-year-display{align-items:center;display:flex;gap:.5rem}.month-year-display h4{color:#111827;font-size:.875rem;font-weight:600;margin:0}.year-selector-btn{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:.75rem;gap:.25rem;padding:.25rem .5rem;transition:all .2s ease}.year-selector-btn:hover{background:#f3f4f6;color:#374151}.close-calendar{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;padding:.25rem;transition:all .2s ease}.close-calendar:hover{background:#f3f4f6;color:#374151}.calendar-grid{padding:1rem}.calendar-weekdays{grid-gap:.5rem;gap:.5rem;margin-bottom:.5rem}.calendar-weekdays span{color:#6b7280;font-size:.75rem;font-weight:600;text-align:center}.calendar-days{grid-gap:.25rem;gap:.25rem}.calendar-day{align-items:center;aspect-ratio:1;background:none;border:none;border-radius:4px;color:#111827;font-size:.875rem;justify-content:center}.calendar-day:hover:not(:disabled){background:#f3f4f6}.calendar-day.selected{background:#11ce3e}.calendar-day.disabled{color:#9ca3af;cursor:not-allowed}.filter-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem}.cancel-btn{background:none;border:1px solid #e5e7eb;color:#6b7280}.cancel-btn:hover{color:#374151}.apply-btn{background:#11ce3e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.apply-btn:hover:not(:disabled){background:#0ea043}.apply-btn:disabled{background:#9ca3af;cursor:not-allowed}.year-selector-backdrop{bottom:0;left:0;position:fixed;right:0;top:0;z-index:20}.year-selector-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a;left:0;max-height:200px;min-width:120px;overflow-y:auto;position:absolute;top:100%;z-index:30}.year-selector-header{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:.75rem}.year-selector-header h5{color:#111827;font-size:.875rem;font-weight:600;margin:0}.close-year-selector{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;padding:.25rem;transition:all .2s ease}.close-year-selector:hover{background:#f3f4f6;color:#374151}.year-list{padding:.5rem}.year-option{background:none;border:none;border-radius:4px;color:#374151;cursor:pointer;font-size:.875rem;padding:.5rem .75rem;text-align:left;transition:all .2s ease;width:100%}.year-option:hover{background:#f3f4f6}.year-option.selected{background:#11ce3e;color:#fff}@media (max-width:768px){.filter-modal{margin:1rem;max-width:95vw}.modal-header{padding:1rem 1rem 0}.modal-body{padding:0 1rem 1rem}.filter-actions{flex-direction:column}.calendar-dropdown{left:50%;max-width:350px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90vw}}.booking-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-card{cursor:pointer;overflow:hidden;position:relative}.stat-card.active,.stat-card:hover{border-color:#11ce3e}.stat-card.active{background:linear-gradient(135deg,#11ce3e,#0ea33a);box-shadow:0 4px 12px #11ce3e4d;color:#fff}.stat-card.active .stat-label,.stat-card.active .stat-value{color:#fff}.stat-card.active .stat-icon{background:#fff3}.stat-card.active .stat-icon svg{color:#fff!important}.stat-icon{background:#f9fafb;flex-shrink:0}.filter-status{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:8px;justify-content:space-between;margin-bottom:1rem;padding:.75rem 1rem}.filter-labels,.filter-status{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.filter-badge{align-items:center;background:#0ea5e9;border-radius:20px;color:#fff;display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;padding:.25rem .75rem}.filter-badge.stat-filter{background:#11ce3e}.filter-label{color:#0c4a6e;font-size:.875rem;font-weight:500}.clear-filter-btn{align-items:center;background:#0ea5e9;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.75rem;font-weight:500;gap:.5rem;padding:.5rem .75rem;transition:background-color .2s ease}.clear-filter-btn:hover{background:#0284c7}.booking-nav{background:#fff;border-bottom:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;gap:0;margin-bottom:2rem;overflow:hidden;padding:0}.nav-tab{color:#6b7280;flex:1 1;font-size:.875rem;padding:1rem 2rem;position:relative;text-align:center;transition:all .2s ease}.nav-tab:hover{color:#11ce3e}.nav-tab.active{border-bottom-color:#11ce3e;color:#11ce3e}.booking-content{padding:1rem 0}.section-header{margin-bottom:1.5rem}.section-header h2{color:#111827;font-size:1.5rem}.action-bar{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.search-container{max-width:300px}.search-container svg{color:#9ca3af}.search-container input{border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;font-weight:500;padding:.75rem 1rem .75rem 2.5rem;transition:all .2s ease}.search-container input::placeholder{font-weight:400}.search-container input:focus{border-color:#11ce3e;box-shadow:0 0 0 3px #11ce3e1a;transform:translateY(-1px)}.search-container input:hover{border-color:#11ce3e;box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.custom-dropdown{min-width:140px;position:relative;z-index:10}.dropdown-trigger{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;color:#374151;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;justify-content:space-between;min-width:140px;padding:.75rem 1rem;transition:all .2s ease}.dropdown-trigger:hover{border-color:#11ce3e;box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.custom-dropdown.open .dropdown-trigger{border-color:#11ce3e;box-shadow:0 0 0 3px #11ce3e1a;transform:translateY(-1px)}.dropdown-value{flex:1 1;text-align:left}.dropdown-arrow{color:#6b7280;margin-left:.5rem;transition:transform .2s ease}.custom-dropdown.open .dropdown-arrow{transform:rotate(180deg)}.dropdown-menu{animation:dropdownSlide .2s ease-out;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 25px -5px #0000001a,0 10px 10px -5px #0000000a;left:0;margin-top:.25rem;overflow:hidden;position:absolute;right:0;top:100%;z-index:20}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-option{border-bottom:1px solid #f3f4f6;color:#374151;cursor:pointer;font-size:.875rem;overflow:hidden;padding:.75rem 1rem;position:relative;transition:all .15s ease}.dropdown-option:last-child{border-bottom:none}.dropdown-option:before{background:linear-gradient(90deg,#0000,#11ce3e1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .3s ease;width:100%}.dropdown-option:hover:before{left:100%}.dropdown-option:hover{background:#f9fafb;color:#11ce3e;transform:translateX(4px)}.dropdown-option.selected{background:linear-gradient(135deg,#11ce3e,#0ea33a);color:#fff;font-weight:600}.dropdown-option.selected:hover{background:linear-gradient(135deg,#0ea33a,#0d8f33);color:#fff}.filter-dropdown{min-width:140px}.form-dropdown{width:100%}.form-dropdown .dropdown-trigger{min-width:auto;width:100%}.new-booking-btn{align-items:center;background:linear-gradient(135deg,#11ce3e,#0ea33a);border:none;border-radius:12px;box-shadow:0 4px 12px #11ce3e4d;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;overflow:hidden;padding:.75rem 1.5rem;position:relative;transition:all .2s ease}.new-booking-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.new-booking-btn:hover:before{left:100%}.new-booking-btn:hover{box-shadow:0 8px 25px #11ce3e66;transform:translateY(-2px)}.export-btn{border-radius:12px;box-shadow:0 1px 3px #0000000d;font-weight:600;overflow:hidden;position:relative}.export-btn:before{background:linear-gradient(90deg,#0000,#11ce3e1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.export-btn:hover:before{left:100%}.export-btn:hover{border-color:#11ce3e;box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.bookings-table{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.table-header{color:#6b7280;font-size:.75rem;letter-spacing:.05em}.table-header,.table-row{grid-template-columns:1fr 2fr 1.5fr 1fr 1.5fr 1.5fr 1fr 1fr 1fr;padding:1rem}.table-row.clickable{cursor:pointer;transition:background-color .2s ease}.table-row.clickable:hover{background-color:#f9fafb}.col.booking-id{color:#11ce3e;font-family:Courier New,monospace;font-weight:600}.col.customer{align-items:flex-start}.col.customer,.customer-info{flex-direction:column;gap:.25rem}.customer-contact{align-items:center;color:#6b7280;display:flex;font-size:.75rem;gap:.25rem}.col.service{align-items:flex-start}.col.service,.service-info{flex-direction:column;gap:.25rem}.service-duration{color:#6b7280;font-size:.75rem}.col.area{align-items:center;display:flex}.area-tag{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:20px;color:#374151;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.col.vehicle{align-items:flex-start;flex-direction:column;gap:.25rem}.vehicle-info{align-items:center;display:flex;gap:.5rem}.vehicle-model{color:#111827;font-weight:500}.vehicle-plate{color:#6b7280;font-family:Courier New,monospace;font-size:.75rem}.col.datetime{align-items:flex-start}.col.datetime,.datetime-info{flex-direction:column;gap:.25rem}.datetime-info{display:flex}.date{color:#111827;font-weight:500}.time{color:#6b7280;font-size:.75rem}.col.amount{color:#111827;font-weight:600}.col.action{align-items:center;display:flex;justify-content:flex-end}.action-btn{background:#0000;border-radius:10px;height:36px;overflow:hidden;position:relative;width:36px}.action-btn:before{background:currentColor;border-radius:50%;content:"";height:0;left:50%;opacity:.1;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .3s ease;width:0}.action-btn:hover:before{height:100%;width:100%}.action-btn.edit{color:#3b82f6}.action-btn.delete{color:#ef4444}.action-btn:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.pagination{margin-top:2rem}.page-btn{border-radius:10px;box-shadow:0 1px 3px #0000000d;color:#374151;font-weight:500;overflow:hidden;position:relative}.page-btn:before{background:linear-gradient(90deg,#0000,#11ce3e1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.page-btn:hover:before{left:100%}.page-btn:hover{background:#f9fafb;border-color:#11ce3e;box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.page-btn.active{background:linear-gradient(135deg,#11ce3e,#0ea33a);box-shadow:0 4px 12px #11ce3e4d;transform:translateY(-1px)}.add-booking-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:2rem}.booking-form{max-width:800px}.form-row{grid-gap:1.5rem;gap:1.5rem;margin-bottom:1.5rem}.form-row.full-width{grid-template-columns:1fr}.form-group{gap:.5rem}.form-group label{font-size:.875rem}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;font-size:.875rem;font-weight:500;padding:.75rem;transition:all .2s ease}.form-group textarea{min-height:80px;resize:vertical}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#11ce3e;box-shadow:0 0 0 3px #11ce3e1a;transform:translateY(-1px)}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:#11ce3e;box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.form-actions{border-top:1px solid #e5e7eb;gap:1rem;margin-top:2rem;padding-top:1.5rem}.cancel-btn{border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.cancel-btn:hover{border-color:#9ca3af}.save-btn{background:#11ce3e;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:background-color .2s ease}.save-btn:hover{background:#0ea33a}.calendar-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:2rem}.calendar-view{display:flex;flex-direction:column;gap:2rem}.calendar-controls{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.calendar-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;color:#374151;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.calendar-btn:hover{background:#f9fafb;border-color:#11ce3e;box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.today-btn{background:linear-gradient(135deg,#11ce3e,#0ea33a);border-color:#11ce3e;box-shadow:0 4px 12px #11ce3e4d;color:#fff}.today-btn:hover{background:linear-gradient(135deg,#0ea33a,#0d8f33);box-shadow:0 8px 25px #11ce3e66;transform:translateY(-2px)}.calendar-filters{display:flex;gap:1rem}.calendar-filter{min-width:160px}.calendar-content{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:2fr 1fr}.calendar-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.calendar-nav-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 3px #0000000d;color:#374151;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s ease;width:40px}.calendar-nav-btn:hover{border-color:#11ce3e;box-shadow:0 4px 12px #0000001a;color:#11ce3e;transform:translateY(-1px)}.calendar-title{color:#111827;font-size:1.25rem;font-weight:600;margin:0}.calendar-grid{display:flex;flex-direction:column}.calendar-weekdays{grid-gap:1px;display:grid;gap:1px;grid-template-columns:repeat(7,1fr);margin-bottom:1px}.weekday{background:#f9fafb;border-radius:8px;color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.75rem;text-align:center;text-transform:uppercase}.calendar-days{grid-gap:1px;background:#e5e7eb;border-radius:12px;display:grid;gap:1px;grid-template-columns:repeat(7,1fr);overflow:hidden}.calendar-day{background:#fff;cursor:pointer;display:flex;flex-direction:column;gap:.25rem;min-height:80px;padding:.5rem;position:relative;transition:all .2s ease}.calendar-day:hover{background:#f9fafb;transform:scale(1.02);z-index:1}.calendar-day.empty{background:#f9fafb;cursor:default}.calendar-day.today{background:linear-gradient(135deg,#11ce3e,#0ea33a);color:#fff}.calendar-day.today .day-number{font-weight:700}.calendar-day.selected{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;transform:scale(1.05);z-index:2}.calendar-day.has-bookings{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b}.day-number{color:inherit;font-size:.875rem;font-weight:500}.booking-indicators{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:auto}.booking-dot{border-radius:50%;cursor:pointer;height:8px;transition:all .2s ease;width:8px}.booking-dot:hover{box-shadow:0 2px 8px #0003;transform:scale(1.5)}.more-bookings{background:#f3f4f6;border-radius:4px;color:#6b7280;font-size:.625rem;font-weight:600;margin-left:auto;padding:.125rem .25rem}.selected-date-bookings{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;height:fit-content;padding:1.5rem;position:sticky;top:1rem}.selected-date-title{align-items:center;border-bottom:1px solid #e5e7eb;color:#111827;display:flex;font-size:1.125rem;font-weight:600;gap:.5rem;margin:0 0 1rem;padding-bottom:.75rem}.booking-count{background:#11ce3e;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.no-bookings{color:#6b7280;padding:2rem;text-align:center}.no-bookings p{font-size:.875rem;margin:1rem 0 0}.bookings-list{display:flex;flex-direction:column;gap:.75rem}.calendar-booking-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;padding:.75rem;transition:all .2s ease}.calendar-booking-card:hover{background:#fff;border-color:#11ce3e;box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.booking-time{align-items:center;color:#6b7280;display:flex;font-size:.75rem;gap:.25rem}.booking-details,.booking-time{margin-bottom:.5rem}.booking-customer{color:#111827;font-size:.875rem;font-weight:600;margin-bottom:.25rem}.booking-service{color:#6b7280;font-size:.75rem;margin-bottom:.25rem}.booking-vehicle{color:#6b7280;font-family:Courier New,monospace;font-size:.75rem}.booking-status{display:flex;justify-content:flex-end}.status-indicator{border-radius:12px;color:#fff;font-size:.625rem;font-weight:600;letter-spacing:.05em;padding:.25rem .5rem;text-transform:uppercase}@media (max-width:1024px){.calendar-content{gap:1.5rem;grid-template-columns:1fr}.selected-date-bookings{position:static}}@media (max-width:768px){.calendar-controls{align-items:stretch;flex-direction:column;gap:1rem}.calendar-filters{justify-content:center}.calendar-day{min-height:60px;padding:.25rem}.day-number{font-size:.75rem}.booking-dot{height:6px;width:6px}}@media (max-width:480px){.calendar-container,.calendar-section{padding:1rem}.calendar-title{font-size:1rem}.calendar-day{min-height:50px}.weekday{font-size:.625rem;padding:.5rem .25rem}}.booking-detail-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.detail-section{gap:1rem}.detail-section.full-width{grid-column:1/-1}.detail-section h3{border-bottom:1px solid #e5e7eb;font-size:1rem}.detail-item{align-items:flex-start;gap:1rem}.detail-label{color:#6b7280;font-size:.875rem;font-weight:500;min-width:100px}.detail-value{color:#111827;flex:1 1;font-size:.875rem;text-align:right}.notes-text{color:#6b7280;font-style:italic;line-height:1.5}.modal-footer{border-top:1px solid #e5e7eb;gap:1rem;padding:1.5rem}.modal-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.modal-btn.secondary{background:#fff;border:1px solid #d1d5db;color:#374151}.modal-btn.secondary:hover{background:#f9fafb;border-color:#9ca3af}.modal-btn.primary{background:#11ce3e;color:#fff}.modal-btn.primary:hover{background:#0ea33a}@media (max-width:1024px){.table-header,.table-row{grid-template-columns:1fr 2fr 1.5fr 1fr 1.5fr 1.5fr 1fr 1fr 1fr}.table-header .col:nth-child(n+8),.table-row .col:nth-child(n+8){display:none}}@media (max-width:768px){.booking-stats{grid-template-columns:repeat(2,1fr)}.booking-nav{flex-direction:column}.booking-content{padding:.5rem 0}.section-header{align-items:stretch;flex-direction:column;gap:1rem}.action-bar{flex-direction:column;gap:.75rem}.search-container input{width:100%}.table-header,.table-row{grid-template-columns:1fr 2fr 1fr}.table-header .col:nth-child(n+4),.table-row .col:nth-child(n+4){display:none}.form-row{grid-template-columns:1fr}.pagination{flex-direction:column;gap:1rem}.add-booking-section,.calendar-section{padding:1rem}.booking-detail-grid{gap:1.5rem;grid-template-columns:1fr}.modal-content{margin:1rem;max-height:calc(100vh - 2rem)}}@media (max-width:480px){.booking-stats{grid-template-columns:1fr}.nav-tab{font-size:.8rem;padding:.75rem 1rem}.search-container{max-width:none}.action-bar{gap:.5rem}.export-btn,.new-booking-btn{font-size:.8rem;padding:.5rem 1rem}.modal-footer{flex-direction:column}.modal-btn{justify-content:center;width:100%}}.search-container{padding:.5rem .75rem}.search-container input{width:200px}.date-range-btn,.filter-btn{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.date-range-btn:hover,.filter-btn:hover{background:#f3f4f6}.toggle-container{align-items:center;display:flex;gap:.5rem}.toggle-switch{display:inline-block;height:24px;position:relative;width:44px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#e5e7eb;border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:18px;left:3px;position:absolute;transition:.3s;width:18px}.toggle-switch input:checked+.toggle-slider{background-color:#11ce3e}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(20px)}.toggle-label{color:#374151;font-size:.875rem;font-weight:500}.export-btn{background:#f9fafb;padding:.5rem 1rem}.export-btn:hover{background:#f3f4f6}.help-btn{background:none;border:none;border-radius:8px;color:#6b7280;cursor:pointer;padding:.5rem;transition:all .2s ease}.help-btn:hover{background:#f3f4f6;color:#374151}.active-filters{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;gap:1rem;padding:1rem 2rem}.filters-label{color:#6b7280;font-size:.875rem;font-weight:500}.filter-tags{display:flex;flex-wrap:wrap;gap:.5rem}.filter-tag{background:#11ce3e;border-radius:20px;font-size:.75rem;font-weight:500;gap:.5rem;padding:.25rem .75rem}.filter-tag,.remove-filter{align-items:center;color:#fff;display:flex}.remove-filter{background:none;border:none;border-radius:50%;cursor:pointer;height:16px;justify-content:center;padding:0;transition:all .2s ease;width:16px}.remove-filter:hover{background:#fff3}.stats-grid,.stats-section{margin-bottom:2rem}.stats-grid{grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{transition:all .2s ease}.stat-icon{color:#fff}.stat-icon.completed,.stat-icon.total,.stat-icon.value{background:#11ce3e1a;border:2px solid #11ce3e33;color:#11ce3e}.stat-icon.pending{background:#f59e0b1a;border:2px solid #f59e0b33;color:#f59e0b}.stat-icon.high-value{background:#11ce3e1a;border:2px solid #11ce3e33;color:#11ce3e}.stat-icon.average{background:#3b82f61a;border:2px solid #3b82f633;color:#3b82f6}.stat-value{color:#111827;font-size:1.5rem;margin-bottom:.25rem}.stat-label{color:#6b7280;font-size:.875rem}.highest-order-section{margin-bottom:2rem}.highest-order-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden;padding:1.5rem;position:relative}.highest-order-card:before{background:#11ce3e;content:"";height:4px;left:0;position:absolute;right:0;top:0}.highest-order-header{align-items:center;color:#111827;display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin-bottom:1rem}.highest-order-content{align-items:center;display:flex;justify-content:space-between}.highest-order-info{display:flex;flex-direction:column;gap:.5rem}.highest-order-id{color:#11ce3e;font-size:1.25rem;font-weight:700}.highest-order-customer{color:#111827;font-size:1rem;font-weight:500}.highest-order-amount{color:#111827;font-size:1.5rem;font-weight:700}.highest-order-status .status-tag{background:#11ce3e1a!important;border:1px solid #11ce3e33;color:#11ce3e!important}.orders-cards-section{margin-bottom:2rem}.orders-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.order-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;cursor:pointer;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s ease}.order-card:before{background:#11ce3e;content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}.order-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-4px)}.order-card:hover:before{transform:scaleX(1)}.order-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.order-id{color:#11ce3e;font-size:1rem;font-weight:600}.order-status .status-tag{font-size:.75rem;padding:.25rem .75rem}.order-card-body{margin-bottom:1.5rem}.customer-info{margin-bottom:1rem}.customer-avatar{background:#11ce3e}.customer-name{font-size:1rem;font-weight:600}.customer-phone{color:#6b7280;font-size:.875rem}.order-details{display:flex;flex-direction:column;gap:.75rem}.order-amount,.order-date,.order-high-value{align-items:center;color:#6b7280;display:flex;font-size:.875rem;gap:.5rem}.order-amount{color:#111827;font-weight:600}.high-value-indicator{color:#11ce3e}.high-value-indicator,.regular-value-indicator{align-items:center;display:flex;font-weight:500;gap:.25rem}.regular-value-indicator{color:#6b7280}.order-card-footer{align-items:center;border-top:1px solid #f3f4f6;display:flex;justify-content:space-between;padding-top:1rem}.invoice-status{display:flex;flex-direction:column;gap:.5rem}.invoice-item{align-items:center;color:#6b7280;display:flex;font-size:.75rem;gap:.25rem}.order-actions{display:flex;gap:.5rem}.action-btn{font-size:.75rem;font-weight:500;gap:.25rem;padding:.5rem .75rem}.action-btn.details{background:#11ce3e;color:#fff}.action-btn.details:hover{background:#0ea54e}.action-btn.settings{background:#f3f4f6;color:#6b7280}.action-btn.settings:hover{background:#e5e7eb;color:#374151}.status-tag{gap:.25rem}.pagination{border-radius:12px;box-shadow:0 1px 3px #0000001a}.modal-title{display:flex;flex-direction:column;gap:.25rem}.modal-title h2{color:#111827;font-size:1.5rem;font-weight:700;margin:0}.order-id-modal{color:#11ce3e;font-size:.875rem;font-weight:600}.modal-close{border-radius:8px}.modal-body{padding:2rem}.order-summary{margin-bottom:2rem}.summary-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.summary-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.summary-label{color:#6b7280;font-size:.75rem;font-weight:500;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.summary-value{color:#111827;font-size:1rem;font-weight:600}.details-section{margin-bottom:2rem}.details-section h3{align-items:center;color:#111827;display:flex;font-size:1.125rem;font-weight:600;gap:.5rem;margin:0 0 1rem}.details-table{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.details-table table{border-collapse:collapse;width:100%}.details-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#374151;font-size:.875rem;font-weight:600;padding:.75rem 1rem;text-align:left}.details-table td{border-bottom:1px solid #f3f4f6;padding:.75rem 1rem}.details-table tr:last-child td{border-bottom:none}.table-label{color:#6b7280;font-size:.875rem;font-weight:500}.table-value{color:#111827;font-size:.875rem}.total-amount{color:#11ce3e;font-weight:600}.timeline{display:flex;flex-direction:column;gap:1rem}.timeline-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:1rem;padding:1rem}.timeline-time{color:#11ce3e;font-size:.875rem;font-weight:600;min-width:60px}.timeline-content{flex:1 1}.timeline-status{color:#111827;font-size:.875rem;font-weight:600;margin-bottom:.25rem}.timeline-description{color:#6b7280;font-size:.875rem}.notes-content{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#374151;font-size:.875rem;line-height:1.5;padding:1rem}@media (max-width:1200px){.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.orders-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:1024px){.stats-grid{gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.stat-card{padding:1rem}.orders-grid{gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width:768px){.header-right{gap:.5rem}.search-container input{width:150px}.toggle-label{display:none}.date-range-btn,.filter-btn{padding:.5rem}.date-range-btn span,.filter-btn span{display:none}.active-filters{align-items:flex-start;flex-direction:column;gap:.5rem;padding:1rem}.stats-grid{gap:.5rem;grid-template-columns:repeat(2,1fr)}.stat-card{padding:.75rem}.stat-icon{height:40px;width:40px}.stat-value{font-size:1.25rem}.orders-grid{gap:1rem;grid-template-columns:1fr}.highest-order-content{align-items:flex-start;flex-direction:column;gap:1rem}.pagination{align-items:center;flex-direction:column;gap:1rem}.modal-content{margin:1rem;max-height:calc(100vh - 2rem)}.modal-header{padding:1rem 1.5rem}.modal-body{padding:1.5rem}.summary-grid{grid-template-columns:1fr}.timeline-item{flex-direction:column;gap:.5rem}}@media (max-width:480px){.header-right{flex-wrap:wrap;gap:.25rem}.search-container{order:-1;width:100%}.search-container input{width:100%}.export-btn span{display:none}.help-btn,.notification-btn{padding:.25rem}.stats-grid{grid-template-columns:1fr}.order-card{padding:1rem}.order-card-footer{align-items:flex-start;flex-direction:column;gap:1rem}.order-actions{justify-content:space-between;width:100%}.modal-body,.modal-header{padding:1rem}.details-table{font-size:.75rem}.details-table td,.details-table th{padding:.5rem}}.info-tooltip{display:inline-block;margin-left:.5rem;position:relative}.info-icon{color:#6b7280;cursor:pointer;transition:color .2s ease}.info-icon:hover{color:#374151}.tooltip-content{background:#1f2937;border-radius:8px;bottom:100%;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;color:#fff;font-size:.75rem;margin-bottom:.5rem;opacity:0;padding:.75rem 1rem;transition:all .2s ease;visibility:hidden;white-space:nowrap;z-index:1000}.tooltip-content,.tooltip-content:after{left:50%;position:absolute;transform:translateX(-50%)}.tooltip-content:after{border:5px solid #0000;border-top-color:#1f2937;content:"";top:100%}.info-tooltip:hover .tooltip-content{opacity:1;visibility:visible}.tooltip-title{color:#f9fafb;font-weight:600;margin-bottom:.25rem}.tooltip-text{color:#d1d5db;line-height:1.4}.loading-state{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:3rem 2rem}.loading-spinner{border:3px solid #e5e7eb;border-top-color:#11ce3e;margin-bottom:1rem}.error-state{align-items:center;color:#ef4444;display:flex;flex-direction:column;justify-content:center;padding:3rem 2rem;text-align:center}.error-state svg{margin-bottom:1rem}.retry-btn{background:#11ce3e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;margin-top:1rem;padding:.5rem 1rem;transition:background .2s ease}.retry-btn:hover{background:#0ea54e}.vehicles-info{flex-direction:column}.vehicle-item,.vehicles-info{align-items:center;display:flex;gap:.25rem}.vehicle-item{color:#6b7280;font-size:.75rem;justify-content:center}.vehicle-item svg{color:#3b82f6}.no-vehicles{align-items:center;display:flex;font-size:.75rem;font-style:italic;gap:.25rem;justify-content:center}.no-vehicles,.no-vehicles svg{color:#9ca3af}.col.last-order,.col.number-of-orders,.col.orders,.col.total-spent{justify-content:center}.orders-info,.points-info{align-items:center;justify-content:center}.points-info{display:flex;flex-direction:column;gap:.25rem}.points-value{color:#111827;font-size:1.125rem;font-weight:700}.points-level{border-radius:12px;font-size:.75rem;font-weight:500;letter-spacing:.05em;padding:.125rem .5rem;text-transform:uppercase}.points-level.Bronze{background:#cd7f32;color:#fff}.points-level.Silver{background:silver;color:#fff}.points-level.Gold{background:gold;color:#111827}.expiry-info{align-items:center;display:flex;flex-direction:column;gap:.25rem;justify-content:center}.expiry-date{color:#374151;font-size:.875rem;font-weight:500}.expiry-status{align-items:center;display:flex;justify-content:center}.expiry-badge{border-radius:12px;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.125rem .5rem;text-transform:uppercase}.expiry-badge.active{background:#d1fae5;color:#065f46}.expiry-badge.expired{background:#fee2e2;color:#991b1b}.no-expiry{color:#9ca3af;font-size:.75rem;font-style:italic}.contact-info{align-items:center;gap:.25rem}.contact-item{gap:.25rem;justify-content:center}.notification-btn{background:none;border:none;border-radius:8px;color:#6b7280;cursor:pointer;padding:.5rem;position:relative;transition:all .2s ease}.notification-btn:hover{background:#f3f4f6;color:#374151}.notification-badge{background:#ef4444;border-radius:10px;color:#fff;font-size:.75rem;font-weight:600;min-width:18px;padding:.125rem .375rem;position:absolute;right:0;text-align:center;top:0}.user-profile{align-items:center;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.5rem;transition:all .2s ease}.user-profile:hover{background:#f3f4f6}.customers-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem;overflow:hidden}.section-header{border-bottom:1px solid #e5e7eb;padding:2rem 2rem 1rem}.section-title h2{color:#111827;font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.section-title p{color:#6b7280;font-size:.875rem;margin:0}.controls-bar{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:1.5rem;padding:1.5rem 2rem}.search-container{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;display:flex;gap:.5rem;padding:.75rem 1rem}.search-container input{background:none;border:none;color:#374151;font-size:.875rem;outline:none}.search-container input::placeholder{color:#9ca3af}.sort-container{align-items:center;display:flex;gap:.5rem;position:relative}.sort-container label{color:#374151;font-size:.875rem;font-weight:500}.sort-container select{appearance:none;background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;font-size:.875rem;padding:.5rem 2rem .5rem .75rem}.sort-container svg{color:#6b7280;pointer-events:none;position:absolute;right:.75rem}.action-buttons{gap:.75rem;margin-left:auto}.add-customer-btn{align-items:center;background:#11ce3e;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1rem;transition:all .2s ease}.add-customer-btn:hover{background:#0ea54e}.customer-form{margin:0 auto;max-width:800px;padding:2rem}.form-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.form-section h3{color:#111827;font-size:1.125rem;font-weight:600;margin:0 0 1rem}.form-section h4{color:#374151;font-size:1rem;font-weight:500;margin:0 0 1rem}.vehicle-form-group{background:#fff;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:1rem;padding:1rem}.vehicle-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.vehicle-header h4{color:#374151;font-size:.875rem;font-weight:500;margin:0}.remove-vehicle-btn{align-items:center;background:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:.25rem;transition:background .2s ease}.remove-vehicle-btn:hover{background:#dc2626}.add-vehicle-btn{align-items:center;background:#11ce3e;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-top:1rem;padding:.75rem 1rem;transition:background .2s ease}.add-vehicle-btn:hover{background:#0ea54e}.checkbox-label{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem}.checkbox-label input[type=checkbox]{cursor:pointer;margin:0}.form-group select{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:.875rem;padding:.75rem;width:100%}.form-group select:focus{border-color:#11ce3e;box-shadow:0 0 0 3px #11ce3e1a;outline:none}.modal-content{max-width:900px}.modal-header{background:#f9fafb;padding:1.5rem 2rem}.modal-close-btn{align-items:center;background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s ease}.modal-close-btn:hover{background:#f3f4f6;color:#374151}.modal-body{padding:0}.modal-body .customer-form{margin:0;max-width:none;padding:0}.modal-body .form-section{border:none;border-bottom:1px solid #e5e7eb;border-radius:0;margin:0}.modal-body .form-section:last-child{border-bottom:none}.address-input-group{align-items:center;display:flex;gap:.5rem}.address-input-group input{flex:1 1}.search-address-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;justify-content:center;min-width:44px;padding:.75rem;transition:background .2s ease}.search-address-btn:hover:not(:disabled){background:#2563eb}.search-address-btn:disabled{background:#9ca3af;cursor:not-allowed}.map-toggle-btn{align-items:center;background:#11ce3e;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1rem;transition:background .2s ease;white-space:nowrap}.map-toggle-btn:hover{background:#0ea54e}.map-container{border:1px solid #e5e7eb;margin:1rem 0;overflow:hidden}.map,.map-container{border-radius:8px}.map-instructions{background:#f9fafb;border-top:1px solid #e5e7eb;padding:.75rem 1rem}.map-instructions p{color:#6b7280;font-size:.875rem;margin:0;text-align:center}.map-error{align-items:center;background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;display:flex;height:400px;justify-content:center}.map-error-content{max-width:500px;padding:2rem;text-align:center}.map-error-content h3{color:#374151;font-size:1.125rem;font-weight:600;margin:1rem 0 .5rem}.map-error-content p{color:#6b7280;font-size:.875rem;margin:0 0 1.5rem}.map-error-steps{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:1rem;text-align:left}.map-error-steps p{color:#374151;font-weight:500;margin:0 0 .5rem}.map-error-steps ol{color:#6b7280;font-size:.875rem;margin:0;padding-left:1.5rem}.map-error-steps li{margin-bottom:.5rem}.map-error-steps code{background:#f3f4f6;border-radius:3px;color:#374151;font-family:Courier New,monospace;font-size:.75rem;padding:.125rem .25rem}.map-error-steps a{color:#3b82f6;text-decoration:none}.map-error-steps a:hover{text-decoration:underline}.customer-count{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:.875rem;font-weight:500;padding:1rem 2rem}.customers-table{width:100%}.table-header{grid-gap:1rem;gap:1rem;grid-template-columns:2.5fr 2fr 1.5fr 1fr 1fr 1fr 1fr 1fr;padding:1rem 2rem}.table-header .col{align-items:center;display:flex;gap:.5rem;justify-content:center}.col.sortable{cursor:pointer;transition:all .2s ease}.col.sortable:hover{color:#374151}.table-row{grid-gap:1rem;gap:1rem;grid-template-columns:2.5fr 2fr 1.5fr 1fr 1fr 1fr 1fr 1fr;padding:1rem 2rem}.col.customer,.customer-info,.table-row .col{align-items:center;display:flex;justify-content:center}.customer-info{gap:.75rem}.customer-avatar{align-items:center;background:linear-gradient(135deg,#11ce3e,#0ea54e);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.875rem;font-weight:600;height:40px;justify-content:center;overflow:hidden;position:relative;width:40px}.profile-image{object-fit:cover}.avatar-fallback,.profile-image{border-radius:50%;height:100%;width:100%}.avatar-fallback{align-items:center;background:linear-gradient(135deg,#11ce3e,#0ea54e);color:#fff;display:flex;font-size:.875rem;font-weight:600;justify-content:center}.customer-details{align-items:center;display:flex;flex-direction:column;gap:.25rem;text-align:center}.customer-name{color:#111827;font-weight:500}.customer-email{color:#6b7280;font-size:.75rem}.col.orders{align-items:center;display:flex}.orders-info{display:flex;flex-direction:column;gap:.25rem}.orders-count{color:#111827;font-weight:600}.vip-tag{align-self:flex-start;background:#11ce3e;border-radius:12px;color:#fff;font-size:.625rem;font-weight:600;letter-spacing:.05em;padding:.125rem .5rem;text-transform:uppercase}.col.spend{color:#111827;font-weight:600;justify-content:center}.col.last-active{color:#6b7280;font-weight:500}.col.actions,.col.last-active{justify-content:center}.view-profile-btn{align-items:center;background:#11ce3e;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.75rem;font-weight:500;gap:.25rem;padding:.5rem .75rem;transition:all .2s ease}.view-profile-btn:hover{background:#0ea54e}.pagination{padding:1rem 2rem}.pagination-controls{gap:.5rem}.page-btn{padding:.5rem 1rem}.page-btn:last-child{background:#374151;border-color:#374151;color:#fff}.page-btn:last-child:hover{background:#1f2937}@media (max-width:1024px){.controls-bar{align-items:stretch;flex-direction:column;gap:1rem}.search-container{min-width:auto}.action-buttons{justify-content:flex-end;margin-left:0}.table-header,.table-row{gap:.5rem;grid-template-columns:2fr 1.5fr 1fr 1fr 1fr}.table-header .col:nth-child(n+6),.table-row .col:nth-child(n+6){display:none}}@media (max-width:768px){.section-header{padding:1.5rem 1rem 1rem}.controls-bar,.customer-count{padding:1rem}.table-header,.table-row{gap:.5rem;grid-template-columns:1fr 1fr;padding:1rem}.table-header .col:nth-child(n+3),.table-row .col:nth-child(n+3){display:none}.pagination{align-items:center;flex-direction:column;gap:1rem;padding:1rem}}@media (max-width:480px){.header-right{gap:.5rem}.user-profile span{display:none}.search-container{min-width:auto}.filter-buttons{flex-wrap:wrap}.action-buttons{flex-direction:column;gap:.5rem}.table-header,.table-row{gap:.25rem;grid-template-columns:1fr}.table-header .col:nth-child(n+2),.table-row .col:nth-child(n+2){display:none}.customer-info{align-items:flex-start;flex-direction:column;gap:.5rem}}.create-campaign-btn{align-items:center;background:#11ce3e;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.create-campaign-btn:hover{background:#0ea54e}.campaign-stats{grid-gap:1.5rem;gap:1.5rem;margin-bottom:2rem}.stat-card{border:1px solid #e5e7eb;gap:1rem;padding:1.5rem}.stat-icon{background:#f3f4f6;color:#6b7280}.stat-icon.active{background:#11ce3e;color:#fff}.stat-icon.revenue{background:#3b82f6;color:#fff}.stat-icon.conversion{background:#8b5cf6;color:#fff}.stat-content h3{color:#111827;font-size:1.5rem;font-weight:700;margin:0 0 .25rem}.stat-content p{color:#6b7280;font-size:.875rem;margin:0}.filter-section{margin-bottom:2rem}.campaigns-section,.filter-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a}.campaigns-section{overflow:hidden}.campaigns-table{width:100%}.table-header,.table-row{grid-template-columns:2fr 1fr 1.5fr 1fr 1.5fr 1fr}.table-row{border-bottom:1px solid #f3f4f6}.col.campaign-name{align-items:center;display:flex}.campaign-info{flex-direction:column;gap:.5rem}.campaign-title{color:#111827}.view-insights-btn{align-items:center;background:none;border:none;color:#11ce3e;cursor:pointer;display:flex;font-size:.75rem;font-weight:500;gap:.25rem;padding:0;transition:all .2s ease}.view-insights-btn:hover{color:#0ea54e}.col.type{color:#374151;font-weight:500}.col.dates,.col.segment{color:#6b7280}.col.dates{font-size:.75rem}.action-btn{display:flex}.action-btn.edit:hover{color:#3b82f6}.action-btn.duplicate:hover{color:#11ce3e}.insights-modal{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-overlay{position:absolute}.modal-content{width:90%;z-index:1001}.modal-header{padding:1.5rem}.modal-header h2{font-size:1.25rem}.close-btn{align-items:center;display:flex;height:32px;justify-content:center;padding:0;width:32px}.close-btn:hover{background:#f3f4f6;color:#374151}.modal-body{padding:1.5rem}.insights-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.insight-card{background:#f9fafb;gap:.75rem;padding:1rem}.insight-card,.insight-icon{align-items:center;border-radius:8px;display:flex}.insight-icon{background:#11ce3e;color:#fff;flex-shrink:0;height:40px;justify-content:center;width:40px}.insight-content h3{color:#111827;font-size:1.125rem;font-weight:600;margin:0 0 .25rem}.insight-content p{color:#6b7280;font-size:.75rem;margin:0}@media (max-width:1024px){.campaign-stats{grid-template-columns:repeat(2,1fr)}.filter-controls{align-items:stretch;flex-direction:column;gap:1rem}.apply-filters-btn{margin-left:0}.table-header,.table-row{gap:.5rem;grid-template-columns:2fr 1fr 1.5fr 1fr 1fr}.table-header .col:nth-child(5),.table-row .col:nth-child(5){display:none}}@media (max-width:768px){.campaign-stats{grid-template-columns:1fr}.table-header,.table-row{gap:.5rem;grid-template-columns:1fr 1fr}.table-header .col:nth-child(n+3),.table-row .col:nth-child(n+3){display:none}.pagination{align-items:center;flex-direction:column;gap:1rem}.insights-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.header-right{gap:.5rem}.create-campaign-btn{padding:.5rem 1rem}.create-campaign-btn span{display:none}.table-header,.table-row{gap:.25rem;grid-template-columns:1fr}.table-header .col:nth-child(n+2),.table-row .col:nth-child(n+2){display:none}.insights-grid{grid-template-columns:1fr}}.dashboard-content{background:#f8fafc;min-height:100vh;padding:24px}.content-header{margin-bottom:24px}.page-actions{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.search-container{flex:1 1;min-width:300px;position:relative}.search-container svg{color:#64748b;left:12px;position:absolute;top:50%;transform:translateY(-50%)}.search-container input{background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;padding:12px 12px 12px 44px;transition:all .2s;width:100%}.search-container input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.export-btn,.filter-btn,.new-campaign-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 16px;transition:all .2s}.new-campaign-btn{background:#3b82f6;border-color:#3b82f6;color:#fff}.new-campaign-btn:hover{background:#2563eb}.export-btn:hover,.filter-btn:hover{background:#f8fafc;border-color:#cbd5e1}.campaign-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:32px}.stat-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:16px;padding:24px;transition:transform .2s,box-shadow .2s}.stat-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.stat-icon{align-items:center;background:#f1f5f9;border-radius:12px;display:flex;height:48px;justify-content:center;width:48px}.stat-content{flex:1 1}.stat-value{font-size:28px;line-height:1}.stat-label{font-size:14px}.campaign-nav{border-bottom:1px solid #e2e8f0;display:flex;gap:8px;margin-bottom:24px}.nav-tab{background:none;border:none;border-bottom:2px solid #0000;color:#64748b;cursor:pointer;font-size:14px;font-weight:500;padding:12px 20px;transition:all .2s}.nav-tab:hover{color:#3b82f6}.nav-tab.active{border-bottom-color:#3b82f6;color:#3b82f6}.campaign-content{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.campaigns-section{padding:24px}.section-header{margin-bottom:24px}.section-header h2{color:#1e293b;font-size:20px;font-weight:600;margin:0}.campaigns-table{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.table-header{grid-gap:16px;color:#64748b;font-size:12px;font-weight:600;gap:16px;grid-template-columns:2fr 1fr 1fr 1fr 1.5fr 1fr 1fr;letter-spacing:.5px;padding:16px 20px;text-transform:uppercase}.campaign-card{border-bottom:1px solid #e2e8f0;transition:background-color .2s}.campaign-card:hover{background:#f8fafc}.campaign-card:last-child{border-bottom:none}.table-row{grid-template-columns:2fr 1fr 1fr 1fr 1.5fr 1fr 1fr 1fr;padding:20px}.campaign-info,.col{align-items:center;display:flex}.campaign-info{gap:12px}.campaign-image{border-radius:8px;flex-shrink:0;height:48px;overflow:hidden;width:48px}.campaign-image img{height:100%;object-fit:cover;width:100%}.campaign-avatar{align-items:center;background:#f1f5f9;color:#64748b;display:flex;height:100%;justify-content:center;width:100%}.campaign-details{flex:1 1}.campaign-title{color:#1e293b;font-size:16px;margin-bottom:4px}.campaign-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#64748b;display:-webkit-box;font-size:14px;margin-bottom:4px;overflow:hidden}.campaign-code{color:#3b82f6}.campaign-code,.type-tag{font-size:12px;font-weight:500}.type-tag{display:flex;gap:6px;letter-spacing:.5px;padding:6px 12px}.type-tag.discount{background:#dcfce7;color:#166534}.type-tag.bonus_points{background:#fef3c7;color:#92400e}.type-tag.combo_offer{background:#e0e7ff;color:#3730a3}.type-tag.package_discount{background:#fce7f3;color:#be185d}.type-tag.fixed_off{background:#f0fdf4;color:#15803d}.discount-info{color:#1e293b;font-size:16px;font-weight:600}.discount-value{color:#059669}.usage-info{width:100%}.usage-progress{background:#e2e8f0;border-radius:3px;height:6px;margin-bottom:6px;overflow:hidden;width:100%}.usage-fill{background:#3b82f6;border-radius:3px;height:100%;transition:width .3s}.usage-text{color:#64748b;font-size:12px;font-weight:500}.validity-info{text-align:left}.validity-dates{color:#1e293b;font-size:14px;font-weight:500;margin-bottom:4px}.validity-status{color:#64748b;font-size:12px}.packages-info{color:#1e293b;font-size:14px}.packages-count{color:#3b82f6;font-weight:500}.packages-universal{color:#64748b}.status-tag{align-items:center;display:flex;font-size:12px;gap:6px;letter-spacing:.5px;padding:6px 12px}.actions-trigger{font-size:13px;gap:6px;padding:6px 12px;transition:all .2s;white-space:nowrap}.chevron{transition:transform .2s}.actions-dropdown{box-shadow:0 4px 12px #00000026;margin-top:4px;min-width:120px;right:0;top:100%;z-index:10}.action-item{background:none;font-size:14px;gap:8px;padding:12px 16px;transition:background-color .2s;width:100%}.action-item:hover{background:#f8fafc}.action-item.view:hover{color:#3b82f6}.action-item.edit:hover{color:#f59e0b}.pagination{border-top:1px solid #e2e8f0;margin-top:24px;padding-top:24px}.pagination-info{color:#64748b;font-size:14px}.pagination-controls{gap:8px}.page-btn{background:#fff;border:1px solid #e2e8f0;color:#64748b;font-size:14px;padding:8px 12px;transition:all .2s}.page-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.page-btn.active{background:#3b82f6;border-color:#3b82f6}.page-btn:disabled{cursor:not-allowed;opacity:.5}.modal-overlay{padding:20px}.modal-header{margin-bottom:24px;padding:24px 24px 0}.modal-close{padding:8px;transition:all .2s}.modal-close:hover{color:#1e293b}.campaign-form{padding:0 24px 24px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:20px}.form-row:has(.full-width){grid-template-columns:1fr}.form-group{display:flex;flex-direction:column}.form-group label{color:#374151;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:12px;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.multi-select{min-height:100px}.form-group small{font-size:12px;margin-top:4px}.form-group label input[type=checkbox]{margin-right:8px}.form-actions{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px}.cancel-btn,.save-btn{border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s}.cancel-btn{background:#fff;border:1px solid #d1d5db;color:#374151}.cancel-btn:hover{background:#f9fafb}.save-btn{background:#3b82f6;border:none;color:#fff}.save-btn:hover:not(:disabled){background:#2563eb}.save-btn:disabled{cursor:not-allowed;opacity:.5}.view-modal{max-width:600px}.campaign-details{padding:0 24px 24px}.detail-section{margin-bottom:32px}.detail-section h3{margin-bottom:16px}.detail-grid{grid-gap:16px;gap:16px}.detail-item{gap:4px}.detail-item label{font-size:12px;letter-spacing:.5px}.campaign-title{color:#3b82f6;font-weight:600}.type-badge{border-radius:12px;font-size:12px;gap:6px;padding:4px 8px}.status-badge,.type-badge{letter-spacing:.5px}.modal-actions{border-top:1px solid #e2e8f0;padding:24px}.close-btn{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;font-size:14px;padding:12px 24px;transition:all .2s}.close-btn:hover{background:#f9fafb}.image-upload-container{position:relative}.image-upload-input{height:0;opacity:0;position:absolute;width:0}.image-upload-label{background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;cursor:pointer;display:block;padding:20px;text-align:center;transition:all .2s}.image-upload-label:hover{background:#f0f9ff;border-color:#3b82f6}.upload-placeholder{align-items:center;color:#6b7280;display:flex;flex-direction:column;gap:8px}.upload-placeholder svg{color:#9ca3af}.upload-placeholder small{color:#9ca3af;font-size:12px}.image-preview{display:inline-block;position:relative}.image-preview img{border-radius:8px;max-height:150px;max-width:200px;object-fit:cover}.remove-image-btn{align-items:center;background:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:24px;justify-content:center;position:absolute;right:-8px;top:-8px;transition:all .2s;width:24px}.remove-image-btn:hover{background:#dc2626;transform:scale(1.1)}@media (max-width:768px){.dashboard-content{padding:16px}.page-actions{align-items:stretch;flex-direction:column}.search-container{min-width:auto}.campaign-stats,.table-header,.table-row{grid-template-columns:1fr}.table-header,.table-row{gap:8px}.col,.col.actions{justify-content:flex-start}.detail-grid,.form-row{grid-template-columns:1fr}.pagination{align-items:stretch;flex-direction:column;gap:16px}.pagination-controls{justify-content:center}.image-preview img{max-height:100px;max-width:150px}}.page-subtitle{color:#6b7280;font-size:.875rem;margin:.25rem 0 0}.header-right{gap:1rem}.export-btn,.header-right{align-items:center;display:flex}.export-btn{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.export-btn:hover{background:#f9fafb;border-color:#d1d5db}.create-voucher-btn{align-items:center;background:#11ce3e;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.create-voucher-btn:hover{background:#0ea54e}.voucher-management-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;overflow:hidden}.filter-section{border-bottom:1px solid #e5e7eb;padding:1.5rem}.filter-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1.5rem}.filter-group{gap:.5rem}.filter-group label{font-size:.875rem;font-weight:500}.filter-group select{background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;font-size:.875rem;min-width:150px;padding:.5rem .75rem}.apply-filters-btn{align-items:center;background:#11ce3e;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-left:auto;padding:.5rem 1rem;transition:all .2s ease}.apply-filters-btn:hover{background:#0ea54e}.vouchers-table{display:flex;flex-direction:column;gap:1rem;width:100%}.voucher-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.table-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;display:grid;grid-template-columns:1.5fr 1fr 1.5fr 1.5fr 1.5fr 1fr 1fr 1fr;padding:1rem 1.5rem}.table-header .col{color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.table-row{align-items:center;background:#fff;grid-template-columns:1.5fr 1fr 1.5fr 1.5fr 1.5fr 1fr 1fr 1fr;padding:1rem 1.5rem}.col.actions,.row-actions{align-items:center;display:flex;justify-content:flex-end;padding:0}.row-actions{margin:0}.actions-menu{display:inline-block;position:relative}.table-row:last-child{border-bottom:none}.table-row .col{color:#111827;font-size:.875rem}.voucher-info{gap:.75rem}.voucher-avatar,.voucher-info{align-items:center;display:flex}.voucher-avatar{background:#11ce3e;border-radius:8px;color:#fff;flex-shrink:0;font-size:.875rem;font-weight:600;height:40px;justify-content:center;width:40px}.voucher-details{display:flex;flex-direction:column;gap:.25rem;min-width:0}.voucher-code{color:#11ce3e;font-size:.875rem}.voucher-description{color:#374151;font-size:.75rem;line-height:1.2}.voucher-requirements{color:#6b7280;font-size:.75rem;line-height:1.2}.type-tag{align-items:center;border-radius:20px;display:inline-flex;font-size:.75rem;font-weight:600;gap:.5rem;letter-spacing:.05em;padding:.5rem .75rem;text-transform:uppercase}.type-tag.percentage{background:#dbeafe;border:1px solid #bfdbfe;color:#1e40af}.type-tag.fixed{background:#dcfce7;border:1px solid #bbf7d0;color:#166534}.col.type{align-items:center;display:flex;justify-content:flex-start}.col.code{color:#111827;font-weight:600}.col.discount{color:#11ce3e;font-weight:500}.col.usage{display:flex;flex-direction:column;gap:.5rem}.usage-bar{background:#f3f4f6;border-radius:4px;height:8px;overflow:hidden;width:100%}.usage-progress{border-radius:4px;height:100%;transition:all .3s ease}.usage-text{color:#6b7280;font-size:.75rem}.validity-info{display:flex;flex-direction:column;gap:.25rem}.validity-dates{color:#374151;font-size:.75rem;line-height:1.2}.validity-status{line-height:1.2}.col.expiry,.validity-status{color:#6b7280;font-size:.75rem}.col.min-order{color:#374151;font-weight:500}.col.status{align-items:center;display:flex}.col.applicability{color:#64748b;flex:0 0 200px;font-size:.875rem;text-align:left}.applicability-details,.applicability-info{display:flex;flex-direction:column;gap:.25rem}.applicability-scope{color:#1e293b;font-size:.875rem;font-weight:500}.applicability-items{color:#64748b;font-size:.75rem;line-height:1.3}.applicability-items strong{color:#475569;font-weight:500}.applicability-universal{color:#10b981;font-size:.875rem;font-weight:500}.multi-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 1px 2px 0 #0000000d;color:#374151;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:400;max-height:200px;min-height:120px;overflow-y:auto;padding:.75rem 1rem;transition:all .2s ease;width:100%}.multi-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.multi-select:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.multi-select option{background:#fff;border-bottom:1px solid #f3f4f6;color:#374151;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:400;padding:.75rem 1rem;transition:background-color .15s ease}.multi-select option:hover{background-color:#f3f4f6}.multi-select option:checked{background-color:#3b82f6;color:#fff;font-weight:600}.form-group small{color:#6b7280;display:block;font-size:.75rem;margin-top:.25rem}.form-group small,.form-select{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400}.form-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 1px 2px 0 #0000000d;color:#374151;cursor:pointer;font-size:.875rem;padding:.75rem 1rem;transition:all .2s ease;width:100%}.form-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-select:disabled{background-color:#f9fafb;border-color:#e5e7eb;color:#9ca3af;cursor:not-allowed}.form-select option{background:#fff;border:none;color:#374151;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:400;padding:.75rem 1rem}.form-select option:hover{background-color:#f3f4f6;color:#374151}.form-select option:checked{background-color:#3b82f6;color:#fff;font-weight:500}.modal-overlay{padding:1rem}.modal-content{animation:modalSlideIn .3s ease-out;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;overflow-y:auto}.modal-header{margin-bottom:1.5rem;padding:1.5rem 1.5rem 0}.modal-header h2{color:#111827;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.5rem}.modal-close{border-radius:6px;color:#6b7280;display:flex;padding:.5rem;transition:all .2s ease}.modal-close:hover{background:#f3f4f6}.voucher-form{padding:0 1.5rem 1.5rem}.voucher-form label{color:#1f2937;display:block;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;margin-bottom:.5rem}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.status-tag{border-radius:20px;color:#fff;font-size:.75rem;font-weight:500;letter-spacing:.05em;padding:.25rem .75rem;text-transform:uppercase}.actions-trigger{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 1px 2px #0000000d;color:#64748b;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem .75rem;transition:all .2s ease}.actions-trigger:hover{background:#f8fafc;border-color:#cbd5e1;box-shadow:0 2px 4px #0000001a}.chevron{transition:transform .2s ease}.chevron.expanded{transform:rotate(180deg)}.actions-dropdown{animation:slideInRight .3s ease-out;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 6px #0000001a;display:flex;gap:.25rem;left:calc(100% + .25rem);overflow:hidden;padding:.5rem;position:absolute;top:0;z-index:1000}@keyframes slideInRight{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-100%)}}.actions-dropdown.closing{animation:slideOutRight .3s ease-in}.action-item{align-items:center;background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:flex;height:32px;justify-content:center;min-width:32px;padding:.5rem;transition:all .2s ease}.action-item:hover{background:#f1f5f9}.action-item.view:hover{background:#dcfce7;color:#11ce3e}.action-item.edit:hover{background:#dbeafe;color:#3b82f6}.action-item.delete:hover{background:#fee2e2;color:#ef4444}.redemption-tracking-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.redemption-tracking-section .section-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem}.redemption-tracking-section .section-header h2{color:#111827;font-size:1.25rem;font-weight:600;margin:0}.export-data-btn{align-items:center;background:#11ce3e;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.export-data-btn:hover{background:#0ea54e}.redemptions-table{width:100%}.redemptions-table .table-header,.redemptions-table .table-row{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr 1fr}.col.customer{color:#111827;font-weight:500}.col.order-id{color:#6b7280;font-family:monospace}.col.voucher{color:#11ce3e;font-weight:500}.col.date{color:#6b7280;font-size:.75rem}.col.order-value{color:#374151;font-weight:500}.col.amount-saved{color:#11ce3e;font-weight:600}.pagination{background:#fff;border-top:1px solid #e5e7eb;padding:1rem 1.5rem}.page-btn,.pagination-info{color:#6b7280;font-size:.875rem}.page-btn{background:none;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;padding:.5rem .75rem;transition:all .2s ease}.page-btn:hover{background:#f3f4f6}.page-btn.active{background:#11ce3e;border-color:#11ce3e;color:#fff}@media (max-width:1024px){.filter-controls{align-items:stretch;flex-direction:column;gap:1rem}.apply-filters-btn{margin-left:0}.table-header,.table-row{gap:.5rem;grid-template-columns:1fr 1fr 1fr 1fr}.table-header .col:nth-child(n+5),.table-row .col:nth-child(n+5){display:none}}@media (max-width:768px){.header-right{flex-direction:column;gap:.5rem}.create-voucher-btn{justify-content:center;width:100%}.table-header,.table-row{gap:.5rem;grid-template-columns:1fr 1fr 1fr}.table-header .col:nth-child(n+4),.table-row .col:nth-child(n+4){display:none}.pagination{align-items:center;flex-direction:column;gap:1rem}}@media (max-width:480px){.table-header,.table-row{gap:.25rem;grid-template-columns:1fr 1fr}.table-header .col:nth-child(n+3),.table-row .col:nth-child(n+3){display:none}}.view-modal{max-height:95vh;max-width:900px}.voucher-details{max-height:70vh;overflow-y:auto;padding:0 1.5rem}.detail-section{margin-bottom:2rem}.detail-section h3{border-bottom:2px solid #e5e7eb;color:#111827;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.125rem;margin:0 0 1rem;padding-bottom:.5rem}.detail-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.detail-item{flex-direction:column;gap:.25rem}.detail-item.full-width{grid-column:1/-1}.detail-item label{color:#6b7280;font-size:.875rem;letter-spacing:.05em;text-transform:uppercase}.detail-item label,.detail-item span{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.detail-item span{color:#111827;font-size:.95rem;font-weight:400;padding:.5rem 0}.voucher-code{color:#111827;font-weight:600}.type-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;letter-spacing:.05em;padding:.25rem .75rem;text-transform:uppercase}.type-badge.PERCENTAGE,.type-badge.percentage{background:#dbeafe;color:#1e40af}.type-badge.FIXED,.type-badge.fixed{background:#dcfce7;color:#166534}.value-display{color:#059669;font-size:1.1rem;font-weight:600}.status-badge{border-radius:20px;display:inline-flex;gap:.25rem;padding:.25rem .75rem}.status-badge.ACTIVE,.status-badge.Active{background:#dcfce7;color:#166534}.status-badge.EXPIRED,.status-badge.Expired{background:#fee2e2;color:#dc2626}.status-badge.INACTIVE,.status-badge.Inactive{background:#f3f4f6;color:#6b7280}.applicability-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.applicability-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#475569;font-size:.875rem;padding:.5rem .75rem}.modal-actions{border-top:1px solid #e5e7eb;gap:1rem;padding:1.5rem}.close-btn{background:#6b7280;border-radius:6px;color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.close-btn:hover{background:#4b5563}@media (max-width:768px){.view-modal{margin:1rem;max-width:95vw}.detail-grid{grid-template-columns:1fr}.voucher-details{max-height:60vh}}.pp-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 8px 24px #0f172a0f;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;margin-bottom:28px;padding:28px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.section-header h2{font-size:22px;margin:0 0 4px}.add-btn{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-strong));border-radius:10px;color:var(--color-surface);display:inline-flex;gap:8px;padding:10px 14px;transition:transform .1s ease,box-shadow .2s ease}.add-btn:hover{box-shadow:0 6px 16px #0284c759}.add-btn:active{transform:translateY(1px)}.filters-container{align-items:center;gap:14px;margin-bottom:16px}.search-group{background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;gap:10px;padding:10px 12px}.search-group input{background:#0000}.filter-group select,.filter-select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:8px 10px}.table-container{overflow-x:auto;width:100%}.data-table td,.data-table th{border-bottom:1px solid #f1f5f9;padding:12px 10px;text-align:left}.data-table tr.clickable{cursor:pointer}.data-table tr.selected{background:#f0f9ff}.status-badge{border-radius:9999px;display:inline-block}.status-badge.green{background:#dcfce7;color:#166534}.status-badge.yellow{background:#fef9c3;color:#854d0e}.status-badge.red{background:#fee2e2;color:#991b1b}.action-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:inline-flex;height:32px;justify-content:center;width:32px}.package-info{gap:8px}.package-icon,.package-info{align-items:center;display:flex}.package-icon{background:#f0f9ff;border-radius:8px;color:#0369a1;height:28px;justify-content:center;width:28px}.pp-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}.panel{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:12px;display:flex;flex-direction:column;min-height:420px;overflow:hidden}.panel-header{align-items:center;background:var(--color-bg);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:12px 14px}.panel-title{align-items:center;color:var(--color-text);display:inline-flex;font-weight:700;gap:8px}.panel-title .badge{background:var(--color-border);border-radius:9999px;color:var(--color-subtext);font-size:12px;font-weight:700;margin-left:6px;padding:2px 8px}.panel-action{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:inline-flex;gap:6px;padding:6px 10px}.panel-body{-webkit-overflow-scrolling:touch;display:flex;flex:1 1;flex-direction:column;gap:10px;overflow:auto;padding:12px}.panel-add{align-items:center;display:inline-flex;gap:8px}.panel-add input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:6px 10px}.btn-green{align-items:center;background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;gap:6px;padding:6px 10px}.btn-green,.timeslot-form{display:none!important}.list-item{grid-column-gap:12px;align-items:center;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:14px;column-gap:12px;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;padding:12px 14px;transition:transform .08s ease,box-shadow .15s ease,background .15s ease}.list-item:hover{background:var(--color-bg);box-shadow:0 6px 12px #0206170f;transform:translateY(-1px)}.list-item.selected{background:var(--color-success);outline:0}.list-item.newly-added,.list-item.selected,.list-item.selected .item-meta,.list-item.selected .item-title{color:var(--color-on-success)}.list-item.newly-added{background:var(--color-success)}.list-item.newly-added .item-meta,.list-item.newly-added .item-title{color:var(--color-on-success)}.item-title{color:var(--color-text);font-weight:700}.item-meta{color:var(--color-subtext);font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-actions{display:inline-flex;flex-shrink:0;gap:8px;justify-self:end;white-space:nowrap}.list-item.selected .status-badge{background:#fff;border:1px solid var(--color-border);color:var(--color-success)}.row-actions .action-btn.view{background:#fff;border:1px solid var(--color-border);border-radius:12px;color:var(--color-text);font-size:13px;font-weight:700;height:38px;padding:0 16px;width:72px}.row-actions .action-btn.view:hover{border-color:var(--color-primary);box-shadow:0 4px 10px #0206170f;color:var(--color-primary-strong)}.row-actions .action-btn{align-items:center;border-radius:9999px;display:inline-flex;font-size:12px;height:28px;justify-content:center;padding:0 10px}.row-actions .action-btn.delete,.row-actions .action-btn.edit{display:none!important}.list-item.selected .row-actions .action-btn.view{background:#fff;border-color:var(--color-primary);color:var(--color-primary-strong)}.item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-state{color:#94a3b8;padding:16px 12px}.panel-search{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;display:inline-flex;gap:8px;padding:6px 10px}.panel-search input{border:none;outline:none}.modal-overlay{background:#02061773;z-index:40}.modal-content{-webkit-backdrop-filter:blur(12px) saturate(120%);backdrop-filter:blur(12px) saturate(120%);background:linear-gradient(180deg,#ffffffeb,#ffffffdb);border:1.5px solid #0206171a;border-radius:16px;box-shadow:0 18px 40px #02061747,inset 0 0 0 1px #0284c70f;color:var(--color-text);font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;max-width:min(92vw,980px);padding:24px;position:relative;width:720px}.modal-close{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #02061714;border-radius:9999px;display:inline-flex;height:36px;justify-content:center;position:absolute;right:10px;top:10px;transition:transform .12s ease,box-shadow .2s ease;width:36px}.modal-close:hover{box-shadow:0 6px 16px #0206172e;transform:translateY(-1px)}.modal-title{font-size:20px;font-weight:800;letter-spacing:.2px;margin-bottom:14px}.qa-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.qa-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;cursor:pointer;padding:14px;text-align:left;transition:transform .08s ease,box-shadow .15s ease}.qa-card:hover{box-shadow:0 10px 20px #02061714;transform:translateY(-2px)}.qa-card .qa-title{color:var(--color-text);font-weight:700}.qa-card .qa-desc{color:var(--color-subtext);font-size:12px;margin-top:4px}.qa-card.cat{border-left:3px solid #22c55e}.qa-card.prod{border-left:3px solid #06b6d4}.qa-card.pack{border-left:3px solid #a78bfa}.qa-card.time{border-left:3px solid #f59e0b}.product-view{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:1.2fr 1fr}.pv-left{display:flex;flex-direction:column;gap:12px}.pv-hero{align-items:center;background:var(--color-surface);border-radius:14px;box-shadow:0 8px 24px #0206170f;display:flex;height:280px;justify-content:center;overflow:hidden}.pv-hero img{height:100%;object-fit:cover;width:100%}.pv-hero .pv-main{animation:pvFadeIn .22s ease-in-out}@keyframes pvFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.pv-hero-empty{color:var(--color-subtext);font-size:14px}.pv-thumbs{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.pv-thumbs img{border:1px solid var(--color-border);border-radius:8px;cursor:pointer;flex:0 0 auto;height:56px;object-fit:cover;transition:transform .12s ease,box-shadow .18s ease,opacity .18s ease;width:88px}.pv-thumbs img:hover{box-shadow:0 6px 12px #02061714;transform:translateY(-1px)}.pv-thumbs img:active{opacity:.9;transform:scale(.98)}.pv-right{display:flex;flex-direction:column;gap:12px}.pv-title{align-items:flex-start;display:flex;flex-wrap:wrap;gap:8px}.pv-name{color:var(--color-text);flex:1 1 100%;font-size:24px;font-weight:900;letter-spacing:.1px}.pv-badge{background:#0000;border:1px solid #0000;border-radius:9999px;color:var(--color-subtext);font-size:11px;line-height:1.2;margin-top:4px;padding:2px 8px}.pv-badge.green{background:#dcfce7;border-color:#bbf7d0;color:#166534}.pv-badge.blue{background:#e0f2fe;border-color:#bae6fd;color:#075985}.pv-badge.gray{background:#f1f5f9;border-color:#e5e7eb;color:#374151}.pv-meta{display:flex;flex-direction:column;gap:8px}.pv-row{grid-gap:10px;align-items:baseline;display:grid;gap:10px;grid-template-columns:120px 1fr}.pv-label{color:var(--color-subtext);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.pv-content{display:flex;font-size:12px}.pv-chips,.pv-content{flex-wrap:wrap;gap:8px}.pv-chips{display:inline-flex}.pv-chip{background:var(--color-bg);border:1px solid var(--color-border);border-radius:9999px;color:var(--color-text);font-size:11px;padding:2px 8px}.pv-chip.light{background:#f8fafc;color:#0f172a}.pv-chip.app{background:#e0f2fe;border-color:#bae6fd;color:#075985}.pv-chip.whatsapp{background:#dcfce7;border-color:#bbf7d0;color:#166534}.pv-chip.category{background:#f1f5f9;border-color:#e2e8f0;color:#0f172a}.pv-desc{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;color:var(--color-subtext);display:-webkit-box;font-size:14px;line-height:1.6;margin-top:2px;overflow:hidden;padding:0}.pv-stats{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin-top:4px}.pv-stat{grid-gap:8px;align-items:center;border-top:1px dashed var(--color-border);display:grid;gap:8px;grid-template-columns:18px auto 1fr;padding:8px 0}.pv-stat:first-child{border-top:none}.pv-stat .title{color:var(--color-subtext);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.pv-stat .value{color:var(--color-text);font-size:18px;font-weight:600;justify-self:end}.pv-terms{background:#0000;border:0;border-radius:0;grid-column:1/-1;margin-top:4px;padding:0}.pv-terms span{color:var(--color-subtext);display:block;font-size:12px;letter-spacing:.06em;margin-bottom:6px;text-transform:uppercase}.pv-terms p{font-size:14px;line-height:1.6;margin:0}.pv-times{margin-top:6px}.pv-sublabel{color:var(--color-subtext);font-size:11px;letter-spacing:.06em;margin-bottom:6px;text-transform:uppercase}.pv-tags{display:flex;flex-wrap:wrap;gap:6px}.pv-tag{background:var(--color-bg);border:1px solid var(--color-border);border-radius:9999px;color:var(--color-text);font-size:12px;padding:3px 8px}.pv-features{margin-top:6px}.pv-features ul{margin:6px 0 0;padding-left:18px}.pv-features li{color:var(--color-text);margin:2px 0}.pv-acc{border-top:1px solid var(--color-border);padding-top:10px}.pv-acc+.pv-acc{margin-top:8px}.pv-acc summary{color:var(--color-text);cursor:pointer;font-weight:600;list-style:none}.pv-acc summary::-webkit-details-marker{display:none}.pv-acc summary{align-items:center;display:flex;gap:8px}.pv-acc summary:before{color:var(--color-subtext);content:"+";display:inline-block;text-align:center;width:16px}.pv-acc[open] summary:before{content:"−"}.pv-list{margin:8px 0 0;padding-left:18px}.pv-list li{margin:2px 0}.pv-plain{margin:8px 0 0}@media (max-width:900px){.product-view{grid-template-columns:1fr}}.modal-line{align-items:baseline;display:flex;gap:12px;line-height:1.6;margin:8px 0}.modal-line strong{color:var(--color-subtext);min-width:120px}.modal-actions{border-top:1px solid var(--color-border);column-gap:16px;flex-wrap:wrap;margin-top:20px;padding-top:12px;row-gap:12px}.modal-actions .action-btn{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #02061714;border-radius:9999px;min-width:120px;overflow:hidden;padding:10px 14px;position:relative;transition:transform .12s ease,box-shadow .2s ease,color .2s ease,border-color .2s ease}.modal-actions .action-btn.edit{border-color:#0284c759;box-shadow:inset 0 0 0 2px #0284c714;color:var(--color-primary-strong)}.modal-actions .action-btn.delete{background:linear-gradient(180deg,#fff1f2,#ffe4e6);border-color:#ef444459;color:#b91c1c}.modal-actions .action-btn:before{background:linear-gradient(180deg,#e5e7eb,#e2e8f0);border-radius:inherit;content:"";inset:0;pointer-events:none;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .22s ease-in-out}.modal-actions .action-btn.edit:before{background:linear-gradient(180deg,#0284c72e,#0284c71f)}.modal-actions .action-btn.delete:before{background:linear-gradient(180deg,#ef444426,#ef44441a)}.modal-actions .action-btn:hover:before{transform:scaleX(1)}.modal-actions .action-btn:hover{box-shadow:0 8px 16px #0206171f;transform:translateY(-1px)}.timeslots-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;margin-top:24px;overflow:hidden}.timeslots-header{align-items:center;background:var(--color-bg);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:12px 14px}.timeslot-form{align-items:center;display:inline-flex;flex-wrap:wrap;gap:10px}.timeslot-form input[type=text],.timeslot-form input[type=time]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);padding:6px 10px}.timeslot-form input[type=text]:focus,.timeslot-form input[type=time]:focus{box-shadow:0 0 0 3px var(--color-ring)}.time-input{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;display:inline-flex;gap:6px;padding:6px 10px}.time-input input{background:#0000;border:none;outline:none}.text-input input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:6px 10px}.uploader-box{align-items:center;background:linear-gradient(180deg,#fff,#f8fafc);border:1.5px solid var(--color-border);border-radius:14px;cursor:pointer;display:inline-flex;gap:12px;min-height:112px;min-width:260px;padding:12px;position:relative;transition:box-shadow .2s ease,border-color .2s ease,transform .12s ease}.uploader-box:hover{border-color:#0284c773;box-shadow:0 8px 20px #02061714,0 0 0 3px #0284c714;transform:translateY(-1px)}.uploader-input{cursor:pointer;inset:0;opacity:0;position:absolute}.uploader-hint{color:var(--color-subtext);font-size:12px}.time-select{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 1px 2px #02061705;display:inline-flex;gap:8px;padding:8px 12px}.time-select:focus-within{box-shadow:0 0 0 3px var(--color-ring)}.time-select select{background:#0000;border:1px solid #0000;border-radius:8px;color:var(--color-text);height:30px;min-width:56px;padding:6px 8px}.time-select select:last-child{min-width:64px}.time-select .colon,.time-select svg,.to-sep{color:var(--color-subtext)}.to-sep{font-size:12px;padding:0 4px}.text-input input{width:200px}.btn-green{height:36px}.timeslot-form .to-sep{color:var(--color-subtext);font-size:12px}.timeslots-list{display:flex;flex-direction:column;gap:10px;padding:10px}.timeslot-item{grid-gap:12px;align-items:center;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:10px;display:grid;gap:12px;grid-template-columns:1fr auto auto;padding:10px 12px}.timeslot-title{color:var(--color-text);font-weight:700}.timeslot-time{color:var(--color-subtext);font-size:12px}.list-item:focus-visible{box-shadow:0 0 0 3px var(--color-ring);outline:none}@media (max-width:1280px){.pp-grid{grid-template-columns:1fr 1fr}}@media (max-width:900px){.pp-grid{grid-template-columns:1fr}.item-meta,.panel-search{display:none}}.pf-form{margin-top:8px}.pf-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.pf-col{gap:12px}.pf-col,.pf-field{display:flex;flex-direction:column}.pf-field{gap:6px}.pf-label{color:var(--color-subtext);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.pf-input,.pf-select,.pf-textarea{background:#f8fafc;border:1.5px solid var(--color-border);border-radius:12px;color:var(--color-text);cursor:text;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;padding:8px 10px}.pf-textarea{min-height:80px;resize:vertical}.pf-input.pf-title{font-size:16px;font-weight:600}.pf-input,.pf-textarea{box-shadow:inset 0 1px 0 #02061708;transition:box-shadow .15s ease,border-color .15s ease,background .15s ease}.pf-input:hover,.pf-textarea:hover{background:#f1f5f9;border-color:#0206172e}.pf-input:focus,.pf-textarea:focus{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-ring);outline:none}.pf-field:focus-within .pf-label{color:var(--color-primary-strong)}.pf-input::placeholder,.pf-textarea::placeholder{color:var(--color-subtext);font-size:13px;font-style:italic;opacity:.9}.pf-textarea.autosize{overflow:hidden}.pf-select-wrap{display:block}.pf-select,.pf-select-wrap{position:relative;width:100%}.pf-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:#f8fafc;border-radius:9999px;border-width:1.5px;cursor:pointer;padding-right:34px}.pf-select,.pf-select optgroup,.pf-select option{font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:14px}.pf-select optgroup,.pf-select option{color:var(--color-text)}.pf-select optgroup{color:var(--color-subtext);font-weight:600}.pf-select:hover{background:#f1f5f9;border-color:#0206172e}.pf-select:focus{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-ring);outline:none}.pf-field{position:relative}.pf-field .pf-select-arrow{color:var(--color-subtext);pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:transform .15s ease}.pf-select-wrap:focus-within .pf-select-arrow{transform:translateY(-50%) rotate(180deg)}.pf-row-inline{align-items:center;display:flex;gap:16px}.pf-check{align-items:center;color:var(--color-text);display:inline-flex;font-size:14px;gap:6px}.pf-chips{flex-wrap:wrap;gap:8px}.pf-chip,.pf-chips{display:inline-flex}.pf-chip{align-items:center;background:var(--color-bg);border:1px solid var(--color-border);border-radius:9999px;color:var(--color-text);font-size:12px;gap:6px;padding:6px 10px}.pf-chip input{accent-color:var(--color-primary)}.pf-chip.selected{border-color:var(--color-primary);box-shadow:inset 0 0 0 2px #0284c714;color:var(--color-primary-strong)}.pf-list{display:flex;flex-direction:column;gap:8px}.pf-feature-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1fr 28px}.pf-icon-btn{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;cursor:pointer;display:inline-flex;height:28px;justify-content:center;width:28px}.pf-add{background:var(--color-bg);border:1px dashed var(--color-border);border-radius:8px;color:var(--color-text);cursor:pointer;padding:6px 10px;width:max-content}.pf-gallery{display:flex;flex-direction:column;gap:10px}.pf-images{display:flex;flex-wrap:wrap;gap:8px}.pf-thumb{position:relative}.pf-thumb img{border:1px solid var(--color-border);border-radius:8px;height:72px;object-fit:cover;width:96px}.pf-thumb-actions{display:flex;gap:4px;position:absolute;right:-6px;top:-6px}.pf-thumb-promote,.pf-thumb-remove{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;cursor:pointer;display:inline-flex;height:24px;justify-content:center;width:24px}.pf-thumb-promote{border-color:#0284c759;color:var(--color-primary-strong)}.pf-uploader{justify-content:center;width:100%}.pf-times{display:flex;flex-direction:column;gap:6px}.pf-time .muted{color:var(--color-subtext)}@media (max-width:900px){.pf-grid{grid-template-columns:1fr}}.location-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;padding:1.5rem}.location-section .section-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1.5rem}.location-section .section-header h2{color:#111827;font-size:1.5rem;font-weight:700;margin:0 0 .25rem}.location-section .section-header p{color:#6b7280;font-size:.875rem;margin:0}.add-btn{align-items:center;background:#11ce3e;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1rem;transition:all .2s ease}.add-btn:hover{background:#0ea54e}.filters-container{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.filter-group{gap:.25rem}.filter-group label{color:#6b7280;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.filter-select{border:1px solid #e5e7eb;font-size:.875rem;min-width:120px;padding:.5rem .75rem}.filter-select:focus{border-color:#11ce3e;box-shadow:0 0 0 3px #11ce3e1a}.search-group{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;display:flex;flex:1 1;gap:.5rem;min-width:200px;padding:.5rem .75rem}.search-group input{background:none;border:none;color:#374151;font-size:.875rem;outline:none;width:100%}.search-group input::placeholder{color:#9ca3af}.view-toggle{border:1px solid #e5e7eb;border-radius:6px;display:flex;gap:.25rem;overflow:hidden}.view-btn{background:#fff;border:none;color:#6b7280;cursor:pointer;padding:.5rem;transition:all .2s ease}.view-btn.active{background:#11ce3e;color:#fff}.view-btn:hover:not(.active){background:#f3f4f6}.table-container{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1rem;overflow:hidden}.data-table{border-collapse:collapse;width:100%}.data-table thead{background:#f9fafb}.data-table th{border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.75rem 1rem;text-align:left;text-transform:uppercase}.data-table td{border-bottom:1px solid #f3f4f6;color:#111827;font-size:.875rem;padding:.75rem 1rem}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:#f9fafb}.status-badge{border-radius:12px;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.25rem .5rem;text-transform:uppercase}.status-badge.green{background:#11ce3e1a;color:#11ce3e}.status-badge.red{background:#ef44441a;color:#ef4444}.area-class-badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.25rem .5rem;text-transform:uppercase}.data-table tbody tr.area-class-1{background:linear-gradient(90deg,#f59e0b0d,#0000);border-left:3px solid #f59e0b}.data-table tbody tr.area-class-2{background:linear-gradient(90deg,#3b82f60d,#0000);border-left:3px solid #3b82f6}.data-table tbody tr.area-class-3{background:linear-gradient(90deg,#6b72800d,#0000);border-left:3px solid #6b7280}.data-table tbody tr.area-class-1:hover{background:linear-gradient(90deg,#f59e0b1a,#f9fafbcc)}.data-table tbody tr.area-class-2:hover{background:linear-gradient(90deg,#3b82f61a,#f9fafbcc)}.data-table tbody tr.area-class-3:hover{background:linear-gradient(90deg,#6b72801a,#f9fafbcc)}.category-badge{border-radius:12px;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.25rem .5rem;text-transform:uppercase}.category-badge.blue{background:#3b82f61a;color:#3b82f6}.category-badge.purple{background:#9333ea1a;color:#9333ea}.category-badge.yellow{background:#f59e0b1a;color:#f59e0b}.category-badge.green{background:#11ce3e1a;color:#11ce3e}.service-info{gap:.75rem}.service-icon,.service-info{align-items:center;display:flex}.service-icon{background:#11ce3e1a;border-radius:50%;color:#11ce3e;flex-shrink:0;height:32px;justify-content:center;width:32px}.service-name{color:#111827;font-weight:500;margin-bottom:.25rem}.service-description{color:#6b7280;font-size:.75rem}.duration-info{align-items:center;color:#6b7280;display:flex;gap:.25rem}.status-indicator{align-items:center;display:flex;font-size:.875rem;font-weight:500;gap:.5rem}.status-dot{border-radius:50%;height:8px;width:8px}.status-indicator.active{color:#11ce3e}.status-indicator.active .status-dot{background:#11ce3e}.status-indicator.hidden{color:#6b7280}.status-indicator.hidden .status-dot{background:#9ca3af}.action-buttons{gap:.5rem}.action-btn{background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;padding:.5rem;transition:all .2s ease}.action-btn:hover{background:#f3f4f6;color:#374151}.action-btn.edit:hover{color:#11ce3e}.action-btn.view:hover{color:#3b82f6}.action-btn.pricing:hover{color:#f59e0b}.action-btn.delete:hover{color:#ef4444}.pagination{align-items:center;display:flex;justify-content:space-between;padding:1rem 0}.pagination span{color:#6b7280;font-size:.875rem}.pagination-controls{display:flex;gap:.25rem}.pagination-btn{background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;font-size:.875rem;min-width:40px;padding:.5rem .75rem;transition:all .2s ease}.pagination-btn:hover{background:#f3f4f6;color:#374151}.pagination-btn.active{background:#11ce3e;border-color:#11ce3e;color:#fff}@media (max-width:1024px){.filters-container{align-items:stretch;flex-direction:column}.search-group{min-width:auto}.data-table{font-size:.75rem}.data-table td,.data-table th{padding:.5rem}}@media (max-width:768px){.location-section{padding:1rem}.location-section .section-header{align-items:flex-start;flex-direction:column;gap:1rem}.filters-container{gap:.75rem}.filter-select{min-width:auto}.data-table{display:block;overflow-x:auto}.pagination{align-items:center;flex-direction:column;gap:1rem}}@media (max-width:480px){.action-buttons{flex-direction:column;gap:.25rem}.service-info{align-items:flex-start;flex-direction:column;gap:.5rem}.service-icon{height:24px;width:24px}}.modal-overlay{inset:0}.modal{background:#fff;border-radius:12px;box-shadow:0 10px 25px #00000026;display:flex;flex-direction:column;max-height:95vh;overflow:hidden;width:min(1200px,95vw)}.modal-header{border-bottom:1px solid #e5e7eb;padding:1rem 1.25rem}.modal-header h3{color:#111827;font-size:1.125rem;margin:0}.close-btn{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.5rem}.modal-body{display:flex;flex-direction:column;overflow:auto;padding:1rem 1.25rem}.form-row{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.form-field{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:220px}.form-field label{color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.form-field input,.form-field select{background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#374151;font-size:.875rem;padding:.5rem .75rem}.form-field select{cursor:pointer}.form-field select:focus{border-color:#11ce3e;box-shadow:0 0 0 3px #11ce3e1a;outline:none}.checkbox{align-items:center;display:inline-flex;gap:.5rem;margin-right:1rem}.map-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.map-toolbar{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;gap:.75rem;padding:.5rem .75rem}.pill{background:#11ce3e1a;border-radius:999px;color:#11ce3e;font-size:.75rem;padding:.25rem .5rem}.map-container{flex:1 1;height:100%;min-height:500px;width:100%}.search-location-input{background:#fff;border:1px solid #e5e7eb;border-radius:9999px;flex:1 1;font-size:.875rem;max-width:480px;min-width:240px;padding:.5rem .75rem}.map-actions{display:inline-flex;gap:.5rem}.chip-btn{background:#fff;border:1px solid #e5e7eb;border-radius:9999px;color:#374151;cursor:pointer;font-size:.8rem;padding:.4rem .75rem}.chip-btn:hover{background:#f3f4f6}.gmaps-error{background:#fff7ed;border-top:1px solid #fed7aa;color:#9a3412;font-size:.85rem;padding:.5rem .75rem}.modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.btn{background:#fff;border:1px solid #0000;border-radius:8px;color:#374151;cursor:pointer;padding:.625rem 1rem}.btn-primary{background:#11ce3e;border-color:#11ce3e}.btn-primary:disabled{cursor:not-allowed;opacity:.7}.btn-secondary{border-color:#e5e7eb}.error-text{color:#ef4444;margin-top:.5rem}@media (max-width:768px){.modal{border-radius:0;height:100vh;margin:0;max-height:100vh;width:100vw}.modal-overlay{padding:0}.map-container{min-height:400px}.form-row{flex-direction:column}.form-field{min-width:auto}.map-toolbar{flex-wrap:wrap;gap:.5rem}.search-location-input{max-width:none;min-width:200px}}@media (max-width:480px){.map-container{min-height:350px}.map-toolbar{padding:.5rem}.map-actions{flex-wrap:wrap}}.team-page{background-color:#f8fafc;min-height:100vh;padding:24px}.page-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:32px;padding-bottom:24px}.header-content{flex:1 1}.page-title{color:#1e293b;font-size:32px;font-weight:700;margin:0 0 8px}.page-subtitle{color:#64748b;font-size:16px;margin:0}.btn-primary{align-items:center;background-color:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s ease}.btn-primary:hover{background-color:#2563eb;transform:translateY(-1px)}.btn-icon{height:16px;width:16px}.filters-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:24px}.search-form{margin-bottom:20px}.search-input-group{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;max-width:500px;padding:0 16px}.search-icon{color:#64748b;height:20px;margin-right:12px;width:20px}.search-input{background:#0000;border:none;flex:1 1;font-size:14px;outline:none;padding:12px 0}.search-input::placeholder{color:#94a3b8}.search-btn{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;margin-left:12px;padding:8px 16px}.search-btn:hover{background:#2563eb}.filters-row{display:flex;flex-wrap:wrap;gap:24px}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group label{color:#374151;font-size:14px;font-weight:600}.filter-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;min-width:180px;padding:10px 12px}.filter-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.teams-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.teams-table{width:100%}.table-header{background:#f8fafc;border-bottom:1px solid #e2e8f0}.header-row{grid-gap:16px;color:#374151;display:grid;font-size:14px;font-weight:600;gap:16px;grid-template-columns:2fr 1.5fr 1fr 1.5fr 1fr 1fr 1.5fr 120px;padding:16px 24px}.table-body{max-height:600px;overflow-y:auto}.table-row{grid-gap:16px;border-bottom:1px solid #f1f5f9;display:grid;gap:16px;grid-template-columns:2fr 1.5fr 1fr 1.5fr 1fr 1fr 1.5fr 120px;padding:20px 24px;transition:background-color .2s ease}.team-row:hover{background-color:#f8fafc}.col-team-info{gap:4px}.col-team-info,.team-basic-info{display:flex;flex-direction:column}.team-basic-info{gap:2px}.team-id{background:#eff6ff;border-radius:4px;color:#3b82f6;font-size:12px;font-weight:600;padding:2px 8px;width:fit-content}.team-name{color:#1e293b;font-size:16px;font-weight:600}.team-username{color:#64748b;font-size:12px}.col-contact{gap:8px}.col-contact,.contact-info{display:flex;flex-direction:column}.contact-info{gap:6px}.contact-item{align-items:center;color:#64748b;display:flex;font-size:13px;gap:8px}.contact-icon{color:#94a3b8;height:14px;width:14px}.col-location,.location-info{align-items:center;display:flex;gap:8px}.location-icon{color:#64748b;height:16px;width:16px}.coordinates{color:#64748b;font-size:12px;line-height:1.3}.col-area{gap:4px}.area-assignment,.col-area{display:flex;flex-direction:column}.area-assignment{gap:2px}.area-name{font-size:14px}.area-city{font-size:12px}.assignment-date{color:#94a3b8;font-size:11px}.no-assignment{color:#94a3b8;font-size:12px;font-style:italic}.col-members{gap:6px}.col-members,.members-info{display:flex;flex-direction:column}.members-info{gap:4px}.member-count{align-items:center;color:#64748b;display:flex;font-size:13px;gap:6px}.member-icon{color:#94a3b8;height:14px;width:14px}.leader-info{font-size:12px}.leader-name{color:#059669;font-weight:500}.no-leader{color:#94a3b8;font-style:italic}.col-performance{display:flex;flex-direction:column;gap:6px}.performance-stats{display:flex;flex-direction:column;gap:4px}.stat-item{align-items:center;color:#64748b;display:flex;font-size:12px;gap:6px}.stat-icon{color:#94a3b8;height:12px;width:12px}.col-status{display:flex;flex-direction:column;gap:6px}.status-badge{align-items:center;border-radius:6px;display:flex;font-size:12px;font-weight:500;gap:6px;padding:4px 8px;width:fit-content}.status-badge.success{background:#dcfce7;color:#166534}.status-badge.danger{background:#fef2f2;color:#dc2626}.status-badge.info{background:#dbeafe;color:#2563eb}.status-badge.secondary{background:#f1f5f9;color:#64748b}.status-icon{height:12px;width:12px}.last-login{color:#94a3b8;font-size:11px}.col-actions{align-items:center;display:flex}.action-buttons{display:flex;gap:8px}.btn-action{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.btn-action:hover{background:#f8fafc;border-color:#cbd5e1}.view-btn:hover{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.edit-btn:hover{background:#fef3c7;border-color:#f59e0b;color:#f59e0b}.more-btn:hover{background:#f1f5f9;border-color:#94a3b8;color:#64748b}.action-icon{height:14px;width:14px}.empty-state,.error-state,.loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 24px;text-align:center}.loading-spinner{border:3px solid #e2e8f0;border-top-color:#3b82f6;height:32px;margin-bottom:16px;width:32px}.empty-icon,.error-icon{color:#ef4444;height:48px;margin-bottom:16px;width:48px}.empty-icon{color:#94a3b8}.btn-secondary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.btn-secondary:hover{background:#f1f5f9;border-color:#cbd5e1}.empty-subtitle{color:#94a3b8;font-size:14px;margin-top:4px}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:24px;position:fixed;right:0;top:0;z-index:1000}.modal-content{border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:800px;width:100%}.area-assignment-modal,.modal-content{background:#fff;display:flex;flex-direction:column;overflow:hidden}.area-assignment-modal{box-shadow:none}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:24px}.modal-header h2{color:#1e293b;font-size:20px;font-weight:600;margin:0}.modal-close{background:none;border:none;border-radius:4px;color:#64748b;cursor:pointer;font-size:24px;padding:4px}.modal-close:hover{background:#f1f5f9;color:#374151}.modal-body{flex:1 1;max-height:calc(100vh - 140px);overflow-y:auto;padding:24px}.team-details-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr}.detail-section{display:flex;flex-direction:column;gap:16px}.detail-section h3{border-bottom:1px solid #e2e8f0;color:#1e293b;font-size:16px;font-weight:600;margin:0;padding-bottom:8px}.detail-item{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.detail-item label{color:#64748b;font-size:14px;font-weight:500}.detail-item span{color:#1e293b;font-size:14px}.member-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:16px}.member-info{align-items:center;display:flex;justify-content:space-between}.member-name{color:#1e293b;font-size:14px;font-weight:600}.member-role{background:#3b82f6;border-radius:4px;color:#fff;font-size:11px;font-weight:500;padding:2px 8px}.member-contact{color:#64748b;font-size:12px;line-height:1.4}.member-joined{color:#94a3b8;font-size:11px}.no-members{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#94a3b8;font-style:italic;padding:20px;text-align:center}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.stat-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;text-align:center}.stat-value{color:#1e293b;font-size:24px;font-weight:700;margin-bottom:4px}.stat-label{color:#64748b;font-size:12px;font-weight:500}.modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;padding:24px}@media (max-width:1200px){.header-row,.table-row{grid-template-columns:2fr 1.5fr 1fr 1.5fr 1fr 1fr 1.5fr 100px}}@media (max-width:1024px){.team-page{padding:16px}.page-header{align-items:stretch}.filters-row,.page-header{flex-direction:column;gap:16px}.filter-select{min-width:100%}.header-row,.table-row{gap:8px;grid-template-columns:1fr}.col-actions,.col-area,.col-contact,.col-location,.col-members,.col-performance,.col-status,.col-team-info{grid-column:1}.stats-grid,.team-details-grid{grid-template-columns:1fr}}.area-assignment-modal{border-radius:0;height:100vh;margin:0;max-height:100vh;max-width:100vw;width:100vw}.team-info-section{margin-bottom:32px}.team-info-section h3{border-bottom:1px solid #e2e8f0;color:#1e293b;font-size:16px;font-weight:600;margin:0 0 16px;padding-bottom:8px}.team-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:12px;padding:16px}.team-detail{align-items:center;display:flex;justify-content:space-between}.team-detail label{color:#64748b;font-size:14px;font-weight:500}.team-detail span{color:#1e293b;font-size:14px;font-weight:500}.area-selection-section h3{border-bottom:1px solid #e2e8f0;color:#1e293b;font-size:16px;font-weight:600;margin:0 0 20px;padding-bottom:8px}.areas-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));max-height:none;overflow-y:visible}.area-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;padding:16px;transition:all .2s ease}.area-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626;transform:translateY(-2px)}.area-card-header{align-items:center;display:flex;gap:12px;margin-bottom:12px}.area-icon{color:#3b82f6;height:20px;width:20px}.area-info{flex:1 1}.area-name{color:#1e293b;font-size:16px;font-weight:600;margin-bottom:2px}.area-city{color:#64748b;font-size:14px}.area-details{align-items:center;display:flex;justify-content:space-between}.area-class-badge{border-radius:6px;font-size:12px;font-weight:500;padding:4px 8px}.area-class-badge.class-1{background:#dcfce7;color:#166534}.area-class-badge.class-2{background:#fef3c7;color:#d97706}.area-class-badge.class-3{background:#fef2f2;color:#dc2626}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.active,.status-badge.inactive{border-radius:6px;font-size:12px;font-weight:500;padding:4px 8px}.status-badge.inactive{background:#f1f5f9;color:#64748b}.no-areas{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.no-areas-icon{color:#94a3b8;height:48px;margin-bottom:16px;width:48px}.no-areas p{color:#64748b;font-size:16px;margin:0 0 8px}.no-areas-subtitle{color:#94a3b8!important;font-size:14px!important}.btn-assign-area-primary{align-items:center;background:#f59e0b;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;margin-top:8px;padding:12px 20px;transition:all .2s ease;width:100%}.btn-assign-area-primary:hover{background:#d97706;box-shadow:0 4px 12px #f59e0b4d;transform:translateY(-1px)}.btn-assign-area-small{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:6px;justify-content:center;margin-top:8px;padding:8px 16px;transition:all .2s ease;width:100%}.btn-assign-area-small:hover{background:#2563eb;transform:translateY(-1px)}.btn-assign-area-primary .btn-icon,.btn-assign-area-small .btn-icon{height:16px;width:16px}.assignment-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;display:flex;flex-direction:column;justify-content:center;margin-bottom:20px;padding:20px;text-align:center}.assignment-error .error-icon{color:#dc2626;height:24px;margin-bottom:8px;width:24px}.assignment-error p{color:#dc2626;font-size:14px;margin:0 0 12px}.btn-retry{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:8px 16px;transition:all .2s ease}.btn-retry:hover{background:#b91c1c}.loading-areas{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.loading-areas .loading-spinner{animation:spin 1s linear infinite;border:2px solid #e2e8f0;border-radius:50%;border-top-color:#3b82f6;height:24px;margin-bottom:12px;width:24px}.loading-areas p{color:#64748b;font-size:14px;margin:0}.area-card.disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.area-id{color:#94a3b8;font-family:monospace;font-size:11px}.area-coordinates{color:#64748b;font-size:11px;margin-bottom:8px}.assigning-overlay{align-items:center;background:#ffffffe6;border-radius:12px;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.assigning-spinner{animation:spin 1s linear infinite;border:2px solid #e2e8f0;border-radius:50%;border-top-color:#3b82f6;height:20px;margin-bottom:8px;width:20px}.assigning-overlay span{color:#3b82f6;font-size:12px;font-weight:500}@media (max-width:768px){.modal-content{border-radius:0;margin:0;max-height:100vh}.modal-overlay{padding:0}.areas-grid{gap:16px;grid-template-columns:1fr}.team-summary{padding:12px}.team-detail{align-items:flex-start;flex-direction:column;gap:4px}.area-assignment-modal{height:100vh;width:100vw}}.login-container{align-items:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);display:flex;font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;border-radius:24px;box-shadow:0 25px 50px -12px #00000014;max-width:420px;overflow:hidden;padding:48px;position:relative;width:100%}.login-card:before{background:linear-gradient(90deg,#11ce3e,#10b981);content:"";height:4px;left:0;position:absolute;right:0;top:0}.logo-section{margin-bottom:40px;text-align:center}.logo-container{gap:12px;margin-bottom:24px}.hand-icon,.logo-container{align-items:center;display:flex;justify-content:center}.hand-icon{background:#11ce3e1a;border:2px solid #11ce3e33;border-radius:12px;height:48px;width:48px}.logo-text{font-size:28px;font-weight:700;letter-spacing:-.5px}.logo-o,.logo-text{align-items:center;display:flex}.logo-o{border:3px solid #11ce3e;border-radius:50%;color:#11ce3e;font-size:32px;font-weight:800;height:40px;justify-content:center;margin-right:4px;width:40px}.logo-rest{color:#1f2937;font-weight:600}.welcome-text{color:#1f2937;font-size:32px;font-weight:700;letter-spacing:-.5px;margin:0 0 8px}.subtitle{color:#6b7280;font-size:16px;font-weight:400;margin:0}.login-form{margin-bottom:24px}.error-message{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:14px;font-weight:500;gap:8px;margin-bottom:20px;padding:12px 16px}.error-message:before{content:"⚠️";font-size:16px}.demo-hint{background:#11ce3e0d;border:1px solid #11ce3e33;border-radius:8px;margin-top:24px;padding:16px;text-align:center}.demo-hint p{color:#059669;font-size:14px;font-weight:500;margin:0}.demo-hint strong{color:#11ce3e;font-weight:600}.input-group{margin-bottom:20px}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:#9ca3af;left:16px;position:absolute;z-index:1}.form-input{background:#fff;border:2px solid #e5e7eb;border-radius:12px;color:#1f2937;font-size:16px;font-weight:500;outline:none;padding:16px 16px 16px 48px;transition:all .2s ease;width:100%}.form-input::placeholder{color:#9ca3af;font-weight:400}.form-input:focus{border-color:#11ce3e;box-shadow:0 0 0 3px #11ce3e1a}.form-input:focus+.input-icon{color:#11ce3e}.password-toggle{background:none;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;padding:4px;position:absolute;right:16px;transition:all .2s ease}.password-toggle:hover{background:#11ce3e1a;color:#11ce3e}.form-options{align-items:center;display:flex;font-size:14px;justify-content:space-between;margin-bottom:24px}.checkbox-container{align-items:center;color:#6b7280;cursor:pointer;display:flex;font-weight:500;gap:8px}.checkbox-input{display:none}.checkmark{border:2px solid #d1d5db;border-radius:4px;height:18px;position:relative;transition:all .2s ease;width:18px}.checkbox-input:checked+.checkmark{background:#11ce3e;border-color:#11ce3e}.checkbox-input:checked+.checkmark:after{color:#fff;content:"✓";font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.forgot-password{color:#11ce3e;font-weight:500;text-decoration:none;transition:color .2s ease}.forgot-password:hover{color:#059669}.login-button{background:linear-gradient(135deg,#11ce3e,#10b981);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;overflow:hidden;padding:16px;position:relative;transition:all .2s ease;width:100%}.login-button:hover:not(:disabled){box-shadow:0 10px 25px -5px #11ce3e4d;transform:translateY(-1px)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.7}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;margin:0 auto;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.footer-text{color:#6b7280;font-size:14px;margin-top:24px;text-align:center}.footer-text p{margin:0}.link{color:#11ce3e;font-weight:500;text-decoration:none;transition:color .2s ease}.link:hover{color:#059669}@media (max-width:480px){.login-card{margin:16px;padding:32px 24px}.welcome-text{font-size:28px}.logo-text{font-size:24px}.logo-o{font-size:28px;height:36px;width:36px}}.login-card{animation:slideUp .6s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.form-input:focus,.login-button:focus,.password-toggle:focus{outline:2px solid #11ce3e;outline-offset:2px}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8fafc;background:var(--color-bg,#f8fafc);font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.App{min-height:100vh;width:100%}button,input{font-family:inherit}:focus{outline:none}html{scroll-behavior:smooth}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#0ea5e9;color:var(--color-primary,#0ea5e9)}:root{--color-bg:#f8fafc;--color-surface:#fff;--color-border:#eef2f7;--color-muted:#94a3b8;--color-text:#0f172a;--color-subtext:#334155;--color-primary:#0ea5e9;--color-primary-strong:#0284c7;--color-accent:#eff6ff;--color-success:#16a34a;--color-on-success:#fff;--color-ring:#0ea5e940}[data-theme=dark]{--color-bg:#0b1220;--color-surface:#0f172a;--color-border:#1f2937;--color-muted:#94a3b8;--color-text:#e2e8f0;--color-subtext:#cbd5e1;--color-primary:#38bdf8;--color-primary-strong:#0ea5e9;--color-accent:#0b2942;--color-success:#16a34a;--color-on-success:#fff;--color-ring:#38bdf840}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.8e412f86.css.map*/