/* Global AMMO form scale. Loaded after page styles to keep controls consistent. */
:root{--ammo-field-font-size:13px;--ammo-field-height:34px;--ammo-field-padding:6px 10px}
body input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=reset]),body select,body textarea{font-size:var(--ammo-field-font-size);font-weight:400;line-height:1.4;padding:var(--ammo-field-padding);max-width:100%}
body input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=reset]),body select{height:var(--ammo-field-height);min-height:var(--ammo-field-height)}
body input[name=name],body input[name=first_name],body input[name=last_name]{width:100%;max-width:min(100%,360px)!important}
body textarea{min-height:96px}
@media(pointer:coarse){:root{--ammo-field-font-size:16px;--ammo-field-height:40px}main h4{font-size:max(1rem,16px)}}

body button.compact{min-height:32px;padding:6px 12px;font-size:13px;line-height:1.4;gap:6px}
body button.compact svg{width:16px;height:16px}
@media(pointer:coarse){body button.compact{min-height:44px}}

/* Search uses the labelled action icon, not Pico's background magnifier. */
body input[type=search]{background-image:none!important;border-radius:6px!important}
body .toolbar form[role=search]{align-items:center;gap:8px}
body .toolbar input,body .toolbar select,body .toolbar button,body .toolbar label{margin-block:0}
body .toolbar button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--ammo-field-height);min-height:var(--ammo-field-height);padding:6px 10px;font-size:13px;line-height:1.4;white-space:nowrap}
body .toolbar button svg{width:16px;height:16px;display:block}
body .toolbar button [hidden]{display:none}
body .poll-controls,body .poll-interval{align-items:center}
body .poll-controls button,body .poll-controls .poll-interval{margin:0}
body .poll-controls button,body .poll-controls select{height:var(--ammo-field-height);min-height:var(--ammo-field-height)}
@media(pointer:coarse){body .poll-controls button,body .poll-controls select{height:44px;min-height:44px}}
@media(max-width:380px){
 body .poll-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px 12px}
 body .poll-controls .live-status{grid-column:1 / -1}
 body .poll-controls .poll-interval{display:grid;align-items:start;gap:4px}
 body .poll-controls .poll-select,body .poll-controls select{width:100%}
}

/* AMMO destructive actions use the solid brand red in both themes. */
:root{--danger-action-fill:#ef3340;--danger-action-ink:#160306}
body button.danger,body .button.danger,body .delete-control button:enabled{background:var(--danger-action-fill)!important;color:var(--danger-action-ink)!important;border-color:var(--danger-action-fill)!important}
body .delete-control{border-radius:var(--button-radius)}
body .delete-control input[role=switch]:checked{background-color:var(--danger-action-fill);border-color:var(--danger-action-fill);--pico-switch-checked-background-color:var(--danger-action-fill)}

body .delete-control button:enabled{color:#fff!important}

/* Shared project/workspace member actions. */
body .members-settings button.invite-submit{background:var(--primary-fill)!important;border-color:var(--primary-fill)!important;color:var(--primary-ink)!important}
body .members-settings button.invite-submit:hover{background:var(--primary-fill)!important;border-color:var(--primary-fill)!important;filter:brightness(1.08)}
.member-invitations{list-style:none;padding:0;margin:0}
.member-invitation{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;padding:16px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.invitation-person{min-width:0;overflow-wrap:anywhere}.invitation-person span,.invitation-person small{display:block}
.invitation-actions{display:flex;align-items:center;gap:8px;margin:0;flex-shrink:0}.invitation-actions button{margin:0}
body .members-settings button.crud-icon{width:32px;min-width:32px;height:32px;min-height:32px;padding:6px;border:0;background:transparent!important;box-shadow:none;color:var(--muted)!important}
body .members-settings button.crud-icon svg{width:16px;height:16px}
body .members-settings button.crud-delete:hover{color:var(--danger)!important;background:var(--hover)!important}
.members-settings .member-remove-form,.members-settings .member-role-form{margin:0}.member-role-form button{margin:0;padding:0;min-height:32px}
@media(pointer:coarse){.member-role-form button{min-height:44px}}.members-settings td:first-child{overflow-wrap:anywhere}
.members-settings .delete-control{flex-wrap:wrap}.members-settings .delete-control button.secondary{white-space:normal}
@media(pointer:coarse){body .members-settings button.crud-icon{width:44px;height:44px;min-height:44px}}
@media(max-width:700px){
 :is(.workspace-members-table,.members-table),:is(.workspace-members-table,.members-table) tbody{display:block}
 :is(.workspace-members-table,.members-table) thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 :is(.workspace-members-table,.members-table) tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 16px;padding:16px 0;border-bottom:1px solid var(--line)}
 :is(.workspace-members-table,.members-table) td{display:block;min-width:0;padding:0;border:0;background:transparent}
 :is(.workspace-members-table,.members-table) td:first-child,:is(.workspace-members-table,.members-table) td:last-child{grid-column:1 / -1}
 :is(.workspace-members-table,.members-table) td:first-child{font-weight:500}
 :is(.workspace-members-table,.members-table) td[data-label]::before{content:attr(data-label);display:block;color:var(--muted);font-size:.75rem}
 :is(.workspace-members-table,.members-table) td:last-child:empty{display:none}
}
@media(max-width:700px){.members-settings .delete-control{display:flex;flex-direction:column;align-items:stretch}.members-settings .delete-control label{border-left:0;border-top:1px solid var(--line)}}

/* Shared form rhythm: one width for ordinary fields, compact feedback. */
:root{--ammo-field-width:360px;--ammo-field-gap:16px}
body main select[name=timezone],body main select[name=timezone_override]{width:var(--ammo-field-width);max-width:100%}
body main input:not([type]),body main input[type=text],body main input[type=email],body main input[type=password],body main input[type=url],body main input[type=tel],body main input[type=number],body main input[type=search],body main textarea[name=description]{width:100%;max-width:min(100%,var(--ammo-field-width))!important;margin-bottom:var(--ammo-field-gap)}
body main select{max-width:min(100%,var(--ammo-field-width))!important}
body main .replay-form input,body main .replay-form select{max-width:100%!important}
body .narrow-form label>input:not([type=checkbox]):not([type=radio]):not([type=hidden]),body .narrow-form label>select,body .narrow-form label>textarea{display:block}
body main .auth-surface input,body main .auth-surface select,body main .auth-surface textarea{max-width:100%!important}
body main label{margin-bottom:6px}
body main textarea[name=description]{min-height:64px}
body .settings-name-form,body .settings-description-form{max-width:var(--ammo-field-width);margin-bottom:var(--ammo-field-gap)}
.environment-email-preview{max-width:var(--ammo-field-width);margin-bottom:24px}
.environment-email-preview label{display:flex;align-items:flex-start;gap:8px}
.environment-email-preview input[role=switch]{flex:none;margin:2px 0 0}
body [data-autosave] input,body [data-autosave] textarea{margin-bottom:0}
body .save-feedback{min-height:0;margin-top:4px;font-size:.75rem}
body .save-feedback:has([data-save-status]:empty):has([data-save-retry][hidden]){display:none}
body .settings-resource-groups{grid-template-columns:repeat(2,minmax(0,var(--ammo-field-width)));gap:24px;margin-top:20px}
body .settings-resources .resource-settings-link{display:block;margin-top:6px}
@media(max-width:800px){body .settings-resource-groups{grid-template-columns:minmax(0,1fr);gap:20px}}

:root,[data-theme=light]{--ammo-field-border:#9ba9be}
[data-theme=dark]{--ammo-field-border:#364154}
body input,body textarea,body select{--pico-form-element-border-color:var(--ammo-field-border)}

body a.connection-button{display:inline-flex;align-items:center;gap:6px;flex:none;width:max-content;max-width:100%;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.4;border-radius:var(--button-radius);font-weight:500;text-decoration:none}
body .settings-resources a.connection-button{display:inline-flex;margin-top:8px}
body a.connection-button svg{width:16px;height:16px;color:var(--blue)}
@media(pointer:coarse){body a.connection-button{min-height:44px}}

body .search-field{position:relative;display:block;flex:1;min-width:0;max-width:min(100%,var(--ammo-field-width))}
body .search-field input[type=search]{width:100%;padding-right:36px;margin:0}
body .search-field>svg{position:absolute;right:11px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted);pointer-events:none}
body .search-field input::-webkit-search-cancel-button{display:none}

/* Approved AMMO dark palette, shared with styles.ammo.tools. */
[data-theme=dark]{--sidebar-bg:#192331;--sidebar-hover:#263447;--sidebar-line:#303d50;--line:#202833}

/* Tabs meet the panel edge; hover never adds a second text underline. */
body .settings-sections,body .smtp-setup-tabs,body .tabs{display:flex;justify-content:flex-start;gap:4px;padding:0;border-bottom:1px solid var(--line);overflow-x:auto}
body .settings-sections a,body .smtp-setup-tabs a,body .tabs a{display:inline-flex;align-items:center;justify-content:center;flex:none;margin:0;padding:9px 14px;border:1px solid transparent;border-bottom:0;border-radius:6px 6px 0 0;font-size:.85rem;line-height:1.4;font-weight:500;color:var(--muted);text-decoration:none}
body .settings-sections a:hover,body .smtp-setup-tabs a:hover,body .tabs a:hover{color:var(--ink);background:var(--hover);text-decoration:none}
body .settings-sections a[aria-selected="true"],body .smtp-setup-tabs a[aria-selected="true"],body .tabs a[aria-selected="true"],body .tabs a[aria-current="page"]{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-bottom:0;font-weight:600;text-decoration:none}
@media(pointer:coarse){body .settings-sections a,body .smtp-setup-tabs a,body .tabs a{min-height:44px}}

/* Product screenshots show the complete application without overlapping controls. */
.app-screenshot{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--bg)}
.app-screenshot a,.app-screenshot img{display:block;width:100%;margin:0}
.app-screenshot img{height:auto}
.app-screenshot a:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}

.environment-order-form{display:inline-flex;gap:4px;align-items:center;margin:0}

/* Setup starts with the agent handoff, followed by full-width manual recipes. */
.setup-guide-heading{margin-bottom:24px}
.setup-guide .guide-project-form{margin:0 0 24px;max-width:736px}
.setup-guide .guide-project-form select{max-width:360px}
.setup-guide .agent-setup{margin:0 0 36px;padding:24px;border:1px solid var(--line);border-radius:10px}
.setup-guide .agent-setup .section-heading{align-items:center;margin:0 0 12px}
.setup-guide .agent-setup h2{margin:0;font-size:1.35rem}
.setup-guide .agent-setup p{margin:0;max-width:72ch}
.setup-guide .agent-copy{width:auto;padding:9px 14px;font-size:13px;border-radius:var(--button-radius);background:var(--primary-fill);border-color:var(--primary-fill);color:var(--primary-ink)}
.setup-guide .agent-preview{margin:20px 0 0;border-top:1px solid var(--line);padding-top:16px}
.setup-guide .agent-preview summary{display:flex;align-items:center;gap:8px;width:fit-content;margin:0;padding:7px 10px;border:1px solid var(--control-border);border-radius:var(--button-radius);background:var(--canvas);color:var(--ink);font-size:13px}
.setup-guide .agent-preview summary svg{width:16px;height:16px}
.setup-guide .agent-preview summary::after{margin-left:12px}
.setup-guide .agent-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:16px 0 0}
.setup-guide .guide-workspace{grid-template-columns:minmax(0,1fr);gap:20px;padding-top:24px}
.setup-guide .guide-recipe-context{min-width:0}
.setup-guide .guide-recipe-context .smtp-setup-editor{margin:0 0 24px}
.setup-guide .guide-recipe-context h3{font-size:1.15rem;margin:0 0 8px}
.setup-guide .guide-recipe-context dl{display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px 16px;margin:16px 0}
.setup-guide .guide-recipe-context dt,.setup-guide .guide-recipe-context dd{margin:0}
.setup-guide .guide-intro h2{font-size:1.4rem;margin:0}
.setup-guide .guide-languages{margin-top:16px}
.setup-guide .guide-languages a[aria-current]{background:var(--surface);border-color:var(--control-border);color:var(--ink)}
.setup-guide .guide-editor{border:1px solid var(--line)}
.smtp-connection-details{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 16px;align-items:baseline;margin:16px 0}
.smtp-connection-details dt{margin:0;color:var(--muted);font-size:.9rem}
.smtp-connection-details dd{margin:0}
@media(max-width:700px){.setup-guide .agent-setup{padding:18px}.setup-guide .guide-project-form>div{align-items:stretch;flex-direction:column}.setup-guide .guide-recipe-context dl{grid-template-columns:1fr;gap:4px}.setup-guide .guide-recipe-context dd{margin-bottom:8px}}

.setup-guide .guide-snippet{min-width:0;scroll-margin-top:20px}
.setup-guide .guide-snippet .guide-languages{margin:0 0 12px}

.setup-guide .guide-credentials{margin:0 0 28px;padding:0 0 20px;border-bottom:1px solid var(--line)}
.setup-guide .guide-credentials .section-heading{margin:0;flex-wrap:wrap;gap:12px}
.setup-guide .guide-credentials h2{margin:0;font-size:1.15rem}
.setup-guide .guide-project-form>div{flex-wrap:wrap}
.setup-guide .guide-project-form select{flex:1 1 180px}

.setup-guide .guide-selector{flex:1 1 180px;min-width:0;max-width:360px}
.setup-guide .guide-selector label{display:block;margin-bottom:6px}
.setup-guide .guide-selector select{width:100%;max-width:100%}
@media(max-width:700px){.setup-guide .guide-selector{flex:none;width:100%}}


/* Recovery codes display with copy button. */
.recovery-codes{display:flex;gap:16px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px 20px;margin:16px 0}
.recovery-codes pre{flex:1;margin:0;padding:0;background:none;border:0;font-size:.9rem;line-height:1.8}
.recovery-codes button{flex-shrink:0}
@media(max-width:500px){.recovery-codes{flex-direction:column;align-items:stretch}.recovery-codes button{align-self:flex-start}}
.button-group{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* Analytics consent bar at the bottom of the viewport. */
.analytics-consent{position:fixed;bottom:0;left:0;right:0;z-index:1000;background:var(--surface);border-top:1px solid var(--line);padding:16px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 24px;font-size:.9rem;box-shadow:0 -2px 8px rgba(0,0,0,.1)}
.analytics-consent p{margin:0;flex:1;min-width:200px;max-width:600px}
.analytics-consent p a{color:inherit;text-decoration:underline}
.analytics-consent-actions{display:flex;gap:8px;flex-shrink:0}
@media(max-width:600px){.analytics-consent{flex-direction:column;text-align:center;padding:16px}.analytics-consent p{max-width:100%}}
