:root{--color-primary: #2d2d2d;--color-primary-light: #3d3d3d;--color-primary-dark: #1a1a1a;--color-accent: #ff6b35;--color-accent-light: rgba(255, 107, 53, .15);--color-accent-dark: #e55a2b;--color-accent-hover: #ff8c5a;--color-background: #1a1a1a;--color-background-secondary: #242424;--color-background-tertiary: #2d2d2d;--color-surface: #2d2d2d;--color-surface-hover: #3d3d3d;--color-text: #ffffff;--color-text-secondary: #b0b0b0;--color-text-muted: #707070;--color-border: #404040;--color-border-light: #505050;--color-success: #4caf50;--color-success-light: rgba(76, 175, 80, .15);--color-warning: #ff9800;--color-warning-light: rgba(255, 152, 0, .15);--color-warning-dark: #e65100;--color-error: #f44336;--color-error-light: rgba(244, 67, 54, .15);--color-info: #2196f3;--color-info-light: rgba(33, 150, 243, .15);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .6);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--duration-fast: .15s;--duration-normal: .3s;--duration-slow: .5s;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--sidebar-width: 280px;--sidebar-collapsed-width: 72px;--header-height: 64px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out)}.animate-fade-in-up{animation:fadeInUp var(--duration-normal) var(--ease-out)}.animate-fade-in-down{animation:fadeInDown var(--duration-normal) var(--ease-out)}.animate-slide-in-left{animation:slideInLeft var(--duration-normal) var(--ease-out)}.animate-slide-in-right{animation:slideInRight var(--duration-normal) var(--ease-out)}.animate-scale-in{animation:scaleIn var(--duration-normal) var(--ease-bounce)}.animate-pulse{animation:pulse 2s var(--ease-in-out) infinite}.animate-spin{animation:spin 1s linear infinite}.animate-bounce{animation:bounce 1s var(--ease-in-out) infinite}.animate-delay-1{animation-delay:50ms;animation-fill-mode:both}.animate-delay-2{animation-delay:.1s;animation-fill-mode:both}.animate-delay-3{animation-delay:.15s;animation-fill-mode:both}.animate-delay-4{animation-delay:.2s;animation-fill-mode:both}.animate-delay-5{animation-delay:.25s;animation-fill-mode:both}.animate-delay-6{animation-delay:.3s;animation-fill-mode:both}.animate-delay-7{animation-delay:.35s;animation-fill-mode:both}.animate-delay-8{animation-delay:.4s;animation-fill-mode:both}.animate-delay-9{animation-delay:.45s;animation-fill-mode:both}.animate-delay-10{animation-delay:.5s;animation-fill-mode:both}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;width:100%;overflow-x:hidden}body{font-family:var(--font-family);font-size:var(--font-size-md);line-height:1.6;color:var(--color-text);background-color:var(--color-background);min-height:100vh;width:100%;max-width:100%;overflow-x:hidden;transition:background-color var(--duration-normal) var(--ease-out),color var(--duration-normal) var(--ease-out)}body::-webkit-scrollbar{width:8px;height:8px}body::-webkit-scrollbar-track{background:var(--color-background);border-radius:var(--radius-full)}body::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}body::-webkit-scrollbar-thumb:hover{background:var(--color-border-light)}body:before{content:"";position:fixed;inset:0;background:inherit;z-index:-1}a{color:var(--color-accent);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--color-accent-light)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:var(--color-text)}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)}h5{font-size:var(--font-size-md)}h6{font-size:var(--font-size-sm)}p{margin-bottom:var(--spacing-md)}p:last-child{margin-bottom:0}ul,ol{padding-left:var(--spacing-lg)}img{max-width:100%;height:auto}::selection{background:var(--color-accent);color:#fff}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.text-primary{color:var(--color-text)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-info{color:var(--color-info)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.font-normal{font-weight:400}.bg-primary{background-color:var(--color-primary)}.bg-surface{background-color:var(--color-surface)}.bg-accent{background-color:var(--color-accent)}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.m-0{margin:0}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.mt-0{margin-top:0}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-0{margin-bottom:0}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.p-0{padding:0}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.hidden{display:none}.invisible{visibility:hidden}.visible{visibility:visible}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg)}.card--hover{transition:transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.card--hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card--glass{background:#2d2d2dcc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);min-height:44px;min-width:44px;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:500;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);min-height:44px;min-width:44px;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:500;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:var(--color-accent);color:#fff}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-primary:hover:not(:disabled){background:var(--color-accent-light);transform:translateY(-1px)}.btn-primary:active:not(:disabled){background:var(--color-accent-dark);transform:translateY(0)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);min-height:44px;min-width:44px;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:500;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-accent)}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);min-height:44px;min-width:44px;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:500;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:transparent;color:var(--color-text)}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}.btn-ghost:hover:not(:disabled){background:var(--color-surface-hover)}.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);min-height:44px;min-width:44px;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:500;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:var(--color-error);color:#fff}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-danger:hover:not(:disabled){background:#f77066}.btn-success{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);min-height:44px;min-width:44px;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:500;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:var(--color-success);color:#fff}.btn-success:disabled{opacity:.5;cursor:not-allowed}.btn-success:hover:not(:disabled){background:#6ec071}.btn-icon{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);min-height:44px;min-width:44px;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:500;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;padding:var(--spacing-sm);background:transparent;color:var(--color-text-secondary)}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn-icon:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-hover)}.btn-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-md)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.input{width:100%;padding:var(--spacing-sm) var(--spacing-md);min-height:44px;font-family:var(--font-family);font-size:16px;color:var(--color-text);background:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.input::placeholder{color:var(--color-text-muted)}.input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #ff6b3533}.input:disabled{opacity:.5;cursor:not-allowed}.label{display:block;margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary)}.form-group{margin-bottom:var(--spacing-md)}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);font-weight:500;border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-secondary)}.badge--success{background:#4caf5033;color:var(--color-success)}.badge--warning{background:#ff980033;color:var(--color-warning)}.badge--error{background:#f4433633;color:var(--color-error)}.badge--info{background:#2196f333;color:var(--color-info)}.badge--accent{background:#ff6b3533;color:var(--color-accent)}.divider{height:1px;background:var(--color-border);margin:var(--spacing-md) 0}.skeleton{background:linear-gradient(90deg,var(--color-surface) 25%,var(--color-surface-hover) 50%,var(--color-surface) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.avatar{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);background:var(--color-accent);color:#fff;font-weight:600;font-size:var(--font-size-sm)}.avatar--sm{width:32px;height:32px;font-size:var(--font-size-xs)}.avatar--lg{width:56px;height:56px;font-size:var(--font-size-lg)}.avatar--xl{width:80px;height:80px;font-size:var(--font-size-2xl)}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-primary-dark);color:var(--color-text);font-size:var(--font-size-xs);border-radius:var(--radius-sm);white-space:nowrap;opacity:0;visibility:hidden;transition:opacity var(--duration-fast),visibility var(--duration-fast);z-index:var(--z-tooltip)}.tooltip:hover:after{opacity:1;visibility:visible}input[type=datetime-local],input[type=date],input[type=time]{color:var(--color-text);background-color:var(--color-background-secondary);color-scheme:dark}input[type=datetime-local]::-webkit-calendar-picker-indicator,input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer;padding:8px}input,select,textarea{color:var(--color-text)!important;background-color:var(--color-background-secondary);font-size:16px!important}input::placeholder,select::placeholder,textarea::placeholder{color:var(--color-text-muted)}*{touch-action:manipulation}select{color-scheme:dark}select option{background:var(--color-surface);color:var(--color-text)}a,button,[role=button],input,select,textarea,label[for]{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a{min-height:44px;display:inline-flex;align-items:center}@supports (padding: env(safe-area-inset-bottom)){body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}}@media (max-width: 640px){.modal,.modal-content,[class*=modal]:not(.modal-overlay):not(.modal-backdrop){position:fixed!important;inset:0!important;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;margin:0!important;border-radius:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}.modal-header{position:sticky;top:0;z-index:10;background:var(--color-surface);padding:var(--spacing-md)!important;border-bottom:1px solid var(--color-border)}.modal-footer,.modal-actions{position:sticky;bottom:0;z-index:10;background:var(--color-surface);padding:var(--spacing-md)!important;border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-sm)}.modal-footer button,.modal-footer .btn,.modal-actions button,.modal-actions .btn{flex:1}.modal-body{flex:1;overflow-y:auto;padding:var(--spacing-md)!important;-webkit-overflow-scrolling:touch}.modal-close,.close-btn,[class*=close]{width:44px!important;height:44px!important;min-width:44px;min-height:44px}}@media (max-width: 768px){:root{--sidebar-width: 100%;--sidebar-collapsed-width: 0;--spacing-sm: 10px;--spacing-md: 18px}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}.hide-mobile{display:none!important}.btn,button,[type=submit],[type=button]{min-height:48px;padding:var(--spacing-md) var(--spacing-lg)}input,select,textarea{min-height:48px;font-size:16px!important}input[type=checkbox],input[type=radio]{width:22px;height:22px;min-height:auto}.form-group{margin-bottom:var(--spacing-lg)}}@media (min-width: 769px) and (max-width: 1024px){.grid-cols-4{grid-template-columns:repeat(2,1fr)}.hide-tablet{display:none!important}}@media (min-width: 769px){.hide-desktop{display:none!important}}@media (max-width: 768px){.page-container,.container{padding-left:1rem!important;padding-right:1rem!important;max-width:100%!important}table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.page-header{flex-direction:column!important;align-items:stretch!important;gap:1rem}.card{padding:1rem!important;border-radius:10px}.modal-content,.dialog-content{width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;border-radius:0!important;margin:0!important}}@media (max-width: 480px){.page-container,.container{padding-left:.75rem!important;padding-right:.75rem!important}h1{font-size:1.5rem!important}h2{font-size:1.25rem!important}h3{font-size:1.1rem!important}}html,body,#root,app-root{max-width:100%!important;overflow-x:hidden!important;width:100%!important}.layout{max-width:100%!important;overflow-x:hidden!important;width:100%!important}img,video,iframe,embed,object{max-width:100%;height:auto}@media (max-width: 1024px){.layout,.main-content,.content-area{max-width:100%!important;width:100%!important;overflow-x:hidden!important;box-sizing:border-box!important}.content-area>*,.page-container>*,main>*{max-width:100%!important;overflow-x:hidden;box-sizing:border-box}.page-container{width:100%!important;max-width:100%!important;padding:1rem!important;box-sizing:border-box!important}.flex,[class*=flex]{flex-wrap:wrap}.grid,[class*=grid]:not(.stats-grid):not(.quick-actions):not(.schedule-info){grid-template-columns:1fr!important}table,.table,[class*=table]{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.card{width:100%!important;max-width:100%!important;box-sizing:border-box!important}}
