:root{--primary: #111827;--secondary: #6B7280;--bg: #FFFFFF;--text: #111827;--accent: #3B82F6}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background-color:var(--bg);color:var(--text)}.admin-layout{display:flex;min-height:100vh}.admin-layout .sidebar{width:250px;background:var(--primary);color:#fff;position:fixed;height:100vh;overflow-y:auto}@media(max-width:768px){.admin-layout .sidebar{display:none}}.admin-layout .sidebar .sidebar-header{padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.admin-layout .sidebar .sidebar-header h3{margin:0;font-size:1.25rem;font-weight:600}.admin-layout .sidebar .sidebar-header .business-name{font-size:.875rem;opacity:.7;margin-top:.25rem}.admin-layout .sidebar .sidebar-nav{padding:1rem 0}.admin-layout .sidebar .sidebar-nav .nav-item a{display:flex;align-items:center;padding:.75rem 1.5rem;color:#fffc;text-decoration:none;transition:all .2s}.admin-layout .sidebar .sidebar-nav .nav-item a i{margin-right:.75rem;width:20px}.admin-layout .sidebar .sidebar-nav .nav-item a:hover,.admin-layout .sidebar .sidebar-nav .nav-item a.active{background:#ffffff1a;color:#fff}.admin-layout .sidebar .sidebar-nav .nav-item a.active{border-left:3px solid var(--accent)}.admin-layout .main-content{flex:1;margin-left:250px;background:#f8f9fa}@media(max-width:768px){.admin-layout .main-content{margin-left:0}}.admin-layout .main-content .topbar{background:#fff;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.admin-layout .main-content .topbar .page-title{font-size:1.5rem;font-weight:600;margin:0}.admin-layout .main-content .topbar .topbar-actions{display:flex;gap:.5rem}.admin-layout .main-content .page-content{padding:1.5rem}.stat-card{background:#fff;border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.stat-card .stat-label{font-size:.875rem;color:#6b7280;margin-bottom:.5rem}.stat-card .stat-value{font-size:2rem;font-weight:700;color:var(--primary)}.public-site{min-height:100vh;background:var(--bg, #fff);color:var(--text, #111827)}.public-site .site-header{background:var(--primary, #111827);color:#fff;padding:1rem}.public-site .site-header .business-logo{max-height:60px;border-radius:.5rem}.public-site .site-header .business-name{font-size:1.5rem;font-weight:600;margin:0}.public-site .site-hero{background:var(--primary, #111827);color:#fff;padding:3rem 1rem;text-align:center}.public-site .site-hero h1{font-size:2rem;font-weight:700;margin-bottom:1rem}.public-site .site-hero p{font-size:1.125rem;opacity:.9}.public-site .site-btn-primary{background:var(--primary, #111827);border-color:var(--primary, #111827);color:#fff;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;text-decoration:none;display:inline-block;transition:all .2s}.public-site .site-btn-primary:hover{opacity:.9;color:#fff}.public-site .site-btn-secondary{background:transparent;border:2px solid var(--primary, #111827);color:var(--primary, #111827);padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;text-decoration:none;display:inline-block;transition:all .2s}.public-site .site-btn-secondary:hover{background:var(--primary, #111827);color:#fff}.public-site .site-section{padding:2rem 1rem}.public-site .site-section .section-title{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;color:var(--primary, #111827);text-align:center}.public-site .service-card,.public-site .product-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.25rem;margin-bottom:1rem;transition:all .2s}.public-site .service-card:hover,.public-site .product-card:hover{box-shadow:0 4px 6px #0000001a}.public-site .service-card h4,.public-site .product-card h4{font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.public-site .service-card .price,.public-site .product-card .price{font-size:1.25rem;font-weight:700;color:var(--primary, #111827)}.public-site .service-card .duration,.public-site .product-card .duration{font-size:.875rem;color:#6b7280}.public-site .review-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.25rem;margin-bottom:1rem}.public-site .review-card .review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.public-site .review-card .review-header .customer-name{font-weight:600}.public-site .review-card .review-header .rating{color:#f59e0b}.public-site .review-card .comment{color:#4b5563}.public-site .site-footer{background:var(--primary, #111827);color:#fff;padding:2rem 1rem;text-align:center}.public-site .site-footer .powered-by{font-size:.875rem;opacity:.7}.booking-flow{max-width:500px;margin:0 auto;padding:1rem}.booking-flow .step-indicator{display:flex;justify-content:center;margin-bottom:2rem}.booking-flow .step-indicator .step{width:10px;height:10px;border-radius:50%;background:#e5e7eb;margin:0 .25rem}.booking-flow .step-indicator .step.active{background:var(--primary, #111827)}.booking-flow .step-indicator .step.completed{background:#10b981}.booking-flow .service-option,.booking-flow .time-slot{background:#fff;border:2px solid #e5e7eb;border-radius:.75rem;padding:1rem;margin-bottom:.75rem;cursor:pointer;transition:all .2s}.booking-flow .service-option:hover,.booking-flow .time-slot:hover{border-color:var(--primary, #111827)}.booking-flow .service-option.selected,.booking-flow .time-slot.selected{border-color:var(--primary, #111827);background:#1118270d}.booking-flow .time-slot{display:inline-block;margin:.25rem;min-width:70px;text-align:center}.app-datatable{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a}.app-datatable__header{padding:1rem;border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.app-datatable__search-wrapper{flex:1;min-width:200px;max-width:400px}.app-datatable__search{position:relative}.app-datatable__search .search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.app-datatable__search input{width:100%;padding:.5rem .75rem .5rem 2.25rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.app-datatable__search input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.app-datatable__search input::placeholder{color:#9ca3af}.app-datatable__controls{display:flex;align-items:center;gap:.75rem}.app-datatable__table-wrapper{overflow-x:auto}@media(max-width:768px){.app-datatable__table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}}.app-datatable__table{width:100%;border-collapse:collapse;font-size:.875rem}.app-datatable__table thead{background:#f9fafb}.app-datatable__table thead th{padding:.75rem 1rem;text-align:left;font-weight:600;color:#374151;border-bottom:1px solid #e5e7eb;white-space:nowrap}.app-datatable__table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s}.app-datatable__table thead th.sortable:hover{background:#f3f4f6}.app-datatable__table thead th.sorted{color:#3b82f6}.app-datatable__table thead th .sort-icon{margin-left:.25rem;opacity:.5}.app-datatable__table thead th .sort-icon.active{opacity:1}.app-datatable__table tbody tr{transition:background-color .15s}.app-datatable__table tbody tr:hover{background:#f9fafb}.app-datatable__table tbody tr:last-child td{border-bottom:none}.app-datatable__table tbody td{padding:.75rem 1rem;border-bottom:1px solid #e5e7eb;color:#4b5563;vertical-align:middle}.app-datatable__empty{text-align:center;padding:3rem 1rem;color:#6b7280}.app-datatable__empty .empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.app-datatable__empty .empty-title{font-size:1rem;font-weight:600;margin-bottom:.5rem;color:#374151}.app-datatable__empty .empty-text{font-size:.875rem}.app-datatable__loading{text-align:center;padding:3rem 1rem;color:#6b7280}.app-datatable__loading .spinner{display:inline-block;width:2rem;height:2rem;border:2px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:app-datatable-spin .8s linear infinite;margin-bottom:1rem}.app-datatable__footer{padding:1rem;border-top:1px solid #e5e7eb;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}@media(max-width:576px){.app-datatable__footer{flex-direction:column;align-items:stretch}}.app-datatable__info{font-size:.875rem;color:#6b7280}@media(max-width:576px){.app-datatable__info{text-align:center}}.app-datatable__pagination{display:flex;align-items:center;gap:.5rem}@media(max-width:576px){.app-datatable__pagination{justify-content:center}}.app-datatable__per-page{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#6b7280}.app-datatable__per-page select{padding:.25rem .5rem;border:1px solid #d1d5db;border-radius:.25rem;font-size:.875rem;background:#fff;cursor:pointer}.app-datatable__per-page select:focus{outline:none;border-color:#3b82f6}.app-datatable .badge{display:inline-flex;align-items:center;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:.25rem}.app-datatable .badge.bg-success{background-color:#d1fae5;color:#065f46}.app-datatable .badge.bg-secondary{background-color:#f3f4f6;color:#4b5563}.app-datatable .badge.bg-warning{background-color:#fef3c7;color:#92400e}.app-datatable .badge.bg-danger{background-color:#fee2e2;color:#991b1b}.app-datatable .actions{display:flex;gap:.25rem;white-space:nowrap}@keyframes app-datatable-spin{to{transform:rotate(360deg)}}__table--reorderable tbody tr{cursor:default}__drag-column{width:40px;background:#f9fafb}__drag-cell{background:#f9fafb;width:40px;text-align:center;cursor:grab;-webkit-user-select:none;user-select:none}__drag-handle{cursor:grab;color:#9ca3af;font-size:1.1rem}__drag-handle:hover{color:#6b7280}__drag-handle:active{cursor:grabbing}__row-ghost{opacity:.4;background:#f3f4f6}__row-chosen{background:#f9fafb}__row-drag{background:#fff;box-shadow:0 4px 12px #00000026}
