@import "https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap";.modal-overlay[data-v-6f36c219]{z-index:9999;background-color:#0f172a66;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card[data-v-6f36c219]{background:var(--color-surface);padding:var(--space-lg);border-radius:var(--radius-md);width:90%;max-width:400px;box-shadow:var(--shadow-lg);text-align:center}.modal-icon[data-v-6f36c219]{width:48px;height:48px;margin:0 auto var(--space-md) auto;border-radius:50%;justify-content:center;align-items:center;display:flex}.modal-icon.warning[data-v-6f36c219],.modal-icon.error[data-v-6f36c219]{color:var(--color-danger);background-color:var(--color-danger-light)}.modal-icon.success[data-v-6f36c219]{color:var(--color-success);background-color:var(--color-success-light)}.modal-icon.info[data-v-6f36c219]{color:var(--color-info);background-color:var(--color-info-light)}.modal-title[data-v-6f36c219]{margin:0 0 var(--space-xs) 0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text)}.modal-description[data-v-6f36c219]{margin:0 0 var(--space-lg) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.modal-actions[data-v-6f36c219]{gap:var(--space-sm);justify-content:flex-end;display:flex}.btn-cancel[data-v-6f36c219],.btn-confirm[data-v-6f36c219]{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-fast);flex:1}.btn-cancel[data-v-6f36c219]{background-color:var(--color-surface-secondary);border:1px solid var(--color-border);color:var(--color-text)}.btn-cancel[data-v-6f36c219]:hover{background-color:var(--color-sidebar-hover)}.btn-confirm[data-v-6f36c219]{background-color:var(--color-danger);color:var(--color-text-inverse);border:none}.btn-confirm[data-v-6f36c219]:hover{background-color:var(--color-danger-hover)}.btn-confirm.success[data-v-6f36c219]{background-color:var(--color-success)}.btn-confirm.success[data-v-6f36c219]:hover{background-color:var(--color-success-hover)}.toast-container[data-v-df9513c0]{z-index:99999;gap:var(--space-xs,.5rem);pointer-events:none;flex-direction:column;display:flex;position:fixed;top:1.5rem;right:1.5rem}.toast-item[data-v-df9513c0]{pointer-events:auto;align-items:center;gap:var(--space-sm,.75rem);background-color:var(--color-surface,#fff);border:1px solid var(--color-border,#e5e7eb);border-radius:var(--radius-sm,.375rem);box-shadow:var(--shadow-md,0 4px 6px -1px #0000001a);min-width:280px;max-width:400px;padding:.75rem 1rem;display:flex}.toast-message[data-v-df9513c0]{font-size:var(--font-size-sm,.875rem);color:var(--color-text,#0f172a);flex:1}.toast-item.success .toast-icon[data-v-df9513c0]{color:var(--color-success,#16a34a)}.toast-item.warning .toast-icon[data-v-df9513c0]{color:var(--color-warning,#f59e0b)}.toast-item.error .toast-icon[data-v-df9513c0]{color:var(--color-danger,#dc2626)}.toast-item.info .toast-icon[data-v-df9513c0]{color:var(--color-info,#0ea5e9)}.btn-close[data-v-df9513c0]{cursor:pointer;color:var(--color-text-secondary,#64748b);background:0 0;border:none;justify-content:center;align-items:center;padding:2px;display:flex}.toast-enter-active[data-v-df9513c0],.toast-leave-active[data-v-df9513c0]{transition:all .3s}.toast-enter-from[data-v-df9513c0]{opacity:0;transform:translate(30px)}.toast-leave-to[data-v-df9513c0]{opacity:0;transform:translateY(-20px)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{width:100%;height:100%}html{font-size:16px}body{font-family:var(--font-family,sans-serif);background:var(--color-background);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;line-height:1.5;overflow:hidden}img,picture,video,canvas,svg{max-width:100%;display:block}button,input,textarea,select{font:inherit;font-family:inherit}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}table{border-collapse:collapse;border-spacing:0;width:100%}:root{--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-light:#dbeafe;--color-success:#16a34a;--color-success-hover:#15803d;--color-success-light:#dcfce7;--color-warning:#f59e0b;--color-warning-hover:#d97706;--color-warning-light:#fef3c7;--color-danger:#dc2626;--color-danger-hover:#b91c1c;--color-danger-light:#fee2e2;--color-info:#0284c7;--color-info-hover:#0369a1;--color-info-light:#e0f2fe;--color-background:#f1f5f9;--color-surface:#fff;--color-surface-secondary:#f8fafc;--color-text:#0f172a;--color-text-secondary:#64748b;--color-text-disabled:#94a3b8;--color-text-inverse:#fff;--color-border:#e5e7eb;--color-border-light:#f1f5f9;--color-sidebar-background:#fff;--color-sidebar-hover:#e0e7ff;--color-sidebar-active:var(--color-primary);--color-header-background:#fff;--color-footer-background:#fff}.status-badge,.badge-status{font-size:var(--font-size-xs,12px);font-weight:var(--font-weight-semibold,600);border-radius:20px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.badge-success{color:#15803d!important;background-color:#16a34a1a!important;border:1px solid #16a34a40!important}.badge-warning{color:#b45309!important;background-color:#f59e0b1a!important;border:1px solid #f59e0b40!important}.badge-danger{color:#b91c1c!important;background-color:#dc26261a!important;border:1px solid #dc262640!important}:root{--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-success:#16a34a;--color-warning:#f59e0b;--color-danger:#dc2626;--color-info:#0ea5e9;--color-background:#f1f5f9;--color-surface:#fff;--color-border:#e5e7eb;--color-text:#0f172a;--color-text-secondary:#64748b;--color-text-disabled:#9ca3af;--sidebar-width:260px;--sidebar-width-collapsed:72px;--header-height:64px;--footer-height:40px;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--border-card:1px solid #e2e8f0e6;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-xxl:48px;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 2px 4px #0f172a0a, 0 1px 2px #0f172a0f;--shadow-md:0 10px 15px -3px #0f172a14, 0 4px 6px -4px #0f172a0a;--shadow-lg:0 20px 25px -5px #0f172a1a, 0 8px 10px -6px #0f172a0d;--font-family:Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;--font-size-xs:12px;--font-size-sm:14px;--font-size-md:16px;--font-size-lg:20px;--font-size-xl:28px;--font-size-xxl:30px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.35s ease}.dashboard-card,.dashboard-widget-card,.card-summary,.card{background:var(--color-surface);border:var(--border-card);border-radius:var(--radius-lg,16px);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast), transform var(--transition-fast)}.dashboard-card:hover,.dashboard-widget-card:hover,.card-summary:hover,.card:hover{box-shadow:var(--shadow-md)}.page-header{justify-content:space-between;align-items:center;display:flex}.page-header-title{letter-spacing:-1px;font-size:30px;font-weight:600}.btn-primary{background-color:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:.375rem;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-weight:600;display:flex}.app-header{align-items:center;gap:var(--space-md,1rem);height:var(--header-height,60px);padding:0 var(--space-lg,1.5rem);background:var(--color-header-background,#fff);border-bottom:1px solid var(--color-border-light,#f1f5f9);box-shadow:var(--shadow-xs,0 1px 2px #00000008);display:flex}.spacer{flex:1}.user{align-items:center;gap:var(--space-sm,.75rem);display:flex}.user-name{font-size:var(--font-size-sm,.875rem);font-weight:var(--font-weight-medium,500);color:var(--color-text,#0f172a)}.app-content{padding:var(--space-lg,1.5rem);background:var(--color-background,#f1f5f9);flex:1;overflow:hidden auto}.page-container{flex-direction:column;gap:1rem;width:100%;height:100%;display:flex}.page-header{justify-content:space-between;align-items:center;gap:var(--space-lg,1.5rem);display:flex}.page-header-info h1{font-size:var(--font-size-xl,1.75rem);font-weight:var(--font-weight-bold,700);color:var(--color-text,#0f172a);margin:0}.page-header-info p{color:var(--color-text-secondary,#64748b);font-size:var(--font-size-sm,.875rem);margin:2px 0 0}.app-footer{height:var(--footer-height,40px);background:var(--color-footer-background,#fff);border-top:1px solid var(--color-border-light,#f1f5f9);font-size:var(--font-size-xs,.75rem);color:var(--color-text-secondary,#64748b);justify-content:center;align-items:center;display:flex}.table-container{flex:1;min-height:0;display:flex}.table-container>*{flex:1}.modal-overlay{z-index:999;background:#0f172a66;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-card{background:var(--color-surface,#fff);border-radius:var(--radius-md,.5rem);width:90%;max-width:650px;max-height:calc(100vh - 2rem);box-shadow:var(--shadow-lg,0 10px 15px -3px #0000001a);overflow:hidden}.modal-header{border-bottom:1px solid var(--color-border,#e5e7eb);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.modal-header h3{color:#0f172a;margin:0;font-size:1.125rem;font-weight:600}.modal-body{padding:1.5rem;overflow-y:auto}.modal-footer{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.btn-icon{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:background-color .15s,color .15s;display:inline-flex}.btn-icon:hover{color:#0f172a;background:#f1f5f9}.btn-cancel{color:#334155;cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;justify-content:center;align-items:center;min-height:38px;padding:.5rem 1rem;transition:background-color .15s,border-color .15s;display:inline-flex}.btn-cancel:hover{background:#f1f5f9;border-color:#94a3b8}.btn-submit{color:#fff;cursor:pointer;background:#059669;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;min-height:38px;padding:.5rem 1rem;transition:background-color .15s,transform .15s;display:inline-flex}.btn-submit:hover:not(:disabled){background:#047857;transform:translateY(-1px)}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.col-span-2{grid-column:span 2}.field{flex-direction:column;gap:.35rem;display:flex}.field label{color:#334155;font-size:.875rem;font-weight:500}.field input,.field select,.field textarea{color:#0f172a;box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;width:100%;min-height:38px;padding:0 .75rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.field textarea{resize:vertical;min-height:80px;padding:.65rem .75rem}.field input:focus,.field select:focus,.field textarea:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #3b82f61a}.field input:disabled,.field select:disabled,.field textarea:disabled{color:#64748b;cursor:not-allowed;background:#f8fafc}.error-alert{color:#dc2626;background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;align-items:center;gap:.5rem;margin-top:1rem;padding:.65rem .75rem;font-size:.875rem;display:flex}@media (width<=640px){.modal-card{width:100%;max-height:calc(100vh - 1rem)}.modal-header,.modal-body{padding:1rem}.form-grid{grid-template-columns:1fr}.col-span-2{grid-column:span 1}}
