.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:32px;padding:0 12px;font-family:inherit;font-size:var(--fs-sm);font-weight:var(--fw-medium);line-height:1;border-radius:var(--radius-md);border:1px solid var(--c-border);background:var(--c-bg);color:var(--c-text);cursor:pointer;white-space:nowrap;user-select:none;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.btn:hover{background:var(--c-panel);border-color:var(--c-border-strong)}.btn:focus-visible{box-shadow:var(--c-focus-ring)}.btn:disabled,.btn.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn i{font-size:var(--fs-sm)}.btn_primary{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-primary-text)}.btn_primary:hover{background:var(--c-primary-hover);border-color:var(--c-primary-hover)}.btn_danger{background:var(--c-danger);border-color:var(--c-danger);color:#fff}.btn_danger:hover{background:var(--c-danger-hover);border-color:var(--c-danger-hover)}.btn_ghost{background:transparent;border-color:transparent;color:var(--c-muted)}.btn_ghost:hover{background:var(--c-hover);color:var(--c-text)}.btn_xs{height:24px;padding:0 6px;font-size:10px}.btn_sm{height:28px;padding:0 8px;font-size:var(--fs-xs)}.btn_lg{height:40px;padding:0 16px;font-size:var(--fs-md)}.btn_icon{width:32px;padding:0}.btn_icon.btn_xs{width:24px}.btn_icon.btn_sm{width:28px}.btn_group{display:inline-flex}.btn_group .btn{border-radius:0}.btn_group .btn:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.btn_group .btn:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.btn_group .btn+.btn{margin-left:-1px}.field{display:flex;flex-direction:column;gap:var(--sp-1)}.field+.field{margin-top:var(--sp-3)}.field_label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--c-text)}.field_label .field_required{color:var(--c-danger);margin-left:2px}.field_input,input[type=text].field_input,input[type=email].field_input,input[type=password].field_input,input[type=number].field_input,input[type=tel].field_input,input[type=url].field_input,input[type=search].field_input,select.field_input,textarea.field_input{display:block;width:100%;height:32px;padding:0 var(--sp-3);font-family:inherit;font-size:var(--fs-md);line-height:var(--lh-normal);color:var(--c-text);background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-md);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}textarea.field_input{height:auto;min-height:64px;padding:var(--sp-2) var(--sp-3);resize:vertical}select.field_input{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='%23656d76' d='M6 8.5L1 3.5h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:28px}html.dark select.field_input{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='%238b949e' d='M6 8.5L1 3.5h10z'/%3E%3C/svg%3E")}.field_input:focus,input.field_input:focus,select.field_input:focus,textarea.field_input:focus{border-color:var(--c-primary);box-shadow:var(--c-focus-ring)}.field_input::placeholder{color:var(--c-muted)}.field_password_wrap{position:relative;width:100%}.field_password_wrap .field_input{padding-right:36px}.field_password_toggle{position:absolute;top:50%;right:2px;transform:translateY(-50%);width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--c-muted);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.field_password_toggle:hover{background:var(--c-hover);color:var(--c-text)}.field_password_toggle:focus-visible{outline:none;box-shadow:var(--c-focus-ring)}.field_password_toggle:disabled{opacity:.4;cursor:not-allowed}.field_password_toggle i{pointer-events:none;font-size:var(--fs-sm);line-height:1}.field_input:disabled{opacity:.5;cursor:not-allowed;background:var(--c-panel)}.field_help{font-size:var(--fs-xs);color:var(--c-muted)}.field_error_msg{font-size:var(--fs-xs);color:var(--c-danger);display:none}.field.has_error .field_input{border-color:var(--c-danger)}.field.has_error .field_error_msg{display:block}.field_check{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-md);cursor:pointer}.field_check input[type=checkbox],.field_check input[type=radio]{width:16px;height:16px;margin:0;cursor:pointer;accent-color:var(--c-primary)}.color_picker{position:relative;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:3px}.color_picker>input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer}.color_picker_swatch{width:18px;height:18px;border-radius:3px;border:1px solid var(--c-border-strong);background:#000;flex-shrink:0;pointer-events:none}.toggle_switch{position:relative;display:inline-flex;align-items:center;gap:var(--sp-2);cursor:pointer;user-select:none}.toggle_switch_input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}.toggle_switch_track{position:relative;width:38px;height:22px;border:1px solid var(--c-border);border-radius:var(--radius-full);background:var(--c-panel);transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.toggle_switch_thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:var(--radius-full);background:var(--c-bg);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast),background var(--transition-fast)}.toggle_switch_text{font-size:var(--fs-xs);color:var(--c-muted)}.toggle_switch:hover .toggle_switch_track{border-color:var(--c-border-strong)}.toggle_switch_input:checked+.toggle_switch_track{background:var(--c-primary-subtle);border-color:var(--c-primary)}.toggle_switch_input:checked+.toggle_switch_track .toggle_switch_thumb{transform:translate(16px);background:var(--c-primary)}.toggle_switch_input:focus-visible+.toggle_switch_track{box-shadow:var(--c-focus-ring)}.toggle_switch_input:disabled+.toggle_switch_track,.toggle_switch_input:disabled~.toggle_switch_text{opacity:.6;cursor:not-allowed}.form_inline{display:flex;align-items:flex-end;gap:var(--sp-3);flex-wrap:wrap}.form_inline .field+.field{margin-top:0}.form_inline .field{flex:1;min-width:0}.volt_form_fields.form_two_col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--sp-4);row-gap:var(--sp-3)}.volt_form_fields.form_two_col>.field{min-width:0;margin-top:0}.volt_form_fields.form_two_col>.field+.field{margin-top:0}.volt_form_fields.form_two_col>.field_span_2{grid-column:1 / -1}.form_alert{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);border-radius:var(--radius-md);background:var(--c-danger-subtle);color:var(--c-danger);margin-bottom:var(--sp-3);display:none}.form_actions{display:flex;align-items:center;gap:var(--sp-3);margin-top:var(--sp-4)}.card{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-lg);overflow:hidden}.card_header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-md);font-weight:var(--fw-semibold);background:#ebedf1}html.dark .card_header{background:linear-gradient(135deg,#1a1630,#1c1e27,#1e1832)}.card_body{padding:var(--sp-4)}.card_footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--c-border)}.card_flush .card_body{padding:0}.card_body_compact{padding:var(--sp-3) var(--sp-4)}.state_panel{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-sm);color:var(--c-muted)}.state_panel_centered{flex-direction:column;justify-content:center;text-align:center}.state_panel_fill{min-height:100%;padding:var(--sp-8) 0}.state_panel_hero{gap:var(--sp-4);padding:var(--sp-8) var(--sp-4);max-width:720px;margin:0 auto}.state_panel_media{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--c-primary)}.state_panel_hero .state_panel_media{width:56px;height:56px;border-radius:var(--radius-full);background:var(--c-primary-subtle);border:1px solid var(--c-border);font-size:18px}.state_panel_text{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.state_panel_centered .state_panel_text{align-items:center}.state_panel_title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--c-text)}.state_panel_message{color:var(--c-muted)}.state_panel_detail{max-width:680px;color:var(--c-muted)}.state_panel_actions{display:flex;align-items:center;justify-content:center;gap:var(--sp-3);flex-wrap:wrap}.state_panel_danger .state_panel_media,.state_panel_danger .state_panel_title,.state_panel_danger .state_panel_message,.state_panel_danger .state_panel_detail{color:var(--c-danger)}.volt_table{width:100%!important}.label_value_grid{display:grid;grid-template-columns:repeat(var(--label_value_columns, 4),minmax(0,1fr));column-gap:var(--label_value_column_gap, var(--sp-4));row-gap:var(--label_value_row_gap, var(--sp-3))}.label_value_label{margin-bottom:2px;color:var(--c-muted);font-size:var(--fs-xs);line-height:1.2;font-weight:var(--fw-medium)}.label_value_value{min-height:18px;font-size:var(--fs-sm);line-height:1.35;overflow-wrap:anywhere}.label_value_item_full_row{grid-column:1 / -1}.alert{display:flex;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-md);font-size:var(--fs-sm);line-height:var(--lh-normal);border:1px solid transparent}.alert i{margin-top:2px;flex-shrink:0}.alert_info{background:var(--c-primary-subtle);color:var(--c-primary);border-color:var(--c-primary)}.alert_success{background:var(--c-success-subtle);color:var(--c-success);border-color:var(--c-success)}.alert_warning{background:var(--c-warn-subtle);color:var(--c-warn);border-color:var(--c-warn)}.alert_danger{background:var(--c-danger-subtle);color:var(--c-danger);border-color:var(--c-danger)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:var(--fs-xs);font-weight:var(--fw-medium);line-height:1.4;border-radius:var(--radius-full);white-space:nowrap}.badge_neutral{background:var(--c-panel);color:var(--c-muted)}.badge_success{background:var(--c-success-subtle);color:var(--c-success)}.badge_active{background:var(--c-primary-subtle);color:var(--c-primary)}.badge_pending{background:var(--c-warn-subtle);color:var(--c-warn)}.badge_danger{background:var(--c-danger-subtle);color:var(--c-danger)}.badge_spinner{display:inline-block;width:10px;height:10px;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:volt_spin .6s linear infinite}.badge_icon{font-size:9px;line-height:1}.badge_dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor}#volt_toast_container{position:fixed;top:var(--sp-4);right:var(--sp-4);z-index:10000;display:flex;flex-direction:column;gap:var(--sp-2);pointer-events:none;max-width:380px}.toast{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-size:var(--fs-sm);pointer-events:auto;animation:volt_toast_in .2s ease-out;min-width:280px}.toast.removing{animation:volt_toast_out .15s ease-in forwards}.toast_icon{flex-shrink:0;margin-top:1px}.toast_body{flex:1;min-width:0}.toast_title{font-weight:var(--fw-semibold);margin-bottom:2px}.toast_message{color:var(--c-muted)}.toast_close{flex-shrink:0;background:none;border:none;padding:2px;color:var(--c-muted);cursor:pointer;font-size:var(--fs-md);line-height:1;border-radius:var(--radius-sm)}.toast_close:hover{color:var(--c-text)}.toast_info .toast_icon{color:var(--c-primary)}.toast_success .toast_icon{color:var(--c-success)}.toast_warning .toast_icon{color:var(--c-warn)}.toast_error .toast_icon{color:var(--c-danger)}.modal_overlay{position:fixed;inset:0;z-index:9000;background:#00000080;display:flex;align-items:center;justify-content:center;padding:var(--sp-4);animation:volt_fade_in .15s ease-out}.modal_overlay.removing{animation:volt_fade_out .1s ease-in forwards}.modal_dialog{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:520px;max-height:calc(100vh - 64px);display:flex;flex-direction:column;animation:volt_scale_in .15s ease-out}.modal_overlay.removing .modal_dialog{animation:volt_scale_out .1s ease-in forwards}.modal_header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4);border-bottom:1px solid var(--c-border);font-weight:var(--fw-semibold);font-size:var(--fs-lg)}.modal_close{background:none;border:none;padding:var(--sp-1);color:var(--c-muted);cursor:pointer;font-size:var(--fs-lg);line-height:1;border-radius:var(--radius-sm)}.modal_close:hover{background:var(--c-hover);color:var(--c-text)}.modal_body{padding:var(--sp-4);overflow-y:auto;font-size:var(--fs-md);line-height:var(--lh-normal)}.modal_footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--c-border)}.volt_tooltip{position:fixed;z-index:11000;padding:4px 8px;font-size:var(--fs-xs);font-weight:var(--fw-medium);line-height:1.3;color:#fff;background:#1f2328;border-radius:var(--radius-sm);pointer-events:none;white-space:nowrap;max-width:240px;animation:volt_fade_in 80ms ease-out}html.dark .volt_tooltip{background:#e6edf3;color:#0d1117}.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--c-border);border-top-color:var(--c-primary);border-radius:50%;animation:volt_spin .6s linear infinite}.spinner_sm{width:12px;height:12px;border-width:1.5px}.spinner_lg{width:24px;height:24px;border-width:2.5px}.skeleton{background:var(--c-panel);border-radius:var(--radius-md);animation:volt_pulse 1.5s ease-in-out infinite}.skeleton_text{height:14px;margin-bottom:var(--sp-2);border-radius:var(--radius-sm)}.skeleton_text:last-child{width:60%}.volt_table_row_muted td{opacity:.55}.row_actions_dropdown{position:fixed;z-index:500;min-width:180px;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--sp-1) 0;animation:volt_fade_in 80ms ease-out}.row_actions_item{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3);background:none;border:none;font-family:inherit;font-size:var(--fs-sm);color:var(--c-text);cursor:pointer;white-space:nowrap;text-align:left}.row_actions_item:hover{background:var(--c-hover)}.row_actions_item.text_danger{color:var(--c-danger)}.row_actions_item.text_danger:hover{background:var(--c-danger-subtle)}.row_actions_item i{width:16px;text-align:center;font-size:var(--fs-xs);flex-shrink:0}.breadcrumbs{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--c-muted);margin-bottom:var(--sp-1)}.breadcrumb_link{color:var(--c-muted);text-decoration:none;transition:color var(--transition-fast)}.breadcrumb_link:hover{color:var(--c-primary);text-decoration:underline}.breadcrumb_sep{font-size:8px;color:var(--c-border-strong)}.breadcrumb_current{color:var(--c-text);font-weight:var(--fw-medium)}.code_block_inline{display:block;padding:var(--sp-2) var(--sp-3);border:1px solid var(--c-border-strong);border-radius:var(--radius-md);background:var(--c-panel)}.copyable_code_block{position:relative;background:#f0f1f3;border:1px solid #d4d7dc;border-radius:8px;margin-top:4px}.dark .copyable_code_block{background:#2a2d32;border-color:#3e4249}.copyable_code_block pre{margin:0;padding:12px 48px 12px 16px;overflow-x:auto;font-size:13px;line-height:1.5}.copyable_code_block code{font-family:var(--ff-mono, "Menlo", "Consolas", monospace);white-space:pre}.copyable_code_block .copy_code_btn{position:absolute;top:6px;right:6px;opacity:.5;transition:opacity var(--transition-fast)}.copyable_code_block:hover .copy_code_btn{opacity:1}@keyframes volt_spin{to{transform:rotate(360deg)}}@keyframes volt_pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes volt_toast_in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes volt_toast_out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(20px)}}@keyframes volt_fade_in{0%{opacity:0}to{opacity:1}}@keyframes volt_fade_out{0%{opacity:1}to{opacity:0}}@keyframes volt_scale_in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes volt_scale_out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}
