header{display:flex;align-items:center;justify-content:space-between;gap:22px}
.public-nav{display:flex;align-items:center;gap:9px;padding:6px;border:1px solid #dbe9e4;border-radius:16px;background:#ffffffb8;box-shadow:0 9px 25px #1741390d}
.public-nav a{padding:9px 12px;border-radius:10px;color:#0b5a54;font-size:13px;font-weight:800;text-decoration:none;transition:.2s}
.public-nav a:first-child{background:#14786f;color:#fff;box-shadow:0 6px 14px #14786f2d}
.public-nav a:hover{background:#e6f4ee}.public-nav a:first-child:hover{background:#0b5a54}
@media(max-width:680px){header{align-items:flex-start;flex-direction:column;gap:14px}.public-nav{width:100%;justify-content:space-between}.public-nav a{flex:1;text-align:center;padding:10px 8px;font-size:12px}}
.attendance-options{display:grid;gap:12px;margin:20px 0}.attendance-option{display:block;margin:0;cursor:pointer}.attendance-option>input{position:absolute;opacity:0;pointer-events:none}.attendance-option-content{display:grid;grid-template-columns:1fr auto;gap:2px 14px;padding:17px 18px;border:1px solid #d5e5df;border-radius:16px;background:#fbfefd;transition:.2s}.attendance-option-content strong{font-size:16px}.attendance-option-content small{color:#68807d;grid-column:1}.attendance-option-content b{grid-column:2;grid-row:1/3;align-self:center;color:#14786f}.attendance-option>input:checked+.attendance-option-content{border-color:#14786f;background:#e9f7f1;box-shadow:0 0 0 3px #14786f1c}.attendance-option:hover .attendance-option-content{border-color:#7bb9aa;transform:translateY(-1px)}
.slot em{display:none}
.slot{min-height:58px;padding:9px 11px}.confirmation-details{display:grid;gap:3px;margin:20px 0;padding:16px;border:1px solid #d7e8e2;border-radius:15px;background:#f4faf7}.confirmation-details span{margin-top:8px;color:#68807d;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.confirmation-details span:first-child{margin-top:0}.confirmation-details strong{color:#0b5a54}
.booking-actions{display:grid;gap:12px}.booking-action{display:flex;align-items:center;gap:14px;padding:17px 18px;border-radius:16px;background:#14786f;color:#fff;text-decoration:none;box-shadow:0 9px 20px #14786f24;transition:.2s}.booking-action:hover{background:#0b5a54;transform:translateY(-2px)}.booking-action.secondary{background:#fff;border:1px solid #cfe2dc;color:#0b5a54;box-shadow:none}.booking-action.secondary:hover{background:#eff9f5}.booking-action-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:#ffffff2b;font-size:20px;font-weight:800}.booking-action.secondary .booking-action-icon{background:#dff5ed}.booking-action strong,.booking-action small{display:block}.booking-action small{margin-top:2px;color:#dff5ed;font-size:13px}.booking-action.secondary small{color:#68807d}
input[type="password"]+button{margin-top:14px}
.agenda-additional-button{padding:13px 19px!important;line-height:1.5}
.profile-hero{display:block;padding-bottom:25px}.profile-title-row{display:flex;align-items:center;gap:15px;margin:8px 0 12px}.profile-title-row h1{margin:0}.profile-title-photo,.profile-title-letter{display:grid;place-items:center;width:76px;height:76px;flex:0 0 76px;border-radius:22px;object-fit:cover;object-position:center;background:#dff5ed;color:#14786f;font-size:30px;font-weight:800;box-shadow:0 10px 22px #14786f24}.profile-hero .hero-points{margin-top:16px}.attendance-public .professional-card{padding:16px}.attendance-public .professional-card p{margin-bottom:5px}.booking-card{padding:26px}@media(max-width:680px){.profile-title-row{gap:12px}.profile-title-photo,.profile-title-letter{width:62px;height:62px;flex-basis:62px;border-radius:18px}.profile-title-row h1{font-size:34px}}
#professional-list .professional-card{display:grid;grid-template-columns:1fr 48px;column-gap:12px;align-items:center;padding:16px}.professional-card .professional-avatar{grid-column:2;grid-row:1;margin:0}#professional-list .professional-card h3{grid-column:1;grid-row:1}#professional-list .professional-card p,#professional-list .professional-card small,#professional-list .professional-card .button{grid-column:1/-1}.hero-profile-photo{width:100%;height:100%;object-fit:contain;object-position:center}.hero-profile-letter{display:grid;place-items:center;width:100%;height:100%;color:#14786f;font-size:72px;font-weight:800}
#professional-list .professional-card p{margin:4px 0 6px}#professional-list .professional-card small{min-height:0;margin:3px 0;line-height:1.35}#professional-list .professional-card .button{margin-top:12px}
#professional-list .professional-card{grid-template-columns:1fr 78px}#professional-list .professional-card .professional-avatar{width:78px;height:78px;border-radius:50%;font-size:26px}.hero-illustration:has(.hero-profile-photo){flex-basis:220px;width:220px;height:220px;border-radius:50%}
.hero:has(.hero-illustration) h1{font-size:clamp(28px,4vw,43px)}
.attendance-public{margin:8px 0 34px}.attendance-public>div>span{color:#14786f;font-size:11px;font-weight:850;letter-spacing:1.4px}.attendance-public h2{margin:4px 0 14px;font-size:22px}.attendance-public .professional-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.attendance-public .professional-card{position:relative;min-height:132px;padding:17px;border:1px solid #d3e7df;border-radius:16px;background:linear-gradient(145deg,#f8fdfb,#eaf7f1);box-shadow:none}.attendance-public .professional-card:before{content:'';width:28px;height:4px;margin-bottom:12px;border-radius:5px;background:#14786f}.attendance-public .professional-card h3{font-size:17px}.attendance-public .professional-card p{margin:3px 0;color:#68807d;font-weight:500}.attendance-public .professional-card strong{margin-top:auto;color:#0b5a54;font-size:17px}.booking-card{margin-top:8px}
.booking-card .slot{min-height:48px;padding:8px;align-items:center;justify-content:center;text-align:center}.booking-card .slot strong{font-size:15px}
.card form.grid>button{justify-self:start;margin-top:22px}.inline-form button{vertical-align:middle}.card table td>a,.agenda-action{display:inline-block;margin:0 4px 0 0;padding:6px 9px;border-radius:8px;background:#eaf7f1;color:#0b5a54;font-size:12px;font-weight:800;text-decoration:none}.card table td>a:hover,.agenda-action:hover{background:#d7eee5}
.absence-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #e1ece8}.absence-row p{margin:0}.absence-row-actions{display:flex;align-items:center;gap:5px;white-space:nowrap}.agenda-additional-button{justify-self:center!important;align-self:center;padding:13px 19px!important;line-height:1.5}@media(max-width:680px){.absence-row{align-items:flex-start;flex-direction:column}.absence-row-actions{width:100%}}
.status-pill{display:inline-block;padding:5px 9px;border-radius:99px;font-size:12px;font-weight:800}.status-pill.is-active{background:#e1f4ea;color:#19704c}.status-pill.is-blocked{background:#fde8e7;color:#a23b35}.back-link{display:inline-block;margin-bottom:12px;color:#0b5a54;font-size:13px;font-weight:800;text-decoration:none}.details-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:-2px 0 24px;padding-bottom:14px;border-bottom:1px solid #dfebe7}.details-tabs a{padding:9px 12px;border-radius:10px;color:#55716b;font-size:13px;font-weight:800;text-decoration:none}.details-tabs a.active{background:#14786f;color:#fff}.details-grid,.financial-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.details-grid article,.financial-summary article{display:grid;gap:7px;padding:16px;border:1px solid #dcebe6;border-radius:14px;background:#f9fdfb}.details-grid span,.financial-summary span{color:#68807d;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.4px}.details-grid strong,.financial-summary strong{color:#0b5a54;font-size:17px}.details-grid small{color:#68807d;line-height:1.45}.detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.detail-actions form{margin:0}.detail-actions button.danger{background:#b54840}.financial-filter{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:12px 0 20px}.financial-filter label{display:grid;gap:5px;font-size:12px;font-weight:800;color:#55716b}.financial-filter select,.financial-filter input{min-width:100px}.financial-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 20px}@media(max-width:760px){.details-grid,.financial-summary{grid-template-columns:1fr}.details-tabs{gap:3px}.details-tabs a{padding:8px 9px;font-size:12px}}
.admin-nav{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 28px;padding:6px;border:1px solid #dceae5;border-radius:16px;background:#ffffffb8;box-shadow:0 10px 25px #1741390d}.admin-nav a{padding:9px 12px!important;border-radius:10px;color:#42635d!important;font-size:13px;font-weight:800;text-decoration:none}.admin-nav a:hover{background:#eaf7f1}.admin-nav a.active{background:#14786f;color:#fff!important;box-shadow:0 6px 14px #14786f2b}.details-heading{padding:4px 4px 26px}.back-link{display:inline-flex;align-items:center;gap:7px;margin:0 0 16px;padding:9px 12px;border:1px solid #c9e2da;border-radius:10px;background:#fff;color:#0b5a54;font-size:13px;font-weight:800;box-shadow:0 5px 13px #1741390c}.back-link:hover{background:#eaf7f1;transform:translateY(-1px)}.details-heading>span{display:block;color:#14786f;font-size:11px;font-weight:850;letter-spacing:1.4px}.details-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 26px;padding:7px;border:1px solid #d8e9e3;border-radius:17px;background:#eff7f3}.details-tabs a{display:grid;place-items:center;min-height:52px;padding:11px 13px;border-radius:12px;color:#54706b;font-size:14px;font-weight:850;text-align:center;transition:.2s}.details-tabs a:hover{background:#fff;color:#0b5a54}.details-tabs a.active{background:#14786f;color:#fff;box-shadow:0 8px 18px #14786f2b}.detail-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px;padding-top:22px;border-top:1px solid #dfebe7}.detail-actions form{margin:0}.detail-actions button{width:100%;min-height:48px}.detail-actions button.danger{background:#b54840}@media(max-width:760px){.details-grid,.financial-summary,.detail-actions{grid-template-columns:1fr}.details-tabs{grid-template-columns:1fr}.details-tabs a{min-height:0}.admin-nav a{flex:1;text-align:center}}
.link-toggle{display:flex;align-items:center;gap:14px;margin:18px 0 20px;padding:16px 18px;border:1px solid #cfe3dc;border-radius:15px;background:#f4fbf7;cursor:pointer}.link-toggle:hover{border-color:#7fbba9;background:#eef9f4}.link-toggle input{width:22px;height:22px;flex:0 0 22px;margin:0;accent-color:#14786f;cursor:pointer}.link-toggle span{display:grid;gap:2px}.link-toggle strong{color:#0b5a54;font-size:15px}.link-toggle small{color:#68807d;font-size:13px;font-weight:500}
.link-description{display:inline-block;margin-top:4px;color:#54706b;font-size:12px;font-weight:800}
.card form.grid>button{align-self:end;height:48px;min-height:48px;margin-top:22px!important;padding:11px 19px!important}
.booking-actions a[href*="mode=guest"]{display:none}
.login-help{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:22px;padding-top:20px;border-top:1px solid #dce8e4}.login-help .button{margin:0}.login-help .secondary{background:#edf8f3;color:#0b5a54;box-shadow:none}
.payment-fees{margin:26px 0;padding:22px 0;border-top:1px solid #dce8e4;border-bottom:1px solid #dce8e4}.payment-fees h2{margin:4px 0 7px;font-size:21px}.payment-fees>p{color:#68807d;margin:0 0 16px}
.professional-search-form{display:flex;gap:8px;align-items:center}.professional-search-form input{margin:0;min-width:260px;padding:10px 12px}.professional-search-form button{padding:10px 14px}.public-pagination{display:flex;justify-content:center;gap:7px;margin-top:24px}.public-pagination a{display:grid;place-items:center;width:36px;height:36px;border:1px solid #cfe2dc;border-radius:10px;color:#0b5a54;font-weight:800;text-decoration:none}.public-pagination a.active,.public-pagination a:hover{background:#14786f;border-color:#14786f;color:#fff}@media(max-width:680px){.professional-search-form{width:100%;margin-top:14px}.professional-search-form input{min-width:0;flex:1}}
