/* Design 3 "Clarity" applied to every framework page (?design=3, remembered in the gwp_design cookie). Layered on v2_shell.css + v3_shell.css. */
html.gwp_v2.gwp_v3, html.gwp_v2.gwp_v3 body { background: #fff !important; }
html.gwp_v2.gwp_v3 body, html.gwp_v2.gwp_v3 #gwp_frame { font-family: 'Figtree', 'DM Sans', system-ui, sans-serif; color: var(--v2-ink); }

/* ---------- top bar: same on every page ---------- */
html.gwp_v2.gwp_v3 .gwp_topbuttonbar { background: #fff; box-shadow: none; border: 0; transition: none; }
@media (min-width: 769px) {
    html.gwp_v2.gwp_v3 .gwp_topbuttonbar { padding: 10px 32px; gap: 16px; }
    html.gwp_v2.gwp_v3 #gwp_v2_head.v2_generic { padding: 28px 32px 4px; }
    /* the Library is fully styled, so it keeps the wider margins */
    html.gwp_v2.gwp_v3 #gwp_frame:has(#gwp_mediaframe) .gwp_topbuttonbar { padding: 20px 88px; gap: 20px; }
}
html.gwp_v2.gwp_v3 .gwp_nav_pagetitle { font-weight: 600; }

/* page title inserted by v2_shell.js on pages that have no title of their own */
html.gwp_v2.gwp_v3 #gwp_v2_head.v2_generic h1 { margin: 0; font-size: 40px; font-weight: 600; letter-spacing: -.03em; line-height: 1.1; color: var(--v2-ink); }
@media (max-width: 768px) { html.gwp_v2.gwp_v3 #gwp_v2_head.v2_generic h1 { font-size: 30px; } }

/* ---------- switchers, dropdown selects, tabs used in the top bar ---------- */
html.gwp_v2.gwp_v3 .select_singleframe, html.gwp_v2.gwp_v3 .gwp_nav_filters .select_singleframe { border-radius: 999px; }
html.gwp_v2.gwp_v3 .gwp_nav_btn { border: 0; border-radius: 999px; background: var(--v3-soft); font-family: inherit; font-weight: 600; }
html.gwp_v2.gwp_v3 .gwp_nav_btn:hover { background: var(--gwp_tool_tint, #eaedfa); }

/* ---------- the hamburger menu, redesigned light ---------- */
html.gwp_v2.gwp_v3 .gwp_menuoverlay { background: rgba(15, 17, 21, .18); }
html.gwp_v2.gwp_v3 .gwp_dropdown-menu-show { background: #fff; width: 320px; min-width: 320px; box-shadow: 0 0 80px rgba(15, 17, 21, .16); font-family: 'Figtree', 'DM Sans', system-ui, sans-serif; }
@media (max-width: 768px) { html.gwp_v2.gwp_v3 .gwp_dropdown-menu-show { width: 100%; } }
html.gwp_v2.gwp_v3 .v2m_brand { padding: 36px 32px 20px; gap: 14px; }
html.gwp_v2.gwp_v3 .v2m_word { color: var(--v2-ink); font-size: 22px; font-weight: 700; letter-spacing: -.03em; }
html.gwp_v2.gwp_v3 .gwp_dropdown-menucontent { padding: 4px 0 28px; }
html.gwp_v2.gwp_v3 .v2m_grp { margin: 32px 32px 8px; color: var(--v2-muted); font-size: 11px; letter-spacing: .14em; }
html.gwp_v2.gwp_v3 .gwp_dropdown-menu-show a { color: var(--v2-ink); margin: 2px 16px; padding: 11px 16px; border-radius: 14px; font-size: 15px; font-weight: 500; }
html.gwp_v2.gwp_v3 .gwp_dropdown-menu-show a i { color: var(--v2c, var(--v2-muted)); font-size: 20px; }
html.gwp_v2.gwp_v3 .gwp_dropdown-menu-show>a:hover, html.gwp_v2.gwp_v3 .gwp_dropdown-menucontent>a:hover { background: var(--v3-soft); color: var(--v2-ink); }
html.gwp_v2.gwp_v3 .gwp_dropdown-menu-show>a:hover i, html.gwp_v2.gwp_v3 .gwp_dropdown-menucontent>a:hover i { color: var(--v2c, var(--v2-ink)); }
html.gwp_v2.gwp_v3 .gwp_dropdown-menu-show a.gwp_menuitemselected { background: var(--gwp_tool_tint, #eaedfa); color: var(--gwp_tool_text, #2e43ae); font-weight: 600; box-shadow: none; }
html.gwp_v2.gwp_v3 .gwp_dropdown-menu-show a.gwp_menuitemselected i { color: var(--gwp_tool_text, #2e43ae); }
html.gwp_v2.gwp_v3 .gwp_nav_beta { border-color: var(--v2-muted); color: var(--v2-muted); background: transparent; }
html.gwp_v2.gwp_v3 .gwp_nav_close_btn { color: var(--v2-ink); background: var(--v3-soft); top: 28px; right: 24px; }
html.gwp_v2.gwp_v3 .gwp_nav_close_btn:hover { background: #e9e9e5; color: var(--v2-ink); }
html.gwp_v2.gwp_v3 .gwp_menuitemhr { border-color: var(--v2-line); margin: 12px 32px; }
html.gwp_v2.gwp_v3 .gwp_dropdown-menu-show .gwp_submenu { border-top: 1px solid var(--v2-line); padding: 12px 16px; }
html.gwp_v2.gwp_v3 .gwp_submenulink { color: var(--v2-muted); border-radius: 12px; }
html.gwp_v2.gwp_v3 .gwp_submenulink:hover { background: var(--v3-soft); color: var(--v2-ink); }
html.gwp_v2.gwp_v3 .gwp_dropdown-menu-show, html.gwp_v2.gwp_v3 .gwp_dropdown-menucontent { scrollbar-color: #d6d6d0 transparent; }
html.gwp_v2.gwp_v3 .gwp_dropdown-menucontent::-webkit-scrollbar-thumb { background: #d6d6d0; }
html.gwp_v2.gwp_v3 .gwp_dropdown-menucontent::-webkit-scrollbar-thumb:hover { background: #b9b9b2; }

/* ---------- ‹ label › switchers (Broadcasts, Database, Compliance, Groups, Expenses, Kiosk...): grow to fit their longest label ---------- */
@media (min-width: 769px) {
    html.gwp_v2.gwp_v3 .gwp_lib_type_dropdown { flex: none; }
    html.gwp_v2.gwp_v3 .gwp_lib_type_dropdown .gwp_lib_type_current { width: auto !important; min-width: 0 !important; max-width: none; padding: 0 10px; gap: 6px; }
    html.gwp_v2.gwp_v3 .gwp_lib_type_current > span { flex: 1; text-align: center; white-space: nowrap; padding: 0 8px; }
    html.gwp_v2.gwp_v3 .gwp_lib_type_list { min-width: 100%; width: max-content; max-width: 360px; }
    html.gwp_v2.gwp_v3 .gwp_lib_type_item { white-space: nowrap; }
}
@media (max-width: 768px) {
    html.gwp_v2.gwp_v3 .gwp_lib_type_current > span { flex: 1; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}

/* ---------- Calendar: header is 64px with 10px above/below, the same as every other page's bar ---------- */
@media (min-width: 769px) {
    html.gwp_v2.gwp_v3 .gwp_calheader { height: 64px !important; }
    html.gwp_v2.gwp_v3 .gwp_calheader .gwp_topbuttonbar { padding: 10px 32px; gap: 12px; align-items: center; }
    html.gwp_v2.gwp_v3 .gwp_calheader .gwp_addtopbuttons { gap: 12px; align-items: center; }
    html.gwp_v2.gwp_v3 #gwp_fa-filter, html.gwp_v2.gwp_v3 #gwp_lmsearch, html.gwp_v2.gwp_v3 #gwp_calviewwrap > .gwp_topbutton, html.gwp_v2.gwp_v3 #gwp_calmorewrap > .gwp_topbutton {
        display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; width: 44px; height: 44px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: var(--v3-soft); box-shadow: none; color: var(--v2-ink); font-size: 20px; line-height: 1; cursor: pointer; }
    html.gwp_v2.gwp_v3 #gwp_lmsearch .gwp_topbutton { margin: 0; font-size: 20px; }
    html.gwp_v2.gwp_v3 #gwp_fa-filter:hover, html.gwp_v2.gwp_v3 #gwp_lmsearch:hover, html.gwp_v2.gwp_v3 #gwp_calviewwrap > .gwp_topbutton:hover, html.gwp_v2.gwp_v3 #gwp_calmorewrap > .gwp_topbutton:hover { background: var(--gwp_tool_tint, #eaedfa); color: var(--gwp_tool_text, #2e43ae); }
    html.gwp_v2.gwp_v3 #gwp_calviewwrap, html.gwp_v2.gwp_v3 #gwp_calmorewrap { display: inline-flex; align-items: center; }
}

@media (max-width: 768px) { html.gwp_v2.gwp_v3 .gwp_topbuttonbar { padding: 10px 12px; } html.gwp_v2.gwp_v3 #gwp_frame:has(#gwp_mediaframe) .gwp_topbuttonbar { padding: 12px 20px; } }

/* Content Store: tabs move to the top-bar switcher; the body header (title + tab pills) is replaced by the page heading */
html.gwp_v2.gwp_v3 .gwp_so_header { display: none; }
/* Meetings and Broadcasts: the bar's own title becomes the page heading */
html.gwp_v2.gwp_v3 #gwp_navigation .gwp_nav_pagetitle { display: none; }

/* ---------- Workspace ---------- */
html.gwp_v2.gwp_v3 .gwp_ts_view_tabs, html.gwp_v2.gwp_v3 .gwp_ts_view_mobilenav { display: none !important; }
html.gwp_v2.gwp_v3 .gwp_workspace_toolbar { background: transparent; border: 0; padding: 12px 24px; }
html.gwp_v2.gwp_v3 .gwp_ts_proj_title_bar { font-size: 18px; font-weight: 600; letter-spacing: -.02em; }
html.gwp_v2.gwp_v3 .gwp_ts_btn { border-radius: 999px; padding: 9px 18px; font-family: inherit; font-size: 14px; font-weight: 600; transition: none; }
html.gwp_v2.gwp_v3 .gwp_ts_btn_sm { padding: 5px 12px; font-size: 12.5px; }
html.gwp_v2.gwp_v3 .gwp_ts_btn_primary { background: var(--gwp_tool, #4259cd); color: #fff; }
html.gwp_v2.gwp_v3 .gwp_ts_btn_primary:hover { background: var(--gwp_tool_hover, #334bc2); opacity: 1; }
html.gwp_v2.gwp_v3 .gwp_ts_btn_secondary, html.gwp_v2.gwp_v3 .gwp_ts_btn_ghost { background: var(--v3-soft); border: 0; color: var(--v2-ink); }
html.gwp_v2.gwp_v3 .gwp_ts_btn_secondary:hover, html.gwp_v2.gwp_v3 .gwp_ts_btn_ghost:hover { background: var(--gwp_tool_tint, #eaedfa); color: var(--gwp_tool_text, #2e43ae); }
html.gwp_v2.gwp_v3 .gwp_ts_add_card_btn, html.gwp_v2.gwp_v3 .gwp_ts_add_col_btn, html.gwp_v2.gwp_v3 .gwp_ts_inline_add { border-radius: 999px; font-family: inherit; }
html.gwp_v2.gwp_v3 .gwp_ts_icon_btn { border-radius: 50%; width: 32px; height: 32px; display: inline-grid; place-items: center; padding: 0; }
html.gwp_v2.gwp_v3 .gwp_ts_project_item { border-radius: 12px; padding: 9px 12px; }
html.gwp_v2.gwp_v3 .gwp_ts_project_item.gwp_ts_active { background: var(--gwp_tool_tint, #eaedfa); }
html.gwp_v2.gwp_v3 .gwp_ts_project_item.gwp_ts_active .gwp_ts_project_name { color: var(--gwp_tool_text, #2e43ae); }

/* the top-bar switchers never underline (the source of the hover underline wasn't found in the plugin's own CSS, so this is a safeguard) */
html.gwp_v2.gwp_v3 .gwp_topbuttonbar, html.gwp_v2.gwp_v3 .gwp_topbuttonbar *, html.gwp_v2.gwp_v3 .gwp_lib_type_list, html.gwp_v2.gwp_v3 .gwp_lib_type_list *,
html.gwp_v2.gwp_v3 .gwp_lib_type_current:hover, html.gwp_v2.gwp_v3 .gwp_lib_type_current:hover *, html.gwp_v2.gwp_v3 .gwp_lib_type_item:hover, html.gwp_v2.gwp_v3 .gwp_lib_type_item:hover * { text-decoration: none !important; }

/* Workspace: buttons/filters that now live in the top bar are hidden in the toolbar */
html.gwp_v2.gwp_v3 .gwp_workspace_toolbar[data-v2mirror] .gwp_ts_toolbar_right button[onclick*="gwp_tasks_new_list_modal"], html.gwp_v2.gwp_v3 .gwp_workspace_toolbar[data-v2mirror] .gwp_ts_toolbar_right button[onclick*="gwp_ts_open_note_editor"] { display: none; }
html.gwp_v2.gwp_v3 .gwp_workspace_toolbar[data-v2sel] select.gwp_ts_panel_select { display: none; }
html.gwp_v2.gwp_v3 .v2_navselect { height: 44px; max-width: 260px; padding: 0 16px; border: 0; border-radius: 999px; background-color: var(--v3-soft); color: var(--v2-ink); font: 500 14.5px 'Figtree', system-ui, sans-serif; cursor: pointer; margin: 0 0 0 4px; }
html.gwp_v2.gwp_v3 .v2_navselect:focus { outline: 2px solid var(--gwp_tool, #4259cd); outline-offset: 0; }

/* =====================================================================================
   PAGE BODIES (design 3): one gutter shared with the top bar and title, hairlines instead of boxes, pill controls
   ===================================================================================== */
@media (min-width: 769px) {
    html.gwp_v2.gwp_v3 #gwp_aframe, html.gwp_v2.gwp_v3 #gwp_userframe, html.gwp_v2.gwp_v3 #gwp_databaseframe, html.gwp_v2.gwp_v3 #gwp_curriculumframe { margin-left: 0 !important; margin-right: 0 !important; padding-left: 32px !important; padding-right: 32px !important; box-sizing: border-box; width: 100%; max-width: 100%; }
    html.gwp_v2.gwp_v3 #gwp_frame:has(#gwp_mediaframe) #gwp_aframe { padding-left: 0 !important; padding-right: 0 !important; }
}
@media (max-width: 768px) {
    html.gwp_v2.gwp_v3 #gwp_aframe, html.gwp_v2.gwp_v3 #gwp_userframe, html.gwp_v2.gwp_v3 #gwp_databaseframe, html.gwp_v2.gwp_v3 #gwp_curriculumframe { padding-left: 16px !important; padding-right: 16px !important; box-sizing: border-box; }
}
html.gwp_v2.gwp_v3 .gwp_expenses_page, html.gwp_v2.gwp_v3 .gwp_so_content, html.gwp_v2.gwp_v3 .gwp_curriculum_listframe { background: transparent; }
html.gwp_v2.gwp_v3 .gwp_exp_search_wrap { background: transparent; border: 0; box-shadow: none; }
html.gwp_v2.gwp_v3 #gwp_curriculumframe .gwp_curriculum_grid, html.gwp_v2.gwp_v3 .gwp_taxp_grid, html.gwp_v2.gwp_v3 .gwp_groups_grid { padding-left: 0; padding-right: 0; margin-left: 0; margin-right: 0; }

/* ---- list-like items: no boxes, a hairline between them ---- */
html.gwp_v2.gwp_v3 .gwp_schedule_card, html.gwp_v2.gwp_v3 .gwp_dbitem, html.gwp_v2.gwp_v3 .gwp_tk_event_card, html.gwp_v2.gwp_v3 .gwp_bc_card, html.gwp_v2.gwp_v3 .gwp_blog_card, html.gwp_v2.gwp_v3 .gwp_so_list_item {
    background: transparent; border: 0; border-bottom: 1px solid var(--v2-line); border-radius: 0; box-shadow: none; margin-left: 0; margin-right: 0; }
html.gwp_v2.gwp_v3 .gwp_schedule_card:hover, html.gwp_v2.gwp_v3 .gwp_dbitem:hover, html.gwp_v2.gwp_v3 .gwp_tk_event_card:hover, html.gwp_v2.gwp_v3 .gwp_bc_card:hover, html.gwp_v2.gwp_v3 .gwp_blog_card:hover { box-shadow: none; background: var(--v3-soft); }
html.gwp_v2.gwp_v3 .gwp_dbitem, html.gwp_v2.gwp_v3 .gwp_tk_event_card, html.gwp_v2.gwp_v3 .gwp_bc_card { padding-top: 22px; padding-bottom: 22px; }
html.gwp_v2.gwp_v3 .gwp_dbitem_icon { border: 0; border-radius: 14px; }

/* ---- grid cards: soft filled tiles ---- */
html.gwp_v2.gwp_v3 .gwp_cur_card, html.gwp_v2.gwp_v3 .gwp_taxp_card, html.gwp_v2.gwp_v3 .gwp_groups_card, html.gwp_v2.gwp_v3 .gwp_so_card {
    background: var(--v3-soft); border: 0; border-radius: 20px; box-shadow: none; overflow: hidden; }
html.gwp_v2.gwp_v3 .gwp_cur_card:hover, html.gwp_v2.gwp_v3 .gwp_taxp_card:hover, html.gwp_v2.gwp_v3 .gwp_groups_card:hover, html.gwp_v2.gwp_v3 .gwp_so_card:hover { box-shadow: none; background: #ecece7; transform: none; }
html.gwp_v2.gwp_v3 .gwp_cur_card_footer, html.gwp_v2.gwp_v3 .gwp_so_card_footer, html.gwp_v2.gwp_v3 .gwp_groups_card_count { border-top: 1px solid rgba(15, 17, 21, .07); background: transparent; }
html.gwp_v2.gwp_v3 .gwp_taxp_card_add { background: transparent; border: 2px dashed #d6d6d0; }
html.gwp_v2.gwp_v3 .gwp_curriculum_grid, html.gwp_v2.gwp_v3 .gwp_taxp_grid { gap: 24px; }
html.gwp_v2.gwp_v3 .gwp_so_grid { gap: 24px; }

/* ---- Members list ---- */
html.gwp_v2.gwp_v3 .gwp_members_list_header { background: transparent; border-bottom: 1px solid var(--v2-line); color: var(--v2-muted); }
html.gwp_v2.gwp_v3 .gwp_members_item { border-bottom: 1px solid var(--v2-line); background: transparent; padding-top: 14px; padding-bottom: 14px; }
html.gwp_v2.gwp_v3 .gwp_members_item:hover { background: var(--v3-soft); }
html.gwp_v2.gwp_v3 .gwp_members_list { border: 0; box-shadow: none; background: transparent; }
html.gwp_v2.gwp_v3 .gwp_members_btn { border-radius: 999px; font-family: inherit; }
html.gwp_v2.gwp_v3 .gwp_members_btn_primary { background: var(--gwp_tool, #4259cd); }
html.gwp_v2.gwp_v3 .gwp_members_btn_secondary { background: var(--v3-soft); border: 0; color: var(--v2-ink); }

/* ---- controls: pills instead of boxes ---- */
html.gwp_v2.gwp_v3 .gwp_nav_filters .select_singleframe .select_singledropdown, html.gwp_v2.gwp_v3 #gwp_navigation .select_singleframe .select_singledropdown {
    height: 44px; box-sizing: border-box; display: flex; align-items: center; padding: 0 18px; border: 0; border-radius: 999px; background: var(--v3-soft); font: 500 14.5px 'Figtree', system-ui, sans-serif; color: var(--v2-ink); }
html.gwp_v2.gwp_v3 #gwp_navigation .select_singleframe { min-width: 150px; }
html.gwp_v2.gwp_v3 .gwp_so_search, html.gwp_v2.gwp_v3 .gwp_so_filter_select, html.gwp_v2.gwp_v3 .gwp_so_fav_toggle, html.gwp_v2.gwp_v3 .gwp_bc_filter_select, html.gwp_v2.gwp_v3 .gwp_bc_search_input,
html.gwp_v2.gwp_v3 .gwp_exp_search_input, html.gwp_v2.gwp_v3 .gwp_exp_filter_select, html.gwp_v2.gwp_v3 .gwp_exp_date_input {
    height: 44px; box-sizing: border-box; padding: 0 18px; border: 0; border-radius: 999px; background: var(--v3-soft); color: var(--v2-ink); font: 500 14.5px 'Figtree', system-ui, sans-serif; box-shadow: none; }
html.gwp_v2.gwp_v3 .gwp_so_search:focus, html.gwp_v2.gwp_v3 .gwp_bc_search_input:focus, html.gwp_v2.gwp_v3 .gwp_exp_search_input:focus { outline: 2px solid var(--gwp_tool, #4259cd); }
html.gwp_v2.gwp_v3 .gwp_so_fav_toggle { cursor: pointer; font-weight: 600; }
html.gwp_v2.gwp_v3 .gwp_so_filters, html.gwp_v2.gwp_v3 .gwp_bc_filters { gap: 12px; margin-bottom: 24px; }

/* ---- Content Store buttons ---- */
html.gwp_v2.gwp_v3 .gwp_so_btn { border-radius: 999px; font-family: inherit; font-weight: 600; }
html.gwp_v2.gwp_v3 .gwp_so_btn_primary { background: var(--gwp_tool, #4259cd); color: #fff; border: 0; }
html.gwp_v2.gwp_v3 .gwp_so_btn_secondary { background: var(--v3-soft); color: var(--v2-ink); border: 0; }

/* ---- Calendar date picker ---- */
html.gwp_v2.gwp_v3 .gwp_calheader .select_date { height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; padding: 0 18px; border: 0; border-radius: 999px; background: var(--v3-soft); font: 600 15px 'Figtree', system-ui, sans-serif; color: var(--v2-ink); }
html.gwp_v2.gwp_v3 #gwp_store_page, html.gwp_v2.gwp_v3 .gwp_bc_page, html.gwp_v2.gwp_v3 .gwp_tk_events_wrap, html.gwp_v2.gwp_v3 .gwp_expenses_page { background: transparent !important; }

/* inner wrappers that added their own 15-20px side inset: the frame's 32px gutter is the only one */
@media (min-width: 769px) {
    html.gwp_v2.gwp_v3 .gwp_tk_events_wrap, html.gwp_v2.gwp_v3 .gwp_bc_page, html.gwp_v2.gwp_v3 .gwp_cp_tabcontent, html.gwp_v2.gwp_v3 .gwp_curriculum_grid, html.gwp_v2.gwp_v3 .gwp_curriculum_listframe,
    html.gwp_v2.gwp_v3 .gwpm_wrap, html.gwp_v2.gwp_v3 .gwp_taxp_total, html.gwp_v2.gwp_v3 .gwp_taxp_switcher_count, html.gwp_v2.gwp_v3 .gwp_tg_content { margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
    html.gwp_v2.gwp_v3 .gwp_tk_events_list, html.gwp_v2.gwp_v3 .gwp_bc_filters, html.gwp_v2.gwp_v3 .gwp_bc_list, html.gwp_v2.gwp_v3 .gwp_bc_pagination { margin-left: 0 !important; margin-right: 0 !important; }
    html.gwp_v2.gwp_v3 .gwp_schedule_card, html.gwp_v2.gwp_v3 .gwp_dbitem, html.gwp_v2.gwp_v3 .gwp_tk_event_card, html.gwp_v2.gwp_v3 .gwp_bc_card, html.gwp_v2.gwp_v3 .gwp_blog_card { padding-left: 0; padding-right: 0; }
}

/* pages whose top bar is position:fixed (e.g. Teams & Groups): the heading clears it, and the frame's own compensating top space goes */
@media (min-width: 769px) {
    html.gwp_v2.gwp_v3 #gwp_frame.v2_fixedbar #gwp_v2_head.v2_generic { padding-top: 92px; }
    html.gwp_v2.gwp_v3 #gwp_frame.v2_fixedbar #gwp_aframe, html.gwp_v2.gwp_v3 #gwp_frame.v2_fixedbar #gwp_userframe, html.gwp_v2.gwp_v3 #gwp_frame.v2_fixedbar #gwp_databaseframe { padding-top: 12px !important; margin-top: 0 !important; }
}

/* Workspace: same gutter, white ground, sidebar without a divider */
@media (min-width: 769px) {
    html.gwp_v2.gwp_v3 #gwp_workspaceframe { padding-left: 32px; padding-right: 32px; box-sizing: border-box; }
}
html.gwp_v2.gwp_v3 .gwp_workspace_wrap { background: transparent; }
html.gwp_v2.gwp_v3 .gwp_workspace_sidebar { background: transparent; border-right: 0; }
html.gwp_v2.gwp_v3 .gwp_workspace_main { background: transparent; }

/* Calendar grid: same gutter as the bar */
@media screen and (min-width: 769px) {
    html.gwp_v2.gwp_v3 #gwp_calframe { margin-left: 32px !important; margin-right: 32px !important; width: auto; }
}

/* card ⋮ menus (Schedules, Blogs) stay small so they don't cover badges */
html.gwp_v2.gwp_v3 .gwp_schedule_card .gwp_nav_icon_btn, html.gwp_v2.gwp_v3 .gwp_blog_card .gwp_nav_icon_btn { width: 36px; height: 36px; font-size: 17px; }

html.gwp_v2.gwp_v3 .gwp_blog_card_header { padding-right: 56px; }
@media (min-width: 769px) { html.gwp_v2.gwp_v3 .gwp_exp_panel, html.gwp_v2.gwp_v3 .gwp_exp_search_wrap, html.gwp_v2.gwp_v3 .gwp_exp_empty { margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; } }

/* ---- Broadcasts: streams and subscribers ---- */
html.gwp_v2.gwp_v3 .gwp_bc_stream_card { background: var(--v3-soft); border: 0; border-radius: 20px; box-shadow: none; }
html.gwp_v2.gwp_v3 .gwp_bc_stream_card:hover { box-shadow: none; background: #ecece7; }
html.gwp_v2.gwp_v3 .gwp_bc_sub_wrap { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
html.gwp_v2.gwp_v3 .gwp_bc_sub_table thead th { background: transparent; color: var(--v2-muted); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; border-bottom: 1px solid var(--v2-line); }
html.gwp_v2.gwp_v3 .gwp_bc_sub_table th, html.gwp_v2.gwp_v3 .gwp_bc_sub_table td { border-bottom: 1px solid var(--v2-line); padding: 14px 12px; }
html.gwp_v2.gwp_v3 .gwp_bc_sub_table tbody tr:hover { background: var(--v3-soft); }
html.gwp_v2.gwp_v3 .gwp_bc_sub_chip { border-radius: 999px; }
html.gwp_v2.gwp_v3 .gwp_bc_btn { border-radius: 999px; font-family: inherit; }
html.gwp_v2.gwp_v3 .gwp_bc_btn_primary { background: var(--gwp_tool, #4259cd); border-color: var(--gwp_tool, #4259cd); color: #fff; }
html.gwp_v2.gwp_v3 .gwp_bc_btn_secondary, html.gwp_v2.gwp_v3 .gwp_bc_btn_outline { background: var(--v3-soft); border: 0; color: var(--v2-ink); }

/* switcher hover/click: a slightly deeper fill only (no ring, no outline, no arrow boxes) */
html.gwp_v2.gwp_v3 .gwp_lib_type_current:hover, html.gwp_v2.gwp_v3 .gwp_lib_type_current:active, html.gwp_v2.gwp_v3 .gwp_lib_type_current:focus, html.gwp_v2.gwp_v3 .gwp_lib_type_current:focus-visible { box-shadow: none !important; outline: none !important; border: 0 !important; background: #ebebe6 !important; }
html.gwp_v2.gwp_v3 .gwp_lib_type_current > span, html.gwp_v2.gwp_v3 .gwp_lib_type_current > span:hover { border: 0 !important; border-bottom: 0 !important; box-shadow: none !important; text-decoration: none !important; }
html.gwp_v2.gwp_v3 .gwp_lib_type_arrow:hover, html.gwp_v2.gwp_v3 .gwp_lib_type_arrow:active, html.gwp_v2.gwp_v3 .gwp_lib_type_arrow:focus { background: transparent !important; box-shadow: none !important; outline: none !important; color: var(--gwp_tool_text, #2e43ae); }
html.gwp_v2.gwp_v3 .gwp_lib_type_arrow_disabled:hover { color: inherit; }

/* hover: list-style items don't change shade; grid tiles darken a touch */
html.gwp_v2.gwp_v3 .gwp_schedule_card:hover, html.gwp_v2.gwp_v3 .gwp_dbitem:hover, html.gwp_v2.gwp_v3 .gwp_tk_event_card:hover, html.gwp_v2.gwp_v3 .gwp_bc_card:hover, html.gwp_v2.gwp_v3 .gwp_blog_card:hover { background: transparent; }
html.gwp_v2.gwp_v3 .gwp_schedule_title_row:hover, html.gwp_v2.gwp_v3 .gwp_schedule_title_row .gwp_h3:hover, html.gwp_v2.gwp_v3 .gwp_scheduletitle:hover, html.gwp_v2.gwp_v3 .gwp_scheduletitle:focus { background: transparent; box-shadow: none; outline: none; }
/* Curriculum's list frame carries its own inline 16px padding: the page frame's gutter is the only one */
html.gwp_v2.gwp_v3 #gwp_curriculum_listframe { padding: 0 !important; }

html.gwp_v2.gwp_v3 #gwp_v2_head.v2_generic p { margin: 8px 0 0; color: var(--v2-muted); font-size: 16px; }
/* leftover 12-15px insets inside list rows: text and icons start on the shared 32px edge */
@media (min-width: 769px) {
    html.gwp_v2.gwp_v3 .gwp_dbitem_main, html.gwp_v2.gwp_v3 .gwp_schedule_title_row, html.gwp_v2.gwp_v3 .gwp_so_content { padding-left: 0 !important; padding-right: 0 !important; }
    html.gwp_v2.gwp_v3 #gwp_curriculumframe { padding-top: 16px !important; }
}

/* ---- Kiosk Mode admin and Parent Portal: same width and title rules as every other page ---- */
html.gwp_v2.gwp_v3 .gwp_kiosk_admin_wrap, html.gwp_v2.gwp_v3 .gwp_pp_page { max-width: none; width: 100%; margin: 0; padding-left: 0; padding-right: 0; }
html.gwp_v2.gwp_v3 .gwp_kiosk_admin_header, html.gwp_v2.gwp_v3 .gwp_kiosk_admin_sub, html.gwp_v2.gwp_v3 .gwp_pp_header h2 { display: none; }
html.gwp_v2.gwp_v3 .gwp_pp_header { border-bottom: 0; padding-bottom: 0; margin-bottom: 16px; }
html.gwp_v2.gwp_v3 .gwp_kiosk_device_btn, html.gwp_v2.gwp_v3 .gwp_kiosk_live_btn, html.gwp_v2.gwp_v3 .gwp_kiosk_pairing_generate_btn, html.gwp_v2.gwp_v3 .gwp_kiosk_btn_revoke_unused, html.gwp_v2.gwp_v3 .gwp_kiosk_btn_delete_revoked, html.gwp_v2.gwp_v3 .gwp_pp_btn {
    border-radius: 999px; border: 0; background: var(--v3-soft); color: var(--v2-ink); font-family: inherit; font-weight: 600; }
html.gwp_v2.gwp_v3 .gwp_kiosk_device_btn:hover, html.gwp_v2.gwp_v3 .gwp_kiosk_live_btn:hover, html.gwp_v2.gwp_v3 .gwp_pp_btn:hover { background: var(--gwp_tool_tint, #eaedfa); color: var(--gwp_tool_text, #2e43ae); }
html.gwp_v2.gwp_v3 .gwp_kiosk_pairing_generate_btn, html.gwp_v2.gwp_v3 .gwp_pp_btn_primary { background: var(--gwp_tool, #4259cd); color: #fff; }
html.gwp_v2.gwp_v3 .gwp_kiosk_device_btn_danger { background: #fbe6ee; color: #8f1f4d; }
html.gwp_v2.gwp_v3 .gwp_kiosk_table th { background: transparent; }
/* "Create" with no primary action (caret only): a full pill, not a square with one rounded side */
html.gwp_v2.gwp_v3 #gwp_addtb.gwp_split[data-caretonly="true"] .gwp_split_caret { border-radius: 999px; width: auto; padding: 0 16px; }
html.gwp_v2.gwp_v3 #gwp_v2_head.v2_generic { display: block; }

/* Calendar: the grid scrolls inside .gwp_calframecontents, whose scrollbar made the rows narrower than the weekday header above them. The scrollbar is hidden (scrolling still works) so header and grid are exactly the same width. */
html.gwp_v2.gwp_v3 .gwp_calframecontents { scrollbar-width: none !important; -ms-overflow-style: none; }
html.gwp_v2.gwp_v3 .gwp_calframecontents::-webkit-scrollbar { display: none !important; width: 0 !important; height: 0 !important; }
@media screen and (min-width: 769px) {
    html.gwp_v2.gwp_v3 #gwp_calframecontents { height: calc(100vh - 164px) !important; }
}

/* ---------- Mobile: one 20px gutter (same as the title). Frames used to add their own margin on top of padding, and list wrappers/cards added another 8-20px each, so content sat 36-56px in. ---------- */
@media (max-width: 768px) {
    html.gwp_v2.gwp_v3 #gwp_aframe, html.gwp_v2.gwp_v3 #gwp_userframe, html.gwp_v2.gwp_v3 #gwp_databaseframe, html.gwp_v2.gwp_v3 #gwp_curriculumframe { margin-left: 0 !important; margin-right: 0 !important; padding-left: 20px !important; padding-right: 20px !important; width: 100%; }
    html.gwp_v2.gwp_v3 #gwp_frame:has(#gwp_mediaframe) #gwp_aframe { padding-left: 0 !important; padding-right: 0 !important; }
    html.gwp_v2.gwp_v3 #gwp_content0, html.gwp_v2.gwp_v3 .gwp_tk_events_wrap, html.gwp_v2.gwp_v3 .gwp_bc_page, html.gwp_v2.gwp_v3 .gwp_dbitem_main, html.gwp_v2.gwp_v3 .gwp_schedule_title_row { padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important; margin-right: 0 !important; }
    html.gwp_v2.gwp_v3 .gwp_tk_event_card, html.gwp_v2.gwp_v3 .gwp_bc_card, html.gwp_v2.gwp_v3 #gwp_databaseframe > div[id] { padding-left: 0 !important; padding-right: 0 !important; }
    html.gwp_v2.gwp_v3 .gwp_bc_page, html.gwp_v2.gwp_v3 .gwp_bc_list, html.gwp_v2.gwp_v3 .gwp_bc_card { max-width: 100%; box-sizing: border-box; }
    html.gwp_v2.gwp_v3 .gwp_bc_card_title, html.gwp_v2.gwp_v3 .gwp_bc_card_meta { min-width: 0; overflow-wrap: anywhere; }
}
@media (max-width: 768px) {
    html.gwp_v2.gwp_v3 #gwp_navigation { flex: 1 1 0; min-width: 0; }
    html.gwp_v2.gwp_v3 #gwp_navigation .gwp_nav_controls { width: 100%; min-width: 0; }
    html.gwp_v2.gwp_v3 #gwp_navigation .gwp_nav_search { flex: 1 1 0; min-width: 0; width: auto !important; }
}
@media (max-width: 768px) {
    html.gwp_v2.gwp_v3 .gwp_calheader { height: 64px !important; }
    html.gwp_v2.gwp_v3 .gwp_calheader .gwp_topbuttonbar { padding: 10px 8px !important; gap: 6px !important; flex-wrap: nowrap; }
    html.gwp_v2.gwp_v3 .gwp_calheader #gwp_navigation { flex: 0 1 auto; min-width: 0; }
    html.gwp_v2.gwp_v3 .gwp_calheader .gwp_addtopbuttons { gap: 6px !important; flex: none; }
    html.gwp_v2.gwp_v3 .gwp_calheader #select_caldate { max-width: 100%; }
    html.gwp_v2.gwp_v3 .gwp_calheader #select_caldate > .select_date, html.gwp_v2.gwp_v3 .gwp_calheader #select_dateselect_caldate { padding: 0 6px !important; font-size: 14px !important; white-space: nowrap; }
    html.gwp_v2.gwp_v3 .gwp_calheader #gwp_calviewwrap > .gwp_topbutton, html.gwp_v2.gwp_v3 .gwp_calheader #gwp_calmorewrap > .gwp_topbutton { width: 38px !important; height: 38px !important; }
    html.gwp_v2.gwp_v3 .gwp_calheader #gwp_calviewwrap, html.gwp_v2.gwp_v3 .gwp_calheader #gwp_calmorewrap { width: 38px; }
}

/* =====================================================================================
   POPUPS (design 3): colours, radii, fields and footer buttons only. No layout, z-index, display, animation or DOM changes, so opening/stacking/TinyMCE-Quill behaviour is untouched.
   ===================================================================================== */
html.gwp_v2.gwp_v3 .gwp_popup { background-color: rgba(24, 24, 36, .42); }
html.gwp_v2.gwp_v3 .gwp_popup .gwp_popupbody, html.gwp_v2.gwp_v3 .gwp_popup .gwp_popupbodyd, html.gwp_v2.gwp_v3 .gwp_popup .gwp_popupbodyda { border-radius: 20px; box-shadow: 0 24px 60px rgba(20, 20, 36, .28); }
html.gwp_v2.gwp_v3 .gwp_popup .gwp_popuptitle, html.gwp_v2.gwp_v3 .gwp_popup .gwp_popuptitlealt { font-family: 'Figtree', system-ui, sans-serif; font-weight: 700; letter-spacing: -.02em; color: var(--v2-ink); }
html.gwp_v2.gwp_v3 .gwp_popup .gwp_popupheader { border-bottom-color: var(--v2-line); }

html.gwp_v2.gwp_v3 .gwp_popup .select_singledropdown, html.gwp_v2.gwp_v3 .gwp_popup .select_dateinput, html.gwp_v2.gwp_v3 .gwp_popup .select_timeinput,
html.gwp_v2.gwp_v3 .gwp_popup input.gwp_input, html.gwp_v2.gwp_v3 .gwp_popup input[type="text"], html.gwp_v2.gwp_v3 .gwp_popup input[type="email"], html.gwp_v2.gwp_v3 .gwp_popup input[type="number"],
html.gwp_v2.gwp_v3 .gwp_popup input[type="password"], html.gwp_v2.gwp_v3 .gwp_popup input[type="date"], html.gwp_v2.gwp_v3 .gwp_popup input[type="time"], html.gwp_v2.gwp_v3 .gwp_popup input[type="search"], html.gwp_v2.gwp_v3 .gwp_popup textarea, html.gwp_v2.gwp_v3 .gwp_popup select:not(.ql-header):not(.ql-color):not(.ql-background):not(.ql-align) {
    border: 1px solid var(--v2-line); border-radius: 12px; background-color: #fff; color: var(--v2-ink); font-family: 'Figtree', system-ui, sans-serif; box-shadow: none; }
html.gwp_v2.gwp_v3 .gwp_popup .select_singledropdown:hover, html.gwp_v2.gwp_v3 .gwp_popup input:hover:not([type="checkbox"]):not([type="radio"]), html.gwp_v2.gwp_v3 .gwp_popup textarea:hover { border-color: #c9ccd8; }
html.gwp_v2.gwp_v3 .gwp_popup input:focus:not([type="checkbox"]):not([type="radio"]), html.gwp_v2.gwp_v3 .gwp_popup textarea:focus, html.gwp_v2.gwp_v3 .gwp_popup select:focus { outline: 0; border-color: var(--gwp_tool, #4259cd); box-shadow: 0 0 0 3px var(--gwp_tool_tint, rgba(66, 89, 205, .14)); }

html.gwp_v2.gwp_v3 .gwp_popup .gwp_popupbuttons { border-top-color: var(--v2-line); }
html.gwp_v2.gwp_v3 .gwp_popup .gwp_popupbuttons button, html.gwp_v2.gwp_v3 .gwp_popup .gwp_bottombuttons button, html.gwp_v2.gwp_v3 .gwp_popup .gwp_auth_btn_secondary {
    border-radius: 999px; text-transform: none; letter-spacing: 0; font-family: 'Figtree', system-ui, sans-serif; font-size: 14px; font-weight: 600; }
html.gwp_v2.gwp_v3 .gwp_popup .gwp_popupbuttons .gwp_close_button { background: #fff; border: 1px solid var(--v2-line); color: var(--v2-ink); box-shadow: none; }
html.gwp_v2.gwp_v3 .gwp_popup .gwp_popupbuttons .gwp_close_button:hover { background: var(--v3-soft); }
html.gwp_v2.gwp_v3 .gwp_popup .gwp_popupbuttons .gwp_save_button, html.gwp_v2.gwp_v3 .gwp_popup .gwp_evt_btn_save { background: var(--gwp_tool, #4259cd); border: 1px solid var(--gwp_tool, #4259cd); color: #fff; }
html.gwp_v2.gwp_v3 .gwp_popup .gwp_popupbuttons .gwp_save_button:hover, html.gwp_v2.gwp_v3 .gwp_popup .gwp_evt_btn_save:hover { background: var(--gwp_tool_hover, #3247b8); }
html.gwp_v2.gwp_v3 .gwp_popup .gwp_sbuttonsmall { border-radius: 999px; }

html.gwp_v2.gwp_v3 .gwp_popup h2.gwp_lmsearch, html.gwp_v2.gwp_v3 .gwp_popup h2#gwp_lmsearch, html.gwp_v2.gwp_v3 .gwp_popup h2#gwp_createactivity, html.gwp_v2.gwp_v3 .gwp_popup h2#gwp_createremotemedia { width: auto; height: auto; margin: 0 4px; padding: 4px; border: 0; border-radius: 8px; background: transparent; display: inline-flex; align-items: center; justify-content: center; }
html.gwp_v2.gwp_v3 .gwp_popup h2.gwp_lmsearch:hover, html.gwp_v2.gwp_v3 .gwp_popup h2#gwp_lmsearch:hover { background: var(--v3-soft); }
html.gwp_v2.gwp_v3 .gwp_popup .gwp_popup_tab.gwp_popup_tabselected, html.gwp_v2.gwp_v3 .gwp_popup .gwp_popup_tabselected { color: var(--gwp_tool_text, #2e43ae); }

/* ---------- Schedules: each schedule is its own card so where one ends and the next begins is obvious (the inner hairlines used to look the same as the between-item ones) ---------- */
html.gwp_v2.gwp_v3 .gwp_schedule_card { background: #fff; border: 1px solid var(--v2-line); border-radius: 20px; margin: 0 0 16px; padding: 6px 20px 14px; box-shadow: 0 1px 2px rgba(20, 20, 40, .04); }
html.gwp_v2.gwp_v3 .gwp_schedule_card:hover { background: #fff; box-shadow: 0 4px 16px rgba(20, 20, 40, .08); }
html.gwp_v2.gwp_v3 .gwp_schedule_card .gwp_schedule_title_row { border-bottom: 0; padding-top: 10px; }
html.gwp_v2.gwp_v3 .gwp_schedule_card [class*="gwp_schedule_"][style*="border-bottom"], html.gwp_v2.gwp_v3 .gwp_schedule_card hr { border-color: var(--v3-soft); }
@media (max-width: 768px) { html.gwp_v2.gwp_v3 .gwp_schedule_card { padding: 4px 16px 12px; border-radius: 18px; } }

/* ---------- Calendar month picker: one pill like the page switchers, arrows inside it ---------- */
html.gwp_v2.gwp_v3 .gwp_calheader #select_caldate { display: inline-flex !important; align-items: center; height: 44px; box-sizing: border-box; padding: 0 10px; gap: 4px; border-radius: 999px; background: var(--v3-soft); vertical-align: middle; }
html.gwp_v2.gwp_v3 .gwp_calheader #select_caldate > .select_date { background: transparent; padding: 0 8px; height: 44px; }
html.gwp_v2.gwp_v3 .gwp_calheader #select_caldate > .select_calmleft, html.gwp_v2.gwp_v3 .gwp_calheader #select_caldate > .select_calmright { display: inline-flex !important; line-height: 1; align-self: center; align-items: center; justify-content: center; width: 28px; height: 28px; margin: 0; padding: 0; border-radius: 50%; font-size: 14px; color: var(--v2-muted); cursor: pointer; position: static; }
html.gwp_v2.gwp_v3 .gwp_calheader #select_caldate > .select_calmleft:hover, html.gwp_v2.gwp_v3 .gwp_calheader #select_caldate > .select_calmright:hover { color: var(--gwp_tool_text, #2e43ae); background: transparent; }
html.gwp_v2.gwp_v3 .gwp_calheader #select_caldate > .select_date::after { display: none; }

/* ---------- Blog / News ---------- */
html.gwp_v2.gwp_v3 #gwp_blogs_status_filter { min-width: 0 !important; }
html.gwp_v2.gwp_v3 #gwp_blogs_status_filter .select_singledropdown { height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; padding: 0 34px 0 18px; border: 0; border-radius: 999px; background-color: var(--v3-soft); font: 600 14.5px 'Figtree', system-ui, sans-serif; color: var(--v2-ink); }
html.gwp_v2.gwp_v3 .gwp_blog_card_header { gap: 12px; }
html.gwp_v2.gwp_v3 .gwp_blog_card .gwp_blog_card_title { font-weight: 600; letter-spacing: -.01em; }
html.gwp_v2.gwp_v3 #gwp_blogs_status_filter .select_singledropdown { gap: 10px; min-width: 96px; }
@media (max-width: 768px) { html.gwp_v2.gwp_v3 .gwp_blog_card { padding-left: 0 !important; padding-right: 0 !important; } html.gwp_v2.gwp_v3 .gwp_blog_card_header { padding-left: 0 !important; } }

/* ---------- Settings ---------- */
@media (min-width: 769px) { html.gwp_v2.gwp_v3 #gwp_sframe { margin-left: 32px; margin-right: 32px; } }
@media (max-width: 768px) { html.gwp_v2.gwp_v3 #gwp_sframe { margin-left: 20px; margin-right: 20px; } }
html.gwp_v2.gwp_v3 .gwp_filtersettings .select_tabmcontainer { display: inline-flex; align-items: center; height: 44px; box-sizing: border-box; padding: 0 10px; gap: 4px; border: 0; border-radius: 999px; background: var(--v3-soft); }
html.gwp_v2.gwp_v3 .gwp_filtersettings .select_tabmdropdown { background: transparent; border: 0; padding: 0 12px; font: 600 15px 'Figtree', system-ui, sans-serif; color: var(--v2-ink); text-align: center; }
html.gwp_v2.gwp_v3 .gwp_filtersettings .select_tabmleftalt, html.gwp_v2.gwp_v3 .gwp_filtersettings .select_tabmright { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; font-size: 14px; color: var(--v2-muted); }
html.gwp_v2.gwp_v3 .gwp_filtersettings .select_tabmleftalt, html.gwp_v2.gwp_v3 .gwp_filtersettings .select_tabmright { display: inline-flex !important; line-height: 1; align-self: center; position: static; }
html.gwp_v2.gwp_v3 .gwp_filtersettings .select_tabmdropdown::after, html.gwp_v2.gwp_v3 .gwp_filtersettings .select_tabmdropdown::before { display: none !important; }

/* =====================================================================================
   BROADCASTS: content step (Block Builder / Editor) — same pills, hairlines and radii as the rest of design 3
   ===================================================================================== */
html.gwp_v2.gwp_v3 .gwp_bc_subject_input { height: 48px; padding: 0 18px; border: 1px solid var(--v2-line); border-radius: 14px; background: #fff; font: 500 16px 'Figtree', system-ui, sans-serif; color: var(--v2-ink); box-shadow: none; }
html.gwp_v2.gwp_v3 .gwp_bc_subject_input:focus { border-color: var(--gwp_tool, #4259cd); box-shadow: 0 0 0 3px var(--gwp_tool_tint, rgba(66, 89, 205, .14)); }
html.gwp_v2.gwp_v3 .gwp_bc_editor_wrap { border: 1px solid var(--v2-line); border-radius: 20px; overflow: hidden; background: #fff; box-shadow: none; }
html.gwp_v2.gwp_v3 .gwp_bc_unified_toolbar { background: #fff; border: 0; border-bottom: 1px solid var(--v2-line); padding: 10px 14px; gap: 12px; align-items: center; }
html.gwp_v2.gwp_v3 .gwp_bc_unified_left { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: var(--v3-soft); flex: none; }
html.gwp_v2.gwp_v3 .gwp_bc_editor_tab { display: inline-flex; align-items: center; gap: 8px; padding: 0 16px; height: 36px; border: 0; border-radius: 999px; background: transparent; font: 600 14px 'Figtree', system-ui, sans-serif; color: var(--v2-muted); white-space: nowrap; }
html.gwp_v2.gwp_v3 .gwp_bc_editor_tab:hover { color: var(--v2-ink); background: transparent; }
html.gwp_v2.gwp_v3 .gwp_bc_editor_tab.gwp_bc_editor_tab_active { background: #fff; color: var(--gwp_tool_text, #2e43ae); box-shadow: 0 1px 3px rgba(20, 20, 40, .12); border: 0; }
html.gwp_v2.gwp_v3 .gwp_bc_inuse { display: inline-flex; align-items: center; margin-left: 2px; padding: 2px 9px; border-radius: 999px; background: var(--gwp_tool, #4259cd); color: #fff; font: 700 10.5px 'Figtree', system-ui, sans-serif; letter-spacing: .04em; text-transform: uppercase; }
html.gwp_v2.gwp_v3 .gwp_bc_unified_right .gwp_bc_tab, html.gwp_v2.gwp_v3 .gwp_bblocks_settings_tab { height: 32px; padding: 0 14px; border: 0; border-radius: 999px; font: 600 13px 'Figtree', system-ui, sans-serif; color: var(--v2-muted); background: transparent; }
html.gwp_v2.gwp_v3 .gwp_bc_unified_right .gwp_bc_tab_active, html.gwp_v2.gwp_v3 .gwp_bblocks_settings_tab.gwp_bblocks_settings_tab_active, html.gwp_v2.gwp_v3 .gwp_bblocks_settings_tab.active { background: var(--gwp_tool_tint, #eaedfa); color: var(--gwp_tool_text, #2e43ae); border: 0; }
html.gwp_v2.gwp_v3 .gwp_bblocks_toolbar_btn, html.gwp_v2.gwp_v3 .gwp_bblocks_preview_device_btn { border: 1px solid var(--v2-line); border-radius: 999px; background: #fff; }
html.gwp_v2.gwp_v3 .gwp_bblocks_preview_device_btn.active, html.gwp_v2.gwp_v3 .gwp_bblocks_preview_device_btn.gwp_bblocks_active { border-color: var(--gwp_tool, #4259cd); background: var(--gwp_tool_tint, #eaedfa); color: var(--gwp_tool_text, #2e43ae); }

html.gwp_v2.gwp_v3 .gwp_bc_builder_palette, html.gwp_v2.gwp_v3 .gwp_bblocks_palette { background: #fff; border-right: 1px solid var(--v2-line); }
html.gwp_v2.gwp_v3 .gwp_bblocks_palette_label { font: 700 11px 'Figtree', system-ui, sans-serif; letter-spacing: .09em; color: var(--v2-muted); }
html.gwp_v2.gwp_v3 .gwp_bblocks_palette_item { border: 1px solid var(--v2-line); border-radius: 14px; background: #fff; color: var(--v2-ink); font-family: 'Figtree', system-ui, sans-serif; box-shadow: none; }
html.gwp_v2.gwp_v3 .gwp_bblocks_palette_item:hover { border-color: var(--gwp_tool, #4259cd); background: var(--gwp_tool_tint, #eaedfa); color: var(--gwp_tool_text, #2e43ae); box-shadow: none; }
html.gwp_v2.gwp_v3 .gwp_bc_builder_canvas_wrap, html.gwp_v2.gwp_v3 .gwp_bblocks_canvas_wrap { background: var(--v3-soft); }
html.gwp_v2.gwp_v3 .gwp_bblocks_block_selected { outline-color: var(--gwp_tool, #4259cd); }
html.gwp_v2.gwp_v3 .gwp_bblocks_block_toolbar { border-radius: 999px; background: var(--gwp_tool, #4259cd); }
html.gwp_v2.gwp_v3 .gwp_bblocks_insert_btn { border-radius: 50%; border: 1px solid var(--v2-line); background: #fff; color: var(--v2-muted); }
html.gwp_v2.gwp_v3 .gwp_bblocks_insert_btn:hover { border-color: var(--gwp_tool, #4259cd); color: var(--gwp_tool_text, #2e43ae); }
html.gwp_v2.gwp_v3 .gwp_bblocks_canvas_empty { border-radius: 18px; border-color: var(--v2-line); }
html.gwp_v2.gwp_v3 .gwp_bblocks_insert_popup { border: 1px solid var(--v2-line); border-radius: 16px; box-shadow: 0 16px 40px rgba(20, 20, 40, .16); }

html.gwp_v2.gwp_v3 .gwp_bc_builder_settings { background: #fff; border-left: 1px solid var(--v2-line); }
html.gwp_v2.gwp_v3 .gwp_bblocks_settings_title { font: 700 15px 'Figtree', system-ui, sans-serif; color: var(--v2-ink); }
html.gwp_v2.gwp_v3 .gwp_bblocks_section { border: 1px solid var(--v2-line); border-radius: 16px; background: #fff; overflow: hidden; }
html.gwp_v2.gwp_v3 .gwp_bblocks_section_header { font: 700 11px 'Figtree', system-ui, sans-serif; letter-spacing: .09em; color: var(--v2-muted); background: transparent; }
html.gwp_v2.gwp_v3 .gwp_bblocks_field label { font: 700 11px 'Figtree', system-ui, sans-serif; letter-spacing: .07em; color: var(--v2-muted); }
html.gwp_v2.gwp_v3 .gwp_bblocks_input, html.gwp_v2.gwp_v3 .gwp_bblocks_font_select, html.gwp_v2.gwp_v3 .gwp_bc_builder_settings input[type="text"], html.gwp_v2.gwp_v3 .gwp_bc_builder_settings input[type="number"], html.gwp_v2.gwp_v3 .gwp_bc_builder_settings select, html.gwp_v2.gwp_v3 .gwp_bc_builder_settings textarea {
    border: 1px solid var(--v2-line); border-radius: 12px; background: #fff; font-family: 'Figtree', system-ui, sans-serif; color: var(--v2-ink); box-shadow: none; }
html.gwp_v2.gwp_v3 .gwp_bblocks_input:focus, html.gwp_v2.gwp_v3 .gwp_bblocks_font_select:focus, html.gwp_v2.gwp_v3 .gwp_bc_builder_settings input:focus, html.gwp_v2.gwp_v3 .gwp_bc_builder_settings select:focus, html.gwp_v2.gwp_v3 .gwp_bc_builder_settings textarea:focus { outline: 0; border-color: var(--gwp_tool, #4259cd); box-shadow: 0 0 0 3px var(--gwp_tool_tint, rgba(66, 89, 205, .14)); }
html.gwp_v2.gwp_v3 .gwp_bblocks_swatch { border-radius: 50%; }
html.gwp_v2.gwp_v3 .gwp_bblocks_template_btn, html.gwp_v2.gwp_v3 .gwp_bblocks_upload_btn { border-radius: 999px; }
html.gwp_v2.gwp_v3 .gwp_bblocks_template_btn_primary { background: var(--gwp_tool, #4259cd); border-color: var(--gwp_tool, #4259cd); color: #fff; }
html.gwp_v2.gwp_v3 .gwp_bblocks_template_modal, html.gwp_v2.gwp_v3 .gwp_bblocks_picker { border-radius: 20px; box-shadow: 0 24px 60px rgba(20, 20, 36, .28); }
html.gwp_v2.gwp_v3 .gwp_bblocks_template_card { border: 1px solid var(--v2-line); border-radius: 16px; }
html.gwp_v2.gwp_v3 .gwp_bblocks_picker_search { border: 1px solid var(--v2-line); border-radius: 999px; }

/* Editor side: merge bar + attachments in the same style */
html.gwp_v2.gwp_v3 .gwp_bc_merge_bar { background: #fff !important; border: 0 !important; border-bottom: 1px solid var(--v2-line) !important; border-radius: 0 !important; padding: 12px 16px !important; }
html.gwp_v2.gwp_v3 .gwp_bc_merge_bar .gwp_bc_btn { border-radius: 999px !important; padding: 5px 12px !important; background: var(--v3-soft) !important; border: 0 !important; color: var(--v2-ink) !important; font-weight: 600; }
html.gwp_v2.gwp_v3 .gwp_bc_merge_bar .gwp_bc_btn:hover { background: var(--gwp_tool_tint, #eaedfa) !important; color: var(--gwp_tool_text, #2e43ae) !important; }
html.gwp_v2.gwp_v3 #gwp_bc_spotless_container { padding: 14px 16px; }
html.gwp_v2.gwp_v3 #gwp_bc_spotless_container .gwp_quill_wrap .ql-toolbar.ql-snow { border-radius: 14px 14px 0 0; border-color: var(--v2-line); background: #fff; }
html.gwp_v2.gwp_v3 #gwp_bc_spotless_container .gwp_quill_wrap .ql-container.ql-snow { border-radius: 0 0 14px 14px; border-color: var(--v2-line); }
html.gwp_v2.gwp_v3 .gwp_bblocks_settings_tab.gwp_bblocks_tab_active { background: var(--gwp_tool_tint, #eaedfa); color: var(--gwp_tool_text, #2e43ae); border: 0; }
html.gwp_v2.gwp_v3 .gwp_bc_builder_settings input, html.gwp_v2.gwp_v3 .gwp_bc_builder_settings select, html.gwp_v2.gwp_v3 .gwp_bc_builder_settings textarea { max-width: 100%; box-sizing: border-box; }
@media (max-width: 768px) {
    html.gwp_v2.gwp_v3 .gwp_bc_topbar { flex-wrap: wrap; gap: 12px; }
    html.gwp_v2.gwp_v3 .gwp_bc_topbar_actions { flex-wrap: wrap; gap: 8px; }
    html.gwp_v2.gwp_v3 .gwp_bc_editor_tab { padding: 0 12px; }
    html.gwp_v2.gwp_v3 .gwp_bc_inuse { display: none; }
    html.gwp_v2.gwp_v3 .gwp_bc_editor_wrap { overflow: visible; }
}

/* ---------- Empty states (a page with nothing in it yet): soft icon tile, plain text, one clear pill button ---------- */
html.gwp_v2.gwp_v3 :is(.gwp_cp_empty, .gwp_bc_empty, .gwp_groups_empty, .gwp_members_empty, .gwp_taxp_empty, .gwp_so_empty, .gwp_exp_empty, .gwp_curriculum_empty, .gwp_lib_empty, .gwp_empty, .gwp_reg_empty, .polls_empty) {
    display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 72px 20px; border: 0; background: transparent; }
html.gwp_v2.gwp_v3 :is(.gwp_cp_empty, .gwp_bc_empty, .gwp_groups_empty, .gwp_members_empty, .gwp_taxp_empty, .gwp_so_empty, .gwp_exp_empty, .gwp_curriculum_empty, .gwp_lib_empty, .gwp_empty, .gwp_reg_empty, .polls_empty) > i:first-child {
    display: inline-flex !important; align-items: center; justify-content: center; width: 76px; height: 76px; margin: 0 0 20px !important; border-radius: 50%; background: var(--gwp_tool_tint, #eaedfa); color: var(--gwp_tool_text, #2e43ae) !important; font-size: 32px !important; }
html.gwp_v2.gwp_v3 :is(.gwp_cp_empty, .gwp_bc_empty, .gwp_groups_empty, .gwp_members_empty, .gwp_taxp_empty, .gwp_so_empty, .gwp_exp_empty, .gwp_curriculum_empty, .gwp_lib_empty, .gwp_empty, .gwp_reg_empty, .polls_empty) :is(h3, .gwp_groups_empty_title, .gwp_taxp_empty_title) { margin: 0 0 6px; font: 700 20px 'Figtree', system-ui, sans-serif; letter-spacing: -.01em; color: var(--v2-ink); }
html.gwp_v2.gwp_v3 :is(.gwp_cp_empty, .gwp_bc_empty, .gwp_groups_empty, .gwp_members_empty, .gwp_taxp_empty, .gwp_so_empty, .gwp_exp_empty, .gwp_curriculum_empty, .gwp_lib_empty, .gwp_empty, .gwp_reg_empty, .polls_empty) :is(p, div, .gwp_groups_empty_text, .gwp_members_empty_text, .gwp_taxp_empty_text) { color: var(--v2-muted) !important; font-size: 15px !important; max-width: 420px; }
html.gwp_v2.gwp_v3 :is(.gwp_cp_empty, .gwp_bc_empty, .gwp_groups_empty, .gwp_members_empty, .gwp_taxp_empty, .gwp_so_empty, .gwp_exp_empty, .gwp_curriculum_empty, .gwp_lib_empty, .gwp_empty, .gwp_reg_empty, .polls_empty) button {
    display: inline-flex; align-items: center; gap: 8px; height: 44px; margin-top: 22px !important; padding: 0 22px; border: 0; border-radius: 999px; background: var(--gwp_tool, #4259cd); color: #fff; font: 600 14.5px 'Figtree', system-ui, sans-serif; cursor: pointer; }
html.gwp_v2.gwp_v3 :is(.gwp_cp_empty, .gwp_bc_empty, .gwp_groups_empty, .gwp_members_empty, .gwp_taxp_empty, .gwp_so_empty, .gwp_exp_empty, .gwp_curriculum_empty, .gwp_lib_empty, .gwp_empty, .gwp_reg_empty, .polls_empty) button:hover { background: var(--gwp_tool_hover, #3247b8); }

/* ---------- Mobile: the page switcher takes all the room the bar has left (as the original did), and fixed-bar pages keep their heading clear of the bar ---------- */
@media (max-width: 768px) {
    html.gwp_v2.gwp_v3 #gwp_navigation .gwp_lib_type_dropdown { flex: 1 1 0; min-width: 0; width: auto; }
    html.gwp_v2.gwp_v3 #gwp_navigation .gwp_lib_type_dropdown .gwp_lib_type_current { width: 100% !important; min-width: 0 !important; box-sizing: border-box; }
    html.gwp_v2.gwp_v3 #gwp_navigation .gwp_lib_type_current > span { min-width: 0 !important; }
    html.gwp_v2.gwp_v3 #gwp_frame.v2_fixedbar #gwp_v2_head.v2_generic { padding-top: 84px; }
    html.gwp_v2.gwp_v3 #gwp_frame.v2_fixedbar #gwp_aframe, html.gwp_v2.gwp_v3 #gwp_frame.v2_fixedbar #gwp_userframe, html.gwp_v2.gwp_v3 #gwp_frame.v2_fixedbar #gwp_databaseframe { padding-top: 12px !important; margin-top: 0 !important; }
}

/* ---------- No movement while the page builds: body margin and the bar's height are fixed from the first paint ---------- */
html.gwp_v2.gwp_v3 body { margin: 0; }
html.gwp_v2.gwp_v3 #gwp_topbuttonbar { min-height: 64px; box-sizing: border-box; }
@media (max-width: 768px) { html.gwp_v2.gwp_v3 #gwp_calframe { margin-left: 8px !important; margin-right: 8px !important; width: auto !important; } }
@media (max-width: 768px) {
    html.gwp_v2.gwp_v3 #gwp_navigation > #gwp_tg_switcher ~ .gwp_nav_controls { margin: 0; }
    html.gwp_v2.gwp_v3 #gwp_navigation > #gwp_tg_switcher ~ .gwp_nav_controls { flex: 0 0 44px; width: 44px; }
    html.gwp_v2.gwp_v3 #gwp_navigation > #gwp_tg_switcher ~ .gwp_nav_controls .gwp_nav_search { flex: 0 0 44px; width: 44px !important; min-width: 0; overflow: hidden; }
    html.gwp_v2.gwp_v3 #gwp_tg_switcher { flex: 1 1 0; min-width: 0; width: auto; }
    html.gwp_v2.gwp_v3 #gwp_tg_switcher .gwp_lib_type_current { width: 100% !important; box-sizing: border-box; }
    html.gwp_v2.gwp_v3 #gwp_tg_switcher .gwp_tg_tab_label { flex: 1 1 auto; min-width: 0; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}
html.gwp_v2.gwp_v3 #gwp_topbuttonbar > #gwp_navigation:empty { display: none; }

/* ---------- Opened top-bar menu buttons (calendar view / more): the original gave the wrapper a white "tab" that joins the dropdown, which shows as a white square behind our round buttons ---------- */
html.gwp_v2.gwp_v3 #gwp_calviewwrap.gwp_navactive, html.gwp_v2.gwp_v3 #gwp_calmorewrap.gwp_navactive { background: transparent; box-shadow: none; border-radius: 50%; border-bottom-color: transparent; }
html.gwp_v2.gwp_v3 #gwp_calviewwrap.gwp_navactive > .gwp_topbutton, html.gwp_v2.gwp_v3 #gwp_calmorewrap.gwp_navactive > .gwp_topbutton { background: var(--gwp_tool_tint, #eaedfa); color: var(--gwp_tool_text, #2e43ae); }
html.gwp_v2.gwp_v3 .gwp_navactive .gwp_dropdown-additem { border: 1px solid var(--v2-line); border-radius: 18px; box-shadow: 0 16px 40px rgba(20, 20, 40, .16); margin-top: 8px; }
html.gwp_v2.gwp_v3 .gwp_topbutton, html.gwp_v2.gwp_v3 .gwp_topbuttonc { -webkit-tap-highlight-color: transparent; }

/* ---------- Calendar on phones: use the whole width (7 equal columns, no leftover strip on the right), full month label ---------- */
@media (max-width: 768px) {
    html.gwp_v2.gwp_v3 #gwp_calframe { margin-left: 4px !important; margin-right: 4px !important; }
    html.gwp_v2.gwp_v3 #gwp_cframe { padding-left: 0 !important; padding-right: 0 !important; }
    html.gwp_v2.gwp_v3 #gwp_calframe [id^="gwp_row"]:not([style*="display: none"]):not([style*="display:none"]) { display: flex !important; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; box-sizing: border-box; }
    html.gwp_v2.gwp_v3 #gwp_calframe [id^="gwp_row"]:not([style*="display: none"]):not([style*="display:none"]) > * { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; box-sizing: border-box; }
    html.gwp_v2.gwp_v3 .gwp_calheader #select_caldate { padding: 0 6px; gap: 0; flex: 0 1 auto; min-width: 0; }
    html.gwp_v2.gwp_v3 .gwp_calheader #select_caldate > .select_calmleft, html.gwp_v2.gwp_v3 .gwp_calheader #select_caldate > .select_calmright { width: 22px; flex: none; }
    html.gwp_v2.gwp_v3 .gwp_calheader #select_caldate > .select_date, html.gwp_v2.gwp_v3 .gwp_calheader #select_dateselect_caldate { padding: 0 2px !important; font-size: 13.5px !important; white-space: nowrap; overflow: visible; min-width: max-content; }
}

/* ---------- Mobile: strip the extra inner padding some pages add inside the shared 20px gutter ---------- */
@media (max-width: 768px) {
    html.gwp_v2.gwp_v3 #gwp_exp_panel_receipts, html.gwp_v2.gwp_v3 .gwp_exp_search_wrap, html.gwp_v2.gwp_v3 .gwp_so_content { padding-left: 0 !important; padding-right: 0 !important; }
    html.gwp_v2.gwp_v3 .gwp_expenses_page input[type="date"], html.gwp_v2.gwp_v3 .gwp_expenses_page select { min-width: 0; max-width: 100%; box-sizing: border-box; }
    html.gwp_v2.gwp_v3 #gwp_addtb { flex: none; }
}

/* ---------- Mobile: things that used to run off the right edge ---------- */
@media (max-width: 768px) {
    html.gwp_v2.gwp_v3 #gwp_sframe [style*="display:grid"], html.gwp_v2.gwp_v3 #gwp_sframe [style*="display: grid"] { grid-template-columns: minmax(0, 1fr) !important; }
    html.gwp_v2.gwp_v3 #gwp_sframe .gwp_cgd_perm_list { max-width: 100%; }
    /* Kiosk Mode admin tables become one card per row, with every action button reachable */
    html.gwp_v2.gwp_v3 .gwp_kiosk_table, html.gwp_v2.gwp_v3 .gwp_kiosk_table tbody { display: block; width: 100%; }
    html.gwp_v2.gwp_v3 .gwp_kiosk_table thead { display: none; }
    html.gwp_v2.gwp_v3 .gwp_kiosk_table tr { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; padding: 18px 0; border-bottom: 1px solid var(--v2-line); }
    html.gwp_v2.gwp_v3 .gwp_kiosk_table td { display: block; padding: 0; border: 0; font-size: 14px; color: var(--v2-muted); }
    html.gwp_v2.gwp_v3 .gwp_kiosk_table td:first-child { flex: 1 1 100%; font-size: 17px; font-weight: 600; color: var(--v2-ink); }
    html.gwp_v2.gwp_v3 .gwp_kiosk_table td.gwp_kiosk_device_actions { flex: 1 1 100%; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
}
@media (max-width: 768px) {
    html.gwp_v2.gwp_v3 .gwp_bc_card_main { min-width: 0; max-width: 100%; flex: 1 1 100%; }
    html.gwp_v2.gwp_v3 .gwp_bc_card_meta { flex-wrap: wrap; }
}
@media (max-width: 380px) {
    html.gwp_v2.gwp_v3 .gwp_calheader .gwp_topbuttonbar { padding-left: 6px !important; padding-right: 6px !important; gap: 4px !important; }
    html.gwp_v2.gwp_v3 .gwp_calheader .gwp_addtopbuttons { gap: 4px !important; }
    html.gwp_v2.gwp_v3 .gwp_calheader #select_caldate > .select_calmleft, html.gwp_v2.gwp_v3 .gwp_calheader #select_caldate > .select_calmright { width: 18px; }
    html.gwp_v2.gwp_v3 .gwp_calheader #select_caldate > .select_date, html.gwp_v2.gwp_v3 .gwp_calheader #select_dateselect_caldate { font-size: 12.5px !important; }
    html.gwp_v2.gwp_v3 .gwp_calheader #gwp_calviewwrap > .gwp_topbutton, html.gwp_v2.gwp_v3 .gwp_calheader #gwp_calmorewrap > .gwp_topbutton { width: 34px !important; height: 34px !important; }
    html.gwp_v2.gwp_v3 .gwp_calheader #gwp_calviewwrap, html.gwp_v2.gwp_v3 .gwp_calheader #gwp_calmorewrap { width: 34px; }
}

/* ---------- Mobile search that shares the bar with a switcher (Teams & Groups): a search button that opens a full-width field over the bar while it has focus ---------- */
@media (max-width: 768px) {
    html.gwp_v2.gwp_v3 #gwp_navigation > #gwp_tg_switcher ~ .gwp_nav_controls .gwp_nav_search { position: relative; }
    html.gwp_v2.gwp_v3 #gwp_navigation > #gwp_tg_switcher ~ .gwp_nav_controls .gwp_nav_search input { position: absolute; left: 0; top: 0; width: 100%; height: 100%; opacity: 0; padding: 0; border: 0; background: transparent; font-size: 16px; }
    html.gwp_v2.gwp_v3 #gwp_navigation > #gwp_tg_switcher ~ .gwp_nav_controls .gwp_nav_search:focus-within { position: fixed; left: 12px; right: 12px; top: 10px; width: auto !important; height: 44px; z-index: 9100; overflow: visible; background: var(--v3-soft); box-shadow: 0 6px 24px rgba(20, 20, 40, .18); }
    html.gwp_v2.gwp_v3 #gwp_navigation > #gwp_tg_switcher ~ .gwp_nav_controls .gwp_nav_search:focus-within input { opacity: 1; padding: 0 16px 0 46px; }
    html.gwp_v2.gwp_v3 #gwp_navigation > #gwp_tg_switcher ~ .gwp_nav_controls .gwp_nav_search > i { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); z-index: 1; pointer-events: none; }
}
/* Create buttons that are a single "+ Create ⌄" control (no separate main button): one whole pill, on every width */
html.gwp_v2.gwp_v3 #gwp_addtb.gwp_split[data-noprimary="true"] .gwp_split_caret { border-radius: 999px; width: auto; padding: 0 14px 0 16px; border-left-width: 1px; }
@media (max-width: 768px) {
    html.gwp_v2.gwp_v3 #gwp_addtb.gwp_split[data-noprimary="true"] .gwp_split_caret { padding: 0 12px; gap: 4px; }
    html.gwp_v2.gwp_v3 #gwp_frame:has(#gwp_mediaframe) .gwp_topbuttonbar { padding: 10px 12px; }
}
@media (max-width: 768px) { html.gwp_v2.gwp_v3 .gwp_schedule_card, html.gwp_v2.gwp_v3 #gwp_content0.gwp_schedule_card { padding-left: 16px !important; padding-right: 16px !important; } }

/* Tablet widths: the calendar bar has more controls than fit beside a text "New Event" button */
@media (min-width: 769px) and (max-width: 1100px) {
    html.gwp_v2.gwp_v3 .gwp_calheader .gwp_split_main .t { display: none; }
    html.gwp_v2.gwp_v3 .gwp_calheader .gwp_topbuttonbar { padding-left: 16px; padding-right: 16px; gap: 8px; }
    html.gwp_v2.gwp_v3 .gwp_calheader .gwp_addtopbuttons { gap: 8px; }
}

/* =====================================================================================
   POLLS (design 3): the host screens (list, editor, modals) move onto the shared light palette through the page's own --polls-* variables.
   The presenter and join screens are shown on a projector, so they keep their dark look.
   ===================================================================================== */
html.gwp_v2.gwp_v3 body {
    --polls-bg: #fff; --polls-surface: #fff; --polls-surface2: #f3f3f0; --polls-border: #e7e7e3;
    --polls-text: #16151f; --polls-text-dim: #5e5e6a; --polls-text-muted: #8a8a96;
    --polls-primary: var(--gwp_tool, #4259cd); --polls-primary-glow: rgba(66, 89, 205, .16); --polls-accent: #6d5bd0;
    --polls-radius: 24px; --polls-radius-sm: 999px;
}
html.gwp_v2.gwp_v3:not([data-poll-theme="light"]) .polls_presenter, html.gwp_v2.gwp_v3:not([data-poll-theme="light"]) .polls_join_screen, html.gwp_v2.gwp_v3:not([data-poll-theme="light"]) .polls_join_overlay {
    --polls-bg: #0e0f13; --polls-surface: #16171c; --polls-surface2: #1f2127; --polls-border: #2a2c34; --polls-text: #f4f4f6; --polls-text-dim: #a3a5b0; --polls-text-muted: #71737f; --polls-radius: 12px; --polls-radius-sm: 8px; --polls-primary: #6366f1; --polls-primary-glow: rgba(99, 102, 241, .3); --polls-accent: #8b5cf6;
}
html.gwp_v2.gwp_v3 #gwp_topbuttonbar.ov_topbuttonbar_override { display: flex !important; padding: 10px 32px !important; min-height: 64px !important; height: auto !important; background: transparent !important; border: 0 !important; box-sizing: border-box; }
html.gwp_v2.gwp_v3 .polls_dashboard, html.gwp_v2.gwp_v3 .polls_editor { min-height: 0; background: transparent; padding: 0 32px 64px; font-family: 'Figtree', system-ui, sans-serif; color: var(--polls-text); }
html.gwp_v2.gwp_v3 .polls_header { justify-content: flex-end; padding: 8px 0 16px; border: 0; background: none; }
html.gwp_v2.gwp_v3 .polls_header h1, html.gwp_v2.gwp_v3 .polls_ham_btn { display: none; }
html.gwp_v2.gwp_v3 .polls_header_actions { display: flex; gap: 10px; }
html.gwp_v2.gwp_v3 .polls_btn { height: 42px; padding: 0 18px; border: 1px solid var(--polls-border); border-radius: 999px; background: #fff; color: var(--polls-text); font: 600 14px 'Figtree', system-ui, sans-serif; box-shadow: none; transition: none; }
html.gwp_v2.gwp_v3 .polls_btn:hover { background: var(--polls-surface2); box-shadow: none; transform: none; }
html.gwp_v2.gwp_v3 .polls_btn_sm { height: 38px; padding: 0 16px; font-size: 13.5px; }
html.gwp_v2.gwp_v3 .polls_btn_primary { background: var(--polls-primary); border-color: var(--polls-primary); color: #fff; background-image: none; }
html.gwp_v2.gwp_v3 .polls_btn_primary:hover { background: var(--gwp_tool_hover, #3247b8); }
html.gwp_v2.gwp_v3 .polls_btn_success { background: #e3f3ec; border-color: transparent; color: #0b6b49; }
html.gwp_v2.gwp_v3 .polls_btn_accent { background: #ece9fb; border-color: transparent; color: #4a3aa8; }
html.gwp_v2.gwp_v3 .polls_btn_danger { background: #fff; border-color: #f0c9d6; color: #b3264f; }
html.gwp_v2.gwp_v3 .polls_btn_danger:hover { background: #fbe6ee; }
html.gwp_v2.gwp_v3 .polls_btn_warning { background: #fdf0d9; border-color: transparent; color: #8a5300; }
html.gwp_v2.gwp_v3 .polls_btn_ghost, html.gwp_v2.gwp_v3 .polls_btn_outline { background: #fff; }

html.gwp_v2.gwp_v3 .polls_group_tabs { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 0 20px; }
html.gwp_v2.gwp_v3 .polls_gtab { height: 38px; padding: 0 18px; border: 0; border-radius: 999px; background: var(--polls-surface2); color: var(--polls-text-dim); font: 600 14px 'Figtree', system-ui, sans-serif; }
html.gwp_v2.gwp_v3 .polls_gtab_active { background: var(--gwp_tool_tint, #eaedfa); color: var(--gwp_tool_text, #2e43ae); }
html.gwp_v2.gwp_v3 .polls_list { padding: 0; gap: 16px; }
html.gwp_v2.gwp_v3 .polls_card { padding: 24px 28px; border: 1px solid var(--polls-border); border-radius: 24px; background: #fff; box-shadow: none; }
html.gwp_v2.gwp_v3 .polls_card:hover { background: #fff; border-color: #cfcfca; box-shadow: none; transform: none; }
html.gwp_v2.gwp_v3 .polls_card_header h3 { font: 700 19px 'Figtree', system-ui, sans-serif; letter-spacing: -.01em; color: var(--polls-text); }
html.gwp_v2.gwp_v3 .polls_card_meta { color: var(--polls-text-muted); }
html.gwp_v2.gwp_v3 .polls_card_actions { border-top: 1px solid var(--polls-border); }
html.gwp_v2.gwp_v3 .polls_status { border: 0; border-radius: 999px; font: 700 11px 'Figtree', system-ui, sans-serif; letter-spacing: .06em; padding: 5px 12px; }
html.gwp_v2.gwp_v3 .polls_status_live { background: #e3f3ec; color: #0b6b49; }
html.gwp_v2.gwp_v3 .polls_status_draft { background: #ecebf1; color: #575468; }
html.gwp_v2.gwp_v3 .polls_status_closed { background: #fbe6ee; color: #8f1f4d; }

html.gwp_v2.gwp_v3 .polls_editor_header { padding: 8px 0 16px; border: 0; background: none; }
html.gwp_v2.gwp_v3 .polls_editor_header h2, html.gwp_v2.gwp_v3 .polls_editor_header h1 { font: 700 26px 'Figtree', system-ui, sans-serif; letter-spacing: -.02em; color: var(--polls-text); background: none; -webkit-text-fill-color: currentColor; }
html.gwp_v2.gwp_v3 .polls_access_code_bar { border: 1px solid var(--polls-border); border-radius: 20px; background: #fff; }
html.gwp_v2.gwp_v3 .polls_editor .polls_join_code, html.gwp_v2.gwp_v3 .polls_editor .polls_code_badge { color: var(--gwp_tool_text, #2e43ae); }
html.gwp_v2.gwp_v3 .polls_input, html.gwp_v2.gwp_v3 .polls_textarea, html.gwp_v2.gwp_v3 .polls_option_input, html.gwp_v2.gwp_v3 .polls_dashboard select, html.gwp_v2.gwp_v3 .polls_editor select, html.gwp_v2.gwp_v3 .polls_modal_box input, html.gwp_v2.gwp_v3 .polls_modal_box select { border: 1px solid var(--polls-border); border-radius: 14px; background: #fff; color: var(--polls-text); font-family: 'Figtree', system-ui, sans-serif; box-shadow: none; }
html.gwp_v2.gwp_v3 .polls_input:focus, html.gwp_v2.gwp_v3 .polls_textarea:focus, html.gwp_v2.gwp_v3 .polls_option_input:focus { outline: 0; border-color: var(--polls-primary); box-shadow: 0 0 0 3px var(--polls-primary-glow); }
html.gwp_v2.gwp_v3 .polls_field_label, html.gwp_v2.gwp_v3 .polls_section_header { font: 700 11.5px 'Figtree', system-ui, sans-serif; letter-spacing: .08em; color: var(--polls-text-muted); }
html.gwp_v2.gwp_v3 .polls_section { border-color: var(--polls-border); }
html.gwp_v2.gwp_v3 .polls_question_card { border: 1px solid var(--polls-border); border-radius: 24px; background: #fff; box-shadow: none; }
html.gwp_v2.gwp_v3 .polls_question_number, html.gwp_v2.gwp_v3 .polls_option_letter { background: var(--polls-primary); color: #fff; }
html.gwp_v2.gwp_v3 .polls_type_option { border: 1px solid var(--polls-border); border-radius: 999px; background: #fff; color: var(--polls-text-dim); font-family: 'Figtree', system-ui, sans-serif; }
html.gwp_v2.gwp_v3 .polls_type_option:hover { background: var(--polls-surface2); }
html.gwp_v2.gwp_v3 .polls_type_option_active, html.gwp_v2.gwp_v3 .polls_type_option.active, html.gwp_v2.gwp_v3 .polls_type_option.selected { background: var(--polls-primary); border-color: var(--polls-primary); color: #fff; }
html.gwp_v2.gwp_v3 .polls_modal_overlay { background: rgba(24, 24, 36, .42); }
html.gwp_v2.gwp_v3 .polls_modal_box, html.gwp_v2.gwp_v3 .polls_confirm_box { border: 0; border-radius: 28px; background: #fff; box-shadow: 0 30px 80px rgba(20, 20, 36, .28); color: var(--polls-text); }
html.gwp_v2.gwp_v3 .polls_modal_header, html.gwp_v2.gwp_v3 .polls_modal_footer { border-color: var(--polls-border); }
html.gwp_v2.gwp_v3 .polls_toast { border-radius: 999px; font-family: 'Figtree', system-ui, sans-serif; }
html.gwp_v2.gwp_v3 .polls_back_link { color: var(--polls-text-dim); }
@media (max-width: 768px) {
    html.gwp_v2.gwp_v3 #gwp_topbuttonbar.ov_topbuttonbar_override { padding: 10px 12px !important; }
    html.gwp_v2.gwp_v3 .polls_dashboard, html.gwp_v2.gwp_v3 .polls_editor { padding: 0 20px 48px; }
    html.gwp_v2.gwp_v3 .polls_header { justify-content: flex-start; }
    html.gwp_v2.gwp_v3 .polls_card { padding: 20px; }
    html.gwp_v2.gwp_v3 .polls_card_actions { flex-wrap: wrap; gap: 8px; }
}
html.gwp_v2.gwp_v3 .polls_gtab { display: inline-flex; align-items: center; line-height: 1; }
html.gwp_v2.gwp_v3 .polls_header { padding: 0 0 12px; }
html.gwp_v2.gwp_v3 #gwp_frame:has(.polls_editor) #gwp_v2_head, html.gwp_v2.gwp_v3 #gwp_frame:has(.polls_presenter) #gwp_v2_head, html.gwp_v2.gwp_v3 #gwp_frame:has(.polls_presenter) #gwp_topbuttonbar { display: none !important; }
html.gwp_v2.gwp_v3 .polls_editor .polls_access_code_bar { margin: 0 0 20px; }
html.gwp_v2.gwp_v3 .polls_editor .polls_section { padding-left: 0; padding-right: 0; }
@media (max-width: 768px) { html.gwp_v2.gwp_v3 .polls_editor .polls_access_code_bar { padding: 16px; } html.gwp_v2.gwp_v3 .polls_editor .polls_question_card { padding: 16px; } }

/* Presenter in the dark theme keeps its own dark buttons; the light host-screen button styling must not leak in */
html.gwp_v2.gwp_v3:not([data-poll-theme="light"]) .polls_presenter .polls_btn, html.gwp_v2.gwp_v3:not([data-poll-theme="light"]) .polls_join_overlay .polls_btn { background: var(--polls-surface); color: var(--polls-text); border-color: var(--polls-border); }
html.gwp_v2.gwp_v3:not([data-poll-theme="light"]) .polls_presenter .polls_btn_primary { background: var(--polls-primary); border-color: var(--polls-primary); color: #fff; }
html.gwp_v2.gwp_v3:not([data-poll-theme="light"]) .polls_presenter .polls_btn_success { background: #16a34a; border-color: #16a34a; color: #fff; }
html.gwp_v2.gwp_v3:not([data-poll-theme="light"]) .polls_presenter .polls_btn_accent { background: var(--polls-accent); border-color: var(--polls-accent); color: #fff; }
html.gwp_v2.gwp_v3:not([data-poll-theme="light"]) .polls_presenter .polls_btn_danger { background: transparent; border-color: #ef4444; color: #ef4444; }
html.gwp_v2.gwp_v3:not([data-poll-theme="light"]) .polls_presenter .polls_btn_warning { background: #eab308; border-color: #eab308; color: #1c1917; }

/* Polls: "New Poll" lives in the top bar's Create button; "New Group" sits on the same row as the group tabs */
html.gwp_v2.gwp_v3 .polls_dashboard { display: flex; flex-wrap: wrap; align-items: center; gap: 0 12px; }
html.gwp_v2.gwp_v3 .polls_dashboard > .polls_header { order: 2; margin-left: auto; padding: 0 0 20px; flex: 0 0 auto; }
html.gwp_v2.gwp_v3 .polls_dashboard > .polls_group_tabs { order: 1; flex: 1 1 auto; }
html.gwp_v2.gwp_v3 .polls_dashboard > .polls_list { order: 3; flex: 1 1 100%; }
html.gwp_v2.gwp_v3 .polls_header_actions .polls_btn_primary { display: none; }
html.gwp_v2.gwp_v3 .polls_theme_seg { background: var(--v3-soft); border: 0; }
html.gwp_v2.gwp_v3 .polls_theme_opt { font-family: 'Figtree', system-ui, sans-serif; }
html.gwp_v2.gwp_v3 .polls_theme_opt_on { background: #fff; color: var(--v2-ink); box-shadow: 0 1px 3px rgba(20, 20, 40, .14); }
html.gwp_v2.gwp_v3 .polls_dashboard > .polls_header { display: none; }

/* SweetAlert dialogs (confirmations, prompts) in the same shape as the other popups */
html.gwp_v2.gwp_v3 .swal2-popup { border-radius: 28px; padding: 28px 28px 24px; font-family: 'Figtree', system-ui, sans-serif; box-shadow: 0 30px 80px rgba(20, 20, 36, .28); }
html.gwp_v2.gwp_v3 .swal2-title { font-weight: 700; letter-spacing: -.02em; color: var(--v2-ink); }
html.gwp_v2.gwp_v3 .swal2-input, html.gwp_v2.gwp_v3 .swal2-textarea { border: 1px solid var(--v2-line); border-radius: 14px; box-shadow: none; font-family: inherit; }
html.gwp_v2.gwp_v3 .swal2-styled { border-radius: 999px !important; height: 44px; padding: 0 24px !important; font-family: inherit; font-weight: 600; box-shadow: none !important; }
html.gwp_v2.gwp_v3 .swal2-styled.swal2-confirm { background-color: var(--gwp_tool, #4259cd) !important; }
html.gwp_v2.gwp_v3 .swal2-styled.swal2-cancel { background-color: var(--v3-soft) !important; color: var(--v2-ink) !important; }

/* Tickets: the scan and back buttons are icon-only, so they are proper 44px circles with the icon centred (they were a padded pill with an inline icon) */
html.gwp_v2.gwp_v3 #gwp_tk_btn_scan, html.gwp_v2.gwp_v3 #gwp_tk_btn_back { width: 44px; padding: 0; gap: 0; align-items: center; justify-content: center; }
html.gwp_v2.gwp_v3 #gwp_tk_btn_scan:not([style*="display: none"]):not([style*="display:none"]), html.gwp_v2.gwp_v3 #gwp_tk_btn_back:not([style*="display: none"]):not([style*="display:none"]) { display: inline-flex !important; }
html.gwp_v2.gwp_v3 #gwp_tk_btn_scan .gwp_itopbutton, html.gwp_v2.gwp_v3 #gwp_tk_btn_back .gwp_itopbutton { margin: 0; padding: 0; line-height: 1; font-size: 20px; display: block; }
html.gwp_v2.gwp_v3 #gwp_tk_btns { display: inline-flex; align-items: center; gap: 8px; margin-right: 8px; }

/* ---------- Text lines up with the page title and top bar: no inset on list rows ---------- */
html.gwp_v2.gwp_v3 .gwp_members_list_header, html.gwp_v2.gwp_v3 .gwp_members_item { padding-left: 0; padding-right: 0; }
/* Schedules stay as cards (clear where each one starts and ends); the page heading is indented to line up with the text inside the cards */
html.gwp_v2.gwp_v3 .gwp_schedule_card, html.gwp_v2.gwp_v3 #gwp_content0.gwp_schedule_card { background: #fff; border: 1px solid var(--v2-line); border-radius: 20px; margin: 0 0 16px; padding: 14px 20px 18px !important; box-shadow: 0 1px 2px rgba(20, 20, 40, .04); }
html.gwp_v2.gwp_v3 .gwp_schedule_card:hover { background: #fff; box-shadow: 0 4px 16px rgba(20, 20, 40, .08); }
html.gwp_v2.gwp_v3 .gwp_schedule_card .gwp_schedule_title_row { border-bottom: 0; padding-top: 10px; }
html.gwp_v2.gwp_v3 .gwp_members_col_check { justify-content: flex-start; padding-left: 0; }
html.gwp_v2.gwp_v3 .gwp_schedule_card .gwp_h3 { font-family: 'Figtree', system-ui, sans-serif; font-weight: 700; letter-spacing: -.01em; }
html.gwp_v2.gwp_v3 .gwp_members_col_check input[type="checkbox"] { margin-left: 0; }

/* Card pages: the card edges stay on the shared 32px edge, and the text inside the cards plus the page heading sit at 45px, level with the hamburger's three lines */
@media (min-width: 769px) {
    html.gwp_v2.gwp_v3 #gwp_frame:has(.gwp_schedule_card, .gwp_cur_card, .gwp_groups_card, .gwp_so_card, .gwp_settingframe, .gwp_taxp_card) #gwp_v2_head.v2_generic { padding-left: 45px; }
    html.gwp_v2.gwp_v3 .gwp_schedule_card, html.gwp_v2.gwp_v3 #gwp_content0.gwp_schedule_card { padding-left: 12px !important; padding-right: 12px !important; }
    html.gwp_v2.gwp_v3 .gwp_groups_grid { margin-left: -4px; margin-right: -4px; }
    html.gwp_v2.gwp_v3 .gwp_groups_card { padding-left: 13px; padding-right: 13px; }
    html.gwp_v2.gwp_v3 .gwp_taxp_card { padding-left: 13px; padding-right: 13px; }
    html.gwp_v2.gwp_v3 .gwp_settingframe { padding-left: 12px; padding-right: 12px; }
    html.gwp_v2.gwp_v3 .gwp_cur_card_body { padding-left: 13px; padding-right: 13px; }
}
@media (max-width: 768px) {
    html.gwp_v2.gwp_v3 #gwp_frame:has(.gwp_schedule_card, .gwp_cur_card, .gwp_groups_card, .gwp_so_card, .gwp_settingframe, .gwp_taxp_card) #gwp_v2_head.v2_generic { padding-left: 38px; }
}

/* Member avatars whose saved colour is white (or nearly) would show white initials on white: give them a readable tint instead */
html.gwp_v2.gwp_v3 .gwp_members_avatar[style*="background:#ffffff"], html.gwp_v2.gwp_v3 .gwp_members_avatar[style*="background: #ffffff"], html.gwp_v2.gwp_v3 .gwp_members_avatar[style*="background:#fff;"], html.gwp_v2.gwp_v3 .gwp_members_avatar[style*="background:white"], html.gwp_v2.gwp_v3 .gwp_members_avatar[style*="background: rgb(255, 255, 255)"] { background: var(--gwp_tool_tint, #eaedfa) !important; color: var(--gwp_tool_text, #2e43ae) !important; }
/* Type badges saved with white text (the light blue "Member" one) would be white on pale blue */
html.gwp_v2.gwp_v3 .gwp_members_type_badge[style*="color:#ffffff"], html.gwp_v2.gwp_v3 .gwp_members_type_badge[style*="color: #ffffff"], html.gwp_v2.gwp_v3 .gwp_members_type_badge[style*="color:#fff;"], html.gwp_v2.gwp_v3 .gwp_members_type_badge[style*="color:white"] { color: #1e40af !important; }

/* =====================================================================================
   SCHEDULES LIST: card, actions, page chooser, filter
   ===================================================================================== */
/* card: one border, no inner hairlines, no empty gap under the title */
html.gwp_v2.gwp_v3 .gwp_schedule_card .gwp_schedule_title_row { border: 0; padding-top: 4px; align-items: center; }
html.gwp_v2.gwp_v3 .gwp_schedule_card .gwp_more_buttonwrap { border: 0; padding: 4px 0 0; }
html.gwp_v2.gwp_v3 .gwp_schedule_card .gwp_schedule_tags:empty { display: none; }
html.gwp_v2.gwp_v3 .gwp_schedule_card .gwp_schedule_tags { display: flex; flex-wrap: wrap; gap: 8px; padding: 6px 0 12px; }
html.gwp_v2.gwp_v3 .gwp_schedule_card .gwp_schedule_tags > div { margin: 0; }
html.gwp_v2.gwp_v3 .gwp_itemcounttext { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 999px; background: var(--v3-soft); color: var(--v2-ink); font: 600 12.5px 'Figtree', system-ui, sans-serif; }
html.gwp_v2.gwp_v3 .gwp_schedule_card .gwp_sched_preview_clip { max-height: 190px; }
html.gwp_v2.gwp_v3 .gwp_schedule_card [class*="gwp_schedule_"][style*="border"], html.gwp_v2.gwp_v3 .gwp_schedule_card .gwp_schedulewrap { border-top: 0; border-bottom: 0; }
/* the title opens the schedule */
html.gwp_v2.gwp_v3 .gwp_sched_open[role="button"] { cursor: pointer; }
html.gwp_v2.gwp_v3 .gwp_sched_open[role="button"]:hover { color: var(--gwp_tool_text, #2e43ae); }
html.gwp_v2.gwp_v3 .gwp_sched_open:focus-visible { outline: 2px solid var(--gwp_tool, #4259cd); outline-offset: 3px; border-radius: 6px; }
/* ⋮ is a real button now */
html.gwp_v2.gwp_v3 .gwp_schedule_card button.gwp_nav_icon_btn { border: 0; padding: 0; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; background: var(--v3-soft); color: var(--v2-ink); font-size: 18px; }
html.gwp_v2.gwp_v3 .gwp_schedule_card button.gwp_nav_icon_btn:focus-visible { outline: 2px solid var(--gwp_tool, #4259cd); outline-offset: 2px; }
html.gwp_v2.gwp_v3 .gwp_nav_dropdown { border: 1px solid var(--v2-line); border-radius: 16px; box-shadow: 0 16px 40px rgba(20, 20, 40, .16); padding: 6px; min-width: 190px; }
html.gwp_v2.gwp_v3 .gwp_nav_dropdown > a, html.gwp_v2.gwp_v3 .gwp_nav_dropdown > .gwp_nav_menu_item, html.gwp_v2.gwp_v3 .gwp_nav_dropdown > div { border-radius: 10px; padding: 10px 12px; font: 500 14px 'Figtree', system-ui, sans-serif; color: var(--v2-ink); }
html.gwp_v2.gwp_v3 .gwp_nav_dropdown > .gwp_nav_menu_item:hover, html.gwp_v2.gwp_v3 .gwp_nav_dropdown > a:hover { background: var(--v3-soft); }
html.gwp_v2.gwp_v3 .gwp_nav_dropdown > .gwp_nav_menu_danger, html.gwp_v2.gwp_v3 .gwp_nav_dropdown > .gwp_nav_menu_danger i { color: #b3264f; }
/* page chooser: same pill as the page switchers */
html.gwp_v2.gwp_v3 .select_paginateframe { display: inline-block; }
html.gwp_v2.gwp_v3 .select_paginate_current { display: inline-flex; align-items: center; gap: 2px; height: 44px; box-sizing: border-box; padding: 0 8px; border: 0; border-radius: 999px; background: var(--v3-soft); box-shadow: none; cursor: pointer; }
html.gwp_v2.gwp_v3 .select_paginate_current:hover { background: #ebebe6; border: 0; }
html.gwp_v2.gwp_v3 .select_paginate_label { min-width: 26px; text-align: center; font: 700 15px 'Figtree', system-ui, sans-serif; color: var(--v2-ink); }
html.gwp_v2.gwp_v3 .select_paginate_arrow { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; color: var(--v2-muted); font-size: 14px; }
html.gwp_v2.gwp_v3 .select_paginate_arrow:not(.select_paginate_arrow_disabled):hover { background: #fff; color: var(--gwp_tool_text, #2e43ae); }
html.gwp_v2.gwp_v3 .select_paginate_panel { margin-top: 8px; padding: 6px; border: 1px solid var(--v2-line); border-radius: 16px; background: #fff; box-shadow: 0 16px 40px rgba(20, 20, 40, .16); }
html.gwp_v2.gwp_v3 .select_paginate_panel > div { border-radius: 10px; font: 600 14px 'Figtree', system-ui, sans-serif; }
html.gwp_v2.gwp_v3 .select_paginate_item_active { background: var(--gwp_tool_tint, #eaedfa); color: var(--gwp_tool_text, #2e43ae); }
/* Filter: a neutral pill like the other bar controls */
html.gwp_v2.gwp_v3 #gwp_navigation .gwp_nav_btn { display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 18px; border: 0; border-radius: 999px; background: var(--v3-soft); color: var(--v2-ink); font: 600 14px 'Figtree', system-ui, sans-serif; box-shadow: none; }
html.gwp_v2.gwp_v3 #gwp_navigation .gwp_nav_btn:hover { background: #ebebe6; }
html.gwp_v2.gwp_v3 #gwp_navigation .gwp_nav_btn i { color: var(--v2-muted); }
html.gwp_v2.gwp_v3 .gwp_schedule_card .gwp_schedule_title_row { margin-bottom: 0; }
html.gwp_v2.gwp_v3 .gwp_schedule_card .gwp_schedule_tags { margin: 0; padding: 6px 0 12px; }
html.gwp_v2.gwp_v3 .gwp_schedule_card .gwp_schedulewrap { margin-top: 0; padding-top: 0; }

/* =====================================================================================
   POPUPS, second pass: one header, one tab style, one footer across every popup.
   Colours, shapes and type only: layout, display, z-index, mobile tab dropdowns and all behaviour are untouched.
   ===================================================================================== */
/* header: title + a hairline (the thick blue rule is gone) */
html.gwp_v2.gwp_v3 .gwp_popup hr.gwp_popuptitlehr { border: 0; height: 1px; margin: 12px 0 0; background: var(--v2-line); }
html.gwp_v2.gwp_v3 .gwp_popup .gwp_popupheader { border-bottom-color: var(--v2-line); }
html.gwp_v2.gwp_v3 .gwp_popup .gwp_popuptitle, html.gwp_v2.gwp_v3 .gwp_popup .gwp_popuptitlealt, html.gwp_v2.gwp_v3 .gwp_popup .gwp_dbtabs_title, html.gwp_v2.gwp_v3 .gwp_popup .gwp_vevt_title, html.gwp_v2.gwp_v3 .gwp_popup .gwp_sharetitle, html.gwp_v2.gwp_v3 .gwp_popup .gwp_emediatitle { font-family: 'Figtree', system-ui, sans-serif; font-size: 24px; font-weight: 700; letter-spacing: -.02em; color: var(--v2-ink); }
html.gwp_v2.gwp_v3 .gwp_popup a.gwp_close { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: var(--v3-soft); color: var(--v2-muted); font-size: 20px; line-height: 1; text-decoration: none; }
html.gwp_v2.gwp_v3 .gwp_popup a.gwp_close:hover { background: #ebebe6; color: var(--v2-ink); }
/* tabs: pills, selected one tinted */
html.gwp_v2.gwp_v3 .gwp_popup .gwp_popup_tabs, html.gwp_v2.gwp_v3 .gwp_popup .gwp_popup_tabsalt { border-bottom: 0; gap: 6px; }
html.gwp_v2.gwp_v3 .gwp_popup .gwp_popup_tab, html.gwp_v2.gwp_v3 .gwp_popup .gwp_popup_taba, html.gwp_v2.gwp_v3 .gwp_popup .gwp_popup_tabselected, html.gwp_v2.gwp_v3 .gwp_popup .gwp_popup_tabaselected {
    border: 0; border-radius: 999px; padding: 8px 16px; background: transparent; box-shadow: none; color: var(--v2-muted); font: 600 14px 'Figtree', system-ui, sans-serif; }
html.gwp_v2.gwp_v3 .gwp_popup .gwp_popup_tab:hover, html.gwp_v2.gwp_v3 .gwp_popup .gwp_popup_taba:hover { background: var(--v3-soft); color: var(--v2-ink); }
html.gwp_v2.gwp_v3 .gwp_popup .gwp_popup_tabselected, html.gwp_v2.gwp_v3 .gwp_popup .gwp_popup_tabaselected, html.gwp_v2.gwp_v3 .gwp_popup .gwp_popup_tab.gwp_active, html.gwp_v2.gwp_v3 .gwp_popup .gwp_popup_tab[class*="active"], html.gwp_v2.gwp_v3 .gwp_popup .gwp_popup_taba[class*="active"] { background: var(--gwp_tool_tint, #eaedfa); color: var(--gwp_tool_text, #2e43ae); border: 0; }
/* footer: the same pill buttons everywhere */
html.gwp_v2.gwp_v3 .gwp_popup .gwp_close_button, html.gwp_v2.gwp_v3 .gwp_popup .gwp_save_button, html.gwp_v2.gwp_v3 .gwp_popup .gwp_delete_button, html.gwp_v2.gwp_v3 .gwp_popup .gwp_evt_btn, html.gwp_v2.gwp_v3 .gwp_popup .gwp_popup_btn, html.gwp_v2.gwp_v3 .gwp_popup .gwp_msgcompose_btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 0 22px; border-radius: 999px; font: 600 14px 'Figtree', system-ui, sans-serif; text-transform: none; letter-spacing: 0; text-decoration: none; cursor: pointer; box-shadow: none; }
html.gwp_v2.gwp_v3 .gwp_popup .gwp_close_button, html.gwp_v2.gwp_v3 .gwp_popup .gwp_evt_btn_secondary { background: var(--v3-soft); border: 0; color: var(--v2-ink); }
html.gwp_v2.gwp_v3 .gwp_popup .gwp_close_button:hover, html.gwp_v2.gwp_v3 .gwp_popup .gwp_evt_btn_secondary:hover { background: #ebebe6; }
html.gwp_v2.gwp_v3 .gwp_popup .gwp_save_button, html.gwp_v2.gwp_v3 .gwp_popup .gwp_evt_btn_save, html.gwp_v2.gwp_v3 .gwp_popup .gwp_popup_btn_primary { background: var(--gwp_tool, #4259cd); border: 1px solid var(--gwp_tool, #4259cd); color: #fff; }
html.gwp_v2.gwp_v3 .gwp_popup .gwp_save_button:hover, html.gwp_v2.gwp_v3 .gwp_popup .gwp_evt_btn_save:hover { background: var(--gwp_tool_hover, #3247b8); }
html.gwp_v2.gwp_v3 .gwp_popup .gwp_delete_button, html.gwp_v2.gwp_v3 .gwp_popup .gwp_evt_btn_delete { background: #fbe6ee; border: 0; color: #b3264f; }
html.gwp_v2.gwp_v3 .gwp_popup .gwp_delete_button:hover, html.gwp_v2.gwp_v3 .gwp_popup .gwp_evt_btn_delete:hover { background: #f6d2df; }
html.gwp_v2.gwp_v3 .gwp_popup .gwp_submitbox { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
/* fields that were underline-only or square inside popups */
html.gwp_v2.gwp_v3 .gwp_popup .gwp_activity_input.select_input, html.gwp_v2.gwp_v3 .gwp_popup .gwp_newtaxinput.select_input, html.gwp_v2.gwp_v3 .gwp_popup .gwp_mmember_messagesubject.select_input, html.gwp_v2.gwp_v3 .gwp_popup .select_singlesearch, html.gwp_v2.gwp_v3 .gwp_popup .select_esearch, html.gwp_v2.gwp_v3 .gwp_popup .gwp_icsnumberinput {
    border: 1px solid var(--v2-line); border-radius: 12px; background: #fff; padding: 9px 14px; box-shadow: none; font-family: 'Figtree', system-ui, sans-serif; color: var(--v2-ink); box-sizing: border-box; }
html.gwp_v2.gwp_v3 .gwp_popup .gwp_activity_input.select_input:focus, html.gwp_v2.gwp_v3 .gwp_popup .gwp_newtaxinput.select_input:focus, html.gwp_v2.gwp_v3 .gwp_popup .gwp_mmember_messagesubject.select_input:focus { outline: 0; border-color: var(--gwp_tool, #4259cd); box-shadow: 0 0 0 3px var(--gwp_tool_tint, rgba(66, 89, 205, .14)); }
/* attendance popup quick buttons and date arrows */
html.gwp_v2.gwp_v3 .gwp_popup .gwp_att_quick_btn { min-height: 38px; padding: 0 16px; border: 0; border-radius: 999px; background: var(--v3-soft); color: var(--v2-ink); font: 600 13.5px 'Figtree', system-ui, sans-serif; cursor: pointer; }
html.gwp_v2.gwp_v3 .gwp_popup .gwp_att_quick_btn:hover { background: #ebebe6; }
html.gwp_v2.gwp_v3 .gwp_popup .gwp_att_date_nav { width: 34px; height: 34px; border: 0; border-radius: 50%; background: var(--v3-soft); color: var(--v2-ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
