/* Direction B, final system. Role tokens shared by member, entry and administration pages. */
@font-face{font-family:Inter;src:url('/brand/Inter.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Libre Baskerville';src:url('/brand/LibreBaskerville.ttf') format('truetype');font-weight:400 700;font-style:normal;font-display:swap}
:root{
 --db-navy:#13325E;--db-blue:#24557E;--db-canvas:#E7EEF6;--db-surface:#FFFFFF;--db-soft:#DCE6F0;
 --db-ink:#173650;--db-muted:#455B70;--db-teal:#245F5A;--db-positive:#DDECE8;--db-gold:#A89968;
 --db-warning:#775320;--db-warning-bg:#FFF7E9;--db-error:#942B38;--db-error-bg:#FAE9EB;--db-border:#698199;
 --db-divider:#C9D5E3;--db-shadow:0 8px 24px #13325E14;--db-dialog-shadow:0 18px 48px #13325E26;
 --db-page:2rem;--db-section:1.3rem;--db-card:1.15rem;--db-body:1.0625rem;--db-label:.9375rem;--db-caption:.875rem;
 --db-space-1:6px;--db-space-2:12px;--db-space-3:18px;--db-space-4:24px;--db-space-5:32px;
 --db-card-radius:18px;--db-control-radius:12px;--db-card-pad:24px;--db-control-height:46px;
 --font-body:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
 --font-heading:'Libre Baskerville',Georgia,serif;
 --cc-primary:var(--db-navy);--cc-muted:var(--db-muted);--cc-gold:var(--db-gold);--cc-paper:var(--db-surface);
 --cc-soft-ivory:var(--db-surface);--cc-stone:var(--db-canvas);--cc-ivory:var(--db-canvas);--cc-canvas:var(--db-canvas);
 --cc-warm-border:var(--db-divider);--cc-border:var(--db-divider);--cc-control-border:var(--db-border);--cc-edge:var(--db-divider);
 --cc-teal:var(--db-teal);--cc-teal-soft:var(--db-positive);--cc-info-surface:var(--db-soft);
 --cc-error:var(--db-error);--cc-error-action:var(--db-error);--cc-error-surface:var(--db-error-bg);
 --cc-warning:var(--db-warning);--cc-warning-surface:var(--db-warning-bg);--cc-success:var(--db-teal);--cc-success-surface:var(--db-positive)
}
body{font:400 var(--db-body)/1.55 var(--font-body);color:var(--db-ink);background-color:var(--db-canvas)}
h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.35;font-weight:600;letter-spacing:-.02em}
#view>h2,.cc-screen-head h2{font:500 var(--db-page)/1.22 var(--font-heading);letter-spacing:-.03em;margin:0 0 12px}
.cc-screen-head{margin:0 0 var(--db-space-4);padding:28px 30px;border-radius:var(--db-card-radius);background:linear-gradient(115deg,var(--db-navy),var(--db-blue));color:white;border-bottom:4px solid var(--db-gold);box-shadow:var(--db-shadow)}
.cc-screen-head:has(h2:only-child){padding-block:25px}.cc-screen-head h2:only-child{margin:0}
.cc-screen-head>p,.cc-screen-head>.sub{font:400 var(--db-body)/1.55 var(--font-body);color:#E0EBF5;margin:0;max-width:68ch}
#view>section>h3,#view>.panel>h3,#view>.shared-visits-page .shared-visits-section>h3{font:600 var(--db-section)/1.4 var(--font-heading);margin:0 0 16px}
#view .meeting .name,#view .connection-entry h4,#view .conversation-row h4,#view .shared-visit-card h4,#view [data-visit-id]>.between>strong{font:600 var(--db-card)/1.4 var(--font-heading)}
#view .meeting .name .small{font:500 var(--db-caption)/1.45 var(--font-body)}
.small,.tiny,.count,.muted,.cc-message-preview,.member-welcome{line-height:1.55}
.small{font-size:var(--db-label)}.tiny,.count,.chat-message time,.meeting .count{font-size:var(--db-caption)}
#view .meeting .small,#view .connection-entry p,#view .cc-personal-visit .small{font-size:var(--db-label)}
#view .chip,#modal .chip{font-size:var(--db-caption);font-weight:500;line-height:1.4;padding:5px 10px}
#view .chip.green,#modal .chip.green,.status-pill{color:var(--db-teal);background:var(--db-positive)}
.chip.gold{color:var(--db-warning);background:var(--db-warning-bg)}.chip.gray{color:var(--db-muted);background:var(--db-soft)}
.btn,button,input,select,textarea{font-family:var(--font-body)}
.btn,.btn.small{font-size:var(--db-label);font-weight:650;line-height:1.35;min-height:var(--db-control-height);padding:11px 16px;border-radius:var(--db-control-radius);box-sizing:border-box}
.btn:not(.secondary):not(.soft):not(.danger){background:var(--db-navy);color:white;border-color:var(--db-navy)}
.btn.secondary{background:white;color:var(--db-navy);border-color:var(--db-border);box-shadow:none}
.btn.soft{background:var(--db-positive);color:var(--db-teal);border-color:var(--db-teal)}
.btn.danger{background:var(--db-error-bg);color:var(--db-error);border-color:#B06C75}
.control{font:400 1rem/1.45 var(--font-body);min-height:var(--db-control-height);padding:11px 12px;border:1px solid var(--db-border);border-radius:var(--db-control-radius);color:var(--db-ink);background:white}
.field{gap:8px}.field label,.lab{font:600 var(--db-label)/1.4 var(--font-body);letter-spacing:0;color:var(--db-muted)}
.stack{gap:16px}.buttonrow{gap:10px;align-items:stretch}.check{gap:10px;line-height:1.5;min-height:44px}
main.shell{max-width:1280px;padding:24px 28px 36px}.layout{gap:24px}.member-welcome{font:600 var(--db-label)/1.5 var(--font-body);margin:0 0 16px;color:var(--db-muted)}
.panel,.meeting,.connection-entry{border-radius:var(--db-card-radius);box-shadow:var(--db-shadow)}
#view .panel{padding:var(--db-card-pad)}#view .layout>aside.panel{padding:20px}#view .layout>aside .field label{color:#ECF3FA}
#view .meeting{padding:20px}.meeting .buttonrow{margin-top:16px}.meeting .datebox{font-family:var(--font-body);border-radius:12px}
.datebox strong,.cc-visit-date strong{font-size:2rem;font-weight:650;line-height:1.2;font-variant-numeric:tabular-nums}.datebox span,.cc-visit-date span{font-size:var(--db-caption);font-weight:600}
#view:has(.cc-lifts-title)>.cc-screen-head,#view:has(#mine-results)>.cc-screen-head{grid-column:1/-1}
#view:has(.cc-lifts-title){row-gap:24px}#view:has(.cc-lifts-title)>section{margin:0;padding:24px;background:white!important;border-radius:var(--db-card-radius)}
#view:has(.cc-lifts-title)>section>h3{font:600 var(--db-section)/1.4 var(--font-heading);margin-bottom:12px}
#view:has(.cc-lifts-title)>.historical-lifts{padding:18px 20px;background:var(--db-soft);box-shadow:none}
#view .connection-entry{padding:22px 22px 22px 90px;margin:14px 0}.connection-entry .buttonrow{margin-top:16px}
#view .conversation-row{padding:24px 0 24px 84px;border-radius:0;box-shadow:none}
#view .conversation-row>.cc-message-preview{font-size:var(--db-body);line-height:1.55;color:var(--db-ink)}
#view .conversation-row>.small{font-size:var(--db-caption);color:var(--db-muted)}
#view:has(.cc-screen-head)>section:has(.conversation-row){padding:0 24px 4px;max-width:none;border-radius:var(--db-card-radius)}
#view .note-row{padding:22px 24px;border-left:4px solid var(--db-gold)}.note-row .note-text{font-size:var(--db-body);line-height:1.65;margin:0 0 12px}
#view .profile-photo-placeholder{background:white;padding:24px;gap:18px;border-left:4px solid var(--db-gold)}.profile-photo-placeholder h3{font-size:var(--db-card)}
#view .profile-photo-avatar{color:var(--db-teal);background:var(--db-positive)}
#view .representative-profile{box-shadow:none;background:var(--db-soft);padding:18px}.profile-photo-placeholder+.note{font-size:var(--db-label)}
#view .cc-personal-visit{padding:24px 24px 24px 124px!important}.cc-personal-visit .between>strong{font-size:var(--db-card)}
#view .cc-personal-visit .btn.secondary{color:var(--db-navy);background:white}.cc-personal-visit .btn.danger{color:var(--db-error)!important}
#view .visit-month{padding:0;box-shadow:none}.visit-month>summary{font:600 1rem/1.5 var(--font-body);min-height:46px;align-content:center}
#view #visiting-journal{background:var(--db-soft);box-shadow:none;padding:24px}.shared-visits-intro{background:white;box-shadow:var(--db-shadow);border-color:var(--db-divider);border-left-color:var(--db-gold)}
#view .shared-visits-page .shared-visits-intro h2{font-size:var(--db-section)}
#more-nav{background:white;color:var(--db-ink);border:1px solid var(--db-divider);border-radius:var(--db-card-radius);box-shadow:var(--db-dialog-shadow)}
#more-nav .tab{font-size:var(--db-label);min-height:46px}#more-nav .more-help-feedback h3{font-size:var(--db-label)}
.calendar{padding:24px}.calday{min-height:58px}.calday .n{font-size:1rem}.calendar .tiny{font-size:var(--db-caption)}
#modal .dialogbox,dialog{background:white;color:var(--db-ink);box-shadow:var(--db-dialog-shadow);border-radius:20px}
#modal .dialoghead{background:white}#modal .dialoghead h2,dialog h2{font:600 var(--db-section)/1.35 var(--font-heading)}
#modal .dialoghead .small{font-size:var(--db-caption)}#modal .dialoghead .buttonrow>.btn{font-size:var(--db-label);min-height:46px;padding:10px 12px}
#modal .dialogbox>h3,#modal .lift-details h3,dialog h3{font:600 var(--db-card)/1.4 var(--font-heading)}
#modal .person .tiny{font-size:var(--db-caption)}#modal .dialogbox>p,#modal .booking-notice p{font-size:var(--db-label)}
#modal .booking-notice{background:var(--db-warning-bg);color:var(--db-ink);border-left-color:var(--db-gold)}
#modal .dialoghead .x,.dialog-close,#contact-close,#connection-close{width:46px;height:46px;min-width:46px;min-height:46px;border-radius:12px}
.chat-message{border-radius:16px;padding:16px}.chat-message p{font:400 var(--db-body)/1.55 var(--font-body)}.chat-message time{font-size:var(--db-caption);color:var(--db-muted)}
.chat-message.incoming{background:var(--db-soft)}.chat-message.outgoing{background:var(--db-positive)}
#connection-dialog .conversation-close-actions,#contact-dialog .conversation-close-actions{background:white;box-shadow:0 24px 0 white}
#connection-content textarea,#contact-content textarea{font-size:1rem;border-color:var(--db-border);border-radius:12px}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:3px solid var(--db-teal);outline-offset:3px}
button:disabled{opacity:.65;cursor:default;box-shadow:none!important}.error,[role=alert]{color:var(--db-error)}
/* Entry and registration: presentation only. Existing forms, hidden states and scripts stay authoritative. */
body:not(.member-app):has(#password-signin-form){background:var(--db-canvas);color:var(--db-ink)}
body:not(.member-app):has(#password-signin-form)>main{max-width:1060px;margin:auto;padding:24px 28px 40px}
body:not(.member-app):has(#password-signin-form)>header .brand{max-width:1060px;margin:auto}
#login.login-grid{gap:28px}#login .login-panel{background:white;border:0;border-radius:var(--db-card-radius);box-shadow:var(--db-shadow);padding:28px;max-width:620px;margin:16px auto;width:100%}
#login .login-panel>h2{font:600 var(--db-page)/1.25 var(--font-heading);color:var(--db-navy);margin:10px 0 22px}
#login .eyebrow{font-size:var(--db-caption);font-weight:650;letter-spacing:.04em;color:var(--db-muted)}
#login form,#register-form,#password-setup-form{display:grid;gap:10px}
#login form label,#register-form>label,#password-setup-form>label{font:600 var(--db-label)/1.5 var(--font-body);margin-top:8px;color:var(--db-ink)}
#login input,#login select,#login textarea,#register-form input:not([type=checkbox]):not([type=hidden]),#register-form select,#password-setup-form input{min-height:46px;padding:11px 12px;border:1px solid var(--db-border);border-radius:12px;background:white;color:var(--db-ink);font-size:1rem;box-sizing:border-box;width:100%}
#login button,#register-form button,#password-setup-form button{min-height:46px;border-radius:12px;padding:11px 16px;font:650 var(--db-label)/1.4 var(--font-body)}
#login button:not(.text-action):not(.secondary),#register-form button:not(.secondary),#password-setup-form button:not(.secondary){background:var(--db-navy);border:1px solid var(--db-navy);color:white}
#login .text-action{color:var(--db-navy);background:transparent;border:0;text-decoration:underline;text-underline-offset:4px}
#login p,#login .small,#register-form .small{font-size:var(--db-label);line-height:1.55}
#member .page-heading{background:linear-gradient(115deg,var(--db-navy),var(--db-blue));color:white;padding:24px;border-bottom:4px solid var(--db-gold);border-radius:18px;margin:16px 0 24px}
#member .page-heading p,#member .page-heading .eyebrow{color:#E0EBF5}#member .status-card{padding:28px;background:white;border:0;box-shadow:var(--db-shadow);border-radius:18px}
#member h1{font:600 var(--db-page)/1.3 var(--font-heading);color:var(--db-navy)}#register-form{margin-top:24px;max-width:760px}
#register-form fieldset,#register-form .representative-register,.portal-info{padding:20px;background:var(--db-soft);border:0;border-radius:14px;box-shadow:none}
#register-form legend{font:600 var(--db-card)/1.4 var(--font-heading);padding:0 6px}#register-form fieldset>label{display:block;margin:12px 0 8px;font-weight:600}
#register-form .check,#register-form .privacy-ack{display:flex;align-items:flex-start;min-height:44px;padding:8px 0;font-size:var(--db-label)}
#register-form input[type=checkbox]{width:20px;height:20px;flex:0 0 20px;margin-top:3px}#member .portal-info h2{font-size:var(--db-section)}
body:not(.member-app):has(#password-signin-form)>footer{max-width:1060px;margin:auto;padding:18px 28px 28px;font-size:var(--db-caption)}
/* Restricted administration uses the same roles, without member-screen decoration. */
body:has(#login-form):not(:has(#password-signin-form)){background:var(--db-canvas);font-family:var(--font-body);font-size:var(--db-body);color:var(--db-ink)}
body:has(#login-form) .wrap{width:min(1000px,calc(100% - 48px))}
body:has(#login-form) main.wrap{padding:24px 0 40px}body:has(#login-form) main>h1{font-size:var(--db-page);margin:20px 0 12px}body:has(#login-form) h2{font-size:var(--db-section)}body:has(#login-form) h3{font-size:var(--db-card)}
body:has(#login-form) .case,body:has(#login-form) #review,body:has(#login-form) #login{padding:24px;background:white;border:0;border-radius:18px;box-shadow:var(--db-shadow)}
body:has(#login-form) label{font-size:var(--db-label);font-weight:600;line-height:1.5;margin:12px 0 8px}
body:has(#login-form) input:not([type=checkbox]),body:has(#login-form) select,body:has(#login-form) textarea{padding:11px 12px;min-height:46px;border:1px solid var(--db-border);border-radius:12px;font:400 1rem/1.45 var(--font-body);color:var(--db-ink);background:white}
body:has(#login-form) button{min-height:46px;border-radius:12px;padding:11px 16px;font:650 var(--db-label)/1.4 var(--font-body);background:var(--db-navy);color:white;border:1px solid var(--db-navy)}
body:has(#login-form) button.secondary{background:white;color:var(--db-navy);border-color:var(--db-border)}body:has(#login-form) .small,body:has(#login-form) small{font-size:var(--db-caption)}
body:has(#login-form) header{background:var(--db-navy);border-bottom-color:var(--db-gold)}body:has(#login-form) header .brand-wordmark img{max-width:176px}
@media(max-width:740px){:root{--db-page:1.75rem;--db-section:1.2rem;--db-card:1.1rem;--db-card-pad:20px}main.shell{padding:20px 16px 32px}.cc-screen-head{padding:24px 22px;margin-bottom:24px}.cc-screen-head:has(h2:only-child){padding-block:24px}#view .panel{padding:20px}#view .meeting{padding:18px 14px}#view .connection-entry{padding:20px 16px 20px 78px}#view .conversation-row{padding:20px 0 20px 62px}#view:has(.cc-screen-head)>section:has(.conversation-row){padding:0 16px 4px}#view .cc-personal-visit{padding:20px!important}#view .cc-personal-visit>.between{padding-left:80px}#view:has(.cc-lifts-title)>section{padding:20px;margin:0 0 20px}#view:has(#mine-results)>.panel{padding:0}.layout>aside.panel .tiny{font-size:var(--db-caption)}body:not(.member-app):has(#password-signin-form)>main{padding:20px 16px 32px}#login .login-panel,#member .status-card{padding:22px}.portal-info,#register-form fieldset{padding:18px}body:has(#login-form) .wrap{width:calc(100% - 32px)}body:has(#login-form) .case,body:has(#login-form) #review,body:has(#login-form) #login{padding:20px}#modal .dialoghead .buttonrow>.btn{font-size:var(--db-label);padding:10px 8px}#view .shared-visits-page .shared-visits-intro h2{font-size:var(--db-section)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}button:active:not(:disabled){transform:none!important}}
@media(forced-colors:active){.panel,.meeting,.connection-entry,.cc-screen-head,.cc-personal-visit,.btn,.control{border:1px solid CanvasText}button:focus-visible,a:focus-visible{outline-color:Highlight}}
body:has(#login-form) main a{color:var(--db-navy);text-underline-offset:4px}
/* Equal portrait treatment across Profile and member cards. */
.profile-photo-avatar svg{fill:none;stroke:var(--db-teal);stroke-width:1.7}
header :is(button,a):focus-visible{outline-color:var(--db-gold)}
#view .layout>aside :is(button,input,select,summary):focus-visible,.visit-month:first-of-type .cc-personal-visit :is(button,a):focus-visible{outline-color:white;box-shadow:0 0 0 5px var(--db-navy)}
.portal-info h2{font:600 var(--db-section)/1.4 var(--font-heading)}
.footer,.prototype .shell,.weekdays span{font-size:var(--db-caption);line-height:1.5}
#view .note-row [data-delete-saved-note]{color:var(--db-error);background:var(--db-error-bg);border-color:#B06C75}
#view:has(#saveProfile) .callout{background:var(--db-soft);color:var(--db-ink);border:0;font-size:var(--db-caption);line-height:1.55}
header #tabs .tab,body.cc-desktop-header #tabs .tab{font-size:var(--db-caption);font-weight:650}

/* My visits: the same phone action layout for next and ordinary visit cards. */
@media (max-width:740px) {
  #view .cc-personal-visit > .buttonrow {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:1fr;
    gap:10px;
  }
  #view .cc-personal-visit > .buttonrow > .btn {
    box-sizing:border-box;
    width:100%;
    min-width:0;
    min-height:52px;
    margin:0;
    padding:10px 8px;
    border-radius:var(--db-control-radius);
    font-family:inherit;
    font-size:var(--db-label);
    font-weight:650;
    line-height:1.25;
    white-space:normal;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  #view .cc-personal-visit > .buttonrow > [data-cancel-visit] {
    grid-column:1 / -1;
  }
}

/* Connected member profiles: existing Direction B palette. */
.member-profile-link{font:inherit;color:var(--navy,#13325e);background:transparent;border:0;text-decoration:underline;padding:6px 2px;cursor:pointer;min-height:44px;white-space:normal;text-align:left}
.member-profile-dialog{width:min(680px,calc(100% - 28px));max-height:85dvh;overflow:auto;border:1px solid #d6d2c7;border-radius:20px;padding:24px;color:#13325e;background:#faf7ef;box-sizing:border-box}.member-profile-dialog::backdrop{background:#132b4699}.member-profile-dialog h2,.member-profile-dialog p{overflow-wrap:anywhere}.member-profile-dialog .panel{margin:12px 0}.member-outline{display:inline-grid;place-items:center;width:56px;height:56px;border:2px solid #a89968;border-radius:50%;font-size:32px;background:#e9eef2}.member-details input,.member-details select{max-width:100%}.member-details .between{gap:12px}.network-calendar-cue{display:block;color:#12675a;font-weight:bold;font-size:20px}.calday.has-network{box-shadow:inset 0 -4px #338778}.member-profile-dialog .buttonrow{flex-wrap:wrap;gap:8px}

/* Connected member profiles — approved Direction B tokens, not legacy cream dialogs. */
#member-profile-dialog.member-profile-dialog{padding:0;border:1px solid var(--db-divider);background:var(--db-canvas);color:var(--db-ink);width:min(960px,calc(100% - 48px));max-width:none;max-height:calc(100dvh - 48px);height:auto;border-radius:var(--db-card-radius);box-shadow:var(--db-dialog-shadow);overflow:auto;overscroll-behavior:contain;scroll-padding-top:88px}
#member-profile-dialog::backdrop{background:#102440a6}
.member-profile-bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;background:var(--db-surface);border-bottom:1px solid var(--db-divider);font:600 var(--db-label)/1.4 var(--font-body);color:var(--db-muted)}
.member-profile-content{padding:24px;display:grid;gap:24px}
.member-profile-heading{display:flex;align-items:center;gap:24px;padding:28px;border-radius:var(--db-card-radius);background:linear-gradient(115deg,var(--db-navy),var(--db-blue));border-bottom:4px solid var(--db-gold);color:white;box-shadow:var(--db-shadow)}
.member-profile-heading .member-profile-identity{min-width:0}.member-profile-heading h2{font:600 2rem/1.25 var(--font-heading);margin:6px 0 8px;letter-spacing:-.025em;color:white}.member-profile-heading p{font:400 1rem/1.5 var(--font-body);color:#E0EBF5;margin:0}
.member-section-label{display:block;font:650 .75rem/1.5 var(--font-body);letter-spacing:.075em;text-transform:uppercase;color:var(--db-muted)}.member-profile-heading .member-section-label{color:#D9E6F2}
#member-profile-dialog .member-outline,#member-profile-dialog .member-profile-heading .member-photo-avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 88px;width:88px;height:88px;border-radius:50%;background:#EDF2F6;color:var(--db-navy);border:3px solid var(--db-gold);margin:0;box-sizing:border-box}#member-profile-dialog .member-outline svg,#member-profile-dialog .member-photo-avatar svg{width:42px;height:42px}
.member-profile-actions{display:flex;gap:12px;justify-content:flex-start}.member-profile-actions .btn{min-width:160px}
.member-memberships>h3,.member-plans>h3{font:600 var(--db-section)/1.4 var(--font-heading);margin:0 0 14px!important}.member-lodges-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.member-lodge-card{background:var(--db-surface);border:1px solid var(--db-divider);border-radius:var(--db-card-radius);padding:22px;box-shadow:var(--db-shadow);min-width:0}.member-lodge-card.mother-lodge-card{border-top:4px solid var(--db-gold);grid-column:1/-1;background:linear-gradient(110deg,#FFFFFF,#F1F6FA)}
.member-lodge-card h3{font:600 var(--db-card)/1.45 var(--font-heading);margin:8px 0 12px!important;overflow-wrap:anywhere}.member-lodge-number{display:inline-block;background:var(--db-soft);color:var(--db-navy);font:650 var(--db-label)/1.45 var(--font-body);padding:5px 10px;border-radius:8px}.member-office-card{display:flex;justify-content:space-between;align-items:center;gap:18px;background:var(--db-soft);border-left:4px solid var(--db-blue);border-radius:12px;padding:18px 22px;margin-top:14px}.member-office-card p{font:650 1rem/1.45 var(--font-body);margin:0;color:var(--db-navy);overflow-wrap:anywhere}.member-declaration{font:400 var(--db-caption)/1.6 var(--font-body);color:var(--db-muted);margin:12px 2px 0}
.member-plans{scroll-margin-top:88px}.member-plans>.small{color:var(--db-muted);margin:0 0 18px}.member-planned-list{display:grid;gap:16px}.member-planned-card{display:grid;grid-template-columns:76px minmax(0,1fr);gap:22px;align-items:start;background:white;border:1px solid var(--db-divider);border-radius:var(--db-card-radius);box-shadow:var(--db-shadow);padding:24px}.member-planned-card .datebox{position:static;width:76px;min-width:0;height:90px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:linear-gradient(135deg,var(--db-navy),var(--db-blue));color:white;border:0;border-top:4px solid var(--db-gold);border-radius:12px}.member-planned-card .datebox strong{font:650 2rem/1.15 var(--font-body);color:white}.member-planned-card .datebox span{font:650 .85rem/1.4 var(--font-body);color:#EDF2F8}.member-planned-copy{min-width:0}.member-planned-copy h4{font:600 var(--db-card)/1.4 var(--font-heading);margin:0 0 2px}.member-planned-copy p{font:400 var(--db-label)/1.55 var(--font-body);margin:6px 0;color:var(--db-muted)}.member-planned-copy .member-meeting-number{font-size:var(--db-caption);font-weight:600;margin:0 0 12px}.member-planned-copy .btn{margin-top:12px}.member-plans-empty{background:white;padding:24px;border-radius:var(--db-card-radius);color:var(--db-muted);margin:0}
@media(max-width:740px){#member-profile-dialog.member-profile-dialog{position:fixed;inset:0;margin:0;transform:none;width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0;overflow:auto}.member-profile-bar{padding:12px 18px;padding-top:max(12px,env(safe-area-inset-top));gap:10px}.member-profile-content{padding:18px 16px max(28px,env(safe-area-inset-bottom));gap:24px}.member-profile-heading{gap:16px;padding:22px 18px;align-items:center}.member-profile-heading h2{font-size:1.5rem}.member-profile-heading p{font-size:.9375rem}#member-profile-dialog .member-outline,#member-profile-dialog .member-profile-heading .member-photo-avatar{width:68px;height:68px;flex-basis:68px}.member-profile-actions .btn{min-width:0;flex:1;min-height:48px;font-size:.875rem;line-height:1.4;padding:12px 10px}.member-lodges-grid{grid-template-columns:1fr;gap:12px}.member-lodge-card{padding:18px}.member-office-card{display:block;padding:18px}.member-office-card p{margin-top:8px}.member-planned-card{padding:18px 16px;grid-template-columns:58px minmax(0,1fr);gap:14px}.member-planned-card .datebox{width:58px;height:76px}.member-planned-copy .btn{width:100%}.member-profile-bar .btn{min-height:46px}.member-profile-bar>span{font-size:.875rem}}

/* Desktop meeting-search actions: same existing handlers, one full-width stack. */
@media (min-width:1200px) and (hover:hover) and (pointer:fine){
 #meeting-search-section .filter-view-controls{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-top:20px;flex-wrap:nowrap}
 #meeting-search-section .filter-view-controls .btn{width:100%;min-height:44px;margin:0;padding:11px 16px;border-radius:10px;font-size:14px;line-height:1.4;box-sizing:border-box}
}

/* Calendar activity is permission-filtered; ordinary meeting dates stay neutral. */
.calendar .calday.has-meetings{background:var(--db-soft,#ECF1F7);color:var(--db-navy,#13325e)}
.calendar .calday.has-network{background:#e8f2ef;box-shadow:inset 0 -3px #338778}
.calendar .calday.selected{background:var(--db-navy,#13325e);color:white}
.calendar .meeting-count{color:#245a87}.calendar .calday.selected .meeting-count{color:white}
.calendar-activity-icons{display:flex;justify-content:center;gap:5px;flex-wrap:wrap}
.calendar-activity-icons svg,.calendar-legend svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.calendar-activity-icons .network-calendar-cue{color:#246b60;display:flex;font-size:inherit}.calendar-activity-icons .lift-calendar-cue{display:flex;color:#245a87}.calday.selected .calendar-activity-icons span{color:white}
.calendar-legend{display:flex;gap:10px 20px;flex-wrap:wrap;margin:16px 0;font-size:var(--db-caption);line-height:1.5;color:var(--db-muted)}.calendar-legend>span{display:flex;gap:7px;align-items:center}
#view .cc-personal-visit{padding:24px!important;display:flex;flex-direction:column;min-width:0}
.cc-visit-header{display:grid;grid-template-columns:76px minmax(0,1fr);gap:20px;align-items:start}
.cc-personal-visit .cc-visit-date{position:static;left:auto;top:auto;width:76px;box-sizing:border-box;margin:0}
.cc-visit-heading{min-width:0}.cc-visit-heading>strong{display:block;font:600 var(--db-card)/1.4 var(--font-heading);overflow-wrap:anywhere}.cc-visit-heading>.small{margin:6px 0 10px}.cc-visit-status{display:inline-block;max-width:100%;white-space:normal}
.visit-month:first-of-type .visit-month-cards>.cc-personal-visit:first-child{min-height:0}
#view .cc-personal-visit>.buttonrow{margin-top:20px}.visit-month-cards{align-items:start}
@media(max-width:740px){#view .cc-personal-visit{padding:20px!important}.cc-visit-header{grid-template-columns:58px minmax(0,1fr);gap:14px}.cc-personal-visit .cc-visit-date{width:58px;padding:9px 3px}.cc-visit-heading>strong{font-size:1.1rem}.calendar-legend{gap:8px}.calendar-activity-icons{gap:3px}.calendar-activity-icons svg{width:16px;height:16px}}
@media(min-width:741px){#view .cc-personal-visit>.buttonrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}#view .cc-personal-visit>.buttonrow>.btn{width:100%;min-width:0;min-height:48px;padding:10px 12px;border-radius:10px;font-size:var(--db-label);line-height:1.4;white-space:normal}}

/* Explicit profile affordances; override the legacy global primary-button selector. */
#view button.member-profile-link,#member-profile-dialog button.member-profile-link{background:transparent;color:var(--db-navy);border:0;border-radius:4px;box-shadow:none;text-align:left;white-space:normal;font:inherit;padding:6px 2px}
#view button.member-profile-link:hover{text-decoration-thickness:2px;color:var(--db-blue)}
#view .connection-entry{border:1px solid var(--db-divider);border-radius:var(--db-card-radius);box-shadow:var(--db-shadow);padding:24px 24px 24px 92px;min-width:0}
#view .connection-entry:before{background-color:var(--db-soft);border:1px solid var(--db-divider)}
#view .connection-entry h4{margin:0 0 6px;overflow-wrap:anywhere}#view .connection-entry .buttonrow{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}#view .connection-entry .buttonrow .btn{min-height:44px;min-width:120px;font-size:var(--db-label);padding:10px 14px}
.shared-connections{margin:12px 0;color:var(--db-ink)}.shared-connections summary{cursor:pointer;min-height:44px;align-content:center;font-weight:650;color:var(--db-navy)}.shared-connections ul{list-style:none;margin:6px 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px}.shared-connections li{min-width:0;overflow-wrap:anywhere}
@media(max-width:740px){#view .connection-entry{padding:20px 16px 20px 78px}#view .connection-entry .buttonrow .btn{flex:1 1 130px;min-width:0}}

.member-section-icon{width:24px;height:24px;vertical-align:middle;margin-right:10px;fill:none;stroke:currentColor;flex-shrink:0}.rich-lodge-editor{background:var(--db-soft);padding:20px;border-radius:14px;display:grid;gap:10px}.rich-lodge-editor h4{margin:0;font:600 var(--db-card)/1.4 var(--font-heading)}.member-details .external-lodge-editor{padding:16px;border:1px solid var(--db-divider);border-radius:12px}.external-lodge-editor label{display:block;margin:12px 0 6px}.member-lodge-office{margin:0;background:var(--db-soft);padding:12px 20px;border-radius:10px}.member-orders{background:var(--db-soft);padding:22px;border-radius:18px}.member-orders h3{margin:0}.member-orders-list{display:flex;flex-wrap:wrap;gap:10px}.title-request{padding:20px;margin:12px 0;border:1px solid var(--db-divider);border-radius:14px}.title-request .btn{margin:8px 10px 0 0}

/* Profile changes use the existing save action, with temporary viewport space. */
.profile-save-floating[hidden]{display:none!important}
.profile-save-floating{position:fixed;z-index:21;display:flex;align-items:center;gap:16px;box-sizing:border-box;max-width:calc(100% - 32px);padding:12px 16px max(12px,env(safe-area-inset-bottom));background:var(--db-navy,#13325e);color:white;border:1px solid var(--db-gold,#c7b47a);border-radius:14px;box-shadow:0 8px 28px #102a4a2b;font:500 .875rem/1.45 var(--font-body);overflow-wrap:anywhere}
.profile-save-floating #profile-save-state{max-width:280px;color:white}
.profile-save-floating .btn{margin:0;min-height:46px;min-width:140px;padding:12px 20px;border-radius:10px;font:650 .9375rem/1.35 var(--font-body);background:white!important;color:var(--db-navy)!important;border:1px solid white;white-space:nowrap}
.profile-save-floating .btn:disabled{opacity:.75;cursor:wait}
.profile-save-visible #view{padding-bottom:var(--profile-save-space,112px);scroll-padding-bottom:var(--profile-save-space,112px)}
.profile-save-visible #view input,.profile-save-visible #view select,.profile-save-visible #view textarea,.profile-save-visible #view button{scroll-margin-bottom:var(--profile-save-space,112px)}
.profile-save-visible .back-to-top{bottom:calc(var(--profile-save-space,112px) + 16px)!important}
@media(max-width:740px){.profile-save-floating{max-width:calc(100% - 24px);gap:12px;padding:10px 12px max(10px,env(safe-area-inset-bottom));border-radius:12px}.profile-save-floating #profile-save-state{flex:1;min-width:0;font-size:.8125rem}.profile-save-floating .btn{min-width:132px;font-size:.875rem;padding:12px 14px}}

/* Password settings: one method at a time, scoped to this dialog. */
#password-setup-dialog{width:min(560px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:28px;border:1px solid var(--db-divider);border-radius:var(--db-card-radius);overflow:auto;overscroll-behavior:contain;color:var(--db-ink)}
#password-setup-dialog::backdrop{background:#102440a6}
#password-setup-form h2{margin:0 0 8px}#password-setup-form p{margin:0 0 16px}#password-setup-form [hidden]{display:none!important}
#password-setup-change,#password-setup-recovery-panel{min-width:0}
#password-setup-change input{margin-bottom:14px}#password-setup-change label{font:600 var(--db-label)/1.5 var(--font-body);margin:12px 0 6px}
#password-setup-form .text-action{display:block;width:auto;max-width:100%;min-height:46px;padding:10px 0;margin:0;border:0;border-radius:4px;background:transparent;color:var(--db-navy);text-align:left;text-decoration:underline;text-underline-offset:4px;font-weight:500;white-space:normal}
#password-setup-recovery-panel{padding:20px;background:var(--db-canvas);border:1px solid var(--db-divider);border-radius:12px}
#password-setup-recovery-panel h3{margin:0 0 14px}#password-setup-recovery{width:100%;margin:0 0 8px;border-color:var(--db-border)}
#password-setup-form .actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;margin:0;padding-top:16px;border-top:1px solid var(--db-divider)}
#password-setup-form .actions button{margin:0}#password-setup-status{overflow-wrap:anywhere;font-size:var(--db-label)}#password-setup-status:empty{display:none}#password-setup-status:not(:empty){padding:12px 14px;background:var(--db-soft);border-left:3px solid var(--db-teal);border-radius:8px}
#password-setup-dialog :is(button,input,[tabindex]):focus-visible{outline:3px solid var(--db-teal);outline-offset:3px}
@media(max-width:480px){#password-setup-dialog{padding:22px 18px;width:calc(100% - 24px);max-height:calc(100dvh - 24px)}#password-setup-recovery-panel{padding:18px 16px}#password-setup-form .actions button{flex:1}#password-setup-form p{font-size:1rem}}

/* Member names remain readable in compact cards and conversation headings. */
.member-profile-link,.member-profile-identity h2,.connection-card h3,.lift-offer strong{overflow-wrap:anywhere;min-width:0;white-space:normal;text-align:start}
.member-title-choice{margin-block:12px;align-items:start}

/* Profile view: each office belongs inside its lodge card. */
#member-profile-dialog .member-lodge-card .member-section-label{display:flex;align-items:center;gap:8px}
#member-profile-dialog .member-lodge-card .member-section-icon{width:18px;height:18px;flex:0 0 18px}
#member-profile-dialog .member-lodge-place{color:var(--db-muted);margin:12px 0 0;overflow-wrap:anywhere}
#member-profile-dialog .member-lodge-office{display:grid;gap:4px;padding:12px 14px;margin-top:16px;background:var(--db-soft);border-radius:10px;overflow-wrap:anywhere}
#member-profile-dialog .member-lodge-office>span{font-size:.875rem;color:var(--db-muted)}
#member-profile-dialog .member-lodge-card h3,#member-profile-dialog .member-lodge-office strong{white-space:normal;overflow-wrap:anywhere}

/* Scoped Connections polish: natural stacked flow; shared desktop header tracks. */
#view .connections-columns{display:grid;grid-column:1/-1;gap:24px;min-width:0}
#view .connection-section{min-width:0;margin:0}
#view .connection-section>h3{font:600 var(--db-section)/1.4 var(--font-heading);margin:0 0 12px}
#view .connection-section>.connection-description{margin:0 0 16px;color:var(--db-muted);line-height:1.5}
#view .connection-section>label{font:600 var(--db-label)/1.45 var(--font-body);margin-bottom:8px}
#view .connection-section>.connection-search{width:100%;box-sizing:border-box;min-height:48px;margin:0 0 8px}
#view .connection-section .connection-entry{position:relative;background:linear-gradient(120deg,#fff,#F1F6FA);border:1px solid var(--db-divider);border-top:3px solid var(--db-blue);padding:22px 20px 20px 84px;margin:12px 0 0;box-shadow:0 4px 14px #13325e0b;transition:box-shadow .15s ease,border-color .15s ease;min-width:0}
#view .connection-section .connection-entry::before{content:none}
#view .connection-entry>.member-outline{position:absolute;left:18px;top:22px;width:46px;height:46px;border:1px solid var(--db-divider);background:var(--db-soft);color:var(--db-navy)}
#view .connection-entry>.member-outline svg{width:30px;height:30px}
#view .connection-section .connection-entry h4{font:650 1.08rem/1.45 var(--font-body);color:var(--db-navy);margin:0 0 8px;overflow-wrap:anywhere}
#view .connection-entry .member-profile-link{font:inherit;white-space:normal;overflow-wrap:anywhere;text-align:left}
#view .connection-entry .small{color:var(--db-muted);line-height:1.5;overflow-wrap:anywhere}
#view .connection-section .buttonrow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}
#view .connection-entry .buttonrow>.btn{min-width:0;width:100%;min-height:46px;padding:10px 12px;font:600 .9375rem/1.35 var(--font-body);white-space:normal;box-sizing:border-box;border-radius:10px}
#view .connection-entry .buttonrow>.btn:last-child:nth-child(odd){grid-column:1/-1}
#view .connection-entry>.btn{margin-top:10px;min-height:46px;width:100%;box-sizing:border-box}
#view .connection-entry:focus-within{border-color:var(--db-blue);box-shadow:0 0 0 2px #24557e22,0 6px 20px #13325e12}
#view .connection-entry :is(button,a):focus-visible{outline:3px solid var(--db-blue);outline-offset:3px}
@media(hover:hover){#view .connection-entry:hover{border-color:#8AA6BE;box-shadow:0 7px 20px #13325e14}}
@media(min-width:960px){#view .connections-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;row-gap:0}#view .connection-section{display:grid;grid-template-rows:subgrid;grid-row:span 6;row-gap:0}#view .connection-section>label{align-self:end}}
@media(max-width:740px){#view .connection-section{padding:0;border:0;background:transparent;box-shadow:none}#view .connection-section .connection-entry{padding:20px 16px 18px 76px}#view .connection-entry>.member-outline{left:14px;top:20px;width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){#view .connection-section .connection-entry{transition:none}}

/* Messaging: a single reachable composer action row; existing handlers unchanged. */
#connection-dialog[open],#contact-dialog[open]{display:flex;flex-direction:column;overflow:hidden;max-height:calc(var(--conversation-height,var(--visible-height,100dvh)) - 24px)}
#connection-content,#contact-content{display:flex;flex-direction:column;min-height:0;overflow:hidden}
#connection-content>.protected-messages,#contact-content>.protected-messages{flex:1 1 auto;min-height:40px;overflow:auto;max-height:none;padding-bottom:8px}
#connection-content #connection-message-form,#contact-content #protected-message-form{gap:0;flex:0 0 auto;margin:10px 0 0;padding:12px 0 0;border-top:1px solid var(--db-divider);background:var(--db-surface)}
#connection-content #connection-message,#contact-content #protected-message{width:100%;box-sizing:border-box;min-height:72px;max-height:140px;resize:vertical}
#connection-dialog .conversation-composer-actions,#contact-dialog .conversation-composer-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.conversation-composer-actions>.btn{min-height:46px;padding:11px 14px;white-space:normal;line-height:1.3;width:100%;box-sizing:border-box}
.conversation-composer-actions>button[type=submit]{background:var(--db-navy);color:white;border-color:var(--db-navy)}
.conversation-composer-actions>button[type=button]{background:var(--db-surface);color:var(--db-navy);border:1px solid var(--db-navy)}
#connection-message-form .tiny,#protected-message-form .tiny{margin:8px 0}
#connection-message-status:empty,#message-status:empty{display:none}
#connection-dialog .conversation-close-actions,#contact-dialog .conversation-close-actions{flex:0 0 auto;position:static;box-shadow:none;margin-top:10px;padding-top:10px}
.own-visits-controls{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 20px;grid-column:1/-1}
.own-visits-controls .buttonrow{display:flex;gap:8px}.own-visits-controls button{min-height:46px}
.own-calendar-month{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.own-calendar-month h3{text-align:center;margin:0;font-size:var(--db-section)}
#own-current-month{grid-column:1/-1;justify-self:center}.own-visits-calendar{grid-column:1/-1;max-width:760px;width:100%;box-sizing:border-box}.own-calendar-selection{grid-column:1/-1}
.own-visits-calendar .calday{min-width:0;min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.own-visits-calendar .has-own-plans{background:var(--db-positive);border:2px solid var(--db-teal)}.own-visits-calendar .selected{background:var(--db-navy);color:white}
.own-plan-count{border-radius:50%;min-width:22px;line-height:22px;font-size:.8rem;font-weight:700;background:var(--db-teal);color:white}.own-calendar-key{color:var(--db-muted)}
.calendar-legend{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.calendar-legend>span{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;background:var(--db-positive);border:1px solid var(--db-teal);border-radius:10px;color:var(--db-ink);font:500 .875rem/1.4 var(--font-body);min-width:0}
.calendar-legend svg{width:20px;height:20px;flex:0 0 20px;color:var(--db-teal);fill:none;stroke:currentColor;stroke-width:1.7}
@media(max-width:740px){.own-visits-controls{align-items:stretch}.own-visits-controls>.buttonrow{width:100%}.own-visits-controls .buttonrow>.btn{flex:1;min-width:0}.own-visits-calendar{padding:16px!important}.own-visits-calendar .calgrid{gap:3px}.own-visits-calendar .calday{min-height:52px;padding:5px 2px}.own-calendar-month h3{font-size:1.05rem}.calendar-legend>span{max-width:100%;box-sizing:border-box}#connection-dialog[open],#contact-dialog[open]{max-height:calc(var(--conversation-height,var(--visible-height,100dvh)) - 16px);padding:18px}#connection-content #connection-message,#contact-content #protected-message{min-height:58px;max-height:100px}}
/* Keep the composer reachable when the on-screen keyboard reduces the viewport. */

 #connection-dialog.conversation-compact[open],#contact-dialog.conversation-compact[open]{padding:12px}
 #connection-dialog.conversation-compact>h2,#contact-dialog.conversation-compact>h2{font-size:1.15rem;line-height:1.2;margin:0 0 6px;padding-right:60px;overflow-wrap:anywhere}
 :is(#connection-dialog,#contact-dialog).conversation-compact #connection-content>p,:is(#connection-dialog,#contact-dialog).conversation-compact #contact-content>p{font-size:.8125rem;line-height:1.35;margin:6px 0}
 :is(#connection-dialog,#contact-dialog).conversation-compact #connection-message-form,:is(#connection-dialog,#contact-dialog).conversation-compact #protected-message-form{margin-top:6px;padding-top:8px}
 :is(#connection-dialog,#contact-dialog).conversation-compact #connection-message-form label,:is(#connection-dialog,#contact-dialog).conversation-compact #protected-message-form label{font-size:.875rem;margin-bottom:4px}
 :is(#connection-dialog,#contact-dialog).conversation-compact #connection-content #connection-message,:is(#connection-dialog,#contact-dialog).conversation-compact #contact-content #protected-message{height:58px!important;min-height:58px!important;max-height:76px}
 :is(#connection-dialog,#contact-dialog).conversation-compact #connection-message-form .tiny,:is(#connection-dialog,#contact-dialog).conversation-compact #protected-message-form .tiny{font-size:.75rem;line-height:1.3;margin:6px 0}
 #connection-dialog.conversation-compact .conversation-composer-actions,#contact-dialog.conversation-compact .conversation-composer-actions{margin-top:6px}
 .conversation-compact .conversation-composer-actions>.btn{padding:8px 10px;font-size:.875rem;min-height:44px}

@media(max-height:360px){#connection-content,#contact-content{overflow-y:auto}}
.calendar .calday.has-network{background:var(--db-positive)}

:is(#connection-dialog,#contact-dialog).conversation-compact[open]{margin:0 auto;top:calc(var(--conversation-top,0px) + 8px);bottom:auto;transform:none}
:is(#connection-dialog,#contact-dialog).conversation-compact :is(#connection-content,#contact-content){overflow-y:auto}

/* Connections only: compact Direction B network. */
#view .cc-connections-page{grid-column:1/-1;min-width:0;display:grid;gap:20px}
#view .cc-connections-page [hidden]{display:none!important}
#view .cc-network-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:2px 0}
#view .cc-network-heading h2{font:600 1.7rem/1.25 var(--font-heading);margin:5px 0 0;color:var(--db-navy)}
#view .cc-network-eyebrow{font:650 .75rem/1.4 var(--font-body);text-transform:uppercase;letter-spacing:.08em;color:var(--db-teal)}
#view .cc-network-heading>p{font-size:var(--db-label);color:var(--db-muted);margin:0}
#view .cc-network-section,#view .cc-network-pending{min-width:0;padding:20px;background:var(--db-navy);border:1px solid var(--db-blue);border-radius:var(--db-card-radius);color:var(--db-surface);box-shadow:var(--db-shadow);margin:0}
#view .cc-network-section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px}
#view .cc-network-section h3,#view .cc-network-pending>h3{font:600 1.18rem/1.4 var(--font-heading);color:var(--db-surface);margin:0 0 6px}
#view .cc-network-section-head p,#view .cc-network-pending>p{font:400 .875rem/1.5 var(--font-body);color:var(--db-soft);margin:0}
#view .cc-network-total{display:inline-grid;place-items:center;min-width:26px;min-height:26px;padding:2px 7px;margin-left:6px;background:var(--db-blue);border:1px solid var(--db-border);border-radius:20px;font:650 .8rem/1 var(--font-body);vertical-align:middle;color:var(--db-surface)}
#view .cc-network-search{flex:0 1 280px;min-width:180px}
#view .cc-network-search label{display:block;font:550 .8rem/1.4 var(--font-body);color:var(--db-soft);margin:0 0 6px}
#view .cc-network-search input{display:block;min-height:44px;width:100%;box-sizing:border-box;background:var(--db-surface);color:var(--db-ink);border:1px solid var(--db-border);border-radius:10px;padding:10px 12px;font:400 .9375rem/1.4 var(--font-body)}
#view .cc-network-search input::placeholder{color:var(--db-muted);opacity:1}
#view .cc-network-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0;align-items:stretch}
#view .cc-network-tile{display:grid;grid-template-columns:46px minmax(0,1fr);align-content:start;column-gap:12px;row-gap:14px;min-width:0;margin:0;padding:16px;background:var(--db-blue);border:1px solid var(--db-border);border-radius:14px;box-shadow:0 2px 0 #10244044,inset 0 1px 0 #FFFFFF12;color:var(--db-surface)}
#view .cc-network-tile>.member-outline{display:grid;place-items:center;width:46px;height:46px;position:static;margin:0;border:1px solid var(--db-gold);border-radius:50%;background:var(--db-navy);color:var(--db-soft);box-sizing:border-box;font-size:1rem}
#view .cc-network-tile>.member-outline svg{width:29px;height:29px}
#view .cc-network-identity{min-width:0}
#view .cc-network-identity h4{font:650 1rem/1.4 var(--font-body);color:var(--db-surface);margin:0 0 4px;overflow-wrap:anywhere}
#view .cc-network-tile .member-profile-link{display:inline;min-height:0;padding:0;margin:0;border:0;border-radius:3px;background:transparent;box-shadow:none;color:var(--db-surface);text-align:left;text-decoration:none;font:inherit;line-height:inherit;white-space:normal;overflow-wrap:anywhere}
#view .cc-network-tile .cc-network-lodge{font:400 .8125rem/1.5 var(--font-body);color:var(--db-soft);margin:0;overflow-wrap:anywhere}
#view .cc-network-actions{display:grid;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:center;margin:0;min-width:0}
#view .cc-network-actions>.btn,#view .cc-network-more{min-height:44px;min-width:0;padding:9px 8px;border:1px solid var(--db-border);border-radius:9px;background:var(--db-navy);color:var(--db-surface);font:600 .8125rem/1.35 var(--font-body);white-space:normal;box-shadow:inset 0 1px 0 #FFFFFF0A;box-sizing:border-box;width:100%}
#view .cc-network-discover-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
#view .cc-network-request-status{font:500 .75rem/1.45 var(--font-body);color:var(--db-soft);overflow-wrap:anywhere}
#view .cc-network-empty{font:400 .9375rem/1.5 var(--font-body);color:var(--db-soft);padding:14px 16px;margin:0;background:var(--db-blue);border:1px solid var(--db-border);border-radius:12px}
#view .cc-network-list-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}
#view .cc-network-list-footer:has(p:empty):has(button[hidden]){display:none}
#view .cc-network-list-footer p{font:400 .8125rem/1.5 var(--font-body);color:var(--db-soft);margin:0}
#view .cc-network-more{width:auto;min-width:120px;padding:10px 16px}
#view .cc-network-privacy{font:400 .8125rem/1.5 var(--font-body);margin:0;color:var(--db-muted)}
#view .cc-network-pending .panel{padding:14px 16px;margin:12px 0 0;border-radius:12px;background:var(--db-blue);color:var(--db-surface);border:1px solid var(--db-border)}
#view .cc-network-pending .panel :is(h3,p){color:var(--db-surface)}
#view .cc-network-pending .buttonrow .btn{min-height:44px;padding:9px 14px}
#view .cc-network-tile:focus-within{outline:1px solid var(--db-gold);outline-offset:2px}
#view .cc-connections-page :is(button,input,a):focus-visible{outline:3px solid var(--db-gold);outline-offset:3px;box-shadow:0 0 0 5px var(--db-navy)}
@media(hover:hover){#view .cc-network-actions>.btn:hover,#view .cc-network-more:hover{background:var(--db-surface);color:var(--db-navy);border-color:var(--db-surface)}#view .cc-network-tile .member-profile-link:hover{text-decoration:underline;text-underline-offset:3px}}
@media(max-width:1050px){#view .cc-network-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){#view .cc-network-heading{align-items:flex-start}#view .cc-network-heading>p{display:none}#view .cc-network-section,#view .cc-network-pending{padding:16px}#view .cc-network-section-head{display:block;margin-bottom:14px}#view .cc-network-search{min-width:0;margin-top:14px}#view .cc-network-grid{grid-template-columns:minmax(0,1fr);gap:10px}#view .cc-network-tile{padding:14px;column-gap:12px;row-gap:12px}#view .cc-connections-page{gap:16px}}
@media(forced-colors:active){#view .cc-network-section,#view .cc-network-tile,#view .cc-network-actions>.btn{border:1px solid CanvasText}#view .cc-connections-page :is(button,input,a):focus-visible{outline-color:Highlight}}

/* Confirmed unread inbox state; scoped away from both conversation dialogs. */
#view .cc-message-inbox .cc-inbox-row{min-width:0}
#view .cc-message-inbox .cc-inbox-name{overflow-wrap:anywhere;font-weight:600}
#view .cc-message-inbox .cc-message-preview{font-weight:400;white-space:pre-line;overflow-wrap:anywhere}
#view .cc-message-inbox .cc-inbox-unread .cc-inbox-name,
#view .cc-message-inbox .cc-inbox-unread .cc-message-preview{font-weight:700}
#view .cc-message-inbox .cc-inbox-unread::before{background-color:var(--db-positive);box-shadow:inset 0 0 0 2px var(--db-teal)}
#view .cc-message-inbox .cc-inbox-count{font:700 var(--db-caption)/1.4 var(--font-body);color:var(--db-teal);background:var(--db-positive);padding:5px 11px;border:1px solid var(--db-teal);border-radius:20px;justify-self:start;margin:2px 0}
#view .cc-message-inbox .cc-inbox-actions{grid-column:2;grid-row:1 / span 5;align-self:center;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:330px}
#view .cc-message-inbox .cc-inbox-actions .btn{min-height:44px;margin:0}
#view .cc-message-inbox .cc-inbox-empty{padding:24px 0}
@media(max-width:740px){
 #view .cc-message-inbox .cc-inbox-actions{grid-column:1;grid-row:auto;justify-content:flex-start;max-width:none;margin-top:8px}
 #view .cc-message-inbox .cc-inbox-actions .btn{flex:1 1 150px;padding:10px 12px}
}
