.fp-shell { padding:0; overflow:visible; }
.fp-toolbar { display:flex; align-items:start; justify-content:space-between; gap:24px; padding:24px; border-bottom:1px solid var(--pv-border); }
.fp-toolbar h3,.fp-toolbar p { margin:0; }
.fp-toolbar p { margin-top:8px; }
.fp-density,.fp-options,.fp-editable { border:0; margin:0; padding:0; min-width:0; }
.fp-density { flex:none; display:flex; flex-wrap:wrap; gap:12px; }
.fp-density legend,.fp-options legend { font-size:12px; color:var(--pv-secondary); margin-bottom:8px; }
.fp-density label,.fp-demo label { display:flex; align-items:center; gap:8px; font-weight:400; }
.fp-demo { margin:20px 24px 0; padding:12px 16px; border:1px solid var(--pv-border); border-radius:12px; }
.fp-demo-controls { display:grid; gap:12px; padding-top:16px; }
.fp-demo-controls p { margin:0; }
.fp-group { padding:24px; border-bottom:1px solid var(--pv-border); }
.fp-group h4 { font-size:16px; line-height:24px; color:var(--pv-heading); margin:0 0 4px; }
.fp-group > p { margin:0 0 20px; }
.fp-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.fp-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.fp-group .field { margin:0; min-width:0; display:grid; gap:8px; align-content:start; }
.fp-group .field label { margin:0; }
.fp-group small { display:block; font-size:12px; line-height:18px; }
.fp-group .field-error:empty { display:none; }
.fp-group .fp-status { margin:12px 0 0; }
.fp-status { font-size:12px; line-height:18px; color:var(--pv-secondary); overflow-wrap:anywhere; }
.fp-group > button { margin-top:12px; }
.fp-conditional { margin-top:24px; }
.fp-choice { display:flex!important; gap:12px; align-items:flex-start; padding:16px; border:1px solid var(--pv-control); border-radius:12px; cursor:pointer; margin:0!important; transition:background-color 140ms ease,border-color 140ms ease; }
.fp-choice > input { flex:none; margin:3px 0 0; }
.fp-choice > svg { flex:none; width:20px; height:20px; color:var(--pv-secondary); }
.fp-choice > span { display:grid; gap:4px; min-width:0; }
.fp-choice small { color:var(--pv-secondary); font-weight:400; }
.fp-choice:hover { background:var(--pv-muted); }
.fp-choice:has(:checked) { border-color:var(--pv-link); background:var(--pv-selection-bg); }
.fp-choice:has(:focus-visible) { outline:2px solid var(--pv-focus); outline-offset:3px; }
.fp-contacts { display:grid; gap:16px; }
.fp-contact { border:1px solid var(--pv-border); border-radius:12px; padding:16px; margin:0; min-width:0; }
.fp-contact legend { font-weight:600; font-size:12px; padding:0 4px; color:var(--pv-secondary); }
.fp-contact-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto; align-items:start; gap:16px; }
.fp-contact-grid > button { align-self:start; margin-top:28px; min-height:44px; }
.fp-inline-actions { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-top:20px; }
.fp-retries-field { max-width:320px; margin-bottom:24px!important; }
.fp-stepper { display:flex; border:1px solid var(--pv-control); border-radius:999px; overflow:hidden; }
.fp-stepper > button { width:48px; min-width:48px; min-height:48px; border:0; background:var(--pv-muted); color:var(--pv-heading); font-size:20px; border-radius:0; padding:0; }
.fp-stepper > button:disabled { color:var(--pv-disabled-fg); opacity:.55; }
.fp-stepper > input { min-width:0; text-align:center; border:0!important; border-radius:0!important; appearance:textfield; -moz-appearance:textfield; padding:8px!important; }
.fp-stepper > input::-webkit-inner-spin-button { -webkit-appearance:none; }
.fp-stepper:has(:focus-visible) { outline:2px solid var(--pv-focus); outline-offset:3px; }
.fp-actions { position:sticky; bottom:0; z-index:4; display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid var(--pv-border); padding:20px 24px max(20px,env(safe-area-inset-bottom)); background:var(--pv-surface); border-radius:0 0 16px 16px; box-shadow:0 -8px 24px rgb(36 18 25 / 5%); }
.fp-actions p { margin:4px 0 0; }
.fp-action-buttons,.fp-dialog-actions { display:flex; gap:12px; flex-wrap:wrap; }
.fp-action-buttons { flex:none; }
.fp-dialog-actions { justify-content:flex-end; padding-top:24px; margin-top:24px; border-top:1px solid var(--pv-border); }
.fp-summary { margin:24px; padding:16px; border-radius:12px; background:var(--pv-error-bg); color:var(--pv-error-fg); }
.fp-summary ul { padding-left:20px; margin:8px 0 0; }
.fp-summary a { color:inherit; text-decoration:underline; }
.fp-diff { display:grid; gap:16px; }
.fp-diff-item { border:1px solid var(--pv-border); border-radius:12px; padding:16px; }
.fp-diff-item h4 { margin:0 0 12px; }
.fp-diff-values { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.fp-diff-values p { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.fp-diff-values small { display:block; color:var(--pv-secondary); margin-bottom:4px; }
.fp-shell[data-density=compact] .fp-group { padding:20px 24px; }
.fp-shell[data-density=compact] .fp-columns { gap:16px; }
.fp-shell[data-density=compact] .fp-group input:not([type=radio]):not([type=checkbox]):not(.custom-select-source),.fp-shell[data-density=compact] .custom-select-input { min-height:40px!important; padding-block:8px!important; }
.fp-shell[data-density=compact] .fp-choice { padding:12px; }
.fp-group input,.fp-group .custom-select { scroll-margin-block:160px; }
.fp-shell.fp-keyboard-open .fp-actions { position:static; }
@media(max-width:800px) { .fp-toolbar { flex-direction:column; gap:16px; }.fp-three { grid-template-columns:minmax(0,1fr); }.fp-contact-grid { grid-template-columns:minmax(0,1fr); }.fp-contact-grid > button { margin-top:0; justify-self:start; } }
@media(max-width:640px) { .fp-columns { grid-template-columns:minmax(0,1fr); gap:20px; }.fp-toolbar,.fp-group,.fp-shell[data-density=compact] .fp-group { padding:20px; }.fp-demo { margin-inline:20px; }.fp-actions { flex-direction:column; align-items:stretch; gap:12px; padding:16px 20px max(16px,env(safe-area-inset-bottom)); }.fp-action-buttons { display:grid; grid-template-columns:auto minmax(0,1fr); }.fp-action-buttons .button { padding-inline:12px; }.fp-diff-values { grid-template-columns:minmax(0,1fr); }.fp-shell[data-density=compact] .fp-group input:not([type=radio]):not([type=checkbox]):not(.custom-select-source),.fp-shell[data-density=compact] .custom-select-input { min-height:44px!important; font-size:16px; }.fp-summary { margin:20px; }.fp-actions strong { font-size:12px; } }
@media(prefers-reduced-motion:reduce) { .fp-choice { transition:none; } }
@media print { .fp-actions { position:static; box-shadow:none; } }

.fp-actions-visible #back-to-top { bottom:calc(var(--fp-footer-clearance,130px) + 16px); }
.fp-actions-visible body:has(#back-to-top:not([hidden])) .notifications { bottom:calc(var(--fp-footer-clearance,130px) + 80px); }
.fp-shell[data-density=compact] .custom-select-input { height:40px!important; }
@media(max-width:640px) { .fp-shell[data-density=compact] .custom-select-input { height:44px!important; } }
