/* Shared readability layer, loaded after all feature and responsive styles. */
:root{--ink:#172b20;--muted:#465448;--line:#bdc9bb}
body{font-size:16px;line-height:1.6}
.small,.micro,.proposal,.form-grid small,.clean-options small,.total-row small,.signed-info,.list-price-note{font-size:13px;line-height:1.6}
.section-heading p,.steps p,.terms-layout details p,.terms-aside ul,.concept-card p,.concept-card ul,.notice,.receipt,.calendar-note,.meeting-times p{font-size:14px;line-height:1.7}
.terms-aside ul,.concept-card p,.concept-card ul{color:var(--muted)}
.notice{color:#624600;border-left-color:#946200;background:#fff3d1}
.receipt{color:#184d2c;background:#e2f3e7}
.eyebrow{font-size:12px;color:#345a25;letter-spacing:.1em}.eyebrow.light{color:var(--lime)}
.demo-bar,.brand small,.nav-button small,.facts>div>span,.hero-bottom,.hero-bottom span:last-child,footer>small{font-size:11px}
.facts strong small,.hero-photo small,footer span{font-size:13px}.hero-photo small{opacity:1}.hero-photo figcaption{background:#102719ed;padding:12px;border-radius:6px}
footer>small{color:#c9d4c4}
.nav-button{font-size:14px;color:#354537}.nav-button.active{background:#dceede;color:#004c22}
.segmented{border:1px solid #a3b39e}.segmented button{font-size:14px;color:#384938;white-space:normal;min-height:46px}
.segmented button.selected{background:#006000;color:#fff;box-shadow:none}
.button,.button.small,.button-stack .button,.text-button{font-size:14px}
.form-grid label,label.field,dialog form>label,.refund-account-grid label,.refund-admin-settings label,.meeting-times label,.check,.checklist label,.checklist legend{font-size:14px}
input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px;border-color:#7b8c7a}
input::placeholder,textarea::placeholder{color:#596458;opacity:1}
.meeting-times input{font-size:16px!important}
.checklist label:has(input:disabled){color:#465448}
.schedule small,.date-tile small,.booking-card-body small,.admin-detail .meta,.stat span,.progress-list small,.refund-admin-settings p{font-size:13px}
.schedule strong,.price-row,.payment-schedule,.money-table,.money-action,.money-action button,.money-action strong,.progress-list strong{font-size:14px}
.booking-card-body strong{font-size:16px}.booking-card.selected{border:2px solid #006000;background:#e8f5e9}
.pill{font-size:12px;font-weight:700;color:#154c28;background:#def0e1;border:1px solid #528360}
.pill.angefragt,.pill.angebot,.pill.zahlung{color:#694300;background:#fff0c2;border-color:#9a6500}
.pill.abgelehnt,.pill.storniert{color:#8a202a;background:#ffe4e7;border-color:#b33a49}
.pill.intern,.pill.abgeschlossen{color:#334651;background:#e7edf2;border-color:#687c89}
.progress-list i{color:#354634}.progress-list li.done i{color:#fff}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,#view-team button:focus-visible{outline:3px solid #1754b8;outline-offset:3px}
button:disabled{opacity:1;filter:none;background:#e7ebe7;color:#536052;border-color:#a4afa3;box-shadow:none}
/* Dates remain readable even when unavailable; labels supplement every color. */
.weekdays{font-size:12px;font-weight:800;color:#354537}
.calendar button{min-width:0;min-height:72px;padding:9px 1px;font-size:21px;font-weight:800;line-height:1.2;background:#e3f3e7;color:#14532d;border:2px solid #468558;border-radius:8px;opacity:1}
.calendar button span{display:block;font-size:12px;font-weight:700;line-height:1.4;margin-top:5px;letter-spacing:0}
.calendar button:not(:disabled):hover{background:#c9e9d1;border-color:#14532d}
.calendar button.is-pending{background:#fff0c2;color:#694300;border-color:#9a6500;border-style:dashed;opacity:1}
.calendar button.is-blocked{background:#ffe4e7;color:#8a202a;border-color:#b33a49;opacity:1}
.calendar button.is-past{background:#edf0f2;color:#52606b;border-color:#a0abb3;border-style:dotted;opacity:1}
.calendar button.selected,.calendar button.selected:not(:disabled):hover{background:#006000;color:#fff;border-color:#003c00;box-shadow:inset 0 0 0 2px #fff}
.calendar button.today:after{background:currentColor}
.legend{font-size:13px;line-height:1.5;color:#273e2d;gap:12px 18px;flex-wrap:wrap}
.legend i{width:14px;height:14px;border:2px solid;flex-shrink:0}
.legend .free{background:#e3f3e7;border-color:#468558}.legend .pending{background:#fff0c2;border-color:#9a6500;border-style:dashed}.legend .booked{background:#ffe4e7;border-color:#b33a49}.legend .picked{background:#006000;border-color:#003c00}.legend .past{background:#edf0f2;border-color:#a0abb3;border-style:dotted}
.icon-button{min-width:44px;height:44px;border-color:#7b8c7a}.calendar-title .small{font-size:13px}
/* Mobile handover app: retain the club green, strengthen secondary copy. */
.team-brand small,.team-demo-strip,.team-kicker,.team-date small{font-size:12px}
.team-welcome p,.team-profile-control label,.team-stat span,.team-task-copy p,.team-owner,.team-subtitle,.team-empty p,.team-app-mark p,.team-install-card ol,.team-note,.team-note-box,.team-detail-meta small,.team-notification p,.team-notification small{font-size:14px;color:#465448}
.team-brand small,.team-kicker,.team-date small{color:#465448}
.team-next .team-kicker{color:#d8efcb}.team-next p{font-size:14px;color:#eef7ed}.team-next-head{font-size:14px}
.team-primary,.team-secondary,.team-inline,.team-mini,.team-filter-row button{font-size:14px}
.team-task-copy h3{font-size:17px;line-height:1.4}.team-task{border-color:#b4c3af}
.team-phase{font-size:12px;background:#deedff;color:#174a7b;border:1px solid #4275a8}.team-phase.back{background:#f0e4ff;color:#613588;border-color:#8963aa}
.team-nav button{font-size:12px;color:#41523f;min-height:52px;border:2px solid transparent}.team-nav button.active{background:#dceede;color:#004c22;border-color:#267348}
.team-filter-row button{color:#354a2f;border:1px solid #9cac94}.team-filter-row button.active{color:#fff}
.team-detail-meta strong,.team-detail-contact p{font-size:15px}
.team-primary:disabled,.team-secondary:disabled{opacity:1;background:#e7ebe7;color:#536052;border:1px solid #a4afa3}
@media(max-width:760px){
 .header nav{flex-wrap:wrap;justify-content:flex-start}.nav-button{font-size:13px;min-height:44px}.nav-button small{font-size:10px}
 .calendar,.weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
 .calendar-panel{padding:16px 10px}.calendar button{min-height:64px;font-size:19px;padding:8px 0}.calendar button span{font-size:10px}
 .weekdays{font-size:11px}.calendar-title{gap:8px}.calendar-title h3{font-size:23px}.calendar-title .small{font-size:12px}.calendar-arrows{gap:4px;flex-shrink:0}
 .segmented button{font-size:13px;padding:10px 5px;white-space:normal}.legend{font-size:12px;gap:9px 12px}
 .meeting-times{flex-wrap:wrap}.meeting-times label{flex:1}.meeting-times p{flex-basis:100%}
 .admin-toolbar .segmented button{font-size:13px}.list-price-note{font-size:11px;white-space:normal}.comparison{font-size:14px}
 .team-profile-control{flex-wrap:wrap}.team-profile-control select{max-width:100%}.team-stat{padding:14px 8px}.team-stat span{font-size:12px}
 .team-task-foot{flex-wrap:wrap}.team-owner{flex-wrap:wrap}.team-brand small{font-size:11px;letter-spacing:1px}
}
@media(max-width:360px){.calendar-panel{padding:14px 6px}.calendar,.weekdays{gap:3px}.calendar button span{font-size:10px;letter-spacing:-.3px}.calendar-title{flex-wrap:wrap}.calendar-title h3{font-size:22px}.team-nav{padding-left:4px;padding-right:4px}.team-nav button{font-size:11px}}
.people-list{margin-top:22px;display:grid;gap:12px}.people-card{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px;border:1px solid #a6b8a3;border-radius:12px;background:#f7f8f3}.people-card>div{min-width:0}.people-card h3{font-size:20px;margin:0 0 8px}.people-card p{margin:5px 0;font-size:14px;overflow-wrap:anywhere}.people-card .button{flex-shrink:0}.people-roles{border:1px solid #a6b8a3;border-radius:10px;margin:20px 0;padding:16px}.people-roles legend{font-size:14px;font-weight:700}#people-dialog h2{margin:0}#people-dialog details p{font-size:14px}#people-dialog .check{min-height:40px}
@media(max-width:500px){.people-card{align-items:stretch;flex-direction:column;gap:12px}.people-card .button{width:100%}}
