/* Modern accessible admin styles */ /* Hide duplicate h2 inside tokens list when already wrapped in a postbox */ .postbox .accua_forms_token_list > h2 { display: none; } /* Form edit page: title field (mirrors WP core #poststuff #titlediv styling) */ #accua_forms_edit_page #titlediv { margin-top: 10px; margin-bottom: 20px; } #accua_forms_edit_page #titlediv #title { padding: 3px 8px; font-size: 1.7em; line-height: 100%; height: 1.7em; width: 100%; outline: none; margin: 0; background-color: #fff; } /* ========================================================================== Widget Accordion Animation (form field editor) Uses CSS transitions instead of jQuery slideDown/slideUp for smoother UX ========================================================================== */ /* Widget-inside: collapsed state (default) - use display:none like original */ #accua_forms_edit_page #widgets-right .widget .widget-inside { display: none; } /* Widget-inside: expanded state (.open class on parent .widget) */ #accua_forms_edit_page #widgets-right .widget.open .widget-inside { display: block; } /* Rotate caret icon when widget is open */ #accua_forms_edit_page #widgets-right .widget.open a.widget-action:after { transform: rotate(90deg); } /* Respect reduced motion preference for accessibility */ @media (prefers-reduced-motion: reduce) { #accua_forms_edit_page #widgets-right a.widget-action:after { transition: none; } } input[type="text"].accua_form_value, textarea.accua_form_value { width: 95%; margin-right: 5%; } #accua_forms_edit_page .sidebar-name-arrow { display: none !important; } #accua_forms_edit_page .widget-control-actions br.clear { display: none; } /* #accua_forms_edit_page #widgets-left .widget-holder, #accua_forms_edit_page #widgets-right .widgets-sortables { overflow-y: scroll !important; overflow-x: hidden !important; height: 400px; min-height: 400px; }*/ #accua_forms_edit_page .widget-liquid-left { width: 100% !important; } #accua_forms_edit_page #widgets-left .widget { width: 98% !important; margin-bottom: 7px !important; float: none !important; } .accua-form-widget-scroll-wrapper { width: 100% !important; } .accua-form-widget-scroll-wrapper .ui-resizable-handle, #accua_form_preview_area_wrapper .ui-resizable-handle { background: #ddd; bottom: -10px; height: 7px; border-radius: 3px; } .accua-form-widget-scroll-wrapper.ui-resizable > *:first-child { /*min-height: auto !important; height: 100% !important; max-height: none !important;*/ width: auto !important; /*overflow-y: scroll !important; overflow-x: hidden !important;*/ margin: 0 !important; padding: 0 !important; } .accua-form-widget-scroll-wrapper > *:first-child p.description { padding-top: 5px; } /* Widget header - flex layout for proper centering */ #accua_forms_edit_page #widgets-right .widget-top { display: flex; align-items: center; } #accua_forms_edit_page #widgets-right .widget-title-action { position: static; order: 2; display: flex; align-items: center; height: auto; flex-shrink: 0; } #accua_forms_edit_page #widgets-right .widget-title { flex: 1; min-width: 0; order: 1; } /* Widget toggle button */ #accua_forms_edit_page #widgets-right a.widget-action { position: static; display: flex; align-items: center; justify-content: center; width: 2.5rem; color: #555d66; text-decoration: none; box-shadow: none; outline: none; } #accua_forms_edit_page #widgets-right a.widget-action:hover, #accua_forms_edit_page #widgets-right a.widget-action:focus, #accua_forms_edit_page #widgets-right a.widget-action:active { color: #23282d; text-decoration: none; box-shadow: none; } #accua_forms_edit_page #widgets-right a.widget-action:after { content: "\f140"; font: 400 1.25rem/1 dashicons; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } #accua_forms_edit_page #widgets-right a.widget-action:focus:after { box-shadow: 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); border-radius: 50%; } /* Add field button (+) in available fields list */ #accua_forms_edit_page #widget-list .widget-title-action { position: static; display: flex; align-items: center; height: auto; order: 2; flex-shrink: 0; } #accua_forms_edit_page #widget-list .widget-top { display: flex; align-items: center; } #accua_forms_edit_page #widget-list .widget-title { flex: 1; min-width: 0; order: 1; } /* Hide expand caret in available fields list (not needed there) */ #accua_forms_edit_page #widget-list a.widget-action { display: none; } #accua_forms_edit_page #widget-list a.widget-add-action { display: flex; align-items: center; justify-content: center; width: 2.5rem; color: #50575e; text-decoration: none; box-shadow: none; outline: none; } #accua_forms_edit_page #widget-list a.widget-add-action:hover, #accua_forms_edit_page #widget-list a.widget-add-action:focus { color: #135e96; } #accua_forms_edit_page #widget-list a.widget-add-action:after { content: "\f502"; font: 400 1.25rem/1 dashicons; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } #accua_forms_edit_page #widget-list a.widget-add-action:focus:after { box-shadow: 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, 0.8); border-radius: 50%; } #accua_forms_edit_page .sidebar-name { cursor: auto !important; } /* ========================================================================== Tab component ========================================================================== */ /* --- Shared base --- */ .accua-tabs:not(.is-initialized) > .accua-tabs__panel:not(:first-of-type) { display: none; } /* High-specificity hide: prevent flash of customise/other panels before JS initializes */ #accua_forms_edit_page #accua_tabs:not(.is-initialized) > .accua-tabs__panel:not(:first-of-type) { display: none !important; } .accua-tabs__panel[hidden] { display: none !important; } .accua-tabs__tablist { display: flex; margin: 0; padding: 0; } .accua-tabs__tab { background: none; border: none; cursor: pointer; font-family: inherit; font-size: 13px; line-height: 1.4; white-space: nowrap; transition: color 0.15s ease, background-color 0.15s ease; } .accua-tabs__tab:focus-visible { outline: 2px solid var(--wp-admin-theme-color, #3858e9); outline-offset: -2px; border-radius: 2px; } /* --- Primary variant (outer/main tabs) - underline indicator --- */ .accua-tabs--primary > .accua-tabs__tablist, .accua-tabs--primary > .accua-tabs__header > .accua-tabs__tablist { border-bottom: 1px solid #c3c4c7; gap: 0; } .accua-tabs--primary .accua-tabs__tab { padding: 12px 16px; color: #50575e; font-weight: 400; border-bottom: 2px solid transparent; margin-bottom: -1px; } .accua-tabs--primary .accua-tabs__tab:hover { color: var(--wp-admin-theme-color, #3858e9); } .accua-tabs--primary .accua-tabs__tab[aria-selected="true"] { color: #1d2327; font-weight: 600; border-bottom-color: var(--wp-admin-theme-color, #3858e9); } .accua-tabs--primary > .accua-tabs__panel, #accua_form_preview_pane { padding: 1rem 0; } /* Form builder utility rules */ #accua_form_use_ajax .accua_form_value { margin-right: 6px; } #accua_form_use_ajax label { cursor: pointer; } #accua_form_use_ajax, #accua_form_layout { clear: both; line-height: 25px; } #accua_form_layout { margin-bottom: 9px; } #accua_form_layout select { display: block; margin-top: 4px; margin-left: 0; width: 100%; max-width: 280px; } #accua_forms_edit_page { --fields-col-height: calc(100vh - 200px); } #accua_forms_edit_page #accua_tabs { position: relative; margin-top: 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; } /* 3-column grid when Fields tab is active - preview is 50% of total width */ #accua_forms_edit_page #accua_tabs:has(> [data-tab="fields"]:not([hidden])) { grid-template-columns: 3fr 7fr calc(50% - 8px); } /* Tablist header spans full width */ #accua_forms_edit_page #accua_tabs > .accua-tabs__header { grid-column: 1 / -1; } /* Panels fill column 1 by default */ #accua_forms_edit_page #accua_tabs > .accua-tabs__panel { grid-column: 1; grid-row: 2; } /* Panels without preview span all columns */ #accua_forms_edit_page #accua_tabs > .accua-tabs__panel[data-tab="messages"], #accua_forms_edit_page #accua_tabs > .accua-tabs__panel[data-tab="retention"], #accua_forms_edit_page #accua_tabs > .accua-tabs__panel[data-tab="google_ads"], #accua_forms_edit_page #accua_tabs > .accua-tabs__panel[data-tab="tokens"] { grid-column: 1 / -1; align-content: start; } /* Fields panel: dissolve into parent grid so children become grid items */ #accua_forms_edit_page #accua_tabs > [data-tab="fields"]:not([hidden]) { display: contents; } /* Available fields - column 1, scrollable */ #accua_forms_edit_page #accua_tabs > [data-tab="fields"]:not([hidden]) > .widget-liquid-left { grid-column: 1; grid-row: 2; width: auto; float: none; min-width: 0; padding-top: 1rem; padding-right: 4px; max-height: var(--fields-col-height); overflow-y: auto; overflow-x: hidden; align-self: start; } /* Available fields column: link to the Fields page, under the list */ #accua_forms_edit_page .accua-fields-create-link { margin: 10px 0 0; padding: 0 4px; } /* Drop zone - column 2 */ #accua_forms_edit_page #accua_tabs > [data-tab="fields"]:not([hidden]) > .widget-liquid-right { grid-column: 2; grid-row: 2; width: auto; float: none; margin: 0; min-width: 0; padding-top: 1rem; align-self: start; } /* Column titles - consistent styling across all three columns */ #accua_forms_edit_page #accua_tabs > [data-tab="fields"]:not([hidden]) > .widget-liquid-left > h2, #accua_forms_edit_page #accua_tabs > [data-tab="fields"]:not([hidden]) > .widget-liquid-right h2, #accua_forms_edit_page .accua-form-preview-pane > h2 { margin: 0 0 12px 0; padding: 0; font-size: 1.3em; font-weight: 600; color: #1d2327; line-height: 1.4; } /* Available fields filter input */ .accua-fields-filter { display: block; width: 98%; padding: 10px; margin-bottom: 7px; font-size: 14px; border: 1px solid #dcdcde; border-radius: 0; box-sizing: border-box; background: #fff; } .accua-fields-filter:focus { border-color: #2271b1; box-shadow: 0 0 0 1px #2271b1; outline: none; } /* Preview pane - column 3 (or 2 for non-fields tabs), scrollable */ #accua_forms_edit_page .accua-form-preview-pane { grid-column: 2; grid-row: 2; min-height: 200px; border-left: 1px solid #e0e0e0; padding-left: 16px; align-self: start; } #accua_forms_edit_page #accua_tabs:has(> [data-tab="fields"]:not([hidden])) > .accua-form-preview-pane { grid-column: 3; grid-row: 2; } /* 3-column grid when Appearance tab is active - preview is 50% of total width */ #accua_forms_edit_page #accua_tabs:has(> [data-tab="customise"]:not([hidden])) { grid-template-columns: 5fr 5fr calc(50% - 8px); } #accua_forms_edit_page #accua_tabs > [data-tab="customise"]:not([hidden]) { display: contents; } #accua_forms_edit_page #accua_tabs > [data-tab="customise"]:not([hidden]) > .accua-customise-columns { display: contents; } #accua_forms_edit_page #accua_tabs > [data-tab="customise"]:not([hidden]) > .accua-customise-columns > .accua-style-column:first-child { grid-column: 1; grid-row: 2; min-width: 0; padding-top: 16px; } #accua_forms_edit_page #accua_tabs > [data-tab="customise"]:not([hidden]) > .accua-customise-columns > .accua-style-column:last-child { grid-column: 2; grid-row: 2; min-width: 0; padding-top: 16px; } #accua_forms_edit_page #accua_tabs:has(> [data-tab="customise"]:not([hidden])) > .accua-form-preview-pane { grid-column: 3; grid-row: 2; } #accua_forms_edit_page .accua-form-preview-pane[hidden] { display: none; } @media screen and (max-width: 1200px) { #accua_forms_edit_page #accua_tabs { grid-template-columns: 1fr; } /* Fields tab: 2-column grid (available | inserted), preview below */ #accua_forms_edit_page #accua_tabs:has(> [data-tab="fields"]:not([hidden])) { grid-template-columns: 3fr 7fr; } #accua_forms_edit_page #accua_tabs > [data-tab="fields"]:not([hidden]) > .widget-liquid-left { grid-column: 1; grid-row: 2; max-height: none; overflow-y: visible; } #accua_forms_edit_page #accua_tabs > [data-tab="fields"]:not([hidden]) > .widget-liquid-right { grid-column: 2; grid-row: 2; max-height: none; overflow-y: visible; } /* Customise tab: 2-column grid (style cols side by side), preview below */ #accua_forms_edit_page #accua_tabs:has(> [data-tab="customise"]:not([hidden])) { grid-template-columns: 1fr 1fr; } #accua_forms_edit_page #accua_tabs > [data-tab="customise"]:not([hidden]) > .accua-customise-columns > .accua-style-column:first-child { grid-column: 1; grid-row: 2; padding-top: 16px; } #accua_forms_edit_page #accua_tabs > [data-tab="customise"]:not([hidden]) > .accua-customise-columns > .accua-style-column:last-child { grid-column: 2; grid-row: 2; padding-top: 16px; } #accua_forms_edit_page #accua_tabs > .accua-tabs__panel { grid-column: 1; } #accua_forms_edit_page .accua-form-preview-pane, #accua_forms_edit_page #accua_tabs:has(> [data-tab="fields"]:not([hidden])) > .accua-form-preview-pane, #accua_forms_edit_page #accua_tabs:has(> [data-tab="customise"]:not([hidden])) > .accua-form-preview-pane { grid-column: 1 / -1; grid-row: 3; border-left: none; padding-left: 0; border-top: 1px solid #e0e0e0; padding-top: 16px; max-height: none; overflow-y: visible; } } .accua-forms-metabox-holder { float: left; margin-right: 2%; width: 47%; } /* Delete form button - modern WordPress destructive action */ #accua_forms_edit_page form#delete_form input[type="submit"] { background: none; border: none; color: #d63638; cursor: pointer; font-size: 13px; text-decoration: none; padding: 4px 8px; border-radius: 2px; transition: color 0.15s ease, background-color 0.15s ease; } #accua_forms_edit_page form#delete_form input[type="submit"]:hover { background: #d63638; color: #fff; } #accua_forms_edit_page form#delete_form input[type="submit"]:focus-visible { outline: 2px solid #d63638; outline-offset: 1px; } /* Tab header actions alignment */ .accua_tabs_actions { display: flex; align-items: center; gap: 12px; padding-right: 4px; } /* Tabs header with flexbox layout - tablist + actions side-by-side */ .accua-tabs__header { display: flex; justify-content: space-between; align-items: stretch; margin-bottom: 0; border-bottom: 1px solid #c3c4c7; } /* Override the shared tablist border-bottom - the header provides the full-width line instead */ .accua-tabs--primary > .accua-tabs__header > .accua-tabs__tablist { border-bottom: none; } /* Default message preview - faithful rendering of email content */ [data-tab="messages"] .defalut_content_message { margin-top: 8px; padding: 0; overflow: auto; max-height: 300px; } [data-tab="messages"] .defalut_message { padding-top: 12px; font-weight: 600; font-size: 13px; color: #50575e; } [data-tab="messages"] .wp-editor-wrap { margin-top: 10px; } [data-tab="messages"] input.accua_form_check_override[type="checkbox"] { margin-right: 5px; } /* Radio group - vertical stack with clickable labels */ .accua-radio-group { margin: 0; padding: 0; border: 0; } .accua-radio-group label { display: block; padding: 4px 0; cursor: pointer; } .accua-radio-group input[type="radio"] { margin: 0 6px 0 0; vertical-align: middle; } [data-tab="messages"] .accua_form_value[disabled] { color: #BBBBBB; } /* Submissions page: vertical spacing when action rows wrap */ #accua_forms_submissions_list_page .tablenav .actions { margin-bottom: 6px; } /* Submissions page: expandable long values */ /* Single text copy: the link itself is truncated while collapsed. A duplicated preview (the old
/ structure) made browser find-in-page count every match in these cells twice. */ .accua-expandable-cell { display: flex; align-items: baseline; } .accua-expandable-cell .accua-expandable-text { flex: 0 1 auto; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .accua-expandable-cell .accua-expandable-toggle { flex: none; background: none; border: 0; padding: 0 0 0 3px; cursor: pointer; color: #2271b1; font-size: 11px; line-height: inherit; } /* Expanded: lift the truncation; pre-line keeps the line breaks of multi-line values (URLs have none, they just wrap - anywhere handles unbroken strings) */ .accua-expandable-cell.open .accua-expandable-text { overflow: visible; white-space: pre-line; overflow-wrap: anywhere; } .accua-expandable-cell.open .accua-expandable-toggle { font-size: 13px; } #accua_form_preview_area_wrapper { position: relative; width: 100%; overflow: unset; } #accua_form_preview_area_wrapper .ui-resizable-handle.ui-resizable-s{ display: none !important; } #accua_form_preview_area { /* position: absolute; top: 0; left: 0; bottom: 0; right: 0;*/ width: 100%; height: 100%; border: none; min-height: 400px; } /* Fields page: invalid-field highlight. Core only paints .form-invalid when the wrapper is also .form-required, so cover every .form-field here. */ #accua_forms_fields_page .form-field.form-invalid input, #accua_forms_fields_page .form-field.form-invalid textarea, #accua_forms_fields_page .form-field.form-invalid select { border-color: #d63638; box-shadow: 0 0 0 1px #d63638; } /* Fields page: inline slug validation message */ #accua_forms_fields_page .accua-slug-feedback { color: #d63638; margin: 4px 0 0; } /* Fields page: separator above the essential-columns checkbox - the last option of the editor, kept visually apart because it only affects the submissions-list columns, never how the field renders in forms. */ #field-section-essential-column hr { margin: 1.5em 0; border: 0; border-top: 1px solid #dcdcde; } /* Fields page: live preview panel (top of #col-right, above the list table). The panel h3 keeps the default heading margin so "Live preview" aligns with the editor heading in the left column. */ #accua-field-preview-panel { margin: 0 0 24px; } #accua-field-preview-wrapper { position: relative; border: 1px solid #c3c4c7; border-radius: 2px; background: #fff; overflow: hidden; } /* The frame starts compact (below the 80px measure floor, so the first render can only grow it) and every height change animates: the preview never appears oversized and never snaps - it grows to its measured size. */ #accua-field-preview { display: block; width: 100%; height: 48px; border: 0; transition: height 0.25s ease, opacity 0.15s linear; } /* Preview loading state - Modern accessible design */ #accua_form_preview_area_wrapper.accua-form-preview-loading { position: relative; } #accua_form_preview_area_wrapper.accua-form-preview-loading::after { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(255, 255, 255, 0.85); z-index: 10; } #accua_form_preview_area_wrapper.accua-form-preview-loading::before { content: ""; position: absolute; top: 50%; left: 50%; width: 28px; height: 28px; margin: -14px 0 0 -14px; border: 3px solid #2271b1; border-top-color: transparent; border-radius: 50%; z-index: 11; animation: accua-form-loading-spin 0.75s linear infinite; } /* Fields page preview: subtler loading treatment than the form editor's veil + large spinner - the frame keeps its size, the content is fully hidden (the white wrapper shows through) and a small WP-size spinner sits centered. Opacity 0 matters: the settle logic reveals the frame only after its load event, i.e. with stylesheets applied, so a document still loading its CSS can never flash unstyled. No layout impact. */ #accua-field-preview-wrapper.accua-form-preview-loading #accua-field-preview { opacity: 0; } #accua-field-preview-wrapper.accua-form-preview-loading::before { content: ""; position: absolute; top: 50%; left: 50%; width: 16px; height: 16px; margin: -8px 0 0 -8px; border: 2px solid #c3c4c7; border-top-color: #2271b1; border-radius: 50%; z-index: 11; animation: accua-form-loading-spin 0.75s linear infinite; } /* Reduce motion for users who prefer it (EAA/WCAG compliance) */ @media (prefers-reduced-motion: reduce) { #accua_form_preview_area_wrapper.accua-form-preview-loading::before, #accua-field-preview-wrapper.accua-form-preview-loading::before { animation: none; border-color: #2271b1; opacity: 0.6; } #accua-field-preview { transition: none; } } @keyframes accua-form-loading-spin { to { transform: rotate(360deg); } } #accua_forms_edit_page #dialog_token { padding: 0 20px 20px; } #accua_forms_edit_page .defalut_content_message { word-wrap: break-word; overflow-wrap: break-word; } .accua_forms_admin_page textarea { resize: vertical; } /* .widget-content p{ width: 47%; float: left; margin-right: 5px; } */.widget-title h3, .widget-title h4 { padding: 10px; font-size: 14px; min-width: 0; word-wrap: break-word; } #accua_forms_edit_page .widget-title h4 { white-space: normal; overflow: visible; text-overflow: clip; } .widget-control-remove.delete{ color: #b32d2e; } /* Save button states - WordPress-style inline feedback (DRY: shared between global and field save buttons) */ .accua_form_save_settings_button, .accua-field-save-btn { position: relative; min-width: 80px; transition: background-color 0.2s ease, border-color 0.2s ease; } /* Saving state - border spinner animation with visible text */ .accua_form_save_settings_button.accua-saving-active, .accua-field-save-btn.accua-saving-active { pointer-events: none; border-color: transparent !important; background-image: none; animation: accua-btn-border-spin 0.8s linear infinite; box-shadow: inset 0 0 0 2px #0073aa; } @keyframes accua-btn-border-spin { 0% { box-shadow: inset 0 0 0 2px #0073aa, inset 0 -20px 0 0 rgba(0, 115, 170, 0.1); } 25% { box-shadow: inset 0 0 0 2px #0073aa, inset 20px 0 0 0 rgba(0, 115, 170, 0.1); } 50% { box-shadow: inset 0 0 0 2px #0073aa, inset 0 20px 0 0 rgba(0, 115, 170, 0.1); } 75% { box-shadow: inset 0 0 0 2px #0073aa, inset -20px 0 0 0 rgba(0, 115, 170, 0.1); } 100% { box-shadow: inset 0 0 0 2px #0073aa, inset 0 -20px 0 0 rgba(0, 115, 170, 0.1); } } /* Saved state - green background with checkmark after text */ .accua_form_save_settings_button.accua-saved-active, .accua-field-save-btn.accua-saved-active { background-color: #00a32a !important; border-color: #00a32a !important; color: #fff !important; } .accua_form_save_settings_button.accua-saved-active::after, .accua-field-save-btn.accua-saved-active::after { content: ' ✓'; font-weight: bold; } /* Error state */ .accua_form_save_settings_button.accua-error, .accua-field-save-btn.accua-error { background-color: #d63638 !important; border-color: #d63638 !important; color: #fff !important; } /* Reduce motion for accessibility */ @media (prefers-reduced-motion: reduce) { .accua_form_save_settings_button.accua-saving-active, .accua-field-save-btn.accua-saving-active { animation: none; box-shadow: inset 0 0 0 2px #0073aa; } } .widgets-holder-wrap.dashed{ border: 2px dashed #c3c4c7; } .widgets-holder-wrap.dashed h3 { padding: 20px !important; } .widgets-holder-wrap.dashed .widgets-sortables.ui-sortable { margin-top: 22px !important; margin-bottom: 22px !important; } [data-tab="customise"] .accua_form_value[type="text"]{ width: 67%; float: right; } [data-tab="customise"] .wp-picker-input-wrap .accua_form_value[type="text"]{ width: 100%; float: right; } /* ============================================ Grafica e generali - Redesigned Style Editor ============================================ */ /* Two-column layout */ .accua-customise-columns { display: flex; flex-wrap: wrap; gap: 30px; } [data-tab="customise"] .accua-style-column { flex: 1 1 calc(50% - 15px); min-width: 280px; box-sizing: border-box; } /* Section headers */ [data-tab="customise"] h2 { font-size: 1.3em; font-weight: 600; color: #1d2327; margin: 16px 0 12px 0; padding: 0; line-height: 1.4; } [data-tab="customise"] h2:first-of-type { margin-top: 0; } /* General section paragraphs */ .accua-customise-columns > .accua-style-column > p { margin: 0 0 12px 0; padding: 0; font-size: 13px; line-height: 1.5; } /* Style row - consistent height with inline inputs */ .accua-style-row { display: flex; align-items: flex-start; /* Changed from center to allow vertical expansion */ gap: 8px; padding: 6px 8px; margin: 0 -8px; min-height: 40px; /* Minimum height for consistency */ background: transparent; border: none; border-radius: 3px; box-sizing: border-box; transition: background-color 0.15s ease; } /* Align checkbox and label to the top when color picker is open */ .accua-style-row .accua-style-toggle, .accua-style-row .accua-style-content { padding-top: 4px; /* Align with first row of content */ } /* Active state when checkbox is checked */ .accua-style-row:has(input[type="checkbox"]:checked) { background: #f0f6fc; } /* Hover state for better interactivity feedback */ .accua-style-row:hover { background: #f6f7f7; } .accua-style-row:has(input[type="checkbox"]:checked):hover { background: #e8f2fb; } /* Toggle column (checkbox) */ .accua-style-toggle { flex: 0 0 18px; } .accua-style-toggle input[type="checkbox"] { margin: 0; cursor: pointer; } /* Content column - inline layout, allows vertical expansion for color picker */ .accua-style-content { flex: 1; display: flex; flex-direction: row; flex-wrap: wrap; /* Allow wrapping for color picker to go below */ align-items: flex-start; gap: 10px; min-width: 0; } /* CSS Property label - compact inline style */ .accua-style-label { font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 12px; font-weight: 500; color: #50575e; min-width: 120px; flex-shrink: 0; cursor: pointer; } .accua-style-row:has(input[type="checkbox"]:checked) .accua-style-label { color: #135e96; font-weight: 600; } /* Text input styling */ .accua-style-content input[type="text"]:not(.wp-color-picker) { width: 100px; padding: 4px 8px; font-size: 12px; border: 1px solid #8c8f94; border-radius: 3px; background: #fff; box-sizing: border-box; } .accua-style-content input[type="text"]:not(.wp-color-picker):focus { border-color: #2271b1; outline: none; box-shadow: 0 0 0 1px #2271b1; } /* Hide input when checkbox is unchecked */ .accua-style-row:not(:has(input[type="checkbox"]:checked)) .accua-style-content input[type="text"]:not(.wp-color-picker), .accua-style-row:not(:has(input[type="checkbox"]:checked)) .accua-style-content .wp-picker-container { display: none; } /* Help text - hidden (redundant with labels) */ .accua-style-help { display: none !important; } /* Color swatch button - compact */ .accua-style-content .wp-picker-container .wp-color-result { height: 28px; min-height: 28px; border-radius: 3px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.15); margin: 0; } /* Hide the "Seleziona un colore" label text - we show hex value instead */ .accua-style-content .wp-picker-container .wp-color-result-text { display: none; } /* Hex input field - ALWAYS visible and styled */ .accua-style-content .wp-picker-container .wp-picker-input-wrap { display: inline-flex !important; /* Force always visible - WordPress hides by default */ align-items: center; gap: 4px; margin-left: 6px; } /* Hide only the screen reader text, not the entire label (which contains the input!) */ .accua-style-content .wp-picker-container .wp-picker-input-wrap label .screen-reader-text { position: absolute; clip: rect(1px, 1px, 1px, 1px); width: 1px; height: 1px; overflow: hidden; padding: 0; margin: -1px; } .accua-style-content .wp-picker-container .wp-color-picker { display: inline-block !important; /* Force always visible */ width: 80px !important; padding: 4px 6px; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 12px; border: 1px solid #8c8f94; border-radius: 3px; background: #fff; box-sizing: border-box; height: 28px; } .accua-style-content .wp-picker-container .wp-color-picker:focus { border-color: #2271b1; outline: none; box-shadow: 0 0 0 1px #2271b1; } /* Clear button styling - compact */ .accua-style-content .wp-picker-container .wp-picker-clear { padding: 4px 8px; font-size: 11px; line-height: 1.4; height: 28px; margin: 0; } /* Color picker container - appears below the checkbox/label row */ .accua-style-content .wp-picker-container { flex-basis: 100%; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; } /* Iris color picker holder - below the controls */ .accua-style-content .wp-picker-container .wp-picker-holder { position: relative; z-index: 1; flex-basis: 100%; margin-top: 4px; } /* Style row to accommodate expanded color picker */ .accua-style-row:has(.wp-picker-active) { z-index: 1; } /* Responsive adjustments */ @media screen and (max-width: 1200px) { [data-tab="customise"] .accua-style-column { flex: 1 1 100%; } [data-tab="customise"] h2:not(:first-of-type) { margin-top: 30px; } } /* ========================================================================== Settings page - Tab panel overrides ========================================================================== */ #accua_settings_tabs > .accua-tabs__panel { min-height: 0; background: transparent; padding: 20px 0 0; } /* Retention panel - transparent background */ [data-tab="retention"] { min-height: 0; background: transparent; padding: 20px 10px 10px; } /* Full-width panels in settings tabs */ #accua_settings_tabs .accua-forms-metabox-holder { float: none; width: auto; margin-right: 0; } /* ========================================================================== Settings page - Section layout Uses native WordPress .postbox + .inside for grouped settings sections. Only custom overrides below for grid layout and minor adjustments. ========================================================================== */ /* Postbox header h2: match native .hndle padding without cursor:move */ .postbox > .postbox-header > h2 { padding: 1rem 12px; margin: 0; } /* Danger variant */ .postbox.accua-danger-zone { border-color: #d63638; } /* Messages tab - 2-column grid */ .accua-settings-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; } .accua-settings-grid > .postbox { min-height: 320px; margin-bottom: 0; } @media screen and (max-width: 1200px) { .accua-settings-grid { grid-template-columns: 1fr; } } /* ========================================================================== Form edit page layout - Fields tab helpers ========================================================================== */ #accua_tabs [data-tab="fields"] #widgets-left { padding-top: 0; margin-right: 0; } #accua_tabs [data-tab="fields"] #widgets-right { width: 100%; } #accua_tabs [data-tab="fields"] #widgets-right .widgets-holder-wrap { margin-top: 0; } /* note */ input#delete-sub-data, input#delete-note { background: none; border: none; padding: 0; text-decoration: underline; cursor: pointer; } input#delete-note { display: inline-block; } .system-note .note_content { padding: 10px; background: #efefef; position: relative; line-height: 18px; font-size: 14px; } .system-note .note_content::after { content: ""; display: block; position: absolute; bottom: -10px; left: 20px; width: 0; height: 0; border-width: 10px 10px 0 0; border-style: solid; border-color: #efefef transparent; } .system-note p.meta, form#delete-note { padding: 10px; color: #999; margin: 0; display: inline-block; } form#delete-note { padding: 0; } /* Lead status row: select + tooltip + progress aligned */ .accua-lead-status-row { display: flex; align-items: center; gap: 4px; margin-bottom: 16px; } .accua-lead-status-row .dashicons-editor-help { color: #787c82; cursor: pointer; } th#lead_status { width: 200px; } /* ============================================ Restore Default Button Styles ============================================ */ .accua-restore-default-wrapper { margin-top: 12px; padding-top: 12px; border-top: 1px solid #f0f0f1; } .accua-restore-default-wrapper .description { color: #787c82; font-size: 12px; font-style: italic; margin-left: 8px; } /* Success state */ .accua-restore-default-btn.accua-restored { color: #00a32a !important; } /* Error state */ .accua-restore-default-btn.accua-error { color: #d63638 !important; } /* ========================================================================== Dashboard page ========================================================================== */ #accua-forms-graph-content { padding: 20px; } #accua-form-report-graph { height: 300px; } #accua_dashboard_page .postbox > .inside { padding: 20px; } /* Single submission page */ #accua_forms_submissions_list_page #poststuff .postbox > .inside { padding: 16px; } #accua_forms_submissions_list_page #poststuff #note_site_user { width: 100%; margin-bottom: 8px; } #accua_forms_submissions_list_page #accua-notes-form { margin-bottom: 12px; } #accua_forms_submissions_list_page #post-body-content .widefat td:first-child { width: 140px; font-weight: 600; } #accua_forms_submissions_list_page #post-body-content .widefat .accua-field-value { white-space: pre-wrap; } #accua_forms_submissions_list_page #post-body-content .postbox + .postbox { margin-top: 20px; } #accua_forms_submissions_list_page #postbox-container-1 .postbox + .postbox { margin-top: 20px; } #accua_forms_submissions_list_page #postbox-container-1 .inside p:first-child { margin-top: 0; } #accua_dashboard_page .submitdelete { color: #b32d2e; } #accua_dashboard_page .submitdelete:hover { color: #a00; } #accua_dashboard_page td.column-afs_referrer, #accua_dashboard_page td.column-afs_uri { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } #accua_dashboard_page .column-actions { white-space: nowrap; } /* Many columns on: the content-sized table (no core 'fixed' class) is wider than the screen. Scroll it inside its own box - without this the whole document scrolls sideways, taking the filters, the pagination and the admin menu links with it while the fixed admin bar and #adminmenuback stay put. Both extra declarations are load-bearing, not cosmetic: - clear: overflow-x makes this box a block formatting context, and a BFC shrinks to sit beside uncleared floats. The .tablenav filter controls and p.search-box leave some hanging over it; without clear the box collapsed to ~200px. - position: overflow only clips absolutely positioned descendants when the scroll container is their containing block. Every sortable column header holds an absolutely positioned .screen-reader-text span, which would otherwise resolve against #wpbody (position:relative in core) and keep stretching the document - the page still scrolled sideways with the box in place until this was added. */ #accua_forms_submissions_list_page .accua-table-scroll { clear: both; position: relative; overflow-x: auto; overflow-y: hidden; } /* Sticky scrollbar. The box above is as tall as the table, so its own horizontal scrollbar sits at the foot of a hundred rows - out of sight, and unusable for anyone who does not know shift+wheel or has no trackpad. submissions-list.js builds a proxy scrollbar that rides the bottom of the viewport for as long as the table is on screen, and hides the real one by adding .has-sticky-scrollbar - from JS, so the native bar survives if the script never runs. sticky/bottom keeps it in view while there is table left below it; it comes to rest above the bottom toolbar at the end. The inner div is stretched to the table's width, which is what gives the thumb its size. */ #accua_forms_submissions_list_page .accua-table-scroll.has-sticky-scrollbar { scrollbar-width: none; /* Firefox */ -ms-overflow-style: none; /* legacy Edge */ } #accua_forms_submissions_list_page .accua-table-scroll.has-sticky-scrollbar::-webkit-scrollbar { display: none; } #accua_forms_submissions_list_page .accua-table-scrollbar { position: sticky; bottom: 0; z-index: 2; overflow-x: auto; overflow-y: hidden; /* The table sits directly above; keep the bar visually attached to it. */ margin-top: -1px; background: #fff; } #accua_forms_submissions_list_page .accua-table-scrollbar > div { height: 1px; } /* Without the core 'fixed' table class (dropped for content-based column sizing) the URL columns need an explicit cap, or they grow to the full URL width and the CSS truncation + [+] expandable widget never kick in. */ #accua_forms_submissions_list_page td.column-referrer, #accua_forms_submissions_list_page td.column-uri { max-width: 15em; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } /* Actions column: the quick-action links (Open | Trash | Spam, ...) must never wrap - with auto table layout the column widens to fit them on one row. */ #accua_forms_submissions_list_page .column-singlesub { white-space: nowrap; } /* Field-value columns: CSS-truncated to one line like the URL columns, so long values (messages) collapse behind the [+] widget expandable-cells.js builds; the expanded state below renders the visitor's line breaks. */ #accua_forms_submissions_list_page .wp-list-table td[class*="column-_field_"] { max-width: 25em; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } /* Single-submission values: preserve the line breaks the visitor typed - a blank line between paragraphs renders as paragraph spacing (values are esc_html'd, so CSS is the only safe layer for this). */ #accua_forms_submissions_list_page .accua-field-value { white-space: pre-line; } /* Icon-only buttons: the label lives in the title/aria-label attributes. Custom SVGs (assets/img/expand-rows.svg, collapse-rows.svg) applied as a mask so the icon takes the button's text color, hover state included. The button becomes a flex container so the icon is centered exactly, independent of the .button line-height/min-height metrics that differ between WordPress releases. */ #accua_forms_submissions_list_page .accua-toggle-rows { display: inline-flex; align-items: center; justify-content: center; vertical-align: top; } #accua_forms_submissions_list_page .accua-toggle-rows .accua-rows-icon { display: block; width: 16px; height: 16px; background-color: currentColor; } #accua_forms_submissions_list_page .accua-toggle-rows .accua-rows-icon-expand { -webkit-mask: url(../img/expand-rows.svg) center / contain no-repeat; mask: url(../img/expand-rows.svg) center / contain no-repeat; } #accua_forms_submissions_list_page .accua-toggle-rows .accua-rows-icon-collapse { -webkit-mask: url(../img/collapse-rows.svg) center / contain no-repeat; mask: url(../img/collapse-rows.svg) center / contain no-repeat; } #accua_forms_submissions_list_page .submitdelete.deletion { color: #b32d2e; } #accua_forms_submissions_list_page .submitdelete.deletion:hover { color: #a00; } /* Notes */ .accua-note { padding: 12px 0; border-top: 1px solid #f0f0f1; } .accua-note:first-child { border-top: none; padding-top: 0; } .accua-note-content { white-space: pre-wrap; margin-bottom: 4px; } .accua-note-meta { color: #787c82; font-size: 12px; margin: 0; } .accua-note-meta .row-actions { position: static; padding: 0; } .accua-note-meta .button-link { color: #b32d2e; text-decoration: none; font-size: 12px; } .accua-note-meta .button-link:hover, .accua-note-meta .button-link:focus { color: #a00; text-decoration: underline; } /* Dashboard "Last 10 submissions": center cells vertically against the taller lead-status select */ .widefat.accua-last-submissions td { vertical-align: middle; }