.gmp{display:grid;grid-template-columns:minmax(240px,1fr) minmax(240px,1fr);height:min(560px,75vh);min-width:0;gap:0;color:var(--ink,#26332f)}.gmp h3{font-size:14px;font-weight:500;margin:16px 0;color:#66746e}.gmp-contacts{padding:20px;background:#f4f5f5;display:flex;flex-direction:column;min-height:0}.gmp-contacts>input{width:100%;box-sizing:border-box;min-height:36px;border:0;border-radius:6px;padding:8px 12px;background:white}.gmp-list{overflow:auto;min-height:0}.gmp-contact{display:flex;align-items:center;gap:12px;padding:10px 4px;cursor:pointer}.gmp-contact[hidden]{display:none}.gmp-contact input{accent-color:#08ad7a;width:16px;height:16px}.gmp-avatar{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:6px;background:#deede6;color:#157a61;font-size:16px}.gmp-label{min-width:0;display:flex;flex-direction:column;gap:4px}.gmp-label b{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gmp-label small,.gmp-note{font-size:12px;color:#7b847f;line-height:1.6}.gmp-selected{padding:20px;display:flex;flex-direction:column;min-width:0;min-height:0}.gmp-chosen{flex:1;overflow:auto;display:flex;align-content:start;align-items:start;gap:12px;flex-wrap:wrap}.gmp-chip{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;max-width:90px;background:none;border:0;font-size:12px;cursor:pointer}.gmp-chip>span:not(.gmp-avatar){max-width:80px;overflow:hidden;text-overflow:ellipsis}.gmp-chip .gmp-remove{position:absolute;right:0;top:0;border-radius:50%;background:#e4e8e6;width:16px;height:16px}.gmp-history{font-size:13px;display:flex;gap:8px;align-items:center}.gmp-error{font-size:13px;color:#b53b32}.gmp-footer{display:flex;justify-content:flex-end;gap:16px;margin-top:16px}.gmp-footer button{min-width:96px;min-height:34px;border:0;border-radius:5px;background:#eee}.gmp-footer .primary{background:#09ad78;color:white}.gmp-footer button:disabled{opacity:.45}.gmp :focus-visible{outline:2px solid #168467;outline-offset:2px}#group-dialog:has(.gmp){width:min(720px,calc(100vw - 24px));padding:0}#group-dialog:has(.gmp)>header{padding:16px 20px}#group-dialog:has(.gmp) #group-dialog-body{padding:0}.sg-dialog:has(.gmp){width:min(720px,calc(100vw - 24px))}@media(max-width:560px){.gmp{grid-template-columns:minmax(0,1fr);height:min(760px,85vh)}.gmp-contacts{max-height:45vh}.gmp-selected{min-height:150px}.gmp-chosen{max-height:96px;min-height:48px}.gmp-footer{position:sticky;bottom:0;background:white;padding-top:8px}}

.sg-dialog.gmp-members-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:320px;max-width:100vw;max-height:100vh;height:100dvh;border:0;border-left:1px solid #e3e7e5;border-radius:0;box-shadow:-3px 0 14px #00000008;padding:20px}.gmp-members>input{width:100%;padding:8px 12px;border:1px solid #e2e5e3;border-radius:6px;background:#fafafa}.gmp-member-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 10px;padding:20px 0}.gmp-member-tile{min-width:0;position:relative}.gmp-member-tile>summary,.gmp-member-add{display:flex;align-items:center;flex-direction:column;gap:6px;border:0;background:none;padding:0;cursor:pointer;list-style:none}.gmp-member-tile>summary::-webkit-details-marker{display:none}.gmp-member-tile>summary>span:last-child,.gmp-member-add>span:last-child{max-width:60px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;color:#68716c}.gmp-member-options{position:absolute;right:0;top:65px;z-index:3;min-width:180px;background:white;padding:12px;border:1px solid #e2e5e3;border-radius:8px;box-shadow:0 4px 18px #0002}.gmp-member-add .gmp-avatar{border:1px dashed #a8b2ac;background:transparent;font-size:26px;color:#829088}.gmp-group-info,.gmp-group-links,.gmp-group-manage{border-top:1px solid #e6e9e7;padding:20px 0;font-size:14px}.gmp-group-info p{color:#78817c;font-size:13px}.gmp-group-links{display:flex;flex-direction:column;gap:16px}.gmp-group-links>button{text-align:left;border:0;background:transparent}.gmp-group-manage>summary{cursor:pointer}@media(max-width:760px){.sg-dialog.gmp-members-drawer{width:min(360px,100vw);height:100dvh}}
.gmp-file{display:flex;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #e6e9e7}.gmp-file>div{flex:1;min-width:0}.gmp-file b{font-size:14px;overflow-wrap:anywhere}.gmp-file small{display:block;margin-top:5px;color:#7b847f;font-size:12px}.gmp-file a{color:#148165;font-size:13px}.gmp-file-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.gmp-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.gmp-contact-group{margin:0 0 8px}.gmp-contact-group[hidden]{display:none}.gmp-contact-group-title{position:sticky;top:0;z-index:1;margin:0;padding:8px 4px;background:#f4f5f5;color:#707b75;font-size:12px;font-weight:600}.gmp-contact-group-items{display:flex;flex-direction:column}
.gmp-invite-friends{display:block;width:100%;min-height:38px;margin:4px 0 12px;padding:8px 12px;border:1px solid #dce5e0;border-radius:8px;background:#f6faf8;color:#14785d;text-align:center;cursor:pointer}.gmp-invite-friends:hover{background:#eaf4ef}
.gmp-work-toolbar>input{width:100%;box-sizing:border-box}.gmp-work-filters{display:flex;gap:6px;margin:12px 0}.gmp-work-filters button{font-size:12px;padding:6px 9px}.gmp-work-filters [aria-pressed=true]{background:#e2f1eb;color:#14785d}.gmp-work-list{display:flex;flex-direction:column;gap:10px}.gmp-work-entry{display:grid;grid-template-columns:1fr auto;gap:8px;text-align:left;padding:14px;border:1px solid #e3e9e6;background:#fff;border-radius:8px}.gmp-work-entry b{font-size:14px;overflow-wrap:anywhere}.gmp-work-entry span,.gmp-work-entry small{font-size:12px;color:#78857e}.gmp-work-entry small{grid-column:1/-1}.gmp-work-more{display:block;margin:16px auto}

/* Picker owns its layout inside generic shared-group dialog forms. */
:is(.sg-dialog-body,#group-dialog-body) form.gmp { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:minmax(0,1fr); gap:0; height:min(560px,calc(100dvh - 140px)); min-height:0; max-height:560px; margin:0; padding:0; overflow:hidden; }
.sg-dialog:has(form.gmp) { overflow:hidden; }
.sg-dialog .sg-dialog-body:has(>form.gmp) { padding:0; min-height:0; overflow:hidden; }
:is(.sg-dialog-body,#group-dialog-body) .gmp-contacts,:is(.sg-dialog-body,#group-dialog-body) .gmp-selected { min-width:0; min-height:0; box-sizing:border-box; padding:18px; overflow:hidden; }
:is(.sg-dialog-body,#group-dialog-body) .gmp-contacts { background:var(--subtle-surface,#f4f5f5); }
:is(.sg-dialog-body,#group-dialog-body) .gmp-contacts>input { flex:none; width:100%; min-width:0; height:36px; min-height:36px; box-sizing:border-box; padding:7px 10px; border:1px solid var(--line,#dfe5e1); background:var(--field-surface,#fff); color:var(--ink,#26332f); }
:is(.sg-dialog-body,#group-dialog-body) .gmp h3 { flex:none; margin:12px 0; font-size:13px; line-height:20px; }
:is(.sg-dialog-body,#group-dialog-body) .gmp-list { flex:1 1 0; min-height:0; overflow:auto; overscroll-behavior:contain; }
:is(.sg-dialog-body,#group-dialog-body) label.gmp-contact { display:flex; flex-direction:row; align-items:center; gap:10px; width:100%; min-width:0; box-sizing:border-box; padding:9px 2px; margin:0; }
:is(.sg-dialog-body,#group-dialog-body) label.gmp-contact[hidden] { display:none; }
:is(.sg-dialog-body,#group-dialog-body) .gmp input[type=checkbox] { flex:0 0 16px; width:16px; min-width:16px; max-width:16px; height:16px; min-height:16px; max-height:16px; margin:0; padding:0; box-sizing:border-box; accent-color:var(--accent,#148165); }
:is(.sg-dialog-body,#group-dialog-body) .gmp-avatar { flex:0 0 36px; width:36px; height:36px; }
:is(.sg-dialog-body,#group-dialog-body) .gmp-label { flex:1 1 0; min-width:0; gap:2px; }
:is(.sg-dialog-body,#group-dialog-body) .gmp-label :is(b,small) { display:block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
:is(.sg-dialog-body,#group-dialog-body) .gmp-label b { line-height:21px; }
:is(.sg-dialog-body,#group-dialog-body) .gmp-label small { line-height:18px; color:var(--text-secondary,#66746e); }
:is(.sg-dialog-body,#group-dialog-body) .gmp-chosen { flex:1 1 0; min-height:0; overflow:auto; overscroll-behavior:contain; }
:is(.sg-dialog-body,#group-dialog-body) label.gmp-history { display:flex; flex-direction:row; align-items:center; flex:none; gap:8px; margin:10px 0 0; font-size:12px; }
:is(.sg-dialog-body,#group-dialog-body) .gmp-note,:is(.sg-dialog-body,#group-dialog-body) .gmp-error { flex:none; margin:6px 0 0; font-size:12px; line-height:18px; }
:is(.sg-dialog-body,#group-dialog-body) .gmp-footer { position:static; display:flex; flex:none; justify-content:flex-end; gap:10px; margin-top:14px; padding:0; }
:is(.sg-dialog-body,#group-dialog-body) .gmp-footer button { width:auto; min-width:80px; min-height:34px; margin:0; padding:6px 14px; }
@media(max-width:560px) {
 :is(.sg-dialog-body,#group-dialog-body) form.gmp { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(140px,1fr) minmax(160px,.8fr); height:min(640px,calc(100dvh - 110px)); max-height:none; }
 :is(.sg-dialog-body,#group-dialog-body) .gmp-contacts { max-height:none; padding:14px; }
 :is(.sg-dialog-body,#group-dialog-body) .gmp-selected { min-height:0; padding:12px 14px; }
 :is(.sg-dialog-body,#group-dialog-body) .gmp-chosen { max-height:none; min-height:0; }
 :is(.sg-dialog-body,#group-dialog-body) .gmp-footer { margin-top:10px; }
}

/* Selected contact tiles keep one consistent row of names. */
:is(.sg-dialog-body,#group-dialog-body) .gmp-chosen { display:flex; flex-direction:column; flex-wrap:nowrap; gap:4px; align-items:stretch; }
:is(.sg-dialog-body,#group-dialog-body) .gmp-chosen button.gmp-chip { display:flex; flex-direction:row; align-items:center; flex:0 0 auto; width:100%; min-width:0; max-width:none; min-height:48px; box-sizing:border-box; margin:0; padding:6px 0; gap:12px; text-align:left; border:0; background:transparent; color:var(--ink,#26332f); }
:is(.sg-dialog-body,#group-dialog-body) .gmp-chip>span:not(.gmp-avatar):not(.gmp-remove) { display:block; flex:1 1 0; width:auto; min-width:0; max-width:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; line-height:20px; }
:is(.sg-dialog-body,#group-dialog-body) .gmp-chip>span.gmp-remove { display:grid; place-items:center; position:static; flex:0 0 18px; width:18px; min-width:18px; max-width:18px; height:18px; line-height:18px; white-space:nowrap; }


/* Fixed drawer geometry: global dialog/form styles must not stretch portraits or fields. */
.sg-dialog.gmp-members-drawer{box-sizing:border-box;display:flex;flex-direction:column;padding:0;width:320px;max-width:100vw;height:100dvh;max-height:100dvh;overflow:hidden;background:var(--panel-surface,#fafafa)}
.sg-dialog.gmp-members-drawer:not([open]){display:none}
.sg-dialog.gmp-members-drawer>.sg-dialog-head{flex:none;position:static;padding:18px 22px;background:transparent}
.sg-dialog.gmp-members-drawer>.sg-dialog-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:18px 22px;scrollbar-gutter:stable}
.sg-dialog.gmp-members-drawer :is(input,textarea,button,.gmp-avatar){box-sizing:border-box}
.sg-dialog.gmp-members-drawer .gmp-members>input{min-width:0;min-height:36px;font:inherit}
.sg-dialog.gmp-members-drawer .gmp-member-tile{align-self:start}
.sg-dialog.gmp-members-drawer .gmp-member-tile>summary{width:100%;min-width:0}
.sg-dialog.gmp-members-drawer .gmp-avatar{display:grid;flex:none;width:40px;height:40px;min-width:40px;min-height:40px;max-width:40px;max-height:40px;overflow:hidden}
.sg-dialog.gmp-members-drawer .gmp-avatar>img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover}
.sg-dialog.gmp-members-drawer .gmp-member-add{min-height:0;min-width:0;font:inherit}
.sg-dialog.gmp-members-drawer .sg-group-settings{display:block;margin:0;padding:0;border:0;border-radius:0;background:transparent}
.sg-dialog.gmp-members-drawer .sg-group-settings form{display:flex;gap:8px;padding:18px 0;border-top:1px solid var(--line,#e3e7e5)}
.sg-dialog.gmp-members-drawer .sg-group-settings textarea{box-sizing:border-box;width:100%;max-width:100%;resize:vertical;max-height:220px}
.sg-dialog.gmp-members-drawer .sg-group-settings-footer{flex-wrap:wrap}
.sg-dialog:has([data-sg-create-picker]){width:min(760px,calc(100vw - 24px));overflow:hidden}
.sg-dialog:has([data-sg-create-picker])>.sg-dialog-body{padding:0;overflow:hidden}
.sg-dialog:has([data-sg-create-picker]) .gmp{height:min(560px,calc(100dvh - 180px))}
.sg-create-note{padding:8px 20px;margin:0!important;border-top:1px solid var(--line,#e3e7e5)}