/* Compressed on 2026-04-07 22:51:09 */
.form-group{ margin-bottom:var(--spacing-base)} .form-group label{ display:block; margin-bottom:var(--spacing-xs); font-weight:var(--font-weight-medium); color:var(--color-text); font-size:var(--font-size-sm)} .form-group label.required::after{ content:'*'; color:var(--color-danger); margin-left:4px} .form-control{ width:100%; padding:10px 14px; font-size:var(--font-size-base); font-family:var(--font-family); border:1px solid var(--color-border); border-radius:var(--radius-md); background:var(--color-bg-white); color:var(--color-text); transition:all var(--transition-base)} .form-control:focus{ outline:none; border-color:var(--color-primary); box-shadow:0 0 0 3px var(--color-primary-bg)} .form-control:disabled{ background:var(--color-bg-light); cursor:not-allowed; color:var(--color-text-muted)} .form-control::placeholder{ color:var(--color-text-muted)} .form-control:hover:not(:disabled):not(:focus){ border-color:var(--color-primary-light)} .form-control-sm{ padding:6px 10px; font-size:var(--font-size-sm)} .form-control-lg{ padding:14px 18px; font-size:var(--font-size-md)} textarea.form-control{ min-height:100px; resize:vertical} select.form-control{ appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ff6b35' d='M6 8L1 3h10z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; padding-right:36px; cursor:pointer} .form-check{ display:flex; align-items:center; gap:var(--spacing-sm); margin-bottom:var(--spacing-sm); cursor:pointer} .form-check-input{ width:18px; height:18px; cursor:pointer; accent-color:var(--color-primary)} .form-check-label{ cursor:pointer; font-size:var(--font-size-base); color:var(--color-text); user-select:none} .checkbox-custom{ display:flex; align-items:center; gap:var(--spacing-sm); cursor:pointer} .checkbox-custom input{ display:none} .checkbox-custom .checkmark{ width:20px; height:20px; border:2px solid var(--color-border); border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:center; transition:all var(--transition-base)} .checkbox-custom input:checked + .checkmark{ background:var(--gradient-primary); border-color:var(--color-primary)} .checkbox-custom input:checked + .checkmark::after{ content:'✓'; color:var(--color-text-white); font-size:12px; font-weight:bold} .input-group{ display:flex; align-items:stretch} .input-group .form-control{ flex:1; border-radius:0} .input-group .form-control:first-child{ border-radius:var(--radius-md) 0 0 var(--radius-md)} .input-group .form-control:last-child{ border-radius:0 var(--radius-md) var(--radius-md) 0} .input-group-addon{ display:flex; align-items:center; padding:0 var(--spacing-md); background:var(--color-bg-light); border:1px solid var(--color-border); color:var(--color-text-muted); font-size:var(--font-size-sm)} .input-group-addon:first-child{ border-right:none; border-radius:var(--radius-md) 0 0 var(--radius-md)} .input-group-addon:last-child{ border-left:none; border-radius:0 var(--radius-md) var(--radius-md) 0} .form-row{ display:flex; gap:var(--spacing-md); margin-bottom:var(--spacing-base)} .form-row .form-group{ flex:1; margin-bottom:0} .form-inline{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--spacing-md)} .form-inline .form-group{ margin-bottom:0} .is-valid .form-control{ border-color:var(--color-success)} .is-valid .form-control:focus{ box-shadow:0 0 0 3px var(--color-success-bg)} .is-valid .form-control-icon{ color:var(--color-success)} .is-invalid .form-control{ border-color:var(--color-danger)} .is-invalid .form-control:focus{ box-shadow:0 0 0 3px var(--color-danger-bg)} .form-error{ color:var(--color-danger); font-size:var(--font-size-sm); margin-top:var(--spacing-xs); display:flex; align-items:center; gap:var(--spacing-xs)} .form-hint{ color:var(--color-text-muted); font-size:var(--font-size-sm); margin-top:var(--spacing-xs)} .search-input{ position:relative} .search-input .form-control{ padding-left:40px; border-radius:var(--radius-full)} .search-input .search-icon{ position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--color-text-muted)} .search-input .form-control:focus + .search-icon,.search-input .form-control:focus ~ .search-icon{ color:var(--color-primary)} .file-upload{ position:relative; display:inline-block} .file-upload input[type="file"]{ position:absolute; opacity:0; width:100%; height:100%; cursor:pointer} .file-upload-area{ border:2px dashed var(--color-border); border-radius:var(--radius-lg); padding:var(--spacing-xl); text-align:center; transition:all var(--transition-base); cursor:pointer} .file-upload-area:hover{ border-color:var(--color-primary); background:var(--color-primary-bg)} .file-upload-area.dragover{ border-color:var(--color-primary); background:var(--color-primary-bg)} .file-upload-icon{ font-size:48px; color:var(--color-primary-light); margin-bottom:var(--spacing-base)} .file-upload-text{ color:var(--color-text-muted); font-size:var(--font-size-sm)} .file-upload-text span{ color:var(--color-primary); font-weight:var(--font-weight-medium)} .switch{ position:relative; display:inline-block; width:44px; height:24px} .switch input{ opacity:0; width:0; height:0} .switch-slider{ position:absolute; cursor:pointer; top:0; left:0; right:0; bottom:0; background:var(--gray-300); border-radius:var(--radius-full); transition:var(--transition-base)} .switch-slider::before{ position:absolute; content:''; height:18px; width:18px; left:3px; bottom:3px; background:white; border-radius:50%; transition:var(--transition-base); box-shadow:var(--shadow-sm)} .switch input:checked + .switch-slider{ background:var(--gradient-primary)} .switch input:checked + .switch-slider::before{ transform:translateX(20px)} .range-slider{ width:100%; height:6px; border-radius:var(--radius-full); background:var(--gray-200); outline:none; appearance:none} .range-slider::-webkit-slider-thumb{ appearance:none; width:18px; height:18px; border-radius:50%; background:var(--gradient-primary); cursor:pointer; box-shadow:var(--shadow-primary); transition:transform var(--transition-base)} .range-slider::-webkit-slider-thumb:hover{ transform:scale(1.1)} .input-icon{ position:relative} .input-icon .form-control{ padding-left:40px} .input-icon .icon{ position:absolute; left:12px; top:50%; transform:translateY(-50%); color:var(--color-text-muted)} .input-icon .form-control:focus ~ .icon{ color:var(--color-primary)} .input-icon-right .form-control{ padding-left:14px; padding-right:40px} .input-icon-right .icon{ left:auto; right:12px} .tag-input{ display:flex; flex-wrap:wrap; gap:var(--spacing-sm); padding:var(--spacing-sm); border:1px solid var(--color-border); border-radius:var(--radius-md); background:var(--color-bg-white)} .tag-input:focus-within{ border-color:var(--color-primary); box-shadow:0 0 0 3px var(--color-primary-bg)} .tag-input .tag{ display:inline-flex; align-items:center; gap:var(--spacing-xs); padding:var(--spacing-xs) var(--spacing-sm); background:var(--color-primary-bg); color:var(--color-primary); border-radius:var(--radius-full); font-size:var(--font-size-sm)} .tag-input .tag-remove{ cursor:pointer; opacity:0.7} .tag-input .tag-remove:hover{ opacity:1} .tag-input input{ flex:1; min-width:100px; border:none; outline:none; padding:var(--spacing-xs)} input[type="date"],input[type="time"],input[type="datetime-local"]{ cursor:pointer} input[type="date"]::-webkit-calendar-picker-indicator,input[type="time"]::-webkit-calendar-picker-indicator,input[type="datetime-local"]::-webkit-calendar-picker-indicator{ cursor:pointer; opacity:0.6; transition:opacity var(--transition-base)} input[type="date"]::-webkit-calendar-picker-indicator:hover,input[type="time"]::-webkit-calendar-picker-indicator:hover,input[type="datetime-local"]::-webkit-calendar-picker-indicator:hover{ opacity:1} input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{ opacity:1}