.ap-app{--ap-ink:#163f39;--ap-accent:#1d6558;--ap-soft:#eef5ef;--ap-line:#dce5dd;--ap-muted:#5b706a;max-width:1160px;margin:24px auto;padding:28px;background:#faf9f5;border:1px solid #e5e8de;border-radius:24px;color:var(--ap-ink);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-sizing:border-box;isolation:isolate}.ap-app *{box-sizing:border-box}.ap-app h2,.ap-app h3,.ap-app h4,.ap-app p{color:inherit}.ap-app h2{font-size:clamp(27px,4vw,38px);line-height:1.2;margin:6px 0 12px;letter-spacing:-.035em}.ap-app h3{font-size:23px;line-height:1.3;margin:8px 0 18px}.ap-app h4{font-size:17px;line-height:1.4;margin:0;text-transform:capitalize}.ap-app p{margin:10px 0 16px}.ap-app button,.ap-app input,.ap-app select,.ap-app textarea{font:inherit}.ap-app button{appearance:none;cursor:pointer;border:1px solid var(--ap-line);border-radius:10px;background:white;color:var(--ap-ink);padding:10px 15px;min-height:44px;line-height:1.35;text-transform:none;letter-spacing:normal;box-shadow:none}.ap-app button:hover{border-color:var(--ap-accent);background:#eaf2eb}.ap-app button:disabled{cursor:default;opacity:.62}.ap-app button:focus-visible,.ap-app a:focus-visible,.ap-app input:focus-visible,.ap-app select:focus-visible,.ap-app textarea:focus-visible{outline:3px solid #c88a32;outline-offset:3px}.ap-app a{color:var(--ap-accent);text-decoration:underline}.ap-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-bottom:22px;border-bottom:1px solid var(--ap-line)}.ap-eyebrow{font-size:11px;font-weight:750;letter-spacing:.15em;margin:0!important;color:var(--ap-muted)!important}.ap-header>div>p:last-child{color:var(--ap-muted)}.ap-app .ap-quiet{background:transparent;border-color:#b3c8bd}.ap-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:28px}.ap-toolbar h3{margin-bottom:6px;font-size:21px}.ap-toolbar nav{display:flex;gap:6px}.ap-legend{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--ap-muted)!important;flex-wrap:wrap}.ap-dot{height:8px;width:8px;border-radius:50%;display:inline-block;margin-left:8px}.ap-dot:first-child{margin-left:0}.ap-green{background:#3d8a67}.ap-slate{background:#718298}.ap-gray{background:#b3b3ab}.ap-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ap-day{background:white;border:1px solid var(--ap-line);border-radius:16px;padding:17px}.ap-day>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;flex-wrap:wrap}.ap-today{border-color:#8aaf9d}.ap-tag{font-size:10px;font-weight:700;padding:3px 8px;background:#edf3dc;border-radius:20px;color:#53612a}.ap-slots{display:grid;gap:8px}.ap-app .ap-slot{display:flex;flex-direction:column;gap:3px;align-items:flex-start;width:100%;text-align:left;padding:12px 14px}.ap-slot-time{font-weight:700;font-size:15px}.ap-slot-status{font-size:12px}.ap-app .ap-free{background:#f0f7ef;border-color:#c9dfca}.ap-app .ap-reserved{background:#f0f2f7;border-color:#dce1e9;color:#50647b}.ap-app .ap-blocked{background:#f2f1ee;border-color:#e5e3dd;color:#706e65}.ap-app .ap-selected{background:var(--ap-accent);border-color:var(--ap-accent);color:white}.ap-app .ap-selected:hover{background:#164b42;color:white}.ap-selection-bar{position:sticky;bottom:12px;z-index:5;display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 18px;background:white;border:1px solid var(--ap-line);border-radius:14px;margin-top:20px;box-shadow:0 5px 24px #163f3918}.ap-app .ap-primary{background:var(--ap-accent);border-color:var(--ap-accent);color:white;font-weight:650}.ap-app .ap-primary:hover{background:#164b42}.ap-footnote{font-size:12px;color:var(--ap-muted)!important}.ap-panel{background:white;border:1px solid var(--ap-line);border-radius:16px;padding:24px;margin-top:24px}.ap-app .ap-link{border:0;background:transparent;text-decoration:underline;padding:8px 0;font-size:13px;min-height:40px}.ap-app .ap-link:hover{background:transparent;color:#092c25}.ap-choice-list{display:grid;gap:12px;margin:20px 0}.ap-choice{display:flex;gap:16px;align-items:center;justify-content:space-between;border:1px solid var(--ap-line);border-radius:12px;padding:14px}.ap-app label{display:block;font-size:14px;font-weight:550}.ap-app input:not([type=checkbox]),.ap-app textarea,.ap-app select{display:block;width:100%;min-height:46px;margin-top:6px;padding:10px 12px;border:1px solid #b8c9c0;background:white;border-radius:8px;color:var(--ap-ink);font-size:16px}.ap-app select{padding-right:30px}.ap-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.ap-app .ap-check{display:flex;align-items:flex-start;gap:10px;font-size:14px;margin:22px 0}.ap-app input[type=checkbox]{width:20px;height:20px;min-width:20px;accent-color:var(--ap-accent);margin-top:2px}.ap-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.ap-review-list{list-style:none!important;margin:20px 0!important;padding:0!important}.ap-review-list>li{padding:14px 0;border-bottom:1px solid var(--ap-line)}.ap-exceptions{color:#8b491c!important;font-size:14px}.ap-person-recap{background:var(--ap-soft);padding:16px;border-radius:12px;margin-bottom:22px}.ap-alert{white-space:pre-line;background:#edf5ec;padding:16px;border-radius:10px;border:1px solid #cbdcbe;margin:18px 0}.ap-alert-error{background:#fff0e8;color:#873b21;padding:15px;border-radius:10px;border:1px solid #e5c6b5}.ap-success-icon{display:grid;place-items:center;background:var(--ap-soft);border-radius:50%;width:52px;height:52px;font-size:28px;margin-bottom:16px}.ap-manage-tools{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:12px 0}.ap-person{font-weight:650;margin-top:4px}.ap-coordinates{overflow-wrap:anywhere;font-size:13px;color:var(--ap-muted)!important;padding:3px 10px;margin:4px 0!important}.ap-overlay{position:fixed;inset:0;background:#12332dcc;z-index:100000;display:flex;align-items:center;justify-content:center;padding:18px;overflow:auto}.ap-modal{position:relative;background:#fff;border-radius:18px;padding:28px;width:100%;max-width:560px;max-height:90vh;overflow:auto;box-shadow:0 24px 80px #0004}.ap-modal label{margin:16px 0}.ap-app .ap-close{position:absolute;top:8px;right:8px;font-size:24px;padding:0;width:40px;min-height:40px;border:0}.ap-modal[hidden],.ap-app [hidden]{display:none!important}
@media(min-width:1100px){.ap-days{grid-template-columns:repeat(3,minmax(0,1fr))}.ap-is-managing .ap-days{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ap-app{margin:12px auto;padding:17px;border-radius:16px}.ap-header{display:block}.ap-header .ap-quiet{margin-top:8px}.ap-toolbar{display:block;margin-top:20px}.ap-toolbar nav{margin-top:14px}.ap-toolbar nav button:nth-child(2){flex:1}.ap-days{grid-template-columns:1fr;gap:12px}.ap-day{padding:15px}.ap-slots{gap:9px}.ap-app .ap-slot{padding:13px}.ap-form-grid{grid-template-columns:1fr}.ap-choice{flex-wrap:wrap;gap:10px}.ap-choice>label{order:3;width:100%}.ap-choice>div{flex:1}.ap-panel{padding:18px}.ap-selection-bar{padding:12px;bottom:8px;font-size:13px}.ap-selection-bar button{font-size:14px}.ap-modal{padding:22px}.ap-manage-tools label{width:100%}}
@media print{body *{visibility:hidden}.ap-app,.ap-app *{visibility:visible}.ap-app{position:absolute;left:0;top:0;width:100%;max-width:none;border:0;background:white;padding:0;margin:0;font-size:10pt}.ap-header,.ap-toolbar nav,.ap-manage-tools,.ap-selection-bar,.ap-footnote,.ap-app .ap-link,.ap-overlay,.ap-panel{display:none!important}.ap-days,.ap-is-managing .ap-days{grid-template-columns:1fr 1fr;gap:8px}.ap-day{break-inside:avoid;padding:10px}.ap-app button{border:0;background:white!important;color:black!important;opacity:1!important;min-height:0;padding:4px}.ap-app .ap-slot-time{font-size:10pt}.ap-app .ap-slot-status{font-size:9pt}.ap-coordinates{font-size:9pt}.ap-toolbar{margin:0}.ap-app h3{font-size:15pt}.ap-app h4{font-size:11pt}}
.ap-app .ap-panel h3[tabindex="-1"],.ap-app .ap-toolbar h3[tabindex="-1"]{outline:none}.ap-login{font-size:13px;white-space:nowrap;margin-top:6px}
/* 1.1: contrast isolated from theme styles, pink closures, visible navigation. */
#ap-app,#ap-app *{color:#000!important}
#ap-app button.ap-primary,#ap-app button.ap-primary *,#ap-app button.ap-selected,#ap-app button.ap-selected *{color:#fff!important}
#ap-app button:disabled{opacity:.8!important}
#ap-app .ap-blocked{background:#fce4e8!important;border-color:#e7a5af!important}
#ap-app .ap-gray{background:#d57888}
#ap-app button.ap-week-arrow{min-width:54px;min-height:48px;padding:5px 15px;font-size:28px;font-weight:750;background:#d8eee5!important;border:2px solid #43836b!important;color:#000!important;line-height:1}
#ap-app button.ap-week-arrow:hover{background:#bbddce!important}
#ap-app button.ap-week-arrow:disabled{background:#edf2ef!important;border-color:#bdcbc3!important;opacity:.65!important}
#ap-responsable-banner.ap-responsable-banner{max-width:1160px;margin:14px auto 20px;padding:16px 20px;background:#fff0bc!important;border:2px solid #b08018;border-radius:10px;color:#000!important;font:15px/1.5 system-ui,sans-serif;box-sizing:border-box}
#ap-responsable-banner strong,#ap-responsable-banner span{color:#000!important}
@media(max-width:600px){#ap-responsable-banner.ap-responsable-banner{padding:13px 15px;font-size:14px}#ap-responsable-banner span{display:block}.ap-header>button{margin-top:8px}}
@media print{#ap-responsable-banner{display:none!important}}
/* Reserved slots keep their blue base; pink hover is only an unavailable-selection cue. */
#ap-app:not(.ap-is-managing) button.ap-reserved,#ap-app:not(.ap-is-managing) button.ap-reserved *{cursor:not-allowed!important}
#ap-app:not(.ap-is-managing) button.ap-reserved:hover{background:#fce4e8!important;border-color:#e7a5af!important}
#ap-app:not(.ap-is-managing) button.ap-blocked,#ap-app:not(.ap-is-managing) button.ap-blocked *{cursor:not-allowed!important}
