*{box-sizing:border-box}html,body,#root{height:100%}body{color:#d4f8ee;background:#0a1a18;margin:0;font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif}.aurora-bg{z-index:-1;background:#0a1a18;position:fixed;inset:0;overflow:hidden}.aurora-blob{filter:blur(110px);opacity:.35;border-radius:50%;position:absolute}.blob-green{background:#2ee6a6;width:520px;height:520px;top:-120px;left:-100px}.blob-violet{background:#8b5cf6;width:560px;height:560px;bottom:-160px;right:-120px}.navbar{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a1a18bf;border-bottom:1px solid #2ee6a626;justify-content:space-between;align-items:center;padding:18px 40px;display:flex;position:sticky;top:0}.brand{color:#d4f8ee;align-items:center;gap:8px;font-size:1.15rem;font-weight:700;text-decoration:none;display:flex}.brand-dot{background:linear-gradient(135deg,#2ee6a6,#8b5cf6);border-radius:50%;width:10px;height:10px}.nav-links{gap:28px;display:flex}.nav-links a{color:#d4f8eea6;padding-bottom:4px;font-size:.95rem;font-weight:500;text-decoration:none}.nav-links a.active{color:#2ee6a6;border-bottom:2px solid #2ee6a6}.page-shell{max-width:1100px;margin:0 auto;padding:40px 24px 80px}.hero{text-align:center;padding:40px 0 24px}.eyebrow{text-transform:uppercase;letter-spacing:2px;color:#2ee6a6;margin:0 0 12px;font-size:.78rem;font-weight:700}.hero h1{background:linear-gradient(135deg,#d4f8ee,#2ee6a6 60%,#8b5cf6);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 16px;font-size:2.8rem}.hero-sub{color:#d4f8eeb3;max-width:560px;margin:0 auto 28px;font-size:1.05rem;line-height:1.5}.hero-sub.small{max-width:640px;margin-bottom:20px;font-size:.92rem}.search-bar{background:#d4f8ee0f;border:1px solid #2ee6a64d;border-radius:999px;align-items:center;gap:10px;max-width:600px;margin:0 auto;padding:14px 20px;display:flex}.search-bar svg{color:#2ee6a6;flex-shrink:0}.search-bar input{color:#d4f8ee;background:0 0;border:none;outline:none;flex:1;font-size:.98rem}.search-bar input::placeholder{color:#d4f8ee66}.result-count{color:#d4f8ee80;margin-top:14px;font-size:.88rem}.trust-strip{grid-template-columns:repeat(3,1fr);gap:18px;margin:36px 0 48px;display:grid}.trust-item{background:#d4f8ee0a;border:1px solid #8b5cf640;border-radius:14px;gap:12px;padding:18px;display:flex}.trust-icon{color:#2ee6a6;background:#2ee6a626;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-weight:700;display:flex}.trust-item strong{color:#d4f8ee;font-size:.95rem}.trust-item p{color:#d4f8ee99;margin:4px 0 0;font-size:.85rem}.listing h2{margin-bottom:20px;font-size:1.4rem}.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.card{color:inherit;background:#d4f8ee0d;border:1px solid #2ee6a633;border-radius:16px;padding:20px;text-decoration:none;transition:transform .15s,border-color .15s;display:block;position:relative}.card:hover{border-color:#2ee6a6;transform:translateY(-3px)}.card-top{align-items:center;gap:12px;margin-bottom:10px;display:flex}.avatar{color:#0a1a18;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-weight:700;display:flex}.avatar.large{width:84px;height:84px;font-size:1.6rem}.card h3{margin:0;font-size:1.05rem}.card-title{color:#d4f8ee99;margin:2px 0 0;font-size:.85rem}.card-location{color:#d4f8ee80;margin:0 0 10px;font-size:.85rem}.chip-row{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.chip{color:#c4b5fd;background:#8b5cf62e;border-radius:999px;padding:4px 10px;font-size:.75rem}.card-footer{justify-content:space-between;font-size:.9rem;display:flex}.rating{color:#f5c969;font-weight:600}.price{color:#2ee6a6;font-weight:700}.verified-badge,.pending-badge{color:#2ee6a6;background:#2ee6a626;border-radius:999px;margin-top:10px;padding:3px 10px;font-size:.72rem;display:inline-block}.pending-badge{color:#f5c969;background:#f5c96926}.no-results{color:#d4f8ee80;text-align:center;grid-column:1/-1;padding:40px 0}.back-link{color:#2ee6a6;margin-bottom:20px;font-size:.9rem;text-decoration:none;display:inline-block}.detail-header{align-items:center;gap:20px;margin-bottom:30px;display:flex}.detail-header h1{margin:0 0 4px;font-size:1.8rem}.detail-grid{grid-template-columns:1.4fr 1fr;gap:20px;display:grid}.detail-card{background:#d4f8ee0d;border:1px solid #2ee6a633;border-radius:16px;margin-bottom:20px;padding:22px}.detail-card h2{margin-top:0;font-size:1.1rem}.route-list{margin:0;padding:0;list-style:none}.route-list li{border-bottom:1px solid #d4f8ee14;padding:8px 0}.booking-card{text-align:center}.price-big{color:#2ee6a6;margin:10px 0 0;font-size:2.2rem;font-weight:800}.price-sub{color:#d4f8ee8c;margin:0 0 20px;font-size:.85rem}.booking-note{color:#d4f8ee73;margin-top:10px;font-size:.78rem}.btn-primary{color:#0a1a18;cursor:pointer;background:linear-gradient(135deg,#2ee6a6,#8b5cf6);border:none;border-radius:10px;width:100%;padding:13px;font-size:.95rem;font-weight:700}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.dashboard-head{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.dashboard-head h1{margin:0}.role-toggle{background:#d4f8ee0f;border-radius:999px;padding:4px;display:flex}.role-toggle button{color:#d4f8ee99;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:8px 16px;font-size:.85rem}.role-toggle button.active{color:#0a1a18;background:#2ee6a6;font-weight:700}.stat-row{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;display:grid}.stat-card{text-align:center;background:#d4f8ee0d;border:1px solid #8b5cf640;border-radius:14px;padding:20px}.stat-num{color:#2ee6a6;font-size:1.8rem;font-weight:800;display:block}.stat-label{color:#d4f8ee99;font-size:.82rem}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;text-transform:uppercase;color:#d4f8ee73;letter-spacing:1px;padding:10px 8px;font-size:.78rem}.data-table td{border-top:1px solid #d4f8ee14;padding:12px 8px;font-size:.9rem}.status-pill{text-transform:capitalize;border-radius:999px;padding:3px 10px;font-size:.75rem}.status-pill.confirmed,.status-pill.approved{color:#2ee6a6;background:#2ee6a62e}.status-pill.pending{color:#f5c969;background:#f5c9692e}.status-pill.declined{color:#ef767a;background:#ef767a2e}.status-pill.payment-not_due{color:#d4f8ee80;background:#d4f8ee14}.status-pill.payment-due{color:#f5c969;background:#f5c9692e}.status-pill.payment-paid{color:#2ee6a6;background:#2ee6a62e}.status-pill.notify-not_connected{color:#d4f8ee73;background:#d4f8ee14}.status-pill.notify-pending{color:#c4b5fd;background:#8b5cf633}.btn-secondary{color:#d4f8ee;cursor:pointer;background:#d4f8ee14;border:1px solid #2ee6a659;border-radius:8px;padding:10px 16px;font-size:.88rem}.form-error{color:#ef767a;margin:4px 0 0;font-size:.85rem}.booking-flow .booking-note{margin-bottom:14px}.confirmation-banner{background:#2ee6a61a;border:1px solid #2ee6a659;border-radius:12px;padding:18px}.confirmation-banner strong{color:#2ee6a6;font-size:1.02rem}.confirmation-banner p{color:#d4f8eebf;margin:8px 0 14px;font-size:.88rem}.request-form{flex-direction:column;gap:14px;display:flex}.request-form label{color:#d4f8eebf;flex-direction:column;gap:6px;font-size:.88rem;display:flex}.request-form input{color:#d4f8ee;background:#d4f8ee0f;border:1px solid #2ee6a640;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:.92rem}.slot-dates{flex-direction:column;gap:14px;display:flex}.slot-date-label{color:#d4f8ee99;margin:0 0 8px;font-size:.85rem;font-weight:600}.slot-grid{flex-wrap:wrap;gap:8px;display:flex}.slot-btn{color:#c4b5fd;cursor:pointer;background:#8b5cf61f;border:1px solid #8b5cf666;border-radius:8px;padding:8px 14px;font-size:.85rem}.slot-btn:hover{border-color:#8b5cf6}.slot-btn.selected{color:#0a1a18;background:#8b5cf6;border-color:#8b5cf6;font-weight:700}.therapist-select{color:#d4f8eeb3;align-items:center;gap:10px;margin-bottom:20px;font-size:.9rem;display:flex}.therapist-select select{color:#d4f8ee;background:#d4f8ee0f;border:1px solid #2ee6a64d;border-radius:8px;padding:8px 12px;font-family:inherit;font-size:.9rem}.dashboard-grid{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}.availability-form{flex-wrap:wrap;align-items:end;gap:14px;display:flex}.availability-form label{color:#d4f8eeb3;flex-direction:column;gap:6px;font-size:.85rem;display:flex}.availability-form input{color:#d4f8ee;background:#d4f8ee0f;border:1px solid #2ee6a64d;border-radius:8px;padding:9px 12px;font-family:inherit}.availability-form button{width:auto;padding:10px 18px}.request-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.request-row{background:#d4f8ee0a;border:1px solid #f5c9694d;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.request-row .card-location{margin:2px 0 0}.request-actions{flex-shrink:0;gap:8px;display:flex}.btn-approve,.btn-decline{cursor:pointer;border:none;border-radius:8px;padding:8px 14px;font-size:.82rem;font-weight:600}.btn-approve{color:#0a1a18;background:#2ee6a6}.btn-decline{color:#ef767a;background:#ef767a2e}.calendar-widget{width:100%}.calendar-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.calendar-head button{color:#d4f8ee;cursor:pointer;background:#d4f8ee14;border:1px solid #2ee6a64d;border-radius:6px;width:28px;height:28px;font-size:1rem}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-grid.weekdays{margin-bottom:4px}.cal-weekday{text-align:center;color:#d4f8ee73;font-size:.72rem}.cal-cell{aspect-ratio:1;color:#d4f8eecc;background:#d4f8ee08;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;font-size:.78rem;display:flex}.cal-cell.empty{background:0 0}.cal-cell.today{border:1px solid #2ee6a6}.cal-day-num{line-height:1.2}.cal-dots{gap:2px;min-height:6px;margin-top:2px;display:flex}.cal-dot{border-radius:50%;width:5px;height:5px}.cal-dot.open{background:#8b5cf6}.cal-dot.pending{background:#f5c969}.cal-dot.booked{background:#2ee6a6}.cal-legend{color:#d4f8ee8c;align-items:center;gap:14px;margin-top:12px;font-size:.76rem;display:flex}.cal-legend span{align-items:center;gap:5px;display:flex}.settings-form{flex-direction:column;gap:16px;max-width:480px;display:flex}.settings-form label{color:#d4f8eebf;flex-direction:column;gap:6px;font-size:.88rem;display:flex}.settings-form input,.settings-form select,.settings-form textarea{color:#d4f8ee;background:#d4f8ee0f;border:1px solid #2ee6a640;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:.92rem}.toggle-row{flex-direction:column;gap:10px;display:flex}.toggle-label{align-items:center;flex-direction:row!important;gap:10px!important}.save-confirm{color:#2ee6a6;font-size:.85rem}.card-head-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.card-head-row h2{margin:0}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.qr-share{align-items:center;gap:18px;display:flex}.qr-code{background:#d4f8ee;border:1px solid #2ee6a64d;border-radius:12px;flex-shrink:0;padding:6px}.qr-share-body{flex-direction:column;gap:8px;min-width:0;display:flex}.qr-share-label{color:#d4f8ee;margin:0;font-size:.9rem;font-weight:600}.qr-link{color:#d4f8ee99;overflow-wrap:anywhere;background:#d4f8ee0d;border-radius:6px;padding:6px 10px;font-size:.78rem;display:block}.qr-share-actions{flex-wrap:wrap;gap:8px;display:flex}.qr-share-actions a.btn-secondary{align-items:center;text-decoration:none;display:inline-flex}@media (width<=760px){.trust-strip,.detail-grid,.stat-row{grid-template-columns:1fr}.nav-links{gap:16px}.hero h1{font-size:2.1rem}.qr-share{flex-direction:column;align-items:flex-start}}
