:root{--portal-blue:#175f99;--portal-ink:#20354a;--portal-muted:#647386;--portal-line:#dfe6ee}.portal-login-link{font-size:14px;margin:20px 0}.portal-login-link a{text-decoration:underline;text-underline-offset:4px}.portal-public-steps{margin:70px 0}.portal-public-steps h2,.portal-public-bottom h2{font-size:34px;margin:15px 0 30px;line-height:1.2}.portal-public-steps ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}.portal-public-steps li{border-top:2px solid #e9a34b;padding-top:20px}.portal-public-steps li>span{color:var(--portal-blue);font-size:13px;letter-spacing:.1em}.portal-public-steps h3{font-family:Arial,sans-serif;font-size:21px;line-height:1.35;margin:18px 0 12px}.portal-public-steps p{font-size:14px;line-height:1.8;color:var(--portal-muted)}.portal-public-bottom{margin:60px 0;text-align:center}.portal-public-bottom .button{display:inline-block}.portal-public-bottom p{margin-top:22px;font-size:14px}.portal-auth{max-width:560px;margin:45px auto 80px;padding:0 22px;font-family:Arial,sans-serif}.portal-back{display:inline-block;font-size:13px;color:var(--portal-muted);margin-bottom:35px}.portal-auth h1{font-family:Arial,sans-serif;font-size:clamp(32px,5vw,42px);line-height:1.15;letter-spacing:-.035em;margin:18px 0}.portal-auth p{line-height:1.7;color:var(--portal-muted);font-size:15px}.portal-auth .auth-panel[hidden],.portal-view[hidden],[hidden].portal-message{display:none!important}.portal-form{border:0;background:white;padding:0;margin:25px 0;font-family:Arial,sans-serif}.portal-form h2{font-family:Arial,sans-serif;font-size:24px;margin:20px 0}.portal-form label{display:block;font-size:14px;line-height:1.6;font-weight:600;margin-bottom:18px}.portal-form input:not([type=checkbox]),.portal-form select,.portal-form textarea{box-sizing:border-box;display:block;width:100%;min-width:0;padding:12px 13px;background:white;border:1px solid #cbd6e0;border-radius:5px;color:var(--portal-ink);font:inherit;margin-top:6px;min-height:46px}.portal-form textarea{min-height:130px;resize:vertical}.portal-form input[readonly]{background:#f2f5f8;color:#6a7889}.portal-form [aria-invalid=true]{border:2px solid #ab472b!important}.portal-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.portal-check{display:flex!important;gap:12px;font-weight:400!important;font-size:13px!important;align-items:flex-start}.portal-check input{margin-top:6px;flex:none}.portal-check a{text-decoration:underline;text-underline-offset:3px}.portal-form .button{width:100%;font-size:14px;padding:15px 18px}.portal-auth-switch{padding-top:20px;border-top:1px solid var(--portal-line);margin-top:25px}.portal-text-button{background:none;border:0;color:var(--portal-blue);font-size:13px;cursor:pointer;padding:8px 0}.portal-message{padding:15px 18px;border-radius:5px;border:1px solid #d7e6f4;background:#eef6fc;font-size:13px;line-height:1.7;margin:20px 0;white-space:pre-line;color:#22445f}.portal-message[data-error=true]{border-color:#ebc4b7;background:#fff3ec;color:#8f3e21}.portal-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.portal-shell{max-width:1250px;margin:auto;padding:35px 26px 80px;font-family:Arial,sans-serif;color:var(--portal-ink)}.portal-titlebar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:25px;margin-bottom:25px;border-bottom:1px solid var(--portal-line)}.portal-titlebar p{line-height:1.6;margin:4px 0}.portal-dashboard{display:grid;grid-template-columns:195px minmax(0,1fr);gap:35px;align-items:start}.portal-sidebar{display:flex;flex-direction:column;gap:6px;position:sticky;top:25px}.portal-sidebar a{font-size:13px;padding:13px 16px;color:#5d6e80;border-radius:22px;line-height:1.4}.portal-sidebar a[aria-current=page]{color:var(--portal-blue);font-weight:700;background:#e9f1fa}.portal-sidebar a[aria-disabled=true]{color:#a5adb7;cursor:not-allowed;background:#fafbfc}.portal-content{min-width:0}.portal-progress{display:flex;list-style:none;gap:0;padding:0;margin:0 0 24px;border-bottom:1px solid var(--portal-line)}.portal-progress li{flex:1;padding:13px 8px;color:#8591a0;font-size:12px;border-bottom:3px solid transparent;line-height:1.5}.portal-progress li.is-complete{color:#457a56;border-color:#8bbd9a}.portal-progress li.is-active{color:var(--portal-blue);border-color:var(--portal-blue);font-weight:700}.portal-status-row{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:12px;margin-bottom:28px}.portal-status-row #portal-dossier-status{background:#f3f5f8;padding:7px 10px;border-radius:5px}.portal-status-row #portal-dossier-status[data-status=approved]{color:#28613d;background:#eaf5ed}.portal-status-row #portal-dossier-status[data-status=changes_requested]{color:#8c551f;background:#fff2df}.portal-view h1{font-family:Arial,sans-serif;font-size:34px;line-height:1.2;margin:20px 0 15px;letter-spacing:-.03em}.portal-view>p,.portal-doc-section>p{font-size:14px;color:var(--portal-muted);line-height:1.8}.portal-view .portal-form{max-width:760px}.portal-view .portal-form .button{width:auto;min-width:230px}.portal-doc-section{margin:32px 0}.portal-doc-section h2{font-family:Arial,sans-serif;font-size:24px;margin:15px 0}.portal-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}.portal-upload-card{border:1px solid var(--portal-line);border-radius:7px;padding:16px;min-width:0;background:white}.portal-upload-card h3{font-family:Arial,sans-serif;font-size:15px;margin:0 0 12px}.portal-upload-card img{width:100%;height:120px;object-fit:cover;border-radius:4px;background:#f3f5f8;display:block}.portal-upload-empty{height:120px;display:flex;align-items:center;justify-content:center;background:#f5f7f9;color:#8a97a7;border-radius:4px;font-size:13px;text-align:center;padding:10px;box-sizing:border-box}.portal-upload-card label{display:block;color:var(--portal-blue);font-size:12px;margin:14px 0 5px;line-height:1.6}.portal-upload-card input{display:block;width:100%;min-width:0;font-size:10px;margin-top:7px;overflow:hidden}.portal-upload-card p{font-size:11px;line-height:1.6;margin:10px 0;color:var(--portal-muted);overflow-wrap:anywhere}.portal-upload-card p.is-added{color:#39794c}.portal-upload-card a{font-size:12px;text-decoration:underline}.portal-upload-remove{display:block;background:white;border:0;padding:7px 0;color:#a14b30;font-size:11px;cursor:pointer;margin-top:6px}.portal-upload-card.is-uploading{opacity:.65;pointer-events:none}.portal-extras{border:1px solid var(--portal-line);border-radius:5px;padding:18px;margin-top:24px}.portal-extras summary{font-size:14px;cursor:pointer;font-weight:600}.portal-extras p{font-size:13px;line-height:1.7;color:var(--portal-muted)}.portal-registration{padding:25px;background:#f3f7fa;border-radius:7px}.portal-registration .portal-upload-card{max-width:430px}.portal-registration .portal-upload-card img{height:170px;object-fit:contain}.portal-pdf{padding:28px 12px;background:#eef3f8;border-radius:5px;line-height:1.8;text-align:center}.portal-view .owner-calendar{margin-top:0}.portal-view .cal-dashboard{grid-template-columns:1fr}.portal-view .cal-sidebar[hidden]{display:none}.portal-view .cal-page-heading h2{font-size:30px}.portal-view .cal-day{border-top-color:#dbe1e8}.portal-view .cal-day.is-available{border-top-color:#77b789;background:#f5faf6}.portal-view .cal-day.has-block{border-top-color:#e6a04a}.portal-view .cal-day.is-reserved{border-top-color:#3479b7;background:#eef5fc}.portal-view .cal-day.is-selected{box-shadow:inset 0 0 0 1px #1c659f;background:#eaf2fc}.portal-view .cal-day small.is-available{background:#e5f4e8;color:#386b45}.portal-view .cal-day small.is-reserved{background:#dfeefb;color:#295b86}.portal-view .cal-available{background:#77b789}.portal-view .cal-free{background:#dbe1e8}.portal-view .cal-reserved{background:#3479b7}.portal-view .cal-hour>button.is-available{background:#edf8ef;border-color:#b9d9c0;color:#416a49}.portal-view .cal-hour>button.is-reserved{background:#eaf3fc;border-color:#b6cde4;color:#2a5c86}.portal-view .cal-editor label{font-weight:400;margin-bottom:0}.portal-view .cal-editor .cal-reason{margin-bottom:16px}.portal-calendar-save{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:22px 0}.portal-calendar-save p{font-size:12px;color:var(--portal-muted);line-height:1.7}.portal-reservations{margin-top:28px;border-top:1px solid var(--portal-line);padding-top:20px}.portal-reservations h3{font-family:Arial,sans-serif;font-size:18px;margin:8px 0 15px}.portal-reservations p{font-size:13px;line-height:1.8;color:var(--portal-muted)}.portal-auth button:disabled,.portal-content button:disabled{opacity:.5;cursor:wait}.portal-auth input:focus-visible,.portal-content input:focus-visible,.portal-content select:focus-visible,.portal-content textarea:focus-visible{outline:3px solid #eca14a;outline-offset:2px}@media(max-width:950px){.portal-dashboard{grid-template-columns:1fr;gap:25px}.portal-sidebar{position:static;flex-direction:row;flex-wrap:wrap;border-bottom:1px solid var(--portal-line);padding-bottom:18px}.portal-sidebar a{font-size:12px;padding:10px 13px}.portal-public-steps ol{grid-template-columns:1fr 1fr}.portal-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.portal-public-steps ol{grid-template-columns:1fr;gap:24px}.portal-public-steps{margin:45px 0}.portal-auth{margin-top:25px}.portal-fields{grid-template-columns:1fr}.portal-shell{padding:25px 18px 50px}.portal-titlebar{align-items:flex-start;gap:10px}.portal-titlebar .eyebrow{font-size:10px}.portal-titlebar button{font-size:11px;white-space:nowrap}.portal-upload-grid{grid-template-columns:1fr 1fr;gap:12px}.portal-upload-card{padding:12px}.portal-upload-card h3{font-size:13px}.portal-upload-card img,.portal-upload-empty{height:105px}.portal-progress li{font-size:10px;padding:10px 5px}.portal-view h1{font-size:30px}.portal-registration{padding:18px}.portal-view .portal-form .button{width:100%}.portal-calendar-save{display:block}.portal-calendar-save .button{width:100%}.portal-view .cal-workspace{grid-template-columns:1fr}.portal-view .cal-detail{border-left:0;border-top:1px solid #e1e6ed}.portal-view .cal-day{min-height:54px}.portal-view .cal-notice{padding:14px;font-size:12px}.portal-view .cal-legend{font-size:9px;gap:10px}.portal-public-bottom h2{font-size:28px}}
.portal-shell [hidden],.portal-auth [hidden]{display:none!important}.portal-view .cal-dashboard{grid-template-columns:1fr}.portal-view .cal-day.is-available small{background:#e3f2e6;color:#346745}.portal-view .cal-day.is-reserved small{background:#dfeefb;color:#295b86}

.cal-hour>button.is-pending{background:#fff1df;border-color:#e4c48f;color:#865017}

/* Cases de consentement : ne pas hériter de la largeur des champs texte. */
.portal-form .portal-check{display:flex!important;align-items:flex-start;justify-content:flex-start;gap:12px;width:100%;max-width:100%;box-sizing:border-box;white-space:normal}.portal-form .portal-check input[type=checkbox]{display:block;flex:0 0 20px;width:20px;min-width:20px;max-width:20px;height:20px;min-height:20px;padding:0;margin:2px 0 0;box-sizing:border-box;accent-color:#175f99}.portal-form .portal-check>span{display:block;flex:1 1 0;min-width:0;width:auto;white-space:normal;overflow-wrap:break-word;line-height:1.6}.portal-form .portal-check a{display:inline;white-space:normal}@media(max-width:600px){.portal-form .portal-check{font-size:13px!important;gap:10px;margin-bottom:20px}.portal-auth .portal-form .button{white-space:normal;line-height:1.5;padding:14px 16px}}
