html{font-size:clamp(12px,1.1111vw,20px)}:root{--color-primary: #0f172a;--color-primary-light: #1e293b;--color-accent: #3b82f6;--color-accent-hover: #2563eb;--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ef4444;--color-bg-base: #f8fafc;--color-bg-card: #ffffff;--color-text-main: #0f172a;--color-text-muted: #64748b;--color-border: #e2e8f0;--sidebar-width: 15.625rem;--sidebar-collapsed-width: 5rem;--header-height: 4rem;--font-family-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--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;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-12: 3rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--tint-success-bg: #dcfce7;--tint-success-text: #166534;--tint-success-border: #bbf7d0;--tint-success-light: #f0fdf4;--tint-warning-bg: #fef3c7;--tint-warning-text: #92400e;--tint-warning-border: #fde68a;--tint-warning-light: #fffbeb;--tint-danger-bg: #fee2e2;--tint-danger-text: #991b1b;--tint-danger-border: #fecaca;--tint-danger-light: #fef2f2;--tint-info-bg: #dbeafe;--tint-info-text: #1d4ed8;--tint-info-border: #bfdbfe;--tint-info-light: #eff6ff;--tint-amber-bg: #fef3c7;--tint-amber-text: #9a3412;--tint-amber-border: #fed7aa;--tint-amber-light: #fff7ed;--tint-cyan-bg: #cffafe;--tint-cyan-text: #0e7490;--tint-cyan-border: #a5f3fc;--tint-purple-bg: #ede9fe;--tint-purple-text: #6d28d9;--tint-purple-border: #c4b5fd;--tint-purple-light: #f5f3ff;--tint-cyan-light: #ecfeff}[data-theme=dark]{--color-primary: #3b82f6;--color-primary-light: #60a5fa;--color-accent: #3b82f6;--color-accent-hover: #2563eb;--color-bg-base: #0f172a;--color-bg-card: #1e293b;--color-text-main: #f8fafc;--color-text-muted: #94a3b8;--color-border: #334155;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .5);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .5), 0 2px 4px -2px rgb(0 0 0 / .5);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5), 0 4px 6px -4px rgb(0 0 0 / .5);--tint-success-bg: color-mix(in srgb, #10b981 20%, var(--color-bg-card));--tint-success-text: #6ee7b7;--tint-success-border: color-mix(in srgb, #10b981 30%, var(--color-border));--tint-success-light: color-mix(in srgb, #10b981 10%, var(--color-bg-card));--tint-warning-bg: color-mix(in srgb, #f59e0b 20%, var(--color-bg-card));--tint-warning-text: #fbbf24;--tint-warning-border: color-mix(in srgb, #f59e0b 30%, var(--color-border));--tint-warning-light: color-mix(in srgb, #f59e0b 10%, var(--color-bg-card));--tint-danger-bg: color-mix(in srgb, #ef4444 20%, var(--color-bg-card));--tint-danger-text: #fca5a5;--tint-danger-border: color-mix(in srgb, #ef4444 30%, var(--color-border));--tint-danger-light: color-mix(in srgb, #ef4444 10%, var(--color-bg-card));--tint-info-bg: color-mix(in srgb, #3b82f6 20%, var(--color-bg-card));--tint-info-text: #93c5fd;--tint-info-border: color-mix(in srgb, #3b82f6 30%, var(--color-border));--tint-info-light: color-mix(in srgb, #3b82f6 10%, var(--color-bg-card));--tint-amber-bg: color-mix(in srgb, #f59e0b 20%, var(--color-bg-card));--tint-amber-text: #fbbf24;--tint-amber-border: color-mix(in srgb, #f59e0b 30%, var(--color-border));--tint-amber-light: color-mix(in srgb, #f59e0b 10%, var(--color-bg-card));--tint-cyan-bg: color-mix(in srgb, #06b6d4 20%, var(--color-bg-card));--tint-cyan-text: #67e8f9;--tint-cyan-border: color-mix(in srgb, #06b6d4 30%, var(--color-border));--tint-purple-bg: color-mix(in srgb, #7c3aed 20%, var(--color-bg-card));--tint-purple-text: #a78bfa;--tint-purple-border: color-mix(in srgb, #7c3aed 30%, var(--color-border));--tint-purple-light: color-mix(in srgb, #7c3aed 10%, var(--color-bg-card));--tint-cyan-light: color-mix(in srgb, #06b6d4 10%, var(--color-bg-card))}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family-base);background-color:var(--color-bg-base);color:var(--color-text-main);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}input,select,textarea{background-color:var(--color-bg-card);color:var(--color-text-main);border-color:var(--color-border)}input:focus,select:focus,textarea:focus{outline-color:var(--color-accent)}table{color:var(--color-text-main)}table th{background-color:var(--color-bg-base);color:var(--color-text-main)}table td{background-color:var(--color-bg-card);color:var(--color-text-main)}table tr:hover td{background-color:var(--color-bg-base)}button{cursor:pointer;border:none;background:transparent;font-family:inherit;color:inherit}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 var(--spacing-4)}.card{background-color:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-6);border:1px solid var(--color-border)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-md);font-weight:500;transition:all var(--transition-fast)}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-light)}.btn-secondary{background-color:transparent;border:1px solid var(--color-border);color:var(--color-text-main)}.btn-secondary:hover{background-color:var(--color-bg-base);border-color:var(--color-text-muted)}.btn-ghost{background-color:transparent;color:inherit}.btn-ghost:hover{background-color:var(--color-bg-base)}.text-danger{color:var(--color-danger)!important}.grid-dashboard{display:grid;grid-template-columns:repeat(1,1fr);gap:var(--spacing-4);margin-bottom:var(--spacing-6)}@media(min-width:480px){.grid-dashboard{grid-template-columns:repeat(2,1fr)}}@media(min-width:768px){.grid-dashboard{grid-template-columns:repeat(2,1fr);gap:var(--spacing-6)}}@media(min-width:1024px){.grid-dashboard{grid-template-columns:repeat(3,1fr)}}@media(min-width:1400px){.grid-dashboard{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}.dashboard-layout{display:grid;grid-template-columns:1fr;gap:var(--spacing-6)}@media(min-width:1024px){.dashboard-layout{grid-template-columns:2fr 1fr}}.sidebar-backdrop{display:none;position:fixed;inset:0;background:#00000080;z-index:40;opacity:0;transition:opacity .3s ease}.sidebar-backdrop.visible{display:block;opacity:1}@media(max-width:767px){.sidebar{transform:translate(-100%);z-index:50!important;width:var(--sidebar-width)!important}.sidebar.mobile-open{transform:translate(0)!important}.main-content{margin-left:0!important}.main-content main{padding:var(--spacing-3)!important}.header-bar{padding:0 var(--spacing-3)!important}}@media(min-width:768px)and (max-width:1023px){.sidebar{width:var(--sidebar-collapsed-width)!important}.main-content{margin-left:var(--sidebar-collapsed-width)!important}.main-content main{padding:var(--spacing-4)!important}}.table-container{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.card{word-wrap:break-word}@media(max-width:480px){.card{padding:var(--spacing-3)}}.kanban-board{height:calc(100vh - 100px)}.kanban-column{min-width:280px}@media(max-width:767px){.kanban-column{min-width:260px}}.kanban-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)!important}.kanban-card:active{cursor:grabbing!important}.hide-mobile{display:block}.show-mobile{display:none!important}@media(max-width:767px){.hide-mobile{display:none!important}.show-mobile{display:block!important}}.print-portal-container{display:none}@media print{#root,.sidebar-backdrop,div[style*="position: fixed"]{display:none!important}body{background:#fff!important;margin:0!important;padding:0!important}.print-portal-container{display:block!important;position:absolute;top:0;left:0;width:100%;margin:0;padding:0}@page{size:A4 portrait;margin:1cm}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bgPulse{0%{opacity:.5}to{opacity:1}}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes shakeX{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}[style*=fixed]>[style*=max-width],[style*=fixed]>.card{max-height:90vh!important;overflow-y:auto!important}
