@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";
:root{--color-primary:#005e82;--color-primary-dark:#004a68;--color-primary-light:#007baa;--color-accent:#e6b239;--color-accent-dark:#c9972e;--color-accent-light:#f0c660;--color-dark:#3b3d40;--color-dark-light:#52555a;--color-white:#fff;--color-surface:#f1f3f4;--color-surface-alt:#f7f8f9;--color-success:#0d9e6e;--color-success-bg:#e6f9f1;--color-warning:#e6b239;--color-warning-bg:#fef8e7;--color-danger:#d63545;--color-danger-bg:#fde8ea;--color-info:#005e82;--color-info-bg:#e5f0f5;--text-primary:#1a1d21;--text-secondary:#52555a;--text-muted:#8a8d93;--text-inverse:#fff;--text-on-primary:#fff;--text-on-accent:#1a1d21;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Century Gothic", "Avant Garde", "URW Gothic", Futura, "Trebuchet MS", var(--font-family);--paper:#f4f2ee;--paper-deep:#edeae4;--hairline-gold:#b8901f59;--lift-1:0 1px 1px #1f23280a, 0 2px 6px #1f23280d;--lift-2:0 1px 1px #1f23280d, 0 4px 14px #1f232812;--lift-3:0 2px 3px #1f23280f, 0 12px 32px #1f23281a;--font-size-2xs:.6875rem;--font-size-xs:.75rem;--font-size-sm:.8125rem;--font-size-base:.875rem;--font-size-md: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-semi:600;--font-weight-bold:700;--font-weight-extra:800;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-full:9999px;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000f;--shadow-md:0 4px 6px #00000012, 0 2px 4px #0000000d;--shadow-lg:0 10px 15px #00000014, 0 4px 6px #0000000a;--shadow-xl:0 20px 25px #0000001a, 0 8px 10px #0000000a;--shadow-inner:inset 0 2px 4px #0000000f;--sidebar-width:260px;--sidebar-collapsed:72px;--header-height:64px;--content-max-width:1280px;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.35s ease;--transition-spring:.3s cubic-bezier(.34, 1.56, .64, 1);--z-dropdown:100;--z-sticky:200;--z-fixed:300;--z-overlay:400;--z-modal:500;--z-popover:600;--z-toast:700;--border-color:#e3e5e8;--border-color-strong:#c9cdd2;--border-color-focus:#005e82;--text-main:var(--text-primary);--color-text-primary:var(--text-primary);--color-text-secondary:var(--text-secondary);--color-text-tertiary:var(--text-muted);--color-border:var(--border-color);--primary-color:var(--color-primary);--brand-primary:var(--color-primary);--color-bg:var(--color-white);--color-background:var(--color-white);--bg-main:var(--color-white);--bg-primary:var(--color-white);--bg-secondary:var(--color-white);--background-secondary:var(--color-white);--bg-card:var(--color-white);--bg-elevated:var(--color-white);--bg-input:var(--color-white);--bg-hover:#f2f4f6;--color-surface-hover:#f2f4f6}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--color-white);min-height:100vh}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-light)}img,svg{max-width:100%;display:block}ul,ol{list-style:none}button{cursor:pointer;font-family:inherit;font-size:inherit;color:inherit;background:0 0;border:none}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;outline:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}::selection{background-color:var(--color-primary);color:var(--text-inverse)}.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-md{font-size:var(--font-size-md)}.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-semi{font-weight:var(--font-weight-semi)}.font-bold{font-weight:var(--font-weight-bold)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.card{background:var(--color-white);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-surface);justify-content:space-between;align-items:center;display:flex}.card-body{padding:var(--space-6)}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);font-size:var(--font-size-sm);font-weight:var(--font-weight-semi);line-height:var(--line-height-tight);border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;cursor:pointer;border:1px solid #0000;min-height:40px;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--text-on-primary);border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark);box-shadow:0 2px 8px #005e824d}.btn-accent{background:var(--color-accent);color:var(--text-on-accent);border-color:var(--color-accent)}.btn-accent:hover:not(:disabled){background:var(--color-accent-dark);border-color:var(--color-accent-dark);box-shadow:0 2px 8px #e6b2394d}.btn-outline{color:var(--color-primary);border-color:var(--color-primary);background:0 0}.btn-outline:hover:not(:disabled){background:var(--color-primary);color:var(--text-on-primary)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-surface);color:var(--text-primary)}.btn-danger{background:var(--color-danger);color:var(--text-inverse);border-color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:#c62d3c;box-shadow:0 2px 8px #d635454d}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);min-height:32px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn-lg{padding:var(--space-3) var(--space-8);font-size:var(--font-size-md);border-radius:var(--radius-lg);min-height:48px}.input{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);border-radius:var(--radius-md);background:var(--color-white);color:var(--text-primary);transition:all var(--transition-fast);border:1px solid #0000001f;min-height:44px}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #005e821f}.input::placeholder{color:var(--text-muted)}.input-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-bottom:var(--space-1);display:block}.input-error{border-color:var(--color-danger)}.input-error:focus{box-shadow:0 0 0 3px #d635451f}.input-error-text{font-size:var(--font-size-xs);color:var(--color-danger);margin-top:var(--space-1)}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-semi);border-radius:var(--radius-full);white-space:nowrap;line-height:1.5;display:inline-flex}.badge-primary{background:var(--color-info-bg);color:var(--color-primary)}.badge-accent{background:var(--color-warning-bg);color:var(--color-accent-dark)}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-neutral{background:var(--color-surface);color:var(--text-secondary)}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;padding:var(--space-3) var(--space-4);font-size:var(--font-size-xs);font-weight:var(--font-weight-semi);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-surface);background:var(--color-surface-alt)}.data-table td{padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);vertical-align:middle;border-bottom:1px solid #0000000a}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--color-surface-alt)}.avatar{border-radius:var(--radius-full);background:var(--color-primary);width:36px;height:36px;color:var(--text-on-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semi);flex-shrink:0;justify-content:center;align-items:center;display:flex}.avatar-sm{width:28px;height:28px;font-size:var(--font-size-xs)}.avatar-lg{width:48px;height:48px;font-size:var(--font-size-lg)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:.3s fadeIn}.animate-fade-in-up{animation:.4s fadeInUp}.animate-slide-in{animation:.3s slideInLeft}.animate-pulse{animation:2s infinite pulse}.animate-spin{animation:1s linear infinite spin}.skeleton{background:linear-gradient(90deg, var(--color-surface) 25%, var(--color-surface-alt) 50%, var(--color-surface) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:768px){:root{--sidebar-width:0px;--header-height:56px}}@media print{@page{size:A4 portrait;margin:10mm 12mm}html,body{width:210mm;background:#fff!important;font-family:Inter,Arial,sans-serif!important;font-size:9pt!important}nav,aside,header:not([data-printable]),button,select,textarea,input[type=text],input[type=email],input[type=date],input[type=password],input[type=file],label[for]{display:none!important}.noPrint{height:0!important;margin:0!important;padding:0!important;display:none!important;overflow:hidden!important}.noPrint *{display:none!important}.brandCard,.card{box-shadow:none!important;break-inside:avoid!important;page-break-inside:avoid!important;border:1px solid #ccc!important}a{color:#005e82!important;text-decoration:none!important}}
