@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700;800&family=Open+Sans:wght@400;500;600;700&display=swap";:root{--color-primary: #006A4E;--color-primary-hover: #005a42;--color-primary-soft: rgba(0, 106, 78, .08);--color-secondary: #99CC00;--color-secondary-hover:#86b300;--color-tertiary: #009597;--color-surface-soft: #D8EAD7;--color-surface-mid: #308276;--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ED1B2F;--color-info: #009597;--color-text: #1a1a1a;--color-text-muted: #6b7280;--color-text-subtle: #9ca3af;--color-bg: #f9fafb;--color-bg-elevated: #ffffff;--color-border: #e5e7eb;--font-heading: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, monospace;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-pill: 999px;--shadow-soft: 0 1px 4px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--shadow-elevated: 0 4px 12px rgba(0, 0, 0, .06), 0 2px 4px rgba(0, 0, 0, .04);--shadow-hover: 0 12px 28px rgba(0, 106, 78, .12), 0 4px 8px rgba(0, 0, 0, .06);--shadow-focus: 0 0 0 3px rgba(153, 204, 0, .35);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-medium: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1)}html,body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;letter-spacing:-.01em}code,pre{font-family:var(--font-mono)}.kpi-card{transition:transform var(--transition-medium),box-shadow var(--transition-medium);will-change:transform}.kpi-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}.hero-banner{background:linear-gradient(135deg,#9c0,#006a4e,#009597);background-size:200% 200%;animation:hero-gradient-shift 14s ease-in-out infinite;border-radius:var(--radius-lg);color:#fff;padding:26px 30px;margin-bottom:24px;box-shadow:0 8px 24px #006a4e2e;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.hero-banner h2{font-family:var(--font-heading);font-size:20px;font-weight:700;margin:0 0 4px;letter-spacing:-.01em}.hero-banner p{font-family:var(--font-body);font-size:13px;opacity:.95;margin:0;letter-spacing:.02em}.hero-banner .hero-stats{display:flex;gap:28px;align-items:center}.hero-banner .hero-stat-value{font-family:var(--font-heading);font-size:24px;font-weight:700;display:block;line-height:1}.hero-banner .hero-stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.85;margin-top:4px;display:block}@keyframes hero-gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}input:focus,select:focus,textarea:focus{outline:none;box-shadow:var(--shadow-focus);border-color:var(--color-secondary)!important}button:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.table-card{background:var(--color-bg-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-elevated);overflow:hidden}.row-total-grad td{background:linear-gradient(135deg,#006a4e,#009597)!important;color:#fff!important;font-weight:700;font-family:var(--font-heading);letter-spacing:.01em}tbody tr:not(.row-total-grad):hover td{background-color:var(--color-surface-soft)!important;transition:background-color var(--transition-fast)}@keyframes card-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,80%,to{opacity:.3;transform:scale(.7)}40%{opacity:1;transform:scale(1)}}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes toastIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.kpi-card{animation:card-enter .4s cubic-bezier(.4,0,.2,1) backwards}.kpi-card:nth-child(1){animation-delay:0ms}.kpi-card:nth-child(2){animation-delay:60ms}.kpi-card:nth-child(3){animation-delay:.12s}.kpi-card:nth-child(4){animation-delay:.18s}.kpi-card:nth-child(5){animation-delay:.24s}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.hero-banner{animation:none}}
