.app-field{display:grid;align-content:start;gap:var(--space-sm);min-width:0}
.app-label{color:var(--color-text);font-size:.75rem;line-height:1.2;font-weight:600;letter-spacing:.02em}
.required-indicator{color:var(--color-error);margin-inline-start:.15rem}
.app-input,.app-select,.app-textarea,
.app-content input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
.app-content select,.app-content textarea{width:100%;min-height:2.5rem;padding:.5625rem .875rem;color:var(--color-text);background:var(--color-field);border:1px solid var(--color-border);border-radius:var(--radius-control);outline:0;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}
.app-textarea,.app-content textarea{min-height:6rem;resize:vertical;line-height:1.55}
.app-select,.app-content select{appearance:none;padding-right:2.5rem;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-muted) 50%),linear-gradient(135deg,var(--color-text-muted) 50%,transparent 50%);background-position:calc(100% - 1.05rem) 50%,calc(100% - .75rem) 50%;background-size:.32rem .32rem,.32rem .32rem;background-repeat:no-repeat}
.app-input::placeholder,.app-textarea::placeholder,.app-content input::placeholder,.app-content textarea::placeholder{color:var(--color-placeholder);opacity:1}
.app-input:hover,.app-select:hover,.app-textarea:hover,
.app-content input:not([type=checkbox]):not([type=radio]):not([type=hidden]):hover,
.app-content select:hover,.app-content textarea:hover{background-color:var(--color-field-hover)}
.app-input:focus-visible,.app-select:focus-visible,.app-textarea:focus-visible,
.app-content input:not([type=checkbox]):not([type=radio]):not([type=hidden]):focus-visible,
.app-content select:focus-visible,.app-content textarea:focus-visible{background-color:var(--color-surface-lowest);border-color:var(--color-primary);box-shadow:var(--focus-ring)}
.app-input:disabled,.app-select:disabled,.app-textarea:disabled,
.app-input[readonly],.app-textarea[readonly],
.app-content input:disabled,.app-content select:disabled,.app-content textarea:disabled{cursor:not-allowed;color:var(--color-text-muted);background:var(--color-disabled);border-color:transparent}
.app-field__helper{color:var(--color-text-muted);font-size:.8125rem;line-height:1.45}
.validation-message,.app-field__error{color:var(--color-error);font-size:.8125rem;line-height:1.45}
.invalid,.app-input.invalid,.app-select.invalid,.app-textarea.invalid{border-color:var(--color-error)!important;background:var(--color-error-soft)!important;box-shadow:0 0 0 1px var(--color-error)!important}
.app-control-frame{position:relative;display:flex;align-items:center;min-width:0}
.app-control-frame--prefixed{display:grid;grid-template-columns:max-content minmax(0,1fr);width:100%;min-height:2.5rem;background:var(--color-field);border:1px solid var(--color-border);border-radius:var(--radius-control);overflow:hidden;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}
.app-control-frame--prefixed:hover{background-color:var(--color-field-hover);border-color:#C8D0C4}
.app-control-frame--prefixed:focus-within{background-color:var(--color-surface-lowest);border-color:var(--color-primary);box-shadow:var(--focus-ring)}
.app-control-frame__prefix{position:absolute;z-index:1;left:.875rem;color:var(--color-text-muted);font-weight:700;pointer-events:none}
.app-control-frame--prefixed .app-control-frame__prefix{position:static;z-index:auto;align-self:stretch;display:flex;align-items:center;padding-left:.875rem;white-space:nowrap}
.app-control-frame--prefixed .app-input,.app-content .app-control-frame--prefixed .app-input:not([type=checkbox]):not([type=radio]):not([type=hidden]){min-width:0;padding-left:.625rem;border:0;border-radius:0;background:transparent;box-shadow:none;font-variant-numeric:tabular-nums}
.app-control-frame--prefixed .app-input:hover,.app-control-frame--prefixed .app-input:focus-visible,.app-content .app-control-frame--prefixed .app-input:hover,.app-content .app-control-frame--prefixed .app-input:focus-visible{background:transparent;border:0;box-shadow:none}
.app-control-frame--prefixed .app-input.invalid{border:0!important;background:transparent!important;box-shadow:none!important}
.app-control-frame--prefixed:has(.invalid){border-color:var(--color-error);background:var(--color-error-soft);box-shadow:0 0 0 1px var(--color-error)}
.app-search{position:relative;display:flex;align-items:center}.app-search__icon{position:absolute;z-index:1;top:50%;left:.875rem;display:grid;place-items:center;color:var(--color-text-muted);line-height:0;transform:translateY(-50%);pointer-events:none}.app-search .app-input,.app-content .app-search input.app-input:not([type=checkbox]):not([type=radio]):not([type=hidden]){padding-left:2.75rem;padding-right:3rem}.app-search__clear{position:absolute;top:50%;right:.125rem;transform:translateY(-50%)}
.app-field--choice{gap:var(--space-xs)}
.app-content input[type=checkbox]:not(.app-choice__input),.app-content input[type=radio]:not(.app-choice__input){width:1.25rem;height:1.25rem;flex:0 0 auto;accent-color:var(--color-primary);cursor:pointer}
.app-choice{display:flex;align-items:flex-start;gap:.75rem;min-height:2.75rem;padding:.625rem .75rem;color:var(--color-text);background:var(--color-field);border-radius:var(--radius-control);cursor:pointer;transition:background-color var(--transition-fast)}
.app-choice:hover{background:var(--color-field-hover)}
.app-choice__input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.app-choice__indicator{position:relative;width:1.25rem;height:1.25rem;flex:0 0 1.25rem;margin-top:.1rem;background:var(--color-surface-lowest);border:1px solid var(--color-border);border-radius:var(--radius-control);transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}
.app-choice__indicator--radio{border-radius:50%}
.app-choice__input:checked+.app-choice__indicator--radio::after{left:.275rem;top:.275rem;width:.55rem;height:.55rem;background:var(--color-on-primary);border:0;border-radius:50%;transform:none}
.app-choice-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:var(--space-sm)}
.app-radio-field{margin:0;padding:0;border:0}.app-radio-field legend{margin-bottom:var(--space-sm)}.app-radio-field>.app-field__helper{margin:-.25rem 0 var(--space-sm)}
.app-choice__input:checked+.app-choice__indicator{background:var(--color-primary);border-color:var(--color-primary)}
.app-choice__input:checked+.app-choice__indicator::after{content:"";position:absolute;left:.35rem;top:.12rem;width:.32rem;height:.62rem;border:solid var(--color-on-primary);border-width:0 2px 2px 0;transform:rotate(45deg)}
.app-choice__input:focus-visible+.app-choice__indicator{box-shadow:var(--focus-ring)}
.app-choice__input:disabled~*{opacity:.62}.app-choice:has(>.app-choice__input:disabled){cursor:not-allowed;background:var(--color-disabled)}
.app-choice__content{display:grid;gap:2px;line-height:1.35}.app-choice__content strong{font-size:.9rem}.app-choice__content small{color:var(--color-text-muted);font-size:.8rem}
.app-choice__input[role=switch]+.app-choice__indicator{width:2.25rem;flex-basis:2.25rem;border-radius:999px}
.app-choice__input[role=switch]+.app-choice__indicator::before{content:"";position:absolute;left:.15rem;top:.15rem;width:.82rem;height:.82rem;background:var(--color-border);border-radius:50%;transition:transform var(--transition-fast),background-color var(--transition-fast)}
.app-choice__input[role=switch]:checked+.app-choice__indicator::before{background:var(--color-on-primary);transform:translateX(1rem)}
.app-choice__input[role=switch]:checked+.app-choice__indicator::after{display:none}
.app-dropdown{position:relative;min-width:0}
.app-dropdown__trigger{display:flex;align-items:center;width:100%;font:inherit;text-align:left;cursor:pointer}
.app-dropdown__trigger:disabled{cursor:not-allowed}
.app-dropdown__value{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.app-dropdown__panel{position:fixed;z-index:60;margin:0;padding:.375rem;max-height:16rem;overflow:auto;list-style:none;color:var(--color-text);background:var(--color-surface-lowest);border:1px solid var(--color-border-subtle);border-radius:var(--radius-control);box-shadow:var(--shadow-floating)}
.app-dropdown__panel:not(:popover-open){display:none}
.app-dropdown__option{display:grid;gap:.1rem;padding:.5rem .75rem;border-radius:.5rem;font-size:.875rem;line-height:1.4;cursor:pointer}
.app-dropdown__option small{color:var(--color-text-muted);font-size:.75rem}
.app-dropdown__option.is-active{background:var(--color-field-hover)}
.app-dropdown__option.is-selected{color:var(--color-primary);font-weight:700}
.form-actions,.timeline-form-actions,.payment-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);margin-top:var(--space-gutter)}
@media(max-width:767px){.form-actions,.timeline-form-actions,.payment-form-actions{position:sticky;z-index:8;bottom:calc(var(--layout-bottom-nav-height) + env(safe-area-inset-bottom));margin-inline:calc(-1 * var(--space-md));padding:var(--space-md);background:color-mix(in srgb,var(--color-surface-lowest) 94%,transparent);box-shadow:0 -8px 24px rgba(51,51,51,.06);backdrop-filter:blur(10px)}.form-actions>.app-button:first-child,.timeline-form-actions>.app-button:first-child,.payment-form-actions>.app-button:first-child{flex:1}}
