@charset "UTF-8";:root{--font-family-base: "Inter", system-ui, Arial, sans-serif;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 6px 16px rgba(0, 0, 0, .1);--transition-fast: .2s ease;--transition-normal: .3s ease;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-danger: #dc2626;--color-success: #16a34a;--color-bg-surface: #ffffff;--color-bg-muted: #f3f4f6;--color-text-primary: #111827;--color-text-secondary: #6b7280;--color-border: #e5e7eb;--color-border-hover: #cbd5e1;--card-bg: var(--color-bg-surface);--card-border: var(--color-border);--card-radius: var(--radius-md);--card-shadow: var(--shadow-sm);--btn-height-sm: 32px;--btn-height-md: 36px;--btn-height-lg: 42px;--btn-padding-x-sm: 12px;--btn-padding-x-md: 16px;--btn-padding-x-lg: 20px;--btn-bg-primary: var(--color-primary);--btn-bg-primary-hover: var(--color-primary-hover);--btn-bg-outline-hover: rgba(0, 0, 0, .04);--btn-text-primary: #ffffff;--btn-text-default: var(--color-text-primary);--btn-warning-bg: #f59e0b;--btn-warning-hover: #d97706;--btn-warning-text: #ffffff;--btn-success-bg: #16a34a;--btn-success-hover: #15803d;--btn-success-text: #ffffff;--btn-secondary-bg: #e5e7eb;--btn-secondary-hover: #d1d5db;--btn-secondary-text: #111827;--btn-focus-ring: 0 0 0 3px rgba(37, 99, 235, .3);--checkbox-size-sm: 16px;--checkbox-size-md: 20px;--checkbox-radius: 4px;--checkbox-bg: var(--color-bg-surface);--checkbox-border: var(--color-border);--checkbox-checked-bg: var(--color-primary);--checkbox-check-color: #ffffff;--radio-size: 14px;--radio-dot-size: 6px;--form-bg: var(--color-bg-surface);--form-border: var(--color-border);--form-radius: var(--radius-md);--form-text: var(--color-text-primary);--form-text-muted: var(--color-text-secondary);--form-input-bg: var(--color-bg-surface);--form-input-disabled-bg: var(--color-bg-muted);--form-error: var(--color-danger);--input-bg: var(--color-bg-surface);--input-border: var(--color-border);--input-border-hover: var(--color-border-hover);--input-border-focus: var(--color-primary);--input-text: var(--color-text-primary);--input-placeholder: var(--color-text-secondary);--input-radius: var(--radius-sm);--picker-bg: var(--color-bg-surface);--picker-border: var(--color-border);--picker-shadow: var(--shadow-md);--picker-text: var(--color-text-primary);--picker-muted-text: var(--color-text-secondary);--picker-radius: var(--radius-sm);--picker-hover-bg-light: rgba(0, 0, 0, .05);--picker-hover-bg-dark: rgba(255, 255, 255, .08);--dropdown-bg: var(--color-bg-surface);--dropdown-border: var(--color-border);--dropdown-shadow: var(--shadow-md);--dropdown-text: var(--color-text-primary);--dropdown-hover-bg: rgba(0, 0, 0, .05);--dropdown-active-bg: rgba(37, 99, 235, .08);--dropdown-radius: var(--radius-sm);--table-bg: var(--color-bg-surface);--table-border: var(--color-border);--table-text: var(--color-text-primary);--table-row-hover-bg: rgba(0, 0, 0, .04);--modal-bg: var(--color-bg-surface);--modal-border: var(--color-border);--modal-shadow: var(--shadow-md);--modal-overlay-bg-light: rgba(0, 0, 0, .4);--modal-overlay-bg-dark: rgba(0, 0, 0, .6);--modal-radius: var(--radius-md);--loader-size-sm: 24px;--loader-size-md: 40px;--loader-size-lg: 56px;--loader-thickness-sm: 3px;--loader-thickness-md: 4px;--loader-thickness-lg: 5px;--loader-color: var(--color-primary);--loader-track-color: var(--color-border);--loader-overlay-bg: rgba(255, 255, 255, .6);--loader-overlay-bg-dark: rgba(0, 0, 0, .6);--skeleton-bg: var(--color-bg-muted);--skeleton-highlight-light: rgba(255, 255, 255, .6);--skeleton-highlight-dark: rgba(255, 255, 255, .12);--skeleton-radius-sm: var(--radius-sm);--skeleton-radius-md: var(--radius-md);--skeleton-animation-duration: 1.2s;--toast-success: var(--color-success);--toast-error: var(--color-danger);--pdf-border: var(--color-border);--pdf-radius: var(--radius-sm);--pdf-bg: var(--color-bg-surface);--z-dropdown: 20;--z-sticky: 100;--z-modal: 1000;--z-loader: 9999;--toast-bg: var(--color-bg-surface);--toast-border: var(--color-border);--toast-shadow: var(--shadow-md);--toast-text: var(--color-text-primary);--toast-success-bg: #dcfce7;--toast-success-text: #166534;--toast-error-bg: #fee2e2;--toast-error-text: #991b1b;--toast-warning-bg: #fef3c7;--toast-warning-text: #92400e;--toast-radius: var(--radius-md);--toggle-width: 44px;--toggle-height: 24px;--toggle-thumb-size: 18px;--toggle-bg-off: var(--color-border);--toggle-bg-on: var(--color-primary);--toggle-thumb-bg: #ffffff;--timepicker-bg: var(--picker-bg);--timepicker-border: var(--picker-border);--timepicker-shadow: var(--picker-shadow);--timepicker-text: var(--picker-text);--timepicker-muted-text: var(--picker-muted-text);--timepicker-radius: var(--picker-radius);--timepicker-hover-bg: var(--picker-hover-bg-light)}.card{background:var(--color-bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);box-sizing:border-box;display:flex;flex-direction:column;padding:var(--space-4);gap:var(--space-3);color:var(--color-text-primary);width:100%}@media(max-width:640px){.card{padding:var(--space-3);gap:var(--space-2)}}.card__header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border);padding-bottom:var(--space-2)}.card__header:hover{border-color:var(--color-border-hover)}.card__body{font-size:var(--font-size-md);color:var(--color-text-secondary);line-height:1.5}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-family-base);font-size:var(--font-size-sm);height:var(--btn-height-md);padding:0 var(--btn-padding-x-md);border-radius:var(--radius-sm);border:none;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.btn--primary{background:var(--btn-bg-primary);color:var(--btn-text-primary)}.btn--primary:hover{background:var(--btn-bg-primary-hover)}.btn--warning{background:var(--btn-warning-bg);color:var(--btn-warning-text)}.btn--warning:hover{background:var(--btn-warning-hover)}.btn--success{background:var(--btn-success-bg);color:var(--btn-success-text)}.btn--success:hover{background:var(--btn-success-hover)}.btn--secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-text)}.btn--secondary:hover{background:var(--btn-secondary-hover)}.checkbox{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox--disabled{opacity:.5;cursor:not-allowed}.checkbox__input{display:none}.checkbox__box{display:inline-flex;align-items:center;justify-content:center;background:var(--checkbox-bg);border:1px solid var(--checkbox-border);border-radius:var(--checkbox-radius);transition:background var(--transition-fast),border var(--transition-fast)}.checkbox--sm .checkbox__box{width:var(--checkbox-size-sm);height:var(--checkbox-size-sm)}.checkbox--md .checkbox__box{width:var(--checkbox-size-md);height:var(--checkbox-size-md)}.checkbox--checked .checkbox__box{background:var(--checkbox-checked-bg);border-color:var(--checkbox-checked-border)}.checkbox__icon{width:12px;height:12px;color:var(--checkbox-check-color)}.checkbox__label{font-size:var(--font-size-sm);color:var(--checkbox-label-color)}.datepicker{position:relative;display:inline-block}.datepicker__trigger{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--picker-text);padding:var(--space-2) var(--space-3);background:var(--picker-bg);border:1px solid var(--picker-border);border-radius:var(--picker-radius);cursor:pointer;transition:background var(--transition-fast)}.datepicker__trigger:hover{background:var(--picker-hover-bg)}.datepicker__popup{position:absolute;top:100%;left:0;margin-top:var(--space-2);width:260px;background:var(--picker-bg);border:1px solid var(--picker-border);border-radius:var(--picker-radius);box-shadow:var(--picker-shadow);padding:var(--space-3);z-index:50}.datepicker__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.datepicker__nav{cursor:pointer;font-size:16px;-webkit-user-select:none;user-select:none;color:var(--picker-text)}.datepicker__weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:11px;color:var(--picker-muted-text);margin-bottom:var(--space-1)}.datepicker__days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.datepicker__day{height:28px;border-radius:var(--radius-sm);font-size:12px;cursor:pointer;background:transparent;border:none;color:var(--picker-text);transition:background var(--transition-fast),color var(--transition-fast)}.datepicker__day:hover{background:var(--picker-hover-bg)}.datepicker__day--selected{background:var(--color-primary);color:#fff}.datepicker__footer{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3)}.datepicker__btn{font-size:11px;padding:4px 8px;border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--picker-border);background:transparent;color:var(--picker-text)}.datepicker__btn:hover{background:var(--picker-hover-bg)}.datepicker__btn--primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.datepicker__btn--primary:hover{background:var(--color-primary-hover)}.dropdown{position:relative;display:inline-block}.dropdown__trigger{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--dropdown-bg);border:1px solid var(--dropdown-border);border-radius:var(--dropdown-radius);color:var(--dropdown-text);cursor:pointer;transition:background var(--transition-fast),border var(--transition-fast)}.dropdown__trigger:hover{background:var(--dropdown-hover-bg)}.dropdown__trigger:focus-visible{outline:none;box-shadow:0 0 0 2px #2563eb4d}.dropdown--sm .dropdown__trigger{font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3)}.dropdown--md .dropdown__trigger{font-size:var(--font-size-md);padding:var(--space-3) var(--space-4)}.dropdown__label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dropdown__icon{margin-left:var(--space-2);transition:transform var(--transition-fast)}.dropdown--open .dropdown__icon{transform:rotate(180deg)}.dropdown__menu{position:absolute;top:100%;left:0;width:100%;margin-top:4px;background:var(--dropdown-bg);border:1px solid var(--dropdown-border);border-radius:var(--dropdown-radius);box-shadow:var(--dropdown-shadow);z-index:20;overflow:hidden}.dropdown__item{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);cursor:pointer;color:var(--dropdown-text);transition:background var(--transition-fast),color var(--transition-fast)}.dropdown__item:hover{background:var(--dropdown-active-bg);color:var(--color-primary)}.dropdown__item:not(:last-child){border-bottom:1px solid var(--dropdown-border)}.form{max-width:420px;margin:0 auto;background:var(--form-bg);border:1px solid var(--form-border);border-radius:var(--form-radius);padding:var(--space-5);box-shadow:var(--shadow-sm)}.form__title{font-size:var(--font-size-md);font-weight:600;margin-bottom:var(--space-4);color:var(--form-text)}.form-field{display:flex;flex-direction:column;gap:4px}.form-label{font-size:11px;font-weight:500;color:var(--form-text-muted)}.form-input,.form-textarea{border:1px solid var(--form-border);border-radius:var(--radius-sm);padding:6px 8px;font-size:var(--font-size-sm);background:var(--form-input-bg);color:var(--form-text);outline:none;transition:border var(--transition-fast)}.form-input:focus,.form-textarea:focus{border-color:var(--color-primary)}.form-input:disabled,.form-textarea:disabled{background:var(--form-input-disabled-bg);cursor:not-allowed}.form-error{font-size:11px;color:var(--form-error)}.form-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.form-stack{display:flex;flex-direction:column;gap:var(--space-3)}.radio{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.radio__outer{width:14px;height:14px;border-radius:50%;border:1px solid var(--form-border);display:flex;align-items:center;justify-content:center}.toggle{width:48px;height:24px;border-radius:999px;background:var(--form-border);position:relative;transition:background var(--transition-fast)}.toggle--on{background:var(--color-primary)}.toggle__thumb{width:20px;height:20px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform var(--transition-fast)}.toggle--on .toggle__thumb{transform:translate(24px)}.form-actions{display:flex;justify-content:center;gap:var(--space-2);margin-top:var(--space-5)}.loader{position:relative;display:inline-block}.loader__track,.loader__spinner{position:absolute;inset:0;border-radius:50%;border-style:solid}.loader__track{border-color:var(--loader-track-color)}.loader__spinner{border-color:var(--loader-color) transparent transparent transparent;animation:loader-spin 1s linear infinite}.loader--sm{width:var(--loader-size-sm);height:var(--loader-size-sm)}.loader--md{width:var(--loader-size-md);height:var(--loader-size-md)}.loader--lg{width:var(--loader-size-lg);height:var(--loader-size-lg)}.loader--sm .loader__track,.loader--sm .loader__spinner{border-width:var(--loader-thickness-sm)}.loader--md .loader__track,.loader--md .loader__spinner{border-width:var(--loader-thickness-md)}.loader--lg .loader__track,.loader--lg .loader__spinner{border-width:var(--loader-thickness-lg)}.loader-overlay{position:fixed;inset:0;background:var(--loader-overlay-bg);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:99999}[data-theme=dark] .loader-overlay{background:var(--loader-overlay-bg-dark)}@keyframes loader-spin{to{transform:rotate(360deg)}}.modal-overlay{position:fixed;inset:0;background:var(--modal-overlay-bg);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.modal{background:var(--modal-bg);border-radius:var(--modal-radius);box-shadow:var(--modal-shadow);padding:var(--space-4);min-width:280px}.modal__title{font-size:var(--font-size-md);margin-bottom:var(--space-2)}.modal__text{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.modal__actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4)}.radio{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--font-size-sm)}.radio__outer{width:14px;height:14px;border-radius:50%;border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center}.radio__inner{width:6px;height:6px;border-radius:50%;background:var(--color-primary)}.table-wrapper{width:100%;overflow-x:auto;background:var(--table-bg);border:1px solid var(--table-border);border-radius:var(--radius-md)}.table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.table__head{background:var(--color-primary-dark, #0f172a);color:#fff;position:sticky;top:0;z-index:var(--z-sticky)}.table__head th{padding:var(--space-3) var(--space-4);text-align:left;font-weight:var(--font-weight-medium);letter-spacing:.04em;white-space:nowrap}.table__body td{padding:var(--space-3) var(--space-4);color:var(--table-text);vertical-align:middle}.table__body tr{border-bottom:1px solid var(--table-border)}.table__body tr:last-child{border-bottom:none}.table__body tr:hover{background:var(--table-row-hover-bg)}.table__row--clickable{cursor:pointer}.table__actions-head,.table__actions-cell{text-align:right;white-space:nowrap}.table td:empty:after{content:"-";color:var(--color-text-muted)}.toast{min-width:260px;max-width:360px;padding:var(--space-3) var(--space-4);border-radius:var(--toast-radius);box-shadow:var(--toast-shadow);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--toast-text)}.toast--success{background:var(--toast-success-bg);color:var(--toast-success-text)}.toast--error{background:var(--toast-error-bg);color:var(--toast-error-text)}.toast--warning{background:var(--toast-warning-bg);color:var(--toast-warning-text)}.toast__close{background:none;border:none;cursor:pointer;font-size:14px;color:inherit}.toggle{width:var(--toggle-width);height:var(--toggle-height);background:var(--toggle-bg-off);border-radius:999px;position:relative;cursor:pointer;transition:background var(--transition-fast)}.toggle--on{background:var(--toggle-bg-on)}.toggle__thumb{width:var(--toggle-thumb-size);height:var(--toggle-thumb-size);background:var(--toggle-thumb-bg);border-radius:50%;position:absolute;top:3px;left:3px;transition:transform var(--transition-fast)}.toggle--on .toggle__thumb{transform:translate(20px)}body{font-family:var(--font-family-base);font-size:var(--font-size-md);background:var(--color-bg-page);color:var(--color-text-primary)}input,textarea,select{font-family:inherit;font-size:var(--font-size-md);color:var(--color-text-primary);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary)}[data-theme=light]{--color-bg-page: #f9fbfc;--color-bg-surface: #ffffff;--color-text-primary: #111827;--color-text-secondary: #6b7280;--color-border: #e5e7eb;--color-primary: #2563eb;--color-primary-hover: #1d4ed8}[data-theme=dark]{--color-bg-page: #020617;--color-bg-surface: #0f172a;--color-text-primary: #e5e7eb;--color-text-secondary: #94a3b8;--color-border: #334155;--color-primary: #3b82f6;--color-primary-hover: #60a5fa}
