:root{--gold:#fecb3f;--bg:#f6f7f8;--panel:#fff;--text:#202124;--muted:#6b7280;--line:#e4e6ea;--danger:#b42318}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);background:var(--bg)}
button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 13px}.primary{background:#171717;color:#fff;border-color:#171717}.danger{color:#fff;background:var(--danger)}
label{display:grid;gap:6px;margin:11px 0;font-weight:600}input,select,textarea{border:1px solid #cfd3d8;border-radius:9px;padding:10px 11px;background:#fff;color:inherit;width:100%}textarea{min-height:100px;resize:vertical}small,.muted{color:var(--muted)}
.auth-page{display:grid;place-items:center;padding:30px;background:linear-gradient(145deg,#161616,#2b2b2b)}.auth-card{width:min(440px,94vw);background:#fff;border-radius:20px;padding:32px;box-shadow:0 24px 70px #0006}.auth-card.wide{width:min(720px,94vw)}.brand-mark{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:var(--gold);font-weight:900}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.error,.success{padding:12px 14px;border-radius:10px;margin:12px 0}.error{background:#fee4e2;color:#912018}.success{background:#dcfae6;color:#176b3a}
.topbar{height:64px;background:#111;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:4px solid var(--gold)}.topbar small{display:block}.user{display:flex;align-items:center;gap:12px}.user form{margin:0}.user button{background:#222;color:#fff;border-color:#444}
.shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:calc(100vh - 64px)}.sidebar{background:#fff;border-right:1px solid var(--line);padding:16px 10px}.sidebar button{display:block;width:100%;text-align:left;border:0;margin:3px 0}.sidebar button.active{background:#fff4ce;border-left:4px solid #c39400;font-weight:700}
main{padding:28px 34px;min-width:0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:22px}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;box-shadow:0 1px 3px #0000000d}.card strong{display:block;font-size:1.7rem;margin-top:4px}.desktop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:10px}.shortcut{min-height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid transparent;background:transparent}.shortcut:hover{background:#f6f6f6;border-color:var(--line)}.icon{width:52px;height:52px;border-radius:15px;background:#fff4ce;display:grid;place-items:center;font-size:1.7rem;margin-bottom:7px}
table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:11px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.8rem;color:var(--muted)}.toolbar{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:12px 0}.modal{position:fixed;inset:0;background:#0008;display:grid;place-items:center;padding:20px;z-index:20}.modal>div{background:#fff;width:min(720px,96vw);max-height:90vh;overflow:auto;border-radius:18px;padding:24px}.hidden{display:none!important}.loading{padding:30px;text-align:center;color:var(--muted)}
@media(max-width:760px){.shell{display:block}.sidebar{display:flex;overflow:auto;border-right:0;border-bottom:1px solid var(--line)}.sidebar button{width:auto;white-space:nowrap}.grid2{grid-template-columns:1fr}main{padding:20px 14px}}

.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin-top:16px}
.file-card{border:1px solid #dde2e7;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px;background:#fff}
.file-card .file-icon{font-size:34px}
.file-card .button{display:inline-block;text-decoration:none}

.drive-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.drive-left,.drive-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.drive-new{border-radius:16px;padding:10px 18px;font-weight:700}
.drive-breadcrumbs{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:6px 0 12px}
.crumb{border:0;background:transparent;padding:5px 7px;border-radius:7px}
.crumb:hover{background:#eef1f4}.crumb.current{font-weight:700}.crumb-sep{opacity:.45}
.drive-surface{min-height:420px}
.file-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.file-card{position:relative;cursor:default;user-select:none;transition:box-shadow .12s,background .12s,transform .12s}
.file-card:hover{background:#f8fafb;box-shadow:0 2px 9px rgba(0,0,0,.08);transform:translateY(-1px)}
.file-card-actions{display:flex;gap:6px;align-items:center;margin-top:auto}
.file-card-actions .icon-button{margin-left:auto;padding:4px 10px;font-size:18px}
.drive-empty{grid-column:1/-1;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#5e6872}
.empty-icon{font-size:56px}
.context-menu{position:fixed;z-index:10000;width:220px;background:white;border:1px solid #d8dde2;border-radius:12px;box-shadow:0 12px 34px rgba(0,0,0,.22);padding:7px}
.context-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;border-radius:7px;padding:9px 10px}
.context-menu button:hover{background:#f1f3f4}
.context-menu .menu-separator{height:1px;background:#e4e7ea;margin:5px 0}
.context-menu .danger-text{color:#b42318}
@media(max-width:700px){.file-grid{grid-template-columns:1fr 1fr}.context-menu{width:205px}}

.office-editor-page{display:flex;flex-direction:column;height:calc(100vh - 155px);min-height:620px}
.office-editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;flex:0 0 auto}
.office-editor-shell{flex:1 1 auto;min-height:0;border:1px solid #d8dde2;border-radius:10px;overflow:hidden;background:white}
.office-editor-shell #office-editor,
.office-editor-shell #office-editor > div,
.office-editor-shell iframe{width:100%!important;height:100%!important;min-height:100%!important;border:0!important}
@media(max-width:800px){.office-editor-page{height:calc(100vh - 125px);min-height:540px}}

.mail-shell.gmailish{display:grid;grid-template-columns:236px minmax(0,1fr);gap:14px;height:calc(100vh - 150px);min-height:620px}
.mail-sidebar{background:color-mix(in srgb,var(--panel) 96%,var(--accent) 4%);border:1px solid var(--line);border-radius:18px;padding:12px 9px;display:flex;flex-direction:column;gap:10px;overflow:auto}
.mail-sidebar select{width:calc(100% - 12px);margin:0 6px;border-color:var(--line);background:var(--panel);font-size:.78rem}
.mail-compose-primary{margin:2px 5px 6px!important;display:flex!important;align-items:center;gap:10px!important;width:max-content!important;min-width:132px!important;padding:13px 18px!important;border:0!important;border-radius:16px!important;background:color-mix(in srgb,var(--accent) 26%,var(--panel))!important;color:var(--text)!important;box-shadow:0 2px 7px #0001!important;font-weight:700!important}
.mail-compose-primary:hover{box-shadow:0 4px 12px #0002!important}
.mail-folders{display:flex;flex-direction:column;gap:1px;margin-top:2px}.mail-folders button,.mail-side-actions button{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:transparent;padding:8px 11px;border-radius:0 18px 18px 0;text-align:left;color:var(--text);font-weight:500}
.mail-folders button:hover,.mail-side-actions button:hover{background:color-mix(in srgb,var(--accent) 9%,transparent)}.mail-folders button.active{background:color-mix(in srgb,var(--accent) 19%,var(--panel));font-weight:750}
.mail-folder-label{display:flex;align-items:center;gap:11px;min-width:0}.mail-folder-glyph{width:19px;text-align:center}.mail-folder-count{font-size:.72rem;padding-right:5px}.mail-side-divider{height:1px;background:var(--line);margin:3px 10px}.mail-side-actions{display:flex!important;flex-direction:column;gap:1px!important;margin:0!important}.mail-side-actions button{justify-content:flex-start;gap:10px}
.mail-main{display:flex;flex-direction:column;min-width:0;min-height:0}.mail-toolbar{display:flex;align-items:center;gap:7px;margin:0 0 9px}.mail-search-wrap{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;flex:1;max-width:760px;background:color-mix(in srgb,var(--panel) 91%,#dce8f5 9%);border:1px solid transparent;border-radius:24px;padding:0 8px 0 14px}.mail-search-wrap:focus-within{background:var(--panel);border-color:var(--line);box-shadow:0 2px 8px #0001}.mail-search-icon{font-size:1.05rem;color:var(--muted)}.mail-search-wrap input{border:0!important;background:transparent!important;box-shadow:none!important;margin:0!important;padding:11px 10px!important}.mail-search-wrap input:focus{outline:0}.mail-search-wrap button{border:0;background:transparent;padding:4px 8px;font-size:1.05rem;color:var(--muted)}
.mail-toolbar-button{border:1px solid var(--line);background:var(--panel);border-radius:18px!important;padding:9px 13px!important}.mail-toolbar-button.icon-only{width:38px;padding:9px!important}
.mail-search-status{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 12px;margin-bottom:8px;border-radius:10px;background:color-mix(in srgb,var(--accent) 9%,var(--panel));font-size:.78rem;color:var(--muted)}.mail-search-status button{border:0;background:transparent;color:var(--text);font-weight:700;padding:3px 6px}
.mail-panes{display:grid;grid-template-columns:minmax(310px,39%) minmax(0,1fr);min-height:0;flex:1;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel);box-shadow:0 1px 3px #0000000d}
.mail-list{overflow:auto;border-right:1px solid var(--line);background:color-mix(in srgb,var(--panel) 98%,#eef3f8 2%)}.mail-row{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;width:100%;padding:10px 12px;border:0;border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:0;background:var(--panel);text-align:left;color:var(--text)}.mail-row:hover{background:color-mix(in srgb,var(--panel) 93%,var(--accent) 7%)}.mail-row.unread{background:color-mix(in srgb,var(--panel) 87%,var(--accent) 13%);box-shadow:inset 3px 0 0 var(--accent)}.mail-row.selected{background:color-mix(in srgb,var(--panel) 82%,var(--accent) 18%)}
.mail-row-avatar,.mail-message-avatar{display:flex;align-items:center;justify-content:center;border-radius:50%;background:color-mix(in srgb,var(--accent) 20%,var(--panel));color:var(--text);font-weight:800;width:34px;height:34px}.mail-row-content{min-width:0;display:flex;flex-direction:column;gap:2px}.mail-row-line{display:flex;align-items:center;justify-content:space-between;gap:8px}.mail-row-line strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.84rem}.mail-row-line time{flex-shrink:0;color:var(--muted);font-size:.7rem}.mail-row-subject{font-size:.81rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mail-row.unread .mail-row-subject{font-weight:750}.mail-row-from{color:var(--muted);font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mail-reader{overflow:auto;padding:0;background:var(--panel)}.mail-reader-empty,.mail-empty{display:flex;align-items:center;justify-content:center;min-height:100%;padding:30px;color:var(--muted);text-align:center}.mail-message-view{padding:22px 25px 28px}.mail-message-topline{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.mail-message-topline h2{font-size:1.35rem;line-height:1.25;margin:0 0 18px;font-weight:650}.mail-message-date{color:var(--muted);font-size:.72rem;white-space:nowrap}.mail-message-sender{display:grid;grid-template-columns:42px 1fr;gap:11px;align-items:start}.mail-message-avatar{width:40px;height:40px}.mail-message-sender>div{display:flex;flex-direction:column;min-width:0}.mail-message-sender strong{font-size:.84rem}.mail-message-sender small,.mail-message-sender span{color:var(--muted);font-size:.72rem;overflow-wrap:anywhere}
.mail-message-actions{display:flex;gap:4px;flex-wrap:wrap;margin:15px 0;padding:8px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.mail-message-actions button{border:0;background:transparent;border-radius:17px;padding:7px 9px;color:var(--muted)}.mail-message-actions button:hover{background:color-mix(in srgb,var(--accent) 10%,var(--panel));color:var(--text)}.mail-message-actions button span{font-size:.72rem}
.mail-attachments{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.mail-attachments .button{display:inline-flex;align-items:center;gap:6px}.mail-attachments small{color:var(--muted)}
.mail-body{margin-top:15px;min-height:300px}.mail-body iframe.mail-html-frame{display:block;width:100%;height:64vh;min-height:420px;border:0;background:#fff;border-radius:8px}.mail-body pre{white-space:pre-wrap;font-family:inherit;line-height:1.55;margin:0}
@media(max-width:1100px){.mail-shell.gmailish{grid-template-columns:200px minmax(0,1fr)}.mail-panes{grid-template-columns:minmax(280px,44%) minmax(0,1fr)}}
@media(max-width:820px){.mail-shell.gmailish{grid-template-columns:1fr;height:auto}.mail-sidebar{border-radius:14px}.mail-folders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.mail-folders button,.mail-side-actions button{border-radius:12px}.mail-side-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}.mail-panes{grid-template-columns:1fr}.mail-list{border-right:0}.mail-reader{min-height:520px}.mail-message-actions button span{display:none}}
.mail-compose-modal{position:fixed;z-index:9000;right:28px;left:auto;bottom:18px;width:min(650px,calc(100vw - 40px));background:#fff;border:1px solid #ccd2d8;border-radius:12px;box-shadow:0 20px 55px rgba(0,0,0,.28);overflow:hidden}.mail-compose-modal form{display:flex;flex-direction:column}.mail-compose-modal input,.mail-compose-modal textarea{border:0;border-bottom:1px solid #e4e7ea;border-radius:0;margin:0}.mail-compose-modal textarea{resize:vertical}.mail-compose-modal form>div:last-child{padding:10px}.mail-compose-title{background:#202124;color:#fff;padding:10px 12px;display:flex;justify-content:space-between;align-items:center}.mail-compose-title button{color:#fff;background:transparent;border:0;font-size:20px}
.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:900px){.mail-shell{grid-template-columns:1fr;height:auto}.mail-sidebar{display:block}.mail-panes{grid-template-columns:1fr}.mail-reader{min-height:500px}.form-grid{grid-template-columns:1fr}}

.mail-connection-error,.warning-box{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:10px;background:#fff4e5;border:1px solid #f0c36d;color:#6b4b00}
.mail-connection-error button,.warning-box button{align-self:flex-start}
.warning-box{margin-bottom:14px}

.governance-position-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-top:14px}
.governance-position-card{border:1px solid #dde2e7;border-radius:12px;padding:16px;background:#fff;display:flex;flex-direction:column;gap:14px}
.governance-position-card.inactive{opacity:.7}
.governance-position-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.governance-position-head h3{margin:0 0 4px}
.governance-position-head p{margin:0}
.status-chip{font-size:12px;padding:4px 8px;border-radius:999px;background:#eef3f8}
.governance-officeholder{display:flex;flex-direction:column;gap:3px;padding:12px;border-radius:10px;background:#f7f9fb}
.governance-position-actions{display:flex;gap:7px;flex-wrap:wrap}
.modal-backdrop{position:fixed;inset:0;z-index:12000;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:24px}
.modal-card{width:min(620px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.3);padding:20px}
.modal-card.wide{width:min(900px,100%)}
.modal-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.modal-title h3{margin:0}.modal-title button{border:0;background:transparent;font-size:24px}
.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.checkbox-row{display:flex!important;align-items:center;gap:8px}
.checkbox-row input{width:auto!important}
.info-box{padding:11px 12px;border-radius:9px;background:#eef5ff;border:1px solid #b9d4fb;margin:10px 0}
.danger-button{color:#b42318}

.governance-board{padding:18px}.governance-board-title{align-items:flex-start;margin-bottom:18px}.governance-board-title h2{margin:0 0 4px}
.committee-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}
.committee-card{border:1px solid #e1e4e8;border-radius:14px;padding:18px;background:#fff;display:flex;flex-direction:column;gap:12px;min-width:0}
.committee-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.committee-card-head h3{margin:4px 0 0;font-size:20px}
.eyebrow{display:block;font-size:11px;letter-spacing:.06em;color:#667085;text-transform:uppercase}
.fill-badge{white-space:nowrap;border-radius:999px;padding:5px 9px;background:#f2f4f7;font-size:12px}.fill-badge.full{background:#dcfce7;color:#16794b}
.role-mailbox{background:#f0f0f0;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:4px}.role-mailbox strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:500;overflow-wrap:anywhere}.role-mailbox span,.role-mailbox small{color:#667085}
.committee-seats{display:flex;flex-direction:column;gap:10px}.holder-card{border:1px solid #e4e7ec;border-radius:10px;padding:12px;display:flex;justify-content:space-between;gap:12px}.holder-card>div:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}.holder-card strong{font-size:15px}.holder-card span:not(.eyebrow),.holder-card small{font-size:12px;color:#667085;overflow-wrap:anywhere}
.holder-actions{display:flex;flex-direction:column;gap:7px;flex-shrink:0}.holder-actions button,.committee-card-actions button{font-weight:600;background:#f8f4e7;border-color:#eee5c9}.holder-actions .vacate-button{background:#fee2e2;color:#fff;border-color:#fee2e2}
.vacant-text{color:#667085}.committee-card-actions{display:flex;gap:8px;flex-wrap:wrap}.governance-add-row{margin-top:18px}
.modal-card fieldset{border:1px solid #e4e7ec;border-radius:10px;margin:12px 0;padding:12px}.modal-card legend{font-weight:700;padding:0 6px}
@media(max-width:760px){.committee-grid{grid-template-columns:1fr}.holder-card{flex-direction:column}.holder-actions{flex-direction:row}.governance-board-title{flex-direction:column}}

.inactive-governance{margin-top:22px;padding-top:18px;border-top:1px solid #e4e7ec}
.inactive-governance h3{margin:0 0 4px}
.inactive-position-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;margin-top:8px;border:1px dashed #cfd5dc;border-radius:9px;background:#fafafa}
.inactive-position-row>div{display:flex;flex-direction:column;gap:2px}.inactive-position-row span{font-size:12px;color:#667085}

#governance-position-editor,#governance-assignment-editor,#governance-handover-editor{display:block}
#governance-save-status,#governance-assignment-status,#governance-handover-status{min-height:20px;margin-top:8px}

.portal-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #edf0f2}.portal-row:last-child{border-bottom:0}
.template-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;margin-bottom:16px}.template-list button{text-align:left;display:flex;flex-direction:column;gap:3px}.template-list span{font-size:12px;color:#667085}

.checkbox-grid{display:flex;gap:14px;flex-wrap:wrap;margin:8px 0 14px}.checkbox-grid label{display:flex;align-items:center;gap:6px}.checkbox-grid input{width:auto}

.inline-form{display:flex;gap:8px;margin-top:12px}.inline-form input{flex:1}

.payment-line{display:grid;grid-template-columns:minmax(280px,2fr) 110px 140px auto;gap:10px;align-items:end;padding:12px;margin:10px 0;border:1px solid #e2e5e9;border-radius:10px;background:#fafafa}
.payment-line label{margin:0}.payment-line small{display:block;color:#667085;padding-bottom:8px}.payment-total{font-size:20px;text-align:right;margin:14px 0;padding:12px;border-top:2px solid #fecb3f}
@media(max-width:900px){.payment-line{grid-template-columns:1fr 1fr}.payment-line label:first-child{grid-column:1/-1}}

.editor-toolbar{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 8px}.wysiwyg-editor{min-height:340px;border:1px solid #d6d9de;border-radius:10px;padding:16px;background:#fff;color:#171717;overflow:auto}.wysiwyg-editor:focus{outline:2px solid #fecb3f}.wysiwyg-editor img{max-width:100%}

/* beta8.11 central theme overrides */
html,body{font-family:var(--theme-font,system-ui,-apple-system,Segoe UI,sans-serif);font-size:calc(15px * var(--font-scale,1));background:var(--bg);color:var(--text)}
h1,h2,h3,h4,.topbar strong{font-family:var(--theme-heading-font,var(--theme-font))}
.topbar{background:var(--header-bg,#111);color:var(--header-text,#fff)}
.shell{grid-template-columns:var(--sidebar-width,240px) minmax(0,1fr)}
.sidebar{background:var(--sidebar-bg,#fff);color:var(--sidebar-text,var(--text))}
.card,.panel,.modal-card{background:var(--panel,#fff);border-radius:var(--theme-radius,15px)}
button,input,select,textarea{border-radius:var(--button-radius,9px)}
body[data-button-style="pill"] button{border-radius:999px}
body[data-button-style="square"] button{border-radius:0}
body[data-panel-style="flat"] .card,body[data-panel-style="flat"] .panel{box-shadow:none;border-color:transparent}
body[data-panel-style="bordered"] .card,body[data-panel-style="bordered"] .panel{box-shadow:none}
body[data-panel-style="elevated"] .card,body[data-panel-style="elevated"] .panel{box-shadow:0 5px 18px #00000012}
body[data-density="compact"] main{padding:18px 24px}
body[data-density="compact"] .panel{padding:13px}
body[data-density="compact"] button{padding:7px 10px}
body[data-density="spacious"] main{padding:38px 46px}
body[data-density="spacious"] .panel{padding:24px}
body[data-density="spacious"] button{padding:11px 16px}
body[data-sticky-header="1"] .topbar{position:sticky;top:0;z-index:30}
body[data-sticky-sidebar="1"] .sidebar{position:sticky;top:64px;height:calc(100vh - 64px);overflow:auto}
body[data-animations="0"] *,body[data-animations="0"] *:before,body[data-animations="0"] *:after{transition:none!important;animation:none!important}
.topbar-brand{display:flex;align-items:center;gap:12px}
.app-logo{width:42px;height:42px;object-fit:contain}
.login-logo{width:120px;max-height:130px;object-fit:contain;margin-bottom:18px}
.sidebar-collapse{margin:0 0 8px auto;width:auto}
.shell.sidebar-collapsed{grid-template-columns:64px minmax(0,1fr)}
.shell.sidebar-collapsed .sidebar button:not(.sidebar-collapse){font-size:0;text-align:center}
.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.theme-swatch{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:10px}
.theme-swatch input[type=color]{height:42px;padding:3px}
.theme-preview{border:1px solid var(--line);border-radius:var(--theme-radius);overflow:hidden;margin-top:18px}
.theme-preview-head{padding:12px 16px;background:var(--header-bg);color:var(--header-text);border-bottom:4px solid var(--gold)}
.theme-preview-body{display:grid;grid-template-columns:120px 1fr;min-height:170px}
.theme-preview-side{background:var(--sidebar-bg);color:var(--sidebar-text);padding:12px}
.theme-preview-main{background:var(--bg);color:var(--text);padding:16px}
.theme-preview-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--theme-radius);padding:14px}

.theme-logo-preview{margin:18px 0;padding:14px;border:1px solid var(--line);border-radius:var(--theme-radius,15px);background:var(--panel)}
.theme-logo-preview>div{margin-top:10px;min-height:90px;display:flex;align-items:center;justify-content:flex-start}
.theme-logo-preview img{max-width:220px;max-height:120px;object-fit:contain}
#theme-save-status{margin-top:14px;min-height:22px}
#theme-save-status.success,#theme-save-status.error{padding:10px 12px;border-radius:10px}

/* beta8.14 Nextcloud-parity interface */
.nav-group{margin:4px 0}.nav-group>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:9px;padding:10px 11px;border-radius:9px;color:var(--sidebar-text);user-select:none}.nav-group>summary::-webkit-details-marker{display:none}.nav-group>summary:hover{background:color-mix(in srgb,var(--gold) 10%,transparent)}.nav-group>summary strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.055em;flex:1}.nav-chevron{transition:transform .16s}.nav-group[open] .nav-chevron{transform:rotate(180deg)}.nav-group>div{display:grid;gap:2px;padding:2px 0 8px 8px}.nav-group button{display:grid!important;grid-template-columns:25px 1fr;align-items:center;text-align:left;width:100%}.nav-icon{text-align:center}.shell.sidebar-collapsed .nav-group>summary strong,.shell.sidebar-collapsed .nav-chevron,.shell.sidebar-collapsed .nav-group button span:last-child{display:none}.shell.sidebar-collapsed .nav-group>summary{justify-content:center}.shell.sidebar-collapsed .nav-group>div{padding-left:0}.shell.sidebar-collapsed .nav-group button{grid-template-columns:1fr}.shell.sidebar-collapsed .nav-icon{font-size:18px}
.federation-grid,.report-card-grid,.poll-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.federation-card,.report-card,.poll-card{display:flex;flex-direction:column;gap:10px;padding:20px;border:1px solid var(--line);border-radius:var(--theme-radius,15px);background:var(--panel);box-shadow:0 3px 12px #0000000a}.federation-card:hover{border-color:var(--gold);transform:translateY(-1px)}.federation-card>span{color:var(--muted);font-size:.85rem}.federation-card>strong,.report-card h3{font-size:1.35rem}.federation-card small{color:var(--text)}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.poll-options{display:flex;gap:8px;flex-wrap:wrap}.poll-options button small{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;background:#0001}.status-badge,.status-good{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#edf0f3;font-size:.8rem}.status-good{background:#d7f5df;color:#176633}.extra-wide{width:min(1500px,calc(100vw - 56px));max-width:none}.scroll-modal{max-height:calc(100vh - 48px);overflow:auto}.workspace-tabs{position:sticky;top:-1px;z-index:2;display:flex;gap:7px;flex-wrap:wrap;padding:9px 0 14px;background:var(--panel);border-bottom:1px solid var(--line);margin-bottom:18px}.workspace-tabs button.active{background:var(--gold);color:#111}.document-share-card{display:grid;grid-template-columns:minmax(260px,1fr) 1fr auto;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:12px;margin:10px 0}.share-tags{display:flex;gap:5px;flex-wrap:wrap}.share-tags span,.attachment-chip,.category-chips span{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--gold) 15%,var(--panel));font-size:.82rem}.attachment-chip button{padding:0 4px;border:0;background:transparent}.attendance-row{display:grid;grid-template-columns:minmax(260px,.8fr) 1.2fr;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.attendance-row label{display:flex;align-items:center;gap:8px}.attendance-row small{display:block;color:var(--muted)}.analysis-block,.analysis-summary{padding:16px 0;border-bottom:1px solid var(--line)}.analysis-block>div{padding:8px 0}.analysis-block p{margin:4px 0;color:var(--muted)}.transcript-view{font-family:var(--theme-font);line-height:1.6}.action-draft{padding:18px;border:1px solid var(--line);border-radius:14px;margin:12px 0;background:color-mix(in srgb,var(--panel) 96%,var(--bg))}.assignment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.assignment-grid select{min-height:115px}.empty-state{text-align:center;padding:38px;color:var(--muted)}.warning-box{display:flex;flex-direction:column;gap:4px;padding:13px 15px;margin:10px 0;border-radius:10px;background:#fff4d5;border:1px solid #e6bf54;color:#5d4600}.facebook-page-grid{display:grid;gap:10px;margin-top:12px}.facebook-page-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--line);border-radius:12px}.report-range{display:flex;gap:10px;align-items:end}.report-range label{margin:0}.report-card{min-height:220px}.report-card p{flex:1;color:var(--muted)}.category-chips{display:flex;flex-wrap:wrap;gap:10px}.error-text{color:#b42318;font-weight:700}.success{padding:12px;border-radius:10px;background:#e8f8ed;color:#175b2d}.error{padding:12px;border-radius:10px;background:#fee4e2;color:#912018}
@media(max-width:980px){.split-grid,.assignment-grid{grid-template-columns:1fr}.document-share-card,.attendance-row{grid-template-columns:1fr}.extra-wide{width:calc(100vw - 20px)}.report-range{width:100%;flex-wrap:wrap}}

.document-share-options{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:6px}.document-share-options label{display:flex;align-items:center;gap:6px;font-size:.86rem}
@media(max-width:800px){.document-share-options{grid-template-columns:1fr}}

/* beta8.16 v8.7.2 source-parity additions */
.member-detail-grid{display:grid;grid-template-columns:minmax(320px,.7fr) minmax(520px,1.3fr);gap:20px}
.detail-list{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.detail-list>div{padding:12px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 96%,var(--bg))}
.detail-list>div:nth-child(odd){border-right:1px solid var(--line)}.detail-list dt{font-size:.78rem;color:var(--muted);margin-bottom:5px}.detail-list dd{margin:0;font-weight:600}
.comment-card{padding:12px 14px;border:1px solid var(--line);border-radius:11px;margin:9px 0}.comment-card strong{margin-right:8px}.comment-card small{color:var(--muted)}.comment-card p{margin:8px 0 0;white-space:pre-wrap}
.category-chips button{border:0;background:transparent;padding:0 2px;min-height:auto}
@media(max-width:1050px){.member-detail-grid{grid-template-columns:1fr}}

/* beta8.17 communications parity */
.preview-card{margin-top:16px;padding:18px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel) 96%,var(--bg))}
.email-preview-body{margin-top:12px;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--panel);max-height:420px;overflow:auto}


/* beta8.18 — application-wide responsive/mobile layer */
*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
body{min-width:0}
#app,.shell,main,#content,#page-head,.panel,.card{min-width:0;max-width:100%}
img,video,canvas,svg,iframe{max-width:100%}
main{overflow-x:hidden}
table{width:100%;border-collapse:collapse}
td,th{overflow-wrap:anywhere}
.mobile-nav-toggle,.mobile-nav-overlay{display:none}

@media(max-width:1100px){
  main,body[data-density="spacious"] main{padding:24px 20px}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .desktop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .toolbar{flex-wrap:wrap}
  .toolbar>div{min-width:0}
  .modal-card.wide,.modal-card.extra-wide{width:min(96vw,1000px)}
  .mail-panes{min-width:0}
}

@media(max-width:760px){
  :root{--mobile-gutter:12px}
  html{font-size:15px}
  body{overflow-x:hidden}
  .topbar{min-height:58px;padding:8px 10px;gap:8px;display:flex;align-items:center}
  .mobile-nav-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;padding:0;font-size:22px;background:color-mix(in srgb,var(--header-text,#fff) 10%,transparent);color:var(--header-text,#fff);border-color:color-mix(in srgb,var(--header-text,#fff) 22%,transparent)}
  .topbar-brand{min-width:0;flex:1;gap:8px}.topbar-brand>div{min-width:0}.topbar-brand strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.92rem}.topbar-brand small{font-size:.68rem}
  .app-logo{width:34px;height:34px}
  .topbar .user{display:flex;align-items:center;gap:5px;max-width:38%;font-size:.78rem;white-space:nowrap}.topbar .user>form{margin:0}.topbar .user button{padding:7px 8px;font-size:.74rem}.topbar .user{overflow:hidden;text-overflow:ellipsis}

  .shell,.shell.sidebar-collapsed{display:block!important;grid-template-columns:none!important}
  .sidebar{display:block!important;position:fixed!important;z-index:120;top:0!important;left:0;bottom:0;height:100dvh!important;width:min(86vw,330px)!important;max-width:330px;padding:68px 10px 16px!important;overflow-y:auto!important;overflow-x:hidden!important;border-right:1px solid var(--line)!important;border-bottom:0!important;box-shadow:12px 0 30px #0005;transform:translateX(-105%);transition:transform .2s ease}
  body.mobile-nav-open .sidebar{transform:translateX(0)}
  .mobile-nav-overlay{position:fixed;z-index:110;inset:0;background:#0008;backdrop-filter:blur(1px)}
  body.mobile-nav-open .mobile-nav-overlay{display:block}
  body.mobile-nav-open{overflow:hidden}
  .sidebar-collapse{display:none!important}
  .shell.sidebar-collapsed .nav-group>summary strong,.shell.sidebar-collapsed .nav-chevron,.shell.sidebar-collapsed .nav-group button span:last-child{display:initial}
  .shell.sidebar-collapsed .nav-group>summary{justify-content:initial}.shell.sidebar-collapsed .nav-group>div{padding-left:8px}.shell.sidebar-collapsed .nav-group button{grid-template-columns:25px 1fr}
  .nav-group>summary{padding:12px 10px}.nav-group button{min-height:44px;padding:10px!important;font-size:.95rem!important;white-space:normal!important}

  main,body[data-density="compact"] main,body[data-density="spacious"] main{padding:16px var(--mobile-gutter) 32px!important;width:100%;max-width:100vw}
  #page-head{margin-bottom:14px}#page-head h1{font-size:1.55rem;line-height:1.15;margin-bottom:5px}#page-head p{font-size:.88rem}
  h2{font-size:1.28rem}h3{font-size:1.08rem}
  .panel,body[data-density="spacious"] .panel,body[data-density="compact"] .panel{padding:14px!important;border-radius:min(var(--theme-radius,15px),14px);overflow:hidden}
  .cards{grid-template-columns:1fr!important;gap:10px}.card{padding:14px!important}.card strong{font-size:1.45rem}
  .desktop-grid,.theme-grid,.report-card-grid,.federation-grid,.poll-grid,.committee-grid{grid-template-columns:1fr!important}
  .shortcut{min-height:68px}
  .toolbar,.governance-board-title,.modal-title{align-items:stretch;flex-direction:column;gap:10px}
  .toolbar>div:last-child{display:flex;flex-wrap:wrap;gap:6px}
  .toolbar button,.toolbar .button,.toolbar a.button{flex:0 1 auto}
  .inline-form{flex-direction:column}.inline-form>*{width:100%}
  .form-grid,.split-grid,.assignment-grid,.theme-preview-body{grid-template-columns:1fr!important}
  label{max-width:100%}input,select,textarea{width:100%;max-width:100%;font-size:16px}select[multiple]{min-height:150px}
  button,.button,a.button{max-width:100%;min-height:40px}
  .checkbox-grid{display:grid;grid-template-columns:1fr;gap:8px}.checkbox-grid input,.checkbox-row input{width:auto}
  fieldset{min-width:0}
  pre,code{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}

  /* tables remain fully functional without crushing columns */
  .panel table,.modal-card table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;border-collapse:separate;border-spacing:0}
  .panel table td,.panel table th,.modal-card table td,.modal-card table th{min-width:max-content;white-space:normal;vertical-align:top;padding:10px}
  .panel table td:first-child,.panel table th:first-child{position:sticky;left:0;background:var(--panel);z-index:1}
  .panel table tbody tr:nth-child(odd) td:first-child{background:color-mix(in srgb,var(--panel) 96%,var(--bg))}

  .modal-backdrop{padding:0;align-items:flex-end}
  .modal-card,.modal-card.wide,.modal-card.extra-wide{width:100vw!important;max-width:100vw!important;max-height:94dvh!important;margin:0!important;border-radius:18px 18px 0 0!important;padding:16px!important;overflow:auto!important}
  .modal-title{position:sticky;top:-16px;z-index:8;background:var(--panel);padding:12px 0;border-bottom:1px solid var(--line)}
  .modal-title>button{position:absolute;right:0;top:8px;width:42px}
  .modal-title>div{padding-right:50px}
  .modal-actions{position:sticky;bottom:-16px;background:var(--panel);padding:12px 0 4px;display:flex;gap:8px;flex-wrap:wrap;z-index:7}
  .workspace-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:9px}.workspace-tabs button{white-space:nowrap;flex:0 0 auto}
  .member-detail-grid,.detail-list{grid-template-columns:1fr!important}.detail-list>div:nth-child(odd){border-right:0}
  .document-share-card,.attendance-row{grid-template-columns:1fr!important}
  .document-share-options{grid-template-columns:1fr!important}
  .holder-card{flex-direction:column}.holder-actions{flex-direction:row;flex-wrap:wrap}
  .role-mailbox strong{font-size:.84rem}
  .payment-line{grid-template-columns:1fr!important}.payment-line label:first-child{grid-column:auto}.payment-total{text-align:left}
  .report-range{display:grid;grid-template-columns:1fr 1fr;width:100%}.report-range label{min-width:0}
  .category-chips{gap:6px}
  .portal-row{align-items:flex-start;flex-direction:column}.portal-row>.button,.portal-row>a{align-self:flex-start}

  /* Drive/file manager */
  .drive-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:8px}.drive-left,.drive-actions{display:flex;overflow-x:auto;gap:6px}.file-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}.file-card{min-width:0}.file-card strong{overflow:hidden;text-overflow:ellipsis}
  .drive-breadcrumbs{overflow-x:auto;white-space:nowrap}

  /* Executive mail */
  .mail-shell{display:block!important;height:auto!important;min-height:0}.mail-sidebar{width:100%;position:static}.mail-panes{display:block!important}.mail-list{max-height:55dvh;overflow:auto}.mail-reader{min-height:45dvh}.mail-compose-grid{grid-template-columns:1fr!important}

  /* ONLYOFFICE */
  .office-editor-page{height:calc(100dvh - 120px);min-height:420px}.office-frame{height:100%}

  /* theme preview should not mimic a squashed desktop */
  .theme-preview-body{display:block}.theme-preview-side{display:none}
}

@media(max-width:430px){
  :root{--mobile-gutter:9px}
  .topbar .user{max-width:34%}.topbar .user{font-size:0}.topbar .user form{font-size:.75rem}
  #page-head h1{font-size:1.38rem}
  .panel{padding:12px!important}
  .file-grid{grid-template-columns:1fr!important}
  .report-range{grid-template-columns:1fr}
  .modal-card,.modal-card.wide,.modal-card.extra-wide{padding:13px!important}
}

/* landscape phones: preserve usable height */
@media(max-height:520px) and (max-width:900px){
  .topbar{min-height:50px}.sidebar{padding-top:58px!important}.modal-card,.modal-card.wide,.modal-card.extra-wide{max-height:100dvh!important;border-radius:0!important}
}

@media(max-width:520px){
  .auth-page{padding:12px;align-items:center}
  .auth-card,.auth-card.wide{width:100%;max-width:100%;padding:22px 18px;border-radius:16px}
  .auth-card h1{font-size:1.65rem}.login-logo{width:96px;max-height:105px}
}

/* beta8.19 meeting/activity parity */
.invite-target-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin:12px 0 18px}
.invite-target-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--button-radius);background:var(--panel-soft)}
.invite-target-row label{display:flex;align-items:center;gap:8px;margin:0;min-width:0}.invite-target-row select{width:auto;min-width:105px;margin:0}
@media(max-width:640px){.invite-target-grid{grid-template-columns:1fr}.invite-target-row{align-items:flex-start}.invite-target-row select{min-width:100px}}


/* beta8.20 — unified top bar, global search, profiles and notification popovers */
.topbar{display:flex;align-items:center;gap:14px}
.topbar-brand{min-width:0;flex:1}
.topbar-actions{display:flex;align-items:center;gap:7px;margin-left:auto}
.topbar-actions button{margin:0}
.topbar-search{display:flex;align-items:center;gap:8px;padding:8px 11px;border-radius:11px;background:color-mix(in srgb,var(--header-text,#fff) 8%,transparent);color:var(--header-text,#fff);border:1px solid color-mix(in srgb,var(--header-text,#fff) 18%,transparent)}
.topbar-search kbd{font:inherit;font-size:.68rem;opacity:.66;padding:2px 5px;border:1px solid currentColor;border-radius:5px}
.topbar-icon{position:relative;display:inline-grid;place-items:center;width:41px;height:41px;padding:0;border-radius:50%;font-size:18px;background:color-mix(in srgb,var(--header-text,#fff) 7%,transparent);color:var(--header-text,#fff);border-color:color-mix(in srgb,var(--header-text,#fff) 16%,transparent)}
.topbar-icon.has-unread{background:color-mix(in srgb,var(--accent,#fecb3f) 20%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent,#fecb3f) 55%,transparent)}
.topbar-badge{position:absolute;right:-4px;top:-5px;min-width:19px;height:19px;display:grid;place-items:center;padding:0 4px;border-radius:999px;background:#d93025;color:#fff;font-size:10px;line-height:1;border:2px solid var(--header-bg,#111)}
.topbar-profile{display:flex;align-items:center;gap:8px;max-width:290px;padding:5px 9px 5px 6px;border-radius:13px;background:transparent;color:var(--header-text,#fff);border-color:transparent;text-align:left}
.topbar-profile:hover{background:color-mix(in srgb,var(--header-text,#fff) 8%,transparent)}
.topbar-avatar,.profile-small-avatar,.profile-large-avatar{display:grid;place-items:center;border-radius:50%;font-weight:800;background:var(--accent,#fecb3f);color:#111;flex:0 0 auto}
.topbar-avatar{width:32px;height:32px;font-size:.82rem}.profile-small-avatar{width:38px;height:38px}.profile-large-avatar{width:68px;height:68px;font-size:1.55rem}
.topbar-user-text{display:flex;flex-direction:column;min-width:0}.topbar-user-text strong,.topbar-user-text small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-user-text strong{font-size:.82rem}.topbar-user-text small{font-size:.68rem;opacity:.72}
.topbar-signout{margin:0}.topbar-signout button{padding:8px 10px}

.global-modal{z-index:160}
.global-search-backdrop{position:fixed;z-index:180;inset:0;background:#0009;backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding:8vh 18px 18px}
.global-search-panel{width:min(900px,100%);max-height:84vh;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:0 28px 90px #0007;display:flex;flex-direction:column}
.global-search-box{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:15px 17px;border-bottom:1px solid var(--line)}
.global-search-box>span{font-size:1.7rem}.global-search-box input{border:0;background:transparent;box-shadow:none;padding:5px 0;font-size:1.1rem}.global-search-box input:focus{outline:0}.global-search-box kbd{font:inherit;font-size:.72rem;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:3px 7px}
#global-search-results{overflow:auto;padding:10px}
.global-search-group{padding:4px 0 10px}.global-search-group h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:8px 9px}.global-search-group h3 small{font-size:.68rem}
.global-search-result{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:0;border-radius:11px;padding:9px 10px;color:var(--text)}
.global-search-result:hover,.global-search-result:focus{background:color-mix(in srgb,var(--accent) 11%,var(--panel));outline:none}
.global-search-result>span:nth-child(2){min-width:0;display:flex;flex-direction:column}.global-search-result strong{font-size:.94rem}.global-search-result small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.global-search-result>b{font-size:1.5rem;color:var(--muted)}
.search-result-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:color-mix(in srgb,var(--accent) 13%,var(--bg));font-size:17px}
.search-hint,.search-empty{padding:34px 18px;text-align:center;color:var(--muted)}.search-empty{display:flex;flex-direction:column;gap:6px}

.topbar-popover-backdrop{position:fixed;z-index:169;inset:0;background:transparent}
.topbar-popover{position:fixed;z-index:170;right:14px;top:66px;width:min(430px,calc(100vw - 24px));max-height:min(680px,calc(100vh - 82px));display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 22px 65px #0005;overflow:hidden}
.popover-head{display:flex;justify-content:space-between;align-items:center;padding:14px 15px;border-bottom:1px solid var(--line)}.popover-head h3{margin:0}.popover-head small{color:var(--muted)}.popover-head>div:last-child{display:flex;gap:6px}
.popover-list{overflow:auto;min-height:80px}.popover-item{width:100%;display:grid;grid-template-columns:32px 1fr;gap:8px;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:12px 14px;color:var(--text)}.popover-item.unread{background:color-mix(in srgb,var(--accent) 8%,var(--panel));box-shadow:inset 3px 0 var(--accent)}.popover-item>span:last-child{display:flex;min-width:0;flex-direction:column}.popover-item small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.popover-item time{font-size:.68rem;color:var(--muted);margin-top:5px}.popover-empty{padding:34px;text-align:center;color:var(--muted)}.popover-foot{padding:9px;border-top:1px solid var(--line);display:flex;justify-content:center}.popover-foot button{width:100%}

.profile-heading{display:flex;align-items:center;gap:15px;margin-bottom:18px;padding:6px}.profile-heading h2{margin:0}.profile-heading p{margin:4px 0 0}
.user-directory-list{margin-top:12px;border:1px solid var(--line);border-radius:13px;overflow:hidden}.user-directory-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;width:100%;padding:10px 12px;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--text)}.user-directory-row:last-child{border-bottom:0}.user-directory-row:hover{background:color-mix(in srgb,var(--accent) 8%,var(--panel))}.user-directory-row>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.user-directory-row small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-directory-row>b{font-size:.73rem;color:var(--muted)}
.developer-modal .developer-table{overflow:auto;border:1px solid var(--line);border-radius:12px}.developer-modal .developer-table table{margin:0}

@media(max-width:850px){
 .topbar-search strong,.topbar-search kbd,.topbar-user-text,.topbar-signout{display:none}
 .topbar-search{width:41px;height:41px;padding:0;display:grid;place-items:center}.topbar-search span{font-size:1.25rem}
 .topbar-profile{padding:4px}.topbar-profile>span:last-child{display:none}
}
@media(max-width:520px){
 .topbar{gap:5px}.topbar-actions{gap:3px}.topbar-icon,.topbar-search{width:37px;height:37px}.topbar-profile{max-width:39px}.topbar-avatar{width:31px;height:31px}
 .global-search-backdrop{padding:0}.global-search-panel{height:100dvh;max-height:100dvh;border-radius:0;border:0}.global-search-box{padding:12px}
 .topbar-popover{right:0;top:56px;width:100vw;max-height:calc(100dvh - 56px);border-radius:0 0 14px 14px}
 .user-directory-row{grid-template-columns:38px 1fr}.user-directory-row>b{display:none}
}


/* beta8.21 — top bar spacing, true toggle state and populated Search home */
@media(min-width:851px){
 .topbar{height:auto;min-height:72px;padding:10px 24px 12px;box-sizing:border-box}
 .shell{min-height:calc(100vh - 72px)}
 body[data-sticky-sidebar="1"] .sidebar{top:72px;height:calc(100vh - 72px)}
}
.topbar-actions{align-self:center}
.topbar-icon,.topbar-search,.topbar-profile{transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease}
.topbar-icon:hover,.topbar-search:hover,.topbar-profile:hover{transform:translateY(-1px)}
.topbar-icon.is-open,.topbar-search.is-open,.topbar-profile.is-open{
 background:color-mix(in srgb,var(--accent,#fecb3f) 20%,var(--header-bg,#111));
 border-color:color-mix(in srgb,var(--accent,#fecb3f) 70%,transparent);
 box-shadow:0 0 0 2px color-mix(in srgb,var(--accent,#fecb3f) 17%,transparent);
}
.global-search-shortcuts{display:flex;align-items:center;gap:5px}
.global-search-shortcuts kbd{min-width:auto}
.search-home{padding:4px 4px 16px}
.search-welcome{display:flex;flex-direction:column;gap:4px;padding:12px 13px 15px}
.search-welcome strong{font-size:1rem}
.search-welcome span{font-size:.84rem;color:var(--muted)}
.search-home-section{padding:6px 8px 12px}
.search-home-heading{display:flex;align-items:center;gap:7px;margin:3px 2px 9px}
.search-home-heading h3{margin:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.search-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.search-category-card{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:8px;min-height:74px;width:100%;padding:10px 11px;text-align:left;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel) 96%,var(--accent) 4%);color:var(--text)}
.search-category-card:hover,.search-category-card:focus{background:color-mix(in srgb,var(--accent) 10%,var(--panel));border-color:color-mix(in srgb,var(--accent) 45%,var(--line));outline:0;transform:translateY(-1px)}
.search-category-card>span:first-child{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:color-mix(in srgb,var(--accent) 13%,var(--bg));font-size:18px}
.search-category-card>span:nth-child(2){display:flex;min-width:0;flex-direction:column;gap:2px}
.search-category-card strong{font-size:.86rem}
.search-category-card small{font-size:.7rem;color:var(--muted);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.search-category-card>b{font-size:1.25rem;color:var(--muted)}
.search-recent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;padding:2px 8px}
.search-recent-grid .search-home-section{min-width:0;padding:8px 0}
.search-home-list{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.global-search-result.compact{border-radius:0;border-bottom:1px solid var(--line)}
.global-search-result.compact:last-child{border-bottom:0}
.search-hint{display:flex;flex-direction:column;gap:5px}
@media(max-width:760px){
 .search-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .search-recent-grid{grid-template-columns:1fr}
 .global-search-shortcuts kbd:not(:last-child){display:none}
}
@media(max-width:480px){
 .topbar{padding-top:9px!important;padding-bottom:10px!important}
 .search-category-grid{grid-template-columns:1fr}
 .search-category-card{min-height:64px}
 .search-welcome{padding-left:8px;padding-right:8px}
}

/* beta8.22 Activities / Meetings workflow */
.portal-activity-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;margin:9px 0;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel) 97%,var(--accent) 3%)}
.portal-activity-card>div:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}.portal-activity-card small{color:var(--muted)}
.portal-rsvp-actions{display:flex;gap:6px;flex-wrap:wrap}
.advanced-sharing{margin:9px 0;padding:9px 10px;border:1px solid var(--line);border-radius:10px}.advanced-sharing summary{cursor:pointer;font-weight:650;color:var(--muted)}
.meeting-register-list{display:grid;gap:9px;margin-top:15px}.meeting-register-card{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:color-mix(in srgb,var(--panel) 97%,var(--accent) 3%)}.meeting-register-card .toolbar{margin:0}.meeting-register-card p{margin:8px 0}
@media(max-width:760px){
 .portal-activity-card{align-items:stretch;flex-direction:column}.portal-rsvp-actions{width:100%}.portal-rsvp-actions button{flex:1 1 120px}
 .attendance-row{display:grid!important;grid-template-columns:1fr!important}.attendance-row select,.attendance-row input{width:100%}
}


/* beta8.23 — non-blocking top-bar dropdowns + reliable same-icon toggle */
.topbar{z-index:220!important}
.topbar-popover-backdrop{display:none!important;pointer-events:none!important}
.topbar-popover{z-index:230;top:76px}
@media(max-width:850px){.topbar-popover{top:66px}}
@media(max-width:520px){.topbar-popover{top:58px;max-height:calc(100dvh - 58px)}}


/* beta8.24 — profile pictures + Governance / AGM restoration */
.topbar-avatar img,.profile-small-avatar img,.profile-large-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.profile-photo-wrap{display:flex;flex-direction:column;align-items:center;gap:8px}
.profile-photo-button{position:relative;border:0;padding:0;overflow:visible;cursor:pointer}
.profile-photo-edit{position:absolute;right:-3px;bottom:-3px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:var(--accent,#fecb3f);color:#111;border:2px solid var(--panel);font-size:12px}
.profile-photo-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:center}.profile-photo-actions button{min-height:32px;padding:5px 8px;font-size:.75rem}

.avatar-crop-modal .modal-card{width:min(500px,96vw)}
.avatar-crop-stage{position:relative;width:min(360px,82vw);aspect-ratio:1;margin:8px auto 14px;overflow:hidden;border-radius:14px;background:#181818;touch-action:none}
#avatar-crop-canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:none}
#avatar-crop-canvas:active{cursor:grabbing}
.avatar-crop-mask{position:absolute;inset:0;pointer-events:none;border-radius:14px;background:radial-gradient(circle at center,transparent 0 45%,rgba(0,0,0,.64) 45.5% 100%);box-shadow:inset 0 0 0 2px rgba(255,255,255,.12)}
.avatar-crop-mask::after{content:"";position:absolute;left:5%;top:5%;width:90%;height:90%;border:2px solid rgba(255,255,255,.92);border-radius:50%;box-sizing:border-box}
.avatar-zoom{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px}.avatar-zoom input{margin:0}

.governance-handover-history{margin-top:18px;padding-top:12px;border-top:1px solid var(--line)}
.governance-handover-history summary{cursor:pointer;font-weight:700}
.poll-admin-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.status-badge.success{background:#dff5e5;color:#176a2d}
.governance-board .committee-card{transition:transform .15s ease,box-shadow .15s ease}.governance-board .committee-card:hover{transform:translateY(-1px)}
@media(max-width:640px){
 .profile-heading{align-items:flex-start}.profile-photo-wrap{align-items:flex-start}
 .avatar-crop-modal .modal-card{width:100vw;max-width:100vw}
}

/* beta8.25 — near-live top-bar mail/notification indicators */
@keyframes liveBadgePop{0%{transform:scale(1)}35%{transform:scale(1.35)}70%{transform:scale(.94)}100%{transform:scale(1)}}
#mail-badge.badge-live-pop{animation:liveBadgePop .55s ease}


/* beta8.26 — richer Executive Mail + Global Address Book */
.mail-side-actions{display:grid;gap:6px;margin:8px 0 12px}
.mail-side-actions button{text-align:left;width:100%}
.mail-compose-title>div:first-child{display:flex;flex-direction:column;gap:2px}.mail-compose-title small{color:var(--muted);font-weight:400}
.mail-recipient-line{display:grid;grid-template-columns:42px 1fr auto;align-items:center;border-bottom:1px solid var(--line);padding:2px 8px}
.mail-recipient-line>span{font-size:.75rem;color:var(--muted);font-weight:700}.mail-recipient-line input{border:0;background:transparent;box-shadow:none;margin:0}.mail-recipient-line input:focus{outline:0}
.mail-more-recipients{border-bottom:1px solid var(--line)}.mail-more-recipients summary{cursor:pointer;padding:6px 12px;font-size:.72rem;color:var(--muted)}
.mail-compose-subject{border-width:0 0 1px!important;border-radius:0!important;margin:0!important;padding:11px 13px!important;font-weight:650}
.mail-editor-toolbar{display:flex;gap:4px;flex-wrap:wrap;padding:6px 8px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 95%,var(--accent) 5%)}
.mail-editor-toolbar button{min-width:34px;padding:5px 7px}
.mail-rich-editor{min-height:260px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:auto;line-height:1.5}
#mail-compose-form .mail-rich-editor{border:0;border-radius:0;min-height:300px}
.mail-rich-editor:empty::before{content:attr(data-placeholder);color:var(--muted)}
.compose-signature-preview{padding:8px 14px;border-top:1px dashed var(--line);color:var(--muted)}.compose-signature-preview>small{display:block;margin-bottom:5px}
.mail-compose-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-top:1px solid var(--line)}.mail-compose-footer>div{display:flex;gap:6px}
.mail-picker{position:absolute;z-index:310;right:12px;top:58px;width:min(420px,calc(100% - 24px));max-height:70vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:13px;box-shadow:0 18px 55px #0006;overflow:hidden}
.mail-picker-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--line)}.mail-picker>input{margin:9px}.mail-picker-results,#mail-picker-results{overflow:auto;padding:0 8px 9px}
.mail-picker-section h4{margin:8px 5px;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.mail-picker-section>button{display:grid;grid-template-columns:38px 1fr;gap:9px;align-items:center;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:8px;color:var(--text)}.mail-picker-section>button:hover{background:color-mix(in srgb,var(--accent) 8%,var(--panel))}.mail-picker-section>button>span:last-child{display:flex;flex-direction:column;min-width:0}.mail-picker-section small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.signature-editor{min-height:140px}.mail-preferences-form code{font-size:.8rem}
.contacts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:10px;margin-top:12px}
.contact-card{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel) 97%,var(--accent) 3%)}.contact-card>div:nth-child(2){display:flex;flex-direction:column;min-width:0}.contact-card span,.contact-card small{color:var(--muted);font-size:.76rem}.contact-card a{font-size:.8rem;overflow:hidden;text-overflow:ellipsis}
.address-admin-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:12px}.address-admin-tabs button{border-radius:9px 9px 0 0}.address-admin-tabs button.active{background:var(--accent);color:#111}
.address-admin-list{border:1px solid var(--line);border-radius:12px;overflow:hidden}.address-admin-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-bottom:1px solid var(--line)}.address-admin-row:last-child{border-bottom:0}.address-admin-row>div:first-child{display:flex;flex-direction:column;min-width:0}.address-admin-row small,.address-admin-row span{color:var(--muted);font-size:.75rem}.address-admin-row>div:last-child{display:flex;gap:5px}
.nested-modal{z-index:205}
.draft-list{border:1px solid var(--line);border-radius:12px;overflow:hidden}.draft-row{display:grid;grid-template-columns:1fr auto;align-items:center;border-bottom:1px solid var(--line)}.draft-row:last-child{border-bottom:0}.draft-row>button:first-child{display:flex;flex-direction:column;text-align:left;border:0;border-radius:0;background:transparent;color:var(--text);padding:12px}.draft-row small{color:var(--muted)}
@media(max-width:760px){
 .mail-compose-modal{inset:0!important;width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important}
 .mail-picker{position:fixed;left:0;right:0;top:auto;bottom:0;width:100%;max-height:72dvh;border-radius:16px 16px 0 0}
 .mail-compose-footer{align-items:stretch;flex-direction:column}.mail-compose-footer>div{justify-content:flex-end}
 .address-admin-row{align-items:flex-start;flex-direction:column}.address-admin-row>div:last-child{width:100%}
}

/* beta8.27 — application dialogs must always sit above the persistent top bar/popovers */
.modal-backdrop{z-index:20000!important}.global-modal{z-index:20000!important}.nested-modal{z-index:20020!important}.mail-picker{z-index:20040!important}

.contact-card-clickable{cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.contact-card-clickable:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 60%,var(--line));box-shadow:0 7px 18px #0002}.contact-card-clickable>button{position:relative;z-index:2}
.contact-scope-badge{display:inline-block!important;margin-left:5px;padding:2px 6px;border-radius:999px;background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--text)!important;font-size:.62rem!important}
.contact-profile-modal{width:min(620px,calc(100vw - 28px))}.contact-profile-hero{display:flex;align-items:center;gap:16px;padding:8px 2px 18px}.contact-profile-hero h2,.contact-profile-hero p{margin:0}.contact-profile-hero small{color:var(--muted)}
.contact-profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.contact-profile-fields>div{display:flex;flex-direction:column;padding:10px 12px;border:1px solid var(--line);border-radius:10px}.contact-profile-fields>div.full{grid-column:1/-1}.contact-profile-fields span{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700}.contact-profile-fields p{margin:4px 0 0;white-space:pre-wrap}
.contact-row-main{display:flex!important;flex:1;flex-direction:column!important;align-items:flex-start!important;text-align:left!important;border:0!important;background:transparent!important;color:var(--text)!important;padding:0!important}
@media(max-width:600px){.contact-profile-fields{grid-template-columns:1fr}}


/* beta8.29 — Google Drive backed File Storage administration */
.integration-subpanel{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel) 96%,var(--accent) 4%)}
.integration-subpanel h3{margin:0}.input-button-row{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center}.input-button-row input{margin:0}
.storage-summary{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.storage-summary span{padding:8px 11px;border-radius:999px;background:var(--soft);font-size:.8rem}
.drive-folder-picker-crumbs{display:flex;align-items:center;gap:5px;overflow-x:auto;padding:8px 0 12px}.drive-folder-picker-crumbs button{white-space:nowrap;border:0;background:transparent;padding:4px;color:var(--text)}.drive-folder-picker-crumbs button:hover{text-decoration:underline}
.drive-folder-picker-list{border:1px solid var(--line);border-radius:12px;overflow:auto;max-height:52vh}.drive-folder-picker-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:7px 8px;border-bottom:1px solid var(--line)}.drive-folder-picker-row:last-child{border-bottom:0}.drive-folder-picker-row>button:first-child{display:flex;align-items:center;gap:8px;text-align:left;border:0;background:transparent;color:var(--text);padding:9px;width:100%}
@media(max-width:650px){.input-button-row{grid-template-columns:1fr}.drive-folder-picker-row{grid-template-columns:1fr auto}}


/* beta8.32 — per-surface theming background images */
body.auth-page{
 background-image:var(--surface-bg-image,linear-gradient(145deg,#161616,#2b2b2b));
 background-size:var(--surface-bg-size,cover);
 background-position:var(--surface-bg-position,center center);
 background-attachment:var(--surface-bg-attachment,fixed);
 background-repeat:no-repeat;
}
body[data-surface="admin"],body[data-surface="portal"]{
 background-color:var(--bg);
 background-image:var(--surface-bg-image,none);
 background-size:var(--surface-bg-size,cover);
 background-position:var(--surface-bg-position,center center);
 background-attachment:var(--surface-bg-attachment,fixed);
 background-repeat:no-repeat;
}
body[data-surface] .shell,body[data-surface] main{background:transparent}
.theme-background-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.theme-background-card{border:1px solid var(--line);border-radius:var(--theme-radius,15px);padding:14px;background:color-mix(in srgb,var(--panel) 97%,var(--bg))}
.theme-background-card h4{margin:0 0 8px}.theme-background-card small{display:block;color:var(--muted);margin-top:5px}
.theme-background-preview{height:120px;border:1px solid var(--line);border-radius:11px;background-color:#ececec;background-position:center;background-size:cover;background-repeat:no-repeat;margin:10px 0}

/* beta8.33 — hybrid local + Google Drive storage */
.storage-location-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px;margin:12px 0}
.storage-location-card{border:1px solid var(--line);border-radius:13px;padding:14px;background:color-mix(in srgb,var(--panel) 97%,var(--accent) 3%)}
.storage-location-card>div:first-child{display:flex;gap:10px;align-items:center;margin-bottom:10px}.storage-location-card>div:first-child>span{font-size:1.6rem}.storage-location-card>div:first-child>div{display:flex;flex-direction:column}.storage-location-card small{color:var(--muted)}
.storage-scope-counts,.storage-location-summary{display:flex;gap:8px;flex-wrap:wrap}.storage-scope-counts span{padding:4px 7px;border-radius:999px;background:var(--soft);font-size:.72rem}
.storage-location-summary{margin:10px 0 14px}.storage-location-summary>div{display:flex;flex-direction:column;min-width:210px;padding:10px 12px;border:1px solid var(--line);border-radius:10px}.storage-location-summary span{color:var(--muted);font-size:.8rem}
.backend-mini{display:inline-block;margin-left:4px;padding:1px 5px;border-radius:999px;background:var(--soft);font-size:.58rem;font-weight:700;vertical-align:middle}

/* beta8.34 — asynchronous Drive UX + configurable portal storage folders */
.file-sync-status{min-width:90px;color:var(--muted);font-size:.78rem;align-self:center}
.storage-space-admin-list{display:grid;gap:9px;margin-top:12px}.storage-space-admin-row{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px}.storage-space-admin-row>div:first-child{display:flex;flex-direction:column;gap:3px}.storage-space-admin-row small,.storage-space-admin-row span{color:var(--muted)}
.portal-file-locations{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.portal-file-locations button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:15px;text-align:left}.portal-file-locations small{color:var(--muted);font-weight:400}
@media(max-width:650px){.storage-space-admin-row{align-items:flex-start;flex-direction:column}.storage-space-admin-row>div:last-child{display:flex;gap:6px;flex-wrap:wrap}}


/* beta8.35 — reliable themed surface backgrounds */
html:has(body.auth-page){min-height:100%;background:#161616}
body.auth-page{min-height:100vh;background-color:#161616}
body.auth-page{position:relative;isolation:isolate;background-image:none!important}
body.auth-page::before{
 content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
 background-image:var(--surface-bg-image,linear-gradient(145deg,#161616,#2b2b2b));
 background-size:var(--surface-bg-size,cover);
 background-position:var(--surface-bg-position,center center);
 background-repeat:no-repeat;
 background-attachment:var(--surface-bg-attachment,fixed);
}
body.auth-page>.auth-card{position:relative;z-index:1}

/* beta8.36 — member lifecycle portal states */
.member-access-panel,.member-renewal-panel{max-width:980px}
.member-access-panel{display:flex;gap:18px;align-items:flex-start}
.member-access-icon,.member-renewal-icon{display:grid;place-items:center;flex:0 0 auto;width:58px;height:58px;border-radius:50%;background:color-mix(in srgb,var(--gold) 20%,var(--panel));font-size:1.6rem;font-weight:800}
.member-renewal-hero{display:flex;align-items:flex-start;gap:18px;padding:6px 0 20px}.member-renewal-hero h2{margin:9px 0 6px}.member-renewal-hero p{margin:0;color:var(--muted);max-width:720px;line-height:1.55}
.status-badge.renewal{background:#fff3cd;color:#7a5700;border:1px solid #e8c44f}
.member-renewal-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.member-renewal-details>div{display:flex;flex-direction:column;gap:4px}.member-renewal-details span{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.member-renewal-details strong{text-transform:capitalize}
.member-renewal-note{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px;padding:14px;border-radius:12px;background:var(--soft)}.member-renewal-note span{color:var(--muted);flex:1;min-width:220px}
@media(max-width:700px){.member-renewal-details{grid-template-columns:1fr}.member-renewal-hero{flex-direction:column}.member-renewal-note{align-items:flex-start;flex-direction:column}}

/* beta8.38 — authoritative theme preview + login background rendering */
.theme-background-preview{display:grid;place-items:center;overflow:hidden;background:#ececec}
.theme-background-preview img{width:100%;height:100%;object-fit:cover;display:block}
.theme-preview-error{padding:12px;text-align:center;color:#912018;font-size:.8rem}
body.auth-page{background:#161616!important}
body.auth-page::before{
 background-image:var(--surface-bg-image)!important;
 background-color:#161616;
 opacity:1!important;
 visibility:visible!important;
}


/* beta8.39 — direct themed surface rendering (authoritative) */
body.auth-page{
 min-height:100vh;
 background-color:#161616!important;
}
body.auth-page::before{display:none!important}
body[data-surface="admin"],body[data-surface="portal"]{
 min-height:100vh;
}

/* beta8.40 — render themed background as a real IMG element */
.surface-background-image{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;z-index:0!important;pointer-events:none!important;user-select:none!important;display:block!important}
body.auth-page{position:relative!important;isolation:isolate!important;background:#161616!important;background-image:none!important}
body.auth-page::before{display:none!important}
body.auth-page>.surface-background-image{z-index:0!important}
body.auth-page>.auth-card{position:relative!important;z-index:2!important}
body[data-surface]{position:relative!important;isolation:isolate!important}
body[data-surface]>.surface-background-image{z-index:0!important}
body[data-surface]>.shell,body[data-surface]>header,body[data-surface]>main,body[data-surface]>#app{position:relative;z-index:1}

/* beta8.42 — hidden must always beat component display rules.
   .topbar-icon uses display:inline-grid, which otherwise overrides the browser's native
   [hidden]{display:none} rule and makes an unassigned mailbox icon visible. */
[hidden]{display:none!important}

/* beta8.43 — Apps / Plugins */
.plugin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin-top:14px}
.plugin-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--theme-radius);padding:16px;box-shadow:var(--panel-shadow)}
.plugin-card-head{display:flex;align-items:center;gap:12px}.plugin-card-head>div:nth-child(2){flex:1}.plugin-card-head h3{margin:0}.plugin-card-head small,.plugin-meta{color:var(--muted)}
.plugin-app-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--soft);font-size:1.55rem}
.plugin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.plugin-meta{font-size:.8rem}
.plugin-page-icon{font-size:2rem}.plugin-page-content{line-height:1.6}.plugin-dashboard-grid small{display:block;color:var(--muted);font-weight:400;margin-top:4px}

.plugin-permission-table{overflow:auto;max-width:100%}.plugin-permission-table table{min-width:720px}.plugin-permission-table td:not(:first-child),.plugin-permission-table th:not(:first-child){text-align:center}

/* beta8.46 — portal access tiers */
.simple-contact-portal{max-width:900px}
.simple-contact-portal .member-access-icon{font-size:2rem}
.sponsor-welcome{border-left:4px solid var(--gold)}

/* beta8.47 — consistent card/panel spacing throughout the application */
#content > .panel + .panel,
#content > .cards + .panel,
#content > .panel + .cards,
#content > .cards + .cards {
  margin-top: 18px;
}
.panel > .panel + .panel,
.modal-card > .panel + .panel {
  margin-top: 16px;
}

/* beta8.48 — Financial Member promotion + Security/Permissions */
.financial-upgrade-panel{border-left:4px solid var(--gold)}
.financial-upgrade-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:16px}
.financial-upgrade-grid h3{margin-top:0}.financial-upgrade-grid ul{margin:0;padding-left:1.25rem}
.permission-module{margin:16px 0;border:1px solid var(--line);border-radius:var(--theme-radius);padding:12px}
.permission-module legend{font-weight:700;padding:0 8px}.permission-module table{width:100%}
.permission-module th:not(:first-child),.permission-module td:not(:first-child){text-align:center;width:90px}
.permission-module small{color:var(--muted)}
@media(max-width:760px){.financial-upgrade-grid{grid-template-columns:1fr}.permission-module{overflow:auto}.permission-module table{min-width:720px}}

/* beta8.49 — full Email Templates manager */
.template-manager-layout{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:18px;align-items:start}
.template-manager-list{position:sticky;top:92px;max-height:calc(100vh - 120px);overflow:auto}
.template-category h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:18px 8px 8px}
.template-category button{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:11px 12px;margin:4px 0;border:1px solid transparent;background:transparent;border-radius:10px;text-align:left}
.template-category button:hover,.template-category button.active{background:var(--soft);border-color:var(--line)}
.template-category button small,.template-category button span{color:var(--muted);font-size:.78rem}
.template-attachments{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}
.email-preview-card{margin-top:16px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.email-preview-card>strong{display:block;padding:12px;background:var(--soft)}
.email-preview-card iframe{width:100%;height:420px;border:0;background:white}
@media(max-width:900px){.template-manager-layout{grid-template-columns:1fr}.template-manager-list{position:static;max-height:none}}

/* beta8.50 — block editor + non-blocking toast notifications */
.toast-root{position:fixed;top:86px;right:20px;z-index:100000;display:flex;flex-direction:column;gap:10px;width:min(420px,calc(100vw - 32px));pointer-events:none}
.app-toast{display:grid;grid-template-columns:32px 1fr 28px;align-items:start;gap:10px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--text);box-shadow:0 16px 44px rgba(0,0,0,.22);opacity:0;transform:translateY(-8px) scale(.98);transition:opacity .24s ease,transform .24s ease;pointer-events:auto}
.app-toast.show{opacity:1;transform:translateY(0) scale(1)}
.app-toast.success{border-left:4px solid #2e9d57}.app-toast.error{border-left:4px solid #c43a2d}.app-toast.warning{border-left:4px solid #d79b00}.app-toast.info{border-left:4px solid var(--gold)}
.toast-icon{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:var(--soft);font-weight:800}.toast-message{white-space:pre-line;line-height:1.4}.app-toast>button{border:0;background:transparent;padding:0;font-size:20px;line-height:1;color:var(--muted)}

.block-editor{border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow:hidden;margin:10px 0 16px}
.block-editor-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;background:var(--soft);border-bottom:1px solid var(--line)}
.block-editor-tabs{display:flex;gap:6px}.block-editor-tabs button.active{background:var(--text);color:var(--panel)}
.block-toolbar{display:flex;flex-wrap:wrap;gap:6px;padding:9px 10px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 92%,var(--gold))}
.block-toolbar button{padding:7px 9px;min-height:34px}
.block-editor-canvas{min-height:320px;padding:28px;background:var(--panel);outline:none}
.block-editor-canvas:focus{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--gold) 55%,transparent)}
.block-editor-canvas>*{position:relative;margin-block:10px;padding:4px 2px;border-radius:5px}
.block-editor-canvas>*:hover{outline:1px dashed color-mix(in srgb,var(--gold) 70%,transparent)}
.block-editor-canvas figure{margin:18px 0}.block-editor-canvas img{max-width:100%;height:auto;border-radius:10px}
.block-editor-canvas blockquote{border-left:4px solid var(--gold);padding:10px 16px;background:var(--soft)}
.block-editor-canvas .content-button{display:inline-block;background:var(--gold);color:#111;padding:10px 16px;border-radius:999px;text-decoration:none;font-weight:700}
.block-editor-canvas .content-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.block-editor-canvas .content-columns>div{border:1px dashed var(--line);border-radius:9px;padding:10px}
.block-editor-source{width:100%;min-height:360px;border:0;border-radius:0;padding:16px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical}
.block-editor-source:focus{outline:2px solid var(--gold);outline-offset:-2px}
@media(max-width:760px){.toast-root{top:74px;right:12px}.block-editor-head{align-items:flex-start;flex-direction:column}.block-editor-canvas{padding:18px;min-height:260px}.block-editor-canvas .content-columns{grid-template-columns:1fr}}


/* beta8.51 — persistent app-native confirmations / input prompts */
.question-root{
 position:fixed;
 top:86px;
 right:20px;
 z-index:100200;
 display:flex;
 flex-direction:column;
 align-items:flex-end;
 gap:12px;
 width:min(500px,calc(100vw - 32px));
 pointer-events:none;
}
.app-question{
 width:100%;
 display:grid;
 grid-template-columns:42px minmax(0,1fr);
 gap:12px;
 padding:16px;
 border:1px solid var(--line);
 border-left:4px solid var(--gold);
 border-radius:16px;
 background:var(--panel);
 color:var(--text);
 box-shadow:0 20px 58px rgba(0,0,0,.28);
 opacity:0;
 transform:translateY(-10px) scale(.98);
 transition:opacity .22s ease,transform .22s ease;
 pointer-events:auto;
}
.app-question.show{opacity:1;transform:translateY(0) scale(1)}
.app-question.danger{border-left-color:#c43a2d}
.app-question.warning{border-left-color:#d79b00}
.question-icon{
 width:38px;height:38px;border-radius:999px;
 display:grid;place-items:center;
 background:var(--soft);
 font-size:1.1rem;font-weight:800
}
.app-question.danger .question-icon{background:color-mix(in srgb,#c43a2d 14%,var(--panel));color:#c43a2d}
.app-question.warning .question-icon{background:color-mix(in srgb,#d79b00 15%,var(--panel));color:#9a6a00}
.question-content{min-width:0}
.question-content>strong{display:block;font-size:1rem;margin:2px 0 7px}
.question-message{white-space:pre-line;line-height:1.45;color:var(--text);margin-bottom:11px}
.question-label{display:block;margin:0}
.question-label>.question-message{display:block}
.question-label input,.question-label textarea{
 width:100%;
 margin-top:8px;
 background:var(--bg);
 color:var(--text);
 border:1px solid var(--line);
 border-radius:10px;
 padding:10px 11px;
}
.question-label textarea{resize:vertical;min-height:110px}
.question-actions{
 display:flex;
 justify-content:flex-end;
 align-items:center;
 flex-wrap:wrap;
 gap:8px;
 margin-top:13px
}
.question-actions button{min-width:88px}
@media(max-width:760px){
 .question-root{
  top:auto;
  right:12px;left:12px;bottom:14px;
  width:auto;
  align-items:stretch
 }
 .app-question{grid-template-columns:36px minmax(0,1fr);padding:14px}
 .question-icon{width:34px;height:34px}
 .question-actions button{flex:1}
}

/* Keep the Email Templates navigation steady while the editor on the right changes. */
.template-manager-list{scrollbar-gutter:stable}


/* beta8.53 — integrated Tasks / Todo system */
.task-status-chip{
 --task-status-colour:var(--gold);
 display:inline-flex;align-items:center;gap:6px;
 padding:5px 9px;border-radius:999px;
 background:color-mix(in srgb,var(--task-status-colour) 14%,var(--panel));
 border:1px solid color-mix(in srgb,var(--task-status-colour) 38%,var(--line));
 font-size:.82rem;font-weight:700;white-space:nowrap
}
.task-assignee-chips{display:flex;gap:5px;flex-wrap:wrap}
.task-assignee-chips span{padding:3px 7px;border-radius:999px;background:var(--soft);border:1px solid var(--line);font-size:.76rem}
.task-overdue{color:#b42318;font-weight:700}.task-check-progress{display:inline-block;margin-top:5px;color:var(--muted);font-size:.78rem}
.priority-urgent{font-weight:800;color:#b42318}.priority-high{font-weight:700}.priority-low{color:var(--muted)}
.task-filter-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}
.my-task-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.my-task-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.my-task-card:hover{background:var(--soft)}.my-task-card small{color:var(--muted)}
.task-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:18px}
.task-detail-main,.task-detail-side>section{border:1px solid var(--line);border-radius:14px;padding:16px;background:var(--panel)}
.task-detail-side{display:flex;flex-direction:column;gap:14px}
.task-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.task-detail-summary>div{min-width:0}.task-detail-summary>div>span:not(.task-status-chip){display:block;color:var(--muted);font-size:.75rem;margin-bottom:4px}
.task-description{padding:16px 0;line-height:1.55}.task-description p:first-child{margin-top:0}
.task-checklist{padding:10px 0}.task-checklist label{display:flex;gap:9px;align-items:flex-start;padding:7px 0}.task-checklist label.done span{text-decoration:line-through;color:var(--muted)}
.task-comments{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.task-comment{padding:10px 0;border-bottom:1px solid var(--line)}.task-comment strong{margin-right:8px}.task-comment small{color:var(--muted)}.task-comment p{margin:5px 0 0}
.task-transition-buttons{display:flex;flex-direction:column;gap:7px}.task-transition-buttons button{text-align:left}
.task-history{display:flex;flex-direction:column;gap:12px}.task-history>div{position:relative;padding-left:17px}.task-history-dot{position:absolute;left:0;top:5px;width:8px;height:8px;border-radius:50%;background:var(--gold)}.task-history small{display:block;color:var(--muted);margin-top:2px}.task-history p{margin:4px 0 0;font-size:.83rem}
.workflow-builder{max-width:1400px}.workflow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.workflow-grid>section{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--panel)}
.workflow-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.workflow-row:last-child{border-bottom:0}.workflow-row small{color:var(--muted)}
.workflow-rule-row{grid-template-columns:minmax(0,1fr) auto}.workflow-rule-row span,.workflow-rule-row small{display:block;margin-top:3px}
.nested-modal{z-index:10020}.nested-modal .modal-card{box-shadow:0 26px 80px rgba(0,0,0,.35)}
@media(max-width:900px){
 .task-filter-bar,.task-detail-summary,.workflow-grid{grid-template-columns:1fr}
 .task-detail-layout{grid-template-columns:1fr}
 .task-filter-bar{gap:8px}
}

/* v9 beta8.54 — controlled operational reset */
.reset-panel{border:1px solid rgba(190,45,45,.35)}
.danger-badge{background:rgba(190,45,45,.12);color:#b42318;border:1px solid rgba(190,45,45,.25)}
.warning-box{padding:14px 16px;border-radius:var(--theme-radius,10px);background:rgba(245,158,11,.09);border:1px solid rgba(245,158,11,.25);margin:14px 0}
.warning-box p{margin:6px 0 0}.reset-scope-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px;margin:16px 0}
.reset-scope-card{display:grid;grid-template-columns:auto auto 1fr;align-items:flex-start;gap:10px;padding:14px;border:1px solid var(--border,#d8d8d8);border-radius:var(--theme-radius,10px);cursor:pointer;background:var(--panel)}
.reset-scope-card:hover{border-color:rgba(190,45,45,.42)}.reset-scope-card input{width:auto;margin-top:4px}.reset-scope-icon{font-size:22px;line-height:1}
.reset-scope-card strong,.reset-scope-card small,.reset-scope-card em{display:block}.reset-scope-card small{margin-top:4px;color:var(--muted);line-height:1.35}.reset-scope-card em{font-style:normal;font-size:12px;margin-top:8px;font-weight:700}
.reset-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:14px}.reset-actions .reset-factory{margin-left:auto}
@media(max-width:720px){.reset-actions .reset-factory{margin-left:0}.reset-scope-grid{grid-template-columns:1fr}}
/* beta8.58 account diagnostics + Gmail-style mail interactions */
.account-security-card{margin-top:18px;padding:16px;border:1px solid #dfe4ea;border-radius:14px;background:#f8fafc}.account-security-card h4{margin:0 0 10px}.mail-row{cursor:pointer}.mail-row.unread b,.mail-row.unread strong{font-weight:800}.mail-message-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.mail-context-menu{position:fixed;z-index:10050;min-width:210px;padding:7px;background:#fff;border:1px solid #d9dee5;border-radius:10px;box-shadow:0 12px 38px rgba(0,0,0,.22)}.mail-context-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:9px 11px;border-radius:7px}.mail-context-menu button:hover{background:#f1f4f8}.mail-context-menu button.danger{color:#a61b1b}.mail-context-menu hr{border:0;border-top:1px solid #e6e9ed;margin:5px 0}
.knowledge-video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:14px}.knowledge-video-card{border:1px solid #e0e4e8;border-radius:14px;overflow:hidden;background:#fff}.knowledge-video-card video{display:block;width:100%;aspect-ratio:16/9;background:#111}.knowledge-video-meta{padding:12px}.knowledge-video-meta strong{display:block;overflow-wrap:anywhere}.knowledge-upload-progress{height:8px;border-radius:99px;background:#e8ebef;overflow:hidden;margin-top:8px}.knowledge-upload-progress>span{display:block;height:100%;width:0;background:currentColor;transition:width .15s}
.knowledge-article{padding:0;overflow:hidden}.knowledge-article>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px}.knowledge-article>summary::-webkit-details-marker{display:none}.knowledge-article>summary span:first-child{display:flex;flex-direction:column;gap:4px}.knowledge-article>summary small{color:#6c7682}.knowledge-article[open]>summary{border-bottom:1px solid #e5e8ec}.knowledge-article-body{padding:20px}.knowledge-article-body .rich-output{line-height:1.6}.knowledge-video-meta small{display:block;color:#6c7682;margin:4px 0 10px}

/* beta8.61 CMS widget/block builder */
.cms-block-builder{margin-top:20px;padding-top:18px;border-top:1px solid var(--border,#dfe3e8)}
#cms-block-list{display:grid;gap:12px;margin-top:12px}
.cms-builder-block{border:1px solid var(--border,#d9dee5);border-radius:14px;padding:14px;background:var(--panel,#fff)}
.cms-builder-block.dragging{opacity:.5;outline:2px dashed var(--accent,#d8a900)}
.cms-builder-block-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.cms-builder-block-head strong{flex:1}
.cms-drag-handle{cursor:grab;font-size:1.35rem;letter-spacing:-4px;color:var(--muted,#6b7280);user-select:none}
.cms-drag-handle:active{cursor:grabbing}
.cms-builder-block select[multiple]{min-height:110px}

.cms-widget-palette{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px;padding:12px;border:1px dashed var(--border,#d9dee5);border-radius:12px}
.cms-feature-cards{display:grid;gap:10px;margin-top:10px}
.cms-feature-card{padding:10px;border:1px solid var(--border,#d9dee5);border-radius:10px;background:rgba(127,127,127,.035)}

/* beta8.63 notification housekeeping */
.notification-popover .popover-head>div:last-child{align-items:center;flex-wrap:wrap;justify-content:flex-end}
.notification-popover .popover-head button{padding:6px 9px;font-size:.78rem}
.notification-popover-row{position:relative;border-bottom:1px solid var(--line)}
.notification-popover-row .popover-item{border-bottom:0;padding-right:42px;width:100%}
.notification-dismiss{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:28px;height:28px;min-width:28px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:1.05rem;z-index:2}
.notification-dismiss:hover{background:rgba(127,127,127,.12);color:var(--text)}
.notification-popover-foot{display:grid;grid-template-columns:1fr auto;gap:8px}
.notification-popover-foot .danger-link{width:auto;color:#a11;background:transparent}
.notification-centre-list{display:grid;gap:8px}
.notification-centre-item{display:grid;grid-template-columns:1fr 38px;align-items:stretch;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel)}
.notification-centre-item.unread{box-shadow:inset 4px 0 var(--accent)}
.notification-centre-open{display:grid;grid-template-columns:42px 1fr;gap:10px;text-align:left;border:0;background:transparent;padding:13px 14px;color:var(--text)}
.notification-centre-open>span:last-child{display:flex;flex-direction:column;gap:3px;min-width:0}
.notification-centre-open small,.notification-centre-open time{color:var(--muted)}
.notification-centre-open time{font-size:.74rem;margin-top:3px}
.notification-centre-icon{font-size:1.2rem}
.notification-centre-dismiss{border:0;border-left:1px solid var(--line);border-radius:0;background:transparent;color:var(--muted);font-size:1.1rem}
.notification-centre-dismiss:hover{background:rgba(185,28,28,.08);color:#b91c1c}

/* beta8.64 full-screen CMS block editor */
body.cms-editor-open{overflow:hidden}
.cms-editor-shell{position:fixed;inset:0;z-index:10000;background:#f0f0f0;color:#1e1e1e;display:flex;flex-direction:column}
.cms-editor-topbar{height:64px;background:#fff;border-bottom:1px solid #ddd;display:grid;grid-template-columns:1fr minmax(260px,520px) 1fr;align-items:center;padding:0 14px;gap:14px}
.cms-editor-left,.cms-editor-actions{display:flex;align-items:center;gap:8px}.cms-editor-actions{justify-content:flex-end}
.cms-editor-topbar button{height:40px;min-width:40px;border-radius:5px}.cms-top-add{font-size:1.7rem;background:#087ea4!important;color:#fff!important;border-color:#087ea4!important}
.cms-editor-breadcrumb{font-size:.82rem;color:#666}.cms-editor-title{font-size:1.2rem;font-weight:700;border:1px solid transparent!important;background:transparent!important;text-align:center;padding:8px 12px!important}
.cms-editor-title:focus{border-color:#087ea4!important;background:#fff!important}
.cms-editor-workspace{position:relative;flex:1;min-height:0;display:flex;overflow:hidden}.cms-editor-canvas{flex:1;overflow:auto;padding:52px 38px 110px}
.cms-editor-document{width:min(1040px,calc(100vw - 120px));min-height:calc(100vh - 170px);margin:0 auto;background:#fff;border:1px solid #ddd;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.cms-canvas-block{position:relative;border:2px solid transparent;transition:.12s;cursor:pointer}.cms-canvas-block:hover{border-color:#9bc6d8}.cms-canvas-block.selected{border-color:#087ea4;box-shadow:0 0 0 1px #087ea4}.cms-canvas-block.dragging{opacity:.45}
.cms-canvas-toolbar{position:absolute;top:-38px;left:8px;display:none;align-items:center;background:#1e1e1e;border-radius:4px;z-index:10;overflow:hidden}.cms-canvas-block.selected .cms-canvas-toolbar{display:flex}
.cms-canvas-toolbar button,.cms-canvas-toolbar span{border:0!important;border-radius:0!important;background:#1e1e1e!important;color:#fff!important;height:34px;padding:7px 10px!important;min-width:34px}.cms-canvas-toolbar button:hover{background:#333!important}.cms-canvas-toolbar .danger-ghost:hover{background:#a51d1d!important}
.cms-inline-add{position:absolute;left:50%;bottom:-18px;transform:translateX(-50%);z-index:8;width:36px;height:36px;border-radius:50%!important;background:#fff!important;border:1px solid #087ea4!important;color:#087ea4!important;font-size:1.35rem;padding:0!important;opacity:0}.cms-canvas-block:hover .cms-inline-add,.cms-canvas-block.selected .cms-inline-add{opacity:1}
.cms-preview-section{padding:60px 70px}.cms-preview-section h1{font-size:clamp(2.7rem,6vw,5rem);line-height:.98;margin:.2em 0}.cms-preview-section h2{font-size:2.2rem;margin:.25em 0}.cms-preview-section h3{font-size:1.5rem}.cms-preview-section p{font-size:1.05rem;line-height:1.65;color:#555}
.cms-preview-eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#9b7200;font-size:.78rem}.cms-preview-hero{min-height:500px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,#fff 58%,#fff7d3)}
.cms-preview-buttons{display:flex;gap:10px;margin-top:18px}.cms-preview-button{display:inline-flex;padding:12px 18px;border:1px solid #222;border-radius:8px;font-weight:700}.cms-preview-button.primary{background:#fecb3f;border-color:#fecb3f}
.cms-preview-feature-grid,.cms-preview-people{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}.cms-preview-feature-grid>div,.cms-preview-people>div{padding:22px;border:1px solid #ddd;border-radius:14px;display:flex;flex-direction:column;gap:7px;text-align:center}.cms-preview-feature-grid b{font-size:1.8rem}.cms-preview-people span{width:70px;height:70px;border-radius:50%;background:#fecb3f;display:grid;place-items:center;margin:auto;font-weight:900}
.cms-preview-mission{display:grid;grid-template-columns:1fr 1.4fr;gap:36px;background:#111;color:#fff}.cms-preview-mission p{color:#ddd}.cms-preview-mission>div:first-child strong{display:block;font-size:2rem;margin-top:10px}.cms-preview-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fecb3f}
.cms-preview-form{max-width:760px;margin:0 auto}.cms-preview-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.cms-preview-form-grid span,.cms-preview-form-line{display:block;border:1px solid #ccc;border-radius:7px;padding:13px;color:#777;margin:10px 0}.cms-preview-richtext{min-height:160px}
.cms-editor-empty{padding:120px 40px;text-align:center}.cms-editor-inspector{width:360px;background:#fff;border-left:1px solid #ddd;display:none;overflow:auto;flex-shrink:0}.cms-editor-inspector.open{display:block}
.cms-inspector-head{height:58px;border-bottom:1px solid #ddd;display:flex;align-items:center;justify-content:space-between;padding:0 16px}.cms-inspector-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #ddd}.cms-inspector-tabs button{border:0;border-radius:0;background:#fff;padding:12px}.cms-inspector-tabs button.active{box-shadow:inset 0 -3px #087ea4;color:#087ea4}.cms-inspector-body{padding:18px}.cms-inspector-body label{display:block;margin-bottom:14px}.cms-inspector-body input,.cms-inspector-body textarea,.cms-inspector-body select{width:100%}
.cms-inspector-subhead{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ddd;padding-top:14px;margin-top:16px}.cms-inspector-card{border:1px solid #ddd;padding:12px;border-radius:8px;margin:10px 0;background:#fafafa}
.cms-editor-inserter{position:absolute;left:64px;top:14px;width:430px;max-height:calc(100% - 28px);overflow:auto;background:#fff;border:1px solid #ccc;box-shadow:0 8px 30px rgba(0,0,0,.2);display:none;z-index:20;border-radius:6px}.cms-editor-inserter.open{display:block}.cms-inserter-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #ddd}#cms-inserter-search{margin:14px;width:calc(100% - 28px)}
.cms-inserter-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 14px 16px}.cms-inserter-grid button{height:auto;min-height:110px;background:#fff;border:1px solid #ddd;border-radius:7px;text-align:left;display:flex;flex-direction:column;gap:5px;padding:14px}.cms-inserter-grid button:hover{border-color:#087ea4;box-shadow:0 0 0 1px #087ea4}.cms-inserter-grid button span{font-size:1.7rem}.cms-inserter-grid button small{color:#666;line-height:1.35}
@media(max-width:900px){.cms-editor-topbar{grid-template-columns:auto 1fr auto}.cms-editor-breadcrumb{display:none}.cms-editor-title{text-align:left}.cms-editor-canvas{padding:28px 12px 80px}.cms-editor-document{width:100%}.cms-editor-inspector{position:absolute;right:0;top:0;bottom:0;z-index:30;width:min(92vw,360px)}.cms-preview-section{padding:42px 28px}.cms-preview-feature-grid,.cms-preview-people{grid-template-columns:1fr}.cms-preview-mission{grid-template-columns:1fr}.cms-editor-inserter{left:10px;width:min(94vw,430px)}}

/* beta8.67 editor polish + CMS Navigation editor */
.cms-top-add{display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;padding:0!important;text-align:center!important}
.cms-nav-summary{font-weight:650;color:var(--muted)}
.cms-nav-editor-shell{position:fixed;inset:0;z-index:10000;background:#f0f0f0;color:#1e1e1e;display:flex;flex-direction:column}
.cms-nav-title{text-align:center;font-size:1.05rem;font-weight:800}
.cms-nav-editor-body{display:grid;grid-template-columns:300px 1fr;min-height:0;flex:1;overflow:hidden}
.cms-nav-help{background:#fff;border-right:1px solid #ddd;padding:24px;overflow:auto}
.cms-nav-help h3{margin-top:0}.cms-nav-help p{color:#5f6368;line-height:1.55}
.cms-nav-editor-main{overflow:auto;padding:34px}
#cms-navigation-list{width:min(920px,100%);margin:0 auto;display:grid;gap:8px}
.cms-nav-item{margin-left:calc(var(--nav-depth) * 36px);background:#fff;border:1px solid #d8dadd;border-radius:8px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.cms-nav-item-row{display:flex;align-items:center;gap:8px;min-height:56px;padding:8px 10px}
.cms-nav-item-row .spacer{flex:1}.cms-nav-drag{cursor:grab;font-size:1.25rem;color:#777;letter-spacing:-4px}.cms-nav-type{font-size:.66rem;font-weight:800;letter-spacing:.06em;padding:4px 6px;border-radius:4px;background:#eef2f5;color:#53606b}.cms-nav-child-badge{font-size:.7rem;color:#087ea4;background:#eaf7fb;padding:3px 6px;border-radius:999px}
.cms-nav-item-row button{min-width:32px;height:32px;padding:0 8px}.cms-nav-item-settings{border-top:1px solid #e4e5e7;padding:16px;background:#fbfbfc}.cms-nav-item-settings label{display:block;margin-bottom:12px}
.cms-nav-item-settings input,.cms-nav-item-settings select,.cms-nav-item-settings textarea{width:100%}
@media(max-width:900px){.cms-nav-editor-body{grid-template-columns:1fr}.cms-nav-help{display:none}.cms-nav-editor-main{padding:16px}.cms-nav-item{margin-left:calc(var(--nav-depth) * 16px)}.cms-nav-editor-shell .cms-editor-topbar{grid-template-columns:auto 1fr}.cms-nav-title{display:none}.cms-nav-editor-shell .cms-editor-actions{flex-wrap:wrap}}

/* beta8.68 */
.cms-preview-data-note{text-align:center;font-size:.78rem!important;color:#777!important;margin-top:14px!important}
.cms-nav-audience{border:1px solid var(--line,#ddd);border-radius:10px;padding:12px 14px;margin:12px 0}
.cms-nav-audience legend{font-weight:750;padding:0 6px}

/* beta8.69 block-selection affordance */
.cms-canvas-block:focus{outline:none}
.cms-canvas-block:focus-visible{box-shadow:0 0 0 3px rgba(8,126,164,.24)}
.cms-canvas-block.selected{cursor:default}

/* beta8.73 Reports & Templates */
.report-template-list{display:grid;gap:10px}
.report-template-card{display:flex;justify-content:space-between;gap:16px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--panel)}
.report-template-card>div:first-child{display:flex;flex-direction:column;gap:4px}
.report-template-card small{color:var(--muted)}
.report-template-preview{background:#fff;color:#111;border:1px solid #ddd;border-radius:10px;padding:24px;min-height:420px;overflow:auto}
.report-template-editor code{display:inline-block;margin:3px 4px 3px 0}

/* beta8.77 Report Templates - Email Templates sibling editor */
.report-css-editor{margin:14px 0;border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.report-css-editor summary{cursor:pointer;font-weight:700}
.report-css-editor textarea{margin-top:10px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.report-live-preview iframe{width:100%;height:720px;border:1px solid var(--line);border-radius:8px;background:#e9ecef}

/* beta8.78 report preview modal */
.report-preview-modal{z-index:12000}
.report-preview-card{width:min(1180px,96vw)!important;max-width:none!important;height:min(920px,94vh);display:flex;flex-direction:column;overflow:hidden}
.report-preview-card .modal-title{flex:0 0 auto}
.report-preview-frame-wrap{flex:1;min-height:0;background:#cfd4da;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.report-preview-frame-wrap iframe{display:block;width:100%;height:100%;border:0;background:#dfe3e8}
.report-preview-card .modal-actions{flex:0 0 auto}

/* beta8.79 exact generated PDF preview */
.report-preview-frame-wrap{background:#525659}
.report-preview-frame-wrap iframe{background:#525659}

/* beta8.80 shared WYSIWYG media browser + image sizing */
.rich-image-modal .modal-card{width:min(1180px,96vw);max-width:none}
.rich-image-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;min-height:520px}
.rich-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;max-height:480px;overflow:auto;padding:6px}
.rich-image-grid button{height:150px;padding:7px;display:flex;flex-direction:column;gap:6px;background:var(--panel);border:1px solid var(--line);overflow:hidden}
.rich-image-grid button.active{outline:3px solid var(--accent,#fecb3f)}
.rich-image-grid img{width:100%;height:105px;object-fit:contain;background:#f2f2f2}
.rich-image-grid span{font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}
.rich-image-properties{border-left:1px solid var(--line);padding-left:18px}
.rich-image-selected-preview{height:210px;background:#f1f3f5;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:auto;margin-bottom:14px}
.rich-image-selected-preview img{max-width:100%;max-height:190px;object-fit:contain}
.rich-image-width-row{display:grid;grid-template-columns:1fr 90px auto;gap:8px;align-items:center}
.rich-image-size-presets{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 14px}
.wysiwyg-editor img[data-rich-resizable="1"]{cursor:pointer;outline:1px dashed transparent}
.wysiwyg-editor img[data-rich-resizable="1"]:hover{outline-color:var(--accent,#fecb3f)}
@media(max-width:850px){.rich-image-layout{grid-template-columns:1fr}.rich-image-properties{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:14px}}

/* beta8.81 Gutenberg-like rich image editing */
.rich-image-context-menu{position:fixed;z-index:20000;min-width:210px;background:var(--panel,#fff);border:1px solid var(--line,#ddd);border-radius:10px;box-shadow:0 12px 34px rgba(0,0,0,.22);padding:6px}
.rich-image-context-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:9px 10px;border-radius:7px}
.rich-image-context-menu button:hover{background:rgba(127,127,127,.12)}
.rich-image-context-menu button.danger{color:#b42318}
.rich-image-context-separator{height:1px;background:var(--line,#ddd);margin:5px 2px}
.wysiwyg-editor img[data-rich-resizable="1"]{box-sizing:border-box}
.wysiwyg-editor img[data-rich-resizable="1"]:hover{outline:2px solid var(--accent,#fecb3f);outline-offset:2px}

/* beta8.82 image interaction + email preview modal */
.wysiwyg-editor img{cursor:context-menu}
.wysiwyg-editor img[data-rich-resizable="1"]{user-select:none;-webkit-user-drag:none}

.email-template-preview-card{width:min(1100px,96vw)!important;max-width:none!important;height:min(860px,94vh);display:flex;flex-direction:column;overflow:hidden}
.email-template-preview-envelope{flex:1;min-height:0;border:1px solid var(--line,#ddd);border-radius:10px;overflow:hidden;background:#f5f5f5;display:flex;flex-direction:column}
.email-template-preview-meta{padding:14px 16px;border-bottom:1px solid var(--line,#ddd);background:#fafafa;font-size:.9rem;line-height:1.5}
.email-template-preview-envelope iframe{flex:1;width:100%;border:0;background:#fff}

/* beta8.83 */
.toolbar-separator{width:1px;height:24px;background:var(--line,#ddd);display:inline-block;margin:0 3px}
.rich-image-align-row{display:flex;gap:6px}.rich-image-align-row button.active{background:var(--accent,#fecb3f);color:#111}
.scheduled-maintenance-banner{background:#fff3cd;color:#3d3100;border-bottom:1px solid rgba(0,0,0,.18)}.scheduled-maintenance-banner.severity-info{background:#d9edf7;color:#123d4c}.scheduled-maintenance-banner.severity-critical{background:#f8d7da;color:#5f1118}.scheduled-maintenance-inner{display:flex;gap:12px;align-items:flex-start;padding:12px 18px}.maintenance-icon{font-size:1.25rem}.maintenance-copy{min-width:0}.maintenance-copy>strong{font-size:1rem}.maintenance-window,.maintenance-affected{font-size:.86rem;margin-top:2px}.maintenance-html{margin-top:5px;font-size:.9rem}.maintenance-html p{margin:.25rem 0}.portal-maintenance-banner{position:relative;z-index:40}

/* beta8.91 compliance */
.compliance-stat-grid{margin-bottom:18px}.compliance-status{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;font-size:.78rem;font-weight:800;background:#e9ecef;color:#343a40}.compliance-status.current{background:#dff5e5;color:#176a34}.compliance-status.expiring{background:#fff3cd;color:#755900}.compliance-status.expired{background:#f8d7da;color:#842029}.compliance-status.missing{background:#ece5ff;color:#52358a}.compliance-requirement-form,#compliance-document-form{border:1px solid var(--line,#ddd);border-radius:14px;padding:18px;margin:14px 0;background:var(--panel,#fff)}.compliance-targets-label select{min-height:115px}

.report-filter-panel{margin:0 0 18px;padding:16px;border:1px solid var(--line,#ddd);border-radius:12px;background:var(--panel,#fff)}.report-filter-panel h3{margin-top:0}

/* beta8.99 meeting workflow polish */
.activity-end-controls{margin:14px 0;padding:14px 16px;border:1px solid var(--line,#ddd);border-radius:12px}.activity-end-controls legend{font-weight:800;padding:0 6px}.meeting-details-files{margin-top:20px;padding-top:18px;border-top:1px solid var(--line,#ddd)}.compact-document-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line,#eee)}.compact-document-row small{display:block;color:var(--muted,#68707d);margin-top:3px}.meeting-ai-progress{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:12px 0 18px}.meeting-ai-progress>div{padding:10px;border:1px solid var(--line,#ddd);border-radius:12px;background:var(--panel,#fff);display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center}.meeting-ai-progress span{grid-row:1/3;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e9ecef;font-weight:800}.meeting-ai-progress strong{font-size:.9rem}.meeting-ai-progress small{color:var(--muted,#68707d)}.meeting-ai-progress .active{border-color:var(--accent,#f6bf26)}.meeting-ai-progress .active span,.meeting-ai-progress .done span{background:var(--accent,#f6bf26);color:#111}.meeting-ai-progress .done{background:rgba(0,128,0,.05)}@media(max-width:800px){.meeting-ai-progress{grid-template-columns:1fr}.meeting-ai-progress>div{grid-template-columns:auto 1fr}.compact-document-row{align-items:flex-start;flex-direction:column}}

/* beta8.100 integrated meeting lifecycle */
.integrated-meeting-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.meeting-stream-empty{padding:28px;border:1px dashed var(--line,#ccc);border-radius:14px;text-align:center}.meeting-ai-embedded{border:1px solid var(--line,#ddd);border-radius:16px;background:var(--panel,#fff);overflow:hidden}.meeting-ai-inner{padding:16px}.meeting-ai-embedded .modal-title{position:static;padding:0 0 12px;border-bottom:1px solid var(--line,#eee)}.meeting-ai-embedded .workspace-tabs{position:static}.meeting-ai-embedded [data-meeting-panel]{padding-top:14px}

/* beta8.101 streamlined attendance register */
.attendance-main-toolbar{align-items:flex-start}.attendance-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:10px;margin:14px 0}.attendance-summary-grid>div{padding:12px 14px;border:1px solid var(--line,#ddd);border-radius:12px;background:var(--panel,#fff)}.attendance-summary-grid span{display:block;font-size:.76rem;color:var(--muted,#68707d);text-transform:uppercase;letter-spacing:.04em}.attendance-summary-grid strong{display:block;font-size:1.45rem;margin-top:2px}.attendance-filterbar{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(140px,1fr)) auto;gap:10px;align-items:end;padding:12px;background:rgba(127,127,127,.06);border-radius:12px;margin-bottom:8px}.attendance-filterbar label{margin:0}.attendance-bulkbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 2px 12px;font-size:.88rem}.attendance-register-header,.attendance-register-row{display:grid;grid-template-columns:minmax(210px,1.5fr) minmax(170px,1fr) minmax(150px,.8fr) 90px;gap:12px;align-items:center}.attendance-register-header{padding:8px 12px;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#68707d);font-weight:800;border-bottom:1px solid var(--line,#ddd)}.attendance-register{border:1px solid var(--line,#ddd);border-radius:12px;overflow:hidden;max-height:52vh;overflow-y:auto}.attendance-register-row{padding:9px 12px;border-bottom:1px solid var(--line,#eee);background:var(--panel,#fff)}.attendance-register-row:last-child{border-bottom:0}.attendance-register-row:hover{background:rgba(127,127,127,.045)}.attendance-register-row.not-invited{opacity:.82}.attendance-person strong,.attendance-person small{display:block}.attendance-person small,.attendance-rsvp small{color:var(--muted,#68707d);font-size:.78rem}.attendance-chip{display:inline-flex;padding:3px 8px;border-radius:999px;background:#eceff2;font-size:.76rem;font-weight:700}.attendance-chip.rsvp-attending{background:#dff5e5;color:#176a34}.attendance-chip.rsvp-apology{background:#f8d7da;color:#842029}.attendance-chip.rsvp-maybe{background:#fff3cd;color:#755900}.attendance-status-control select{margin:0}.attendance-note-control button{white-space:nowrap;padding:7px 9px}.attendance-note-control button.has-note{font-weight:800}.attendance-note-editor{grid-column:1/-1;padding:4px 0}.attendance-note-editor input{margin:0}.attendance-sticky-save{position:sticky;bottom:-1px;display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:12px 0 2px;background:linear-gradient(transparent,var(--panel,#fff) 24%)}@media(max-width:900px){.attendance-summary-grid{grid-template-columns:repeat(2,1fr)}.attendance-filterbar{grid-template-columns:1fr 1fr}.attendance-search{grid-column:1/-1}.attendance-register-header{display:none}.attendance-register{max-height:none;border:0}.attendance-register-row{grid-template-columns:1fr auto;border:1px solid var(--line,#ddd);border-radius:12px;margin-bottom:8px}.attendance-rsvp{grid-column:1}.attendance-status-control{grid-column:2;grid-row:1/3}.attendance-note-control{grid-column:2}.attendance-note-editor{grid-column:1/-1}}@media(max-width:560px){.attendance-summary-grid,.attendance-filterbar{grid-template-columns:1fr 1fr}.attendance-register-row{grid-template-columns:1fr}.attendance-status-control,.attendance-note-control,.attendance-rsvp{grid-column:1;grid-row:auto}.attendance-status-control select{width:100%}.attendance-bulkbar span{width:100%}}

.email-delivery-profile-warning{margin:0 0 18px;padding:14px 16px;border:1px solid #e5a000;border-left-width:4px;border-radius:10px;background:#fff8df}.email-delivery-profile-warning p{margin:.35rem 0}.link-button{border:0;background:none;padding:0;text-align:left;text-decoration:underline;cursor:pointer}.muted-row{opacity:.62}.status-badge.danger{background:#f8d7da;color:#842029}.status-badge.warning{background:#fff3cd;color:#755900}

/* beta8.115 members renewal reminder */
.membership-renewal-reminder{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 18px;margin-bottom:14px;border:1px solid var(--line,#ddd);border-left:4px solid var(--accent,#f6bf26);border-radius:12px;background:var(--panel,#fff)}.membership-renewal-reminder>div{display:flex;flex-direction:column;gap:3px}.membership-renewal-reminder span{color:var(--muted,#68707d);font-size:.9rem}.membership-renewal-date{font-size:1.15rem;white-space:nowrap}@media(max-width:650px){.membership-renewal-reminder{align-items:flex-start;flex-direction:column}.membership-renewal-date{font-size:1.05rem}}

/* beta8.116 member compliance portal + review */
.compliance-review-status{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;font-size:.78rem;font-weight:700;background:#eef1f4}.compliance-review-status.pending{background:#fff3cd;color:#755900}.compliance-review-status.accepted{background:#dff5e5;color:#176a34}.compliance-review-status.rejected{background:#f8d7da;color:#842029}.compliance-review-status.missing{background:#eef1f4;color:#58606b}.portal-compliance-requirement{border:1px solid var(--line,#ddd);border-radius:14px;padding:16px;margin:12px 0}.portal-compliance-heading{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.portal-compliance-heading h3{margin:0}.portal-compliance-heading p{margin:.3rem 0;color:var(--muted,#68707d)}.portal-compliance-upload{margin:14px 0;padding:14px;background:rgba(127,127,127,.045);border-radius:12px}.portal-compliance-history h4{margin-bottom:8px}.portal-compliance-document{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line,#eee)}.portal-compliance-document>div{display:flex;flex-direction:column;gap:4px}.portal-compliance-document span,.portal-compliance-document small{color:var(--muted,#68707d)}@media(max-width:650px){.portal-compliance-heading,.portal-compliance-document{flex-direction:column}.portal-compliance-document .button{width:100%;text-align:center}}

/* beta8.118 Document Templates */
.document-template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:14px}.document-template-card{border:1px solid var(--line,#ddd);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px;background:var(--panel,#fff)}.document-template-card.disabled{opacity:.7}.document-template-card-head{display:flex;align-items:center;gap:10px}.document-template-card-head>div:nth-child(2){display:flex;flex-direction:column;flex:1}.document-template-card-head span{font-size:.82rem;color:var(--muted,#68707d)}.document-template-fields{display:flex;gap:8px;flex-wrap:wrap}.document-template-fields>span{background:rgba(127,127,127,.09);padding:4px 8px;border-radius:999px;font-size:.8rem}.document-template-output{display:flex;flex-direction:column;gap:4px}.document-template-output code{white-space:normal;overflow-wrap:anywhere;padding:7px 9px;background:rgba(127,127,127,.08);border-radius:8px}.document-template-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto}.doc-template-variable-browser{border:1px solid var(--line,#ddd);border-radius:12px;overflow:hidden}.doc-template-variable-search{padding:10px;background:rgba(127,127,127,.04)}.doc-template-variable-search input{width:100%}.doc-template-variable-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0}.doc-template-variable-group{padding:12px;border-top:1px solid var(--line,#eee)}.doc-template-variable-group h4{margin:.2rem 0 .65rem}.doc-template-variable-group button{width:100%;display:grid;grid-template-columns:1fr;gap:4px;text-align:left;margin:5px 0;padding:9px;border:1px solid transparent;background:transparent;border-radius:9px}.doc-template-variable-group button:not(:disabled):hover{background:rgba(127,127,127,.08);border-color:var(--line,#ddd)}.doc-template-variable-group button span{display:flex;flex-direction:column}.doc-template-variable-group button small{color:var(--muted,#68707d)}.doc-template-variable-group button code{font-size:.75rem;overflow-wrap:anywhere}.doc-template-variable-group button em{font-size:.72rem;color:var(--muted,#68707d);font-style:normal}.doc-template-variable-group button.coming-soon{opacity:.55}.doc-template-variable-browser.compact .doc-template-variable-groups{grid-template-columns:1fr}.doc-field-row{display:flex;flex-direction:column;gap:3px;padding:9px 0;border-bottom:1px solid var(--line,#eee)}.office-editor-layout{display:flex;min-height:0;flex:1}.office-editor-layout .office-editor-shell{flex:1;min-width:0}.office-variable-drawer{width:360px;max-width:35vw;border-left:1px solid var(--line,#ddd);background:var(--panel,#fff);overflow:auto;padding:10px}.office-variable-drawer>.toolbar{align-items:flex-start}.office-variable-drawer>.toolbar>div{display:flex;flex-direction:column}.office-variable-drawer[hidden]{display:none!important}@media(max-width:850px){.office-variable-drawer{position:absolute;right:0;top:0;bottom:0;width:min(92vw,390px);max-width:none;z-index:15;box-shadow:-10px 0 30px rgba(0,0,0,.18)}.document-template-grid{grid-template-columns:1fr}}

/* beta8.121 document-template action feedback */
.button-spinner{display:inline-block;width:.85em;height:.85em;margin-right:.45em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-.08em;animation:doc-template-spin .7s linear infinite}
@keyframes doc-template-spin{to{transform:rotate(360deg)}}
.document-template-actions button:disabled{cursor:wait;opacity:.72}

/* beta8.125 responsive view transitions + resolved template fields */
.view-loading-shell{display:flex;align-items:center;gap:14px;padding:22px;border:1px solid var(--line,#ddd);border-radius:14px;background:var(--panel,#fff);min-height:82px}
.view-loading-shell>div:last-child{display:flex;flex-direction:column;gap:3px}.view-loading-shell span{color:var(--muted,#68707d);font-size:.9rem}
.view-loading-spinner{width:22px;height:22px;border:3px solid rgba(127,127,127,.25);border-right-color:currentColor;border-radius:50%;animation:view-spin .75s linear infinite}
@keyframes view-spin{to{transform:rotate(360deg)}}
.view-loading-skeleton{display:grid;gap:12px;margin-top:14px}.view-loading-skeleton div{height:88px;border-radius:12px;background:linear-gradient(90deg,rgba(127,127,127,.06),rgba(127,127,127,.13),rgba(127,127,127,.06));background-size:200% 100%;animation:view-shimmer 1.2s linear infinite}
@keyframes view-shimmer{to{background-position:-200% 0}}
.doc-field-resolved{font-size:.84rem;color:var(--muted,#68707d)}
.doc-template-resolved-preview{margin:0 0 14px;padding:10px 12px;border:1px solid var(--line,#ddd);border-radius:10px;background:rgba(127,127,127,.035)}
.doc-template-resolved-preview summary{cursor:pointer;font-weight:700}.doc-template-resolved-preview>div{display:grid;grid-template-columns:minmax(180px,1fr) 2fr;gap:12px;padding:6px 0;border-top:1px solid var(--line,#eee)}
.doc-template-resolved-preview>div:first-of-type{margin-top:8px}.doc-template-resolved-preview code{overflow-wrap:anywhere}.doc-template-resolved-preview span{font-weight:600}
@media(max-width:650px){.doc-template-resolved-preview>div{grid-template-columns:1fr}}

/* beta8.130 document generation progress */
.doc-generate-progress{display:flex;flex-direction:column;gap:3px;margin:14px 0 4px;padding:12px 14px;border:1px solid var(--line,#ddd);border-radius:10px;background:rgba(127,127,127,.04)}
.doc-generate-progress span{font-size:.9rem;color:var(--muted,#68707d)}
.doc-generate-progress.error{border-color:#d33;background:rgba(220,40,40,.06)}

/* beta8.132 in-place update check result */
.update-check-result{margin:10px 0;padding:12px 14px;border-radius:10px}
.update-check-result p{margin:.35rem 0 0}

.document-template-folder-list{display:grid;gap:10px;margin:8px 0 18px}
.document-template-folder-choice{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;text-align:left;padding:14px 16px;border:1px solid var(--border,#ddd);border-radius:12px;background:var(--panel,#fff);width:100%}
.document-template-folder-choice:hover{background:var(--soft,#f7f7f7)}
.document-template-folder-choice strong,.document-template-folder-choice small{display:block}
.document-template-folder-choice small{margin-top:3px;opacity:.7}

#mail-account-form [data-mail-display-preview]{display:block;margin-top:4px;font-size:1.05rem}.file-acl-row small,.mail-template-help{display:block}

.mailbox-template-value{display:block;margin-top:3px;max-width:360px;overflow-wrap:anywhere}
.mailbox-edit-form{margin-top:22px;padding:18px;border:1px solid var(--border,#ddd);border-radius:14px}
tr.editing-row{outline:2px solid color-mix(in srgb,currentColor 14%,transparent);outline-offset:-2px}

.mail-template-token-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.mail-template-token{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem;padding:6px 9px;border-radius:8px}

.template-attachment-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.7fr);gap:16px;align-items:end;margin-top:12px}
.template-attachment-existing{display:flex;flex-direction:column;gap:7px}
.attachment-chip .attachment-source{display:block;opacity:.72;margin-top:2px}
.email-template-file-picker{max-height:min(86vh,900px);overflow:auto}
.email-file-picker-breadcrumbs{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:8px 0 14px}
.email-file-picker-breadcrumbs button{border:0;background:transparent;padding:3px 5px;text-decoration:underline;cursor:pointer}
.email-file-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;min-height:180px}
.email-file-picker-item{display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;padding:16px;min-height:112px}
.email-file-picker-item>span{font-size:1.8rem}.email-file-picker-item small{opacity:.72}
@media(max-width:760px){.template-attachment-actions{grid-template-columns:1fr}}

.doc-template-named-prompt-builder{border:1px solid var(--border,#d9dee7);border-radius:12px;padding:14px;margin:10px 0 18px;background:rgba(255,255,255,.55)}
.doc-template-named-prompt-builder>div:first-child{display:flex;flex-direction:column;gap:3px;margin-bottom:10px}
.doc-template-named-prompt-grid{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:10px}
.doc-template-named-prompt-grid label{display:flex;flex-direction:column;gap:5px;font-size:.88rem;font-weight:600}
.doc-template-named-prompt-grid input{width:100%}
.doc-template-named-prompt-output{display:grid;gap:8px;margin-top:12px}
.doc-template-named-prompt-output>div{display:grid;grid-template-columns:95px 1fr auto;align-items:center;gap:8px}
.doc-template-named-prompt-output code{padding:8px 10px;background:var(--code-bg,#f4f5f7);border-radius:7px;overflow-wrap:anywhere}
.doc-template-reuse-shortcut{margin-top:-4px!important;border-top-style:dashed!important}
.doc-template-reuse-shortcut strong{font-size:.88rem}
@media(max-width:900px){.doc-template-named-prompt-grid{grid-template-columns:1fr}.doc-template-named-prompt-output>div{grid-template-columns:1fr}.doc-template-named-prompt-output>div>span{font-weight:600}}

/* beta8.159 — full-width Template Fields panel above ONLYOFFICE */
.office-variable-panel{flex:0 0 auto;border:1px solid var(--line,#d8dde2);border-radius:12px;background:var(--panel,#fff);margin:0 0 10px;overflow:hidden;max-height:min(46vh,480px);display:flex;flex-direction:column;box-shadow:0 5px 18px rgba(0,0,0,.05)}
.office-variable-panel[hidden]{display:none!important}
.office-variable-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 14px;border-bottom:1px solid var(--line,#e3e6ea);flex:0 0 auto}
.office-variable-panel-head>div:first-child{display:flex;flex-direction:column;gap:2px}
.office-variable-panel-head>div:last-child{display:flex;gap:7px;align-items:center}
.office-variable-panel-body{padding:12px 14px 16px;overflow:auto;min-height:0}
.office-variable-panel.collapsed{max-height:none}
.office-variable-panel.collapsed .office-variable-panel-body{display:none}
.office-variable-panel.collapsed .office-variable-panel-head{border-bottom:0}

/* In the wide panel, let the named prompt builder use the available width properly. */
.office-variable-panel .doc-template-variable-browser{display:block}
.office-variable-panel .doc-template-variable-search{margin-bottom:10px}
.office-variable-panel .doc-template-variable-search input{width:100%}
.office-variable-panel .doc-template-named-prompt-builder{margin:0 0 14px;padding:13px 14px}
.office-variable-panel .doc-template-named-prompt-grid{grid-template-columns:minmax(170px,.8fr) minmax(260px,1.4fr) minmax(170px,.8fr)}
.office-variable-panel .doc-template-named-prompt-output{grid-template-columns:1fr 1fr;gap:12px}
.office-variable-panel .doc-template-named-prompt-output>div{grid-template-columns:90px minmax(0,1fr) auto}
.office-variable-panel .doc-template-named-prompt-output code{white-space:normal;word-break:break-word;overflow-wrap:anywhere}

/* Field library becomes horizontal cards instead of one long narrow stack. */
.office-variable-panel .doc-template-variable-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px;align-items:start}
.office-variable-panel .doc-template-variable-group{border:1px solid var(--line,#e1e4e8);border-radius:10px;padding:9px;background:rgba(127,127,127,.025)}
.office-variable-panel .doc-template-variable-group h4{margin:2px 4px 8px}
.office-variable-panel .doc-template-variable-group button{width:100%}

/* Editor always keeps full width; opening fields now consumes vertical, not horizontal, space. */
.office-editor-layout{display:flex;min-height:0;flex:1}
.office-editor-layout .office-editor-shell{flex:1;min-width:0}

/* Legacy drawer is intentionally no longer used in the editor. */
.office-variable-drawer{display:none!important}

@media(max-width:950px){
 .office-variable-panel{max-height:min(55vh,520px)}
 .office-variable-panel .doc-template-named-prompt-grid{grid-template-columns:1fr}
 .office-variable-panel .doc-template-named-prompt-output{grid-template-columns:1fr}
 .office-variable-panel .doc-template-variable-groups{grid-template-columns:1fr}
}

/* beta8.160: native ONLYOFFICE context menu is now the primary quick field insertion UI. */
.office-editor-toolbar #office-template-variables{white-space:nowrap}


/* v9.0.0-beta8.263 — Create from Template form polish */
.document-template-create-modal{
  width:min(940px,calc(100vw - 32px));
  max-height:min(92vh,980px);
}
.document-template-create-modal .modal-title{
  padding-bottom:18px;
  margin-bottom:6px;
  border-bottom:1px solid var(--border,#e4e7eb);
}
.document-template-create-modal .modal-title h2{
  margin-bottom:6px;
}
.document-template-create-modal .doc-template-resolved-preview{
  margin:14px 0 18px;
  border:1px solid var(--border,#dde2e8);
  border-radius:12px;
  background:var(--surface-soft,#fafbfc);
}
.document-template-create-modal .doc-template-section{
  margin:0 0 18px;
  padding:20px;
  border:1px solid var(--border,#dde2e8);
  border-radius:14px;
  background:var(--surface,#fff);
}
.document-template-create-modal .doc-template-section legend{
  padding:0 8px;
  margin-left:-2px;
  font-size:15px;
  font-weight:700;
  color:var(--text,#202124);
}
.document-template-create-modal .doc-template-section-intro{
  margin:0 0 18px;
  color:var(--muted,#687386);
  font-size:13px;
  line-height:1.5;
}
.document-template-create-modal .doc-template-form-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px 14px;
  align-items:start;
}
.document-template-create-modal .doc-template-field{
  display:flex;
  flex-direction:column;
  gap:7px;
  min-width:0;
  margin:0;
}
.document-template-create-modal .doc-template-field-label{
  display:flex;
  align-items:flex-start;
  min-height:40px;
  font-size:14px;
  line-height:1.35;
  font-weight:650;
  color:var(--text,#202124);
}
.document-template-create-modal .required-mark{
  margin-left:3px;
  color:#b42318;
  font-weight:700;
}
.document-template-create-modal .doc-template-field input,
.document-template-create-modal .doc-template-field select,
.document-template-create-modal .doc-template-field textarea{
  width:100%;
  min-height:46px;
  margin:0;
  box-sizing:border-box;
  border-radius:10px;
}
.document-template-create-modal .doc-template-field textarea{
  min-height:96px;
  resize:vertical;
}
.document-template-create-modal .doc-template-field input:focus,
.document-template-create-modal .doc-template-field select:focus,
.document-template-create-modal .doc-template-field textarea:focus{
  outline:none;
  box-shadow:0 0 0 3px rgba(254,203,63,.18);
}
.document-template-create-modal .doc-template-field-hint{
  display:block;
  min-height:31px;
  color:var(--muted,#6b7280);
  font-size:12px;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.document-template-create-modal .doc-template-field-hint code{
  font-size:11px;
  white-space:normal;
}
.document-template-create-modal .doc-template-save-section{
  background:var(--surface-soft,#fafbfc);
}
.document-template-create-modal .doc-template-save-grid{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);
  gap:14px;
}
.document-template-create-modal .doc-template-save-grid .doc-template-field-label{
  min-height:auto;
}
.document-template-create-modal .modal-actions{
  position:sticky;
  bottom:-1px;
  z-index:5;
  margin:6px -2px -2px;
  padding:14px 2px 2px;
  background:linear-gradient(to bottom,rgba(255,255,255,0),var(--surface,#fff) 28%);
}
@media (max-width:900px){
  .document-template-create-modal .doc-template-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:650px){
  .document-template-create-modal{width:calc(100vw - 16px);}
  .document-template-create-modal .doc-template-section{padding:16px;}
  .document-template-create-modal .doc-template-form-grid,
  .document-template-create-modal .doc-template-save-grid{grid-template-columns:1fr;}
  .document-template-create-modal .doc-template-field-label{min-height:auto;}
}


/* v9.0.0-beta8.263 — compact right-click Create from Template */
.document-template-create-modal form[data-compact-from-folder="1"] .doc-template-section{
  margin-bottom:16px;
}
.document-template-create-modal form[data-compact-from-folder="1"] .doc-template-field{
  gap:7px;
}
.document-template-create-modal form[data-compact-from-folder="1"] .doc-template-field-hint{
  min-height:0;
}

/* beta8.186 — compact governance/mail access summary on member portal */
.executive-access-panel{padding:18px 20px;margin-top:14px}
.executive-access-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.executive-access-head h2{margin:2px 0 0;font-size:1.15rem}
.executive-access-eyebrow{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;opacity:.72}
.executive-access-grid{display:grid;gap:10px}
.executive-access-role{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(260px,1.4fr);gap:18px;align-items:center;padding:12px 14px;border:1px solid var(--border,#ddd);border-radius:12px;background:rgba(255,255,255,.5)}
.executive-access-role>div:first-child{display:flex;flex-direction:column;gap:3px}
.executive-access-role strong{font-size:1rem}
.executive-access-role small{opacity:.7}
.executive-access-mail{display:grid;grid-template-columns:auto 1fr auto;gap:6px 12px;align-items:center}
.executive-access-mail span{font-size:.78rem;opacity:.7}
.executive-access-mail b{font-size:.92rem;overflow-wrap:anywhere}
.executive-access-mail em{font-size:.78rem;font-style:normal;opacity:.7}
.executive-access-mail .executive-access-ok{font-weight:700;opacity:1}
@media(max-width:760px){
 .executive-access-head{align-items:flex-start;flex-direction:column}
 .executive-access-role{grid-template-columns:1fr}
 .executive-access-mail{grid-template-columns:1fr}
}

/* beta8.187 — executive role/mail summary in profile */
.profile-executive-access{margin:18px 0;padding:14px 16px;border:1px solid var(--border,#ddd);border-radius:12px;background:rgba(255,255,255,.55)}
.profile-executive-title{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.profile-executive-title>span{font-size:1.25rem}
.profile-executive-title>div{display:flex;flex-direction:column}
.profile-executive-title small{opacity:.65}
.profile-executive-roles{display:grid;gap:8px}
.profile-executive-role{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(260px,1.2fr);gap:14px;padding:10px 12px;border-radius:10px;background:rgba(0,0,0,.025)}
.profile-executive-role>div{display:flex;flex-direction:column;gap:2px}
.profile-executive-role span{font-size:.75rem;opacity:.65}
.profile-executive-role small{opacity:.68}
@media(max-width:760px){.profile-executive-role{grid-template-columns:1fr}}

/* beta8.188 — polished modal surfaces, close buttons and navigation chevrons */

/* Consistent chevron icon drawn in CSS so it follows theme colour automatically. */
.chevron-icon{
 display:inline-block;
 width:8px;
 height:8px;
 border-right:2px solid currentColor;
 border-bottom:2px solid currentColor;
 transform:rotate(45deg);
 transform-origin:50% 50%;
 transition:transform .18s ease,opacity .18s ease;
 opacity:.78;
}
.profile-chevron{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 width:20px;
 height:20px;
 margin-left:2px;
 color:inherit;
}
.topbar-profile[aria-expanded="true"] .profile-chevron .chevron-icon,
.topbar-profile.is-open .profile-chevron .chevron-icon{
 transform:rotate(225deg);
}
.nav-chevron{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 width:22px;
 height:22px;
 margin-left:auto;
 opacity:.8;
}
.nav-group[open]>.nav-chevron .chevron-icon,
.nav-group[open]>summary .nav-chevron .chevron-icon{
 transform:rotate(225deg);
}

/* Theme-aware dialog treatment shared by overlays/modals/popovers. */
.modal-card,
.mail-compose-modal form,
.topbar-popover,
.question-dialog,
.app-dialog,
[role="dialog"]>.panel,
.dialog-card{
 border:1px solid color-mix(in srgb,var(--accent,#d8a900) 24%,var(--border,#d9dde5));
 border-radius:18px;
 background:color-mix(in srgb,var(--panel,#fff) 96%,transparent);
 box-shadow:0 22px 70px rgba(15,20,30,.22),0 4px 18px rgba(15,20,30,.10);
 backdrop-filter:blur(10px);
 overflow:hidden;
}

/* Header areas inside dialogs feel lighter and more deliberate. */
.modal-card>.toolbar:first-child,
.modal-card>.modal-head:first-child,
.question-dialog>.question-head:first-child,
.topbar-popover>.popover-head,
.mail-compose-title{
 padding:16px 18px;
 border-bottom:1px solid color-mix(in srgb,var(--border,#ddd) 78%,transparent);
 background:linear-gradient(
   180deg,
   color-mix(in srgb,var(--accent,#fecb3f) 8%,var(--panel,#fff)),
   color-mix(in srgb,var(--panel,#fff) 98%,transparent)
 );
}

/* Modern compact close button used throughout dialog surfaces. */
.dialog-close{
 appearance:none;
 border:1px solid color-mix(in srgb,var(--border,#d9dde5) 88%,transparent)!important;
 background:color-mix(in srgb,var(--panel,#fff) 92%,var(--accent,#fecb3f) 8%)!important;
 color:var(--text,#222)!important;
 width:36px;
 height:36px;
 min-width:36px;
 padding:0!important;
 border-radius:10px!important;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 box-shadow:none!important;
 transition:background .16s ease,border-color .16s ease,transform .16s ease;
}
.dialog-close:hover{
 background:color-mix(in srgb,var(--accent,#fecb3f) 16%,var(--panel,#fff))!important;
 border-color:color-mix(in srgb,var(--accent,#fecb3f) 52%,var(--border,#d9dde5))!important;
 transform:translateY(-1px);
}
.dialog-close:active{transform:translateY(0)}
.dialog-close span{
 position:relative;
 width:14px;
 height:14px;
 display:block;
}
.dialog-close span::before,
.dialog-close span::after{
 content:"";
 position:absolute;
 left:6px;
 top:0;
 width:2px;
 height:14px;
 border-radius:2px;
 background:currentColor;
}
.dialog-close span::before{transform:rotate(45deg)}
.dialog-close span::after{transform:rotate(-45deg)}

/* Preserve comfortable internal spacing on common modal bodies. */
.modal-card>.modal-body,
.question-dialog>.question-body,
.app-dialog>.dialog-body{
 padding:18px 20px;
}

/* Slightly softer footer/action strip. */
.modal-card>.modal-actions,
.question-dialog>.question-actions,
.app-dialog>.dialog-actions,
.topbar-popover>.popover-foot{
 padding:12px 16px;
 border-top:1px solid color-mix(in srgb,var(--border,#ddd) 78%,transparent);
 background:color-mix(in srgb,var(--panel,#fff) 96%,var(--accent,#fecb3f) 4%);
}

/* Dropdown indicator consistency in native selects where supported. */
select{
 background-position:right 12px center;
 background-repeat:no-repeat;
}

/* Sidebar arrows align visually with profile dropdown. */
.nav-group summary{
 gap:8px;
}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary::marker{content:""}

/* beta8.189 — true window-style dialog chrome and persistent action footer */
.modal-backdrop{
 padding:12px 16px!important;
 align-items:center;
}
.modal-card.dialog-shell{
 padding:0!important;
 overflow:hidden!important;
 max-height:calc(100dvh - 24px)!important;
 display:flex;
 flex-direction:column;
}
.dialog-window-title,
.modal-card>.modal-title:first-child{
 flex:0 0 auto;
 margin:0!important;
 padding:12px 14px 10px!important;
 min-height:58px;
 border-bottom:1px solid color-mix(in srgb,var(--border,#ddd) 78%,transparent);
 background:linear-gradient(180deg,color-mix(in srgb,var(--accent,#fecb3f) 7%,var(--panel,#fff)),var(--panel,#fff));
}
.dialog-window-title h2,
.modal-card>.modal-title:first-child h2,
.modal-card>.modal-title:first-child h3{
 margin:0!important;
 line-height:1.15;
}
.dialog-window-title p,
.modal-card>.modal-title:first-child p{
 margin:4px 0 0!important;
}
.dialog-window-title .dialog-close,
.modal-card>.modal-title:first-child .dialog-close{
 align-self:flex-start;
 margin:-2px -2px 0 12px;
}
.dialog-form{
 min-height:0;
 display:flex;
 flex:1 1 auto;
 flex-direction:column;
 overflow:hidden;
}
.dialog-scroll-body{
 min-height:0;
 flex:1 1 auto;
 overflow:auto;
 padding:16px 20px 18px;
 scrollbar-gutter:stable;
}
.dialog-sticky-actions{
 flex:0 0 auto;
 position:relative;
 z-index:3;
 margin:0!important;
 padding:12px 16px!important;
 border-top:1px solid color-mix(in srgb,var(--border,#ddd) 82%,transparent);
 background:color-mix(in srgb,var(--panel,#fff) 96%,var(--accent,#fecb3f) 4%);
 box-shadow:0 -8px 24px rgba(15,20,30,.06);
}
/* Generic long dialogs: don't let action rows be clipped by an overflowing card. */
.modal-card.scroll-modal:not(.dialog-shell){
 padding-top:14px;
 padding-bottom:14px;
}
/* Window chrome is intentionally compact across modal-card dialogs. */
.modal-card>.modal-title:first-child{
 position:sticky;
 top:0;
 z-index:5;
 margin:-14px -14px 12px!important;
 padding-left:14px!important;
 padding-right:14px!important;
}
@media(max-width:600px){
 .modal-backdrop{padding:6px!important}
 .modal-card.dialog-shell{max-height:calc(100dvh - 12px)!important}
 .dialog-scroll-body{padding:14px}
 .dialog-window-title,.modal-card>.modal-title:first-child{padding:10px 12px 9px!important}
}


/* beta8.190 — themed dialog window chrome */
.modal-card.dialog-shell > .dialog-window-title,
.modal-card > .modal-title:first-child{
  background:var(--accent,var(--gold,#fecb3f))!important;
  color:#111!important;
  border-bottom-color:color-mix(in srgb,#111 18%,transparent)!important;
}

/* Give the window title/close control deliberate breathing room from both edges. */
.modal-card.dialog-shell > .dialog-window-title,
.modal-card > .modal-title:first-child{
  padding-left:20px!important;
  padding-right:20px!important;
}
.modal-card.dialog-shell > .dialog-window-title .dialog-close,
.modal-card > .modal-title:first-child .dialog-close{
  margin-right:0!important;
}

/* The persistent dialog action bar uses the same primary/theme colour. */
.dialog-sticky-actions{
  background:var(--accent,var(--gold,#fecb3f))!important;
  border-top-color:color-mix(in srgb,#111 18%,transparent)!important;
  box-shadow:0 -8px 24px rgba(15,20,30,.08);
}

/* Preserve legibility of title metadata on the primary-colour header. */
.modal-card.dialog-shell > .dialog-window-title .muted,
.modal-card > .modal-title:first-child .muted{
  color:color-mix(in srgb,#111 70%,transparent)!important;
}

@media(max-width:600px){
  .modal-card.dialog-shell > .dialog-window-title,
  .modal-card > .modal-title:first-child{
    padding-left:16px!important;
    padding-right:16px!important;
  }
}


/* beta8.191 — restore safe system-wide dialog behaviour.
   Only explicit .dialog-shell windows get the locked header/body/footer layout. */

/* Generic modal cards must remain naturally scrollable and must NOT inherit
   fixed-window constraints intended for My Profile. */
.modal-card:not(.dialog-shell){
  display:block!important;
  width:min(900px,calc(100vw - 32px));
  max-height:calc(100dvh - 32px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:18px 20px 20px!important;
  background:var(--panel,#fff)!important;
  border-radius:16px!important;
}

/* Restore normal content flow for generic dialog forms and bodies. */
.modal-card:not(.dialog-shell) form,
.modal-card:not(.dialog-shell) .modal-body,
.modal-card:not(.dialog-shell) .dialog-body{
  display:block!important;
  min-height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}

/* Generic dialog titles remain visible and themed, but do not create
   their own locked scrolling region. */
.modal-card:not(.dialog-shell)>.modal-title:first-child{
  position:sticky!important;
  top:-18px!important;
  z-index:8!important;
  margin:-18px -20px 14px!important;
  padding:12px 20px 11px!important;
  background:var(--accent,var(--gold,#fecb3f))!important;
  color:#111!important;
  border-bottom:1px solid color-mix(in srgb,#111 18%,transparent)!important;
}

/* Restore usable bottom actions in generic dialogs.
   Sticky when they are the actual footer, otherwise normal flow. */
.modal-card:not(.dialog-shell)>.modal-actions:last-child,
.modal-card:not(.dialog-shell)>form>.modal-actions:last-child{
  position:sticky!important;
  bottom:-20px!important;
  z-index:8!important;
  margin:18px -20px -20px!important;
  padding:12px 20px!important;
  background:var(--accent,var(--gold,#fecb3f))!important;
  border-top:1px solid color-mix(in srgb,#111 18%,transparent)!important;
  box-shadow:0 -8px 20px rgba(15,20,30,.08);
}

/* Nested/internal action rows should remain ordinary rows and never lock layout. */
.modal-card:not(.dialog-shell) .modal-actions:not(:last-child){
  position:static!important;
  margin-top:16px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* Remove generic overflow constraints introduced by the earlier dialog polish
   from non-windowed dialog variants. */
.modal-card:not(.dialog-shell).scroll-modal{
  overflow-y:auto!important;
  max-height:calc(100dvh - 32px)!important;
}
.modal-card:not(.dialog-shell).wide{
  width:min(980px,calc(100vw - 32px))!important;
}
.modal-card:not(.dialog-shell).extra-wide{
  width:min(1500px,calc(100vw - 32px))!important;
}

/* Legacy .modal dialogs keep their original freely-scrollable behaviour. */
.modal>div:not(.dialog-shell){
  max-height:calc(100dvh - 40px)!important;
  overflow:auto!important;
}

/* Popovers are not dialogs; do not let dialog-window rules constrain them. */
.topbar-popover{
  overflow:hidden;
}
.topbar-popover .popover-list{
  overflow:auto;
}

/* Keep explicit windowed dialogs (currently My Profile) on the improved model. */
.modal-card.dialog-shell{
  max-height:calc(100dvh - 24px)!important;
  overflow:hidden!important;
}

/* Mobile: generic dialogs remain usable full-width sheets with scrolling. */
@media(max-width:700px){
  .modal-backdrop{padding:8px!important}
  .modal-card:not(.dialog-shell){
    width:calc(100vw - 16px)!important;
    max-height:calc(100dvh - 16px)!important;
    padding:14px!important;
  }
  .modal-card:not(.dialog-shell)>.modal-title:first-child{
    top:-14px!important;
    margin:-14px -14px 12px!important;
    padding:11px 14px 10px!important;
  }
  .modal-card:not(.dialog-shell)>.modal-actions:last-child,
  .modal-card:not(.dialog-shell)>form>.modal-actions:last-child{
    bottom:-14px!important;
    margin:16px -14px -14px!important;
    padding:11px 14px!important;
  }
}


/* beta8.192 — Executive Mail composer becomes a proper themed dialog window */
.mail-compose-modal{
 position:fixed!important;
 inset:0!important;
 z-index:20000!important;
 width:auto!important;
 height:auto!important;
 max-width:none!important;
 max-height:none!important;
 right:auto!important;
 bottom:auto!important;
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
 padding:18px!important;
 background:rgba(0,0,0,.45)!important;
 border:0!important;
 border-radius:0!important;
 box-shadow:none!important;
 overflow:hidden!important;
 backdrop-filter:none!important;
}
#mail-compose-form.mail-compose-window{
 position:relative;
 width:min(820px,calc(100vw - 36px))!important;
 height:min(820px,calc(100dvh - 36px))!important;
 max-height:calc(100dvh - 36px)!important;
 display:flex!important;
 flex-direction:column!important;
 min-height:0!important;
 padding:0!important;
 margin:0!important;
 overflow:hidden!important;
 border:1px solid color-mix(in srgb,var(--accent,var(--gold,#fecb3f)) 30%,var(--line,#ddd))!important;
 border-radius:18px!important;
 background:var(--panel,#fff)!important;
 box-shadow:0 24px 80px rgba(10,15,25,.34)!important;
}
#mail-compose-form>.mail-compose-title{
 flex:0 0 auto!important;
 display:flex!important;
 align-items:center!important;
 justify-content:space-between!important;
 gap:16px!important;
 min-height:64px;
 margin:0!important;
 padding:10px 18px!important;
 background:var(--accent,var(--gold,#fecb3f))!important;
 color:#111!important;
 border-bottom:1px solid color-mix(in srgb,#111 18%,transparent)!important;
}
.mail-compose-heading{display:flex;flex-direction:column;min-width:0}
.mail-compose-heading strong{font-size:1.15rem;line-height:1.2}
.mail-compose-heading small{margin-top:3px;color:color-mix(in srgb,#111 70%,transparent)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mail-compose-title-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.mail-compose-title-actions .mail-contacts-button{
 display:inline-flex!important;
 align-items:center;
 gap:6px;
 min-height:36px;
 padding:7px 11px!important;
 border:1px solid color-mix(in srgb,#111 18%,transparent)!important;
 border-radius:10px!important;
 background:color-mix(in srgb,var(--panel,#fff) 86%,transparent)!important;
 color:#111!important;
 font-size:.86rem!important;
}
.mail-compose-title-actions .mail-contacts-button:hover{background:var(--panel,#fff)!important}
.mail-compose-title-actions .dialog-close{
 color:#111!important;
 background:color-mix(in srgb,var(--panel,#fff) 88%,transparent)!important;
 border-color:color-mix(in srgb,#111 18%,transparent)!important;
}
#mail-compose-form>.mail-compose-scroll-body{
 flex:1 1 auto!important;
 min-height:0!important;
 overflow-y:auto!important;
 overflow-x:hidden!important;
 overscroll-behavior:contain;
 scrollbar-gutter:stable;
 background:var(--panel,#fff);
}
.mail-compose-scroll-body>.mail-recipient-line,
.mail-compose-scroll-body>.mail-more-recipients,
.mail-compose-scroll-body>.mail-compose-subject,
.mail-compose-scroll-body>.mail-editor-toolbar,
.mail-compose-scroll-body>.compose-signature-preview,
.mail-compose-scroll-body>input[type="file"]{flex:0 0 auto}
.mail-compose-scroll-body>#mail-compose-editor{
 min-height:280px!important;
 height:auto!important;
 overflow:visible!important;
}
.mail-compose-scroll-body>input[type="file"]{
 display:block;
 width:100%;
 padding:12px 14px!important;
 border:0!important;
 border-top:1px solid var(--line,#ddd)!important;
 background:var(--panel,#fff);
}
#mail-compose-form>.mail-compose-footer{
 flex:0 0 auto!important;
 display:flex!important;
 align-items:center!important;
 justify-content:space-between!important;
 gap:12px!important;
 min-height:62px;
 margin:0!important;
 padding:10px 16px!important;
 background:var(--accent,var(--gold,#fecb3f))!important;
 border-top:1px solid color-mix(in srgb,#111 18%,transparent)!important;
 box-shadow:0 -8px 22px rgba(10,15,25,.07);
}
#mail-compose-form>.mail-compose-footer #mail-compose-status{color:color-mix(in srgb,#111 70%,transparent)!important}
#mail-compose-form>.mail-compose-footer>div{display:flex;gap:8px;align-items:center;justify-content:flex-end}
#mail-compose-form>.mail-compose-footer button{min-height:38px}

/* Address book opens above the composer without being clipped by its form. */
#mail-compose-modal>#mail-compose-picker-root{position:static}
#mail-compose-modal .mail-picker{
 z-index:20040!important;
 top:50%!important;
 left:50%!important;
 right:auto!important;
 bottom:auto!important;
 transform:translate(-50%,-50%)!important;
 width:min(520px,calc(100vw - 48px))!important;
 max-height:min(680px,calc(100dvh - 64px))!important;
}

/* Compose fields use normal document flow: expanding CC/BCC/signatures/attachments
   increases the scrollable body rather than pushing the header/footer off screen. */
.mail-compose-scroll-body .mail-more-recipients[open]{display:block}
.mail-compose-scroll-body .compose-signature-preview{max-height:none!important;overflow:visible!important}

@media(max-width:700px){
 .mail-compose-modal{padding:0!important}
 #mail-compose-form.mail-compose-window{
   width:100vw!important;
   height:100dvh!important;
   max-height:100dvh!important;
   border-radius:0!important;
   border:0!important;
 }
 #mail-compose-form>.mail-compose-title{padding:9px 12px!important}
 .mail-compose-title-actions .mail-contacts-button{padding:7px 9px!important}
 #mail-compose-form>.mail-compose-footer{padding:9px 12px!important}
}


/* beta8.199 — Compliance summary cards */
.compliance-summary-cards{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:0 0 22px;
}
.compliance-summary-card{
  position:relative;
  overflow:hidden;
  min-height:124px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:18px 20px;
}
.compliance-summary-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:var(--accent,var(--gold,#fecb3f));
}
.compliance-summary-card .compliance-summary-label{
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.01em;
  color:var(--muted,#667085);
}
.compliance-summary-card strong{
  margin-top:5px;
  font-size:2rem;
  line-height:1;
}
.compliance-summary-card small{
  margin-top:9px;
  color:var(--muted,#667085);
  line-height:1.3;
}
.compliance-summary-card.current::before{
  background:#2e9d63;
}
.compliance-summary-card.expiring::before{
  background:var(--accent,var(--gold,#fecb3f));
}
.compliance-summary-card.expired::before,
.compliance-summary-card.missing::before{
  background:#c7342e;
}
@media(max-width:1050px){
  .compliance-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .compliance-summary-cards{grid-template-columns:1fr}
  .compliance-summary-card{min-height:104px}
}

/* beta8.201 — limited/read-only File Storage */
.file-readonly-note{
 margin:0 0 12px;
 padding:10px 12px;
 border:1px solid color-mix(in srgb,var(--accent,var(--gold,#fecb3f)) 32%,var(--line,#ddd));
 border-radius:10px;
 background:color-mix(in srgb,var(--accent,var(--gold,#fecb3f)) 8%,var(--panel,#fff));
 color:var(--muted,#667085);
 font-size:.86rem;
}

@media(max-width:700px){.mail-compose-modal{left:12px;right:12px;width:auto;bottom:12px}}

.mail-row[draggable="true"]{cursor:grab}.mail-row.dragging{opacity:.45}
.mail-folders button.mail-folder-drop{background:color-mix(in srgb,var(--accent) 28%,var(--panel))!important;outline:2px dashed var(--accent);outline-offset:-3px}
.mail-folder-context-menu{position:fixed;z-index:16000;min-width:205px;padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 34px #0004}
.mail-folder-context-menu button{display:flex;width:100%;align-items:center;gap:8px;padding:9px 10px;border:0;border-radius:7px;background:transparent;text-align:left;color:var(--text)}
.mail-folder-context-menu button:hover{background:color-mix(in srgb,var(--accent) 10%,var(--panel))}
.mail-folder-context-menu button.danger{color:#b42318}

.mail-folder-tree-node{display:block}
.mail-folder-tree-row{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;padding-left:calc(var(--mail-depth,0) * 16px);border-radius:0 18px 18px 0}
.mail-folder-tree-row:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}
.mail-folder-tree-row.active{background:color-mix(in srgb,var(--accent) 17%,var(--panel))}
.mail-folder-toggle{display:flex;align-items:center;justify-content:center;width:20px;height:26px;padding:0!important;border:0!important;background:transparent!important;border-radius:50%!important;font-size:15px;font-weight:800;color:var(--muted);line-height:1}
.mail-folder-toggle:not(.empty):hover{background:color-mix(in srgb,var(--accent) 12%,var(--panel))!important;color:var(--text)}
.mail-folder-toggle.empty{pointer-events:none}
.mail-folder-main{display:grid!important;grid-template-columns:20px minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important;width:100%!important;border:0!important;background:transparent!important;padding:8px 10px 8px 3px!important;border-radius:0 18px 18px 0!important;text-align:left!important;color:var(--text)!important}
.mail-folder-main.active{font-weight:750!important}
.mail-folder-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mail-folder-children{display:block}
.mail-folder-tree-row[draggable="true"]{cursor:grab}
.mail-folder-tree-row.dragging{opacity:.45}
.mail-folder-main.mail-folder-drop,.mail-folder-tree-row:has(.mail-folder-main.mail-folder-drop){background:color-mix(in srgb,var(--accent) 28%,var(--panel))!important;outline:2px dashed var(--accent);outline-offset:-2px}

/* beta8.231 richer mail tree and drag/drop affordances */
.mail-folder-tree-row{position:relative}
.mail-folder-children{position:relative;margin-left:10px;padding-left:8px}
.mail-folder-children:before{content:"";position:absolute;left:2px;top:0;bottom:8px;width:1px;background:color-mix(in srgb,var(--line) 80%,var(--accent) 20%)}
.mail-folder-tree-node .mail-folder-tree-node>.mail-folder-tree-row:before{content:"";position:absolute;left:calc(var(--mail-depth,0) * 16px - 7px);top:50%;width:9px;height:1px;background:color-mix(in srgb,var(--line) 80%,var(--accent) 20%)}
.mail-folder-toggle{transition:background .15s,color .15s,transform .15s}
.mail-folder-toggle:not(.empty){font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.mail-folder-main{transition:background .14s,outline-color .14s,box-shadow .14s,transform .1s}
.mail-folder-main.mail-folder-drop,
body.mail-message-drag-active .mail-folder-main.mail-folder-drop,
body.mail-folder-drag-active .mail-folder-main.mail-folder-drop{
 background:color-mix(in srgb,var(--accent) 32%,var(--panel))!important;
 outline:2px solid var(--accent)!important;
 outline-offset:-2px!important;
 box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)!important;
 transform:translateX(2px);
 cursor:move!important
}
body.mail-message-drag-active .mail-folder-main,
body.mail-folder-drag-active .mail-folder-main{cursor:copy}
body.mail-message-drag-active .mail-folder-main:hover,
body.mail-folder-drag-active .mail-folder-main:hover{background:color-mix(in srgb,var(--accent) 14%,var(--panel))}
.mail-row[draggable="true"]:active,.mail-folder-tree-row[draggable="true"]:active{cursor:grabbing}
.mail-unread-confirm{flex-direction:column;gap:6px}.mail-unread-confirm strong{color:var(--text);font-size:1rem}.mail-unread-confirm span{font-size:.82rem}

.mail-rules-toolbar{display:flex;gap:8px;margin-bottom:14px}
.mail-rules-list{display:flex;flex-direction:column;gap:7px}
.mail-rule-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto auto auto;align-items:center;gap:9px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.mail-rule-drag{color:var(--muted);font-weight:800}.mail-rule-summary{display:flex;flex-direction:column;min-width:0}.mail-rule-summary small{color:var(--muted);font-size:.74rem}
.mail-rule-editor-body h3{margin:18px 0 8px}.mail-rule-line{display:flex;align-items:end;gap:14px}
.mail-rule-condition{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(150px,.9fr) minmax(220px,1.5fr) 38px;gap:8px;align-items:center;margin:7px 0}
.mail-rule-action{display:grid;grid-template-columns:minmax(190px,.9fr) minmax(240px,1.2fr) 38px;gap:8px;align-items:center;margin:7px 0}
.mail-rule-condition select,.mail-rule-condition input,.mail-rule-action select{margin:0}.mail-rule-condition button,.mail-rule-action button{height:38px;border:1px solid var(--line);background:var(--panel);border-radius:8px}
@media(max-width:760px){.mail-rule-row{grid-template-columns:20px 1fr auto}.mail-rule-condition,.mail-rule-action{grid-template-columns:1fr}.mail-rule-line{flex-direction:column;align-items:stretch}}

/* beta8.233 — Mail Rules dialogs: restore full themed modal surface */
#mail-rules-modal .modal,
#mail-rule-editor .modal{
  background:var(--panel)!important;
  color:var(--text)!important;
  border:1px solid var(--line)!important;
  border-radius:18px!important;
  box-shadow:0 24px 70px rgba(0,0,0,.34)!important;
  overflow:hidden!important;
  max-height:min(90vh,900px)!important;
  display:flex!important;
  flex-direction:column!important;
}
#mail-rules-modal .modal-head,
#mail-rule-editor .modal-head{
  flex:0 0 auto;
  margin:0!important;
  padding:16px 20px!important;
  background:var(--accent)!important;
  color:var(--accent-contrast,#111)!important;
  border-bottom:1px solid color-mix(in srgb,var(--accent) 65%,var(--line))!important;
}
#mail-rules-modal .modal-head h2,
#mail-rule-editor .modal-head h2{
  margin:0 0 3px!important;
  color:inherit!important;
}
#mail-rules-modal .modal-head p,
#mail-rule-editor .modal-head p{
  margin:0!important;
  color:color-mix(in srgb,currentColor 76%,transparent)!important;
}
#mail-rules-modal .modal-head button,
#mail-rule-editor .modal-head button{
  margin-left:auto!important;
  border:1px solid color-mix(in srgb,currentColor 20%,transparent)!important;
  background:color-mix(in srgb,var(--panel) 92%,transparent)!important;
  color:var(--text)!important;
  border-radius:10px!important;
  width:38px!important;
  height:38px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:1.25rem!important;
}
#mail-rules-modal .modal-body,
#mail-rule-editor .modal-body{
  flex:1 1 auto;
  overflow:auto!important;
  padding:20px!important;
  background:var(--panel)!important;
}
#mail-rule-editor .modal-foot{
  flex:0 0 auto;
  margin:0!important;
  padding:14px 20px!important;
  border-top:1px solid var(--line)!important;
  background:color-mix(in srgb,var(--panel) 96%,var(--accent) 4%)!important;
}
#mail-rule-editor form{
  min-height:0;
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
}
#mail-rule-editor .mail-rule-editor-body{
  min-height:0;
}
#mail-rule-editor label,
#mail-rules-modal label{
  color:var(--text)!important;
}
#mail-rule-editor input,
#mail-rule-editor select,
#mail-rule-editor textarea,
#mail-rules-modal input,
#mail-rules-modal select{
  background:var(--panel)!important;
  color:var(--text)!important;
  border-color:var(--line)!important;
}
#mail-rule-editor .mail-rule-condition,
#mail-rule-editor .mail-rule-action{
  background:color-mix(in srgb,var(--panel) 96%,var(--accent) 4%);
  border:1px solid var(--line);
  border-radius:10px;
  padding:8px;
}
@media(max-width:760px){
  #mail-rules-modal .modal,
  #mail-rule-editor .modal{
    width:calc(100vw - 20px)!important;
    max-width:none!important;
    max-height:94vh!important;
  }
}

/* beta8.234 — Mail Rules use the standard Club Management Suite dialog shell */
#mail-rules-modal .mail-rules-dialog{
  width:min(860px,calc(100vw - 32px))!important;
  max-width:860px!important;
}
#mail-rule-editor .mail-rule-dialog{
  width:min(780px,calc(100vw - 32px))!important;
  max-width:780px!important;
}
#mail-rules-modal .modal-card.dialog-shell,
#mail-rule-editor .modal-card.dialog-shell{
  background:var(--panel,#fff)!important;
  color:var(--text,#222)!important;
  border:1px solid color-mix(in srgb,var(--accent,#fecb3f) 24%,var(--border,#d9dde5))!important;
  border-radius:18px!important;
  box-shadow:0 22px 70px rgba(15,20,30,.22),0 4px 18px rgba(15,20,30,.10)!important;
  padding:0!important;
  overflow:hidden!important;
  max-height:calc(100dvh - 24px)!important;
}
#mail-rules-modal .dialog-window-title,
#mail-rule-editor .dialog-window-title{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
}
#mail-rules-modal .dialog-scroll-body,
#mail-rule-editor .dialog-scroll-body{
  background:var(--panel,#fff)!important;
}
#mail-rules-modal .dialog-sticky-actions,
#mail-rule-editor .dialog-sticky-actions{
  display:flex!important;
  justify-content:flex-end!important;
  gap:8px!important;
}
#mail-rule-editor .mail-rule-editor-body{
  padding:18px 20px 20px!important;
}
#mail-rule-editor .mail-rule-line{
  display:grid;
  grid-template-columns:minmax(240px,1fr) auto;
  gap:16px;
  align-items:end;
  margin-top:14px;
}
#mail-rule-editor .mail-rule-enabled{
  margin:0 0 10px!important;
  white-space:nowrap;
}
#mail-rule-editor .mail-rule-section{
  margin-top:20px;
  padding-top:16px;
  border-top:1px solid var(--line);
}
#mail-rule-editor .mail-rule-section-title{
  margin-bottom:10px;
}
#mail-rule-editor .mail-rule-section-title h3{
  margin:0 0 3px;
}
#mail-rule-editor .mail-rule-section-title small{
  color:var(--muted);
}
#mail-rule-editor .mail-rule-condition{
  grid-template-columns:minmax(120px,.72fr) minmax(145px,.82fr) minmax(220px,1.45fr) 38px;
}
#mail-rule-editor .mail-rule-action{
  grid-template-columns:minmax(180px,.85fr) minmax(230px,1.15fr) 38px;
}
#mail-rule-editor .mail-rule-stop{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:20px 0 2px!important;
}
#mail-rule-editor .mail-rule-stop input,
#mail-rule-editor .mail-rule-enabled input{
  width:auto!important;
  margin:0!important;
}
@media(max-width:760px){
 #mail-rules-modal .mail-rules-dialog,
 #mail-rule-editor .mail-rule-dialog{
   width:calc(100vw - 12px)!important;
   max-width:none!important;
   max-height:calc(100dvh - 12px)!important;
 }
 #mail-rule-editor .mail-rule-line,
 #mail-rule-editor .mail-rule-condition,
 #mail-rule-editor .mail-rule-action{
   grid-template-columns:1fr!important;
 }
 #mail-rule-editor .mail-rule-enabled{margin:0!important}
}

/* beta8.241 — responsive Settings workspace */
.settings-workspace{
 display:grid;
 grid-template-columns:270px minmax(0,1fr);
 gap:20px;
 align-items:start;
}
.settings-category-rail{
 position:sticky;
 top:14px;
 max-height:calc(100dvh - 28px);
 overflow:auto;
 background:var(--panel);
 border:1px solid var(--line);
 border-radius:16px;
 box-shadow:0 2px 12px rgba(15,20,30,.06);
 padding:10px;
}
.settings-category-rail-head{
 display:flex;
 flex-direction:column;
 gap:2px;
 padding:8px 10px 12px;
 border-bottom:1px solid var(--line);
 margin-bottom:6px;
}
.settings-category-rail-head strong{font-size:1.05rem}
.settings-category-rail-head span{font-size:.74rem;color:var(--muted)}
.settings-category-nav{display:flex;flex-direction:column;gap:3px}
.settings-category-nav button{
 display:grid;
 grid-template-columns:34px minmax(0,1fr) 18px;
 align-items:center;
 gap:8px;
 width:100%;
 padding:10px 9px;
 border:0;
 border-radius:11px;
 background:transparent;
 color:var(--text);
 text-align:left;
 transition:background .14s,transform .14s,box-shadow .14s;
}
.settings-category-nav button:hover{
 background:color-mix(in srgb,var(--accent) 8%,var(--panel));
 transform:translateX(1px);
}
.settings-category-nav button.active{
 background:color-mix(in srgb,var(--accent) 18%,var(--panel));
 box-shadow:inset 3px 0 0 var(--accent);
}
.settings-category-icon{
 width:30px;height:30px;
 display:flex;align-items:center;justify-content:center;
 border-radius:9px;
 background:color-mix(in srgb,var(--accent) 10%,var(--panel));
 font-size:1rem;
}
.settings-category-nav button>span:nth-child(2){display:flex;flex-direction:column;gap:2px;min-width:0}
.settings-category-nav strong{font-size:.83rem}
.settings-category-nav small{
 font-size:.68rem;color:var(--muted);font-weight:400;line-height:1.25;
 display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.settings-category-chevron{color:var(--muted);font-size:1.2rem;text-align:center}
.settings-category-main{min-width:0}
.settings-category-heading{
 display:flex;
 align-items:flex-start;
 justify-content:space-between;
 margin:0 0 14px;
 padding:3px 2px 12px;
 border-bottom:1px solid var(--line);
}
.settings-category-eyebrow{
 display:block;
 color:var(--muted);
 font-size:.68rem;
 text-transform:uppercase;
 letter-spacing:.08em;
 font-weight:700;
 margin-bottom:3px;
}
.settings-category-heading h2{margin:0 0 3px;font-size:1.5rem}
.settings-category-heading p{margin:0;color:var(--muted)}
.settings-pane{display:flex;flex-direction:column;gap:14px;animation:settings-pane-in .15s ease}
.settings-pane[hidden]{display:none!important}
.settings-pane>.panel{margin:0}
@keyframes settings-pane-in{from{opacity:.55;transform:translateY(3px)}to{opacity:1;transform:none}}
.settings-mobile-picker,.settings-tablet-tabs{display:none}

/* Tablet: category tabs become a horizontal strip above the active pane. */
@media(max-width:1100px){
 .settings-workspace{display:block}
 .settings-category-rail{display:none}
 .settings-category-heading{margin-bottom:9px}
 .settings-tablet-tabs{
  display:flex;
  overflow-x:auto;
  gap:6px;
  padding:2px 1px 10px;
  margin-bottom:10px;
  scrollbar-width:thin;
  scroll-snap-type:x proximity;
 }
 .settings-tablet-tabs button{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  padding:9px 12px;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--panel);
  color:var(--text);
  scroll-snap-align:start;
 }
 .settings-tablet-tabs button.active{
  background:color-mix(in srgb,var(--accent) 20%,var(--panel));
  border-color:color-mix(in srgb,var(--accent) 55%,var(--line));
  font-weight:700;
 }
}

/* Mobile: one compact selector replaces the tab strip. */
@media(max-width:680px){
 .settings-category-heading{
  padding:1px 1px 10px;
 }
 .settings-category-heading h2{font-size:1.28rem}
 .settings-category-heading p{font-size:.8rem}
 .settings-tablet-tabs{display:none}
 .settings-mobile-picker{
  display:block;
  margin-bottom:10px;
  padding:10px;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:12px;
 }
 .settings-mobile-picker label{
  display:block;
  font-size:.7rem;
  color:var(--muted);
  font-weight:700;
  margin-bottom:5px;
 }
 .settings-mobile-picker select{
  width:100%;
  margin:0;
 }
 .settings-pane{gap:10px}
 .settings-pane>.panel{
  border-radius:12px;
  padding-left:12px;
  padding-right:12px;
 }
}

/* beta8.242 — Settings category heading becomes a balanced summary card */
.settings-category-heading{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:102px;
  margin:0 0 16px!important;
  padding:18px 20px!important;
  background:var(--panel)!important;
  border:1px solid var(--line)!important;
  border-radius:16px!important;
  box-shadow:0 2px 12px rgba(15,20,30,.05);
  overflow:hidden;
}
.settings-category-heading:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:var(--accent);
}
.settings-category-heading>div{
  position:relative;
  z-index:1;
}
.settings-category-eyebrow{
  margin-bottom:5px!important;
}
.settings-category-heading h2{
  margin:0 0 4px!important;
}
.settings-category-heading p{
  margin:0!important;
  max-width:720px;
}
.settings-category-main{
  min-width:0;
}
@media(min-width:1101px){
  .settings-category-rail,
  .settings-category-heading{
    margin-top:0!important;
  }
}
@media(max-width:1100px){
  .settings-category-heading{
    min-height:88px;
    margin-bottom:10px!important;
    padding:15px 17px!important;
  }
}
@media(max-width:680px){
  .settings-category-heading{
    min-height:auto;
    padding:14px 15px!important;
    border-radius:12px!important;
  }
  .settings-category-heading:before{
    width:3px;
  }
}

/* beta8.243 — application-wide summary/stat card system */
.stat-grid{
 display:grid;
 grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
 gap:12px;
 margin:0 0 16px;
}
.stat{
 position:relative;
 display:grid;
 grid-template-columns:auto 1fr;
 grid-template-areas:
   "icon label"
   "icon value"
   "icon note";
 column-gap:12px;
 align-items:start;
 min-width:0;
 padding:15px 16px;
 background:var(--panel,#fff);
 border:1px solid var(--line,#dfe3ea);
 border-radius:14px;
 box-shadow:0 2px 10px rgba(15,20,30,.045);
 overflow:hidden;
}
.stat:after{
 content:"";
 position:absolute;
 left:0;right:0;bottom:0;
 height:3px;
 background:color-mix(in srgb,var(--accent) 72%,transparent);
 opacity:.72;
}
.stat>.stat-icon{
 grid-area:icon;
 display:flex;
 align-items:center;
 justify-content:center;
 width:38px;
 height:38px;
 border-radius:11px;
 background:color-mix(in srgb,var(--accent) 12%,var(--panel));
 font-size:1.05rem;
}
.stat>span:not(.stat-icon){
 grid-area:label;
 color:var(--muted);
 font-size:.72rem;
 font-weight:700;
 text-transform:uppercase;
 letter-spacing:.035em;
 line-height:1.25;
}
.stat>strong{
 grid-area:value;
 margin-top:2px;
 color:var(--text);
 font-size:1.7rem;
 line-height:1.05;
 font-weight:800;
 overflow-wrap:anywhere;
}
.stat>small{
 grid-area:note;
 margin-top:5px;
 color:var(--muted);
 font-size:.72rem;
 line-height:1.28;
}
.compact-stat-grid{
 grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
}
.summary-action-toolbar{
 margin-top:2px;
}
.summary-action-toolbar>div:first-child{
 display:flex;
 flex-direction:column;
 gap:2px;
}
@media(max-width:1100px){
 .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
 .stat-grid{grid-template-columns:1fr;gap:9px}
 .stat{padding:13px 14px}
 .stat>strong{font-size:1.5rem}
}

/* beta8.245 — rich Tasks experience */
.task-status-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;font-weight:750}.task-status-icon{font-size:1rem}
.task-search-experience{display:flex;flex-direction:column;gap:10px;margin-bottom:14px;padding:12px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--panel) 97%,var(--accent) 3%)}
.task-search-box{display:grid;grid-template-columns:24px 1fr 36px;align-items:center;gap:6px;border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:3px 5px 3px 11px}.task-search-box input{border:0!important;box-shadow:none!important;background:transparent!important;margin:0!important}.task-search-box button{border:0;background:transparent;font-size:1.15rem;color:var(--muted)}
.task-filter-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.task-filter-controls label{min-width:190px;margin:0}.task-result-count{margin-left:auto;color:var(--muted);font-size:.78rem;padding-bottom:10px}
.task-comment{display:grid;grid-template-columns:38px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.task-comment-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,var(--panel))}.task-comment-head{display:flex;justify-content:space-between;gap:10px}.task-comment-head small{color:var(--muted)}
.task-update-composer{margin-top:15px;padding:14px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--panel) 96%,var(--accent) 4%)}.task-update-grid{display:grid;grid-template-columns:1fr 140px 1fr;gap:9px}.task-update-grid label{margin:0}.task-update-footer{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:9px}.task-update-footer .primary{margin-left:auto}.task-file-picker{display:inline-flex!important;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--panel);cursor:pointer}.task-file-picker input{max-width:240px}
.task-attachments{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.task-attachment{display:flex;gap:7px;align-items:center;text-decoration:none;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text)}.task-attachment>span:last-child{display:flex;flex-direction:column}.task-attachment small{color:var(--muted)}
.task-history-item{display:grid!important;grid-template-columns:30px 1fr!important;gap:8px!important}.task-history-icon{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,var(--panel))}.task-progress-inline{height:7px;border-radius:999px;background:var(--line);overflow:hidden;margin:7px 0 3px}.task-progress-inline span{display:block;height:100%;background:var(--accent)}.task-transition-notify{margin-top:10px!important;font-size:.78rem}.task-section-heading p{margin-top:0}
@media(max-width:760px){.task-update-grid{grid-template-columns:1fr}.task-update-footer{align-items:stretch;flex-direction:column}.task-update-footer .primary{margin-left:0;width:100%}.task-result-count{margin-left:0}.task-filter-controls label{min-width:100%;width:100%}}

/* beta8.247 — cleaner, balanced Tasks list */
.task-table-rich{
 width:100%;
 table-layout:fixed;
 min-width:980px;
}
.task-table-rich col.task-col-task{width:34%}
.task-table-rich col.task-col-status{width:13%}
.task-table-rich col.task-col-assignee{width:24%}
.task-table-rich col.task-col-priority{width:10%}
.task-table-rich col.task-col-due{width:9%}
.task-table-rich col.task-col-source{width:5%}
.task-table-rich col.task-col-action{width:5%}
.task-table-rich th,.task-table-rich td{vertical-align:middle}
.task-table-rich td:first-child{padding-right:18px}
.task-th-compact{text-align:center}
.task-cell-priority,.task-cell-due,.task-cell-source,.task-cell-action{text-align:center;white-space:nowrap}

.task-source-icon{
 display:inline-grid;
 place-items:center;
 width:32px;
 height:32px;
 border-radius:10px;
 background:color-mix(in srgb,var(--accent) 9%,var(--panel));
 border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));
 font-size:1rem;
 cursor:help;
}

.task-priority-indicator{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:6px;
 min-height:28px;
 padding:3px 8px 3px 5px;
 border-radius:999px;
 font-size:.72rem;
 font-weight:750;
 border:1px solid var(--line);
 background:var(--panel);
}
.task-priority-symbol{
 display:inline-grid;
 place-items:center;
 width:20px;
 height:20px;
 border-radius:50%;
 font-size:.72rem;
 font-weight:900;
 line-height:1;
}
.task-priority-indicator.urgent .task-priority-symbol{
 background:#b42318;color:#fff;
}
.task-priority-indicator.high .task-priority-symbol{
 background:#d92d20;color:#fff;
}
.task-priority-indicator.normal .task-priority-symbol{
 background:#fdb022;color:#3a2a00;
}
.task-priority-indicator.low .task-priority-symbol{
 background:#12b76a;color:#fff;
}
.task-priority-indicator.urgent,
.task-priority-indicator.high{background:color-mix(in srgb,#d92d20 7%,var(--panel))}
.task-priority-indicator.normal{background:color-mix(in srgb,#fdb022 9%,var(--panel))}
.task-priority-indicator.low{background:color-mix(in srgb,#12b76a 7%,var(--panel))}

.task-due{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:5px;
 min-height:28px;
 padding:3px 7px;
 border-radius:9px;
 font-size:.72rem;
}
.task-due strong{font-size:.72rem}
.task-due.none{color:var(--muted)}
.task-due.overdue{background:color-mix(in srgb,#d92d20 10%,var(--panel));color:#b42318}
.task-due.today{background:color-mix(in srgb,#f79009 12%,var(--panel));color:#b54708}
.task-due.soon{background:color-mix(in srgb,#fdb022 10%,var(--panel));color:#8a6100}
.task-due.future{color:var(--muted)}

.task-open-button{
 display:inline-grid!important;
 place-items:center!important;
 width:32px!important;
 height:32px!important;
 padding:0!important;
 border-radius:50%!important;
 font-size:1.25rem!important;
 font-weight:700;
}

@media(max-width:1250px){
 .task-table-rich col.task-col-task{width:32%}
 .task-table-rich col.task-col-assignee{width:22%}
 .task-priority-label{display:none}
 .task-priority-indicator{padding:3px;min-width:28px}
}
@media(max-width:900px){
 .task-table-rich{min-width:860px}
 .task-table-rich col.task-col-task{width:31%}
 .task-table-rich col.task-col-status{width:14%}
 .task-table-rich col.task-col-assignee{width:23%}
 .task-table-rich col.task-col-priority{width:8%}
 .task-table-rich col.task-col-due{width:12%}
 .task-table-rich col.task-col-source{width:6%}
 .task-table-rich col.task-col-action{width:6%}
}
@media(max-width:680px){
 .task-table-rich{min-width:760px}
 .task-source-icon{width:28px;height:28px}
 .task-open-button{width:28px!important;height:28px!important}
}

/* beta8.248 — favicon theming */
.theme-favicon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}
.theme-favicon-card{display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:start;padding:14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel) 97%,var(--accent) 3%)}
.theme-favicon-preview{width:64px;height:64px;border:1px solid var(--line);border-radius:14px;background:var(--panel);display:grid;place-items:center;overflow:hidden;font-size:1.6rem}.theme-favicon-preview img{width:32px;height:32px;image-rendering:auto}
.theme-favicon-copy h4{margin:2px 0 4px}.theme-favicon-copy p{margin:0 0 10px;font-size:.78rem}
.theme-favicon-actions{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:6px}.theme-favicon-actions .button-like{display:inline-flex!important;align-items:center;justify-content:center;padding:8px 10px;border:1px solid var(--line);border-radius:var(--button-radius,9px);background:var(--panel);cursor:pointer;font-size:.78rem}.theme-favicon-actions .button-like input{display:none}
.theme-favicon-picker{width:min(720px,calc(100vw - 24px))!important;max-width:720px!important}
.theme-file-picker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px}.theme-file-picker-folder{display:flex;align-items:center;gap:9px;padding:14px;text-align:left}
.theme-file-picker-breadcrumbs{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-bottom:10px}.theme-file-picker-breadcrumbs button{border:0;background:transparent;color:var(--text);padding:3px 5px}
.theme-file-picker-list{display:flex;flex-direction:column;gap:5px}.theme-file-picker-item{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:9px;width:100%;padding:10px;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.theme-file-picker-item>span:nth-child(2){display:flex;flex-direction:column}.theme-file-picker-item small{color:var(--muted)}
@media(max-width:720px){.theme-favicon-grid{grid-template-columns:1fr}.theme-favicon-card{grid-template-columns:58px 1fr}.theme-favicon-preview{width:52px;height:52px}}

/* beta8.249 — background File Storage upload manager */
.drive-surface{position:relative}
.file-drop-overlay{
 position:absolute;
 inset:10px;
 z-index:40;
 border:2px dashed color-mix(in srgb,var(--accent) 72%,var(--line));
 border-radius:16px;
 background:color-mix(in srgb,var(--accent) 13%,var(--panel) 87%);
 backdrop-filter:blur(3px);
 display:grid;
 place-items:center;
 pointer-events:none;
}
.file-drop-overlay[hidden]{display:none!important}
.file-drop-overlay>div{
 display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;
 padding:28px 36px;border-radius:18px;background:color-mix(in srgb,var(--panel) 90%,transparent);
 box-shadow:0 14px 40px rgba(15,20,30,.12);
}
.file-drop-arrow{
 display:grid;place-items:center;width:54px;height:54px;border-radius:50%;
 background:var(--accent);color:var(--accent-contrast,#111);font-size:2rem;font-weight:800;
 box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 30%,transparent);
}
.file-drop-overlay strong{font-size:1.08rem}
.file-drop-overlay small{color:var(--muted)}
.drive-surface.file-drop-active{outline:2px solid color-mix(in srgb,var(--accent) 62%,transparent);outline-offset:2px}

.file-upload-manager{
 position:fixed;
 left:18px;
 bottom:18px;
 z-index:9998;
 width:min(430px,calc(100vw - 36px));
 pointer-events:none;
}
.file-upload-manager[hidden]{display:none!important}
.file-upload-manager-shell{
 pointer-events:auto;
 overflow:hidden;
 border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));
 border-radius:15px;
 background:var(--panel);
 color:var(--text);
 box-shadow:0 18px 55px rgba(15,20,30,.22),0 4px 16px rgba(15,20,30,.1);
}
.file-upload-manager-head{
 display:flex;align-items:center;justify-content:space-between;gap:8px;
 min-height:58px;padding:8px 9px 8px 8px;
 background:color-mix(in srgb,var(--panel) 93%,var(--accent) 7%);
}
.file-upload-manager-toggle{
 flex:1;min-width:0;
 display:grid;grid-template-columns:34px 1fr;align-items:center;gap:7px;
 border:0!important;background:transparent!important;color:inherit!important;text-align:left!important;padding:3px!important;
}
.file-upload-manager-arrow{
 display:grid;place-items:center;width:31px;height:31px;border-radius:50%;
 background:var(--accent);color:var(--accent-contrast,#111);
 font-size:1.25rem;font-weight:900;line-height:1;
}
.file-upload-manager-title{display:flex;flex-direction:column;min-width:0}
.file-upload-manager-title strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.file-upload-manager-title small{color:var(--muted);font-size:.7rem;margin-top:2px}
.file-upload-manager-head-actions{display:flex;gap:5px}
.file-upload-manager-head-actions button{
 padding:6px 8px!important;font-size:.68rem!important;white-space:nowrap;
}
.file-upload-overall{height:3px;background:var(--line);overflow:hidden}
.file-upload-overall>span{display:block;height:100%;background:var(--accent);transition:width .15s linear}
.file-upload-manager-body{
 max-height:min(390px,55vh);
 overflow:auto;
 padding:6px;
 border-top:1px solid var(--line);
}
.file-upload-item{
 display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;
 padding:9px 7px;border-radius:10px;
}
.file-upload-item+.file-upload-item{border-top:1px solid color-mix(in srgb,var(--line) 65%,transparent)}
.file-upload-item.failed{background:color-mix(in srgb,#d92d20 6%,var(--panel))}
.file-upload-item.completed{background:color-mix(in srgb,#12b76a 5%,var(--panel))}
.file-upload-file-icon{
 width:32px;height:32px;display:grid;place-items:center;border-radius:9px;
 background:color-mix(in srgb,var(--accent) 9%,var(--panel));
}
.file-upload-item-main{min-width:0}
.file-upload-item-title{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.file-upload-item-title strong{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.file-upload-item-title small{font-size:.65rem;color:var(--muted);white-space:nowrap}
.file-upload-progress{height:5px;background:var(--line);border-radius:999px;overflow:hidden;margin:5px 0 4px}
.file-upload-progress>span{display:block;height:100%;background:var(--accent);transition:width .12s linear}
.file-upload-item.failed .file-upload-progress>span{background:#d92d20}
.file-upload-item.completed .file-upload-progress>span{background:#12b76a}
.file-upload-item.cancelled .file-upload-progress>span{background:var(--muted)}
.file-upload-item-status{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.65rem}
.file-upload-item-status span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-upload-item-status small{font-size:.64rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42%}
.file-upload-item-actions{display:flex;gap:4px}
.file-upload-item-actions button{
 display:grid!important;place-items:center!important;
 width:29px!important;height:29px!important;padding:0!important;border-radius:50%!important;
 font-size:.9rem!important;
}
@media(max-width:650px){
 .file-upload-manager{left:8px;right:8px;bottom:8px;width:auto}
 .file-upload-manager-body{max-height:48vh}
 .file-upload-manager-head-actions button{padding:5px 6px!important}
 .file-upload-item-status small{display:none}
}

/* beta8.251 — rich File Storage */
.file-view-switcher{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--panel)}
.file-view-switcher button{display:flex;align-items:center;gap:4px;border:0!important;border-radius:0!important;background:transparent!important;padding:7px 8px!important;font-size:.68rem!important}.file-view-switcher button.active{background:color-mix(in srgb,var(--accent) 18%,var(--panel))!important;font-weight:750}
.file-thumbnail-button{width:100%;height:126px;border:0!important;background:color-mix(in srgb,var(--panel) 94%,var(--accent) 6%)!important;border-radius:10px!important;padding:5px!important;overflow:hidden}.file-thumbnail{width:100%;height:100%;object-fit:contain;border-radius:7px}.file-card.thumbnail-card{width:250px}.file-card.thumbnail-card .file-thumbnail-button{height:160px}
.file-sync-state{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;color:var(--muted)}.file-sync-state.synced{color:#067647}.file-sync-state.failed{color:#b42318}.file-sync-state.syncing{color:#8a6100}
.file-list{display:flex;flex-direction:column}.file-list-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;border-bottom:1px solid var(--line)}.file-list-row:hover,.file-detail-row:hover{background:color-mix(in srgb,var(--accent) 5%,var(--panel))}
.file-list-thumb,.file-mini-thumb{width:40px;height:40px;object-fit:cover;border-radius:7px;border:1px solid var(--line)}.file-mini-thumb{width:30px;height:30px}.file-list-icon{font-size:1.25rem;text-align:center}.file-list-copy{display:flex;flex-direction:column;min-width:0}.file-list-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-list-copy small{color:var(--muted);font-size:.7rem}.file-list-actions,.file-detail-actions{display:flex;gap:6px;align-items:center}
.file-details-head,.file-detail-row{display:grid;grid-template-columns:minmax(260px,2.2fr) .65fr 1fr .5fr .8fr 150px;align-items:center;gap:10px;padding:9px 12px}.file-details-head{font-size:.7rem;color:var(--muted);font-weight:750;text-transform:uppercase;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 96%,var(--accent) 4%)}.file-detail-row{border-bottom:1px solid var(--line);font-size:.77rem}.file-detail-name{display:flex;align-items:center;gap:9px;min-width:0}.file-detail-name strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.file-upload-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:18px!important;padding:16px 18px!important}.file-upload-card-icon{width:50px;height:50px;border-radius:14px;background:var(--accent);color:var(--accent-contrast,#111);display:grid;place-items:center;font-size:1.8rem;font-weight:900}.file-upload-card-copy h3{margin:0 0 3px}.file-upload-card-copy p{margin:0 0 3px;color:var(--muted)}.file-upload-card-copy small{color:var(--muted)}
.file-image-viewer{width:min(1100px,calc(100vw - 30px))!important;max-width:1100px!important}.file-image-stage{position:relative;min-height:300px;max-height:72vh;display:grid;place-items:center;background:#111;overflow:hidden}.file-image-stage img{max-width:100%;max-height:72vh;object-fit:contain}.file-image-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:48px!important;height:64px!important;border-radius:14px!important;background:rgba(255,255,255,.88)!important;color:#111!important;font-size:2.4rem!important;padding:0!important;box-shadow:0 5px 18px rgba(0,0,0,.25)}.file-image-nav.prev{left:14px}.file-image-nav.next{right:14px}
@media(max-width:1050px){.file-view-switcher button span{display:none}.file-details-head,.file-detail-row{grid-template-columns:minmax(220px,2fr) .7fr 1fr .5fr .8fr 120px}}
@media(max-width:760px){.file-upload-card{grid-template-columns:44px 1fr}.file-upload-card-icon{width:40px;height:40px}.file-upload-card-actions{grid-column:1/-1}.file-upload-card-actions button{width:100%}.file-details-list{overflow-x:auto}.file-details-head,.file-detail-row{min-width:820px}.file-image-nav{width:40px!important;height:54px!important}}

/* beta8.252 — File Storage toolbar + hidden chooser cleanup */

/* The native chooser exists only as a programmatic file source. It must never
   participate in layout, even if broad form/input rules elsewhere use !important. */
#hidden-file-upload[hidden],
#hidden-file-upload{
 display:none!important;
 visibility:hidden!important;
 position:fixed!important;
 width:0!important;
 height:0!important;
 min-width:0!important;
 min-height:0!important;
 padding:0!important;
 margin:0!important;
 border:0!important;
 opacity:0!important;
 pointer-events:none!important;
}

/* Make View As feel like part of the main toolbar rather than a miniature
   segmented control nested inside it. */
.file-view-control{
 display:flex;
 align-items:center;
 gap:7px;
}
.file-view-label{
 color:var(--muted);
 font-size:.72rem;
 font-weight:700;
 white-space:nowrap;
}
.file-view-switcher{
 display:flex;
 align-items:center;
 gap:6px;
 border:0!important;
 border-radius:0!important;
 overflow:visible!important;
 background:transparent!important;
}
.file-view-switcher button{
 display:inline-flex!important;
 align-items:center!important;
 justify-content:center!important;
 gap:6px!important;
 min-height:42px!important;
 padding:9px 12px!important;
 border:1px solid var(--line)!important;
 border-radius:10px!important;
 background:var(--panel)!important;
 color:var(--text)!important;
 font-size:.78rem!important;
 font-weight:600!important;
 box-shadow:none!important;
 white-space:nowrap;
 transition:background .14s,border-color .14s,transform .14s;
}
.file-view-switcher button:hover{
 background:color-mix(in srgb,var(--accent) 8%,var(--panel))!important;
 border-color:color-mix(in srgb,var(--accent) 32%,var(--line))!important;
}
.file-view-switcher button.active{
 background:color-mix(in srgb,var(--accent) 18%,var(--panel))!important;
 border-color:color-mix(in srgb,var(--accent) 55%,var(--line))!important;
 font-weight:750!important;
}
.file-view-switcher button:active{
 transform:translateY(1px);
}

@media(max-width:1180px){
 .file-view-label{display:none}
 .file-view-switcher button span{display:none}
 .file-view-switcher button{
  width:42px!important;
  min-width:42px!important;
  padding:9px!important;
 }
}
@media(max-width:760px){
 .file-view-control{width:100%}
 .file-view-switcher{
  width:100%;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
 }
 .file-view-switcher button{
  width:100%!important;
  min-width:0!important;
 }
}

/* beta8.253 — PDF preview */
.file-pdf-thumbnail{
 display:grid!important;
 place-items:center!important;
 background:color-mix(in srgb,#d92d20 5%,var(--panel))!important;
}
.file-pdf-page{
 position:relative;
 width:78px;
 height:100px;
 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 gap:5px;
 border:1px solid color-mix(in srgb,#d92d20 28%,var(--line));
 border-radius:7px;
 background:var(--panel);
 box-shadow:0 5px 16px rgba(15,20,30,.08);
 overflow:hidden;
}
.file-pdf-page:after{
 content:"";
 position:absolute;
 top:0;
 right:0;
 width:18px;
 height:18px;
 background:linear-gradient(225deg,color-mix(in srgb,#d92d20 12%,var(--panel)) 50%,transparent 51%);
}
.file-pdf-page span{
 padding:2px 7px;
 border-radius:999px;
 background:#d92d20;
 color:#fff;
 font-size:.62rem;
 font-weight:800;
 letter-spacing:.06em;
}
.file-pdf-page strong{font-size:1.55rem}

.file-pdf-viewer{
 width:min(1180px,calc(100vw - 28px))!important;
 max-width:1180px!important;
 height:min(900px,calc(100vh - 34px))!important;
 max-height:calc(100vh - 34px)!important;
 display:flex!important;
 flex-direction:column!important;
}
.file-pdf-stage{
 flex:1;
 min-height:420px;
 background:#525659;
 overflow:hidden;
}
.file-pdf-stage iframe{
 display:block;
 width:100%;
 height:100%;
 min-height:65vh;
 border:0;
 background:#525659;
}
@media(max-width:760px){
 .file-pdf-viewer{
  width:calc(100vw - 12px)!important;
  height:calc(100vh - 12px)!important;
  max-height:calc(100vh - 12px)!important;
 }
 .file-pdf-stage{min-height:300px}
 .file-pdf-stage iframe{min-height:70vh}
}

/* beta8.254 — File Storage accountability */
.file-details-head,.file-detail-row{
 grid-template-columns:minmax(220px,1.7fr) 125px 145px 125px 145px 85px 105px 125px!important;
}
.file-details-head span,.file-detail-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-properties-dialog{width:min(760px,calc(100vw - 24px))!important;max-width:760px!important}
.file-properties-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.file-properties-grid>div{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--panel) 97%,var(--accent) 3%)}
.file-properties-grid span{font-size:.68rem;text-transform:uppercase;letter-spacing:.035em;color:var(--muted);font-weight:750}
.file-properties-grid strong{font-size:.85rem;overflow-wrap:anywhere}
@media(max-width:1100px){.file-details-head,.file-detail-row{min-width:1160px!important}}
@media(max-width:620px){.file-properties-grid{grid-template-columns:1fr}}

/* beta8.255 — thumbnail layout + Properties reliability */
.drive-surface .file-grid{
 display:grid!important;
 align-items:stretch;
}
.drive-surface .file-card{
 width:auto!important;
 min-width:0!important;
 max-width:100%!important;
 box-sizing:border-box!important;
 overflow:hidden;
}
.drive-surface.file-view-thumbnails .file-grid{
 grid-template-columns:repeat(auto-fill,minmax(250px,1fr))!important;
 gap:18px!important;
}
.drive-surface.file-view-thumbnails .file-card.thumbnail-card{
 width:100%!important;
 min-width:0!important;
 max-width:none!important;
}
.drive-surface.file-view-thumbnails .file-thumbnail-button{
 width:100%!important;
 min-width:0!important;
 box-sizing:border-box!important;
}
.drive-surface.file-view-icons .file-grid{
 grid-template-columns:repeat(auto-fill,minmax(190px,1fr))!important;
 gap:14px!important;
}
.file-card>strong{
 display:block;
 max-width:100%;
 overflow-wrap:anywhere;
 word-break:break-word;
}
@media(max-width:700px){
 .drive-surface.file-view-thumbnails .file-grid{
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr))!important;
 }
}
@media(max-width:480px){
 .drive-surface.file-view-thumbnails .file-grid,
 .drive-surface.file-view-icons .file-grid{
  grid-template-columns:1fr!important;
 }
}

/* beta8.257 — friendlier File Properties type display */
.file-properties-grid .file-properties-technical strong{
 font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
 font-size:.72rem;
 color:var(--muted);
 font-weight:600;
}

/* beta8.258 — consistent File Storage download buttons */
.file-download-button{
 display:inline-flex!important;
 align-items:center!important;
 justify-content:center!important;
 gap:7px!important;
 min-height:40px!important;
 padding:9px 14px!important;
 border-radius:10px!important;
 background:color-mix(in srgb,var(--accent) 82%,#111 18%)!important;
 border:1px solid color-mix(in srgb,var(--accent) 68%,#111 32%)!important;
 color:var(--accent-contrast,#111)!important;
 font-weight:750!important;
 text-decoration:none!important;
 box-shadow:none!important;
}
.file-download-button:hover{
 filter:brightness(.97);
 text-decoration:none!important;
}
.file-download-icon-button{
 display:inline-grid!important;
 place-items:center!important;
 width:34px!important;
 height:34px!important;
 min-width:34px!important;
 padding:0!important;
 border-radius:9px!important;
 background:color-mix(in srgb,var(--accent) 14%,var(--panel))!important;
 border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line))!important;
 color:var(--text)!important;
 text-decoration:none!important;
 font-size:.95rem!important;
 font-weight:800!important;
}
.file-download-icon-button:hover{
 background:color-mix(in srgb,var(--accent) 22%,var(--panel))!important;
 text-decoration:none!important;
}

/* beta8.259 — consistent download actions in every File Storage view */
.file-download-action{
 display:inline-flex!important;
 align-items:center!important;
 justify-content:center!important;
 gap:6px!important;
 min-height:36px!important;
 padding:7px 11px!important;
 border:1px solid var(--line)!important;
 border-radius:9px!important;
 background:var(--panel)!important;
 color:var(--text)!important;
 text-decoration:none!important;
 font-weight:600!important;
 line-height:1!important;
 white-space:nowrap;
 box-shadow:none!important;
}
.file-download-action:hover{
 background:color-mix(in srgb,var(--accent) 8%,var(--panel))!important;
 border-color:color-mix(in srgb,var(--accent) 32%,var(--line))!important;
 text-decoration:none!important;
}

/* Card and List action groups stay visually balanced. */
.file-card-actions,
.file-list-actions{
 display:flex!important;
 align-items:center!important;
 gap:7px!important;
 flex-wrap:wrap;
}
.file-card-actions .file-download-action,
.file-list-actions .file-download-action{
 min-height:36px!important;
}

/* Details action buttons share one exact geometry so Download / Info / More align. */
.file-detail-actions{
 display:flex!important;
 align-items:center!important;
 justify-content:flex-end!important;
 gap:6px!important;
 white-space:nowrap;
}
.file-detail-action-button{
 display:inline-grid!important;
 place-items:center!important;
 width:38px!important;
 height:38px!important;
 min-width:38px!important;
 min-height:38px!important;
 padding:0!important;
 margin:0!important;
 border:1px solid var(--line)!important;
 border-radius:10px!important;
 background:var(--panel)!important;
 color:var(--text)!important;
 text-decoration:none!important;
 line-height:1!important;
 box-sizing:border-box!important;
 vertical-align:middle!important;
}
.file-detail-action-button:hover{
 background:color-mix(in srgb,var(--accent) 8%,var(--panel))!important;
 border-color:color-mix(in srgb,var(--accent) 32%,var(--line))!important;
 text-decoration:none!important;
}
.file-detail-actions .file-download-icon-button{
 background:color-mix(in srgb,var(--accent) 12%,var(--panel))!important;
 border-color:color-mix(in srgb,var(--accent) 36%,var(--line))!important;
}

/* Override older beta8.258 geometry so the Details icon cannot sit off-centre. */
.file-download-icon-button{
 width:38px!important;
 height:38px!important;
 min-width:38px!important;
 min-height:38px!important;
 padding:0!important;
 margin:0!important;
 border-radius:10px!important;
 border:1px solid color-mix(in srgb,var(--accent) 36%,var(--line))!important;
 box-sizing:border-box!important;
 vertical-align:middle!important;
}

@media(max-width:600px){
 .file-download-action{
  padding:7px 9px!important;
 }
}

/* beta8.260 — Details-view download control: force same framed button as sibling actions.
   Anchor-specific rules deliberately override generic .icon-button / link resets. */
.file-detail-actions > a.file-download-icon-button.file-detail-action-button,
.file-detail-actions > a.file-download-icon-button.file-detail-action-button:link,
.file-detail-actions > a.file-download-icon-button.file-detail-action-button:visited{
 display:inline-flex!important;
 align-items:center!important;
 justify-content:center!important;
 flex:0 0 38px!important;
 width:38px!important;
 height:38px!important;
 min-width:38px!important;
 min-height:38px!important;
 max-width:38px!important;
 max-height:38px!important;
 padding:0!important;
 margin:0!important;
 box-sizing:border-box!important;
 border:1px solid var(--line)!important;
 border-radius:10px!important;
 background:var(--panel)!important;
 color:var(--text)!important;
 text-decoration:none!important;
 box-shadow:none!important;
 line-height:1!important;
 appearance:none!important;
 -webkit-appearance:none!important;
}
.file-detail-actions > a.file-download-icon-button.file-detail-action-button:hover,
.file-detail-actions > a.file-download-icon-button.file-detail-action-button:focus-visible{
 border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line))!important;
 background:color-mix(in srgb,var(--accent) 8%,var(--panel))!important;
 text-decoration:none!important;
 outline:none;
}

/* beta8.261 — File Storage hover parity + double-click primary targets */
.file-detail-actions > a.file-download-icon-button.file-detail-action-button:hover,
.file-detail-actions > a.file-download-icon-button.file-detail-action-button:focus-visible{
 border-color:var(--text)!important;
 background:var(--panel)!important;
 color:var(--text)!important;
 text-decoration:none!important;
 box-shadow:none!important;
}
.file-detail-actions > button.file-detail-action-button:hover,
.file-detail-actions > button.file-detail-action-button:focus-visible{
 border-color:var(--text)!important;
 background:var(--panel)!important;
 color:var(--text)!important;
}
.file-primary-target{cursor:default;user-select:none}
.file-card-primary{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;width:100%;padding:4px;margin:-4px;border-radius:8px}
.file-card-primary>strong{display:block;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.file-list-primary{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:4px 6px;margin:-4px -6px;border-radius:8px}
.file-detail-name.file-primary-target{padding:4px 6px;margin:-4px -6px;border-radius:8px}
.file-card-primary:hover,.file-list-primary:hover,.file-detail-name.file-primary-target:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}
.file-card-primary .file-thumbnail-button{cursor:pointer}

/* beta8.262 — modern Explorer-style File Storage navigation */
.file-navigation-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 14px;min-height:48px}
.file-navigation-left{display:flex;align-items:center;gap:8px;min-width:0;flex:1}
.file-up-button,.file-nav-utility{
 display:inline-grid!important;place-items:center!important;flex:0 0 42px!important;
 width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;
 padding:0!important;border:1px solid var(--line)!important;border-radius:10px!important;
 background:var(--panel)!important;color:var(--text)!important;font-size:1.15rem!important;font-weight:800!important;line-height:1!important
}
.file-up-button:not(:disabled):hover,.file-nav-utility:hover{border-color:var(--text)!important;background:color-mix(in srgb,var(--accent) 7%,var(--panel))!important}
.file-up-button:disabled{opacity:.42;cursor:not-allowed!important}
.file-path-shell{
 display:flex;align-items:center;gap:8px;min-width:0;flex:1;min-height:42px;padding:0 12px;
 border:1px solid var(--line);border-radius:10px;background:var(--panel)
}
.file-path-icon{flex:0 0 auto;font-size:.95rem}
.file-path-shell .drive-breadcrumbs{display:flex;align-items:center;gap:5px;min-width:0;margin:0!important;overflow:hidden;white-space:nowrap}
.file-path-shell .drive-breadcrumbs .crumb{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-navigation-right{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.drive-toolbar{margin-bottom:0!important}

/* Filename/icon is visibly interactive in every view. */
.file-primary-target{cursor:pointer!important;transition:background .12s ease,box-shadow .12s ease}
.file-primary-target strong,
.file-primary-target .file-list-icon,
.file-primary-target .file-mini-thumb,
.file-primary-target .file-list-thumb,
.file-primary-target .file-icon,
.file-primary-target .file-thumbnail{cursor:pointer!important}
.file-card-primary.file-primary-target:hover{background:color-mix(in srgb,var(--accent) 9%,var(--panel))!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 24%,var(--line))}
.file-list-primary.file-primary-target:hover,.file-detail-name.file-primary-target:hover{background:color-mix(in srgb,var(--accent) 9%,var(--panel))!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 22%,var(--line))}
.file-detail-row:hover,.file-list-row:hover{background:color-mix(in srgb,var(--accent) 3%,var(--panel))!important}

@media(max-width:1180px){
 .file-navigation-bar{align-items:stretch;flex-direction:column}
 .file-navigation-right{justify-content:flex-end}
}
@media(max-width:760px){
 .file-navigation-right{justify-content:space-between;width:100%}
 .file-navigation-right .file-view-label{display:none}
 .file-navigation-right .file-view-switcher{flex:1}
 .file-path-shell .drive-breadcrumbs .crumb{max-width:130px}
}

.mobile-settings-panel input[type=color]{height:46px;padding:4px}


/* beta8.322 — streamlined email-template status and system-use metadata */
.email-template-heading{align-items:flex-start;gap:18px;margin-bottom:14px}
.email-template-status{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.template-state{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel) 94%,var(--bg));color:var(--muted);font-size:.76rem;font-weight:700;line-height:1}
.template-state-dot{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.75}
.template-state.is-enabled{background:#edf9f0;border-color:#d5eadb;color:#247343}
.template-state.is-disabled{background:#f5f6f7;color:#697386}
.template-state.is-required{background:color-mix(in srgb,var(--gold) 12%,var(--panel));border-color:color-mix(in srgb,var(--gold) 38%,var(--line));color:var(--text)}
.template-state.is-unassigned{background:#f5f6f7;color:#667085}
.template-usage{display:flex;align-items:center;gap:11px;margin:0 0 18px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 97%,var(--bg))}
.template-usage-icon{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:8px;background:color-mix(in srgb,var(--gold) 14%,var(--panel));color:var(--text);font-weight:800}
.template-usage>div{display:flex;align-items:baseline;gap:8px;min-width:0;flex-wrap:wrap}
.template-usage small{color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.template-usage strong{font-size:.86rem;font-weight:650}
.template-usage.is-optional .template-usage-icon{background:#f2f4f7;color:#667085}
@media(max-width:700px){
 .email-template-heading{align-items:stretch}
 .email-template-status{justify-content:flex-start}
 .template-usage>div{display:grid;gap:2px}
}


/* beta8.324 — polished email template preview */
.email-template-preview-modal{z-index:12500}
.email-template-preview-card{
 width:min(1160px,96vw)!important;
 max-width:none!important;
 height:min(900px,94vh)!important;
 max-height:94vh!important;
 padding:0!important;
 display:flex!important;
 flex-direction:column!important;
 overflow:hidden!important;
}
.email-template-preview-card>.modal-title{
 flex:0 0 auto;
 margin:0;
 padding:16px 20px;
 border-bottom:1px solid color-mix(in srgb,var(--accent,#fecb3f) 35%,var(--line,#ddd));
 background:color-mix(in srgb,var(--accent,#fecb3f) 78%,white);
}
.email-preview-title h2{margin:0 0 2px}
.email-template-preview-envelope{
 flex:1 1 auto!important;
 min-height:0!important;
 margin:14px 20px 0;
 border:1px solid var(--line,#ddd);
 border-radius:12px;
 overflow:hidden;
 background:#eef1f5;
 display:flex;
 flex-direction:column;
}
.email-template-preview-meta{
 flex:0 0 auto;
 display:grid;
 grid-template-columns:1fr;
 gap:5px;
 padding:12px 16px;
 border-bottom:1px solid var(--line,#ddd);
 background:var(--panel,#fff);
 font-size:.84rem;
 line-height:1.35;
}
.email-template-preview-meta>div{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px}
.email-template-preview-meta span{color:var(--muted,#667085);font-weight:650}
.email-template-preview-meta strong{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.email-template-preview-frame-wrap{flex:1 1 auto;min-height:0;background:#eef1f5}
.email-template-preview-envelope iframe{
 display:block;
 width:100%;
 height:100%!important;
 min-height:0;
 border:0;
 background:#eef1f5;
}
.email-template-preview-card>.modal-actions.email-template-preview-actions{
 flex:0 0 auto!important;
 position:static!important;
 margin:14px 0 0!important;
 padding:12px 20px!important;
 border-top:1px solid color-mix(in srgb,var(--accent,#fecb3f) 35%,var(--line,#ddd));
 background:color-mix(in srgb,var(--accent,#fecb3f) 78%,white)!important;
 align-items:center;
}
@media(max-width:700px){
 .email-template-preview-card{width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important}
 .email-template-preview-envelope{margin:10px 10px 0}
 .email-template-preview-meta>div{grid-template-columns:48px minmax(0,1fr)}
 .email-template-preview-card>.modal-actions.email-template-preview-actions{padding:10px 12px!important}
}


/* beta8.327 — balanced Member profile and receipt preview */
.member-profile-modal{width:min(1280px,96vw)!important}
.member-profile-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;padding:2px 0 18px}
.member-profile-card,.member-payments-card{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:18px;min-width:0}
.member-payments-card{margin-bottom:4px}
.member-profile-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.member-profile-section-head h3{margin:2px 0 0}
.member-profile-section-head .eyebrow{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800}
.member-profile-detail-list{grid-template-columns:repeat(2,minmax(0,1fr));border:0;border-radius:0;gap:1px;background:var(--line)}
.member-profile-detail-list>div{border:0!important;min-width:0}
.member-profile-detail-list .member-detail-wide{grid-column:1/-1}
.member-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}
.member-action-grid button{width:100%;justify-content:center}
.member-payment-table th:last-child,.member-payment-table td:last-child{min-width:245px}
.payment-row-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.payment-row-actions button{white-space:nowrap}
.danger-outline{color:#a61b1b!important;border-color:#e1b6b6!important;background:#fff!important}
.link-button{border:0!important;background:transparent!important;padding:0!important;min-height:auto!important;color:var(--link,#155eef)!important;text-decoration:underline;cursor:pointer}
.payment-receipt-preview-card{width:min(1120px,96vw)!important;height:min(880px,94vh)!important;max-height:94vh!important;padding:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
.payment-receipt-preview-card>.modal-title{flex:0 0 auto;padding:16px 20px;margin:0;border-bottom:1px solid var(--line)}
.payment-receipt-preview-frame{flex:1 1 auto;min-height:0;padding:12px;background:#eef1f5}
.payment-receipt-preview-frame iframe{display:block;width:100%;height:100%;border:1px solid var(--line);border-radius:10px;background:#fff}
.payment-receipt-preview-card>.modal-actions{flex:0 0 auto;margin:0!important;padding:12px 20px!important;border-top:1px solid var(--line)}
@media(max-width:900px){.member-profile-overview{grid-template-columns:1fr}.member-action-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.member-action-grid{grid-template-columns:1fr}.payment-receipt-preview-card{width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important}}


/* beta8.328 — sleek clickable Member directory rows */
.member-directory-panel{padding:0;overflow:hidden}
.member-directory-table{margin:0}
.member-directory-table thead th{
 background:color-mix(in srgb,var(--panel) 97%,var(--bg));
 color:var(--muted);
 font-size:.76rem;
 font-weight:750;
 text-transform:uppercase;
 letter-spacing:.035em;
 border-bottom:1px solid var(--line);
}
.member-directory-row{
 cursor:pointer;
 outline:none;
}
.member-directory-row td{
 border-bottom:1px solid color-mix(in srgb,var(--line) 78%,transparent);
 background:var(--panel);
 transition:background-color .14s ease,box-shadow .14s ease;
}
.member-directory-row:last-child td{border-bottom:0}
.member-directory-row:hover td,
.member-directory-row:focus-visible td{
 background:color-mix(in srgb,var(--accent,#fecb3f) 7%,var(--panel));
}
.member-directory-row:focus-visible td:first-child{
 box-shadow:inset 3px 0 0 var(--accent,#fecb3f);
}
.member-directory-row:active td{
 background:color-mix(in srgb,var(--accent,#fecb3f) 11%,var(--panel));
}
.member-directory-row strong{font-weight:750}
.member-status-pill{
 display:inline-flex;
 align-items:center;
 min-height:26px;
 padding:4px 9px;
 border-radius:999px;
 background:#f2f4f7;
 color:#5f6875;
 font-size:.76rem;
 font-weight:700;
 text-transform:capitalize;
}
.member-status-pill.is-active{
 background:#edf8f0;
 color:#267044;
}
.member-directory-actions-head,
.member-directory-actions{
 width:1%;
 white-space:nowrap;
 text-align:right;
}
.member-row-payment{
 position:relative;
 z-index:2;
 white-space:nowrap;
}
.member-directory-row:hover .member-row-payment{
 border-color:color-mix(in srgb,var(--accent,#fecb3f) 45%,var(--line));
}
@media(max-width:760px){
 .member-directory-panel{overflow-x:auto}
 .member-directory-table{min-width:780px}
}


/* beta8.329 — consistent dialog dismissal + unsaved-change guard */
.modal-backdrop{
 cursor:default;
}
.modal-backdrop>.modal-card{
 cursor:default;
}
.modal-backdrop[data-dismiss-hint="1"]{
 cursor:pointer;
}
.dialog-unsaved-question .question-actions{
 flex-wrap:wrap;
}
.dialog-unsaved-question .danger-outline{
 color:#a61b1b;
 border-color:#e2b7b7;
 background:#fff;
}
.dialog-unsaved-question .danger-outline:hover{
 background:#fff5f5;
}
@media(max-width:560px){
 .dialog-unsaved-question .question-actions{
  display:grid;
  grid-template-columns:1fr;
 }
 .dialog-unsaved-question .question-actions button{
  width:100%;
 }
}


/* beta8.330 — compact Member Portal profile hero */
.member-portal-hero{
 display:grid;
 grid-template-columns:minmax(0,1fr) auto;
 align-items:center;
 gap:22px;
 margin:0 0 18px;
 padding:16px 18px;
 border:1px solid color-mix(in srgb,var(--line) 88%,transparent);
 border-radius:18px;
 background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 98%,var(--accent,#fecb3f)) 0%,var(--panel) 72%);
 box-shadow:0 8px 28px rgba(15,23,42,.055);
 overflow:hidden;
}
.member-portal-identity{display:flex;align-items:center;gap:14px;min-width:0}
.member-portal-avatar{
 flex:0 0 68px;
 width:68px;height:68px;
 border-radius:18px;
 display:grid;place-items:center;
 overflow:hidden;
 background:color-mix(in srgb,var(--accent,#fecb3f) 14%,var(--panel));
 border:1px solid color-mix(in srgb,var(--accent,#fecb3f) 34%,var(--line));
 color:var(--text);
 font-size:1.25rem;
 font-weight:850;
 box-shadow:0 4px 14px rgba(15,23,42,.06);
}
.member-portal-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.member-portal-welcome{min-width:0}
.member-portal-welcome h1,.member-portal-welcome h2,.member-portal-welcome h3{margin:0 0 5px;line-height:1.15}
.member-portal-welcome h2{font-size:1.28rem}
.member-portal-welcome p{margin:0;color:var(--muted);line-height:1.45;font-size:.92rem}
.member-portal-welcome p+p{margin-top:6px}
.member-portal-facts{
 display:grid;
 grid-template-columns:repeat(3,minmax(120px,auto));
 align-items:stretch;
 gap:8px;
}
.member-portal-facts>div{
 display:flex;
 flex-direction:column;
 justify-content:center;
 min-width:125px;
 padding:9px 12px;
 border-left:1px solid var(--line);
}
.member-portal-facts span{font-size:.7rem;text-transform:uppercase;letter-spacing:.045em;color:var(--muted);font-weight:750}
.member-portal-facts strong{margin-top:2px;font-size:.95rem;white-space:nowrap}
.member-portal-facts small{margin-top:2px;color:var(--muted);font-size:.7rem}
.portal-welcome-settings [data-rich-editor]{margin-top:10px}
.portal-welcome-settings .wysiwyg-editor{min-height:180px}
@media(max-width:980px){
 .member-portal-hero{grid-template-columns:1fr;align-items:start}
 .member-portal-facts{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);padding-top:10px}
 .member-portal-facts>div{border-left:0;padding:6px 8px}
}
@media(max-width:620px){
 .member-portal-hero{padding:14px;border-radius:15px;gap:13px}
 .member-portal-avatar{flex-basis:54px;width:54px;height:54px;border-radius:14px}
 .member-portal-identity{align-items:flex-start}
 .member-portal-facts{grid-template-columns:1fr;gap:0}
 .member-portal-facts>div{display:grid;grid-template-columns:95px minmax(0,1fr);align-items:center;border-top:1px solid color-mix(in srgb,var(--line) 75%,transparent);padding:7px 0}
 .member-portal-facts>div:first-child{border-top:0}
 .member-portal-facts strong{margin:0;white-space:normal}
}


/* beta8.331 — universal Module Hero Header */
#page-head{
 padding:0;
 margin:0 0 14px;
}
.module-hero-header{
 position:relative;
 display:flex;
 align-items:center;
 min-height:76px;
 padding:13px 18px 13px 22px;
 border:1px solid color-mix(in srgb,var(--line) 82%,transparent);
 border-radius:17px;
 background:color-mix(in srgb,var(--panel) 92%,transparent);
 box-shadow:0 7px 24px rgba(15,23,42,.055);
 backdrop-filter:blur(10px) saturate(108%);
 -webkit-backdrop-filter:blur(10px) saturate(108%);
 overflow:hidden;
}
.module-hero-accent{
 position:absolute;
 left:0;
 top:13px;
 bottom:13px;
 width:4px;
 border-radius:0 4px 4px 0;
 background:var(--accent,#fecb3f);
}
.module-hero-copy{min-width:0}
.module-hero-header h1{
 margin:0;
 color:var(--text);
 font-size:clamp(1.45rem,2vw,1.9rem);
 line-height:1.08;
 font-weight:820;
 letter-spacing:-.025em;
 text-shadow:none;
}
.module-hero-header p{
 margin:6px 0 0;
 max-width:900px;
 color:var(--muted);
 font-size:.91rem;
 line-height:1.38;
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .module-hero-header{background:color-mix(in srgb,var(--panel) 97%,var(--bg))}
}
@media(max-width:700px){
 #page-head{margin-bottom:11px}
 .module-hero-header{
  min-height:0;
  padding:12px 14px 12px 18px;
  border-radius:14px;
 }
 .module-hero-accent{top:11px;bottom:11px;width:3px}
 .module-hero-header h1{font-size:1.38rem}
 .module-hero-header p{margin-top:4px;font-size:.84rem}
}


/* beta8.332 — slim application-window style workspace/card headers */
.workspace-window-head{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:14px;
 min-height:46px;
 margin:0;
 padding:7px 9px 7px 14px;
 border:1px solid color-mix(in srgb,var(--line) 88%,transparent);
 border-bottom-color:color-mix(in srgb,var(--line) 96%,transparent);
 border-radius:13px 13px 0 0;
 background:color-mix(in srgb,var(--panel) 96%,var(--bg));
 box-shadow:0 3px 12px rgba(15,23,42,.035);
}
.workspace-window-copy{
 display:flex;
 align-items:baseline;
 gap:10px;
 min-width:0;
}
.workspace-window-copy strong{
 color:var(--text);
 font-size:.94rem;
 font-weight:800;
 line-height:1.15;
 white-space:nowrap;
}
.workspace-window-copy span{
 min-width:0;
 color:var(--muted);
 font-size:.8rem;
 line-height:1.25;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}
.workspace-window-actions{
 display:flex;
 align-items:center;
 justify-content:flex-end;
 gap:7px;
 flex:0 0 auto;
}
.workspace-window-actions button,
.workspace-window-actions .button{
 min-height:32px;
 padding:6px 11px;
 border-radius:9px;
 font-size:.82rem;
 box-shadow:none;
}
.workspace-window-actions .primary{box-shadow:none}

/* Visually join the title strip to the content panel immediately beneath it. */
.workspace-window-head + .panel,
.workspace-window-head + .table-wrap,
.workspace-window-head + .task-browser{
 margin-top:0!important;
 border-top-left-radius:0!important;
 border-top-right-radius:0!important;
 border-top:0!important;
}
.workspace-window-head + .task-browser{
 box-shadow:0 7px 20px rgba(15,23,42,.04);
}

/* Generic opt-in variation for other card headers as modules are migrated. */
.window-strip-toolbar{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:14px;
 min-height:44px;
 padding:7px 10px 7px 14px;
 border:1px solid var(--line);
 border-radius:12px 12px 0 0;
 background:color-mix(in srgb,var(--panel) 96%,var(--bg));
}
.window-strip-toolbar h2,
.window-strip-toolbar h3,
.window-strip-toolbar strong{margin:0;font-size:.94rem}
.window-strip-toolbar p,
.window-strip-toolbar .muted{margin:2px 0 0;font-size:.78rem}

@media(max-width:760px){
 .workspace-window-head{
  align-items:flex-start;
  flex-direction:column;
  padding:9px 10px 9px 12px;
 }
 .workspace-window-copy{
  display:block;
  width:100%;
 }
 .workspace-window-copy strong{
  display:block;
  white-space:normal;
 }
 .workspace-window-copy span{
  display:block;
  margin-top:2px;
  white-space:normal;
 }
 .workspace-window-actions{
  width:100%;
  justify-content:flex-start;
  flex-wrap:wrap;
 }
}


/* beta8.333 — Executive Mail navigation panel */
.mail-sidebar,
.mail-nav,
.mail-folder-sidebar,
.mailbox-sidebar{
 background:color-mix(in srgb,var(--panel) 95%,transparent);
 border:1px solid color-mix(in srgb,var(--line) 88%,transparent);
 border-radius:15px;
 box-shadow:0 6px 20px rgba(15,23,42,.05);
 backdrop-filter:blur(9px) saturate(106%);
 -webkit-backdrop-filter:blur(9px) saturate(106%);
}

/* Preserve a compact application-panel feel when the sidebar uses the mail rail class. */
.mail-sidebar,
.mail-folder-sidebar,
.mailbox-sidebar{
 padding:10px;
}

/* Fallback for the Executive Mail two-column navigation rail used by current builds. */
.mail-shell > aside,
.mail-layout > aside,
.executive-mail-layout > aside{
 background:color-mix(in srgb,var(--panel) 95%,transparent);
 border:1px solid color-mix(in srgb,var(--line) 88%,transparent);
 border-radius:15px;
 box-shadow:0 6px 20px rgba(15,23,42,.05);
 backdrop-filter:blur(9px) saturate(106%);
 -webkit-backdrop-filter:blur(9px) saturate(106%);
 padding:10px;
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .mail-sidebar,.mail-nav,.mail-folder-sidebar,.mailbox-sidebar,
 .mail-shell > aside,.mail-layout > aside,.executive-mail-layout > aside{
  background:var(--panel);
 }
}


/* beta8.334 — universal functional-card window headers */
.workspace-window-head{
 min-height:48px;
 padding:8px 10px 8px 15px;
}

.workspace-window-copy{
 gap:11px;
}

.workspace-window-copy strong{
 font-size:1.03rem;
 font-weight:780;
 line-height:1.2;
 letter-spacing:-.012em;
}

.workspace-window-copy span{
 font-size:.83rem;
 line-height:1.35;
}

.auto-window-head{
 margin:-1px -1px 0;
 border-left-color:color-mix(in srgb,var(--line) 92%,transparent);
 border-right-color:color-mix(in srgb,var(--line) 92%,transparent);
 border-top-color:color-mix(in srgb,var(--line) 92%,transparent);
 background:linear-gradient(
  180deg,
  color-mix(in srgb,var(--panel) 99%,var(--bg)) 0%,
  color-mix(in srgb,var(--panel) 95%,var(--bg)) 100%
 );
 box-shadow:0 2px 8px rgba(15,23,42,.028);
}

.panel[data-window-header-enhanced="1"]{
 padding-top:0;
 overflow:hidden;
}

.panel[data-window-header-enhanced="1"] > .workspace-window-head:first-child{
 margin-left:calc(var(--panel-padding, 0px) * -1);
 margin-right:calc(var(--panel-padding, 0px) * -1);
}

/* Most existing panels use their own padding rather than a variable, so the
   auto header intentionally reaches the panel border via negative 1px only.
   Content retains its original spacing beneath the strip. */
.panel[data-window-header-enhanced="1"] > .auto-window-head + *{
 margin-top:16px;
}

/* Forms and tables immediately under a framed title should feel connected. */
.panel[data-window-header-enhanced="1"] > .auto-window-head + form,
.panel[data-window-header-enhanced="1"] > .auto-window-head + .table-scroll,
.panel[data-window-header-enhanced="1"] > .auto-window-head + .table-wrap{
 margin-top:14px;
}

@media(max-width:760px){
 .workspace-window-head{
  min-height:0;
  padding:9px 11px 9px 13px;
 }
 .workspace-window-copy strong{
  font-size:.98rem;
 }
 .workspace-window-copy span{
  font-size:.8rem;
 }
}


/* beta8.335 — functional header is the card's actual top frame, not a nested card */
.panel[data-window-header-enhanced="1"]{
 --functional-panel-pad:18px;
 overflow:hidden;
 padding-top:0!important;
}

/* Reach through the parent's normal horizontal padding to the real outer border. */
.panel[data-window-header-enhanced="1"] > .auto-window-head:first-child{
 width:auto;
 margin:
  -1px
  calc(var(--functional-panel-pad) * -1)
  0
  calc(var(--functional-panel-pad) * -1)!important;
 padding-left:var(--functional-panel-pad);
 padding-right:12px;
 border-left:0;
 border-right:0;
 border-top:0;
 border-radius:inherit;
 border-bottom-left-radius:0;
 border-bottom-right-radius:0;
 box-shadow:none;
}

/* Existing toolbar-based functional panels use the same full-width frame. */
.panel[data-window-header-enhanced="1"] > .toolbar.workspace-window-head:first-child{
 width:auto;
 margin:
  -1px
  calc(var(--functional-panel-pad) * -1)
  0
  calc(var(--functional-panel-pad) * -1)!important;
 padding-left:var(--functional-panel-pad);
 padding-right:12px;
 border-left:0;
 border-right:0;
 border-top:0;
 border-radius:inherit;
 border-bottom-left-radius:0;
 border-bottom-right-radius:0;
 box-shadow:none;
}

/* Do not visually double the parent's rounded frame. */
.panel[data-window-header-enhanced="1"] > .workspace-window-head:first-child::before,
.panel[data-window-header-enhanced="1"] > .workspace-window-head:first-child::after{
 display:none;
}

@media(max-width:760px){
 .panel[data-window-header-enhanced="1"]{
  --functional-panel-pad:14px;
 }
 .panel[data-window-header-enhanced="1"] > .auto-window-head:first-child,
 .panel[data-window-header-enhanced="1"] > .toolbar.workspace-window-head:first-child{
  padding-left:var(--functional-panel-pad);
  padding-right:10px;
 }
}


/* beta8.336 — semantic design tokens + portable theme library */
:root{
 --primary:#171717;
 --accent:#fecb3f;
 --dialog-title-bg:#fecb3f;
 --dialog-title-text:#111111;
 --section-title-bg:#ffffff;
 --section-title-text:#202124;
}
.primary{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}

/* Every functional card header now uses the exact same component/tokens. */
.workspace-window-head,
.auto-window-head,
.panel[data-window-header-enhanced="1"] > .toolbar.workspace-window-head:first-child{
 background:var(--section-title-bg)!important;
 color:var(--section-title-text)!important;
}
.workspace-window-copy strong{color:var(--section-title-text)!important}
.workspace-window-actions button.primary{background:var(--primary)!important}

/* Dialog title role is independently themeable. Existing specialist dialogs may
   override layout, but inherit these colour tokens. */
.modal-card > .modal-title{
 background:var(--dialog-title-bg);
 color:var(--dialog-title-text);
}
.modal-card > .modal-title h1,
.modal-card > .modal-title h2,
.modal-card > .modal-title h3{color:inherit}

/* Theme library */
.theme-library-panel{margin-bottom:16px}
.theme-library-grid{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:end}
.theme-library-actions{display:flex;gap:7px;align-items:center;padding-bottom:11px}
.theme-library-save{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px;align-items:end;border-top:1px solid var(--line);margin-top:4px;padding-top:10px}
.theme-library-save button{margin-bottom:11px}
.theme-library-import{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px;margin-top:2px}
.theme-library-import .button-like{margin:0}
@media(max-width:760px){
 .theme-library-grid,.theme-library-save{grid-template-columns:1fr}
 .theme-library-actions{padding-bottom:0;flex-wrap:wrap}
 .theme-library-save button{margin-bottom:0}
}

/* Theme preview reflects semantic title colours too. */
.theme-preview-head{background:var(--dialog-title-bg);color:var(--dialog-title-text)}


/* beta8.337 — module creation actions live in section title bars */
.module-action-dialog .modal-card{
 width:min(680px,calc(100vw - 32px));
}
.module-action-dialog .modal-card.wide{
 width:min(980px,calc(100vw - 32px));
}
.module-action-dialog .modal-title{
 margin-bottom:0;
}
.module-action-dialog .modal-title + form{
 padding-top:14px;
}
.module-action-dialog fieldset{
 margin-top:14px;
}
.workspace-window-actions .primary,
.panel[data-window-header-enhanced="1"] > .workspace-window-head .primary{
 min-height:32px;
}
@media(max-width:650px){
 .module-action-dialog .modal-card,
 .module-action-dialog .modal-card.wide{
  width:100%;
 }
}


/* beta8.338 — polished system-wide dialog scrolling */
.modal-card{
 overflow:hidden!important;
 display:flex;
 flex-direction:column;
}

/* Header always stays inside the rounded frame and never participates in scrolling. */
.modal-card > .modal-title,
.modal-frame-title{
 flex:0 0 auto;
 position:relative;
 z-index:3;
 margin-bottom:0!important;
}

/* Form-based dialogs scroll inside the frame rather than on the outer card. */
.modal-card > form.modal-frame-scroll{
 flex:1 1 auto;
 min-height:0;
 overflow-y:auto;
 overflow-x:hidden;
 padding:16px 18px 0;
 margin:0 -18px 0;
 scrollbar-width:thin;
 scrollbar-color:
  color-mix(in srgb,var(--accent,#fecb3f) 48%,#7b8490)
  transparent;
}

/* Existing dialogs that already have a dedicated body/frame inherit the same scrollbar. */
.modal-frame-scroll:not(form){
 scrollbar-width:thin;
 scrollbar-color:
  color-mix(in srgb,var(--accent,#fecb3f) 48%,#7b8490)
  transparent;
}

/* Chromium/WebKit scrollbar styling */
.modal-frame-scroll::-webkit-scrollbar{
 width:8px;
 height:8px;
}
.modal-frame-scroll::-webkit-scrollbar-track{
 background:transparent;
 margin:7px 0;
}
.modal-frame-scroll::-webkit-scrollbar-thumb{
 background:color-mix(in srgb,var(--accent,#fecb3f) 42%,#8a929d);
 border-radius:999px;
 border:2px solid transparent;
 background-clip:padding-box;
}
.modal-frame-scroll::-webkit-scrollbar-thumb:hover{
 background:color-mix(in srgb,var(--accent,#fecb3f) 60%,#69717d);
 border:2px solid transparent;
 background-clip:padding-box;
}

/* Keep action bars visually anchored at the bottom of long forms. */
.modal-frame-scroll > .modal-actions.modal-frame-actions{
 position:sticky;
 bottom:0;
 z-index:4;
 margin:16px -18px 0!important;
 padding:11px 18px 12px!important;
 border-top:1px solid color-mix(in srgb,var(--line) 88%,transparent);
 background:color-mix(in srgb,var(--dialog-title-bg,var(--panel)) 88%,var(--panel));
 box-shadow:0 -8px 18px rgba(15,23,42,.045);
}

/* Direct action bars used by non-form dialogs remain fixed to the frame. */
.modal-card > .modal-actions.modal-frame-actions{
 flex:0 0 auto;
 margin-top:0!important;
}

/* Avoid content touching the scrollbar or the rounded frame. */
.modal-card > form.modal-frame-scroll > :first-child{
 margin-top:0;
}
.modal-card > form.modal-frame-scroll > :last-child:not(.modal-actions){
 margin-bottom:16px;
}

/* Large dialogs gain a little more breathing room without making the bar intrusive. */
.modal-card.wide > form.modal-frame-scroll,
.modal-card.extra-wide > form.modal-frame-scroll{
 padding-right:20px;
 padding-left:20px;
 margin-left:-20px;
 margin-right:-20px;
}
.modal-card.wide .modal-frame-scroll > .modal-actions.modal-frame-actions,
.modal-card.extra-wide .modal-frame-scroll > .modal-actions.modal-frame-actions{
 margin-left:-20px!important;
 margin-right:-20px!important;
 padding-left:20px!important;
 padding-right:20px!important;
}

/* The outer frame owns the radius now; native scrollbar gutters never square it off. */
.modal-card,
.modal-card.wide,
.modal-card.extra-wide{
 background:var(--panel);
 border-radius:var(--theme-radius,14px);
}

@media(max-width:650px){
 .modal-card > form.modal-frame-scroll{
  padding-left:14px;
  padding-right:14px;
  margin-left:-14px;
  margin-right:-14px;
 }
 .modal-frame-scroll > .modal-actions.modal-frame-actions{
  margin-left:-14px!important;
  margin-right:-14px!important;
  padding-left:14px!important;
  padding-right:14px!important;
 }
}


/* beta8.339 — inset modal scrollbar: never touches the rounded outer frame */
.modal-card{
 position:relative;
 overflow:hidden!important;
}

/* Scroll viewport is inset from the outer dialog edge.  The right padding is
   intentionally larger than the left so the scrollbar lives inside the content,
   rather than becoming part of the window frame. */
.modal-card > form.modal-frame-scroll{
 margin-left:0!important;
 margin-right:0!important;
 padding-left:18px!important;
 padding-right:22px!important;
 scrollbar-gutter:stable;
}

/* Chromium / Edge: remove native arrow buttons and keep a slim floating thumb. */
.modal-frame-scroll::-webkit-scrollbar{
 width:10px!important;
 height:10px!important;
}
.modal-frame-scroll::-webkit-scrollbar-button,
.modal-frame-scroll::-webkit-scrollbar-button:single-button{
 width:0!important;
 height:0!important;
 display:none!important;
 background:transparent!important;
}
.modal-frame-scroll::-webkit-scrollbar-track,
.modal-frame-scroll::-webkit-scrollbar-track-piece{
 background:transparent!important;
 border:0!important;
 margin:10px 0!important;
}
.modal-frame-scroll::-webkit-scrollbar-corner{
 background:transparent!important;
}
.modal-frame-scroll::-webkit-scrollbar-thumb{
 min-height:42px;
 border:3px solid transparent!important;
 border-radius:999px!important;
 background:
 color-mix(in srgb,var(--section-title-text,#202124) 42%,transparent)!important;
 background-clip:padding-box!important;
}
.modal-frame-scroll::-webkit-scrollbar-thumb:hover{
 background:
 color-mix(in srgb,var(--accent,#fecb3f) 68%,var(--section-title-text,#202124))!important;
 background-clip:padding-box!important;
}

/* Firefox */
.modal-frame-scroll{
 scrollbar-width:thin;
 scrollbar-color:
 color-mix(in srgb,var(--section-title-text,#202124) 38%,transparent)
 transparent;
}

/* Footer belongs to the inner viewport, not the outer frame. */
.modal-frame-scroll > .modal-actions.modal-frame-actions{
 margin-left:-18px!important;
 margin-right:-22px!important;
 padding-left:18px!important;
 padding-right:22px!important;
}

/* Wide dialogs use exactly the same geometry; no special negative margins that
   can push the native scrollbar back onto the rounded edge. */
.modal-card.wide > form.modal-frame-scroll,
.modal-card.extra-wide > form.modal-frame-scroll{
 margin-left:0!important;
 margin-right:0!important;
 padding-left:20px!important;
 padding-right:24px!important;
}
.modal-card.wide .modal-frame-scroll > .modal-actions.modal-frame-actions,
.modal-card.extra-wide .modal-frame-scroll > .modal-actions.modal-frame-actions{
 margin-left:-20px!important;
 margin-right:-24px!important;
 padding-left:20px!important;
 padding-right:24px!important;
}

/* Give the scroll viewport a tiny visual air-gap from the title/footer edges. */
.modal-card > .modal-title + form.modal-frame-scroll{
 padding-top:16px!important;
}

@media(max-width:650px){
 .modal-card > form.modal-frame-scroll,
 .modal-card.wide > form.modal-frame-scroll,
 .modal-card.extra-wide > form.modal-frame-scroll{
  margin-left:0!important;
  margin-right:0!important;
  padding-left:14px!important;
  padding-right:18px!important;
 }
 .modal-frame-scroll > .modal-actions.modal-frame-actions,
 .modal-card.wide .modal-frame-scroll > .modal-actions.modal-frame-actions,
 .modal-card.extra-wide .modal-frame-scroll > .modal-actions.modal-frame-actions{
  margin-left:-14px!important;
  margin-right:-18px!important;
  padding-left:14px!important;
  padding-right:18px!important;
 }
}


/* beta8.340 — clean modal viewport + custom overlay scroll indicator
   Native scrollbar chrome is hidden; scrolling itself remains completely native. */
.modal-card > form.modal-frame-scroll,
.modal-frame-scroll{
 scrollbar-width:none!important;
 -ms-overflow-style:none!important;
 scrollbar-gutter:auto!important;
}
.modal-frame-scroll::-webkit-scrollbar{
 width:0!important;
 height:0!important;
 display:none!important;
}
.modal-frame-scroll::-webkit-scrollbar-button,
.modal-frame-scroll::-webkit-scrollbar-track,
.modal-frame-scroll::-webkit-scrollbar-track-piece,
.modal-frame-scroll::-webkit-scrollbar-thumb,
.modal-frame-scroll::-webkit-scrollbar-corner{
 display:none!important;
 width:0!important;
 height:0!important;
 background:transparent!important;
}

/* The content viewport owns scrolling; title and footer remain visually outside it. */
.modal-card > form.modal-frame-scroll{
 padding-right:20px!important;
 padding-bottom:0!important;
}
.modal-frame-scroll > .modal-actions.modal-frame-actions{
 position:sticky;
 bottom:0;
 z-index:6;
 margin-top:18px!important;
 box-shadow:0 -10px 22px rgba(15,23,42,.06);
}

/* A tiny floating indicator sits inside the frame, never in the rounded border. */
.modal-overlay-scroll{
 position:absolute;
 z-index:12;
 right:7px;
 top:82px;
 bottom:72px;
 width:4px;
 pointer-events:none;
 opacity:0;
 transition:opacity .18s ease;
}
.modal-overlay-scroll.is-needed.is-active{
 opacity:.72;
}
.modal-overlay-scroll > span{
 display:block;
 width:4px;
 min-height:34px;
 border-radius:999px;
 background:color-mix(in srgb,var(--section-title-text,#202124) 62%,transparent);
 box-shadow:0 0 0 1px rgba(255,255,255,.18);
 will-change:transform,height;
}

/* Hovering anywhere over a scrollable modal gently reveals the indicator. */
.modal-card:has(.modal-frame-scroll:hover) > .modal-overlay-scroll.is-needed{
 opacity:.38;
}
.modal-card:has(.modal-frame-scroll:hover) > .modal-overlay-scroll.is-needed.is-active{
 opacity:.78;
}

/* Ensure the last editable control can always be brought fully above the sticky footer. */
.modal-card > form.modal-frame-scroll::after{
 content:"";
 display:block;
 height:12px;
}
.modal-card > form.modal-frame-scroll > .modal-actions.modal-frame-actions{
 margin-bottom:0!important;
}

/* On compact screens keep the indicator slightly inset and unobtrusive. */
@media(max-width:650px){
 .modal-overlay-scroll{
  right:5px;
  width:3px;
 }
 .modal-overlay-scroll > span{width:3px}
 .modal-card > form.modal-frame-scroll{padding-right:16px!important}
}


/* beta8.341 — authoritative modal scroll ownership
   The outer dialog NEVER scrolls. Only .modal-frame-scroll may scroll. */
.modal-backdrop{
 overflow:hidden!important;
}

.modal-card,
.modal-card.scroll-modal,
.scroll-modal.modal-card,
.modal-card.wide,
.modal-card.extra-wide{
 overflow:hidden!important;
 overflow-x:hidden!important;
 overflow-y:hidden!important;
 max-height:min(94vh,920px)!important;
 display:flex!important;
 flex-direction:column!important;
}

/* Some older module-specific rules set overflow:auto on scroll-modal. Neutralise them. */
.scroll-modal{
 overflow:hidden!important;
 overflow-x:hidden!important;
 overflow-y:hidden!important;
}

/* The inner body/form is the sole scroll owner. */
.modal-card > .modal-frame-scroll,
.modal-card > form.modal-frame-scroll{
 flex:1 1 auto!important;
 min-height:0!important;
 max-height:none!important;
 overflow-y:auto!important;
 overflow-x:hidden!important;
 overscroll-behavior:contain;
}

/* Hide native chrome on the actual scroll owner in all supported engines. */
.modal-card > .modal-frame-scroll{
 scrollbar-width:none!important;
 -ms-overflow-style:none!important;
}
.modal-card > .modal-frame-scroll::-webkit-scrollbar{
 width:0!important;
 height:0!important;
 display:none!important;
 -webkit-appearance:none!important;
}
.modal-card > .modal-frame-scroll::-webkit-scrollbar-button,
.modal-card > .modal-frame-scroll::-webkit-scrollbar-track,
.modal-card > .modal-frame-scroll::-webkit-scrollbar-track-piece,
.modal-card > .modal-frame-scroll::-webkit-scrollbar-thumb,
.modal-card > .modal-frame-scroll::-webkit-scrollbar-corner{
 width:0!important;
 height:0!important;
 display:none!important;
 background:transparent!important;
 -webkit-appearance:none!important;
}

/* Fixed visual regions */
.modal-card > .modal-title{
 flex:0 0 auto!important;
}
.modal-card > .modal-actions{
 flex:0 0 auto!important;
}

/* Ensure forms actually fit between the title and fixed footer. */
.modal-card > form.modal-frame-scroll{
 height:auto!important;
}

/* The custom indicator stays inside the content edge. */
.modal-overlay-scroll{
 right:9px!important;
 top:76px!important;
 bottom:68px!important;
}

/* beta8.342 — full-width fixed modal footer, outside the scroll viewport */
.modal-card > .modal-actions.modal-frame-footer{
 flex:0 0 auto!important;position:relative!important;inset:auto!important;z-index:8!important;
 width:auto!important;margin:0 -20px -20px!important;padding:12px 20px!important;min-height:64px;
 display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;
 border-top:1px solid color-mix(in srgb,var(--dialog-title-bg,var(--accent,#fecb3f)) 82%,#c9a11f)!important;
 border-radius:0 0 var(--theme-radius,14px) var(--theme-radius,14px)!important;
 background:var(--dialog-title-bg,var(--accent,#fecb3f))!important;color:var(--dialog-title-text,#111)!important;
 box-shadow:none!important;
}
.modal-card > form.modal-frame-scroll{padding-bottom:16px!important}
.modal-card > form.modal-frame-scroll::after{display:none!important}
.modal-card:has(> .modal-frame-footer) > .modal-overlay-scroll{bottom:72px!important}
@media(max-width:760px){
 .modal-card > .modal-actions.modal-frame-footer{margin:0 -16px -16px!important;padding:12px 16px!important;border-radius:0!important}
}
@media(max-width:520px){
 .modal-card > .modal-actions.modal-frame-footer{margin:0 -13px -13px!important;padding:11px 13px!important}
}


/* beta8.343 — comfortable inset for full-width modal footer actions */
.modal-card > .modal-actions.modal-frame-footer{
 padding-left:24px!important;
 padding-right:32px!important;
}
@media(max-width:760px){
 .modal-card > .modal-actions.modal-frame-footer{
  padding-left:18px!important;
  padding-right:22px!important;
 }
}
@media(max-width:520px){
 .modal-card > .modal-actions.modal-frame-footer{
  padding-left:14px!important;
  padding-right:18px!important;
 }
}


/* beta8.344 — authoritative framed dialog footer
   Match the title bar exactly and span the entire bottom edge. */
.modal-card > .modal-actions.modal-frame-footer{
 box-sizing:border-box!important;
 align-self:stretch!important;
 flex:0 0 auto!important;

 position:relative!important;
 left:auto!important;
 right:auto!important;
 bottom:auto!important;

 width:calc(100% + 40px)!important;
 min-width:calc(100% + 40px)!important;
 max-width:none!important;

 margin:0 -20px -20px -20px!important;
 padding:12px 32px 12px 24px!important;
 min-height:64px!important;

 display:flex!important;
 align-items:center!important;
 justify-content:flex-end!important;
 gap:8px!important;

 background-color:var(--dialog-title-bg,var(--accent,#fecb3f))!important;
 background-image:none!important;
 color:var(--dialog-title-text,#111)!important;

 border:0!important;
 border-top:1px solid color-mix(in srgb,var(--dialog-title-bg,var(--accent,#fecb3f)) 72%,#987400)!important;
 border-radius:0 0 var(--theme-radius,14px) var(--theme-radius,14px)!important;

 box-shadow:none!important;
 opacity:1!important;
}

/* Do not let generic modal-actions styling repaint the framed footer. */
.modal-card > .modal-actions.modal-frame-footer::before,
.modal-card > .modal-actions.modal-frame-footer::after{
 content:none!important;
 display:none!important;
}

.modal-card > .modal-actions.modal-frame-footer > button,
.modal-card > .modal-actions.modal-frame-footer > .button,
.modal-card > .modal-actions.modal-frame-footer > a.button{
 flex:0 0 auto!important;
}

/* Wide dialogs use the same outer-card padding, so the same frame geometry applies. */
.modal-card.wide > .modal-actions.modal-frame-footer,
.modal-card.extra-wide > .modal-actions.modal-frame-footer{
 width:calc(100% + 40px)!important;
 min-width:calc(100% + 40px)!important;
 margin:0 -20px -20px -20px!important;
 padding:12px 32px 12px 24px!important;
}

/* Mobile card padding differs. */
@media(max-width:760px){
 .modal-card > .modal-actions.modal-frame-footer,
 .modal-card.wide > .modal-actions.modal-frame-footer,
 .modal-card.extra-wide > .modal-actions.modal-frame-footer{
  width:calc(100% + 32px)!important;
  min-width:calc(100% + 32px)!important;
  margin:0 -16px -16px -16px!important;
  padding:12px 22px 12px 18px!important;
  border-radius:0!important;
 }
}
@media(max-width:520px){
 .modal-card > .modal-actions.modal-frame-footer,
 .modal-card.wide > .modal-actions.modal-frame-footer,
 .modal-card.extra-wide > .modal-actions.modal-frame-footer{
  width:calc(100% + 26px)!important;
  min-width:calc(100% + 26px)!important;
  margin:0 -13px -13px -13px!important;
  padding:11px 18px 11px 14px!important;
 }
}
