@import"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}#root{width:100%;height:100vh;overflow:hidden;overscroll-behavior:none}.booking-calendar{display:flex;flex-direction:column;height:100vh;background:linear-gradient(135deg,#f5f7fa,#e4e8ec);font-family:Roboto,system-ui,-apple-system,sans-serif}.calendar-header{display:flex;flex-direction:column;background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 8px #0000000d;z-index:100}.header-row{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;gap:16px}.header-row-actions{background:#f8fafc;border-bottom:1px solid #e5e7eb;padding:8px 20px}.header-row-navigation{padding:12px 20px}.header-row-left,.header-row-center{display:flex;align-items:center;gap:8px}.header-row-right{display:flex;align-items:center;gap:12px}.app-branding{display:flex;align-items:center;gap:8px}.app-logo{width:28px;height:28px}.app-name{font-size:18px;font-weight:700;color:#1e40af;letter-spacing:-.5px}.header-divider{width:1px;height:24px;background:#e5e7eb;margin:0 8px}.calendar-title{font-size:18px;font-weight:600;margin:0;color:#374151;white-space:nowrap}.demo-badge{background:#fef3c7;color:#92400e;padding:4px 12px;border-radius:16px;font-size:12px;font-weight:600}.calendar-switcher{position:relative}.calendar-select{appearance:none;background:#fff;color:#1f2937;border:1px solid #d1d5db;padding:8px 36px 8px 12px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;min-width:180px;transition:all .2s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.calendar-select:hover{border-color:#1d4ed8;background-color:#f9fafb}.calendar-select:focus{outline:none;border-color:#1d4ed8;box-shadow:0 0 0 3px #1d4ed81a}.calendar-select option{background:#fff;color:#1f2937;padding:12px}.subscription-badge{padding:4px 12px;border-radius:16px;font-size:12px;font-weight:600;text-transform:capitalize}.subscription-badge[data-level=personal]{background:#e0e7ff;color:#3730a3}.subscription-badge[data-level=plus]{background:#dbeafe;color:#1d4ed8}.subscription-badge[data-level=team]{background:#d1fae5;color:#047857}.subscription-badge[data-level=enterprise]{background:#fae8ff;color:#7e22ce}.calendar-header-center{display:flex;align-items:center;gap:12px}.nav-button{width:36px;height:36px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.nav-button:hover{background:#f5f5f5;border-color:#1d4ed8}.nav-button svg{width:20px;height:20px;color:#666}.today-button{padding:8px 16px;border:1px solid #1d4ed8;border-radius:8px;background:#fff;color:#1d4ed8;font-weight:600;cursor:pointer;transition:all .2s}.today-button:hover{background:#1d4ed8;color:#fff}.current-date{font-size:16px;font-weight:500;color:#333;min-width:200px}.calendar-header-right{display:flex;align-items:center;gap:16px}.resource-filter{display:flex;align-items:center}.resource-select{padding:8px 32px 8px 12px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;color:#333;font-size:14px;font-weight:500;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;min-width:150px;transition:all .2s}.resource-select:hover{border-color:#1d4ed8}.resource-select:focus{outline:none;border-color:#1d4ed8;box-shadow:0 0 0 3px #1d4ed81a}.view-toggle{display:flex;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.view-button{padding:6px 12px;border:none;background:#fff;color:#666;cursor:pointer;font-weight:500;font-size:13px;transition:all .2s}.view-button:not(:last-child){border-right:1px solid #e0e0e0}.view-button:hover{background:#f5f5f5}.view-button.active{background:#1d4ed8;color:#fff}.action-button{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-weight:500;font-size:13px;cursor:pointer;transition:all .2s;white-space:nowrap}.action-button svg{flex-shrink:0}.action-button-outline{background:#fff;color:#1d4ed8;border:1px solid #1d4ed8}.action-button-outline:hover{background:#eff6ff}.action-button-subtle{background:#fff;color:#6b7280;border:1px solid #d1d5db}.action-button-subtle:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151}.action-button-primary{background:#3b82f6;color:#fff;border:none}.action-button-primary:hover{background:#2563eb}.action-button-success{background:#10b981;color:#fff;border:none}.action-button-success:hover{background:#059669}.settings-button{width:36px;height:36px;border:1px solid #e0e0e0;border-radius:6px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.settings-button:hover{background:#f5f5f5;border-color:#1d4ed8}.settings-button svg{color:#666}.settings-button:hover svg{color:#1d4ed8}.calendar-content{flex:1;overflow:auto;position:relative}.week-view{height:100%;display:flex;flex-direction:column}.week-header{display:grid;grid-template-columns:60px repeat(7,1fr);background:#fff;border-bottom:1px solid #e0e0e0;position:sticky;top:0;z-index:10}.time-column-header{padding:12px}.day-header{padding:12px;text-align:center;border-left:1px solid #e0e0e0}.day-header.today{background:#eff6ff}.day-name{display:block;font-size:12px;color:#666;text-transform:uppercase;margin-bottom:4px}.day-number{display:block;font-size:24px;font-weight:600;color:#333}.day-header.today .day-number{color:#1d4ed8}.week-grid{flex:1;display:grid;grid-template-columns:60px repeat(7,1fr);overflow-y:auto}.time-column{background:#fafafa;border-right:1px solid #e0e0e0}.time-label{height:30px;padding:0 8px;font-size:11px;color:#666;text-align:right;line-height:30px}.day-column{border-left:1px solid #e0e0e0;position:relative}.day-column.today{background:#1d4ed805}.time-slot{height:30px;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background .2s}.time-slot:hover{background:#1d4ed80d}.booking-item{position:absolute;left:4px;right:4px;padding:4px 8px;border-radius:6px;color:#fff;font-size:11px;overflow:hidden;cursor:pointer;z-index:5;box-shadow:0 2px 4px #0000001a;transition:transform .2s,box-shadow .2s}.booking-item:hover{transform:scale(1.02);box-shadow:0 4px 8px #0003;z-index:10}.booking-item .booking-time{display:block;font-weight:600;font-size:10px;opacity:.9}.booking-item .booking-title{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-item .booking-customer{display:block;font-size:10px;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-view{padding:20px}.day-view-header h2{margin:0 0 20px;font-size:20px;color:#333}.day-view-grid{background:#fff;border-radius:12px;border:1px solid #e0e0e0;overflow:hidden}.day-time-row{display:flex;border-bottom:1px solid #f0f0f0}.day-time-row:last-child{border-bottom:none}.day-time-label{width:80px;padding:12px;font-size:12px;color:#666;background:#fafafa;border-right:1px solid #e0e0e0}.day-time-slot{flex:1;min-height:60px;padding:8px;cursor:pointer;transition:background .2s}.day-time-slot:hover{background:#1d4ed80d}.day-booking-item{padding:12px;border-radius:8px;color:#fff;margin-bottom:8px;cursor:pointer;box-shadow:0 2px 4px #0000001a;transition:transform .2s}.day-booking-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003}.day-booking-item .booking-title{display:block;font-weight:600;font-size:14px;margin-bottom:4px}.day-booking-item .booking-details{display:block;font-size:13px;opacity:.9}.day-booking-item .booking-duration{display:block;font-size:12px;opacity:.8;margin-top:4px}.month-view{padding:20px}.month-header{display:grid;grid-template-columns:repeat(7,1fr);background:#fff;border-radius:12px 12px 0 0;border:1px solid #e0e0e0;border-bottom:none}.month-day-header{padding:12px;text-align:center;font-size:12px;font-weight:600;color:#666;text-transform:uppercase}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);background:#fff;border-radius:0 0 12px 12px;border:1px solid #e0e0e0}.month-day{min-height:100px;padding:8px;border-right:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background .2s}.month-day:nth-child(7n){border-right:none}.month-day:nth-last-child(-n+7){border-bottom:none}.month-day.clickable:hover{background:#1d4ed814}.month-day.clickable:active{background:#1d4ed826}.month-day.other-month{background:#fafafa;color:#ccc;cursor:default}.month-day.today{background:#eff6ff}.month-day-number{font-size:14px;font-weight:500;color:#333}.month-day.today .month-day-number{color:#1d4ed8;font-weight:700}.booking-count{display:block;margin-top:8px;font-size:11px;color:#1d4ed8;background:#eff6ff;padding:2px 6px;border-radius:4px}.placeholder-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}.placeholder-content{background:#fff;padding:40px 60px;border-radius:16px;box-shadow:0 10px 40px #0000001a;pointer-events:auto}.placeholder-icon{font-size:64px;margin-bottom:16px}.placeholder-content h2{margin:0 0 12px;font-size:24px;color:#1e40af}.placeholder-content p{margin:0 0 8px;color:#666;font-size:14px}.placeholder-hint{color:#999!important;font-style:italic}.placeholder-demo-note{margin-top:16px!important;padding-top:16px;border-top:1px solid #e0e0e0;color:#f59e0b!important}.calendar-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;gap:16px;color:#666}.loading-spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#1d4ed8;border-radius:50%;animation:spin 1s linear infinite}.calendar-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;gap:16px;color:#dc2626;text-align:center;padding:20px}.calendar-error button{padding:10px 20px;background:#1d4ed8;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s}.calendar-error button:hover{background:#1e40af}@media(max-width:1100px){.action-button .action-label{display:none}.action-button{padding:6px 8px}.current-date{font-size:14px}.app-name{display:none}.header-divider{margin:0 4px}}@media(max-width:900px){.header-row{padding:8px 16px}.calendar-select{min-width:140px;font-size:14px;padding:6px 28px 6px 10px}.resource-select{min-width:100px;font-size:13px}.view-button{padding:6px 10px}}@media(max-width:768px){.header-row{padding:8px 12px;gap:8px}.header-row-actions{flex-wrap:wrap}.header-row-center{order:-1;width:100%;justify-content:center;display:none}.calendar-title{font-size:16px}.calendar-select{min-width:120px;font-size:13px}.current-date{font-size:13px}.today-button{padding:5px 10px;font-size:12px}.nav-button{width:30px;height:30px}.resource-select{display:none}.view-button{padding:5px 8px;font-size:12px}.settings-button{width:32px;height:32px}.week-header,.week-grid{grid-template-columns:40px repeat(7,1fr)}.day-name{font-size:10px}.day-number{font-size:16px}.placeholder-content{padding:24px;margin:0 16px}.placeholder-icon{font-size:48px}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#1d4ed8,#2563eb);padding:20px;position:relative}.loading-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);z-index:1000;animation:fadeIn .2s ease}.login-box{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:60px 50px;box-shadow:0 20px 60px #0000004d;max-width:450px;width:100%;text-align:center}.login-title{font-size:48px;font-weight:700;margin:0 0 10px;background:linear-gradient(135deg,#1d4ed8,#2563eb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-subtitle{font-size:16px;color:#666;margin:0 0 40px;font-style:italic}.login-error{background:#fee;color:#c33;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px;border:1px solid #fcc}.login-success{background:#e7f7e7;color:#2d7a4d;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px;border:1px solid #a8e6a8}.login-options{display:flex;flex-direction:column;gap:12px;margin-bottom:30px}.login-divider{display:flex;align-items:center;text-align:center;color:#999;font-size:14px;margin:8px 0}.login-divider:before,.login-divider:after{content:"";flex:1;border-bottom:1px solid #ddd}.login-divider span{padding:0 12px}.login-button{padding:14px 24px;font-size:15px;font-weight:600;border:none;border-radius:10px;cursor:pointer;transition:all .3s ease;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;position:relative}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-icon{width:20px;height:20px;flex-shrink:0}.demo-button{background:linear-gradient(135deg,#1d4ed8,#2563eb);color:#fff;font-size:16px;padding:16px 32px}.demo-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.demo-button:active{transform:translateY(0)}.cognito-button{background:#1d4ed8;color:#fff}.cognito-button:hover:not(:disabled){background:#5568d3;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.social-button{background:#fff;color:#333;border:1.5px solid #ddd}.social-button:hover:not(:disabled){background:#fafafa;border-color:#ccc;transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.google-button:hover:not(:disabled){border-color:#4285f4}.apple-button:hover:not(:disabled){border-color:#000}.facebook-button:hover:not(:disabled){border-color:#1877f2}.secondary-button{background:transparent;color:#1d4ed8;border:2px solid #1d4ed8}.secondary-button:hover:not(:disabled){background:#f8f9ff;transform:translateY(-1px)}.secondary-button:active{transform:translateY(0)}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-input{padding:14px 16px;font-size:15px;border:2px solid #e0e0e0;border-radius:10px;width:100%;box-sizing:border-box;transition:border-color .3s ease;font-family:inherit}.auth-input:focus{outline:none;border-color:#1d4ed8}.auth-input:disabled{background:#f5f5f5;cursor:not-allowed}.auth-buttons{display:flex;flex-direction:column;gap:10px;margin-top:8px}.auth-link{text-align:center;margin-top:16px;font-size:14px;color:#666}.link-button{background:none;border:none;color:#1d4ed8;font-weight:600;cursor:pointer;padding:0;text-decoration:underline;font-size:inherit;font-family:inherit}.link-button:hover{color:#5568d3}.password-requirements{font-size:12px;color:#888;margin-top:-4px;margin-bottom:8px;text-align:left}.verify-message{text-align:center;margin-bottom:20px;color:#666;line-height:1.6}.verify-message strong{color:#333}.login-info{color:#888;font-size:14px;line-height:1.6;margin-top:30px;padding-top:20px;border-top:1px solid #e0e0e0}.login-info p{margin:8px 0;font-size:13px;color:#999}.build-info{text-align:center;font-size:9px;color:#999;margin-top:12px;padding-top:12px;border-top:1px solid #e0e0e0;font-family:monospace;opacity:.8}.auth-spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #1d4ed8;border-radius:50%;animation:spin 1s linear infinite;margin:20px auto}@media(max-width:480px){.login-box{padding:40px 30px}.login-title{font-size:36px}.login-button{font-size:14px;padding:12px 20px}.demo-button{padding:14px 28px}}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#fff;border:1px solid #e0e0e0;border-radius:24px;cursor:pointer;transition:all .2s}.user-menu-trigger:hover{border-color:#1d4ed8;box-shadow:0 2px 8px #1d4ed81a}.user-avatar{width:32px;height:32px;background:linear-gradient(135deg,#1d4ed8,#2563eb);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:600}.user-avatar.large{width:48px;height:48px;font-size:16px}.user-name{font-size:14px;font-weight:500;color:#333;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{width:16px;height:16px;color:#666;transition:transform .2s}.dropdown-arrow.open{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:280px;background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026;border:1px solid #e0e0e0;z-index:1000;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.menu-section{padding:12px}.user-info-section{display:flex;align-items:center;gap:12px}.user-details{flex:1;min-width:0}.user-name-large{font-size:16px;font-weight:600;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subscription-level{font-size:12px;color:#666;text-transform:capitalize}.menu-divider{height:1px;background:#e0e0e0;margin:0 12px}.menu-label{font-size:11px;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:none;border:none;border-radius:8px;cursor:pointer;font-size:14px;color:#333;text-align:left;transition:background .2s}.menu-item:hover{background:#f5f5f5}.menu-item svg{width:18px;height:18px;color:#666;flex-shrink:0}.menu-item.logout{color:#dc2626}.menu-item.logout svg{color:#dc2626}.menu-item.logout:hover{background:#fef2f2}.workspace-selector{justify-content:flex-start}.workspace-icon{font-size:16px;flex-shrink:0}.workspace-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arrow-icon{width:16px;height:16px;color:#999;margin-left:auto}.submenu{margin-top:8px;padding:8px;background:#f9fafb;border-radius:8px}.submenu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:none;border:none;border-radius:6px;cursor:pointer;font-size:13px;color:#333;text-align:left;transition:background .2s}.submenu-item:hover{background:#fff}.submenu-item.active{background:#1d4ed8;color:#fff}.submenu-item.active .workspace-icon{color:#fff}.submenu-item .delete-btn{margin-left:auto;width:20px;height:20px;background:none;border:none;border-radius:4px;color:#999;cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s}.submenu-item:hover .delete-btn{opacity:1}.submenu-item .delete-btn:hover{background:#fee2e2;color:#dc2626}.submenu-divider{height:1px;background:#e0e0e0;margin:8px 0}.submenu-item.add-workspace{color:#1d4ed8}.submenu-item.add-workspace span:first-child{font-size:18px;font-weight:300}.new-workspace-form{display:flex;gap:8px;padding:4px}.new-workspace-form input{flex:1;padding:8px 10px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;outline:none}.new-workspace-form input:focus{border-color:#1d4ed8}.new-workspace-form button{padding:8px 12px;background:#1d4ed8;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.new-workspace-form button:hover{background:#1e40af}@media(max-width:768px){.user-name{display:none}.user-menu-dropdown{width:calc(100vw - 32px);right:-8px}}.admin-panel-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.admin-panel{background:#fff;border-radius:16px;width:90%;max-width:700px;height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.admin-panel-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.admin-panel-header h2{margin:0;font-size:20px;font-weight:600;color:#1f2937}.close-btn{width:36px;height:36px;border:none;background:#f3f4f6;border-radius:8px;font-size:24px;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-btn:hover{background:#e5e7eb;color:#1f2937}.admin-tabs{display:flex;gap:4px;padding:12px 24px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.admin-tab{padding:10px 20px;border:none;background:transparent;border-radius:8px;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s}.admin-tab:hover{background:#e5e7eb;color:#1f2937}.admin-tab.active{background:#1d4ed8;color:#fff}.admin-panel-content{flex:1;overflow-y:auto;padding:24px}.tab-content{display:flex;flex-direction:column;gap:20px}.tab-header{display:flex;align-items:center;justify-content:space-between}.tab-header h3{margin:0;font-size:16px;font-weight:600;color:#374151}.add-btn{padding:8px 16px;background:#1d4ed8;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.add-btn:hover{background:#1e40af}.items-list{display:flex;flex-direction:column;gap:12px}.item-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.item-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.item-icon{font-size:20px}.item-name{font-weight:600;color:#1f2937;flex:1}.item-color{width:24px;height:24px;border-radius:6px}.item-color.dot{width:12px;height:12px;border-radius:50%}.status-badge{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.inactive{background:#fee2e2;color:#991b1b}.item-details{display:flex;gap:16px;font-size:14px;color:#6b7280;margin-bottom:12px}.item-description{font-size:14px;color:#6b7280;margin-bottom:12px}.item-actions{display:flex;gap:8px}.item-actions button{padding:6px 12px;border:1px solid #d1d5db;background:#fff;border-radius:6px;font-size:13px;color:#374151;cursor:pointer;transition:all .2s}.item-actions button:hover{background:#f3f4f6;border-color:#9ca3af}.item-actions button.delete-btn{color:#dc2626;border-color:#fecaca}.item-actions button.delete-btn:hover{background:#fee2e2;border-color:#f87171}.item-form{background:#fff;border:2px solid #1d4ed8;border-radius:12px;padding:20px;margin-bottom:12px}.form-row{display:flex;gap:16px;margin-bottom:16px}.form-row label{flex:1;display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:#374151}.form-row input{padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s}.form-row input:focus{outline:none;border-color:#1d4ed8}.form-row input[type=color]{padding:4px;height:40px;cursor:pointer}.form-row input[type=number]{width:100px}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.form-actions button{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.form-actions button[type=submit]{background:#1d4ed8;color:#fff;border:none}.form-actions button[type=submit]:hover{background:#1e40af}.form-actions button[type=button]{background:#fff;color:#374151;border:1px solid #d1d5db}.form-actions button[type=button]:hover{background:#f3f4f6}.hours-grid{display:flex;flex-direction:column;gap:12px}.hours-row{display:flex;flex-direction:column;gap:8px;padding:12px 16px;background:#f9fafb;border-radius:8px}.hours-row-main{display:flex;align-items:center;gap:16px;width:100%}.day-toggle{display:flex;align-items:center;gap:10px;min-width:140px;cursor:pointer}.day-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer}.day-name{font-weight:500;color:#374151}.time-inputs{display:flex;align-items:center;gap:10px;flex:1}.time-inputs input[type=time]{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.time-inputs span{color:#6b7280}.closed-label{color:#9ca3af;font-style:italic}.breaks-section{margin-left:168px;padding-top:8px}.breaks-list{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.break-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fef3c7;border-radius:6px;border:1px solid #fde68a}.break-label{font-size:13px;font-weight:500;color:#92400e;min-width:50px}.break-item input[type=time]{padding:6px 10px;border:1px solid #fcd34d;border-radius:4px;font-size:13px;background:#fff}.break-item span{color:#92400e;font-size:13px}.remove-break-btn{width:24px;height:24px;border:none;background:#fecaca;color:#dc2626;border-radius:4px;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-left:auto;transition:all .2s}.remove-break-btn:hover{background:#f87171;color:#fff}.add-break-btn{padding:6px 12px;border:1px dashed #d1d5db;background:#fff;border-radius:6px;font-size:13px;color:#6b7280;cursor:pointer;transition:all .2s}.add-break-btn:hover{border-color:#f59e0b;color:#f59e0b;background:#fffbeb}@media(max-width:640px){.admin-panel{width:100%;height:100%;max-height:100%;border-radius:0}.form-row{flex-direction:column}.form-row input[type=number]{width:100%}.hours-row{flex-direction:column;align-items:flex-start;gap:10px}.time-inputs{width:100%}.breaks-section{margin-left:0;width:100%}.break-item{flex-wrap:wrap}}.absence-form{background:#fff;border:2px solid #1d4ed8;border-radius:12px;padding:20px;margin-bottom:20px}.absence-form h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#1f2937}.absence-form select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:#fff;cursor:pointer}.absence-form select:focus{outline:none;border-color:#1d4ed8}.absences-section{margin-bottom:24px}.absences-section h4{font-size:14px;font-weight:600;color:#374151;margin:0 0 12px;text-transform:uppercase;letter-spacing:.05em}.absences-section.past h4{color:#9ca3af}.absences-list{display:flex;flex-direction:column;gap:8px}.absence-card{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fef3c7;border:1px solid #fde68a;border-radius:8px}.absence-card.past{background:#f9fafb;border-color:#e5e7eb}.absence-card.equipment{background:#eff6ff;border-color:#bfdbfe}.absence-info{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.absence-resource{display:flex;align-items:center;gap:8px;min-width:120px}.absence-resource .resource-dot{width:10px;height:10px;border-radius:50%}.absence-resource .resource-name{font-weight:500;color:#1f2937}.absence-date{font-size:14px;color:#374151;min-width:160px}.absence-reason{font-size:13px;color:#6b7280;font-style:italic}.absence-card.past .absence-resource .resource-name,.absence-card.past .absence-date{color:#9ca3af}.absence-card .delete-btn{padding:6px 12px;border:1px solid #fecaca;background:#fff;border-radius:6px;font-size:13px;color:#dc2626;cursor:pointer;transition:all .2s}.absence-card .delete-btn:hover{background:#fee2e2;border-color:#f87171}.empty-state{text-align:center;padding:40px 20px;color:#6b7280}.empty-state p{margin:0 0 8px}.empty-state .hint{font-size:13px;color:#9ca3af}.type-badge{padding:3px 8px;border-radius:10px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.03em}.type-badge.staff{background:#fef3c7;color:#92400e}.type-badge.equipment{background:#dbeafe;color:#1e40af}.type-badge.location{background:#dcfce7;color:#166534}.custom-hours-badge{padding:3px 8px;border-radius:10px;font-size:11px;font-weight:500;background:#e0e7ff;color:#3730a3;margin-right:8px}.capacity-badge{padding:3px 8px;border-radius:10px;font-size:11px;font-weight:500;background:#fef3c7;color:#92400e;margin-right:8px}.resource-hours-editor{background:#f8fafc;border:2px solid #1d4ed8;border-radius:12px;padding:16px}.resource-hours-header h4{margin:0 0 4px;font-size:15px;font-weight:600;color:#1f2937}.resource-hours-hint{margin:0 0 16px;font-size:13px;color:#6b7280}.hours-grid.compact{gap:6px}.hours-row.compact{padding:8px 12px;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px}.hours-row.compact .hours-row-main{gap:12px}.hours-row.compact .day-toggle{min-width:70px}.hours-row.compact .day-name{font-size:13px}.time-inputs.compact{gap:6px}.time-inputs.compact input[type=time]{padding:4px 8px;font-size:13px}.time-inputs.compact span{font-size:12px}.breaks-section.compact{margin-left:0;padding-top:4px}.break-item.compact{padding:4px 8px;gap:6px}.break-item.compact input[type=time]{padding:3px 6px;font-size:12px}.break-item.compact .break-label{font-size:11px;min-width:40px}.add-break-btn.small{padding:3px 8px;font-size:11px}.reset-btn{background:#fef3c7!important;color:#92400e!important;border:1px solid #fde68a!important}.reset-btn:hover{background:#fde68a!important}.form-section{margin-top:16px;padding-top:16px;border-top:1px solid #e5e7eb}.form-section-title{margin:0 0 12px;font-size:14px;font-weight:600;color:#374151}.form-hint{margin:8px 0 0;font-size:12px;color:#6b7280;font-style:italic}.form-row select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:#fff;cursor:pointer}.form-row select:focus{outline:none;border-color:#1d4ed8}.assignment-mode-label{padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500;background:#f3f4f6;color:#6b7280}.rules-sections{display:flex;flex-direction:column;gap:24px}.rules-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.rules-section h4{margin:0 0 4px;font-size:16px;font-weight:600;color:#1f2937}.section-hint{margin:0 0 16px;font-size:13px;color:#6b7280}.rule-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #e5e7eb}.rule-row:last-child{border-bottom:none;padding-bottom:0}.rule-row.sub-rule{margin-left:24px;padding-left:16px;border-left:3px solid #dbeafe;background:#f0f7ff;border-radius:0 8px 8px 0;margin-top:-1px;border-bottom:none;padding-bottom:14px}.rule-row label{flex:1;display:flex;flex-direction:column;gap:4px}.rule-label{font-size:14px;font-weight:600;color:#1f2937}.rule-description{font-size:13px;color:#6b7280;line-height:1.4}.rule-input{display:flex;align-items:center;gap:12px;flex-shrink:0}.rule-input select{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:#fff;cursor:pointer;min-width:150px}.rule-input select:focus{outline:none;border-color:#1d4ed8}.rule-preview{font-size:12px;color:#6b7280;white-space:nowrap}.rule-row.toggle-row{align-items:center}.rule-toggle{display:flex;align-items:center;gap:10px}.rule-toggle input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#1d4ed8}.toggle-label{font-size:13px;font-weight:500;padding:4px 10px;border-radius:12px}.toggle-label.enabled{background:#dcfce7;color:#166534}.toggle-label.disabled{background:#fee2e2;color:#991b1b}@media(max-width:640px){.rule-row{flex-direction:column;gap:12px}.rule-input,.rule-input select{width:100%}.rule-row.sub-rule{margin-left:0;padding-left:12px}}.tab-description{margin:0 0 16px;font-size:14px;color:#6b7280;line-height:1.5}.availability-form{background:#fff;border:2px solid #10b981;border-radius:12px;padding:20px;margin-bottom:20px}.availability-form h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#1f2937}.availability-section{margin-bottom:24px}.availability-section h4{font-size:14px;font-weight:600;color:#374151;margin:0 0 12px;text-transform:uppercase;letter-spacing:.05em}.availability-section.past h4{color:#9ca3af}.availability-list{display:flex;flex-direction:column;gap:8px}.availability-card{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px}.availability-card.past{background:#f9fafb;border-color:#e5e7eb}.availability-info{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.availability-resource{display:flex;align-items:center;gap:8px;min-width:120px}.availability-resource .resource-dot{width:10px;height:10px;border-radius:50%}.availability-resource .resource-name{font-weight:500;color:#1f2937}.availability-date{font-size:14px;color:#374151;min-width:160px}.availability-time{font-size:14px;font-weight:600;color:#059669;background:#fff;padding:4px 10px;border-radius:6px;border:1px solid #a7f3d0}.availability-card.past .availability-time{color:#6b7280;background:#f3f4f6;border-color:#e5e7eb}.availability-reason{font-size:13px;color:#6b7280;font-style:italic}.availability-card.past .availability-resource .resource-name,.availability-card.past .availability-date{color:#9ca3af}.availability-card .delete-btn{padding:6px 12px;border:1px solid #fecaca;background:#fff;border-radius:6px;font-size:13px;color:#dc2626;cursor:pointer;transition:all .2s}.availability-card .delete-btn:hover{background:#fee2e2;border-color:#f87171}.marketplace-tab{padding:0}.marketplace-sections{display:flex;gap:8px;margin-bottom:20px;border-bottom:1px solid #e5e7eb;padding-bottom:12px}.marketplace-section-btn{padding:8px 16px;border:1px solid #d1d5db;background:#fff;border-radius:8px;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s}.marketplace-section-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.marketplace-section-btn:hover:not(.active){background:#f3f4f6}.skills-section .section-header,.profiles-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.skills-section .section-header h3,.profiles-section .section-header h3{margin:0;font-size:16px;font-weight:600;color:#111827}.skill-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:16px;margin-bottom:16px}.skill-form h4{margin:0 0 12px;font-size:14px;font-weight:600}.skill-category-group{margin-bottom:16px}.skill-category-header{font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px}.skills-list{display:flex;flex-direction:column;gap:6px}.skill-card{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s}.skill-card.inactive{opacity:.5;background:#f9fafb}.skill-info{display:flex;align-items:center;gap:8px}.skill-icon{font-size:18px}.skill-name{font-weight:500;font-size:14px;color:#111827}.skill-desc{font-size:12px;color:#6b7280}.skill-actions{display:flex;gap:4px}.edit-btn-small,.toggle-btn-small,.delete-btn-small,.add-btn-small{padding:4px 10px;border:1px solid #d1d5db;background:#fff;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s}.edit-btn-small:hover{background:#eff6ff;border-color:#93c5fd;color:#2563eb}.toggle-btn-small:hover{background:#fef9c3;border-color:#fcd34d}.delete-btn-small{color:#dc2626;border-color:#fecaca}.delete-btn-small:hover{background:#fee2e2;border-color:#f87171}.add-btn-small{color:#3b82f6;border-color:#93c5fd;margin-top:8px}.add-btn-small:hover{background:#eff6ff}.profiles-list{display:flex;flex-direction:column;gap:8px}.profile-card{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:all .2s}.profile-card.published{border-color:#86efac}.profile-card-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;cursor:pointer;transition:background .2s}.profile-card-header:hover{background:#f9fafb}.profile-resource-info{display:flex;align-items:center;gap:10px}.profile-resource-name{font-weight:500;font-size:14px;color:#111827}.profile-status-badge{padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}.profile-status-badge.published{background:#dcfce7;color:#166534}.profile-status-badge.unpublished{background:#fef3c7;color:#92400e}.profile-status-badge.no-profile{background:#f3f4f6;color:#6b7280}.profile-card-actions{display:flex;align-items:center;gap:8px}.publish-btn{padding:4px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid}.publish-btn.publish{background:#dcfce7;border-color:#86efac;color:#166534}.publish-btn.publish:hover{background:#bbf7d0}.publish-btn.unpublish{background:#fef3c7;border-color:#fcd34d;color:#92400e}.publish-btn.unpublish:hover{background:#fde68a}.expand-arrow{font-size:12px;color:#9ca3af}.profile-editor{padding:16px;border-top:1px solid #e5e7eb;background:#f9fafb}.skill-checkboxes{display:flex;flex-wrap:wrap;gap:8px}.skill-checkbox{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:13px;cursor:pointer;transition:all .2s}.skill-checkbox:has(input:checked){background:#eff6ff;border-color:#3b82f6}.skill-checkbox input{margin:0}.certification-row{display:flex;gap:8px;margin-bottom:6px;align-items:center}.certification-row input{flex:1}.certification-row input[type=number]{max-width:80px}.public-availability-schedule{display:flex;flex-direction:column;gap:8px;margin-top:8px}.schedule-day-row{display:flex;align-items:center;gap:12px;padding:6px 0}.day-toggle{display:flex;align-items:center;gap:8px;min-width:120px;cursor:pointer}.day-toggle input{margin:0}.day-name{font-size:13px;font-weight:500;color:#374151}.day-times{display:flex;align-items:center;gap:8px}.day-times input[type=time]{padding:4px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:13px}.day-times span{font-size:13px;color:#6b7280}.booking-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.booking-modal{background:#fff;border-radius:16px;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.booking-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.booking-modal-header h2{margin:0;font-size:20px;font-weight:600;color:#1f2937}.booking-modal-header .close-btn{width:36px;height:36px;border:none;background:#f3f4f6;border-radius:8px;font-size:24px;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.booking-modal-header .close-btn:hover{background:#e5e7eb;color:#1f2937}.booking-progress{display:flex;justify-content:space-between;padding:16px 24px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.progress-step{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;position:relative}.progress-step:after{content:"";position:absolute;top:12px;left:calc(50% + 16px);width:calc(100% - 32px);height:2px;background:#e5e7eb}.progress-step:last-child:after{display:none}.progress-step.completed:after{background:#1d4ed8}.step-number{width:24px;height:24px;border-radius:50%;background:#e5e7eb;color:#6b7280;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;position:relative;z-index:1}.progress-step.active .step-number,.progress-step.completed .step-number{background:#1d4ed8;color:#fff}.step-label{font-size:12px;color:#6b7280;font-weight:500}.progress-step.active .step-label{color:#1d4ed8;font-weight:600}.booking-modal-content{flex:1;overflow-y:auto;padding:24px}.step-content{display:flex;flex-direction:column;gap:20px}.error-message{background:#fee2e2;color:#991b1b;padding:12px 16px;border-radius:8px;font-size:14px}.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.service-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 16px;background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s;text-align:center}.service-card:hover,.service-card.selected{border-color:#1d4ed8;background:#eff6ff}.service-name{font-weight:600;color:#1f2937;font-size:16px}.service-description{font-size:12px;color:#6b7280;line-height:1.4}.selected-service-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#eff6ff;border-radius:8px;font-size:14px;color:#1f2937}.selected-service-banner .service-icon{font-size:20px}.selected-service-banner .service-duration{margin-left:auto;color:#1d4ed8}.change-btn{padding:6px 12px;background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:13px;color:#374151;cursor:pointer;transition:all .2s}.change-btn:hover{background:#f3f4f6}.no-slots-message{text-align:center;padding:40px 20px;color:#6b7280}.no-slots-message p{margin:8px 0}.datetime-selection{display:flex;flex-direction:column;gap:24px;max-height:400px;overflow-y:auto}.date-group{display:flex;flex-direction:column;gap:12px}.date-header{margin:0;font-size:14px;font-weight:600;color:#374151;text-transform:capitalize;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.slot-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 16px;background:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;transition:all .2s;min-width:100px;position:relative}.slot-time{font-size:16px;font-weight:600}.slot-resource{font-size:12px;color:#6b7280}.suggested-badge{position:absolute;top:-8px;right:-8px;background:#10b981;color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:10px}.booking-summary-mini{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:16px;background:#f9fafb;border-radius:8px}.summary-item{display:flex;flex-direction:column;gap:4px}.summary-item .label{font-size:12px;color:#6b7280}.summary-item span:last-child{font-size:14px;font-weight:500;color:#1f2937}.details-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:14px;font-weight:500;color:#374151}.form-group input,.form-group textarea{padding:12px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s}.confirmation-summary{display:flex;flex-direction:column;gap:20px}.confirmation-summary h3{margin:0;font-size:16px;font-weight:600;color:#374151}.summary-card{background:#f9fafb;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px}.summary-card h4{margin:0;font-size:14px;font-weight:600;color:#374151}.summary-row{display:flex;justify-content:space-between;align-items:center;font-size:14px}.summary-label{color:#6b7280}.summary-value{font-weight:500;color:#1f2937}.summary-row.price{padding-top:12px;border-top:1px solid #e5e7eb}.summary-row.price .summary-value{font-size:18px;font-weight:600;color:#1d4ed8}.step-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:16px;border-top:1px solid #e5e7eb;margin-top:auto}.primary-btn{padding:12px 24px;background:#1d4ed8;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.secondary-btn{padding:12px 24px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.confirm-btn{background:#10b981}.confirm-btn:hover{background:#059669}.success-message{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;padding:20px}.success-icon{width:64px;height:64px;background:#10b981;color:#fff;font-size:32px;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center}.success-message h3{margin:0;font-size:20px;font-weight:600;color:#1f2937}.booking-summary{background:#f9fafb;padding:16px 24px;border-radius:8px;line-height:1.8}.booking-summary p{margin:0;color:#374151}.confirmation-note{font-size:14px;color:#6b7280}@media(max-width:640px){.booking-modal{width:100%;height:100%;max-height:100%;border-radius:0}.booking-progress{padding:12px 16px}.step-label{display:none}.services-grid,.booking-summary-mini{grid-template-columns:1fr}.step-actions{flex-direction:column}.step-actions button{width:100%}.resources-grid{grid-template-columns:1fr}}.resource-selection{display:flex;flex-direction:column;gap:16px}.selection-prompt{font-size:15px;color:#6b7280;text-align:center;margin:0}.resources-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.resource-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 16px;background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s;text-align:center}.resource-card:hover{background:#f3f4f6;border-color:#d1d5db}.resource-card.selected{background:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.resource-color-dot{width:40px;height:40px;border-radius:50%;flex-shrink:0}.resource-card .resource-name{font-size:15px;font-weight:600;color:#1f2937}.resource-card .resource-description{font-size:12px;color:#6b7280;line-height:1.4}.selected-resource-name{font-size:13px;color:#6b7280;font-style:italic}.booking-list-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:flex-end;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.booking-list-panel{background:#fff;width:100%;max-width:600px;height:100%;display:flex;flex-direction:column;box-shadow:-10px 0 40px #0003;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.booking-list-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.booking-list-header h2{margin:0;font-size:20px;font-weight:600;color:#1f2937}.booking-list-header .close-btn{width:36px;height:36px;border:none;background:#f3f4f6;border-radius:8px;font-size:24px;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.booking-list-header .close-btn:hover{background:#e5e7eb;color:#1f2937}.booking-list-filters{padding:16px 24px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.filter-tabs{display:flex;gap:4px;margin-bottom:12px;flex-wrap:wrap}.filter-tab{padding:8px 14px;border:none;background:transparent;border-radius:8px;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s}.filter-tab:hover{background:#e5e7eb;color:#1f2937}.filter-tab.active{background:#1d4ed8;color:#fff}.filter-row{display:flex;gap:12px}.search-input{flex:1;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s}.search-input:focus{outline:none;border-color:#1d4ed8}.resource-select{padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:#fff;cursor:pointer;min-width:150px}.resource-select:focus{outline:none;border-color:#1d4ed8}.booking-list-content{flex:1;overflow-y:auto;padding:16px}.no-bookings{text-align:center;padding:48px 24px;color:#6b7280}.no-bookings p{margin:8px 0}.no-bookings .hint{font-size:14px;color:#9ca3af}.bookings-list{display:flex;flex-direction:column;gap:12px}.booking-list-item{display:flex;align-items:center;gap:16px;padding:16px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s}.booking-list-item:hover{border-color:#1d4ed8;box-shadow:0 4px 12px #1d4ed81a}.booking-list-item.cancelled{opacity:.7;background:#f9fafb}.booking-item-left{flex:0 0 auto}.booking-date-badge{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:70px}.today-badge{background:#10b981;color:#fff;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.tomorrow-badge{background:#f59e0b;color:#fff;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.booking-date-badge>span:first-child:not(.today-badge):not(.tomorrow-badge){font-size:12px;color:#6b7280;font-weight:500;text-transform:capitalize}.booking-time{font-size:14px;font-weight:600;color:#1f2937}.booking-item-center{flex:1;min-width:0}.booking-service{display:flex;align-items:center;gap:8px;margin-bottom:4px}.service-icon{font-size:18px}.service-name{font-weight:600;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-duration{font-size:12px;color:#6b7280;padding:2px 6px;background:#f3f4f6;border-radius:4px}.booking-customer{display:flex;flex-direction:column;gap:2px}.customer-name{font-size:14px;color:#374151}.customer-email{font-size:12px;color:#6b7280}.booking-item-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.booking-resource{display:flex;align-items:center;gap:6px;font-size:13px;color:#6b7280}.resource-dot{width:8px;height:8px;border-radius:50%}.status-badge{padding:3px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:capitalize}.status-badge.confirmed{background:#dcfce7;color:#166534}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.cancelled{background:#fee2e2;color:#991b1b}.status-badge.completed{background:#dbeafe;color:#1d4ed8}.status-badge.no_show{background:#f3f4f6;color:#6b7280}.booking-item-arrow{flex:0 0 auto;color:#9ca3af}.booking-item-arrow svg{width:20px;height:20px}.booking-list-footer{padding:12px 24px;border-top:1px solid #e5e7eb;background:#f9fafb;font-size:13px;color:#6b7280}@media(max-width:640px){.booking-list-panel{max-width:100%}.filter-row{flex-direction:column}.resource-select{min-width:auto;width:100%}.booking-list-item{flex-wrap:wrap;gap:12px}.booking-item-right{width:100%;flex-direction:row;justify-content:space-between;align-items:center}.booking-item-arrow{display:none}}.booking-details-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.booking-details-modal{background:#fff;border-radius:16px;width:90%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.booking-details-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.booking-details-header h2{margin:0;font-size:20px;font-weight:600;color:#1f2937}.booking-details-header .close-btn{width:36px;height:36px;border:none;background:#f3f4f6;border-radius:8px;font-size:24px;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.booking-details-header .close-btn:hover{background:#e5e7eb;color:#1f2937}.booking-details-content{flex:1;overflow-y:auto;padding:24px}.status-row{display:flex;align-items:center;gap:8px;margin-bottom:20px}.booking-status{padding:6px 12px;border-radius:20px;font-size:13px;font-weight:600}.booking-status.confirmed{background:#dcfce7;color:#166534}.booking-status.completed{background:#dbeafe;color:#1d4ed8}.booking-status.no_show{background:#f3f4f6;color:#6b7280}.past-badge{background:#f3f4f6;color:#6b7280;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.info-section{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.info-section h4{margin:0 0 12px;font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.info-row{display:flex;align-items:center;margin-bottom:10px}.info-row:last-child{margin-bottom:0}.info-label{flex:0 0 100px;font-size:14px;color:#6b7280}.info-value{flex:1;font-size:14px;color:#1f2937;font-weight:500}.info-value a{color:#1d4ed8;text-decoration:none}.info-value a:hover{text-decoration:underline}.notes-row{align-items:flex-start}.notes-value{white-space:pre-wrap;line-height:1.5}.service-info{background:#f9fafb;padding:16px;border-radius:12px;gap:12px}.service-info>div{flex:1;display:flex;flex-direction:column;gap:2px}.service-name{font-size:16px;font-weight:600;color:#1f2937}.service-duration{font-size:13px;color:#6b7280}.service-price{font-size:18px;font-weight:600;color:#1d4ed8}.resource-value{display:flex;align-items:center;gap:8px}.resource-dot{width:10px;height:10px;border-radius:50%}.cancelled-section{background:#fef2f2;padding:16px;border-radius:12px;margin-top:16px}.form-group label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}.form-group input,.form-group textarea{width:100%;padding:12px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#1d4ed8}.form-group textarea{resize:vertical;min-height:80px}.action-buttons{display:flex;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb}.primary-btn{flex:1;padding:12px 20px;background:#1d4ed8;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.primary-btn:hover{background:#1e40af}.secondary-btn{flex:1;padding:12px 20px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.secondary-btn:disabled{opacity:.5;cursor:not-allowed}.danger-btn{flex:1;padding:12px 20px;background:#dc2626;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.danger-btn:disabled{background:#9ca3af;cursor:not-allowed}.success-btn{flex:1;padding:12px 20px;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.success-btn:hover{background:#059669}.success-btn:disabled{background:#9ca3af;cursor:not-allowed}.warning-btn{flex:1;padding:12px 20px;background:#f59e0b;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.warning-btn:hover{background:#d97706}.warning-btn:disabled{background:#9ca3af;cursor:not-allowed}.cancel-confirm-dialog{background:#fef2f2;padding:20px;border-radius:12px;margin-bottom:16px}.cancel-confirm-dialog h3{margin:0 0 8px;font-size:18px;color:#991b1b}.cancel-confirm-dialog p{margin:0 0 16px;color:#6b7280}.dialog-actions{display:flex;gap:10px;margin-top:16px}.reschedule-content{display:flex;flex-direction:column;gap:16px}.current-booking-info{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;background:#f3f4f6;border-radius:8px;font-size:14px;color:#6b7280}.current-booking-info .label{font-weight:600;color:#374151}.no-slots-message{text-align:center;padding:24px;color:#6b7280}.reschedule-slots h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#374151}.date-group h5{margin:0 0 8px;font-size:13px;font-weight:500;color:#6b7280;text-transform:capitalize}.slots-grid{display:flex;flex-wrap:wrap;gap:8px}.slot-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 14px;background:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;transition:all .2s;min-width:90px}.slot-btn:hover{border-color:#1d4ed8;background:#eff6ff}.slot-btn.selected{border-color:#1d4ed8;background:#1d4ed8;color:#fff}.slot-btn.suggested{border-color:#10b981;background:#ecfdf5}.slot-btn.suggested:hover{background:#d1fae5}.slot-btn.suggested.selected{background:#10b981;border-color:#10b981}.slot-time{font-size:14px;font-weight:600}.slot-resource{font-size:11px;color:#6b7280}.slot-btn.selected .slot-resource{color:#fffc}@media(max-width:640px){.booking-details-modal{width:100%;height:100%;max-height:100%;border-radius:0}.action-buttons{flex-direction:column}}.staff-booking-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.staff-booking-modal{background:#fff;border-radius:16px;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.staff-booking-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.staff-booking-header h2{margin:0;font-size:20px;font-weight:600;color:#1f2937}.staff-booking-header .close-btn{width:36px;height:36px;border:none;background:#f3f4f6;border-radius:8px;font-size:24px;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.staff-booking-header .close-btn:hover{background:#e5e7eb;color:#1f2937}.staff-booking-form{flex:1;overflow-y:auto;padding:24px}.staff-booking-form .error-message{background:#fee2e2;color:#991b1b;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px}.form-section{margin-bottom:20px}.form-section h3{font-size:14px;font-weight:600;color:#374151;margin:0 0 12px;text-transform:uppercase;letter-spacing:.05em}.form-label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}.service-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.service-option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border:2px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer;transition:all .2s}.service-option:hover{border-color:#3b82f6;background:#eff6ff}.service-option.selected{border-color:#3b82f6;background:#dbeafe}.service-option .service-icon{font-size:24px}.service-option .service-name{font-size:13px;font-weight:600;color:#1f2937;text-align:center}.service-option .service-duration{font-size:11px;color:#6b7280}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-group{margin-bottom:16px}.form-group input,.form-group textarea{width:100%;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#1f2937;background:#fff;transition:all .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af}.form-group textarea{resize:vertical;min-height:60px}.time-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;max-height:180px;overflow-y:auto;padding:4px}.time-slot-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;cursor:pointer;transition:all .2s}.time-slot-btn:hover{border-color:#3b82f6;background:#eff6ff}.time-slot-btn.selected{border-color:#3b82f6;background:#3b82f6;color:#fff}.time-slot-btn .slot-time{font-size:14px;font-weight:600}.time-slot-btn .slot-resource{font-size:11px;opacity:.8}.no-slots-message{color:#6b7280;font-size:14px;padding:16px;text-align:center;background:#f9fafb;border-radius:8px}.booking-summary{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:16px;margin-bottom:20px}.booking-summary h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#166534}.summary-row{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;color:#1f2937}.summary-row span:first-child{color:#6b7280}.summary-row.price{border-top:1px solid #bbf7d0;margin-top:8px;padding-top:12px;font-weight:600}.form-actions{display:flex;gap:12px;padding-top:16px;border-top:1px solid #e5e7eb}.form-actions .secondary-btn{flex:1;padding:12px 20px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.form-actions .secondary-btn:hover{background:#f3f4f6}.form-actions .primary-btn{flex:1;padding:12px 20px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.form-actions .primary-btn:hover:not(:disabled){background:#2563eb}.form-actions .primary-btn:disabled{background:#9ca3af;cursor:not-allowed}.service-option.day-service{border-color:#fbbf24;background:#fffbeb}.service-option.day-service:hover{border-color:#f59e0b;background:#fef3c7}.service-option.day-service.selected{border-color:#f59e0b;background:#fde68a}.day-badge{display:inline-block;background:#f59e0b;color:#fff;font-size:9px;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em;margin-top:4px}.date-range-row{display:flex;align-items:flex-end;gap:12px;margin-bottom:8px}.date-input-group{flex:1}.date-input-group label{display:block;font-size:12px;font-weight:500;color:#6b7280;margin-bottom:4px}.date-input-group input[type=date]{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#1f2937;background:#fff;transition:all .2s}.date-input-group input[type=date]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.date-separator{padding:10px 0;color:#6b7280;font-size:14px}.days-count{text-align:center;color:#f59e0b;font-size:14px;font-weight:600;padding:8px;background:#fffbeb;border-radius:6px}.resource-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.resource-option{display:flex;align-items:center;gap:10px;padding:12px 14px;border:2px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer;transition:all .2s}.resource-option:hover{border-color:#3b82f6;background:#eff6ff}.resource-option.selected{border-color:#3b82f6;background:#dbeafe}.resource-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.resource-name{font-size:14px;font-weight:500;color:#1f2937}.booking-summary.day-summary{background:#fffbeb;border-color:#fde68a}.booking-summary.day-summary h4{color:#92400e}.booking-summary.day-summary .summary-row.price{border-top-color:#fde68a}@media(max-width:640px){.staff-booking-modal{width:95%;max-height:95vh}.form-row{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,1fr)}}.customer-lookup-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.customer-lookup-modal{background:#fff;border-radius:16px;width:90%;max-width:480px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.customer-lookup-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.customer-lookup-header h2{margin:0;font-size:20px;font-weight:600;color:#1f2937}.customer-lookup-header .close-btn{width:36px;height:36px;border:none;background:#f3f4f6;border-radius:8px;font-size:24px;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.customer-lookup-header .close-btn:hover{background:#e5e7eb;color:#1f2937}.customer-lookup-content{flex:1;overflow-y:auto;padding:24px}.lookup-search{text-align:center}.lookup-instructions{color:#4b5563;margin-bottom:24px}.error-message{background:#fee2e2;color:#991b1b;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px}.code-input-group{display:flex;gap:12px;margin-bottom:16px}.code-input{flex:1;padding:14px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:18px;font-weight:600;letter-spacing:.15em;text-align:center;text-transform:uppercase;transition:all .2s}.code-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.code-input::placeholder{color:#9ca3af;font-weight:400;letter-spacing:normal}.lookup-btn{padding:14px 24px;background:#3b82f6;color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.lookup-btn:hover:not(:disabled){background:#2563eb}.lookup-btn:disabled{background:#9ca3af;cursor:not-allowed}.lookup-hint{color:#9ca3af;font-size:13px}.booking-found{animation:fadeIn .3s ease}.back-link{background:none;border:none;color:#3b82f6;font-size:14px;cursor:pointer;padding:0;margin-bottom:16px;display:inline-block}.back-link:hover{text-decoration:underline}.confirmation-badge{display:flex;align-items:center;justify-content:space-between;background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;padding:12px 16px;margin-bottom:16px}.confirmation-badge .label{color:#0369a1;font-size:13px}.confirmation-badge .code{font-size:18px;font-weight:700;color:#0284c7;letter-spacing:.1em}.status-row{display:flex;align-items:center;gap:8px;margin-bottom:16px}.booking-status{padding:6px 12px;border-radius:6px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.booking-status.confirmed{background:#d1fae5;color:#065f46}.booking-status.pending{background:#fef3c7;color:#92400e}.booking-status.cancelled{background:#fee2e2;color:#991b1b}.booking-status.completed{background:#e0e7ff;color:#3730a3}.booking-status.no_show{background:#fce7f3;color:#9d174d}.past-badge{background:#f3f4f6;color:#6b7280;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500}.service-section{background:#f9fafb;border-radius:10px;padding:16px!important;margin-bottom:16px}.service-header{display:flex;align-items:center;gap:12px}.service-icon{font-size:32px}.service-details{flex:1}.service-name{display:block;font-size:16px;font-weight:600;color:#1f2937}.service-meta{display:block;font-size:13px;color:#6b7280}.service-price{font-size:18px;font-weight:700;color:#059669}.info-section{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #f3f4f6}.info-section:last-of-type{border-bottom:none}.info-section h4{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin:0 0 12px}.info-row{display:flex;justify-content:space-between;padding:6px 0}.info-label{color:#6b7280;font-size:14px}.info-value{color:#1f2937;font-size:14px;font-weight:500;text-align:right}.cancelled-section{background:#fef2f2;border-radius:10px;padding:16px;border-bottom:none}.cancelled-section h4{color:#991b1b}.customer-actions{display:flex;flex-direction:column;gap:12px;padding-top:16px;border-top:1px solid #e5e7eb;margin-top:8px}.policy-notice{background:#fef3c7;color:#92400e;padding:12px 16px;border-radius:8px;font-size:13px;margin:0}.secondary-btn{padding:12px 20px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.secondary-btn:hover{background:#f3f4f6}.danger-btn{padding:12px 20px;background:#dc2626;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.danger-btn:hover{background:#b91c1c}.cancel-confirm{text-align:center;padding:20px 0}.cancel-confirm h3{margin:0 0 12px;font-size:18px;color:#1f2937}.cancel-confirm p{color:#6b7280;margin-bottom:8px}.cancel-date{font-size:16px;margin-bottom:24px}.cancel-actions{display:flex;gap:12px}.cancel-actions button{flex:1}.reschedule-section{animation:fadeIn .3s ease}.reschedule-section h3{margin:0 0 16px;font-size:18px;color:#1f2937;text-align:center}.reschedule-section h4{font-size:14px;font-weight:600;color:#374151;margin:16px 0 12px}.current-booking-info{display:flex;flex-wrap:wrap;gap:8px;background:#f3f4f6;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px}.current-booking-info .label{color:#6b7280}.no-slots-message{text-align:center;color:#6b7280;padding:24px;background:#f9fafb;border-radius:8px}.no-slots-message p{margin:0 0 8px}.reschedule-slots{max-height:300px;overflow-y:auto}.date-group{margin-bottom:16px}.date-group h5{font-size:13px;font-weight:600;color:#374151;margin:0 0 8px;text-transform:capitalize}.slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}.slot-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 8px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;cursor:pointer;transition:all .2s}.slot-btn:hover{border-color:#3b82f6;background:#eff6ff}.slot-btn.selected{border-color:#3b82f6;background:#3b82f6;color:#fff}.slot-btn .slot-time{font-size:14px;font-weight:600}.slot-btn .slot-resource{font-size:11px;opacity:.8}.reschedule-actions{display:flex;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb}.reschedule-actions button{flex:1}.primary-btn{padding:12px 20px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.primary-btn:hover:not(:disabled){background:#2563eb}.primary-btn:disabled{background:#9ca3af;cursor:not-allowed}@media(max-width:480px){.customer-lookup-modal{width:95%;max-height:95vh}.code-input-group,.cancel-actions{flex-direction:column}}.loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);color:#333;font-family:system-ui,-apple-system,sans-serif}.loading-spinner{width:60px;height:60px;border:4px solid rgba(50,100,200,.1);border-top-color:#3264c8;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:18px;font-weight:500;color:#3264c8;margin-bottom:8px}.loading-subtext{font-size:14px;color:#666;opacity:.8}.loading-dots:after{content:"";animation:dots 1.5s steps(4,end) infinite}@keyframes dots{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}.demo-welcome-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.demo-welcome-dialog{background:#fff;border-radius:16px;max-width:500px;width:90%;padding:32px;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.demo-welcome-dialog h2{margin:0 0 20px;font-size:24px;font-weight:700;color:#1e40af;text-align:center}.demo-welcome-content{margin-bottom:24px}.demo-welcome-content p{margin:0 0 12px;font-size:15px;color:#374151}.demo-welcome-content ul{list-style:none;padding:0;margin:0 0 16px}.demo-welcome-content li{font-size:15px;color:#374151;line-height:1.6;padding:10px 0 10px 24px;position:relative}.demo-welcome-content li:before{content:"•";position:absolute;left:8px;color:#1d4ed8}.demo-note{padding:12px 16px;background:#eff6ff;border-left:3px solid #3b82f6;border-radius:6px;font-size:14px;color:#1e40af;margin-top:16px!important}.demo-welcome-button{width:100%;padding:14px;background:linear-gradient(135deg,#1d4ed8,#2563eb);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #667eea4d}.demo-welcome-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.demo-welcome-button:active{transform:translateY(0)}@media(max-width:768px){.demo-welcome-dialog{padding:24px;max-width:calc(100% - 32px)}.demo-welcome-dialog h2{font-size:20px}.demo-welcome-content p,.demo-welcome-content li{font-size:14px}}.mp-page{min-height:100vh;background:#f9fafb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.mp-header{background:linear-gradient(135deg,#3b82f6,#1d4ed8);padding:40px 24px;color:#fff}.mp-header-content{max-width:1200px;margin:0 auto}.mp-header h1{margin:0 0 8px;font-size:32px;font-weight:700}.mp-header p{margin:0;font-size:16px;opacity:.9}.mp-search-section{max-width:1200px;margin:-20px auto 0;padding:0 24px;position:relative;z-index:1}.mp-search-bar{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:4px}.mp-search-input{width:100%;padding:14px 20px;border:none;border-radius:10px;font-size:16px;outline:none;box-sizing:border-box}.mp-search-input::placeholder{color:#9ca3af}.mp-skill-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.mp-skill-filter{padding:6px 14px;border:1px solid #d1d5db;background:#fff;border-radius:20px;font-size:13px;cursor:pointer;transition:all .2s;color:#374151}.mp-skill-filter.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.mp-skill-filter:hover:not(.active){background:#f3f4f6;border-color:#9ca3af}.mp-content{max-width:1200px;margin:0 auto;padding:32px 24px}.mp-providers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px}.mp-provider-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:12px}.mp-provider-card:hover{border-color:#93c5fd;box-shadow:0 4px 12px #3b82f61a;transform:translateY(-2px)}.mp-provider-avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;color:#fff;flex-shrink:0}.mp-provider-name{margin:0;font-size:18px;font-weight:600;color:#111827}.mp-provider-org{margin:0;font-size:13px;color:#6b7280}.mp-provider-bio{margin:0;font-size:14px;color:#4b5563;line-height:1.5}.mp-provider-skills{display:flex;flex-wrap:wrap;gap:6px}.mp-skill-tag{padding:3px 10px;background:#eff6ff;color:#2563eb;border-radius:12px;font-size:12px;font-weight:500}.mp-skill-tag.mp-more{background:#f3f4f6;color:#6b7280}.mp-provider-languages{margin:0;font-size:12px;color:#9ca3af}.mp-provider-action{margin-top:auto}.mp-view-btn{padding:8px 20px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.mp-view-btn:hover{background:#2563eb}.mp-loading-state,.mp-error-state,.mp-empty-state{text-align:center;padding:60px 20px;color:#6b7280}.mp-error-state button,.mp-empty-state button{margin-top:12px;padding:8px 20px;background:#3b82f6;color:#fff;border:none;border-radius:8px;cursor:pointer}.mp-back-nav{max-width:1200px;margin:0 auto;padding:16px 24px}.mp-back-link{background:none;border:none;color:#3b82f6;font-size:14px;cursor:pointer;padding:0}.mp-back-link:hover{color:#2563eb;text-decoration:underline}.mp-profile-page{max-width:800px;margin:0 auto;padding:0 24px 40px}.mp-profile-header-section{display:flex;align-items:center;gap:20px;margin-bottom:32px;flex-wrap:wrap}.mp-profile-avatar{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:600;color:#fff;flex-shrink:0}.mp-profile-header-info{flex:1}.mp-profile-header-info h1{margin:0;font-size:28px;font-weight:700;color:#111827}.mp-profile-org{margin:4px 0 0;font-size:14px;color:#6b7280}.mp-profile-experience{margin:4px 0 0;font-size:14px;color:#3b82f6;font-weight:500}.mp-book-now-btn{padding:12px 32px;background:#3b82f6;color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.mp-book-now-btn:hover{background:#2563eb}.mp-profile-section{margin-bottom:28px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.mp-profile-section h2{margin:0 0 12px;font-size:16px;font-weight:600;color:#111827}.mp-profile-section p{margin:0;font-size:14px;color:#4b5563;line-height:1.6}.mp-profile-skills{display:flex;flex-wrap:wrap;gap:8px}.mp-certifications-list{display:flex;flex-direction:column;gap:8px}.mp-certification{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #f3f4f6}.mp-certification:last-child{border-bottom:none}.mp-cert-name{font-weight:500;color:#111827;font-size:14px}.mp-cert-issuer{color:#6b7280;font-size:13px}.mp-cert-year{color:#9ca3af;font-size:13px}.mp-services-list{display:flex;flex-direction:column;gap:8px}.mp-service-card,.mp-service-option{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border:1px solid #e5e7eb;border-radius:10px;transition:all .2s}.mp-service-option{cursor:pointer}.mp-service-option:hover{border-color:#93c5fd;background:#f0f7ff}.mp-service-main{display:flex;align-items:center;gap:12px}.mp-service-icon{font-size:20px}.mp-service-name{font-weight:500;font-size:14px;color:#111827}.mp-service-desc{font-size:12px;color:#6b7280;margin-top:2px}.mp-service-meta{display:flex;align-items:center;gap:12px;flex-shrink:0}.mp-service-duration{font-size:13px;color:#6b7280}.mp-service-price{font-weight:600;font-size:14px;color:#111827}.mp-availability-grid{display:flex;flex-direction:column;gap:4px}.mp-availability-day{display:flex;justify-content:space-between;padding:8px 12px;border-radius:6px}.mp-availability-day.open{background:#f0fdf4}.mp-availability-day.closed{background:#f9fafb;color:#9ca3af}.mp-day-name{font-weight:500;font-size:14px}.mp-day-hours{font-size:14px}.mp-booking-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mp-booking-modal{background:#fff;border-radius:16px;width:90%;max-width:500px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.mp-booking-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.mp-booking-header h2{margin:0;font-size:18px;font-weight:600}.mp-close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;padding:0;line-height:1}.mp-booking-steps{display:flex;gap:4px;padding:16px 24px;border-bottom:1px solid #f3f4f6}.mp-step{flex:1;text-align:center;padding:6px;font-size:12px;font-weight:500;color:#9ca3af;border-bottom:2px solid transparent}.mp-step.active{color:#3b82f6;border-bottom-color:#3b82f6}.mp-step.done{color:#10b981;border-bottom-color:#10b981}.mp-booking-content{padding:20px 24px;overflow-y:auto;flex:1}.mp-error{background:#fef2f2;color:#dc2626;padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:16px}.mp-service-list{display:flex;flex-direction:column;gap:8px}.mp-datetime-picker h4{margin:16px 0 12px;font-size:14px;font-weight:600;color:#111827}.mp-date-scroll{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px}.mp-date-btn{display:flex;flex-direction:column;align-items:center;padding:8px 14px;border:1px solid #d1d5db;border-radius:10px;background:#fff;cursor:pointer;min-width:50px;transition:all .2s}.mp-date-btn.selected{background:#3b82f6;color:#fff;border-color:#3b82f6}.mp-date-btn:hover:not(.selected){border-color:#93c5fd;background:#f0f7ff}.mp-date-day{font-size:11px;font-weight:500}.mp-date-num{font-size:16px;font-weight:600}.mp-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;margin-top:8px}.mp-slot-btn{padding:10px;border:1px solid #d1d5db;border-radius:8px;background:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;text-align:center}.mp-slot-btn:hover{background:#eff6ff;border-color:#3b82f6;color:#2563eb}.mp-loading,.mp-no-slots{text-align:center;padding:24px;color:#6b7280;font-size:14px}.mp-back-btn{display:block;margin-top:16px;background:none;border:none;color:#3b82f6;font-size:13px;cursor:pointer;padding:0}.mp-back-btn:hover{text-decoration:underline}.mp-confirm-details h3{margin:0 0 16px;font-size:16px;font-weight:600}.mp-confirm-summary{background:#f9fafb;border-radius:10px;padding:16px;margin-bottom:20px}.mp-confirm-row{display:flex;justify-content:space-between;padding:6px 0}.mp-confirm-label{color:#6b7280;font-size:14px}.mp-confirm-value{font-weight:500;font-size:14px;color:#111827}.mp-confirm-actions{display:flex;flex-direction:column;gap:10px}.mp-confirm-btn{padding:12px 24px;background:#3b82f6;color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.mp-confirm-btn:hover:not(:disabled){background:#2563eb}.mp-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.mp-success{text-align:center;padding:20px 0}.mp-success-icon{width:60px;height:60px;background:#dcfce7;color:#16a34a;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 16px}.mp-success h3{margin:0 0 12px;font-size:20px;font-weight:600;color:#111827}.mp-confirmation-code{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:12px;font-size:18px;margin:16px 0}.mp-confirmation-code strong{color:#16a34a}.mp-done-btn{margin-top:16px;padding:10px 24px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.mp-done-btn:hover{background:#2563eb}@media(max-width:768px){.mp-providers-grid{grid-template-columns:1fr}.mp-profile-header-section{flex-direction:column;text-align:center}.mp-booking-modal{width:95%;max-height:90vh}}
