:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--primary:#3b82f6;--primary-hover:#2563eb;--primary-light:#eff6ff;--bg-color:#f2f2f2;--surface-color:#fafafa;--text-main:#1f2937;--text-muted:#6b7280;--border-color:#e5e7eb;--success:#10b981;--success-bg:#ecfdf5;--danger:#ef4444;--danger-bg:#fef2f2;--warning:#f59e0b;--warning-bg:#fffbeb;--radius:12px;--radius-sm:8px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-color);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}a{color:var(--primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--primary-hover)}button{cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit}.card{background-color:var(--surface-color);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:box-shadow var(--transition-fast);padding:1.5rem}.card:hover{box-shadow:var(--shadow-md)}.input-group{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.input-label{color:var(--text-main);font-size:.875rem;font-weight:500}.input-field{border:1px solid var(--border-color);border-radius:var(--radius-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background-color:var(--surface-color);color:var(--text-main);padding:.75rem 1rem;font-size:.875rem}.input-field:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.btn{border-radius:var(--radius-sm);transition:all var(--transition-fast);justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;display:inline-flex}.btn-primary{background-color:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background-color:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{color:var(--text-main);border:1px solid var(--border-color);background-color:#fff}.btn-secondary:hover{background-color:var(--bg-color)}.table-container{border-radius:var(--radius);border:1px solid var(--border-color);background:var(--surface-color);width:100%;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--border-color);padding:1rem 1.5rem}.data-table th{background-color:var(--bg-color);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);z-index:10;font-size:.75rem;font-weight:500;position:sticky;top:0}.data-table tbody tr{transition:background-color var(--transition-fast)}.data-table tbody tr:hover{background-color:var(--bg-color)}.badge{border-radius:9999px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{background:var(--success-bg);color:var(--success)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-warning{background:var(--warning-bg);color:var(--warning)}@media print{body{font-size:11pt;color:#000!important;background-color:#fff!important}.no-print,header,aside,.sidebar,.sidebar-drawer,.btn,button,select,input,.card>div:first-child [data-html2canvas-ignore=true]{display:none!important}.layout-container{background:0 0!important;min-height:auto!important;display:block!important}.main-content{margin-bottom:0!important;margin-left:0!important;padding:0!important}.card{box-shadow:none!important;background:0 0!important;border:1px solid #cbd5e1!important;padding:1rem!important}.data-table th{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#0f172a!important;background-color:#f1f5f9!important;font-size:.75rem!important}.data-table th,.data-table td{border:1px solid #cbd5e1!important;padding:.5rem .75rem!important}.print-header{border-bottom:2px solid #0f172a;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex!important}.print-footer{page-break-inside:avoid;break-inside:avoid;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:flex-end;margin-top:2.5rem;padding-top:1rem;display:flex!important}.print-stamp{object-fit:contain;opacity:.9;width:140px;height:auto}}.print-header,.print-footer{display:none}.layout-container{background-color:var(--bg-color);min-height:100vh;display:flex}.sidebar{background-color:var(--surface-color);border-right:1px solid var(--border-color);z-index:40;width:260px;transition:transform var(--transition-normal);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.main-content{flex-direction:column;flex:1;min-width:0;margin-left:260px;display:flex}.nav-link{border-radius:var(--radius-sm);color:var(--text-main);transition:all var(--transition-fast);background-color:#0000;align-items:center;gap:.75rem;padding:.75rem 1rem;font-weight:400;display:flex}.nav-link.active{color:var(--primary);background-color:var(--primary-light);font-weight:500}.table-responsive-2line th,.table-responsive-2line td{word-wrap:break-word;max-width:200px;line-height:1.3;white-space:normal!important}.drawer-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;transition:opacity var(--transition-normal);background-color:#0f172a80;position:fixed;inset:0}.mobile-toggle-btn{display:none!important}@media (width<=768px){.mobile-toggle-btn{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface-color);align-items:center;padding:.5rem;display:flex!important}.sidebar{z-index:60;width:280px;transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0);box-shadow:4px 0 25px #00000026}.main-content{margin-left:0!important}.main-content>div{padding:1rem!important}.page-header{flex-direction:column;gap:1rem;align-items:stretch!important}.page-header button,.page-header a{width:100%}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr!important;gap:1rem!important}.input-group,[style*="display: flex; gap: 1rem"],[style*="display: flex; gap: 2rem"]{flex-direction:column;gap:.75rem!important}header{padding:0 1rem!important}h1{font-size:1.25rem!important}.data-table th,.data-table td{padding:.65rem .75rem!important;font-size:.8rem!important}.badge{padding:.2rem .5rem!important;font-size:.7rem!important}.btn{width:100%;padding:.65rem 1rem!important}}
