@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";@media(min-width:640px){.mobile-only{display:none!important}}@media(max-width:639px){.tablet-up{display:none!important}}@media(max-width:1023px){.desktop-up{display:none!important}}*,*:before,*:after{box-sizing:border-box}html{line-height:1.15;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.5;color:#0f172a;background-color:#f8fafc;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:focus-visible{outline:2px solid #2563eb;outline-offset:2px}:focus:not(:focus-visible){outline:none}input,button,textarea,select{font:inherit}button{cursor:pointer;border:none;background:none;padding:0}a{color:#2563eb;text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}table{border-collapse:collapse;width:100%}ul,ol{padding-left:1.5rem}h1,h2,h3,h4,h5,h6{margin:0 0 1rem;font-weight:600;line-height:1.25}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{margin:0 0 1rem}:root{--font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75}body{font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-primary, #1a1a1a);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0 0 1rem;color:var(--color-text-primary, #1a1a1a)}h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin:0 0 1rem;color:var(--color-text-secondary, #666666)}a{color:var(--color-primary, #2563eb);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-primary-dark, #1d4ed8);text-decoration:underline}a:focus{outline:2px solid var(--color-primary, #2563eb);outline-offset:2px}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-4xl{font-size:var(--font-size-4xl)}.font-light{font-weight:var(--font-weight-light)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--color-text-primary, #1a1a1a)}.text-secondary{color:var(--color-text-secondary, #666666)}.text-muted{color:var(--color-text-muted, #9ca3af)}.text-success{color:var(--color-success, #10b981)}.text-warning{color:var(--color-warning, #f59e0b)}.text-error{color:var(--color-error, #ef4444)}@media(max-width:768px){h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1;text-decoration:none;border:1px solid transparent;border-radius:.5rem;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn:focus{outline:2px solid var(--color-primary, #2563eb);outline-offset:2px}.btn-primary{background-color:var(--color-primary, #2563eb);color:#fff;border-color:var(--color-primary, #2563eb)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark, #1d4ed8);border-color:var(--color-primary-dark, #1d4ed8)}.btn-secondary{background-color:var(--color-gray-100, #f3f4f6);color:var(--color-gray-700, #374151);border-color:var(--color-gray-300, #d1d5db)}.btn-secondary:hover:not(:disabled){background-color:var(--color-gray-200, #e5e7eb);border-color:var(--color-gray-400, #9ca3af)}.btn-success{background-color:var(--color-success, #10b981);color:#fff;border-color:var(--color-success, #10b981)}.btn-success:hover:not(:disabled){background-color:var(--color-success-dark, #059669);border-color:var(--color-success-dark, #059669)}.btn-warning{background-color:var(--color-warning, #f59e0b);color:#fff;border-color:var(--color-warning, #f59e0b)}.btn-warning:hover:not(:disabled){background-color:var(--color-warning-dark, #d97706);border-color:var(--color-warning-dark, #d97706)}.btn-error{background-color:var(--color-error, #ef4444);color:#fff;border-color:var(--color-error, #ef4444)}.btn-error:hover:not(:disabled){background-color:var(--color-error-dark, #dc2626);border-color:var(--color-error-dark, #dc2626)}.btn-outline{background-color:transparent;color:var(--color-primary, #2563eb);border-color:var(--color-primary, #2563eb)}.btn-outline:hover:not(:disabled){background-color:var(--color-primary, #2563eb);color:#fff}.btn-sm{padding:.5rem 1rem;font-size:var(--font-size-xs)}.btn-lg{padding:1rem 2rem;font-size:var(--font-size-base)}.btn-full{width:100%}.btn-icon{padding:.75rem;border-radius:50%;aspect-ratio:1}.btn-group{display:inline-flex}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.btn-group .btn:last-child{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.btn-group .btn:not(:first-child){border-left-width:0}.card{background-color:var(--color-surface, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:.75rem;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;overflow:hidden;transition:all .2s ease}.card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.card-header{padding:1.5rem 1.5rem 0;border-bottom:1px solid var(--color-border, #e5e7eb);margin-bottom:1.5rem}.card-header h1,.card-header h2,.card-header h3,.card-header h4,.card-header h5,.card-header h6{margin:0 0 .5rem;color:var(--color-text-primary, #1a1a1a)}.card-header p{margin:0;color:var(--color-text-secondary, #666666);font-size:var(--font-size-sm)}.card-body{padding:1.5rem}.card-footer{padding:1rem 1.5rem;background-color:var(--color-gray-50, #f9fafb);border-top:1px solid var(--color-border, #e5e7eb);display:flex;align-items:center;justify-content:space-between;gap:1rem}.card-elevated{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.card-elevated:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.card-flat{box-shadow:none;border:2px solid var(--color-border, #e5e7eb)}.card-bordered{border:2px solid var(--color-primary, #2563eb)}.card-interactive{cursor:pointer}.card-interactive:hover{transform:translateY(-2px);border-color:var(--color-primary, #2563eb)}.card-interactive:active{transform:translateY(0)}.card-success{border-left:4px solid var(--color-success, #10b981)}.card-warning{border-left:4px solid var(--color-warning, #f59e0b)}.card-error{border-left:4px solid var(--color-error, #ef4444)}.card-info{border-left:4px solid var(--color-primary, #2563eb)}.cards-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.card-compact .card-header{padding:1rem 1rem 0;margin-bottom:1rem}.card-compact .card-body{padding:1rem}.card-compact .card-footer{padding:.75rem 1rem}@media(max-width:768px){.card{margin:0 1rem}.cards-grid{grid-template-columns:1fr;gap:1rem}}.dialog-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.dialog{background-color:var(--color-surface, #ffffff);border-radius:.75rem;box-shadow:0 25px 50px -12px #00000040;max-width:500px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.dialog-header{padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--color-border, #e5e7eb);display:flex;align-items:center;justify-content:space-between}.dialog-header h2{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.dialog-body{padding:1.5rem;overflow-y:auto;flex:1}.dialog-footer{padding:1rem 1.5rem 1.5rem;border-top:1px solid var(--color-border, #e5e7eb);display:flex;align-items:center;justify-content:flex-end;gap:.75rem}.dialog-close{background:none;border:none;padding:.5rem;cursor:pointer;border-radius:.25rem;color:var(--color-text-secondary, #666666)}.dialog-close:hover{background-color:var(--color-gray-100, #f3f4f6);color:var(--color-text-primary, #1a1a1a)}.dialog-sm{max-width:400px}.dialog-lg{max-width:700px}.dialog-xl{max-width:900px}.dialog-full{max-width:95vw;max-height:95vh}@keyframes dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.dialog-overlay{animation:dialog-fade-in .2s ease-out}.dialog{animation:dialog-scale-in .2s ease-out}@media(max-width:768px){.dialog{margin:1rem;max-width:calc(100vw - 2rem)}.dialog-header,.dialog-body,.dialog-footer{padding-left:1rem;padding-right:1rem}}.form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary, #1a1a1a)}.form-label.required:after{content:" *";color:var(--color-error, #ef4444)}.form-input,.form-select,.form-textarea{padding:.75rem 1rem;border:1px solid var(--color-border, #e5e7eb);border-radius:.5rem;font-size:var(--font-size-sm);font-family:var(--font-primary);background-color:var(--color-surface, #ffffff);transition:all .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background-color:var(--color-gray-100, #f3f4f6);color:var(--color-text-muted, #9ca3af);cursor:not-allowed}.form-input.error,.error.form-select,.error.form-textarea{border-color:var(--color-error, #ef4444)}.form-input.error:focus,.error.form-select:focus,.error.form-textarea:focus{border-color:var(--color-error, #ef4444);box-shadow:0 0 0 3px #ef44441a}.form-textarea{min-height:100px;resize:vertical}.form-select{cursor:pointer}.form-select:focus{cursor:text}.form-checkbox,.form-radio{display:flex;align-items:center;gap:.75rem;cursor:pointer}.form-checkbox input,.form-radio input{width:1rem;height:1rem;accent-color:var(--color-primary, #2563eb)}.form-checkbox label,.form-radio label{font-size:var(--font-size-sm);color:var(--color-text-secondary, #666666);cursor:pointer}.form-error{font-size:var(--font-size-xs);color:var(--color-error, #ef4444);margin-top:.25rem}.form-help{font-size:var(--font-size-xs);color:var(--color-text-muted, #9ca3af);margin-top:.25rem}.form-inline{display:flex;align-items:end;gap:1rem}.form-inline .form-group{flex:1}.form-grid{display:grid;gap:1.5rem}.form-grid.cols-2{grid-template-columns:repeat(2,1fr)}.form-grid.cols-3{grid-template-columns:repeat(3,1fr)}@media(max-width:768px){.form-grid{grid-template-columns:1fr}.form-inline{flex-direction:column;align-items:stretch}}.navbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background-color:var(--color-surface, #ffffff);border-bottom:1px solid var(--color-border, #e5e7eb);position:sticky;top:0;z-index:100}.navbar-brand{display:flex;align-items:center;gap:.75rem;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary, #1a1a1a);text-decoration:none}.navbar-nav{display:flex;align-items:center;gap:2rem;list-style:none;margin:0;padding:0}.nav-item{position:relative}.nav-link{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;color:var(--color-text-secondary, #666666);text-decoration:none;border-radius:.5rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all .2s ease}.nav-link:hover,.nav-link.active{color:var(--color-primary, #2563eb);background-color:var(--color-primary-light, #eff6ff)}.sidebar{width:280px;height:100vh;background-color:var(--color-surface, #ffffff);border-right:1px solid var(--color-border, #e5e7eb);padding:1.5rem 0;position:fixed;left:0;top:0;overflow-y:auto;z-index:50}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem;padding:0 1rem}.sidebar-item .nav-link{width:100%;justify-content:flex-start;padding:.75rem 1rem}.sidebar-item .nav-link:hover,.sidebar-item .nav-link.active{background-color:var(--color-primary-light, #eff6ff)}.sidebar-section{margin:1.5rem 0 .5rem}.sidebar-section .sidebar-title{padding:0 1rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted, #9ca3af);text-transform:uppercase;letter-spacing:.05em}.breadcrumb{display:flex;align-items:center;gap:.5rem;padding:1rem 0;font-size:var(--font-size-sm)}.breadcrumb .breadcrumb-item{display:flex;align-items:center;gap:.5rem}.breadcrumb .breadcrumb-item:not(:last-child):after{content:"/";color:var(--color-text-muted, #9ca3af)}.breadcrumb .breadcrumb-item a{color:var(--color-text-secondary, #666666);text-decoration:none}.breadcrumb .breadcrumb-item a:hover{color:var(--color-primary, #2563eb)}.breadcrumb .breadcrumb-item.active{color:var(--color-text-primary, #1a1a1a);font-weight:var(--font-weight-medium)}@media(max-width:768px){.navbar-nav{display:none}.sidebar{transform:translate(-100%);transition:transform .3s ease}.sidebar.open{transform:translate(0)}}.table-container{overflow-x:auto;border-radius:.75rem;border:1px solid var(--color-border, #e5e7eb)}.table{width:100%;border-collapse:collapse;background-color:var(--color-surface, #ffffff)}.table th,.table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border, #e5e7eb)}.table th{background-color:var(--color-gray-50, #f9fafb);font-weight:var(--font-weight-semibold);color:var(--color-text-primary, #1a1a1a);font-size:var(--font-size-sm)}.table td{color:var(--color-text-secondary, #666666);font-size:var(--font-size-sm)}.table tbody tr:hover{background-color:var(--color-gray-50, #f9fafb)}.table tbody tr:last-child td{border-bottom:none}.table-striped tbody tr:nth-child(2n){background-color:var(--color-gray-25, #fafafa)}.table-compact th,.table-compact td{padding:.5rem .75rem}.status-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.status-badge.status-active{background-color:var(--color-success-light, #d1fae5);color:var(--color-success-dark, #065f46)}.status-badge.status-inactive{background-color:var(--color-gray-100, #f3f4f6);color:var(--color-gray-600, #4b5563)}.status-badge.status-pending{background-color:var(--color-warning-light, #fef3c7);color:var(--color-warning-dark, #92400e)}.table-actions{display:flex;align-items:center;gap:.5rem}.table-actions .btn{padding:.375rem .75rem;font-size:var(--font-size-xs)}@media(max-width:768px){.table-container{font-size:var(--font-size-xs)}.table th,.table td{padding:.5rem}}.hamburger-menu__button{min-width:44px;min-height:44px;border-radius:8px;transition:all .2s ease-in-out}.hamburger-menu__button:hover{background-color:#ffffff1a}.hamburger-menu__button:active{transform:scale(.95)}@media(min-width:640px){.hamburger-menu__button{display:none}}.hamburger-menu__drawer .MuiDrawer-paper{width:280px;border-right:1px solid #e2e8f0}.hamburger-menu__drawer .MuiDrawer-paper[data-theme=dark]{background-color:#0f172a;border-right-color:#334155}.hamburger-menu__header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #e2e8f0}.hamburger-menu__header[data-theme=dark]{border-bottom-color:#334155}.hamburger-menu__user-info{padding:16px}.hamburger-menu__user-info-name{font-weight:600;color:#0f172a}.hamburger-menu__user-info-name[data-theme=dark]{color:#f1f5f9}.hamburger-menu__user-info-role{color:#475569;font-size:.875rem}.hamburger-menu__user-info-role[data-theme=dark]{color:#94a3b8}.hamburger-menu__item{min-height:48px;padding:0 20px;border-radius:8px;margin:0 8px;transition:all .2s ease-in-out}.hamburger-menu__item:hover{background-color:#f1f5f9}.hamburger-menu__item:active{background-color:#e2e8f0}.hamburger-menu__item:focus-visible{outline:2px solid #2563eb;outline-offset:-2px}.hamburger-menu__item[data-theme=dark]:hover{background-color:#1e293b}.hamburger-menu__item[data-theme=dark]:active{background-color:#334155}.hamburger-menu__icon{min-width:40px;color:#475569}.hamburger-menu__icon[data-theme=dark]{color:#94a3b8}.hamburger-menu__text{font-size:.95rem;font-weight:500;color:#0f172a}.hamburger-menu__text[data-theme=dark]{color:#f1f5f9}.hamburger-backdrop{background-color:#0000004d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media(min-width:640px){.hamburger-backdrop{display:none}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slideOutLeft{0%{transform:translate(0)}to{transform:translate(-100%)}}.hamburger-menu__drawer .MuiDrawer-paper.MuiDrawer-paperAnchorLeft{animation:slideInLeft .3s ease-out}.hamburger-menu__drawer[aria-hidden=false] .MuiDrawer-paper .hamburger-menu__close-button:focus{outline:2px solid #2563eb;outline-offset:2px}.hamburger-menu__button[aria-expanded=true]{background-color:#ffffff26}@media(max-width:639px){.hamburger-menu__drawer .MuiDrawer-paper{width:100vw;max-width:320px}}@media(max-width:360px){.hamburger-menu__drawer .MuiDrawer-paper{width:calc(100vw - 40px)}}.touch-button{min-height:44px;min-width:44px;padding:12px 24px;transition:all .2s ease-in-out}.touch-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.touch-button:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.touch-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.touch-button.loading{position:relative;color:transparent}.touch-button.loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}.touch-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.touch-button:disabled:hover{transform:none;box-shadow:none}.touch-button.size-small{min-height:36px;min-width:36px;padding:8px 16px;font-size:.875rem}.touch-button.size-large{min-height:52px;min-width:52px;padding:16px 32px;font-size:1.125rem}.touch-button.variant-primary{background-color:var(--color-primary);color:var(--color-primary-contrast)}.touch-button.variant-primary:hover{background-color:var(--color-primary-dark)}.touch-button.variant-secondary{background-color:var(--color-secondary);color:var(--color-secondary-contrast)}.touch-button.variant-secondary:hover{background-color:var(--color-secondary-dark)}.touch-button.variant-outlined{background-color:transparent;border:2px solid var(--color-primary);color:var(--color-primary)}.touch-button.variant-outlined:hover{background-color:var(--color-primary);color:var(--color-primary-contrast)}.touch-button.variant-text{background-color:transparent;color:var(--color-primary);box-shadow:none}.touch-button.variant-text:hover{background-color:rgba(var(--color-primary-rgb),.08);box-shadow:none}@media(max-width:639px){.touch-button{min-height:48px;min-width:48px;padding:14px 28px;margin:4px}.touch-button:active{background-color:#0000001a}}@media(min-width:640px){.touch-button{min-height:46px;min-width:46px;padding:13px 26px}}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.button-group{display:flex;gap:var(--spacing-sm)}.button-group.direction-row{flex-direction:row;align-items:center}.button-group.direction-column{flex-direction:column;align-items:stretch}.button-group.align-start{align-items:flex-start}.button-group.align-center{align-items:center}.button-group.align-end{align-items:flex-end}.button-group.justify-start{justify-content:flex-start}.button-group.justify-center{justify-content:center}.button-group.justify-end{justify-content:flex-end}.button-group.justify-between{justify-content:space-between}.button-group.justify-around{justify-content:space-around}.button-group.full-width{width:100%}.button-group.full-width .touch-button{flex:1}@media(max-width:639px){.button-group.responsive{flex-direction:column}.button-group.responsive .touch-button{width:100%}.button-group{gap:var(--spacing-xs)}}@media(min-width:640px){.button-group{gap:var(--spacing-sm)}}@media(min-width:1024px){.button-group{gap:var(--spacing-md)}}.responsive-table-container{position:relative;width:100%}.responsive-table-container .scroll-indicators{position:absolute;top:8px;right:8px;z-index:2;display:flex;gap:4px}.responsive-table-container .scroll-indicators .scroll-button{background-color:#ffffffe6;border:1px solid var(--color-border);box-shadow:0 2px 4px #0000001a}.responsive-table-container .scroll-indicators .scroll-button:hover{background-color:var(--color-primary);color:#fff}.responsive-table-container .scroll-indicators .scroll-button:disabled{opacity:.5;cursor:not-allowed}.responsive-table-container .responsive-table-wrapper{border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm)}.responsive-table-container .responsive-table-wrapper::-webkit-scrollbar{height:8px;width:8px}.responsive-table-container .responsive-table-wrapper::-webkit-scrollbar-track{background-color:var(--color-background-secondary);border-radius:4px}.responsive-table-container .responsive-table-wrapper::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:4px}.responsive-table-container .responsive-table-wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-secondary)}.responsive-table-container .responsive-table-wrapper{scrollbar-width:thin;scrollbar-color:var(--color-border) var(--color-background-secondary)}.responsive-table-container .responsive-table .table-header{background-color:var(--color-background-secondary);font-weight:600;color:var(--color-text-primary);border-bottom:2px solid var(--color-border)}.responsive-table-container .responsive-table .table-header.sticky-column{box-shadow:2px 0 4px #0000001a;border-right:1px solid var(--color-border)}.responsive-table-container .responsive-table .table-header.sortable{cursor:pointer;transition:background-color .2s ease}.responsive-table-container .responsive-table .table-header.sortable:hover{background-color:var(--color-primary-light)}.responsive-table-container .responsive-table .table-row{transition:background-color .2s ease}.responsive-table-container .responsive-table .table-row.clickable{cursor:pointer}.responsive-table-container .responsive-table .table-row.clickable:hover{background-color:var(--color-background-hover)}.responsive-table-container .responsive-table .table-row .table-cell{border-bottom:1px solid var(--color-border-light);padding:12px 16px}.responsive-table-container .responsive-table .table-row .table-cell.sticky-column{box-shadow:2px 0 4px #0000000d;border-right:1px solid var(--color-border-light)}.responsive-table-container .responsive-table .actions-column,.responsive-table-container .responsive-table .actions-cell{background-color:var(--color-background-paper);box-shadow:-2px 0 4px #0000001a;border-left:1px solid var(--color-border)}.responsive-table-container .responsive-table-loading,.responsive-table-container .responsive-table-empty{display:flex;align-items:center;justify-content:center;padding:48px 24px;text-align:center;border:1px solid var(--color-border);border-radius:var(--border-radius-md);background-color:var(--color-background-paper)}.table-skeleton-container .table-skeleton-wrapper{border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm)}.table-skeleton-container .table-skeleton .skeleton-header{background-color:var(--color-background-secondary);border-bottom:2px solid var(--color-border)}.table-skeleton-container .table-skeleton .skeleton-header.sticky-column{box-shadow:2px 0 4px #0000001a;border-right:1px solid var(--color-border)}.table-skeleton-container .table-skeleton .skeleton-row .skeleton-cell{border-bottom:1px solid var(--color-border-light);padding:12px 16px}.table-skeleton-container .table-skeleton .skeleton-row .skeleton-cell.sticky-column{box-shadow:2px 0 4px #0000000d;border-right:1px solid var(--color-border-light)}.table-skeleton-container .table-skeleton .skeleton-actions-column,.table-skeleton-container .table-skeleton .skeleton-actions-cell{background-color:var(--color-background-paper);box-shadow:-2px 0 4px #0000001a;border-left:1px solid var(--color-border)}@media(max-width:639px){.responsive-table-container .scroll-indicators{top:4px;right:4px}.responsive-table-container .scroll-indicators .scroll-button{width:32px;height:32px;min-width:32px}.responsive-table-container .responsive-table .table-header,.responsive-table-container .responsive-table .table-cell{padding:8px 12px;font-size:.875rem}.responsive-table-container .responsive-table .table-cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.table-skeleton-container .skeleton-cell{padding:8px 12px}}@media(min-width:640px){.responsive-table-container .responsive-table .table-header,.responsive-table-container .responsive-table .table-cell{padding:10px 14px}}@media(min-width:1024px){.responsive-table-container .scroll-indicators{display:none}.responsive-table-container .responsive-table .table-cell{max-width:none;white-space:normal}}@keyframes tableSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.responsive-table-container{animation:tableSlideIn .3s ease-out}.responsive-table .table-row:hover .sticky-column,.responsive-table .table-row:hover .actions-cell{background-color:var(--color-background-hover)}.responsive-table .table-header:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.responsive-table .table-row.clickable:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.responsive-table-wrapper{position:relative}.responsive-table-wrapper:before,.responsive-table-wrapper:after{content:"";position:absolute;top:0;bottom:0;width:20px;pointer-events:none;z-index:1;transition:opacity .3s ease}.responsive-table-wrapper:before{left:0;background:linear-gradient(to right,rgba(255,255,255,.8),transparent);opacity:0}.responsive-table-wrapper:after{right:0;background:linear-gradient(to left,rgba(255,255,255,.8),transparent);opacity:0}.responsive-table-wrapper.can-scroll-left:before{opacity:1}.responsive-table-wrapper.can-scroll-right:after{opacity:1}.dialog-alert .MuiDialog-paper,.dialog-confirm .MuiDialog-paper,.dialog-modal .MuiDialog-paper,.dialog-bottom-sheet .MuiDialog-paper{box-shadow:var(--shadow-lg);border-radius:var(--border-radius-lg);transition:all .3s cubic-bezier(.4,0,.2,1)}.dialog-alert .MuiDialogTitle-root,.dialog-confirm .MuiDialogTitle-root,.dialog-modal .MuiDialogTitle-root,.dialog-bottom-sheet .MuiDialogTitle-root{padding:24px 24px 16px;border-bottom:1px solid var(--color-border-light)}.dialog-alert .MuiDialogTitle-root .MuiTypography-root,.dialog-confirm .MuiDialogTitle-root .MuiTypography-root,.dialog-modal .MuiDialogTitle-root .MuiTypography-root,.dialog-bottom-sheet .MuiDialogTitle-root .MuiTypography-root{font-weight:600;color:var(--color-text-primary)}.dialog-alert .MuiDialogContent-root,.dialog-confirm .MuiDialogContent-root,.dialog-modal .MuiDialogContent-root,.dialog-bottom-sheet .MuiDialogContent-root{padding:24px;color:var(--color-text-secondary);line-height:1.6}.dialog-alert .MuiDialogActions-root,.dialog-confirm .MuiDialogActions-root,.dialog-modal .MuiDialogActions-root,.dialog-bottom-sheet .MuiDialogActions-root{padding:16px 24px 24px;border-top:1px solid var(--color-border-light)}.dialog-alert .MuiDialog-paper{min-width:320px;max-width:400px}.dialog-alert .MuiDialogActions-root{justify-content:center}.dialog-confirm .MuiDialog-paper{min-width:320px;max-width:500px}.dialog-confirm .MuiDialogActions-root{justify-content:flex-end;gap:12px}.dialog-modal .MuiDialog-paper{max-height:calc(100vh - 64px);display:flex;flex-direction:column}.dialog-modal .MuiDialogContent-root{flex:1;overflow-y:auto;padding:0}.dialog-modal .MuiDialogContent-root::-webkit-scrollbar{width:8px}.dialog-modal .MuiDialogContent-root::-webkit-scrollbar-track{background-color:var(--color-background-secondary)}.dialog-modal .MuiDialogContent-root::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:4px}.dialog-modal .MuiDialogContent-root::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-secondary)}.dialog-bottom-sheet .MuiDialog-container{align-items:flex-end}.dialog-bottom-sheet .MuiDialog-paper{margin:0;border-radius:16px 16px 0 0;max-height:80vh;min-height:200px;width:100%;transform-origin:bottom}.dialog-bottom-sheet .MuiBackdrop-root{background-color:#00000080}.dialog-bottom-sheet .drag-handle{width:40px;height:4px;background-color:var(--color-border);border-radius:2px;margin:8px auto 16px;cursor:pointer;transition:background-color .2s ease}.dialog-bottom-sheet .drag-handle:hover{background-color:var(--color-text-secondary)}@media(max-width:639px){.dialog-alert .MuiDialog-paper,.dialog-confirm .MuiDialog-paper{margin:16px;width:calc(100% - 32px);max-width:none;border-radius:var(--border-radius-md)}.dialog-alert .MuiDialogTitle-root,.dialog-confirm .MuiDialogTitle-root{padding:20px 20px 12px}.dialog-alert .MuiDialogTitle-root .MuiTypography-root,.dialog-confirm .MuiDialogTitle-root .MuiTypography-root{font-size:1.25rem}.dialog-alert .MuiDialogContent-root,.dialog-confirm .MuiDialogContent-root{padding:20px;font-size:1rem}.dialog-alert .MuiDialogActions-root,.dialog-confirm .MuiDialogActions-root{padding:12px 20px 20px;flex-direction:column;gap:8px}.dialog-alert .MuiDialogActions-root .touch-button,.dialog-confirm .MuiDialogActions-root .touch-button{width:100%;min-height:48px}.dialog-confirm .MuiDialogActions-root{flex-direction:column-reverse}.dialog-modal .MuiDialog-paper{margin:0;width:100%;height:100%;max-height:100vh;border-radius:0}.dialog-modal .MuiDialogTitle-root{padding:16px 20px 12px;position:sticky;top:0;background-color:var(--color-background-paper);z-index:1}.dialog-modal .MuiDialogTitle-root .MuiTypography-root{font-size:1.25rem}.dialog-bottom-sheet .MuiDialog-paper{max-height:90vh;border-radius:20px 20px 0 0}.dialog-bottom-sheet .drag-handle{width:48px;height:5px;margin:12px auto 20px}}@media(min-width:640px){.dialog-alert .MuiDialog-paper,.dialog-confirm .MuiDialog-paper{margin:24px;max-width:600px}.dialog-modal .MuiDialog-paper{margin:24px;max-height:calc(100vh - 48px);border-radius:var(--border-radius-lg)}}.dialog-loading .MuiDialogContent-root{display:flex;align-items:center;justify-content:center;min-height:120px}@keyframes dialogSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes dialogFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.dialog-bottom-sheet .MuiDialog-paper{animation:dialogSlideUp .3s cubic-bezier(.4,0,.2,1)}.dialog-alert .MuiDialog-paper,.dialog-confirm .MuiDialog-paper,.dialog-modal .MuiDialog-paper{animation:dialogFadeIn .3s cubic-bezier(.4,0,.2,1)}.dialog-alert .MuiDialog-paper:focus-visible,.dialog-confirm .MuiDialog-paper:focus-visible,.dialog-modal .MuiDialog-paper:focus-visible,.dialog-bottom-sheet .MuiDialog-paper:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.dialog-alert .MuiDialogTitle-root .MuiTypography-root[aria-describedby],.dialog-confirm .MuiDialogTitle-root .MuiTypography-root[aria-describedby],.dialog-modal .MuiDialogTitle-root .MuiTypography-root[aria-describedby],.dialog-bottom-sheet .MuiDialogTitle-root .MuiTypography-root[aria-describedby]{color:var(--color-text-primary)}.dialog-error .MuiDialogTitle-root{background-color:var(--color-error-light);color:var(--color-error-dark);border-bottom-color:var(--color-error)}.dialog-error .MuiDialog-paper{border:2px solid var(--color-error)}.dialog-success .MuiDialogTitle-root{background-color:var(--color-success-light);color:var(--color-success-dark);border-bottom-color:var(--color-success)}.dialog-success .MuiDialog-paper{border:2px solid var(--color-success)}.dialog-warning .MuiDialogTitle-root{background-color:var(--color-warning-light);color:var(--color-warning-dark);border-bottom-color:var(--color-warning)}.dialog-warning .MuiDialog-paper{border:2px solid var(--color-warning)}.base-skeleton.MuiSkeleton-root{background:linear-gradient(90deg,#fff0,#fff3 20%,#ffffff80,#fff3 80%,#fff0);background-size:200px 100%;background-repeat:no-repeat;border-radius:4px;display:inline-block;line-height:1;width:100%;animation:skeleton-loading 1.2s ease-in-out infinite}@media(prefers-color-scheme:dark){.base-skeleton.MuiSkeleton-root{background:linear-gradient(90deg,#fff0,#ffffff0d 20%,#ffffff1a,#ffffff0d 80%,#fff0)}}.base-skeleton-multiline .MuiSkeleton-root:last-child{width:75%!important}.card-skeleton .MuiCard-root{overflow:hidden}.card-skeleton .MuiCard-root .MuiCardContent-root{padding:16px}@media(max-width:768px){.card-skeleton .MuiCard-root .MuiCardContent-root{padding:12px}}.card-skeleton .MuiCard-root .MuiCardActions-root{padding:8px 16px 16px}@media(max-width:768px){.card-skeleton .MuiCard-root .MuiCardActions-root{padding:8px 12px 12px}.card-skeleton .MuiCard-root .MuiCardActions-root .MuiSkeleton-root{min-height:44px}}.list-skeleton .MuiList-root{padding:0}.list-skeleton .MuiList-root .MuiListItem-root{padding:12px 16px}@media(max-width:768px){.list-skeleton .MuiList-root .MuiListItem-root{padding:16px}}.list-skeleton .MuiList-root .MuiListItem-root.MuiListItem-dense{padding:8px 16px}@media(max-width:768px){.list-skeleton .MuiList-root .MuiListItem-root.MuiListItem-dense{padding:12px 16px}}.list-skeleton .MuiList-root .MuiListItemAvatar-root{min-width:56px}@media(max-width:768px){.list-skeleton .MuiList-root .MuiListItemAvatar-root{min-width:48px}}.list-skeleton .MuiList-root .MuiDivider-root{margin-left:72px}@media(max-width:768px){.list-skeleton .MuiList-root .MuiDivider-root{margin-left:64px}}.form-skeleton .MuiPaper-root{background-color:var(--mui-palette-background-paper)}.form-skeleton .MuiPaper-root .form-field-skeleton{margin-bottom:20px}@media(max-width:768px){.form-skeleton .MuiPaper-root .form-field-skeleton{margin-bottom:24px}}.form-skeleton .MuiPaper-root .form-field-skeleton .field-label-skeleton{margin-bottom:8px;display:block}.form-skeleton .MuiPaper-root .form-field-skeleton .field-input-skeleton{width:100%;border-radius:4px}.form-skeleton .MuiPaper-root .form-field-skeleton .field-input-skeleton.textarea{min-height:80px}@media(max-width:768px){.form-skeleton .MuiPaper-root .form-field-skeleton .field-input-skeleton.textarea{min-height:100px}}@media(max-width:768px){.form-skeleton .MuiPaper-root .form-field-skeleton .field-input-skeleton.mobile-optimized{min-height:44px}}.form-skeleton .MuiPaper-root .form-field-skeleton .field-help-skeleton{margin-top:4px;opacity:.7}.form-skeleton .MuiPaper-root .form-section-skeleton{margin-bottom:32px}.form-skeleton .MuiPaper-root .form-section-skeleton:last-child{margin-bottom:0}.form-skeleton .MuiPaper-root .form-section-skeleton .section-title-skeleton{margin-bottom:16px;font-weight:600}.form-skeleton .MuiPaper-root .form-actions-skeleton{margin-top:32px;display:flex;gap:16px}@media(max-width:768px){.form-skeleton .MuiPaper-root .form-actions-skeleton{flex-direction:column;gap:12px}.form-skeleton .MuiPaper-root .form-actions-skeleton .MuiSkeleton-root{width:100%!important;min-height:44px}}@media(min-width:769px){.form-skeleton .MuiPaper-root .form-actions-skeleton{justify-content:flex-end}}@keyframes skeleton-loading{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton-pulse{animation:skeleton-pulse 1.5s ease-in-out infinite}@keyframes skeleton-pulse{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.skeleton-wave{position:relative;overflow:hidden}.skeleton-wave:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:skeleton-wave 1.6s linear infinite}@keyframes skeleton-wave{0%{transform:translate(-100%)}50%{transform:translate(100%)}to{transform:translate(100%)}}@media(max-width:768px){.skeleton-mobile-optimized .MuiSkeleton-text{font-size:.875rem}.skeleton-mobile-optimized .MuiSkeleton-rectangular{min-height:44px}.skeleton-mobile-optimized .MuiSkeleton-circular.avatar-small{width:32px;height:32px}.skeleton-mobile-optimized .MuiSkeleton-circular.avatar-medium{width:40px;height:40px}.skeleton-mobile-optimized .MuiSkeleton-circular.avatar-large{width:56px;height:56px}}.skeleton-error .MuiSkeleton-root{background-color:#f443361a}.skeleton-error .MuiSkeleton-root:after{background:linear-gradient(90deg,transparent,rgba(244,67,54,.2),transparent)}.skeleton-success .MuiSkeleton-root{background-color:#4caf501a}.skeleton-success .MuiSkeleton-root:after{background:linear-gradient(90deg,transparent,rgba(76,175,80,.2),transparent)}@media(prefers-reduced-motion:reduce){.MuiSkeleton-root,.skeleton-pulse,.skeleton-wave{animation:none}}@media(prefers-contrast:high){.MuiSkeleton-root{background-color:#0003}}@media(prefers-contrast:high)and (prefers-color-scheme:dark){.MuiSkeleton-root{background-color:#fff3}}.optimized-image-container{position:relative;overflow:hidden}.optimized-image-container img{width:100%;height:100%;object-fit:cover;transition:opacity .3s ease-in-out}@media(prefers-reduced-motion:reduce){.optimized-image-container img{transition:none}}.optimized-image-container.loading{background-color:var(--mui-palette-grey-100)}.optimized-image-container.loading:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 1.5s infinite}.optimized-image-skeleton{background-color:var(--mui-palette-grey-100);border-radius:4px}.optimized-image-skeleton .MuiSkeleton-root{border-radius:inherit}.optimized-image-error{background-color:var(--mui-palette-grey-50);border:1px dashed var(--mui-palette-grey-300);color:var(--mui-palette-grey-500)}.optimized-image-error .MuiIconButton-root{background-color:var(--mui-palette-background-paper);box-shadow:0 2px 4px #0000001a}.optimized-image-error .MuiIconButton-root:hover{background-color:var(--mui-palette-grey-50)}.optimized-avatar.circular{border-radius:50%}.optimized-avatar.rounded{border-radius:8px}.optimized-avatar.square{border-radius:0}.virtualized-list{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){.virtualized-list{scroll-behavior:auto}}.virtualized-list::-webkit-scrollbar{width:8px}@media(max-width:768px){.virtualized-list::-webkit-scrollbar{width:4px}}.virtualized-list::-webkit-scrollbar-track{background:var(--mui-palette-grey-100);border-radius:4px}.virtualized-list::-webkit-scrollbar-thumb{background:var(--mui-palette-grey-400);border-radius:4px}.virtualized-list::-webkit-scrollbar-thumb:hover{background:var(--mui-palette-grey-500)}.virtualized-list .virtual-item{position:absolute;left:0;right:0;will-change:transform;contain:layout style paint}.virtualized-list .virtual-loading{display:flex;justify-content:center;align-items:center;padding:16px}@media(prefers-reduced-motion:reduce){.virtualized-list .virtual-loading .MuiCircularProgress-root{animation:none}}.lazy-wrapper{position:relative}.lazy-wrapper .lazy-loading{display:flex;justify-content:center;align-items:center;min-height:200px}@media(prefers-reduced-motion:reduce){.lazy-wrapper .lazy-loading .MuiCircularProgress-root{animation:none}}.lazy-wrapper .lazy-error{padding:16px}.lazy-wrapper .lazy-error .MuiAlert-root{border-radius:8px}.lazy-wrapper .lazy-skeleton{padding:16px}.lazy-wrapper .lazy-skeleton .MuiSkeleton-root{margin-bottom:16px}.lazy-wrapper .lazy-skeleton .MuiSkeleton-root:last-child{margin-bottom:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.performance-animation.fade-in{animation:fadeIn .3s ease-out}@media(prefers-reduced-motion:reduce){.performance-animation.fade-in{animation:none}}.performance-animation.slide-up{animation:slideUp .4s ease-out}@media(prefers-reduced-motion:reduce){.performance-animation.slide-up{animation:none}}@media(max-width:768px){.optimized-image-container{transform:translateZ(0);-webkit-transform:translateZ(0)}.virtualized-list{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}.virtualized-list .virtual-item{will-change:transform;transform:translateZ(0)}.lazy-wrapper{-webkit-tap-highlight-color:transparent;touch-action:manipulation}}@media(prefers-contrast:high){.optimized-image-error{border-color:var(--mui-palette-text-primary);background-color:var(--mui-palette-background-paper)}.virtualized-list::-webkit-scrollbar-thumb{background:var(--mui-palette-text-primary)}}@media(prefers-color-scheme:dark){.optimized-image-skeleton{background-color:#ffffff1a}.optimized-image-error{background-color:#ffffff0d;border-color:#fff3;color:#ffffffb3}.virtualized-list::-webkit-scrollbar-track{background:#ffffff1a}.virtualized-list::-webkit-scrollbar-thumb{background:#ffffff4d}.virtualized-list::-webkit-scrollbar-thumb:hover{background:#ffffff80}}.low-performance-device .optimized-image-container img{transition:none}.low-performance-device .optimized-image-container.loading:before{animation:none}.low-performance-device .virtualized-list{scroll-behavior:auto}.low-performance-device .performance-animation,.low-performance-device .MuiSkeleton-root{animation:none!important}.no-intersection-observer .lazy-wrapper .lazy-skeleton,.no-intersection-observer .optimized-image-skeleton{display:none}@media print{.virtualized-list{overflow:visible!important;height:auto!important}.lazy-wrapper .lazy-loading,.lazy-wrapper .lazy-skeleton,.optimized-image-container .loading-overlay{display:none}}.dashboard-layout{display:flex;min-height:100vh;background-color:var(--color-background, #f9fafb)}.dashboard-sidebar{flex-shrink:0}.dashboard-main{flex:1;display:flex;flex-direction:column;margin-left:280px;min-height:100vh}.dashboard-header{background-color:var(--color-surface, #ffffff);border-bottom:1px solid var(--color-border, #e5e7eb);padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between}.dashboard-content{flex:1;padding:2rem;overflow-y:auto}.dashboard-title{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary, #1a1a1a)}.dashboard-subtitle{margin:.5rem 0 0;font-size:var(--font-size-sm);color:var(--color-text-secondary, #666666)}.dashboard-actions{display:flex;align-items:center;gap:1rem}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.metric-card{background-color:var(--color-surface, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:.75rem;padding:1.5rem}.metric-card .metric-label{font-size:var(--font-size-sm);color:var(--color-text-secondary, #666666);margin-bottom:.5rem}.metric-card .metric-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary, #1a1a1a);margin-bottom:.25rem}.metric-card .metric-change{font-size:var(--font-size-xs);display:flex;align-items:center;gap:.25rem}.metric-card .metric-change.positive{color:var(--color-success, #10b981)}.metric-card .metric-change.negative{color:var(--color-error, #ef4444)}@media(max-width:768px){.dashboard-main{margin-left:0}.dashboard-content,.dashboard-header{padding:1rem}.metrics-grid{grid-template-columns:1fr;gap:1rem}}.crud-layout{display:flex;flex-direction:column;gap:2rem}.crud-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.crud-title{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary, #1a1a1a)}.crud-actions{display:flex;align-items:center;gap:1rem}.crud-filters{background-color:var(--color-surface, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:.75rem;padding:1.5rem}.crud-filters .filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;align-items:end}.crud-content{background-color:var(--color-surface, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:.75rem;overflow:hidden}.crud-toolbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border, #e5e7eb);background-color:var(--color-gray-50, #f9fafb)}.crud-search{display:flex;align-items:center;gap:1rem}.crud-search .search-input{min-width:300px}.crud-bulk-actions{display:flex;align-items:center;gap:.75rem}.crud-bulk-actions .selected-count{font-size:var(--font-size-sm);color:var(--color-text-secondary, #666666)}.crud-table{width:100%}.crud-pagination{display:flex;align-items:center;justify-content:between;padding:1rem 1.5rem;border-top:1px solid var(--color-border, #e5e7eb);background-color:var(--color-gray-50, #f9fafb)}.pagination-info{font-size:var(--font-size-sm);color:var(--color-text-secondary, #666666)}.pagination-controls{display:flex;align-items:center;gap:.5rem;margin-left:auto}.pagination-btn{padding:.5rem .75rem;border:1px solid var(--color-border, #e5e7eb);background-color:var(--color-surface, #ffffff);color:var(--color-text-secondary, #666666);border-radius:.375rem;font-size:var(--font-size-sm);cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background-color:var(--color-gray-50, #f9fafb)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-btn.active{background-color:var(--color-primary, #2563eb);color:#fff;border-color:var(--color-primary, #2563eb)}.crud-modal .modal-content{max-width:600px;width:90vw}@media(max-width:768px){.crud-header{flex-direction:column;align-items:stretch}.crud-actions{justify-content:stretch}.crud-toolbar{flex-direction:column;gap:1rem;align-items:stretch}.crud-search .search-input{min-width:auto;width:100%}.crud-pagination{flex-direction:column;gap:1rem;align-items:stretch}.pagination-controls{margin-left:0;justify-content:center}}.container{width:100%;padding-right:.75rem;padding-left:.75rem;margin-right:auto;margin-left:auto}@media(min-width:576px){.container{max-width:540px}}@media(min-width:768px){.container{max-width:720px}}@media(min-width:992px){.container{max-width:960px}}@media(min-width:1200px){.container{max-width:1140px}}@media(min-width:1400px){.container{max-width:1320px}}.row{display:flex;flex-wrap:wrap;margin-right:-.75rem;margin-left:-.75rem}.col{flex:1 0 0%;padding-left:.75rem;padding-right:.75rem}.col-auto{flex:0 0 auto;width:auto;padding-left:.75rem;padding-right:.75rem}.col-1{flex:0 0 8.3333333333%;max-width:8.3333333333%;padding-left:.75rem;padding-right:.75rem}.col-2{flex:0 0 16.6666666667%;max-width:16.6666666667%;padding-left:.75rem;padding-right:.75rem}.col-3{flex:0 0 25%;max-width:25%;padding-left:.75rem;padding-right:.75rem}.col-4{flex:0 0 33.3333333333%;max-width:33.3333333333%;padding-left:.75rem;padding-right:.75rem}.col-5{flex:0 0 41.6666666667%;max-width:41.6666666667%;padding-left:.75rem;padding-right:.75rem}.col-6{flex:0 0 50%;max-width:50%;padding-left:.75rem;padding-right:.75rem}.col-7{flex:0 0 58.3333333333%;max-width:58.3333333333%;padding-left:.75rem;padding-right:.75rem}.col-8{flex:0 0 66.6666666667%;max-width:66.6666666667%;padding-left:.75rem;padding-right:.75rem}.col-9{flex:0 0 75%;max-width:75%;padding-left:.75rem;padding-right:.75rem}.col-10{flex:0 0 83.3333333333%;max-width:83.3333333333%;padding-left:.75rem;padding-right:.75rem}.col-11{flex:0 0 91.6666666667%;max-width:91.6666666667%;padding-left:.75rem;padding-right:.75rem}.col-12{flex:0 0 100%;max-width:100%;padding-left:.75rem;padding-right:.75rem}@media(min-width:576px){.col-sm-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-sm-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-12{flex:0 0 100%;max-width:100%}}@media(min-width:768px){.col-md-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-md-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-12{flex:0 0 100%;max-width:100%}}@media(min-width:992px){.col-lg-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-lg-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-12{flex:0 0 100%;max-width:100%}}@media(max-width:575.98px){.d-xs-none{display:none!important}.d-xs-block{display:block!important}.d-xs-flex{display:flex!important}}@media(min-width:576px)and (max-width:767.98px){.d-sm-none{display:none!important}.d-sm-block{display:block!important}.d-sm-flex{display:flex!important}}@media(min-width:768px)and (max-width:991.98px){.d-md-none{display:none!important}.d-md-block{display:block!important}.d-md-flex{display:flex!important}}@media(min-width:992px){.d-lg-none{display:none!important}.d-lg-block{display:block!important}.d-lg-flex{display:flex!important}}@media(max-width:767.98px){.text-sm-left{text-align:left!important}.text-sm-center{text-align:center!important}.text-sm-right{text-align:right!important}}@media(max-width:767.98px){.flex-sm-column{flex-direction:column!important}.flex-sm-row{flex-direction:row!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-center{justify-content:center!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-center{align-items:center!important}}@media(max-width:767.98px){.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.ml-0{margin-left:0!important}.ml-1{margin-left:.25rem!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:1rem!important}.ml-4{margin-left:1.5rem!important}.ml-5{margin-left:3rem!important}.mr-0{margin-right:0!important}.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.mr-3{margin-right:1rem!important}.mr-4{margin-right:1.5rem!important}.mr-5{margin-right:3rem!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.pl-0{padding-left:0!important}.pl-1{padding-left:.25rem!important}.pl-2{padding-left:.5rem!important}.pl-3{padding-left:1rem!important}.pl-4{padding-left:1.5rem!important}.pl-5{padding-left:3rem!important}.pr-0{padding-right:0!important}.pr-1{padding-right:.25rem!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:1rem!important}.pr-4{padding-right:1.5rem!important}.pr-5{padding-right:3rem!important}.text-left{text-align:left!important}.text-center{text-align:center!important}.text-right{text-align:right!important}.text-justify{text-align:justify!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-normal{font-weight:400!important}.font-weight-medium{font-weight:500!important}.font-weight-semibold{font-weight:600!important}.font-weight-bold{font-weight:700!important}.text-muted{color:var(--color-text-muted, #9ca3af)!important}.text-primary{color:var(--color-primary, #2563eb)!important}.text-success{color:var(--color-success, #10b981)!important}.text-warning{color:var(--color-warning, #f59e0b)!important}.text-error{color:var(--color-error, #ef4444)!important}.d-none{display:none!important}.d-block{display:block!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-grid{display:grid!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.border{border:1px solid var(--color-border, #e5e7eb)!important}.border-0{border:0!important}.border-top{border-top:1px solid var(--color-border, #e5e7eb)!important}.border-bottom{border-bottom:1px solid var(--color-border, #e5e7eb)!important}.border-left{border-left:1px solid var(--color-border, #e5e7eb)!important}.border-right{border-right:1px solid var(--color-border, #e5e7eb)!important}.rounded{border-radius:.375rem!important}.rounded-0{border-radius:0!important}.rounded-sm{border-radius:.25rem!important}.rounded-lg{border-radius:.5rem!important}.rounded-xl{border-radius:.75rem!important}.rounded-full{border-radius:9999px!important}.shadow-none{box-shadow:none!important}.shadow-sm{box-shadow:0 1px 2px #0000000d!important}.shadow{box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f!important}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f!important}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.cursor-pointer{cursor:pointer!important}.cursor-default{cursor:default!important}.cursor-not-allowed{cursor:not-allowed!important}.user-select-none{-webkit-user-select:none!important;user-select:none!important}.user-select-auto{-webkit-user-select:auto!important;user-select:auto!important}.user-select-all{-webkit-user-select:all!important;user-select:all!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scaleOut{0%{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-30px,0)}70%{transform:translate3d(0,-15px,0)}90%{transform:translate3d(0,-4px,0)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-10px)}20%,40%,60%,80%{transform:translate(10px)}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-fade-out{animation:fadeOut .3s ease-out}.animate-slide-in-up{animation:slideInUp .3s ease-out}.animate-slide-in-down{animation:slideInDown .3s ease-out}.animate-slide-in-left{animation:slideInLeft .3s ease-out}.animate-slide-in-right{animation:slideInRight .3s ease-out}.animate-scale-in{animation:scaleIn .2s ease-out}.animate-scale-out{animation:scaleOut .2s ease-out}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-bounce{animation:bounce 1s infinite}.animate-shake{animation:shake .5s ease-in-out}.duration-75{animation-duration:75ms}.duration-100{animation-duration:.1s}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.duration-700{animation-duration:.7s}.duration-1000{animation-duration:1s}.delay-75{animation-delay:75ms}.delay-100{animation-delay:.1s}.delay-150{animation-delay:.15s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-500{animation-delay:.5s}.delay-700{animation-delay:.7s}.delay-1000{animation-delay:1s}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-none{transition-property:none}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-linear{transition-timing-function:linear}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover-lift{transition:transform .2s ease}.hover-lift:hover{transform:translateY(-2px)}.hover-scale{transition:transform .2s ease}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:box-shadow .2s ease}.hover-glow:hover{box-shadow:0 0 20px #2563eb4d}.loading{position:relative;overflow:hidden}.loading:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.sr-only,.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:focus,.visually-hidden-focusable:focus{position:static;width:auto;height:auto;padding:inherit;margin:inherit;overflow:visible;clip:auto;white-space:normal}.focus-visible{outline:2px solid var(--color-primary, #2563eb);outline-offset:2px}.focus-ring:focus{outline:none;box-shadow:0 0 0 3px #2563eb4d}.skip-link{position:absolute;top:-40px;left:6px;background:var(--color-primary, #2563eb);color:#fff;padding:8px;text-decoration:none;border-radius:0 0 4px 4px;z-index:1000}.skip-link:focus{top:0}@media(prefers-contrast:high){.btn,.form-input,.form-select,.form-textarea,.card{border:2px solid currentColor}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(prefers-color-scheme:dark){:root{--color-background: #0f172a;--color-surface: #1e293b;--color-text-primary: #f8fafc;--color-text-secondary: #cbd5e1;--color-text-muted: #64748b;--color-border: #334155}}@media(prefers-reduced-data:reduce){*{animation:none!important;transition:none!important}img,video{display:none}}.keyboard-navigation .btn:focus,.keyboard-navigation .form-input:focus,.keyboard-navigation .form-select:focus,.keyboard-navigation .form-textarea:focus,.keyboard-navigation .nav-link:focus,.keyboard-navigation a:focus{outline:2px solid var(--color-primary, #2563eb);outline-offset:2px}.live-region,.success-announcement,.error-announcement{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.focus-trap:focus{outline:none}.text-contrast-aa{color:var(--color-text-primary, #1a1a1a)}.text-contrast-aaa{color:#000}.touch-target{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}.semantic-error{color:var(--color-error, #ef4444)}.semantic-error:before{content:"⚠️ ";speak:literal}.semantic-success{color:var(--color-success, #10b981)}.semantic-success:before{content:"✅ ";speak:literal}.semantic-warning{color:var(--color-warning, #f59e0b)}.semantic-warning:before{content:"⚠️ ";speak:literal}.semantic-info{color:var(--color-info, #3b82f6)}.semantic-info:before{content:"ℹ️ ";speak:literal}@media print{.no-print{display:none!important}.print-only{display:block!important}*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.btn{border:1px solid black;background:#fff}}[dir=rtl] .ml-auto{margin-left:0;margin-right:auto}[dir=rtl] .mr-auto{margin-right:0;margin-left:auto}[dir=rtl] .text-left{text-align:right}[dir=rtl] .text-right{text-align:left}
