body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}code{font-family:JetBrains Mono,Fira Code,Cascadia Code,Consolas,monospace}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}:root{--primary:#2563eb;--secondary:#64748b;--success:#16a34a;--warning:#d97706;--danger:#dc2626;--info:#0ea5e9;--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--bg-gradient:linear-gradient(135deg,#f8fafc,#e2e8f0);--table-header-bg:#e0ebf7;--table-header-text:#1e3a8a;--table-header-border:#cbd5e1;--modal-header-bg:#f0f7ff;--modal-footer-bg:#f8fafc;--modal-loading-overlay:#ffffffe0;--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--text-disabled:#cbd5e1;--border-color:#334155;--border-light:#94a3b8;--form-border-color:#334155;--form-border-focus:#2563eb;--form-border-error:#ef4444;--glass-bg:#fffffff2;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 2px 8px #00000014;--shadow-md:0 4px 12px #0000001f;--shadow-lg:0 8px 24px #00000029;--shadow-xl:0 25px 50px -12px #0006;--accent-gradient:linear-gradient(135deg,#2563eb,#0ea5e9);--accent-gradient-hover:linear-gradient(135deg,#1d4ed8,#0284c7);--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:0.625rem;--spacing-lg:0.875rem;--spacing-xl:1.25rem;--radius-sm:0.375rem;--radius:0.5rem;--radius-md:0.75rem;--radius-lg:1rem;--transition-fast:0.15s ease;--transition:0.2s ease;--transition-slow:0.3s ease;--z-table-content:1;--z-action-column-body:2;--z-table-header:10;--z-action-column-header:20;--z-dropdown:1000;--z-module-header:100;--z-main-layout-dropdown:1030;--z-fixed:1040;--z-active-row:10005;--z-modal-backdrop:10040;--z-modal:10050;--z-action-menu:10100;--font-family-base:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-family-mono:"JetBrains Mono","Fira Code","Cascadia Code",Consolas,monospace;--font-size-xs:0.75rem;--font-size-sm:0.8125rem;--font-size-base:0.875rem;--font-size-md:0.9375rem;--font-size-lg:1.0625rem;--font-size-xl:1.25rem;--line-height-tight:1.3;--line-height-base:1.5;--line-height-relaxed:1.6;--layout-header-height:3rem;--layout-footer-height:2rem;--layout-tabbar-height:2.5rem;--layout-sidebar-width:16rem;--layout-sidebar-collapsed-width:4rem;--pagination-footer-height:2.75rem}[data-theme=dark]{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--bg-gradient:linear-gradient(135deg,#0f172a,#1e293b);--table-header-bg:#1e3a5f;--table-header-text:#e8eef7;--table-header-border:#475569;--modal-header-bg:#1e3a5f;--modal-footer-bg:#1e293b;--modal-loading-overlay:#0f172ae0;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#64748b;--border-color:#475569;--glass-bg:#0f172af2}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{color:#1e293b;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-family-base);line-height:1.5;line-height:var(--line-height-base);overflow-x:hidden}.module-master-container,body{background:linear-gradient(135deg,#f8fafc,#e2e8f0);background:var(--bg-gradient)}.module-master-container{display:flex;flex-direction:column;height:calc(100vh - 5rem);height:calc(100vh - var(--layout-header-height) - var(--layout-footer-height));min-height:0;overflow:hidden}.module-master-container.with-tabs{height:calc(100vh - 7.5rem);height:calc(100vh - var(--layout-header-height) - var(--layout-footer-height) - var(--layout-tabbar-height))}.module-header{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff2;background:var(--glass-bg);border:1px solid #94a3b8;border:1px solid var(--border-light);border-radius:.75rem;border-radius:var(--radius-md);box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow);display:flex;flex-shrink:0;flex-wrap:wrap;gap:.875rem;gap:var(--spacing-lg);justify-content:space-between;margin:.625rem 1.25rem;margin:var(--spacing-md) 1.25rem;min-height:2.75rem;padding:.875rem 1.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:100;z-index:var(--z-module-header)}.module-header-content{display:flex;flex-direction:column;gap:.125rem}.module-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#2563eb,#0ea5e9);background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;font-size:1.1rem;font-weight:700;line-height:1.2;margin:0}.module-description{color:#64748b;color:var(--text-secondary);font-size:.75rem;margin:0}.module-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;gap:var(--spacing-sm)}.toolbar-separator{background:#334155;background:var(--border-color);height:1.5rem;margin:0 .25rem;width:1px}.view-mode-group{background:#fff;background:var(--bg-primary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:.375rem;border-radius:var(--radius-sm);gap:.125rem;padding:.125rem}.view-mode-btn,.view-mode-group{align-items:center;display:inline-flex}.view-mode-btn{background:#0000;border:none;border-radius:.375rem;border-radius:var(--radius-sm);color:#64748b;color:var(--text-secondary);cursor:pointer;height:2rem;justify-content:center;padding:0;position:relative;transition:all .2s ease;transition:all var(--transition);width:2rem}.view-mode-btn:hover{background:#f8fafc;background:var(--bg-secondary);color:#1e293b;color:var(--text-primary)}.view-mode-btn.active{background:#2563eb;background:var(--primary);box-shadow:0 1px 3px #2563eb4d;color:#fff}.view-mode-btn svg{height:16px;width:16px}.view-mode-btn:after{background:#1e293b;background:var(--text-primary);border-radius:.375rem;border-radius:var(--radius-sm);color:#fff;content:attr(data-tooltip);font-size:.7rem;font-weight:500;left:50%;opacity:0;padding:.375rem .625rem;pointer-events:none;position:absolute;top:calc(100% + .5rem);transform:translateX(-50%);transition:opacity .2s ease;transition:opacity var(--transition);white-space:nowrap;z-index:1000}.view-mode-btn:hover:after{opacity:1}.module-content{display:flex;flex:1 1;gap:0;min-height:0;overflow:hidden;position:relative;transition:all .3s ease;transition:all var(--transition-slow)}.search-input-wrapper{align-items:center;display:flex;min-width:250px;position:relative}.search-input-wrapper svg{color:#94a3b8;color:var(--text-muted);left:.625rem;pointer-events:none;position:absolute;z-index:1}.search-input{background:#fff;background:var(--bg-primary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:.375rem;border-radius:var(--radius-sm);color:#1e293b;color:var(--text-primary);font-family:inherit;font-size:.8rem;padding:.5rem .75rem .5rem 2.25rem;transition:all .2s ease;transition:all var(--transition);width:100%}.search-input:focus{border-color:#2563eb;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a;outline:none}.search-input::placeholder{color:#94a3b8;color:var(--text-muted)}.data-grid-container{display:flex;flex:1 1;flex-direction:column;min-height:0;min-width:0;padding:0;position:relative;transition:all .3s ease;transition:all var(--transition-slow)}.action-menu-container{display:inline-block;position:relative}.action-menu-trigger{align-items:center;background:#fff;background:var(--bg-primary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:.375rem;border-radius:var(--radius-sm);color:#64748b;color:var(--text-secondary);cursor:pointer;display:inline-flex;height:1.875rem;justify-content:center;padding:0;transition:all .2s ease;transition:all var(--transition);width:1.875rem}.action-menu-trigger:hover{background:#f8fafc;background:var(--bg-secondary);border-color:#2563eb;border-color:var(--primary);color:#2563eb;color:var(--primary)}.action-menu-trigger.active{background:#2563eb;background:var(--primary);border-color:#2563eb;border-color:var(--primary);color:#fff;z-index:10102;z-index:calc(var(--z-action-menu) + 2)}.action-menu-trigger svg{height:16px;width:16px}.action-menu-dropdown{animation:slideDown .2s ease;animation:slideDown var(--transition);background:#fff;background:var(--bg-primary);border:2px solid #2563eb;border:2px solid var(--primary);border-radius:.75rem;border-radius:var(--radius-md);box-shadow:0 12px 32px #2563eb33;max-height:280px;min-width:160px;overflow-y:auto;padding:.25rem;width:-webkit-max-content;width:max-content;z-index:10100;z-index:var(--z-action-menu)}.action-menu-item{align-items:center;background:#0000;border:none;border-radius:.5rem;border-radius:var(--radius);color:#1e293b;color:var(--text-primary);cursor:pointer;display:flex;font-family:inherit;font-size:.85rem;font-weight:500;gap:.75rem;padding:.625rem .875rem;text-align:left;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.action-menu-item:hover{background:#f8fafc;background:var(--bg-secondary);color:#2563eb;color:var(--primary);padding-left:1rem;transform:translateX(4px)}.action-menu-item svg{flex-shrink:0;height:18px;transition:transform .2s ease;transition:transform var(--transition);width:18px}.action-menu-item:hover svg{transform:scale(1.15)}.action-menu-item-danger,.action-menu-item-danger:hover{color:#dc2626;color:var(--danger)}.action-menu-item-danger:hover{background:#dc26261a}.action-menu-divider{background:#334155;background:var(--border-color);height:1px;margin:.5rem 0}.btn{align-items:center;border:none;border-radius:.375rem;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.8rem;font-weight:600;gap:.5rem;gap:var(--spacing-sm);justify-content:center;padding:.5rem .875rem;padding:var(--spacing-sm) var(--spacing-lg);text-decoration:none;transition:all .2s ease;transition:all var(--transition);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:#2563eb;background:var(--primary);box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow);color:#fff}.btn-primary:hover:not(:disabled){background:#1d4ed8;box-shadow:0 4px 12px #0000001f;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background:#fff;background:var(--bg-primary);border:1.5px solid #334155;border:1.5px solid var(--border-color);color:#1e293b;color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:#f8fafc;background:var(--bg-secondary);border-color:#2563eb;border-color:var(--primary);color:#2563eb;color:var(--primary)}.btn-danger{background:#dc2626;background:var(--danger);box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow);color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c;box-shadow:0 4px 12px #0000001f;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-success{background:#16a34a;background:var(--success);box-shadow:0 2px 8px #00000014;box-shadow:var(--shadow);color:#fff}.btn-success:hover:not(:disabled){background:#15803d;box-shadow:0 4px 12px #0000001f;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-icon{align-items:center;background:#fff;background:var(--bg-primary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:.375rem;border-radius:var(--radius-sm);color:#64748b;color:var(--text-secondary);cursor:pointer;display:inline-flex;height:2rem;justify-content:center;padding:0;transition:all .2s ease;transition:all var(--transition);width:2rem}.btn-icon:hover{background:#f8fafc;background:var(--bg-secondary);border-color:#2563eb;border-color:var(--primary);color:#2563eb;color:var(--primary);transform:translateY(-1px)}.btn-icon svg{stroke-width:2;height:18px;width:18px}.filter-badge{background:#dc2626;background:var(--danger,#ef4444);border-radius:999px;box-shadow:0 1px 3px #0003;color:#fff;font-size:.625rem;font-weight:700;height:1.125rem;line-height:1.125rem;min-width:1.125rem;padding:0 .25rem;pointer-events:none;position:absolute;right:-.375rem;text-align:center;top:-.375rem}.search-panel{background:#fff;background:var(--bg-primary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:8px;box-shadow:-4px 0 12px #00000014;display:flex;flex-direction:column;flex-shrink:0;height:100%;overflow:hidden;width:320px}.search-panel-header{align-items:center;background:#c7d8ef;background:var(--filter-header-bg,#c7d8ef);border-bottom:2px solid #334155;border-bottom:2px solid var(--border-color);display:flex;flex-shrink:0;font-size:.875rem;height:46px;justify-content:space-between;padding:0 1rem}.search-panel-title{color:#1e3a8a;color:var(--table-header-text);font-size:.875rem;font-weight:600;margin:0}.search-panel-close{align-items:center;background:#fff;background:var(--bg-primary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:.375rem;border-radius:var(--radius-sm);color:#94a3b8;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:1.5rem;justify-content:center;transition:all .2s ease;transition:all var(--transition);width:1.5rem}.search-panel-close:hover{background:#dc2626;background:var(--danger,#ef4444);border-color:#dc2626;border-color:var(--danger,#ef4444);color:#fff}.search-panel-content{flex:1 1;min-height:0;overflow-y:auto;padding:1.25rem}.filter-section{margin-bottom:1.25rem}.filter-section:last-child{margin-bottom:0}.filter-section-title{color:#64748b;color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:.625rem;text-transform:uppercase}.filter-actions{align-items:center;background:#f8fafc;background:var(--bg-secondary);border-top:1px solid #334155;border-top:1px solid var(--border-color);display:flex;flex-shrink:0;gap:.625rem;min-height:2.75rem;min-height:var(--pagination-footer-height);padding:0 1rem}.filter-actions .btn{flex:1 1}.module-content .syut-grid-component .pagination-footer{min-height:2.75rem;min-height:var(--pagination-footer-height)}.pagination-footer{align-items:center;background:#fff;background:var(--bg-primary);border-radius:0 0 .75rem .75rem;border-radius:0 0 var(--radius-md) var(--radius-md);border-top:1px solid #334155;border-top:1px solid var(--border-color);display:flex;flex-shrink:0;flex-wrap:wrap;gap:.5rem;gap:var(--spacing-sm);justify-content:space-between;margin:0;padding:.125rem .875rem;padding:.125rem var(--spacing-lg)}.pagination-info{color:#64748b;color:var(--text-secondary);font-size:.75rem}.pagination-controls{align-items:center;display:flex;gap:.25rem}.page-btn{align-items:center;background:#fff;background:var(--bg-primary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:.375rem;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.75rem;height:1.5rem;justify-content:center;min-width:1.5rem;padding:0 .25rem;transition:all .15s ease;transition:all var(--transition-fast)}.page-btn:hover:not(:disabled){background:#f8fafc;background:var(--bg-secondary);color:#2563eb;color:var(--primary)}.page-btn.active,.page-btn:hover:not(:disabled){border-color:#2563eb;border-color:var(--primary)}.page-btn.active{background:#2563eb;background:var(--primary);color:#fff}.page-btn:disabled{cursor:not-allowed;opacity:.5}.page-size-selector select{background:#fff;background:var(--bg-primary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:.375rem;border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-size:.75rem;padding:.375rem .625rem}.form-group{margin-bottom:.875rem;margin-bottom:var(--spacing-lg)}.form-label{color:#1e293b;color:var(--text-primary);display:block;font-size:.75rem;font-weight:600;margin-bottom:.375rem}.form-input,.form-select,.form-textarea{background:#fff;background:var(--bg-primary);border:1px solid #334155;border:1px solid var(--form-border-color);border-radius:.375rem;border-radius:var(--radius-sm);color:#1e293b;color:var(--text-primary);font-family:inherit;font-size:.8rem;padding:.5rem .75rem;transition:all .2s ease;transition:all var(--transition);width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#2563eb;border-color:var(--form-border-focus);box-shadow:0 0 0 3px #2563eb1a;outline:none}.form-textarea{min-height:80px;resize:vertical}.form-trigger{background:#fff;background:var(--bg-primary);border:1px solid #334155;border:1px solid var(--form-border-color);border-radius:.375rem;border-radius:var(--radius-sm);color:#1e293b;color:var(--text-primary);cursor:pointer;padding:.5rem .75rem;transition:all .2s ease;transition:all var(--transition);width:100%}.form-trigger:hover{border-color:#2563eb;border-color:var(--form-border-focus)}.form-field-error,.form-field-error:focus{border-color:#ef4444!important}.form-field-error:focus{box-shadow:0 0 0 3px #ef44441a}.form-error-message{color:#ef4444;font-size:.75rem;margin-top:.25rem}.dropdown-panel{border:2px solid #2563eb;border:2px solid var(--primary);border-radius:.5rem;border-radius:var(--radius);box-shadow:0 8px 24px #00000029;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;left:0;position:absolute;right:0;top:calc(100% + .25rem);z-index:1000;z-index:var(--z-dropdown)}.dropdown-panel,.dropdown-search{background:#fff;background:var(--bg-primary)}.dropdown-search{border:1px solid #334155;border:1px solid var(--form-border-color);border-radius:.375rem;border-radius:var(--radius-sm);color:#1e293b;color:var(--text-primary);font-family:inherit;font-size:.85rem;outline:none;padding:.5rem .75rem .5rem 2.25rem;width:100%}.dropdown-search:focus{border-color:#2563eb;border-color:var(--form-border-focus)}.syut-checkbox-trigger{align-content:flex-start;align-items:flex-start;background:#fff;background:var(--bg-primary);border-radius:.375rem;border-radius:var(--radius-sm,4px);cursor:pointer;display:flex;flex-wrap:wrap;gap:.25rem;position:relative;transition:all .2s ease;width:100%}.syut-checkbox-trigger.is-disabled{background:#f8fafc;background:var(--bg-secondary);cursor:not-allowed}.checkbox-label{align-items:center;color:#1e293b;color:var(--text-primary);cursor:pointer;display:flex;font-size:.8rem;gap:.5rem;margin-bottom:.5rem}.checkbox-label input[type=checkbox],.checkbox-label input[type=radio]{accent-color:#2563eb;accent-color:var(--primary);cursor:pointer;height:16px;width:16px}.syut-select-container{display:flex;flex-direction:column;gap:.375rem}.syut-select-label{color:#1e293b;color:var(--text-primary);display:block;font-size:.75rem;font-weight:600}.syut-select-required{margin-left:.25rem}.syut-select-error,.syut-select-required{color:#dc2626;color:var(--danger,#ef4444)}.syut-select-error{font-size:.7rem}.syut-select-helper{color:#94a3b8;color:var(--text-muted);font-size:.7rem}.syut-select__control,.syut-select__menu{border-radius:.375rem!important;border-radius:var(--radius-sm)!important;font-family:inherit!important}.syut-select__option--is-focused{background:#f8fafc!important;background:var(--bg-secondary)!important}.syut-select__option--is-selected{background:#2563eb!important;background:var(--primary)!important}.badge{align-items:center;border-radius:.375rem;border-radius:var(--radius-sm);display:inline-flex;font-size:.7rem;font-weight:600;gap:.25rem;letter-spacing:.025em;padding:.1875rem .4375rem;text-transform:uppercase;white-space:nowrap}.badge-active{background:#16a34a1a;color:#16a34a;color:var(--success)}.badge-inactive{background:#64748b1a;color:#64748b;color:var(--secondary)}.badge-pending{background:#d977061a;color:#d97706;color:var(--warning)}.badge-error{background:#dc26261a;color:#dc2626;color:var(--danger)}.modal-backdrop{animation:fadeIn .2s ease;animation:fadeIn var(--transition);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;inset:0;position:fixed;z-index:10040;z-index:var(--z-modal-backdrop)}.modal-container{animation:modalSlideUp .3s ease;animation:modalSlideUp var(--transition-slow);background:#fff;background:var(--bg-primary);border-radius:1rem;border-radius:var(--radius-lg);box-shadow:0 25px 50px -12px #0006;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;left:50%;max-height:85vh;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:10050;z-index:var(--z-modal)}.modal-sm{max-width:400px;min-height:280px}.modal-md{max-width:600px;min-height:400px}.modal-lg{max-width:900px;min-height:500px}.modal-xl{max-width:1100px;min-height:600px}.modal-header{align-items:center;background:#f0f7ff;background:var(--modal-header-bg);border-bottom:2px solid #334155;border-bottom:2px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;min-height:3rem;padding:.625rem 1.25rem}.modal-title{color:#1e293b;color:var(--text-primary);font-size:1rem;font-weight:700;margin:0}.modal-close{align-items:center;background:#0000;border:none;border-radius:.375rem;border-radius:var(--radius-sm);color:#64748b;color:var(--text-secondary);cursor:pointer;display:flex;height:2rem;justify-content:center;padding:0;transition:all .2s ease;transition:all var(--transition);width:2rem}.modal-close:hover{background:#f8fafc;background:var(--bg-secondary);color:#dc2626;color:var(--danger)}.modal-header-btn{align-items:center;background:#0000;border:none;border-radius:.375rem;border-radius:var(--radius-sm);color:#64748b;color:var(--text-secondary);cursor:pointer;display:flex;height:2rem;justify-content:center;padding:0;transition:all .2s ease;transition:all var(--transition);width:2rem}.modal-header-btn:hover{background:#f8fafc;background:var(--bg-secondary);color:#2563eb;color:var(--primary)}.modal-header-btn:disabled{cursor:not-allowed;opacity:.4}.modal-tabs{background:#fff;background:var(--bg-primary);border-bottom:1px solid #334155;border-bottom:1px solid var(--border-color);display:flex;gap:.25rem;padding:.75rem 1.5rem 0}.modal-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:.8rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease;transition:all var(--transition)}.modal-tab.active,.modal-tab:hover{color:#2563eb;color:var(--primary)}.modal-tab.active{border-bottom-color:#2563eb;border-bottom-color:var(--primary)}.modal-content{background:#fff;background:var(--bg-primary);flex:1 1;min-height:0;overflow-y:auto;padding:1.5rem}.modal-footer{align-items:center;background:#f8fafc;background:var(--modal-footer-bg);border-top:2px solid #334155;border-top:2px solid var(--border-color);display:flex;flex-shrink:0;gap:.75rem;justify-content:flex-end;min-height:3.25rem;padding:.625rem 1.25rem}.modal-footer .btn{font-weight:600;height:2.25rem;min-width:110px}.form-grid-2{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.form-grid-3{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.form-grid-4{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr)}@media (max-width:640px){.form-grid-3,.form-grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.form-grid-2,.form-grid-3,.form-grid-4{grid-template-columns:1fr}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes modalSlideUp{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}@media (max-width:768px){.module-header{align-items:stretch;flex-direction:column;gap:.625rem;gap:var(--spacing-md);padding:.625rem .875rem;padding:var(--spacing-md) var(--spacing-lg)}.module-toolbar{flex-wrap:wrap;width:100%}.search-input-wrapper{flex:1 1;min-width:auto}.data-grid-container{display:flex;flex:1 1;min-height:0;overflow:hidden;padding:0;position:relative}.search-panel{bottom:60px;box-shadow:-8px 0 24px #0003;display:flex!important;flex-direction:column!important;height:auto;max-width:320px;overflow:hidden!important;position:absolute;right:0;top:0;width:100%;z-index:1040;z-index:var(--z-fixed)}.search-panel-header{flex-shrink:0!important}.search-panel-content{flex:1 1 auto!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;padding:1.25rem}.filter-actions{background:#f8fafc;background:var(--bg-secondary);box-shadow:0 -4px 12px #00000014;flex-shrink:0!important;z-index:10}.data-table{font-size:.75rem}.data-table tbody td,.data-table thead th{padding:.5rem .375rem}.action-column{width:60px}.pagination-footer{flex-direction:column;gap:.625rem;gap:var(--spacing-md)}.modal-container{max-height:95vh;width:95%}.view-mode-group{justify-content:center;order:-1;width:100%}}*{scrollbar-width:none}::-webkit-scrollbar{display:none}.text-center{text-align:center}.text-right{text-align:right}.font-bold{font-weight:700}.font-semibold{font-weight:600}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.mt-1{margin-top:.25rem;margin-top:var(--spacing-xs)}.mt-2{margin-top:.5rem;margin-top:var(--spacing-sm)}.mt-3{margin-top:.625rem;margin-top:var(--spacing-md)}.mt-4{margin-top:.875rem;margin-top:var(--spacing-lg)}.mb-1{margin-bottom:.25rem;margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:.5rem;margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:.625rem;margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:.875rem;margin-bottom:var(--spacing-lg)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem;gap:var(--spacing-sm)}.gap-3{gap:.625rem;gap:var(--spacing-md)}.gap-4{gap:.875rem;gap:var(--spacing-lg)}.minimized-modal-trigger{align-items:center;background:#2563eb14;border:1px solid #2563eb40;border-radius:.375rem;border-radius:var(--radius-sm);color:#2563eb;color:var(--primary);cursor:pointer;display:inline-flex;flex-shrink:0;gap:.25rem;height:28px;padding:.25rem .5rem;transition:all .15s ease}.minimized-modal-trigger.active,.minimized-modal-trigger:hover{background:#2563eb26;border-color:#2563eb;border-color:var(--primary)}.minimized-modal-trigger-count{background:#2563eb;background:var(--primary);border-radius:8px;color:#fff;font-size:.65rem;font-weight:700;height:16px;line-height:16px;min-width:16px;text-align:center}.minimized-modal-menu{background:#fff;background:var(--bg-primary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:.75rem;border-radius:var(--radius-md);box-shadow:0 8px 24px #00000026;display:flex;flex-direction:column;max-width:320px;min-width:240px;overflow:hidden}.minimized-modal-menu-items{flex:1 1;min-height:0;overflow-y:auto}.minimized-modal-menu-header{align-items:center;background:#2563eb;background:var(--primary);border-bottom:1px solid #2563eb;border-bottom:1px solid var(--primary);color:#fff;display:flex;font-size:.75rem;font-weight:600;gap:.4rem;padding:.4rem .75rem}.minimized-modal-menu-item{align-items:center;border-bottom:1px solid #334155;border-bottom:1px solid var(--border-color);cursor:pointer;display:flex;gap:.5rem;padding:.5rem .75rem;transition:background .15s ease}.minimized-modal-menu-item:last-child{border-bottom:none}.minimized-modal-menu-item:hover{background:#f8fafc;background:var(--bg-secondary)}.minimized-modal-menu-title{color:#1e293b;color:var(--text-primary);flex:1 1;font-size:.8rem;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-modal-dot{animation:dotPulse 2s ease-in-out infinite;background:#2563eb;background:var(--primary);border-radius:50%;display:inline-block;flex-shrink:0;height:6px;margin-left:.25rem;width:6px}@keyframes dotPulse{0%,to{opacity:1}50%{opacity:.4}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.6f128a1d.css.map*/