/* Meulewiekers — the approved blue/white concept, applied across the portal. */
:root{--navy:#112b49;--blue:#075bf2;--ink:#111d43;--muted:#596b89;--line:#e4edf8;--bg:#f4f8ff;--radius:16px;color-scheme:light}body{font-family:Inter,'Segoe UI',system-ui,-apple-system,sans-serif;background:var(--bg);font-size:14px}h1,h2{letter-spacing:-.025em}h1{font-family:Georgia,'Times New Roman',serif;font-size:34px}h2{font-size:19px}h3{letter-spacing:-.02em}.shell.concept-shell{min-height:100dvh;grid-template-columns:228px minmax(0,1fr)}.concept-shell .sidebar{background:linear-gradient(150deg,#102a47,#0e253f);padding:24px 14px;height:100dvh;top:0;overflow-y:auto;scrollbar-width:thin}.concept-shell .brand{padding:0 8px 28px;color:white;text-decoration:none;gap:12px}.concept-shell .brand-mark{width:45px;height:51px;filter:none;background:#fff;border-radius:8px;padding:4px}.concept-shell .brand strong{font-size:14px;letter-spacing:0;line-height:1.5}.concept-shell .brand small{display:block;font-size:10px;font-weight:400;color:#b8cbe2}.concept-shell .nav-item{padding:12px;min-height:46px;gap:13px;border-radius:9px;font-size:13px;color:#e2ebf7}.concept-shell .nav-item:hover{background:#203f60}.concept-shell .nav-item.active{background:#075bf2;color:#fff;box-shadow:0 5px 16px #02183125}.concept-shell .nav-item .count{background:#e4eeff;color:#065bf3;border-radius:6px;font-size:11px}.concept-shell .sidebar-bottom{padding:14px 4px 0;border-color:#ffffff1c}.sidebar-logout.btn{background:transparent;color:#fff;border:0;box-shadow:none;justify-content:flex-start;width:100%;padding:12px}.nav-group{color:#d6e5f7}.nav-group summary{display:flex;gap:13px;align-items:center;cursor:pointer;padding:13px 12px;min-height:46px;border-radius:9px;list-style:none}.nav-group summary:hover{background:#203f60}.nav-group summary:after{content:'⌄';margin-left:auto;font-size:15px}.nav-group[open] summary:after{content:'⌃'}.nav-group>.nav-item{font-size:12px;margin-left:14px;width:calc(100% - 14px)}.nav-group summary::-webkit-details-marker{display:none}.concept-shell .topbar{height:76px;padding:0 30px;background:#fff;position:sticky;top:0;z-index:30;gap:20px}.portal-search{position:relative;display:flex;align-items:center;gap:12px;background:#f0f5fd;border:1px solid #eef3fa;border-radius:11px;width:min(460px,65%);padding:0 14px;height:43px;color:#536e99}.portal-search input{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;margin:0!important;flex:1;min-width:0;font-size:13px;height:40px;color:var(--ink)}.portal-search input::placeholder{color:#657797}.portal-search button{display:grid;place-items:center;border:0;background:transparent;color:#536e99;width:30px;height:36px}.topbar-actions{display:flex;gap:17px;align-items:center;margin-left:auto}.notification-bell{position:relative;display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;color:#0e2446;border-radius:10px}.notification-bell:hover{background:#edf4ff}.notification-bell .icon{width:23px;height:23px}.notification-count{position:absolute;top:3px;right:1px;border:2px solid white;background:#075bf2;color:white;border-radius:16px;font-size:10px;line-height:17px;min-width:19px;padding:0 3px}.notification-count[hidden]{display:none}.profile-link.avatar{width:38px;height:38px;font-size:12px;text-decoration:none;background:#e7f0ff;color:#1b477f}.concept-shell main{max-width:1500px;margin:0 auto;padding:28px 30px 48px}.concept-welcome.hero{display:block;background:none;border:0;box-shadow:none;border-radius:0;margin:0 0 26px;padding:0;color:var(--ink);min-height:0}.concept-welcome.hero h1{font-size:34px;line-height:1.25;margin:0 0 8px;color:var(--ink);max-width:none}.concept-welcome.hero p{font-size:18px;margin:0;color:#596b89;line-height:1.5;max-width:none}.concept-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}.concept-stat{display:flex;align-items:center;gap:18px;padding:22px 19px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 4px 14px #24477906;text-decoration:none;color:var(--ink);min-height:110px}.concept-stat .stat-icon{width:53px;height:53px;border-radius:50%;color:#075bf2;background:#e7f1ff;display:grid;place-items:center}.concept-stat .stat-icon .icon{width:28px;height:28px;stroke-width:2.2}.concept-stat>div{flex:1}.concept-stat span{font-size:13px}.concept-stat b{font-size:28px;display:block;margin-top:4px;line-height:1.2}.concept-stat>.icon{width:17px;color:#254e8c}.concept-main-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(275px,1fr);gap:20px;margin-bottom:22px}.panel{border:1px solid var(--line);border-radius:15px;box-shadow:0 4px 18px #24477905;background:white;overflow:hidden}.concept-panel{padding:21px}.concept-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.concept-panel>header h2{font-size:19px;letter-spacing:-.025em}.concept-panel>header>a{font-size:12px;text-decoration:none;white-space:nowrap;color:#075bf2}.concept-task{display:flex;align-items:center;gap:12px;padding:0 12px;border:1px solid #e9eef7;border-radius:9px;min-height:50px;margin-top:9px}.task-check{width:20px;height:20px;min-width:20px;border:1.5px solid #8795ad;border-radius:5px;background:white;display:grid;place-items:center;padding:0}.task-check:disabled{opacity:1;border-color:#b9c4d3;cursor:default}.concept-task>a{flex:1;display:flex;align-items:center;gap:12px;padding:12px 0;color:var(--ink);text-decoration:none;font-size:13px;min-width:0}.concept-task a>span{flex:1;overflow-wrap:anywhere}.concept-task .icon{width:15px;height:15px;color:#365689}.deadline-chip{font-size:11px;background:#eaf3ff;color:#075bf2;padding:5px 8px;border-radius:7px;white-space:nowrap}.deadline-chip.late{color:#c21e3b;background:#fff0f2}.concept-event{display:flex;align-items:stretch;gap:12px;padding:16px 0;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}.concept-event:last-child{border:0}.event-date{min-width:52px;flex-shrink:0}.event-date b{font-size:14px}.event-date small{display:block;font-size:12px;color:#597098;margin-top:5px}.event-dot{border-left:1px solid #e0eaf7;position:relative;margin-left:2px}.event-dot:before{content:'';width:8px;height:8px;background:#075bf2;border:2px solid white;box-sizing:content-box;position:absolute;left:-6px;top:4px;border-radius:50%}.event-info{min-width:0;padding-left:3px}.event-info b{display:block;font-size:12px;overflow-wrap:anywhere;line-height:1.5}.event-info small{font-size:12px;display:block;color:#597098;margin-top:5px;overflow-wrap:anywhere}.concept-committees{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.concept-committee{border:1px solid #e5edf7;border-radius:12px;padding:17px;display:grid;grid-template-columns:47px 1fr;gap:11px 13px;align-items:center}.committee-tile-icon{width:46px;height:46px;background:#e9f3ff;color:#075bf2;border-radius:50%;display:grid;place-items:center}.committee-tile-icon .icon{width:24px;height:24px}.concept-committee h3{font-size:14px;line-height:1.4;overflow-wrap:anywhere}.concept-committee p{font-size:12px;color:#587098;margin:5px 0 0;line-height:1.5}.concept-committee .btn{grid-column:1/-1;margin-top:6px;min-height:45px;justify-content:space-between;font-size:12px;background:#edf4ff;color:#183e78;border-color:transparent;border-radius:9px;box-shadow:none}.concept-committee .btn.primary{background:#075bf2;color:white}.concept-empty{padding:22px 8px;text-align:center;color:#596b89;font-size:13px;line-height:1.6}.concept-empty>.icon{display:block;margin:0 auto 12px;color:#075bf2;width:27px;height:27px}.concept-empty strong{color:var(--ink);display:block}.concept-empty p{margin:6px 0 0}.concept-empty a{display:inline-block;margin-top:10px;text-decoration:none}.concept-other-attention{display:flex;align-items:center;gap:10px;margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:9px;color:var(--ink);text-decoration:none}.concept-other-attention>span{flex:1}.concept-other-attention small{font-size:10px;color:#075bf2}.concept-other-attention>.icon{width:16px}.notification-popover{position:fixed;top:86px;right:28px;width:390px;max-height:min(650px,calc(100dvh - 150px));display:flex;flex-direction:column;background:#fff;border:1px solid #dce8f7;border-radius:16px;box-shadow:0 18px 60px #0c244633;z-index:80;overflow:hidden}.notification-popover>header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px}.notification-popover h2{font-size:19px}.live-indicator{display:block;font-size:11px;margin-top:6px;color:#426b59}.live-indicator:before{content:'';display:inline-block;width:6px;height:6px;background:#23a274;border-radius:50%;margin-right:6px}.notification-tools{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;border-block:1px solid var(--line);font-size:12px}.notification-tools>a{text-decoration:none}.notification-items{overflow-y:auto;min-height:0}.notification-item{display:flex;align-items:center;gap:12px;padding:15px 18px;width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;color:var(--ink)}.notification-item:hover{background:#f6f9ff}.notification-item.unread{background:#f0f6ff}.notification-dot{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:#cad5e5}.notification-item.unread .notification-dot{background:#075bf2}.notification-item>span:nth-child(2){flex:1;min-width:0}.notification-item strong{font-size:13px;line-height:1.5;display:block;overflow-wrap:anywhere}.notification-item small{display:block;color:#607390;font-size:11px;margin-top:5px}.notification-item .icon{width:16px}.notification-popover footer{padding:16px 20px;border-top:1px solid var(--line);font-size:12px}.notification-popover footer a{text-decoration:none;display:flex;align-items:center;justify-content:space-between}.modern-mobile-brand{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.heading-row{margin-bottom:26px}.heading-row h1{font-size:30px}.btn{border-radius:9px;min-height:40px;box-shadow:none}.btn.primary{background:#075bf2;border-color:#075bf2}.btn.primary:hover{background:#004acb}.panel-body,.content-block{border-radius:15px}.task-row{border-color:var(--line)}.tabs{border-radius:12px}.tabs a,.tabs button{border-radius:8px}.app-settings{max-width:720px;margin-bottom:22px}.app-settings h2{margin-bottom:8px}.app-settings hr{border:0;border-top:1px solid var(--line);margin:24px 0}.app-settings h3{font-size:16px}.app-instructions{padding-left:22px;line-height:1.9}.app-settings fieldset{border:0;border-top:1px solid var(--line);padding:16px 0;margin:24px 0 8px}.app-settings fieldset legend{padding-right:10px;font-size:13px;font-weight:600}.app-settings .check{display:flex;align-items:center;gap:10px;padding:9px 0}.app-settings input[type=checkbox]{width:19px;height:19px;accent-color:#075bf2}.app-settings details{margin-top:25px}.push-device{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:14px 0}.push-device small{display:block;margin-top:5px;color:var(--muted);font-size:11px}.global-agenda-row{display:flex;align-items:center;gap:18px;padding:20px;text-decoration:none;border-bottom:1px solid var(--line);color:var(--ink)}.global-agenda-row>div:nth-last-child(2){flex:1;min-width:0}.global-agenda-row strong{display:block;overflow-wrap:anywhere}.global-agenda-row small{display:block;margin-top:6px;color:var(--muted)}.calendar-date{font-size:12px;min-width:145px}.document-groups{display:grid;gap:20px}.global-doc{display:flex;align-items:center;gap:13px;padding:15px 0;border-top:1px solid var(--line);text-decoration:none;color:var(--ink)}.global-doc[hidden]{display:none}.global-doc>span{flex:1}.global-doc strong,.global-doc small{display:block}.global-doc small{margin-top:5px;color:var(--muted);font-size:12px}.search-result{display:flex;align-items:center;gap:12px;padding:20px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.search-result>span{flex:1}.search-result strong,.search-result small{display:block}.search-result small{color:var(--muted);margin-top:7px}.login-wrap{background:linear-gradient(145deg,#e6f0ff,#f8fbff);min-height:100dvh}.login-card{border-radius:22px;box-shadow:0 18px 60px #24477912;border:1px solid #e5edf7}.login-card h1{font-family:Georgia,serif}.login-logo{filter:none!important}.phone-context,.phone-quick,.phone-account{display:none!important}
@media(min-width:701px) and (max-width:1050px){.shell.concept-shell{grid-template-columns:205px minmax(0,1fr)}.concept-shell main{padding:24px 22px}.concept-shell .topbar{padding:0 22px}.concept-main-grid{grid-template-columns:1fr}.concept-committees{grid-template-columns:repeat(2,minmax(0,1fr))}.concept-stat{gap:10px;padding:18px 12px}.concept-stat .stat-icon{width:40px;height:40px}.concept-stat span{font-size:12px}.concept-stat>.icon{display:none}}
@media(max-width:700px){body{font-size:14px;background:#f6f9ff}.shell.concept-shell{display:block;min-height:100dvh}.concept-shell .sidebar{position:fixed;top:0;left:0;height:100dvh;z-index:101;width:min(300px,86vw);padding:20px 15px;transform:translateX(-105%);display:flex!important}.concept-shell .sidebar.open{transform:translateX(0)}.concept-shell .sidebar .brand{padding-top:10px;padding-bottom:20px}.concept-shell .sidebar .nav-item{min-height:48px;font-size:14px}.concept-shell .sidebar-bottom{display:block!important}.concept-shell .sidebar .sidebar-logout{display:flex!important;min-height:48px}.concept-shell .workspace{width:100%;max-width:100vw;overflow-x:clip}.concept-shell .topbar{height:74px;padding:12px 17px;gap:10px;flex-wrap:nowrap;display:flex;position:sticky;top:0;background:#fff;align-items:center;border-bottom:1px solid #edf3fa}.concept-shell .topbar>.mobile-menu{display:none!important}.modern-mobile-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);min-width:0;flex:1}.modern-mobile-brand img{width:33px;height:41px;object-fit:contain}.modern-mobile-brand strong{font-size:13px;line-height:1.3}.concept-shell .portal-search{position:absolute;top:153px;left:18px;width:calc(100% - 36px);height:40px;z-index:1;gap:10px;display:none}.concept-shell[data-phone-page=dashboard] .portal-search{display:flex}.concept-shell[data-phone-page=search] .portal-search{position:relative;top:auto;left:auto;display:flex;width:100%;max-width:100%;margin-top:0}.concept-shell[data-phone-page=search] .topbar{height:auto;flex-wrap:wrap}.concept-shell[data-phone-page=search] .portal-search{order:3}.concept-shell .portal-search input{font-size:16px!important}.topbar-actions{gap:8px;margin-left:0}.profile-link.avatar{display:none}.notification-bell{width:42px;height:42px}.notification-count{top:2px;right:1px}.concept-shell main{padding:19px 18px calc(100px + env(safe-area-inset-bottom));max-width:100%;margin:0;width:100%}.concept-welcome.hero{display:block!important;margin-bottom:66px;padding:0!important;min-height:0;background:none!important}.concept-welcome.hero h1{font-size:25px;line-height:1.25;margin-bottom:6px;white-space:normal}.concept-welcome.hero p{font-size:13px;line-height:1.4}.concept-stats{gap:8px;margin-bottom:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.concept-stat{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:12px 10px;min-height:122px;border-radius:10px;position:relative}.concept-stat .stat-icon{width:33px;height:33px}.concept-stat .stat-icon .icon{width:20px;height:20px}.concept-stat>div{width:100%}.concept-stat span{font-size:10px;line-height:1.45;display:block}.concept-stat b{font-size:22px;margin-top:6px}.concept-stat>.icon{width:13px;position:absolute;right:9px;bottom:13px}.concept-main-grid{display:flex;flex-direction:column;gap:14px;margin-bottom:14px}.concept-panel{padding:16px 12px;border-radius:12px;width:100%}.concept-panel>header{gap:8px;align-items:center;margin-bottom:14px}.concept-panel>header h2{font-size:15px;line-height:1.3}.concept-panel>header>a{font-size:10px}.concept-task{padding:0 9px;gap:10px;min-height:46px}.task-check{width:18px;height:18px;min-width:18px}.concept-task>a{gap:6px;font-size:11px;padding:12px 0;line-height:1.5}.deadline-chip{font-size:9px;padding:4px 5px}.concept-task .icon{width:12px}.concept-event{padding:13px 3px;gap:12px}.event-date{min-width:49px}.event-date b{font-size:13px}.event-date small{font-size:11px}.event-info b{font-size:11px}.event-info small{font-size:11px}.concept-committees{grid-template-columns:1fr;gap:10px}.concept-committee{padding:14px;grid-template-columns:40px 1fr;gap:10px}.concept-committee .committee-tile-icon{width:40px;height:40px}.concept-committee h3{font-size:13px}.concept-committee p{font-size:11px}.concept-committee .btn{min-height:44px;margin-top:2px}.concept-other-attention{font-size:11px;padding:10px}.concept-other-attention small{font-size:9px}.notification-popover{position:fixed;top:73px;right:12px;left:12px;width:auto;max-height:calc(100dvh - 165px);border-radius:14px}.notification-popover>header{padding:17px}.notification-item{min-height:65px;padding:14px}.notification-item strong{font-size:12px}.notification-item small{font-size:10px}.notification-popover footer{padding:15px}.concept-shell .mobile-bottom-nav{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));height:calc(65px + env(safe-area-inset-bottom));padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e2eaf6;box-shadow:0 -4px 16px #24477905;z-index:50;bottom:0}.concept-shell .mobile-bottom-nav a,.concept-shell .mobile-bottom-nav button{color:#52688d;background:transparent;border:0;border-radius:10px;font-size:10px;gap:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:48px}.concept-shell .mobile-bottom-nav .icon{width:21px;height:21px}.concept-shell .mobile-bottom-nav [aria-current=page]{color:#075bf2;background:#f4f8ff}.concept-shell .mobile-bottom-nav span{font-size:10px}.concept-shell .phone-nav-count{display:none}.heading-row h1{font-size:27px}.concept-shell .heading-row p{font-size:13px}.global-agenda-row{padding:16px 13px;gap:11px;flex-wrap:wrap}.calendar-date{width:100%;min-width:0;font-size:11px}.global-agenda-row>.committee-tile-icon{width:35px;height:35px}.global-agenda-row strong{font-size:13px}.global-agenda-row small{font-size:11px}.app-settings{padding:19px 16px}.app-settings .actions{flex-wrap:wrap}.app-settings button{min-height:44px}.app-settings fieldset .check{min-height:44px}.push-device{align-items:flex-start;flex-wrap:wrap}.app-settings p,.app-instructions{font-size:13px}.login-card{padding:25px 22px;max-width:calc(100vw - 32px)}.concept-shell input,.concept-shell select,.concept-shell textarea{font-size:16px}.document-group{padding:18px}.search-result{padding:18px}.phone-context,.phone-quick,.phone-account,.mobile-portal-title{display:none!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Readable brand on the existing white logo card. */
.concept-shell .brand{background:transparent;border:0;box-shadow:none;color:#fff}.concept-shell .brand strong{color:#fff}.concept-shell .brand small{color:#b8cbe2}

@media(max-width:700px){.concept-shell .topbar{overflow:visible}.concept-shell[data-phone-page=dashboard] .portal-search{top:170px}.concept-welcome.hero{margin-bottom:82px}}
/* Keep editing dialogs above the app navigation on small screens. */
.modal-backdrop{z-index:200}
@media(max-width:700px){body:has(.modal-backdrop) .concept-shell .mobile-bottom-nav{display:none!important}}

@media(max-width:700px){
.concept-shell .table-scroll:has(.user-table){overflow:visible;border:0;background:transparent;box-shadow:none}
.concept-shell .user-table{display:block;min-width:0;width:100%;background:transparent}
.concept-shell .user-table thead{display:none}
.concept-shell .user-table tbody{display:grid;gap:14px;width:100%}
.concept-shell .user-table tr{display:block;min-width:0;background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px}
.concept-shell .user-table td{display:block;width:100%;padding:10px 0;border:0;white-space:normal;overflow-wrap:anywhere}
.concept-shell .user-table td[data-label]::before{content:attr(data-label);display:block;font-size:10px;font-weight:700;color:var(--muted);margin-bottom:7px;text-transform:uppercase;letter-spacing:.05em}
.concept-shell .user-table .user-cell{align-items:flex-start;min-width:0}
.concept-shell .user-table .user-cell>div:last-child{min-width:0}
.concept-shell .user-table td:last-child{border-top:1px solid var(--line);margin-top:8px;padding-top:14px}
.concept-shell .user-table .actions{display:flex;flex-wrap:wrap;gap:8px}
.concept-shell .user-table .actions .btn{min-height:44px;flex:1 1 140px;white-space:normal}
.modal-backdrop{height:var(--mobile-viewport,100dvh);max-height:100dvh;align-items:center;padding:10px}
.modal-backdrop .modal{display:flex;flex-direction:column;max-height:100%;overflow:hidden;min-height:0}
.modal-backdrop .modal-header{position:static;flex:0 0 auto;padding:16px 18px}
.modal-backdrop .modal-header .icon-btn{width:44px;height:44px;flex-shrink:0}
.modal-backdrop #modal-form{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.modal-backdrop .modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:18px}
.modal-backdrop .modal-footer{position:static;flex:0 0 auto;z-index:3;padding:12px 16px calc(12px + env(safe-area-inset-bottom));flex-wrap:wrap}
.modal-backdrop .modal-footer .btn{min-height:46px}
}
/* Preserve pasted paragraphs and line breaks in meeting notes and agenda text. */
.meeting-card .body-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}

/* Mobile navigation occupies its own row; only the workspace scrolls.
   Avoid floating fixed elements over content in iOS standalone mode. */
@media(max-width:700px){
body:has(.concept-shell){overflow:hidden}
.shell.concept-shell{display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;height:100dvh;min-height:0;overflow:hidden}
.concept-shell .workspace{flex:1 1 auto;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
.concept-shell .workspace>main{padding-bottom:24px}
.concept-shell .mobile-bottom-nav{position:relative;inset:auto;flex:0 0 auto;width:auto;margin:0 10px;min-height:calc(65px + env(safe-area-inset-bottom));height:auto;backdrop-filter:none;box-sizing:border-box}

}

/* Tapping the page outside the mobile drawer closes it. */
@media(max-width:700px){
.concept-shell .mobile-shade{position:fixed;inset:0;z-index:100;display:block;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;background:rgba(16,42,71,.28);cursor:pointer;touch-action:manipulation}
.concept-shell .mobile-shade[hidden]{display:none!important}
}

@media(max-width:700px){.concept-shell .workspace{grid-row:1;height:auto;box-sizing:border-box}.concept-shell .mobile-bottom-nav{grid-row:2;min-width:0;align-self:end}body.mobile-drawer-open .concept-shell .mobile-bottom-nav{display:none!important}}

/* Keep the mobile dashboard search inside the header layout, not floating over main. */
@media(max-width:700px){
.concept-shell[data-phone-page=dashboard] .topbar{height:auto;min-height:74px;flex-wrap:wrap;position:relative;align-content:center}
.concept-shell[data-phone-page=dashboard] .portal-search{position:static;inset:auto;order:3;flex:0 0 100%;width:100%;max-width:100%;box-sizing:border-box;margin:4px 0 0;z-index:auto}
.concept-shell[data-phone-page=dashboard] .concept-welcome.hero{margin-bottom:24px}
}

.attachment-preview-card{display:flex;align-items:center;gap:14px;width:min(100%,360px);padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-align:left;cursor:pointer;margin:12px 0}
.attachment-preview-card>img,.attachment-file-icon{width:80px;height:80px;object-fit:contain;border-radius:8px;background:#f0f5fd;flex:0 0 80px}
.attachment-preview-card>span:last-child{min-width:0;overflow-wrap:anywhere}.attachment-preview-card strong,.attachment-preview-card small{display:block}.attachment-preview-card small{color:var(--muted);margin-top:5px}
.attachment-file-icon{display:flex;flex-direction:column;align-items:center;justify-content:center}.attachment-preview-card:focus-visible{outline:3px solid #075bf2;outline-offset:3px}
.attachment-viewer{text-align:center;min-height:120px}.attachment-viewer img,.attachment-viewer video{display:block;max-width:100%;max-height:65dvh;object-fit:contain;margin:auto}.attachment-viewer iframe{width:100%;height:60dvh;border:0}.attachment-viewer pre{text-align:left;white-space:pre-wrap;overflow-wrap:anywhere}.attachment-download{text-align:center}
.attachment-dialog .modal-header h2{overflow-wrap:anywhere;min-width:0}.attachment-dialog .modal-header .icon-btn{flex-shrink:0}

.global-doc .attachment-preview-card{margin:0}.document-row>div:first-child{min-width:0}@media(max-width:700px){.global-doc{flex-wrap:wrap}.global-doc .attachment-preview-card{width:100%}.global-doc>span{flex-basis:100%}}

.meeting-attendance{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.meeting-attendance h3{margin-bottom:14px}.attendance-list{list-style:none;padding:0}.attendance-list li{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:12px 0}.attendance-list span{overflow-wrap:anywhere}.attendance-list strong{font-size:12px}.broadcast-targets{display:grid;gap:12px;border:0;padding:10px 0}.broadcast-targets label{display:flex;gap:12px;align-items:center}.broadcast-targets input{width:20px;height:20px;flex-shrink:0}.broadcast-compose{max-width:760px}.broadcast-history .body-text{white-space:pre-wrap}

.notification-popover>header,.notification-popover>.notification-tools,.notification-popover>footer{flex-shrink:0}.notification-popover>.notification-items{flex:1 1 auto;min-height:0;overscroll-behavior:contain}

.broadcast-committees{display:grid;gap:10px;margin-top:8px;padding:14px;border:1px solid var(--line);border-radius:12px;max-height:30dvh;overflow-y:auto}.broadcast-committees strong{font-size:13px}.broadcast-committees label{overflow-wrap:anywhere}

/* Verenigingsactiviteiten gebruiken dezelfde bereikbare formulieren op mobiel en desktop. */
.activity-list{display:grid;gap:22px}.activity-card h2{margin:12px 0 0}.activity-attendance{margin:20px 0;padding:16px 0;border-top:1px solid var(--line,#e1e9f2);border-bottom:1px solid var(--line,#e1e9f2)}.activity-messages{margin-top:24px}.activity-message{padding:16px 0;border-top:1px solid var(--line,#e1e9f2)}.activity-message small{color:var(--muted,#60738f)}.activity-message .body-text{margin-top:10px}
@media(max-width:760px){.activity-card .section-heading{align-items:flex-start;flex-wrap:wrap}.activity-card .actions>.btn{flex:1;min-width:120px}.activity-message .body-text{overflow-wrap:anywhere}}

.section-completed{border-color:#b2dec4}.section-completed-badge{display:inline-flex;align-items:center;gap:7px;margin-top:9px;padding:6px 11px;border-radius:999px;color:#167141;background:#e8f6ee;font-weight:700}.section-completed-badge svg{width:20px;height:20px;stroke-width:3}.section-complete-button{color:#167141;background:#e8f6ee;border-color:#b2dec4}

/* Month overview on the central agenda. */
.agenda-month{margin-bottom:18px}.agenda-month-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.agenda-month-heading h2{margin:0;text-transform:capitalize}.agenda-month-actions{display:flex;gap:6px;align-items:center}.agenda-month-actions .btn{min-width:38px;justify-content:center}.agenda-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.agenda-weekday{text-align:center;font-weight:700;color:#667a9c;padding:5px;text-transform:uppercase;font-size:.8rem}.agenda-day{min-width:0;min-height:78px;border:1px solid #dbe5f2;border-radius:12px;background:#fff;color:#14234b;text-align:left;padding:9px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;cursor:pointer;font:inherit}.agenda-day:hover,.agenda-day:focus-visible{border-color:#1763e7;background:#f0f6ff;outline:none}.agenda-day.is-today .agenda-day-number{background:#e8f1ff;border-radius:50%;min-width:27px;line-height:27px;text-align:center;color:#1256c8}.agenda-day.is-selected{background:#edf5ff;border:2px solid #1763e7;padding:8px}.agenda-day-number{font-weight:700}.agenda-day-count{background:#1763e7;color:white;border-radius:20px;min-width:24px;text-align:center;padding:2px 7px;font-size:.8rem;font-weight:700}.agenda-day-no-items{height:20px}.agenda-selected{margin-bottom:24px}.agenda-selected h2{margin:0 0 12px;text-transform:capitalize}.agenda-selected .global-agenda-row{margin-left:-12px;margin-right:-12px}.agenda-list-title{margin:0 0 14px}.agenda-selected .muted{margin:0}.agenda-day-empty{min-height:1px}
@media(max-width:640px){.agenda-month{padding:16px 12px}.agenda-grid{gap:3px}.agenda-day{min-height:62px;padding:6px;border-radius:8px}.agenda-day.is-selected{padding:5px}.agenda-day-count{font-size:.7rem;min-width:19px;padding:1px 5px}.agenda-month-heading h2{font-size:1.25rem}.agenda-month-actions .btn{padding:7px;min-width:32px}.agenda-weekday{font-size:.7rem}.agenda-selected{padding:16px}}

/* Named appointments inside each calendar day. */
.agenda-month-title{border:0;background:none;color:inherit;font:inherit;font-weight:inherit;text-transform:capitalize;cursor:pointer;padding:4px 0;text-align:left}.agenda-month-title:hover,.agenda-month-title:focus-visible{color:#075bf2;text-decoration:underline}.agenda-month-picker{display:flex;gap:12px;align-items:end;margin:-3px 0 18px}.agenda-month-picker[hidden]{display:none}.agenda-month-picker label{display:flex;flex-direction:column;gap:5px;color:#596b89;font-size:.8rem;font-weight:700}.agenda-month-picker select{background:#fff;border:1px solid #c9d7eb;border-radius:10px;padding:9px;color:#112b49;font:inherit;min-width:105px}.agenda-day{min-height:105px;display:block;overflow:hidden}.agenda-day:hover{background:#f8fbff}.agenda-day-number{background:none;border:0;cursor:pointer;color:inherit;font:inherit;font-weight:700;padding:0 6px;margin:0 0 5px -6px}.agenda-day-number:focus-visible,.agenda-day-item:focus-visible,.agenda-day-more:focus-visible{outline:2px solid #075bf2;outline-offset:2px}.agenda-day-items{display:flex;flex-direction:column;gap:3px;min-width:0}.agenda-day-item{display:block;background:#e8f1ff;color:#124ea8;border-radius:5px;padding:4px 5px;font-size:.76rem;line-height:1.18;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}.agenda-day-item:hover{text-decoration:underline;background:#d9eaff}.agenda-day-more{border:0;background:none;color:#075bf2;cursor:pointer;font:inherit;font-size:.73rem;text-align:left;padding:2px}
@media(max-width:640px){.agenda-grid{gap:2px}.agenda-day{min-height:74px;padding:4px;border-radius:6px}.agenda-day.is-selected{padding:3px}.agenda-day-number{font-size:.83rem;margin-bottom:3px}.agenda-day-item{font-size:.62rem;padding:3px;line-height:1.15;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.agenda-day-more{font-size:.6rem;padding:0}.agenda-month-picker select{min-width:95px}}

/* Live presence in the fixed portal bar. */
.online-trigger{display:flex;align-items:center;gap:6px;border:1px solid #d8e8f0;background:#f3fbf8;border-radius:24px;color:#164c3c;padding:7px 11px;min-height:36px;white-space:nowrap;cursor:pointer;font:inherit;font-size:12px;font-weight:650}.online-trigger:hover,.online-trigger[aria-expanded=true]{background:#e7f8f0;border-color:#9bd8b8}.online-led,.online-person>.presence-dot{width:9px;height:9px;flex:none;border-radius:50%;background:#20a56c;box-shadow:0 0 0 3px #d9f3e5}.online-count{font-size:12px;min-width:1ch}.online-popover{position:fixed;top:86px;right:83px;width:min(340px,calc(100vw - 28px));max-height:min(530px,calc(100dvh - 150px));display:flex;flex-direction:column;background:#fff;border:1px solid #dce8f7;border-radius:16px;box-shadow:0 18px 60px #0c244633;z-index:81;overflow:hidden}.online-popover header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 20px;border-bottom:1px solid #e4edf8}.online-popover header h2{margin:0;font-size:19px}.online-popover header small{display:block;margin-top:5px;color:#667995;font-size:11px}.online-total{color:#157b51}.online-people{overflow-y:auto;padding:7px 14px;overscroll-behavior:contain}.online-people>.muted{padding:8px}.online-person{display:flex;align-items:center;gap:12px;padding:9px 5px;border-bottom:1px solid #edf2f8}.online-person:last-child{border-bottom:0}.online-person .avatar{height:34px;width:34px;flex:none;font-size:11px}.online-person strong{flex:1;min-width:0;font-size:13px;overflow-wrap:anywhere}.online-person strong small{font-weight:400;color:#647791}.online-person>.presence-dot{margin-right:5px}.online-popover footer{padding:12px 20px;background:#f7faff;border-top:1px solid #edf2f8;color:#61738e;font-size:11px}
@media(max-width:700px){.online-trigger{padding:7px 9px;gap:5px;min-height:34px}.online-word{display:none}.online-popover{top:75px;left:12px;right:12px;width:auto;max-height:calc(100dvh - 160px)}.topbar-actions{gap:5px}}

/* Conversations reuse the existing private messages. */
.online-chat-link{border:1px solid #c2d9f2;background:#eff6ff;color:#075bf2;border-radius:8px;padding:6px 9px;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.online-chat-link:hover{background:#e0edff}.chat-layout{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);min-height:600px;height:min(72dvh,760px);border:1px solid #dfe9f7;border-radius:17px;background:#fff;overflow:hidden;box-shadow:0 8px 28px #1c3e6810}.chat-sidebar{border-right:1px solid #e4edf8;display:flex;flex-direction:column;min-width:0}.chat-sidebar-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:20px 16px 13px;border-bottom:1px solid #e4edf8}.chat-sidebar-heading h2{margin:0}.chat-contact-list{overflow-y:auto;flex:1}.chat-contact{display:flex;align-items:center;gap:10px;padding:13px 15px;color:#14234b;text-decoration:none;border-bottom:1px solid #edf2f8;min-width:0}.chat-contact:hover,.chat-contact.active{background:#f0f6ff}.chat-contact .avatar{flex:none;width:37px;height:37px;font-size:11px}.chat-contact-text{flex:1;min-width:0}.chat-contact-text strong,.chat-contact-text small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-contact-text strong{font-size:13px}.chat-contact-text small{font-size:11px;color:#617693;margin-top:4px}.chat-unread{background:#075bf2;color:white;border-radius:15px;padding:2px 6px;min-width:20px;text-align:center;font-size:11px}.chat-thread{display:flex;flex-direction:column;min-width:0;min-height:0;background:#f9fbff}.chat-thread-heading{display:flex;align-items:center;gap:11px;padding:14px 18px;border-bottom:1px solid #e4edf8;background:#fff;min-height:68px}.chat-thread-heading .avatar{width:38px;height:38px;flex:none}.chat-thread-heading>div{flex:1;min-width:0}.chat-thread-heading strong,.chat-thread-heading small{display:block}.chat-thread-heading strong{font-size:14px}.chat-thread-heading small{font-size:11px;color:#58728b;margin-top:3px}.chat-back{display:none;font-size:30px;text-decoration:none;color:#075bf2;line-height:1}.chat-messages{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:18px;overscroll-behavior:contain}.chat-bubble{max-width:min(78%,550px);width:fit-content;background:#fff;border:1px solid #e5edf7;border-radius:14px 14px 14px 3px;padding:10px 13px;overflow-wrap:anywhere;box-shadow:0 2px 6px #102a4708}.chat-bubble.mine{align-self:flex-end;background:#e6f0ff;border-color:#d2e5ff;border-radius:14px 14px 3px 14px}.chat-body{white-space:pre-wrap;font-size:13px;line-height:1.5}.chat-bubble-meta{display:block;margin-top:6px;color:#5f7390;font-size:10px;text-align:right}.chat-old-subject{display:block;font-weight:700;color:#2a4d78;margin-bottom:5px}.chat-typing{min-height:24px;padding:3px 18px;font-size:11px;color:#61738e}.chat-compose{display:flex;align-items:end;gap:8px;padding:11px 15px 14px;border-top:1px solid #e4edf8;background:#fff}.chat-compose textarea{flex:1;resize:none;min-width:0;max-height:120px;min-height:43px;border:1px solid #d8e5f3;border-radius:10px;padding:10px 12px;font:inherit;font-size:13px;line-height:1.4}.chat-compose button{flex:none}.chat-compose button .icon{width:16px}.chat-placeholder,.chat-empty{margin:auto;text-align:center;color:#61738e;padding:22px}.chat-placeholder .icon{width:34px;height:34px;color:#075bf2}.chat-placeholder h2{color:#162f52}.chat-unavailable{margin:0;background:#fff;padding:15px;color:#61738e;font-size:12px}.chat-dock{position:fixed;right:22px;bottom:20px;width:370px;height:min(540px,calc(100dvh - 100px));border:1px solid #d9e5f5;border-radius:16px;box-shadow:0 18px 65px #112a4852;z-index:90;overflow:hidden}.chat-dock .chat-bubble{max-width:87%}.chat-dock .chat-compose button span{display:none}
@media(max-width:700px){.chat-layout{display:block;height:calc(100dvh - 235px);min-height:400px}.chat-sidebar,.chat-thread{height:100%}.chat-layout:not(.has-thread) .chat-thread,.chat-layout.has-thread .chat-sidebar{display:none}.chat-back{display:block}.chat-messages{padding:12px}.chat-bubble{max-width:87%}.chat-compose{padding:9px}.chat-compose button{padding:9px}.chat-compose button span{display:none}.chat-contact{min-height:65px}.chat-dock{display:none}.chat-sidebar-heading{padding:16px}}

/* Keep both panes within the available screen; each list scrolls on its own. */
.chat-layout{grid-template-rows:minmax(0,1fr);min-height:0;height:clamp(360px,calc(100dvh - 240px),760px)}
.chat-sidebar,.chat-thread{min-height:0;overflow:hidden}
.chat-contact-list{min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain}
.chat-thread-heading,.chat-compose,.chat-unavailable{flex:0 0 auto}
.chat-messages{flex:1 1 auto;min-height:0}
@media(max-width:700px){.chat-layout{height:max(300px,calc(100dvh - 230px));max-height:none}.chat-sidebar,.chat-thread{height:100%;min-height:0}.chat-compose{padding-bottom:calc(9px + env(safe-area-inset-bottom,0px))}}
.chat-contact-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.chat-contact-title strong{min-width:0;overflow:hidden;text-overflow:ellipsis}.chat-contact-title time{flex:none;color:#7185a1;font-size:10px;white-space:nowrap}.chat-contact-text{min-width:0}.chat-emoji-picker[hidden]{display:none!important}.chat-compose{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 42px auto;align-items:end;gap:7px;min-width:0;width:100%;box-sizing:border-box}.chat-compose textarea{width:100%;box-sizing:border-box;min-width:0;min-height:43px}.chat-emoji-toggle{height:43px;width:42px;border:1px solid #d8e5f3;border-radius:10px;background:#fff;color:#31557b;font-size:25px;line-height:1;cursor:pointer}.chat-emoji-picker{position:absolute;left:12px;bottom:calc(100% + 8px);display:grid;grid-template-columns:repeat(8,36px);gap:2px;padding:8px;background:#fff;border:1px solid #d9e5f5;border-radius:12px;box-shadow:0 12px 32px #102d5030;z-index:5}.chat-emoji-picker button{height:36px;border:0;border-radius:7px;background:transparent;font-size:21px;cursor:pointer}.chat-emoji-picker button:hover{background:#edf4ff}.chat-compose>.btn{min-height:43px;height:43px}
@media(max-width:700px){.chat-layout{height:calc(100dvh - 310px);min-height:240px}.chat-contact-title time{font-size:10px}.chat-compose{grid-template-columns:minmax(0,1fr) 40px 43px;gap:5px;padding:8px;align-items:end}.chat-compose textarea{min-height:43px;max-height:95px}.chat-emoji-toggle,.chat-compose>.btn{width:40px;height:43px;min-height:43px;padding:0}.chat-emoji-picker{left:8px;right:8px;grid-template-columns:repeat(8,minmax(0,1fr));justify-items:center}.chat-emoji-picker button{width:100%}}
.chat-group-avatar{background:#e9f1ff;color:#075bf2}.chat-group-avatar .icon{width:20px;height:20px}.chat-sender{display:block;font-size:11px;color:#075bf2;margin-bottom:5px}.broadcast-preview{display:flex;gap:12px;margin:20px 0 12px;padding:15px;border-radius:17px;border:1px solid #dce5f1;background:#f3f7fd;box-shadow:0 6px 22px #183d6710}.broadcast-preview-icon{display:grid;place-items:center;align-self:start;width:36px;height:36px;flex:none;border-radius:9px;background:#fff;color:#075bf2}.broadcast-preview-icon .icon{width:21px;height:21px}.broadcast-preview small,.broadcast-preview strong{display:block}.broadcast-preview small{color:#637893;font-size:11px}.broadcast-preview strong{margin-top:3px}.broadcast-preview p{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 0}.first-use-help{margin-bottom:16px}.first-use-content{display:flex;align-items:center;gap:13px;background:#eaf3ff;border:1px solid #cfe1fa;border-radius:14px;padding:14px 16px;color:#163b67}.first-use-icon{display:grid;place-items:center;flex:none;width:32px;height:32px;background:#fff;border-radius:50%;font-weight:800}.first-use-content>div{flex:1}.first-use-content p{margin:3px 0 0;font-size:12px;line-height:1.5}.first-use-dismiss,.first-use-reopen{border:1px solid #b8d1ee;background:#fff;color:#0753bb;border-radius:9px;padding:9px 12px;font:inherit;font-weight:700;cursor:pointer}.first-use-reopen{font-size:11px}.first-use-content[hidden],.first-use-reopen[hidden]{display:none}.save-confirmation{position:fixed;right:20px;bottom:20px;z-index:130;display:flex;align-items:flex-start;gap:12px;width:min(400px,calc(100vw - 32px));padding:16px;border-radius:15px;border:1px solid #bce5cc;background:#f3fff7;color:#173b2b;box-shadow:0 16px 45px #102d5033}.save-check{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:#168854;color:#fff;font-weight:800}.save-confirmation>div{flex:1}.save-confirmation strong{display:block}.save-confirmation p{margin:4px 0;font-size:12px;line-height:1.5}.save-confirmation a{font-size:12px;color:#075bf2;font-weight:700}.save-confirmation button{border:0;background:transparent;color:#315b47;font-size:23px;line-height:1;cursor:pointer}
@media(max-width:700px){.first-use-content{align-items:flex-start;flex-wrap:wrap}.first-use-content>div{flex-basis:calc(100% - 50px)}.first-use-dismiss{margin-left:45px}.save-confirmation{left:16px;right:16px;bottom:calc(124px + env(safe-area-inset-bottom,0px));width:auto}}

/* Chat fills the remaining mobile viewport. The bottom navigation owns its own grid row. */
@media(max-width:700px){
 .shell.concept-shell:has(.chat-layout){height:var(--mobile-viewport,100dvh)}
 .concept-shell:has(.chat-layout) .workspace{display:flex;flex-direction:column;overflow:hidden}
 .concept-shell:has(.chat-layout) .topbar{flex:none}
 .concept-shell:has(.chat-layout) main{display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:hidden;padding-bottom:12px}
 .concept-shell:has(.chat-layout) .heading-row,.concept-shell:has(.chat-layout) .first-use-help{flex:none}
 .concept-shell:has(.chat-layout) .chat-layout{flex:1 1 0;width:100%;min-height:0!important;max-height:none}
 .concept-shell:has(.chat-layout) .chat-sidebar,.concept-shell:has(.chat-layout) .chat-thread{height:100%;min-height:0}
 .concept-shell:has(.chat-layout) main{padding:0!important}
 .concept-shell:has(.chat-layout) .heading-row,.concept-shell:has(.chat-layout) .first-use-help{display:none}
 .concept-shell:has(.chat-layout) .chat-layout{border:0;border-radius:0;box-shadow:none}
 .concept-shell:has(.chat-layout) .chat-contact-list,.concept-shell:has(.chat-layout) .chat-messages{min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}
 body.mobile-keyboard .concept-shell:has(.chat-layout) .mobile-bottom-nav{display:none!important}
 body.mobile-keyboard .shell.concept-shell:has(.chat-layout){grid-template-rows:minmax(0,1fr)}
}
/* Sponsorproces op de commissiepagina */
.sponsor-workspace{margin:2rem 0 3rem;padding:1.5rem;background:#fff;border:1px solid #dbe6f5;border-radius:22px;box-shadow:0 8px 28px rgba(24,53,91,.06)}
.sponsor-workspace .section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.sponsor-stages{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:.6rem;margin:1.2rem 0}
.sponsor-stage{border:1px solid #d9e5f3;background:#f7faff;color:#20375e;border-radius:13px;padding:.75rem;text-align:left;cursor:pointer;display:flex;gap:.4rem;flex-direction:column}
.sponsor-stage b{font-size:1.35rem}.sponsor-stage span{font-size:.85rem}.sponsor-stage.selected{border-color:#1265e5;background:#e9f2ff;color:#0757c9;box-shadow:inset 0 0 0 1px #1265e5}
.sponsor-pdf-viewer{width:100%;height:min(68dvh,850px);border:1px solid #dce6f1;border-radius:10px;background:#fff}.sponsor-file-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.sponsor-search{max-width:420px;margin-bottom:1rem}.sponsor-list{display:grid;gap:.7rem}.sponsor-card{border:1px solid #dce6f1;border-radius:15px;padding:1rem;display:flex;justify-content:space-between;gap:1rem;align-items:center}.sponsor-card strong{font-size:1.1rem}.sponsor-card p{margin:.35rem 0;color:#617390}.sponsor-card-meta{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap;color:#526884;font-size:.88rem}.sponsor-card .actions{display:flex;gap:.4rem;flex-wrap:wrap}.sponsor-invoice-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin:1.2rem 0}
@media(max-width:700px){.sponsor-workspace{padding:1rem;margin:1.25rem 0}.sponsor-stages{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.4rem}.sponsor-stage{flex:0 0 130px;scroll-snap-align:start}.sponsor-card{align-items:stretch;flex-direction:column}.sponsor-card .actions>*{flex:1}.sponsor-invoice-actions>*{width:100%;justify-content:center}}

.sponsor-subheading{margin:1.2rem 0 .6rem}.sponsor-pipeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.sponsor-pipeline-step{display:flex;flex-direction:column;gap:.35rem;border:1px solid #d9e6f7;background:#eef5ff;border-radius:13px;padding:.8rem;min-width:0}.sponsor-pipeline-step small{color:#59718e}.sponsor-pipeline-step strong{font-size:1.7rem;color:#0a56c7}.sponsor-pipeline-step span{font-weight:700}.sponsor-owners{margin:1rem 0;padding:1rem;border:1px solid #e0eaf5;border-radius:13px}.sponsor-owners h3{margin:0 0 .8rem}.sponsor-owners>div{display:flex;flex-wrap:wrap;gap:.5rem}.sponsor-owner-count{padding:.5rem .7rem;background:#f3f7fc;border-radius:9px}.sponsor-owner-count b{color:#075bf2}.sponsor-details{margin:1rem 0}.sponsor-details summary{cursor:pointer;font-weight:700;color:#075bf2;padding:.5rem}.sponsor-invoice-hint{color:#637893;font-size:.82rem;align-self:center}
@media(max-width:700px){.sponsor-pipeline{grid-template-columns:repeat(2,minmax(0,1fr))}.sponsor-pipeline-step strong{font-size:1.4rem}}

/* Chat is a dedicated mobile view between the app header and bottom navigation. */
@media(max-width:700px){
 body.chat-page-active .chat-layout{position:fixed;top:var(--chat-header-height,76px);left:0;right:0;z-index:35;width:100%;height:calc(var(--mobile-viewport,100dvh) - var(--chat-header-height,76px) - 77px - env(safe-area-inset-bottom,0px))!important;min-height:0!important;max-height:none!important;display:block;border:0;border-radius:0;box-shadow:none;background:#fff;overflow:hidden}
 body.chat-page-active .chat-sidebar,body.chat-page-active .chat-thread{height:100%;min-height:0}
 body.chat-page-active .chat-contact-list,body.chat-page-active .chat-messages{overflow-y:auto;min-height:0;-webkit-overflow-scrolling:touch}
 body.chat-page-active .chat-compose{flex-shrink:0;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}
 body.chat-page-active .chat-thread-heading{flex-shrink:0}
 body.chat-page-active .chat-typing{flex-shrink:0}
 body.chat-page-active.mobile-typing .chat-layout,body.chat-page-active.mobile-keyboard .chat-layout{height:calc(var(--mobile-viewport,100dvh) - var(--chat-header-height,76px))!important}
 body.chat-page-active.mobile-typing .mobile-bottom-nav,body.chat-page-active.mobile-keyboard .mobile-bottom-nav{display:none!important}
}

/* The open conversation owns the mobile viewport; no navigation may cover its composer. */
@media(max-width:700px){
 body.chat-page-active .concept-shell:has(.chat-layout) .chat-layout{position:fixed;top:var(--chat-header-height,76px);left:0;right:0;display:block;width:100%;height:calc(var(--mobile-viewport,100dvh) - var(--chat-header-height,76px) - 77px - env(safe-area-inset-bottom,0px))!important;min-height:0!important;max-height:none!important;overflow:hidden}
 body.chat-page-active.chat-thread-open .concept-shell:has(.chat-layout) .chat-layout{height:calc(var(--mobile-viewport,100dvh) - var(--chat-header-height,76px))!important}
 body.chat-page-active.chat-thread-open .concept-shell .mobile-bottom-nav{display:none!important}
 body.chat-page-active.chat-thread-open .shell.concept-shell{grid-template-rows:minmax(0,1fr)}
 body.chat-page-active.chat-thread-open .chat-compose{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}
 body.chat-page-active.mobile-typing .concept-shell:has(.chat-layout) .chat-layout,body.chat-page-active.mobile-keyboard .concept-shell:has(.chat-layout) .chat-layout{height:calc(var(--mobile-viewport,100dvh) - var(--chat-header-height,76px))!important}
}

@media(max-width:700px){
 body.chat-page-active.chat-thread-open{position:fixed;inset:0;width:100%;overflow:hidden}
 body.chat-page-active.chat-thread-open.mobile-typing .concept-shell .topbar,body.chat-page-active.chat-thread-open.mobile-keyboard .concept-shell .topbar{visibility:hidden}
 body.chat-page-active.chat-thread-open.mobile-typing .concept-shell:has(.chat-layout) .chat-layout,body.chat-page-active.chat-thread-open.mobile-keyboard .concept-shell:has(.chat-layout) .chat-layout{top:var(--mobile-viewport-top,0px);height:var(--mobile-viewport,100dvh)!important}
 body.chat-page-active.chat-thread-open.mobile-typing .chat-compose,body.chat-page-active.chat-thread-open.mobile-keyboard .chat-compose{padding-bottom:8px}
}

.sponsor-pipeline-step,.sponsor-owner-count{font:inherit;text-align:left;cursor:pointer}.sponsor-pipeline-step.selected,.sponsor-owner-count.selected{outline:2px solid #075aff;outline-offset:2px}.sponsor-pipeline-step:hover,.sponsor-owner-count:hover{background:#e4efff}.sponsor-owner-count{border:0}.sponsor-pledged-total{font-weight:700;color:#167344}#sponsor-selection{scroll-margin-top:100px}
