/* Shared presentation only: no permissions or persistent application state. */
:root{--bn-paper:#f5f2e9;--bn-ink:#243f3b;--bn-accent:#28675f;--bn-border:#cdd8cf}
body{background:var(--bn-paper)!important;color:var(--bn-ink)!important;font:1rem/1.55 system-ui,sans-serif}
body header{background:var(--bn-paper);border-color:var(--bn-border)}
body h1,body h2,body h3,body .date{color:var(--bn-ink)}
body a{color:var(--bn-accent);text-underline-offset:.2em}
body main{max-width:1150px;margin:24px auto;padding:0 20px}
.bn-private-nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 0;margin-bottom:24px;border-bottom:1px solid var(--bn-border)}
.bn-private-nav a,.bn-private-nav button{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border-radius:12px}
.bn-private-nav [aria-current=page]{background:var(--bn-accent);color:white;text-decoration:none}
.bn-private-nav form{margin:0 0 0 auto}
body button,body input:not([type=checkbox]):not([type=radio]):not([type=hidden]),body select{min-height:44px;font-size:1rem}
body button[type=submit],body .bn-pwa-actions button{background:var(--bn-accent)!important;color:white}
body button:disabled{background:#e6eae6!important;color:#59665e!important;cursor:not-allowed}
body fieldset,.bn-settings-grid section,.bn-advanced{min-width:0;border:1px solid var(--bn-border);border-radius:16px;padding:18px;margin:18px 0;background:#fffdf8}
body legend{font-weight:700;padding:0 6px;font-size:1.1rem}
body summary{cursor:pointer;padding:10px 0;min-height:44px;font-weight:650}
body .help,body .intro{font-size:1rem;color:#435e57}
body :focus-visible{outline:3px solid #9c650d;outline-offset:3px}
.bn-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.bn-settings-grid section{margin:0}.bn-settings-grid a{display:inline-block;min-height:44px;padding:8px 0}
[hidden]{display:none!important}
@media(max-width:600px){body main{padding:0 14px}.bn-settings-grid{grid-template-columns:1fr}.bn-private-nav{gap:4px}.bn-private-nav a,.bn-private-nav button{padding:8px 10px}.bn-private-nav form{margin-left:0}body fieldset{padding:12px}body select,body textarea{max-width:100%}.bn-reminder-custom{flex-wrap:wrap}}

/* Final ergonomics pass: retain all native fields and their submitted values. */
body .bn-private-nav>a,body summary,body fieldset,body input,body select,body button,body .bn-settings-grid section{box-sizing:border-box}
body .bn-profile-picker .help,body .bn-profile-picker .choice,
body form[data-bn-family-form] label,body form[data-bn-family-form] .help,
body .bn-short-help{font-size:1rem!important;line-height:1.45;color:#435e57}
body .bn-profile-picker .choice,body .bn-option{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}
body .bn-profile-picker .choice[hidden]{display:none!important}
.bn-choice-account{display:block;font-size:.875rem;font-weight:400;color:#435e57}
body .bn-sharing-picker{border:0;background:transparent;padding:0;margin:0}
.bn-family-organisation{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start;margin-block:14px}
.bn-family-organisation>.bn-family,.bn-family-organisation>.bn-custody{margin:0;min-width:0}
@media(max-width:600px){
 .bn-family-organisation{grid-template-columns:1fr;gap:0;background:#f0f3eb;border-radius:14px;padding:0 10px}
 .bn-final .bn-family-organisation>.bn-family,.bn-final .bn-family-organisation>.bn-custody{background:transparent;border:0;border-radius:0;padding:8px 0;margin:0}
 .bn-family-organisation>.bn-custody{border-top:1px solid #cdd8cf!important}
 .bn-final .bn-month .month-grid{gap:20px}
 .bn-final .bn-month .month-day{border:0;border-top:2px solid #b7cbc2;border-radius:0;background:transparent;padding-top:12px}
 .bn-final .bn-month .month-day.today{border:0;border-top:3px solid #28675f;padding-top:12px}
 .bn-final .bn-month .month-day header{display:flex;align-items:center;gap:8px;padding:0 0 10px;background:transparent}
 .bn-final .bn-month .month-day header>time{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .bn-final .bn-month .month-day header>.day-label{font-size:1rem;line-height:1.4;font-weight:750;color:#243f3b;text-transform:capitalize;flex:1 1 100%}
 .bn-final .bn-month .month-day header>.today-marker{font-size:.875rem;margin-left:0}
 .bn-final .bn-month .month-day header .bn-custody-band{position:static;inset:auto;width:100%;height:auto;min-height:32px;padding:5px;border-radius:6px;font-size:.875rem}
 .bn-final .bn-month .month-day header .bn-context-tags{margin:2px 0;gap:5px}
 .bn-final .bn-month .month-day .bn-context-tag{font-size:.875rem}
 .bn-sharing-picker .choices{grid-template-columns:1fr}
}
body .bn-profile-picker .choice input,body .bn-option input{width:20px;height:20px;flex-shrink:0;accent-color:#28675f}
body .bn-date-row{display:grid!important;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr) minmax(0,1fr);gap:8px!important;max-width:620px}
body .bn-date-row>div{min-width:0!important}
body .bn-date-row select{min-width:0;width:100%;padding:10px 6px!important}
body .bn-time-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;max-width:300px}
body .bn-time-row>label{grid-column:1/-1}
body .bn-time-row select{width:100%!important;min-width:0;margin-top:0!important}
.bn-time-separator{font-weight:600}
body .bn-secondary,body .bn-inline-help{border-top:1px solid var(--bn-border);margin:12px 0;padding-top:4px}
body .bn-secondary>summary,body .bn-inline-help>summary{font-size:1rem;line-height:1.4}
body .bn-secondary fieldset{margin:8px 0}
body .bn-secondary p,body .bn-inline-help p{font-size:1rem;line-height:1.5}
body .bn-save-preferences{width:100%;min-height:48px}
@media(max-width:600px){
 body .bn-private-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:0 0 16px;padding:8px 0;font-size:1rem}
 body .bn-private-nav>a{justify-content:center;text-align:center;padding:8px 4px;min-height:56px;line-height:1.15;font-size:1rem;overflow-wrap:normal}
 body .bn-admin main,body main{padding-inline:12px}
 body fieldset{margin:12px 0}
 body .bn-reminder-custom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
 body .bn-reminder-custom input,body .bn-reminder-custom select{width:100%;min-width:0}
 body .bn-admin h1{margin-block:16px;font-size:1.6rem}
 body .bn-inline-help p{margin:8px 0}
}

/* Targeted identity/name finishing; no account or permission behavior. */
body .brand-logo{width:164px;height:104px;object-fit:contain;flex-shrink:0}
body header img[src$="/images/bear-norway/bear.png"]:not(.brand-logo){width:88px;height:74px;object-fit:contain;flex-shrink:0}
body .bn-family-organisation .profiles{display:flex;flex-wrap:wrap;gap:8px}
body .bn-family-organisation .profile{flex:0 1 auto;max-width:100%;min-width:0;overflow-x:auto;gap:8px;padding:9px 10px}
body .bn-family-organisation .profile strong,body .bn-profile-picker .bn-choice-name{white-space:nowrap;word-break:normal;overflow-wrap:normal;font-size:1rem;line-height:1.4}
body .bn-family-organisation .profile>div{flex:0 0 auto}
body .bn-profile-picker .choice{min-width:0;max-width:100%;overflow-x:auto}
body .bn-profile-picker .choice>span:last-child{flex:0 0 auto}
@media(max-width:600px){body .brand-logo{width:144px;height:96px}}
/* Family finishing and first-login pages: presentation only. */
body .bn-family-organisation{grid-template-columns:minmax(0,1fr);gap:12px}
body .bn-family-organisation .profiles{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}
body .bn-family-organisation .profile{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:100px;padding:10px 4px;overflow:visible;width:100%;box-sizing:border-box}
body .bn-family-organisation .profile .avatar{width:48px;height:48px}
body .bn-family-organisation .profile strong{font-size:1rem;white-space:nowrap}
body .bn-family-organisation .bn-custody{padding:12px 16px}
body .bn-custody-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body .bn-custody-summary article{min-width:0}
body .bn-custody-heading h2{font-size:1.15rem;margin-block:0}
body .bn-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
body .bn-calendar-toolbar .navigation-controls{display:flex;flex-wrap:wrap;gap:6px}
body .bn-notification-block{margin:18px 0;padding:16px;border:1px solid var(--bn-border);border-radius:16px;background:#fffdf8}
body .bn-notification-block h2{font-size:1.25rem;margin:0 0 8px}
body .bn-notification-block h3{font-size:1.05rem;margin:16px 0 8px}
body .bn-notification-block fieldset{border:0;padding:0;margin:12px 0;background:transparent}
.bn-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
body .bn-pwa-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px}
body #bn-push-disable{background:transparent!important;color:var(--bn-accent);border:1px solid var(--bn-border)}
body .bn-device-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--bn-border)}
body .bn-device-row span{overflow-wrap:anywhere}
.bn-account-heading{display:flex;align-items:center;gap:14px;min-width:0}
.bn-account-heading>div{min-width:0}.bn-account-heading p{margin:4px 0;overflow-wrap:anywhere}
.bn-member-avatar{object-fit:contain;border-radius:50%;flex-shrink:0;background:#f5f2e9}
body .bn-settings-grid section{padding:16px}
body .bn-settings-grid h2{font-size:1.2rem;margin:0 0 8px}
body .bn-settings-primary{display:block;background:var(--bn-accent);color:white;border-radius:10px;padding:12px;text-align:center;text-decoration:none}
.bn-settings-logout{margin:24px 0 12px}.bn-settings-footer{font-size:.95rem;color:#435e57;border-top:1px solid var(--bn-border);padding-top:12px}
body.bn-onboarding{margin:0;padding:24px 0;min-height:100vh;box-sizing:border-box;display:block}
body.bn-onboarding main.bn-onboarding-card{box-sizing:border-box;width:calc(100% - 24px);max-width:560px;margin:0 auto;padding:24px;border-radius:20px;background:#fffdf8;box-shadow:0 8px 30px #17253c15}
.bn-onboarding-brand{display:flex;justify-content:center;background:transparent;padding:0;border:0}
body .bn-onboarding-brand img[src$="/images/bear-norway/bear.png"]{width:160px;height:128px;object-fit:contain}
.bn-onboarding-progress{list-style:none;display:flex;justify-content:center;gap:12px;padding:0;margin:16px 0 24px;font-size:.95rem;flex-wrap:wrap}
.bn-onboarding-progress li{color:#435e57}.bn-onboarding-progress [aria-current=step]{font-weight:750;color:var(--bn-ink)}
.bn-onboarding h1{font-size:1.7rem;line-height:1.25;margin:16px 0}.bn-onboarding h2{font-size:1.2rem}.bn-onboarding p{margin:12px 0}
.bn-onboarding label{display:block;margin:16px 0 6px;font-weight:600}.bn-onboarding input{box-sizing:border-box;width:100%;padding:12px;border:1px solid var(--bn-border);border-radius:8px;font:inherit}
.bn-onboarding input[readonly]{background:#f0f3eb}.bn-onboarding button,.bn-onboarding .bn-primary{display:block;box-sizing:border-box;width:100%;min-height:48px;margin-top:14px;padding:12px;border:0;border-radius:10px;background:var(--bn-accent);color:white;font:inherit;text-align:center;text-decoration:none;cursor:pointer}
.bn-onboarding .bn-step{margin:18px 0;padding:0;border:0}.bn-onboarding .bn-step h2{margin:10px 0}.bn-onboarding #password-step{font-size:1rem;color:#435e57}
.bn-onboarding .error,.bn-onboarding .errors{color:#a51f26}.bn-onboarding .success{color:#17643c}.bn-onboarding .note{font-size:1rem;color:#435e57}
.bn-onboarding #qr{text-align:center;margin:20px 0}.bn-onboarding #qr svg{width:100%;max-width:220px;height:auto}
.bn-onboarding #manual-key{font-family:monospace;letter-spacing:.04em}.bn-onboarding pre{white-space:pre-wrap;overflow-wrap:anywhere}
.bn-welcome{text-align:center}.bn-welcome .bn-member-avatar{margin-top:18px}.bn-welcome p{text-align:left}
@media(max-width:1100px){body .bn-family-organisation .profiles{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){body .bn-family-organisation .profiles{grid-template-columns:repeat(2,minmax(0,1fr))}body .bn-family-organisation{padding:0;background:transparent;gap:12px}body .bn-family-organisation>.bn-family,body .bn-family-organisation>.bn-custody{padding:12px;background:#f0f3eb;border:1px solid var(--bn-border);border-radius:14px}body .bn-custody-summary{grid-template-columns:repeat(2,minmax(0,1fr))}body.bn-onboarding main.bn-onboarding-card{padding:20px}body .bn-notification-block{padding:14px}body .bn-calendar-toolbar .navigation-controls{width:100%}}
@media(max-width:380px){body .bn-custody-summary{grid-template-columns:minmax(0,1fr)}}
/* Compact event forms; native selectors and submitted values are retained. */
body .bn-event-form{font-size:1rem;line-height:1.5}
body .bn-event-form>fieldset{margin:16px 0;padding:16px;border:1px solid var(--bn-border);border-radius:14px;background:#fffdf8}
body .bn-event-form label,body .bn-event-form .help,body .bn-event-form p,body .bn-event-form input,body .bn-event-form select,body .bn-event-form textarea{font-size:1rem!important;line-height:1.5}
body .bn-event-form p{margin:10px 0}
body .bn-event-form input:not([type=checkbox]):not([type=hidden]),body .bn-event-form select,body .bn-event-form textarea{box-sizing:border-box;width:100%;border:1px solid var(--bn-border);border-radius:9px;padding:10px!important;color:var(--bn-ink);background:white;font:inherit}
body .bn-event-form label{font-weight:600}
body .bn-appointment-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
body .bn-date-part{min-width:0}.bn-date-part h3{font-size:1.05rem;margin:10px 0}
body .bn-date-part .bn-date-row{grid-template-columns:minmax(0,.7fr) minmax(0,1.4fr) minmax(0,1fr);gap:6px!important}
body .bn-date-part .bn-date-row select{padding-inline:5px!important}
body .bn-family-context{margin:16px 0}
body .bn-permissions>fieldset{border:0;padding:0;margin:12px 0;background:transparent}
body .bn-event-form .choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body .bn-event-form .choice{min-height:52px;padding:8px;gap:10px}
body .bn-event-form .choice .avatar{width:42px;height:42px}
body .bn-event-form .choice input,body .bn-event-form input[type=checkbox]{width:20px;height:20px;accent-color:var(--bn-accent);flex-shrink:0}
body .bn-event-form .bn-creation-consent{padding:16px;border:1px solid var(--bn-border);border-radius:14px}
body .bn-event-form .bn-creation-consent h3{margin:0 0 10px;font-size:1.1rem}
body .bn-event-form .bn-creation-consent label{display:flex;align-items:center;gap:10px;min-height:44px}
body .bn-event-form [aria-invalid=true]{border-color:#a51f26!important;outline:1px solid #a51f26}
body .bn-event-form button[type=submit]{min-height:48px;width:100%;font:inherit;border-radius:10px}
body .bn-event-form [data-bn-family-warning]{color:#8b390f;background:#fff1df;border-left:3px solid #8b390f;padding:10px}
@media(max-width:700px){body .bn-appointment-dates{grid-template-columns:minmax(0,1fr);gap:4px}body .bn-event-form>fieldset{padding:12px}body .bn-event-form .choice{gap:6px;padding:6px}body .bn-event-form .choice .avatar{width:34px;height:34px}body .bn-event-form .bn-choice-name{white-space:normal;word-break:normal;overflow-wrap:normal}}
/* Targeted final contrast, proportions and complete welcome illustration. */
body.bn-public-welcome a.bn-login-action{color:#fff;background:#244d43;display:inline-flex;align-items:center;justify-content:center;min-height:48px;box-sizing:border-box}
body.bn-public-welcome a.bn-login-action:hover{color:#fff;background:#183d34}
body.bn-public-welcome a.bn-login-action:focus-visible{outline:3px solid #9c650d;outline-offset:4px}
body .bn-settings-grid{align-items:start}
body .bn-settings-grid a.bn-settings-primary{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:44px;width:auto;max-width:100%;padding:10px 16px;line-height:1.4;color:#fff}
body .bn-settings-grid a.bn-settings-primary:hover{background:#1e514b;color:#fff}
body.bn-onboarding main.bn-onboarding-card.bn-welcome{max-width:680px;padding:32px}
body .bn-welcome .bn-onboarding-brand img{width:200px;height:160px;object-fit:contain;max-width:100%}
body .bn-welcome img.bn-member-avatar{box-sizing:border-box;width:140px;height:140px;padding:22px;object-fit:contain;border-radius:50%;background:#eef2e9;margin-top:18px}
body .bn-welcome h1{margin-block:22px 18px}.bn-welcome p{line-height:1.65}.bn-welcome-help{margin-top:20px;border-top:1px solid var(--bn-border);text-align:left}
body .bn-delete-form button.bn-delete-action,body button.bn-delete-action[type=submit]{background:#fff4f2!important;color:#922b34!important;border:1px solid #aa4850;font-size:1rem}
body .bn-delete-form button.bn-delete-action:hover{background:#ffe8e4!important;color:#7e2029!important}
body .bn-delete-form button.bn-delete-action:focus-visible{outline:3px solid #922b34;outline-offset:3px}
@media(max-width:600px){body.bn-onboarding main.bn-onboarding-card.bn-welcome{padding:24px}body .bn-settings-grid a.bn-settings-primary{width:100%}}
body .bn-welcome header.bn-onboarding-brand img[src$="/images/bear-norway/bear.png"]{width:200px;height:160px;max-width:100%;object-fit:contain}

/* Les cartes suivent la largeur disponible au lieu de tronquer les pseudos. */
body .bn-event-form .choices{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));}
body .bn-event-form .choice{overflow:visible;}
body .bn-event-form .bn-choice-name{white-space:normal;word-break:normal;overflow-wrap:break-word;}
