/* Aiden skin over Radzen standard-base. Selection stays royal; filled primary actions use limelight. */
:root {
    --rz-primary: var(--of-link);
    --rz-primary-dark: var(--of-link);
    --rz-primary-light: var(--of-selection);
    --rz-primary-lighter: var(--of-selection);
    --rz-on-primary: var(--of-on-inverse);
    --rz-on-primary-light: var(--of-heading);
    --rz-on-primary-lighter: var(--of-heading);
    --rz-secondary: var(--of-heading);
    --rz-on-secondary: var(--of-on-inverse);
    --rz-danger: var(--of-danger);
    --rz-input-placeholder-color: var(--of-muted);
    --rz-input-value-color: var(--of-text);
    --rz-input-focus-border: 1px solid var(--of-focus);
    --rz-input-focus-shadow: 0 0 0 3px var(--of-focus-halo);
    --rz-text-color: var(--of-text);
    --rz-body-color: var(--of-text);
    --rz-base-background-color: #fff;
    --rz-border-color: var(--of-border);
    --rz-border-radius: var(--of-control-radius);
    --rz-font-family: var(--aiden-font-body);
}
.of-ui { color: var(--of-text); font-family: var(--rz-font-family); min-width: 0; }
.of-lab { max-width: 1160px; margin: 0 auto; }
.of-lab .page-heading { align-items: start; }
.of-lab-notice { border-left: 3px solid var(--of-link); padding: .2rem 1rem; color: var(--of-muted); line-height: 1.6; max-width: 850px; margin: 0 0 1.75rem; }
.of-draft-summary { padding: clamp(1rem, 3vw, 2rem); }
.of-draft-summary header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.of-draft-summary h2 { font-size: 1.3rem; margin: 0; }
.of-culture { color: var(--of-muted); font-size: .8rem; display: grid; gap: .15rem; text-align: right; }
.of-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem 2rem; margin: 0 0 2rem; }
.of-summary-grid dt { font-size: .78rem; font-weight: 500; color: var(--of-muted); margin-bottom: .4rem; }
.of-summary-grid dd { margin: 0; font-size: 1rem; font-weight: 700; overflow-wrap: anywhere; }
.of-summary-grid dd small { font-weight: 400; color: var(--of-muted); }
.of-ui .rz-button { border-radius: var(--of-control-radius); min-height: 44px; font-family: inherit; font-weight: 700; padding: .65rem 1rem; text-transform: none; letter-spacing: 0; }
.rz-button.rz-primary:not(.rz-variant-text):not(.rz-variant-outlined) { background: var(--of-action); color: var(--of-on-action); border-color: var(--of-action); box-shadow: none; }
.rz-button.rz-primary:not(.rz-variant-text):not(.rz-variant-outlined):not(:disabled):hover { background: var(--of-action-hover); border-color: var(--of-action-hover); }
.of-ui .rz-button:focus-visible, .of-ui input:focus-visible, .of-ui .rz-dropdown:focus-visible { outline: 3px solid var(--of-link); outline-offset: 3px; }
.of-dialog { max-width: calc(100vw - 32px); max-height: calc(100dvh - 32px); border: 1px solid var(--of-border); border-radius: var(--of-panel-radius); box-shadow: var(--of-overlay-shadow); }
.of-dialog .rz-dialog-titlebar { padding: 1.1rem 1.5rem; background: var(--of-subtle); border-bottom: 1px solid var(--of-border); }
.of-dialog .rz-dialog-title { font-size: 1.15rem; color: var(--of-text); font-weight: 700; white-space: normal; }
.of-dialog .rz-dialog-content { padding: 1.5rem; overflow-y: auto; min-height: 0; }
.of-dialog .rz-dialog-titlebar-close { min-height: 36px; min-width: 36px; padding: .3rem; }
.of-hint { color: var(--of-muted); font-size: .86rem; line-height: 1.6; margin-bottom: 1.4rem; }
.of-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; }
.of-wide { grid-column: 1 / -1; }
.of-field { display: grid; gap: .4rem; min-width: 0; }
.of-field label { font-size: .83rem; font-weight: 700; color: var(--of-text); }
.of-ui .rz-textbox, .of-ui .rz-numeric, .of-ui .rz-dropdown, .of-ui .rz-datepicker { min-height: 44px; border-radius: var(--of-control-radius); border-color: var(--of-border); max-width: 100%; }
.of-ui .rz-numeric-input, .of-ui .rz-inputtext { min-height: 42px; font-size: .92rem; }
.of-ui .rz-dropdown-label { font-size: .92rem; }
.of-ui .rz-dropdown-trigger { min-width: 28px; }
.of-option { display: flex; justify-content: space-between; gap: .75rem; min-width: 0; white-space: normal; overflow-wrap: anywhere; }
.of-option small { color: var(--of-muted); flex-shrink: 0; }
.rz-popup { max-width: calc(100vw - 32px); }
.rz-dropdown-panel .rz-dropdown-filter-container input { max-width: 100%; min-width: 0; }
.of-actions { display: flex; justify-content: flex-end; gap: .75rem; margin-top: 1.75rem; }
.of-feedback { margin-top: 1rem; }
.of-feedback .rz-alert { border-radius: var(--of-control-radius); margin: 0; font-size: .9rem; }
.of-ui .rz-message.rz-messages-error { position: static; display: block; font-size: .8rem; margin-top: .4rem; }
.language-form { margin-top: 1rem; display: grid; gap: .45rem; }
.language-controls { display: flex; gap: .5rem; }
.language-controls select { flex: 1; min-width: 0; padding: .5rem; max-width: 100%; }
.language-controls button { font-size: .75rem; }
.language-form small { color: var(--of-muted); line-height: 1.5; }
@media(max-width:600px) {
    .of-form-grid, .of-summary-grid { grid-template-columns: minmax(0,1fr); }
    .of-dialog .rz-dialog-titlebar { padding: 1rem; }
    .of-dialog .rz-dialog-content { padding: 1rem; }
    .of-actions { position: sticky; bottom: -1rem; background: #fff; padding: .75rem 0; margin-bottom: -.75rem; }
    .of-actions .rz-button { flex: 1; }
    .of-draft-summary header { flex-wrap: wrap; }
    .of-culture { text-align: left; }
    .language-controls { flex-wrap: wrap; }
}
@media(prefers-reduced-motion:reduce) { .of-ui *, .of-dialog { animation: none !important; transition: none !important; } }
