/* DWDS 2.0 – Forms & Dialog Framework */
.dw-form-shell{display:grid;gap:var(--dw-space-6);background:var(--dw-color-surface);border:1px solid var(--dw-color-border);border-radius:var(--dw-radius-lg);box-shadow:var(--dw-shadow-sm);overflow:hidden}.dw-form-shell__header,.dw-form-shell__footer{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--dw-space-4);padding:var(--dw-space-6);background:var(--dw-color-surface-subtle)}.dw-form-shell__header{border-bottom:1px solid var(--dw-color-border)}.dw-form-shell__footer{border-top:1px solid var(--dw-color-border)}.dw-form-shell__body{display:grid;gap:var(--dw-space-6);padding:0 var(--dw-space-6) var(--dw-space-6)}.dw-form-shell__title{margin:0;font-size:var(--dw-font-size-xl);font-weight:var(--dw-font-weight-semibold)}.dw-form-shell__eyebrow{margin-bottom:var(--dw-space-1);font-size:var(--dw-font-size-xs);font-weight:var(--dw-font-weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--dw-color-primary)}.dw-form-shell__description,.dw-form-section__description{margin:var(--dw-space-1) 0 0;color:var(--dw-color-text-muted)}.dw-form-shell--compact{gap:var(--dw-space-4)}.dw-form-shell--compact .dw-form-shell__header,.dw-form-shell--compact .dw-form-shell__footer{padding:var(--dw-space-4)}.dw-form-shell--compact .dw-form-shell__body{gap:var(--dw-space-4);padding:0 var(--dw-space-4) var(--dw-space-4)}
.dw-form-section{display:grid;gap:var(--dw-space-4);padding:var(--dw-space-5);border:1px solid var(--dw-color-border);border-radius:var(--dw-radius-md);background:var(--dw-color-surface)}.dw-form-section--subtle{background:var(--dw-color-surface-subtle)}.dw-form-section__header{display:flex;justify-content:space-between;gap:var(--dw-space-4);padding-bottom:var(--dw-space-3);border-bottom:1px solid var(--dw-color-border)}.dw-form-section__title{margin:0;font-size:var(--dw-font-size-lg);font-weight:var(--dw-font-weight-semibold)}.dw-form-section__content{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:var(--dw-space-4) var(--dw-space-5)}.dw-form-section--columns-2 .dw-form-section__content{grid-template-columns:repeat(2,minmax(0,1fr))}.dw-form-section--columns-3 .dw-form-section__content{grid-template-columns:repeat(3,minmax(0,1fr))}
.dw-field{display:grid;align-content:start;gap:var(--dw-space-2);min-width:0}.dw-field--full{grid-column:1/-1}.dw-field__label{font-size:var(--dw-font-size-sm);font-weight:var(--dw-font-weight-semibold);color:var(--dw-color-text)}.dw-field__required{color:var(--dw-color-danger);margin-left:2px}.dw-field__help{font-size:var(--dw-font-size-xs);color:var(--dw-color-text-muted)}.dw-field__control :is(input:not([type=checkbox]):not([type=radio]),select,textarea),.dw-input{width:100%;min-height:40px;padding:var(--dw-space-2) var(--dw-space-3);color:var(--dw-color-text);background:var(--dw-color-surface);border:1px solid var(--dw-color-border-strong);border-radius:var(--dw-radius-sm);transition:border-color var(--dw-duration-fast) var(--dw-easing-standard),box-shadow var(--dw-duration-fast) var(--dw-easing-standard)}.dw-field__control textarea{min-height:112px;resize:vertical}.dw-field__control :is(input,select,textarea):focus,.dw-input:focus{outline:none;border-color:var(--dw-color-primary);box-shadow:0 0 0 3px var(--dw-color-focus-ring)}.dw-field__control :is(input,select,textarea):disabled{cursor:not-allowed;opacity:.65;background:var(--dw-color-surface-subtle)}.dw-field__validation,.validation-message{font-size:var(--dw-font-size-xs);color:var(--dw-color-danger)}.invalid{border-color:var(--dw-color-danger)!important}.valid.modified:not([type=checkbox]){border-color:var(--dw-color-success)!important}
.dw-form-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--dw-space-3);padding-top:var(--dw-space-4);border-top:1px solid var(--dw-color-border)}.dw-form-actions__secondary,.dw-form-actions__primary{display:flex;align-items:center;gap:var(--dw-space-2);flex-wrap:wrap}.dw-form-actions--sticky{position:sticky;bottom:0;z-index:var(--dw-z-sticky);padding:var(--dw-space-4);margin:0 calc(var(--dw-space-6) * -1) calc(var(--dw-space-6) * -1);background:color-mix(in srgb,var(--dw-color-surface) 94%,transparent);backdrop-filter:blur(10px)}
.dw-info-panel{display:grid;grid-template-columns:auto 1fr;gap:var(--dw-space-3);padding:var(--dw-space-4);border:1px solid var(--dw-color-info-border,var(--dw-color-border));border-radius:var(--dw-radius-md);background:var(--dw-color-info-soft,var(--dw-color-surface-subtle));color:var(--dw-color-text)}.dw-info-panel>i{margin-top:2px;color:var(--dw-color-info,var(--dw-color-primary))}.dw-info-panel--success{--dw-color-info:var(--dw-color-success);--dw-color-info-soft:var(--dw-color-success-soft)}.dw-info-panel--warning{--dw-color-info:var(--dw-color-warning);--dw-color-info-soft:var(--dw-color-warning-soft)}.dw-info-panel--danger{--dw-color-info:var(--dw-color-danger);--dw-color-info-soft:var(--dw-color-danger-soft)}.dw-info-panel__title{display:block;margin-bottom:var(--dw-space-1)}
.dw-wizard{display:grid;gap:var(--dw-space-5)}.dw-wizard__steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--dw-space-2)}.dw-wizard__step{display:flex;align-items:flex-start;gap:var(--dw-space-3);padding:var(--dw-space-3);text-align:left;color:var(--dw-color-text-muted);background:transparent;border:1px solid var(--dw-color-border);border-radius:var(--dw-radius-md)}.dw-wizard__step:enabled{cursor:pointer}.dw-wizard__step--current{color:var(--dw-color-text);border-color:var(--dw-color-primary);background:var(--dw-color-primary-soft)}.dw-wizard__step--complete{color:var(--dw-color-success);border-color:color-mix(in srgb,var(--dw-color-success) 35%,var(--dw-color-border))}.dw-wizard__step-number{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:999px;background:var(--dw-color-surface-subtle);font-weight:var(--dw-font-weight-semibold)}.dw-wizard__step--current .dw-wizard__step-number{color:var(--dw-color-on-primary);background:var(--dw-color-primary)}.dw-wizard__step strong,.dw-wizard__step small{display:block}.dw-wizard__step small{margin-top:2px;font-size:var(--dw-font-size-xs);font-weight:400}.dw-wizard__content{min-width:0}.dw-wizard__footer{display:flex;justify-content:flex-end;gap:var(--dw-space-2);padding-top:var(--dw-space-4);border-top:1px solid var(--dw-color-border)}
.dw-dialog-layer,.dw-side-panel-layer{position:fixed;inset:0;z-index:var(--dw-z-modal);display:grid;place-items:center;padding:var(--dw-space-4)}.dw-dialog-backdrop,.dw-side-panel-backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(15,23,42,.58);backdrop-filter:blur(3px)}.dw-dialog{position:relative;z-index:1;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(100%,640px);max-height:min(90vh,900px);overflow:hidden;color:var(--dw-color-text);background:var(--dw-color-surface);border:1px solid var(--dw-color-border);border-radius:var(--dw-radius-xl);box-shadow:var(--dw-shadow-xl);animation:dw-dialog-enter var(--dw-duration-normal) var(--dw-easing-emphasized)}.dw-dialog--sm{width:min(100%,460px)}.dw-dialog--lg{width:min(100%,880px)}.dw-dialog--xl{width:min(100%,1120px)}.dw-dialog--fullscreen{width:calc(100vw - var(--dw-space-6));height:calc(100vh - var(--dw-space-6));max-height:none}.dw-dialog__header,.dw-dialog__footer,.dw-side-panel__header,.dw-side-panel__footer{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--dw-space-4);padding:var(--dw-space-5)}.dw-dialog__header,.dw-side-panel__header{border-bottom:1px solid var(--dw-color-border)}.dw-dialog__footer,.dw-side-panel__footer{align-items:center;justify-content:flex-end;border-top:1px solid var(--dw-color-border);background:var(--dw-color-surface-subtle)}.dw-dialog__heading{display:flex;gap:var(--dw-space-3)}.dw-dialog__heading h2,.dw-side-panel__header h2{margin:0;font-size:var(--dw-font-size-xl)}.dw-dialog__heading p,.dw-side-panel__header p{margin:var(--dw-space-1) 0 0;color:var(--dw-color-text-muted)}.dw-dialog__icon{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:999px;color:var(--dw-color-primary);background:var(--dw-color-primary-soft)}.dw-dialog--warning .dw-dialog__icon{color:var(--dw-color-warning);background:var(--dw-color-warning-soft)}.dw-dialog--danger .dw-dialog__icon{color:var(--dw-color-danger);background:var(--dw-color-danger-soft)}.dw-dialog__close{display:grid;place-items:center;flex:0 0 36px;height:36px;padding:0;color:var(--dw-color-text-muted);background:transparent;border:0;border-radius:var(--dw-radius-sm)}.dw-dialog__close:hover{color:var(--dw-color-text);background:var(--dw-color-surface-hover)}.dw-dialog__body{min-height:0;overflow:auto;padding:var(--dw-space-5)}
.dw-side-panel-layer{display:block;padding:0}.dw-side-panel{position:absolute;z-index:1;top:0;bottom:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(100%,480px);color:var(--dw-color-text);background:var(--dw-color-surface);box-shadow:var(--dw-shadow-xl);animation:dw-panel-right-enter var(--dw-duration-normal) var(--dw-easing-emphasized)}.dw-side-panel--right{right:0;border-left:1px solid var(--dw-color-border)}.dw-side-panel--left{left:0;border-right:1px solid var(--dw-color-border);animation-name:dw-panel-left-enter}.dw-side-panel--sm{width:min(100%,360px)}.dw-side-panel--lg{width:min(100%,720px)}.dw-side-panel--xl{width:min(100%,960px)}.dw-side-panel__body{min-height:0;overflow:auto;padding:var(--dw-space-5)}
@keyframes dw-dialog-enter{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}@keyframes dw-panel-right-enter{from{transform:translateX(100%)}to{transform:none}}@keyframes dw-panel-left-enter{from{transform:translateX(-100%)}to{transform:none}}
@media(max-width:767px){.dw-form-section--columns-2 .dw-form-section__content,.dw-form-section--columns-3 .dw-form-section__content{grid-template-columns:1fr}.dw-form-shell__header,.dw-form-shell__footer,.dw-form-actions{align-items:stretch;flex-direction:column}.dw-form-actions__primary{justify-content:stretch}.dw-form-actions__primary>*{flex:1}.dw-dialog-layer{padding:var(--dw-space-2)}.dw-dialog{max-height:calc(100vh - var(--dw-space-4));border-radius:var(--dw-radius-lg)}.dw-dialog__header,.dw-dialog__body,.dw-dialog__footer,.dw-side-panel__header,.dw-side-panel__body,.dw-side-panel__footer{padding:var(--dw-space-4)}.dw-wizard__steps{grid-template-columns:1fr}.dw-wizard__step--upcoming{display:none}}
@media(prefers-reduced-motion:reduce){.dw-dialog,.dw-side-panel{animation:none}}
