.triade-tc-booking-form{max-width:800px;margin:0 auto;padding:20px;background:#f9f9f9;border-radius:8px}.triade-tc-step{background:#fff;padding:20px;margin-bottom:20px;border-radius:5px;box-shadow:0 2px 5px rgb(0 0 0 / .1)}.triade-tc-service-type,.triade-tc-specialties,.triade-tc-professionals{display:grid;gap:15px;margin-top:15px}.service-type-card,.specialty-card,.professional-card{display:block;padding:15px;border:2px solid #ddd;border-radius:5px;cursor:pointer;transition:all 0.3s ease}.service-type-card:hover,.specialty-card:hover,.professional-card:hover{border-color:#0073aa;background-color:#f0f8ff}input[type="radio"]:checked+.service-type-card,input[type="radio"]:checked+.specialty-card,input[type="radio"]:checked+.professional-card{border-color:#0073aa;background-color:#e3f2fd}.triade-tc-datetime-selection{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:15px}.available-times{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px;margin-top:10px}.time-slot{padding:8px 12px;border:2px solid #ddd;border-radius:3px;text-align:center;cursor:pointer;transition:all 0.3s ease}.time-slot:hover{border-color:#0073aa;background-color:#f0f8ff}.time-slot.selected{border-color:#0073aa;background-color:#0073aa;color:#fff}.triade-tc-navigation{text-align:center;margin-top:20px}.triade-tc-navigation button{margin:0 10px}.triade-tc-loading{text-align:center;padding:20px}.triade-tc-login-required{text-align:center;padding:40px 20px;background:#fff;border-radius:8px;box-shadow:0 2px 5px rgb(0 0 0 / .1)}.triade-tc-my-appointments{max-width:800px;margin:0 auto}.appointment-card{background:#fff;padding:20px;margin-bottom:15px;border-radius:5px;box-shadow:0 2px 5px rgb(0 0 0 / .1);border-left:4px solid #ddd}.appointment-card.status-confirmed{border-left-color:#46b450}.appointment-card.status-pending{border-left-color:#ffb900}.appointment-card.status-cancelled{border-left-color:#dc3232}.appointment-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-top:10px}.meta-item{display:flex;flex-direction:column}.meta-label{font-weight:700;color:#666;font-size:12px;text-transform:uppercase}.meta-value{margin-top:5px;color:#333}@media (max-width:768px){.triade-tc-datetime-selection{grid-template-columns:1fr}.available-times{grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}.appointment-meta{grid-template-columns:1fr}}.triade-packages-list{display:grid;gap:15px;margin-top:15px}.triade-package-item{border:2px solid #ddd;border-radius:8px;overflow:hidden;transition:all 0.3s ease}.triade-package-item:hover{border-color:#0073aa;box-shadow:0 2px 8px rgb(0 115 170 / .1)}.triade-package-item label{display:block;cursor:pointer;padding:0;margin:0}.triade-package-item input[type="radio"]{position:absolute;opacity:0;width:0;height:0}.triade-package-item input[type="radio"]:checked+.package-info{background-color:#e3f2fd;border-left:4px solid #0073aa}.package-info{padding:20px;transition:background-color 0.3s ease}.package-info h4{margin:0 0 10px 0;color:#0073aa;font-size:1.2em;font-weight:600}.package-description{margin:0 0 15px 0;color:#666;font-size:.95em;line-height:1.4}.package-details{display:flex;flex-wrap:wrap;gap:15px;margin:15px 0;font-size:.9em}.package-details span{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;background:#f5f5f5;border-radius:4px;color:#555}.package-price{margin:15px 0 0 0;font-size:1.3em;font-weight:700;color:#0073aa;text-align:right}#triade-tc-package-professionals{margin-top:20px;padding-top:20px;border-top:2px solid #eee}@media (max-width:768px){.package-details{flex-direction:column;gap:8px}.package-details span{align-self:flex-start}}.triade-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:10px 20px;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;box-shadow:0 2px 10px rgb(0 0 0 / .1)}.admin-header-left h1{margin:0;font-size:18px;font-weight:600}.admin-header-actions{display:flex;gap:10px;align-items:center}.header-btn{background:rgb(255 255 255 / .1);color:#fff;border:1px solid rgb(255 255 255 / .2);padding:8px 12px;border-radius:6px;text-decoration:none;font-size:14px;transition:all 0.3s ease;cursor:pointer;display:inline-flex;align-items:center;gap:5px}.header-btn:hover{background:rgb(255 255 255 / .2);transform:translateY(-1px);box-shadow:0 4px 8px rgb(0 0 0 / .15);color:#fff;text-decoration:none}.notification-count{background:#ff4757;color:#fff;border-radius:50%;padding:2px 6px;font-size:11px;font-weight:700;min-width:18px;text-align:center}.admin-user-info{display:flex;align-items:center;gap:15px;font-size:14px}.logout-btn{background:rgb(220 53 69 / .8);color:#fff;padding:6px 12px;border-radius:4px;text-decoration:none;transition:all 0.3s ease}.logout-btn:hover{background:rgb(220 53 69);color:#fff;text-decoration:none}.dropdown-menu{position:fixed;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 15px rgb(0 0 0 / .15);z-index:1000;min-width:200px;display:none}.dropdown-content{padding:5px 0}.dropdown-content a{display:block;padding:10px 15px;color:#333;text-decoration:none;border-bottom:1px solid #f0f0f0;transition:background 0.2s}.dropdown-content a:last-child{border-bottom:none}.dropdown-content a:hover{background:#f8f9fa;color:#667eea}.admin-modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background-color:rgb(0 0 0 / .5);justify-content:center;align-items:center}.admin-modal .modal-content{background:#fff;margin:auto;padding:20px;border-radius:8px;width:90%;max-width:500px;max-height:80vh;overflow-y:auto;position:relative}.close-modal{color:#aaa;float:right;font-size:28px;font-weight:700;cursor:pointer;position:absolute;top:10px;right:15px}.close-modal:hover,.close-modal:focus{color:#000}.notifications-list{max-height:400px;overflow-y:auto;margin:20px 0}.notification-item{padding:15px;border-bottom:1px solid #eee;position:relative}.notification-item:last-child{border-bottom:none}.notification-item strong{color:#667eea;display:block;margin-bottom:5px}.notification-item small{color:#888;font-style:italic}.unread-dot{position:absolute;top:15px;right:15px;width:8px;height:8px;background:#ff4757;border-radius:50%}.notification-actions{text-align:center;margin-top:20px;padding-top:20px;border-top:1px solid #eee}@media (max-width:768px){.triade-header{flex-direction:column;gap:10px;padding:15px}.admin-header-actions{order:-1;width:100%;justify-content:center}.admin-user-info{font-size:12px}}