/* Dragonfly unified form system - canonical source: Dragonfly Core 1.09.06.
   Field appearance belongs here. Feature stylesheets should control layout only.
   Excludes provider-hosted card fields, the WordPress dashboard and specialized drawing/signature surfaces. */
:root {--df-field-height:38px;--df-field-radius:9px;--df-field-x:10px;--df-field-font:14px;--df-field-border:#cbd7ce;--df-field-background:#fff;--df-field-color:#263e32;--df-field-focus:#276445;--df-field-label:13px;--df-field-row-gap:5px;--df-field-check:16px;}
/* One uniform control rule for public site, application, and Gravity Forms intake. */
:where(body:not(.wp-admin),body.wp-admin .wrap) :is(input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="number"],input[type="date"],input[type="datetime-local"],input[type="time"],input[type="password"],input[type="search"],input:not([type]),select,textarea):not(.dfi-client-live-search input) {
 box-sizing:border-box;min-width:0;max-width:100%;min-height:var(--df-field-height);border:1px solid var(--df-field-border);border-radius:var(--df-field-radius);background:var(--df-field-background);color:var(--df-field-color);font:inherit;font-size:var(--df-field-font);line-height:1.35;padding:7px var(--df-field-x);box-shadow:none;appearance:auto;
}
:where(body:not(.wp-admin),body.wp-admin .wrap) :is(textarea){height:auto;min-height:88px;resize:vertical;padding-block:9px;}
:where(body:not(.wp-admin),body.wp-admin .wrap) :is(input[type=checkbox],input[type=radio]):not([role=switch]){box-sizing:border-box;width:var(--df-field-check);height:var(--df-field-check);min-width:var(--df-field-check);min-height:var(--df-field-check);margin:0;vertical-align:middle;accent-color:var(--df-field-focus);}
:where(body:not(.wp-admin),body.wp-admin .wrap) :is(input,select,textarea):focus-visible {outline:2px solid var(--df-field-focus);outline-offset:2px;}
:where(body:not(.wp-admin),body.wp-admin .wrap) :is(input,textarea)::placeholder{color:#75867b;opacity:1;}
:where(body:not(.wp-admin),body.wp-admin .wrap) :is(input,select,textarea):disabled{opacity:.65;cursor:not-allowed;}
:where(body:not(.wp-admin),body.wp-admin .wrap) :is(.dragonfly-intake-form,.dfi-manager,#dragonfly-app,#df-public-review-form,.site-main) label{font-size:var(--df-field-label);line-height:1.35;}
:where(body:not(.wp-admin),body.wp-admin .wrap) :is(.dragonfly-intake-form,.dfi-manager,#dragonfly-app,#df-public-review-form) label:has(>input[type=checkbox]),:where(body:not(.wp-admin),body.wp-admin .wrap) :is(.dragonfly-intake-form,.dfi-manager,#dragonfly-app,#df-public-review-form) label:has(>input[type=radio]){align-items:center;gap:8px;}
/* The icon-in-field search is intentionally a composite component: outer wrapper owns its border. */
.dfi-client-live-search input{min-height:36px;border:0;background:transparent;box-shadow:none;padding:0 0 0 20px;}
/* Compact, aligned reputation form. */
#df-public-review-form .df-review-form-row{align-items:start;gap:12px;}
#df-public-review-form .df-review-form-row>label{display:grid;gap:5px;min-width:0;}
#df-public-review-form .df-review-form-row input{height:var(--df-field-height);}
#df-public-review-form textarea{min-height:105px;}
/* Catalog and add-on layout; checkbox alignment controlled by the common field size above. */
#dragonfly-app .df-bt-service-addon-choice label{display:flex;align-items:center;gap:8px;line-height:1.35;margin:0;cursor:pointer;}
#dragonfly-app .df-bt-service-addon-choice label span{min-width:0;line-height:1.35;}
#dragonfly-app .df-bt-catalog-active{display:flex;align-items:center;gap:8px;}
#dragonfly-app .df-bt-catalog-chevron{display:none;}
#dragonfly-app .df-bt-catalog-row>.df-bt-catalog-summary::marker{content:'';}
#dragonfly-app .df-bt-catalog-row>.df-bt-catalog-summary::-webkit-details-marker{display:none;}
@media(max-width:640px){#df-public-review-form .df-review-form-row{grid-template-columns:1fr;}}

/* Connector admin pages use these same tokens inside their own .wrap, not across WP admin. */
body.wp-admin .wrap :is(input[type=text],input[type=email],input[type=search],input[type=number],input[type=password],select,textarea){box-sizing:border-box;min-height:var(--df-field-height);padding:7px var(--df-field-x);font-size:var(--df-field-font);border:1px solid var(--df-field-border);border-radius:var(--df-field-radius);background:var(--df-field-background);color:var(--df-field-color);box-shadow:none;}

/* Shared Gravity Forms intake navigation actions. Keep semantics different, geometry consistent. */
.dragonfly-intake-form :is(input[type=submit],.gform_next_button,.gform_previous_button){box-sizing:border-box;min-height:40px;padding:8px 14px;border-radius:999px;font-size:14px;line-height:1.3;border:1px solid var(--df-field-focus);font-family:inherit;}
.dragonfly-intake-form :is(input[type=submit],.gform_next_button){background:var(--df-field-focus);color:#fff;}
.dragonfly-intake-form .gform_previous_button{background:#fff;color:var(--df-field-focus);}
/* Shared inset-search component, with a decorative search icon in a single outer frame. */
#dragonfly-app .dfi-client-live-search input,.dfi-client-live-search input{background:transparent;border:0;box-shadow:none;padding:0 0 0 20px;min-height:36px;font-size:var(--df-field-font);color:var(--df-field-color);}

/* Visibility safety: presentation styling must never override intentionally concealed UI.
   Do not infer authorization from these CSS rules. Server-side access checks still apply. */
:where(#dragonfly-app,.dragonfly-intake-form,.dfi-manager,#df-public-review-form,.df-public-review-compose) [hidden],
:where(#dragonfly-app,.dragonfly-intake-form,.dfi-manager,#df-public-review-form,.df-public-review-compose)[hidden],
:where(#dragonfly-app,.dragonfly-intake-form,.dfi-manager,#df-public-review-form,.df-public-review-compose) input[type="hidden"] {display:none!important;}
