/* These classes never share Bootstrap's .btn, .row or .form-control names. */
.ui-field{display:grid;gap:var(--ui-space-2);min-width:0}
.ui-label{font-size:var(--ui-text-small);font-weight:600}
.ui-input{width:100%;min-width:0;min-height:var(--ui-control-height);padding:var(--ui-space-3) var(--ui-space-4);border:1px solid var(--line);border-radius:var(--ui-radius-sm);background:var(--paper);color:var(--ink);font-size:var(--ui-text-input)}
.ui-input::placeholder{color:var(--mute);opacity:1}
.ui-input[aria-invalid="true"]{border-color:var(--ui-error)}
.ui-input:disabled{background:var(--stone);color:var(--mute);cursor:not-allowed}
.ui-field-hint,.ui-field-error{font-size:var(--ui-text-small)}
.ui-field-hint{color:var(--mute)}
.ui-field-error{color:var(--ui-error)}
.ui-input-action{display:flex;flex-wrap:wrap;align-items:end;gap:var(--ui-space-2)}
.ui-input-action>.ui-field{flex:1 1 160px}
.ui-input-action>.ui-button{flex-shrink:0}
.ui-notice{max-width:none;padding:var(--ui-space-4);border:1px solid var(--line);border-radius:var(--ui-radius-sm);background:var(--paper);font-size:var(--ui-text-small)}
.ui-notice--success{color:var(--forest);background:var(--sage);border-color:var(--forest)}
.ui-notice--error{color:var(--ui-error);background:var(--ui-error-bg);border-color:var(--ui-error)}
.ui-disclosure{border-bottom:1px solid var(--line)}
.ui-disclosure>summary{min-height:var(--ui-control-height);padding:var(--ui-space-4) 0;font-size:var(--ui-text-body);font-weight:500}
.ui-disclosure-body{padding:var(--ui-space-2) 0 var(--ui-space-5)}
.ui-panel{padding:var(--ui-space-5);border:1px solid var(--line);border-radius:var(--ui-radius-md);background:var(--paper)}
.ui-options{border:0;padding:0;min-width:0}
.ui-options>legend{font-size:var(--ui-text-body);font-weight:600;margin-bottom:var(--ui-space-4)}
.ui-choice{display:flex;gap:var(--ui-space-3);align-items:flex-start;position:relative;min-width:0;padding:var(--ui-space-5) var(--ui-space-4);border:1px solid var(--line);border-radius:var(--ui-radius-md);background:var(--paper);cursor:pointer}
.ui-choice:hover{border-color:var(--forest)}
.ui-choice:has(input:checked){background:var(--ui-selected-bg);border-color:var(--ui-selected-border);box-shadow:inset 0 0 0 1px var(--ui-selected-border)}
.ui-choice:has(input:disabled){opacity:.55;cursor:not-allowed}
.ui-choice input{width:18px;height:18px;flex:0 0 auto;margin:var(--ui-space-1) 0 0;accent-color:var(--forest)}
.ui-choice-content{display:flex;flex-direction:column;gap:var(--ui-space-2);min-width:0;flex:1}
.ui-choice-title{font-size:var(--ui-text-body);font-weight:600}
.ui-choice-description{font-size:var(--ui-text-small);color:var(--mute)}
.ui-badge{font-size:var(--ui-text-label);font-weight:600;color:var(--forest)}
.ui-empty{padding:var(--ui-space-7) var(--ui-space-5);border:1px dashed var(--line);border-radius:var(--ui-radius-md);display:grid;justify-items:start;gap:var(--ui-space-4)}
.ui-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:var(--ui-text-small)}
.ui-table th,.ui-table td{padding:var(--ui-space-3) var(--ui-space-2);border-bottom:1px solid var(--line);text-align:left;overflow-wrap:anywhere}
.ui-table th{font-weight:600}
/* Existing shared header, footer and login use their historical markup. */
.ui-shell .btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--ui-control-height);padding:var(--ui-space-3) var(--ui-space-5);border:0;border-bottom:3px solid var(--terra-edge);border-radius:var(--ui-radius-md);background:var(--ui-action-gradient);box-shadow:var(--ui-action-shadow);color:var(--ui-action-text);font-weight:600;text-decoration:none;text-align:center;cursor:pointer}
.ui-shell .btn:disabled{opacity:.55;cursor:wait}
@media(max-width:820px){
 .ui-choice{padding:var(--ui-space-4)}
 .ui-button--mobile-block{width:100%}
 .ui-table{font-size:12px}
}
.ui-check{display:flex;align-items:flex-start;gap:var(--ui-space-3);padding:var(--ui-space-3) 0;min-height:44px;font-size:var(--ui-text-small);cursor:pointer}
.ui-check input{width:18px;height:18px;flex:0 0 auto;margin:2px 0 0;accent-color:var(--forest)}
.ui-check:has(input:disabled){opacity:.55;cursor:not-allowed}
textarea.ui-input{resize:vertical;min-height:120px}
.ui-data{margin:0;display:grid;gap:var(--ui-space-4)}
.ui-data dt{font-size:var(--ui-text-label);color:var(--mute);margin-bottom:var(--ui-space-1)}
.ui-data dd{margin:0;overflow-wrap:anywhere}
.ui-tabs{display:flex;flex-wrap:wrap;gap:var(--ui-space-2);border-bottom:1px solid var(--line);padding-bottom:var(--ui-space-3)}
.ui-tabs a{display:inline-flex;align-items:center;min-height:44px;padding:var(--ui-space-2) var(--ui-space-3);border:1px solid transparent;border-radius:var(--ui-radius-sm);color:var(--forest);font-size:var(--ui-text-small);text-decoration:none}
.ui-tabs a:hover{background:var(--paper)}
.ui-tabs a[aria-current="page"]{background:var(--sage);border-color:var(--forest);font-weight:600}
.ui-section-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--ui-space-3)}
.ui-tag{display:inline-block;padding:var(--ui-space-1) var(--ui-space-3);border:1px solid var(--line);border-radius:var(--ui-radius-sm);background:var(--paper);font-size:var(--ui-text-small)}
.ui-person{display:flex;align-items:center;gap:var(--ui-space-4);padding:var(--ui-space-4);border:1px solid var(--line);border-radius:var(--ui-radius-md);background:var(--paper)}
.ui-person>a{flex:0 0 88px}.ui-person img{width:88px;height:88px;object-fit:cover;border-radius:var(--ui-radius-sm)}.ui-person>div{min-width:0}
.ui-wrap-text{overflow-wrap:anywhere;white-space:normal}
.ui-person--compact{padding:0;border:0;border-radius:0;background:transparent;gap:var(--ui-space-3)}
.ui-person--compact>a{flex-basis:48px}.ui-person--compact img{width:48px;height:48px}
.ui-person .ui-button{font-size:var(--ui-text-small);min-height:44px;padding:10px 12px}
.ui-person form{margin:0}
@media(max-width:820px){.ui-person:has(form){align-items:start;flex-wrap:wrap}.ui-person:has(form)>div{flex:1 1 200px}}

/* Symfony form theme: styles apply on every shared UI page. */
.ui-form-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ui-form-choice{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;cursor:pointer}.ui-form-choice:has(:checked){background:var(--sage);border-color:var(--forest)}.ui-form-choice input{width:20px;height:20px;flex:none;accent-color:var(--forest)}.ui-form-errors{color:#a12520;list-style:none;padding:0}
@media(max-width:820px){.ui-form-choices{grid-template-columns:1fr}}

.ui-profile-card>a>img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--ui-radius-md)}
.ui-profile-card .ui-heading,.ui-profile-card .ui-muted{overflow-wrap:anywhere}

.ui-choice-group{border:0;padding:0;min-width:0}
.ui-choice-group>legend{padding:0;margin-bottom:var(--ui-space-4)}

.ui-gallery-photo{display:block;width:100%;max-height:65vh;object-fit:contain;border-radius:var(--ui-radius-md)}

/* Readable label/value groups for account and payment summaries. */
.ui-details{margin:0;display:grid;gap:var(--ui-space-5)}
.ui-details dt{font-weight:600;color:var(--forest)}
.ui-details dd{margin:var(--ui-space-1) 0 0;overflow-wrap:anywhere}
.ui-disclosure[id]{scroll-margin-top:112px}
