:root{--color-white: rgba(255, 255, 255, 1);--color-black: rgba(0, 0, 0, 1);--color-cream-50: rgba(252, 252, 249, 1);--color-cream-100: rgba(255, 255, 253, 1);--color-gray-200: rgba(245, 245, 245, 1);--color-gray-300: rgba(167, 169, 169, 1);--color-gray-400: rgba(119, 124, 124, 1);--color-slate-500: rgba(98, 108, 113, 1);--color-brown-600: rgba(94, 82, 64, 1);--color-charcoal-700: rgba(31, 33, 33, 1);--color-charcoal-800: rgba(38, 40, 40, 1);--color-slate-900: rgba(19, 52, 59, 1);--color-teal-300: rgba(50, 184, 198, 1);--color-teal-400: rgba(45, 166, 178, 1);--color-teal-500: rgba(33, 128, 141, 1);--color-teal-600: rgba(29, 116, 128, 1);--color-teal-700: rgba(26, 104, 115, 1);--color-teal-800: rgba(41, 150, 161, 1);--color-red-400: rgba(255, 84, 89, 1);--color-red-500: rgba(192, 21, 47, 1);--color-orange-400: rgba(230, 129, 97, 1);--color-orange-500: rgba(168, 75, 47, 1);--color-brown-600-rgb: 94, 82, 64;--color-teal-500-rgb: 33, 128, 141;--color-slate-900-rgb: 19, 52, 59;--color-slate-500-rgb: 98, 108, 113;--color-red-500-rgb: 192, 21, 47;--color-red-400-rgb: 255, 84, 89;--color-orange-500-rgb: 168, 75, 47;--color-orange-400-rgb: 230, 129, 97;--color-bg-1: rgba(59, 130, 246, .08);--color-bg-2: rgba(245, 158, 11, .08);--color-bg-3: rgba(34, 197, 94, .08);--color-bg-4: rgba(239, 68, 68, .08);--color-bg-5: rgba(147, 51, 234, .08);--color-bg-6: rgba(249, 115, 22, .08);--color-bg-7: rgba(236, 72, 153, .08);--color-bg-8: rgba(6, 182, 212, .08);--color-background: var(--color-cream-50);--color-surface: var(--color-cream-100);--color-text: var(--color-slate-900);--color-text-secondary: var(--color-slate-500);--color-primary: var(--color-teal-500);--color-primary-hover: var(--color-teal-600);--color-primary-active: var(--color-teal-700);--color-secondary: rgba(var(--color-brown-600-rgb), .12);--color-secondary-hover: rgba(var(--color-brown-600-rgb), .2);--color-secondary-active: rgba(var(--color-brown-600-rgb), .25);--color-border: rgba(var(--color-brown-600-rgb), .2);--color-btn-primary-text: var(--color-cream-50);--color-card-border: rgba(var(--color-brown-600-rgb), .12);--color-card-border-inner: rgba(var(--color-brown-600-rgb), .12);--color-error: var(--color-red-500);--color-success: var(--color-teal-500);--color-warning: var(--color-orange-500);--color-info: var(--color-slate-500);--color-focus-ring: rgba(var(--color-teal-500-rgb), .4);--color-select-caret: rgba(var(--color-slate-900-rgb), .8);--focus-ring: 0 0 0 3px var(--color-focus-ring);--focus-outline: 2px solid var(--color-primary);--status-bg-opacity: .15;--status-border-opacity: .25;--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--color-success-rgb: 33, 128, 141;--color-error-rgb: 192, 21, 47;--color-warning-rgb: 168, 75, 47;--color-info-rgb: 98, 108, 113;--font-family-base: "FKGroteskNeue", "Geist", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "Berkeley Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-size-4xl: 30px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 550;--font-weight-bold: 600;--line-height-tight: 1.2;--line-height-normal: 1.5;--letter-spacing-tight: -.01em;--space-0: 0;--space-1: 1px;--space-2: 2px;--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-10: 10px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-32: 32px;--radius-sm: 6px;--radius-base: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .02);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .04), 0 2px 4px -1px rgba(0, 0, 0, .02);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .04), 0 4px 6px -2px rgba(0, 0, 0, .02);--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, .15), inset 0 -1px 0 rgba(0, 0, 0, .03);--duration-fast: .15s;--duration-normal: .25s;--ease-standard: cubic-bezier(.16, 1, .3, 1);--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px}@media (prefers-color-scheme: dark){:root{--color-gray-400-rgb: 119, 124, 124;--color-teal-300-rgb: 50, 184, 198;--color-gray-300-rgb: 167, 169, 169;--color-gray-200-rgb: 245, 245, 245;--color-bg-1: rgba(29, 78, 216, .15);--color-bg-2: rgba(180, 83, 9, .15);--color-bg-3: rgba(21, 128, 61, .15);--color-bg-4: rgba(185, 28, 28, .15);--color-bg-5: rgba(107, 33, 168, .15);--color-bg-6: rgba(194, 65, 12, .15);--color-bg-7: rgba(190, 24, 93, .15);--color-bg-8: rgba(8, 145, 178, .15);--color-background: var(--color-charcoal-700);--color-surface: var(--color-charcoal-800);--color-text: var(--color-gray-200);--color-text-secondary: rgba(var(--color-gray-300-rgb), .7);--color-primary: var(--color-teal-300);--color-primary-hover: var(--color-teal-400);--color-primary-active: var(--color-teal-800);--color-secondary: rgba(var(--color-gray-400-rgb), .15);--color-secondary-hover: rgba(var(--color-gray-400-rgb), .25);--color-secondary-active: rgba(var(--color-gray-400-rgb), .3);--color-border: rgba(var(--color-gray-400-rgb), .3);--color-error: var(--color-red-400);--color-success: var(--color-teal-300);--color-warning: var(--color-orange-400);--color-info: var(--color-gray-300);--color-focus-ring: rgba(var(--color-teal-300-rgb), .4);--color-btn-primary-text: var(--color-slate-900);--color-card-border: rgba(var(--color-gray-400-rgb), .2);--color-card-border-inner: rgba(var(--color-gray-400-rgb), .15);--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, .1), inset 0 -1px 0 rgba(0, 0, 0, .15);--button-border-secondary: rgba(var(--color-gray-400-rgb), .2);--color-border-secondary: rgba(var(--color-gray-400-rgb), .2);--color-select-caret: rgba(var(--color-gray-200-rgb), .8);--focus-ring: 0 0 0 3px var(--color-focus-ring);--focus-outline: 2px solid var(--color-primary);--status-bg-opacity: .15;--status-border-opacity: .25;--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--color-success-rgb: var(--color-teal-300-rgb);--color-error-rgb: var(--color-red-400-rgb);--color-warning-rgb: var(--color-orange-400-rgb);--color-info-rgb: var(--color-gray-300-rgb)}}[data-color-scheme=dark]{--color-gray-400-rgb: 119, 124, 124;--color-teal-300-rgb: 50, 184, 198;--color-gray-300-rgb: 167, 169, 169;--color-gray-200-rgb: 245, 245, 245;--color-bg-1: rgba(29, 78, 216, .15);--color-bg-2: rgba(180, 83, 9, .15);--color-bg-3: rgba(21, 128, 61, .15);--color-bg-4: rgba(185, 28, 28, .15);--color-bg-5: rgba(107, 33, 168, .15);--color-bg-6: rgba(194, 65, 12, .15);--color-bg-7: rgba(190, 24, 93, .15);--color-bg-8: rgba(8, 145, 178, .15);--color-background: var(--color-charcoal-700);--color-surface: var(--color-charcoal-800);--color-text: var(--color-gray-200);--color-text-secondary: rgba(var(--color-gray-300-rgb), .7);--color-primary: var(--color-teal-300);--color-primary-hover: var(--color-teal-400);--color-primary-active: var(--color-teal-800);--color-secondary: rgba(var(--color-gray-400-rgb), .15);--color-secondary-hover: rgba(var(--color-gray-400-rgb), .25);--color-secondary-active: rgba(var(--color-gray-400-rgb), .3);--color-border: rgba(var(--color-gray-400-rgb), .3);--color-error: var(--color-red-400);--color-success: var(--color-teal-300);--color-warning: var(--color-orange-400);--color-info: var(--color-gray-300);--color-focus-ring: rgba(var(--color-teal-300-rgb), .4);--color-btn-primary-text: var(--color-slate-900);--color-card-border: rgba(var(--color-gray-400-rgb), .15);--color-card-border-inner: rgba(var(--color-gray-400-rgb), .15);--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, .1), inset 0 -1px 0 rgba(0, 0, 0, .15);--color-border-secondary: rgba(var(--color-gray-400-rgb), .2);--color-select-caret: rgba(var(--color-gray-200-rgb), .8);--focus-ring: 0 0 0 3px var(--color-focus-ring);--focus-outline: 2px solid var(--color-primary);--status-bg-opacity: .15;--status-border-opacity: .25;--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--color-success-rgb: var(--color-teal-300-rgb);--color-error-rgb: var(--color-red-400-rgb);--color-warning-rgb: var(--color-orange-400-rgb);--color-info-rgb: var(--color-gray-300-rgb)}@font-face{font-family:FKGroteskNeue;src:url(https://r2cdn.perplexity.ai/fonts/FKGroteskNeue.woff2) format("woff2")}```css .dashboard-header{background:var(--color-surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-lg);padding:var(--space-20) var(--space-32);transition:all var(--duration-normal) var(--ease-standard);position:sticky;top:0;z-index:100}.header-success{border-bottom-color:rgba(var(--color-success-rgb),.3)}.header-loading{border-bottom-color:rgba(var(--color-primary-rgb, var(--color-teal-500-rgb)),.3)}.header-error{border-bottom-color:rgba(var(--color-error-rgb),.3);background:rgba(var(--color-error-rgb),.05)}.header-warning{border-bottom-color:rgba(var(--color-warning-rgb),.3);background:rgba(var(--color-warning-rgb),.05)}.header-neutral{border-bottom-color:rgba(var(--color-text-secondary-rgb, var(--color-slate-500-rgb)),.3)}.header-main{display:flex;justify-content:space-between;align-items:center;max-width:none}.header-title-section{flex:1}.header-title{margin:0;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}.header-subtitle{margin:var(--space-4) 0 0 0;font-size:var(--font-size-base);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.header-info{display:flex;align-items:center;gap:var(--space-20);flex-wrap:wrap}.api-status{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-12);background:var(--color-secondary);border-radius:var(--radius-base);border:1px solid var(--color-border)}.status-icon{font-size:var(--font-size-base)}.status-icon.success{color:var(--color-success)}.status-icon.loading{color:var(--color-primary)}.status-icon.error{color:var(--color-error)}.status-icon.warning{color:var(--color-warning)}.status-icon.neutral{color:var(--color-text-secondary)}.spinning{animation:spin 1s linear infinite}.api-status-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.fob-info{display:flex;flex-direction:column;align-items:flex-end;padding:var(--space-8) var(--space-12);background:var(--color-secondary);border-radius:var(--radius-base);border:1px solid var(--color-border);min-width:200px}.fob-info.fob-success{border-left:3px solid var(--color-success)}.fob-info.fob-loading{border-left:3px solid var(--color-primary)}.fob-info.fob-warning{border-left:3px solid var(--color-warning)}.fob-text{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--space-2)}.fob-update{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.last-update{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-8) var(--space-12);background:var(--color-secondary);border-radius:var(--radius-base);border:1px solid var(--color-border)}.update-icon{font-size:var(--font-size-base);color:var(--color-text-secondary)}.update-text{font-size:var(--font-size-sm);color:var(--color-text);font-weight:var(--font-weight-medium);min-width:80px}.refresh-button{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-10) var(--space-16);background:var(--color-primary);color:var(--color-btn-primary-text);border:none;border-radius:var(--radius-base);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);cursor:pointer;transition:all var(--duration-normal) var(--ease-standard);box-shadow:var(--shadow-sm)}.refresh-button:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.refresh-button:active{background:var(--color-primary-active);transform:translateY(0)}.refresh-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:var(--shadow-xs)}.refresh-button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.refresh-button svg{font-size:var(--font-size-base)}@media (max-width: 1024px){.dashboard-header{padding:var(--space-16) var(--space-24)}.header-info{gap:var(--space-12)}.fob-info{min-width:160px}.header-title{font-size:var(--font-size-2xl)}}@media (max-width: 768px){.dashboard-header{padding:var(--space-16) var(--space-20)}.header-main{flex-direction:column;align-items:flex-start;gap:var(--space-16)}.header-info{width:100%;justify-content:space-between;flex-wrap:wrap;gap:var(--space-8)}.api-status,.fob-info,.last-update{flex:1;min-width:0;padding:var(--space-6) var(--space-8)}.fob-info{min-width:140px}.refresh-button{padding:var(--space-8) var(--space-12);font-size:var(--font-size-sm)}.header-title{font-size:var(--font-size-xl)}.header-subtitle{font-size:var(--font-size-base)}}@media (max-width: 480px){.dashboard-header{padding:var(--space-12) var(--space-16)}.header-info{flex-direction:column;align-items:stretch;gap:var(--space-8)}.api-status,.fob-info,.last-update,.refresh-button{width:100%;justify-content:center}.fob-info{align-items:center;text-align:center}.header-title{font-size:var(--font-size-lg)}.header-subtitle{font-size:var(--font-size-sm)}.api-status-text,.update-text{font-size:var(--font-size-xs)}.fob-text{font-size:var(--font-size-sm)}}.refresh-button:focus{outline:var(--focus-outline);outline-offset:2px}.api-status,.fob-info,.last-update{border:1px solid var(--color-border);transition:border-color var(--duration-fast) var(--ease-standard)}.api-status:hover,.fob-info:hover,.last-update:hover{border-color:var(--color-primary)}.header-loading .update-icon,.header-loading .status-icon.loading{animation:pulse 2s ease-in-out infinite}*{transition:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}:root{--color-white: rgba(255, 255, 255, 1);--color-black: rgba(0, 0, 0, 1);--color-cream-50: rgba(252, 252, 249, 1);--color-cream-100: rgba(255, 255, 253, 1);--color-gray-200: rgba(245, 245, 245, 1);--color-gray-300: rgba(167, 169, 169, 1);--color-gray-400: rgba(119, 124, 124, 1);--color-slate-500: rgba(98, 108, 113, 1);--color-brown-600: rgba(94, 82, 64, 1);--color-charcoal-700: rgba(31, 33, 33, 1);--color-charcoal-800: rgba(38, 40, 40, 1);--color-slate-900: rgba(19, 52, 59, 1);--color-teal-300: rgba(50, 184, 198, 1);--color-teal-400: rgba(45, 166, 178, 1);--color-teal-500: rgba(33, 128, 141, 1);--color-teal-600: rgba(29, 116, 128, 1);--color-teal-700: rgba(26, 104, 115, 1);--color-teal-800: rgba(41, 150, 161, 1);--color-red-400: rgba(255, 84, 89, 1);--color-red-500: rgba(192, 21, 47, 1);--color-orange-400: rgba(230, 129, 97, 1);--color-orange-500: rgba(168, 75, 47, 1);--color-brown-600-rgb: 94, 82, 64;--color-teal-500-rgb: 33, 128, 141;--color-slate-900-rgb: 19, 52, 59;--color-slate-500-rgb: 98, 108, 113;--color-red-500-rgb: 192, 21, 47;--color-red-400-rgb: 255, 84, 89;--color-orange-500-rgb: 168, 75, 47;--color-orange-400-rgb: 230, 129, 97;--color-bg-1: rgba(59, 130, 246, .08);--color-bg-2: rgba(245, 158, 11, .08);--color-bg-3: rgba(34, 197, 94, .08);--color-bg-4: rgba(239, 68, 68, .08);--color-bg-5: rgba(147, 51, 234, .08);--color-bg-6: rgba(249, 115, 22, .08);--color-bg-7: rgba(236, 72, 153, .08);--color-bg-8: rgba(6, 182, 212, .08);--color-background: var(--color-cream-50);--color-surface: var(--color-cream-100);--color-text: var(--color-slate-900);--color-text-secondary: var(--color-slate-500);--color-primary: var(--color-teal-500);--color-primary-hover: var(--color-teal-600);--color-primary-active: var(--color-teal-700);--color-secondary: rgba(var(--color-brown-600-rgb), .12);--color-secondary-hover: rgba(var(--color-brown-600-rgb), .2);--color-secondary-active: rgba(var(--color-brown-600-rgb), .25);--color-border: rgba(var(--color-brown-600-rgb), .2);--color-btn-primary-text: var(--color-cream-50);--color-card-border: rgba(var(--color-brown-600-rgb), .12);--color-card-border-inner: rgba(var(--color-brown-600-rgb), .12);--color-error: var(--color-red-500);--color-success: var(--color-teal-500);--color-warning: var(--color-orange-500);--color-info: var(--color-slate-500);--color-focus-ring: rgba(var(--color-teal-500-rgb), .4);--color-select-caret: rgba(var(--color-slate-900-rgb), .8);--focus-ring: 0 0 0 3px var(--color-focus-ring);--focus-outline: 2px solid var(--color-primary);--status-bg-opacity: .15;--status-border-opacity: .25;--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--color-success-rgb: 33, 128, 141;--color-error-rgb: 192, 21, 47;--color-warning-rgb: 168, 75, 47;--color-info-rgb: 98, 108, 113;--font-family-base: "FKGroteskNeue", "Geist", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "Berkeley Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-size-4xl: 30px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 550;--font-weight-bold: 600;--line-height-tight: 1.2;--line-height-normal: 1.5;--letter-spacing-tight: -.01em;--space-0: 0;--space-1: 1px;--space-2: 2px;--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-10: 10px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-32: 32px;--radius-sm: 6px;--radius-base: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .02);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .04), 0 2px 4px -1px rgba(0, 0, 0, .02);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .04), 0 4px 6px -2px rgba(0, 0, 0, .02);--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, .15), inset 0 -1px 0 rgba(0, 0, 0, .03);--duration-fast: .15s;--duration-normal: .25s;--ease-standard: cubic-bezier(.16, 1, .3, 1);--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px}@media (prefers-color-scheme: dark){:root{--color-gray-400-rgb: 119, 124, 124;--color-teal-300-rgb: 50, 184, 198;--color-gray-300-rgb: 167, 169, 169;--color-gray-200-rgb: 245, 245, 245;--color-bg-1: rgba(29, 78, 216, .15);--color-bg-2: rgba(180, 83, 9, .15);--color-bg-3: rgba(21, 128, 61, .15);--color-bg-4: rgba(185, 28, 28, .15);--color-bg-5: rgba(107, 33, 168, .15);--color-bg-6: rgba(194, 65, 12, .15);--color-bg-7: rgba(190, 24, 93, .15);--color-bg-8: rgba(8, 145, 178, .15);--color-background: var(--color-charcoal-700);--color-surface: var(--color-charcoal-800);--color-text: var(--color-gray-200);--color-text-secondary: rgba(var(--color-gray-300-rgb), .7);--color-primary: var(--color-teal-300);--color-primary-hover: var(--color-teal-400);--color-primary-active: var(--color-teal-800);--color-secondary: rgba(var(--color-gray-400-rgb), .15);--color-secondary-hover: rgba(var(--color-gray-400-rgb), .25);--color-secondary-active: rgba(var(--color-gray-400-rgb), .3);--color-border: rgba(var(--color-gray-400-rgb), .3);--color-error: var(--color-red-400);--color-success: var(--color-teal-300);--color-warning: var(--color-orange-400);--color-info: var(--color-gray-300);--color-focus-ring: rgba(var(--color-teal-300-rgb), .4);--color-btn-primary-text: var(--color-slate-900);--color-card-border: rgba(var(--color-gray-400-rgb), .2);--color-card-border-inner: rgba(var(--color-gray-400-rgb), .15);--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, .1), inset 0 -1px 0 rgba(0, 0, 0, .15);--button-border-secondary: rgba(var(--color-gray-400-rgb), .2);--color-border-secondary: rgba(var(--color-gray-400-rgb), .2);--color-select-caret: rgba(var(--color-gray-200-rgb), .8);--focus-ring: 0 0 0 3px var(--color-focus-ring);--focus-outline: 2px solid var(--color-primary);--status-bg-opacity: .15;--status-border-opacity: .25;--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--color-success-rgb: var(--color-teal-300-rgb);--color-error-rgb: var(--color-red-400-rgb);--color-warning-rgb: var(--color-orange-400-rgb);--color-info-rgb: var(--color-gray-300-rgb)}}[data-color-scheme=dark]{--color-gray-400-rgb: 119, 124, 124;--color-teal-300-rgb: 50, 184, 198;--color-gray-300-rgb: 167, 169, 169;--color-gray-200-rgb: 245, 245, 245;--color-bg-1: rgba(29, 78, 216, .15);--color-bg-2: rgba(180, 83, 9, .15);--color-bg-3: rgba(21, 128, 61, .15);--color-bg-4: rgba(185, 28, 28, .15);--color-bg-5: rgba(107, 33, 168, .15);--color-bg-6: rgba(194, 65, 12, .15);--color-bg-7: rgba(190, 24, 93, .15);--color-bg-8: rgba(8, 145, 178, .15);--color-background: var(--color-charcoal-700);--color-surface: var(--color-charcoal-800);--color-text: var(--color-gray-200);--color-text-secondary: rgba(var(--color-gray-300-rgb), .7);--color-primary: var(--color-teal-300);--color-primary-hover: var(--color-teal-400);--color-primary-active: var(--color-teal-800);--color-secondary: rgba(var(--color-gray-400-rgb), .15);--color-secondary-hover: rgba(var(--color-gray-400-rgb), .25);--color-secondary-active: rgba(var(--color-gray-400-rgb), .3);--color-border: rgba(var(--color-gray-400-rgb), .3);--color-error: var(--color-red-400);--color-success: var(--color-teal-300);--color-warning: var(--color-orange-400);--color-info: var(--color-gray-300);--color-focus-ring: rgba(var(--color-teal-300-rgb), .4);--color-btn-primary-text: var(--color-slate-900);--color-card-border: rgba(var(--color-gray-400-rgb), .15);--color-card-border-inner: rgba(var(--color-gray-400-rgb), .15);--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, .1), inset 0 -1px 0 rgba(0, 0, 0, .15);--color-border-secondary: rgba(var(--color-gray-400-rgb), .2);--color-select-caret: rgba(var(--color-gray-200-rgb), .8);--focus-ring: 0 0 0 3px var(--color-focus-ring);--focus-outline: 2px solid var(--color-primary);--status-bg-opacity: .15;--status-border-opacity: .25;--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--color-success-rgb: var(--color-teal-300-rgb);--color-error-rgb: var(--color-red-400-rgb);--color-warning-rgb: var(--color-orange-400-rgb);--color-info-rgb: var(--color-gray-300-rgb)}@font-face{font-family:FKGroteskNeue;src:url(https://r2cdn.perplexity.ai/fonts/FKGroteskNeue.woff2) format("woff2")}html,body,#root{width:100%;height:100%;font-family:var(--font-family-base);background-color:var(--color-background);color:var(--color-text);-webkit-font-smoothing:antialiased}.dashboard{display:flex;width:100%;min-height:100vh;background-color:var(--color-background)}.modern-sidebar{position:fixed;left:0;top:0;height:100vh;background:linear-gradient(180deg,var(--color-teal-700) 0%,var(--color-teal-600) 50%,var(--color-teal-500) 100%);color:var(--color-cream-50);transition:all var(--duration-normal) var(--ease-standard);z-index:1000;box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.modern-sidebar.sidebar-open{width:280px}.modern-sidebar.sidebar-closed{width:70px}.sidebar-header{padding:var(--space-20);border-bottom:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:space-between;min-height:80px}.sidebar-brand{display:flex;align-items:center;gap:var(--space-12);flex:1}.brand-icon{font-size:var(--font-size-3xl);display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ffffff26;border-radius:var(--radius-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand-text h3{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-cream-50);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}.brand-text span{font-size:var(--font-size-xs);color:#ffffffb3;font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.05em}.sidebar-toggle{background:#ffffff26;border:none;color:var(--color-cream-50);padding:var(--space-8);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);display:flex;align-items:center;justify-content:center;width:36px;height:36px}.sidebar-toggle:hover{background:#ffffff40;transform:scale(1.05)}.sidebar-toggle:focus-visible{outline:var(--focus-outline);outline-offset:2px}.sidebar-nav{flex:1;padding:var(--space-20) 0;overflow-y:auto}.nav-list{list-style:none;margin:0;padding:0}.nav-item{margin-bottom:var(--space-4)}.nav-link{display:flex;align-items:center;padding:var(--space-12) var(--space-20);color:#ffffffd9;text-decoration:none;transition:all var(--duration-fast) var(--ease-standard);position:relative;border-radius:0 var(--radius-full) var(--radius-full) 0;margin-right:var(--space-12);font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.nav-link:hover{background:#ffffff26;color:var(--color-cream-50);transform:translate(4px)}.nav-link:focus-visible{outline:var(--focus-outline);outline-offset:2px}.nav-link.active{background:var(--color-teal-800);color:var(--color-cream-50);box-shadow:0 4px 12px #0003;font-weight:var(--font-weight-semibold)}.nav-link.active:before{content:"";position:absolute;left:0;top:0;height:100%;width:4px;background:var(--color-cream-50);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.nav-icon{font-size:var(--font-size-lg);min-width:24px;margin-right:var(--space-16);transition:all var(--duration-fast) var(--ease-standard)}.nav-label{font-weight:var(--font-weight-medium);font-size:var(--font-size-base);white-space:nowrap;overflow:hidden}.modern-sidebar.sidebar-closed .nav-link{justify-content:center;margin-right:0;border-radius:var(--radius-base);margin:0 var(--space-10) var(--space-4) var(--space-10)}.modern-sidebar.sidebar-closed .nav-icon{margin-right:0}.modern-sidebar.sidebar-closed .nav-label{display:none}.sidebar-footer{padding:var(--space-20);border-top:1px solid rgba(255,255,255,.15)}.logout-btn{display:flex;align-items:center;width:100%;padding:var(--space-12) var(--space-16);background:#ffffff1a;border:none;color:#ffffffd9;border-radius:var(--radius-base);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);font-family:var(--font-family-base)}.logout-btn:hover{background:rgba(var(--color-red-400-rgb),.2);color:var(--color-red-400);transform:translateY(-1px)}.logout-btn:focus-visible{outline:var(--focus-outline);outline-offset:2px}.logout-icon{font-size:var(--font-size-md);margin-right:var(--space-12)}.modern-sidebar.sidebar-closed .logout-btn{justify-content:center;padding:var(--space-12)}.modern-sidebar.sidebar-closed .logout-icon{margin-right:0}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:#ffffff1a}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:var(--radius-sm)}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ffffff80}.nav-link:hover .nav-icon{transform:scale(1.1)}.nav-link.active .nav-icon{color:var(--color-cream-50)}.main-content{flex:1;margin-left:280px;display:flex;flex-direction:column;min-height:100vh;transition:margin-left var(--duration-normal) var(--ease-standard);width:calc(100% - 280px)}.modern-sidebar.sidebar-closed~.main-content{margin-left:70px;width:calc(100% - 70px)}.header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-24) var(--space-32);background-color:var(--color-surface);border-bottom:1px solid var(--color-card-border);box-shadow:var(--shadow-sm);gap:var(--space-32)}.header-left{flex:1}.header-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0 0 var(--space-8) 0;line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}.header-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;font-weight:var(--font-weight-normal)}.header-right{display:flex;align-items:center;gap:var(--space-20);white-space:nowrap}.api-status{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-12);border-radius:var(--radius-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background:var(--color-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border)}.api-status.connected{background:rgba(var(--color-success-rgb),var(--status-bg-opacity));color:var(--color-success);border:1px solid rgba(var(--color-success-rgb),var(--status-border-opacity))}.api-status.loading{background:var(--color-bg-1);color:var(--color-primary);border:1px solid rgba(var(--color-teal-500-rgb),var(--status-border-opacity))}.api-status.error{background:rgba(var(--color-error-rgb),var(--status-bg-opacity));color:var(--color-error);border:1px solid rgba(var(--color-error-rgb),var(--status-border-opacity))}.api-status.no-data{background:rgba(var(--color-warning-rgb),var(--status-bg-opacity));color:var(--color-warning);border:1px solid rgba(var(--color-warning-rgb),var(--status-border-opacity))}.status-dot{width:8px;height:8px;border-radius:var(--radius-full);display:inline-block;background:currentColor;animation:pulse 2s infinite var(--ease-standard)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.refresh-btn{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-10) var(--space-16);background-color:var(--color-primary);color:var(--color-btn-primary-text);border:none;border-radius:var(--radius-base);cursor:pointer;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);font-family:var(--font-family-base);transition:all var(--duration-fast) var(--ease-standard);box-shadow:var(--shadow-inset-sm)}.refresh-btn:hover{background-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.refresh-btn:active{background-color:var(--color-primary-active);transform:translateY(0);box-shadow:var(--shadow-xs)}.refresh-btn:focus-visible{outline:var(--focus-outline);outline-offset:2px}.last-update{display:flex;align-items:center;gap:var(--space-8);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal)}.content{flex:1;padding:var(--space-32);overflow-y:auto;background-color:var(--color-background)}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-24);margin-bottom:var(--space-32)}.kpi-card{display:flex;gap:var(--space-16);align-items:flex-start;padding:var(--space-24);background-color:var(--color-surface);border:1px solid var(--color-card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--duration-fast) var(--ease-standard);position:relative;overflow:hidden}.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px}.kpi-card.pallets:before{background:var(--color-primary)}.kpi-card.destinos:before{background:var(--color-success)}.kpi-card.netback:before{background:var(--color-warning)}.kpi-card.variedades:before{background:var(--color-info)}.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-card-border-inner)}.kpi-icon{font-size:var(--font-size-4xl);min-width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--color-secondary);flex-shrink:0;transition:transform var(--duration-fast) var(--ease-standard)}.kpi-card.pallets .kpi-icon{background:var(--color-bg-1);color:var(--color-primary)}.kpi-card.destinos .kpi-icon{background:rgba(var(--color-success-rgb),var(--status-bg-opacity));color:var(--color-success)}.kpi-card.netback .kpi-icon{background:rgba(var(--color-warning-rgb),var(--status-bg-opacity));color:var(--color-warning)}.kpi-card.variedades .kpi-icon{background:rgba(var(--color-info-rgb),var(--status-bg-opacity));color:var(--color-info)}.kpi-card:hover .kpi-icon{transform:scale(1.05)}.kpi-content{flex:1}.kpi-number{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text);line-height:var(--line-height-tight);margin-bottom:var(--space-4);letter-spacing:var(--letter-spacing-tight)}.kpi-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);margin-bottom:var(--space-8)}.kpi-trend{font-size:var(--font-size-sm);color:var(--color-success);font-weight:var(--font-weight-medium)}.status-section{background-color:var(--color-surface);border:1px solid var(--color-card-border);border-radius:var(--radius-lg);padding:var(--space-24);margin-bottom:var(--space-32);box-shadow:var(--shadow-sm)}.section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 var(--space-20) 0;letter-spacing:var(--letter-spacing-tight)}.status-list{display:flex;flex-direction:column;gap:var(--space-16)}.status-item{display:flex;align-items:center;gap:var(--space-12)}.status-indicator{width:10px;height:10px;border-radius:var(--radius-full);flex-shrink:0}.status-indicator.active{background:var(--color-success);box-shadow:0 0 8px rgba(var(--color-success-rgb),.4)}.status-indicator.warning{background:var(--color-warning);box-shadow:0 0 8px rgba(var(--color-warning-rgb),.4)}.status-content{display:flex;flex-direction:column;gap:var(--space-2)}.status-title{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.status-value{font-size:var(--font-size-base);color:var(--color-text);font-weight:var(--font-weight-semibold)}.no-data-container{background-color:var(--color-surface);border:2px dashed var(--color-card-border);border-radius:var(--radius-lg);padding:48px var(--space-32);text-align:center}.no-data-icon{font-size:64px;margin-bottom:var(--space-24);opacity:.6}.no-data-message h2{font-size:var(--font-size-2xl);color:var(--color-text);margin:0 0 var(--space-12) 0;font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight)}.no-data-message p{color:var(--color-text-secondary);font-size:var(--font-size-base);margin:0 0 var(--space-24) 0;line-height:var(--line-height-normal)}.no-data-details{background:var(--color-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-20);margin-bottom:var(--space-24);text-align:left;max-width:400px;margin-left:auto;margin-right:auto}.no-data-details p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-12);text-align:center;font-weight:var(--font-weight-medium)}.no-data-details ul{list-style:none;padding:0;margin:0}.no-data-details li{font-size:var(--font-size-sm);color:var(--color-text);padding:var(--space-8) 0;border-bottom:1px solid var(--color-card-border-inner);font-weight:var(--font-weight-normal)}.no-data-details li:last-child{border-bottom:none}.retry-btn{background-color:var(--color-primary);color:var(--color-btn-primary-text);border:none;padding:var(--space-12) var(--space-24);border-radius:var(--radius-base);cursor:pointer;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);font-family:var(--font-family-base);transition:all var(--duration-fast) var(--ease-standard);box-shadow:var(--shadow-inset-sm)}.retry-btn:hover{background-color:var(--color-primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.retry-btn:active{background-color:var(--color-primary-active);transform:translateY(0);box-shadow:var(--shadow-xs)}.retry-btn:focus-visible{outline:var(--focus-outline);outline-offset:2px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;gap:var(--space-16)}.spinner{width:48px;height:48px;border:4px solid var(--color-border);border-top:4px solid var(--color-primary);border-radius:var(--radius-full);animation:spin var(--duration-normal) linear infinite}.loading-text{color:var(--color-text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);margin:0}@media (max-width: 1024px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.modern-sidebar{transform:translate(-100%)}.modern-sidebar.sidebar-open{transform:translate(0);width:280px}.modern-sidebar.sidebar-closed{transform:translate(-100%)}.main-content{margin-left:0;width:100%}.header{padding:var(--space-16) var(--space-20);flex-direction:column;align-items:flex-start;gap:var(--space-16)}.header-right{width:100%;justify-content:space-between;gap:var(--space-12)}.content{padding:var(--space-20)}.kpi-grid{grid-template-columns:1fr;gap:var(--space-16)}.no-data-container{padding:var(--space-32) var(--space-20)}}@media (max-width: 480px){.header{padding:var(--space-12) var(--space-16)}.header-title{font-size:var(--font-size-2xl)}.header-subtitle{display:none}.header-right{flex-direction:column;align-items:flex-start;width:100%;gap:var(--space-8)}.api-status,.refresh-btn{width:100%;justify-content:center}.last-update{width:100%;justify-content:center;font-size:var(--font-size-xs)}.content{padding:var(--space-16)}.kpi-grid{gap:var(--space-12)}.kpi-card{flex-direction:column;align-items:center;text-align:center;padding:var(--space-20);gap:var(--space-12)}.kpi-icon{margin:0 auto}.kpi-content{display:flex;flex-direction:column;align-items:center}.kpi-number{font-size:var(--font-size-3xl)}.status-section{padding:var(--space-16)}.section-title{font-size:var(--font-size-md)}.status-list{gap:var(--space-12)}.no-data-container{padding:var(--space-24) var(--space-16)}.no-data-icon{font-size:48px;margin-bottom:var(--space-16)}.no-data-message h2{font-size:var(--font-size-xl)}.no-data-message p{font-size:var(--font-size-sm)}.no-data-details{max-width:100%;padding:var(--space-16)}.retry-btn{width:100%;padding:var(--space-16) var(--space-24)}.sidebar-header{padding:var(--space-16);min-height:70px}.brand-icon{width:36px;height:36px}.brand-text h3{font-size:var(--font-size-lg)}.sidebar-footer{padding:var(--space-16)}}:root{--color-white: rgba(255, 255, 255, 1);--color-black: rgba(0, 0, 0, 1);--color-cream-50: rgba(252, 252, 249, 1);--color-cream-100: rgba(255, 255, 253, 1);--color-gray-200: rgba(245, 245, 245, 1);--color-gray-300: rgba(167, 169, 169, 1);--color-gray-400: rgba(119, 124, 124, 1);--color-slate-500: rgba(98, 108, 113, 1);--color-brown-600: rgba(94, 82, 64, 1);--color-charcoal-700: rgba(31, 33, 33, 1);--color-charcoal-800: rgba(38, 40, 40, 1);--color-slate-900: rgba(19, 52, 59, 1);--color-teal-300: rgba(50, 184, 198, 1);--color-teal-400: rgba(45, 166, 178, 1);--color-teal-500: rgba(33, 128, 141, 1);--color-teal-600: rgba(29, 116, 128, 1);--color-teal-700: rgba(26, 104, 115, 1);--color-teal-800: rgba(41, 150, 161, 1);--color-red-400: rgba(255, 84, 89, 1);--color-red-500: rgba(192, 21, 47, 1);--color-orange-400: rgba(230, 129, 97, 1);--color-orange-500: rgba(168, 75, 47, 1);--color-brown-600-rgb: 94, 82, 64;--color-teal-500-rgb: 33, 128, 141;--color-slate-900-rgb: 19, 52, 59;--color-slate-500-rgb: 98, 108, 113;--color-red-500-rgb: 192, 21, 47;--color-red-400-rgb: 255, 84, 89;--color-orange-500-rgb: 168, 75, 47;--color-orange-400-rgb: 230, 129, 97;--color-bg-1: rgba(59, 130, 246, .08);--color-bg-2: rgba(245, 158, 11, .08);--color-bg-3: rgba(34, 197, 94, .08);--color-bg-4: rgba(239, 68, 68, .08);--color-bg-5: rgba(147, 51, 234, .08);--color-bg-6: rgba(249, 115, 22, .08);--color-bg-7: rgba(236, 72, 153, .08);--color-bg-8: rgba(6, 182, 212, .08);--color-background: var(--color-cream-50);--color-surface: var(--color-cream-100);--color-text: var(--color-slate-900);--color-text-secondary: var(--color-slate-500);--color-primary: var(--color-teal-500);--color-primary-hover: var(--color-teal-600);--color-primary-active: var(--color-teal-700);--color-secondary: rgba(var(--color-brown-600-rgb), .12);--color-secondary-hover: rgba(var(--color-brown-600-rgb), .2);--color-secondary-active: rgba(var(--color-brown-600-rgb), .25);--color-border: rgba(var(--color-brown-600-rgb), .2);--color-btn-primary-text: var(--color-cream-50);--color-card-border: rgba(var(--color-brown-600-rgb), .12);--color-card-border-inner: rgba(var(--color-brown-600-rgb), .12);--color-error: var(--color-red-500);--color-success: var(--color-teal-500);--color-warning: var(--color-orange-500);--color-info: var(--color-slate-500);--color-focus-ring: rgba(var(--color-teal-500-rgb), .4);--color-select-caret: rgba(var(--color-slate-900-rgb), .8);--focus-ring: 0 0 0 3px var(--color-focus-ring);--focus-outline: 2px solid var(--color-primary);--status-bg-opacity: .15;--status-border-opacity: .25;--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--color-success-rgb: 33, 128, 141;--color-error-rgb: 192, 21, 47;--color-warning-rgb: 168, 75, 47;--color-info-rgb: 98, 108, 113;--font-family-base: "FKGroteskNeue", "Geist", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "Berkeley Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-size-4xl: 30px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 550;--font-weight-bold: 600;--line-height-tight: 1.2;--line-height-normal: 1.5;--letter-spacing-tight: -.01em;--space-0: 0;--space-1: 1px;--space-2: 2px;--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-10: 10px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-32: 32px;--radius-sm: 6px;--radius-base: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .02);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .04), 0 2px 4px -1px rgba(0, 0, 0, .02);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .04), 0 4px 6px -2px rgba(0, 0, 0, .02);--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, .15), inset 0 -1px 0 rgba(0, 0, 0, .03);--duration-fast: .15s;--duration-normal: .25s;--ease-standard: cubic-bezier(.16, 1, .3, 1);--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px}@media (prefers-color-scheme: dark){:root{--color-gray-400-rgb: 119, 124, 124;--color-teal-300-rgb: 50, 184, 198;--color-gray-300-rgb: 167, 169, 169;--color-gray-200-rgb: 245, 245, 245;--color-bg-1: rgba(29, 78, 216, .15);--color-bg-2: rgba(180, 83, 9, .15);--color-bg-3: rgba(21, 128, 61, .15);--color-bg-4: rgba(185, 28, 28, .15);--color-bg-5: rgba(107, 33, 168, .15);--color-bg-6: rgba(194, 65, 12, .15);--color-bg-7: rgba(190, 24, 93, .15);--color-bg-8: rgba(8, 145, 178, .15);--color-background: var(--color-charcoal-700);--color-surface: var(--color-charcoal-800);--color-text: var(--color-gray-200);--color-text-secondary: rgba(var(--color-gray-300-rgb), .7);--color-primary: var(--color-teal-300);--color-primary-hover: var(--color-teal-400);--color-primary-active: var(--color-teal-800);--color-secondary: rgba(var(--color-gray-400-rgb), .15);--color-secondary-hover: rgba(var(--color-gray-400-rgb), .25);--color-secondary-active: rgba(var(--color-gray-400-rgb), .3);--color-border: rgba(var(--color-gray-400-rgb), .3);--color-error: var(--color-red-400);--color-success: var(--color-teal-300);--color-warning: var(--color-orange-400);--color-info: var(--color-gray-300);--color-focus-ring: rgba(var(--color-teal-300-rgb), .4);--color-btn-primary-text: var(--color-slate-900);--color-card-border: rgba(var(--color-gray-400-rgb), .2);--color-card-border-inner: rgba(var(--color-gray-400-rgb), .15);--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, .1), inset 0 -1px 0 rgba(0, 0, 0, .15);--button-border-secondary: rgba(var(--color-gray-400-rgb), .2);--color-border-secondary: rgba(var(--color-gray-400-rgb), .2);--color-select-caret: rgba(var(--color-gray-200-rgb), .8);--focus-ring: 0 0 0 3px var(--color-focus-ring);--focus-outline: 2px solid var(--color-primary);--status-bg-opacity: .15;--status-border-opacity: .25;--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--color-success-rgb: var(--color-teal-300-rgb);--color-error-rgb: var(--color-red-400-rgb);--color-warning-rgb: var(--color-orange-400-rgb);--color-info-rgb: var(--color-gray-300-rgb)}}[data-color-scheme=dark]{--color-gray-400-rgb: 119, 124, 124;--color-teal-300-rgb: 50, 184, 198;--color-gray-300-rgb: 167, 169, 169;--color-gray-200-rgb: 245, 245, 245;--color-bg-1: rgba(29, 78, 216, .15);--color-bg-2: rgba(180, 83, 9, .15);--color-bg-3: rgba(21, 128, 61, .15);--color-bg-4: rgba(185, 28, 28, .15);--color-bg-5: rgba(107, 33, 168, .15);--color-bg-6: rgba(194, 65, 12, .15);--color-bg-7: rgba(190, 24, 93, .15);--color-bg-8: rgba(8, 145, 178, .15);--color-background: var(--color-charcoal-700);--color-surface: var(--color-charcoal-800);--color-text: var(--color-gray-200);--color-text-secondary: rgba(var(--color-gray-300-rgb), .7);--color-primary: var(--color-teal-300);--color-primary-hover: var(--color-teal-400);--color-primary-active: var(--color-teal-800);--color-secondary: rgba(var(--color-gray-400-rgb), .15);--color-secondary-hover: rgba(var(--color-gray-400-rgb), .25);--color-secondary-active: rgba(var(--color-gray-400-rgb), .3);--color-border: rgba(var(--color-gray-400-rgb), .3);--color-error: var(--color-red-400);--color-success: var(--color-teal-300);--color-warning: var(--color-orange-400);--color-info: var(--color-gray-300);--color-focus-ring: rgba(var(--color-teal-300-rgb), .4);--color-btn-primary-text: var(--color-slate-900);--color-card-border: rgba(var(--color-gray-400-rgb), .15);--color-card-border-inner: rgba(var(--color-gray-400-rgb), .15);--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, .1), inset 0 -1px 0 rgba(0, 0, 0, .15);--color-border-secondary: rgba(var(--color-gray-400-rgb), .2);--color-select-caret: rgba(var(--color-gray-200-rgb), .8);--focus-ring: 0 0 0 3px var(--color-focus-ring);--focus-outline: 2px solid var(--color-primary);--status-bg-opacity: .15;--status-border-opacity: .25;--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--color-success-rgb: var(--color-teal-300-rgb);--color-error-rgb: var(--color-red-400-rgb);--color-warning-rgb: var(--color-orange-400-rgb);--color-info-rgb: var(--color-gray-300-rgb)}body{margin:0;padding:0}@font-face{font-family:FKGroteskNeue;src:url(https://r2cdn.perplexity.ai/fonts/FKGroteskNeue.woff2) format("woff2")}:root{--color-white: rgba(255, 255, 255, 1);--color-black: rgba(0, 0, 0, 1);--color-cream-50: rgba(252, 252, 249, 1);--color-cream-100: rgba(255, 255, 253, 1);--color-gray-200: rgba(245, 245, 245, 1);--color-gray-300: rgba(167, 169, 169, 1);--color-gray-400: rgba(119, 124, 124, 1);--color-slate-500: rgba(98, 108, 113, 1);--color-brown-600: rgba(94, 82, 64, 1);--color-charcoal-700: rgba(31, 33, 33, 1);--color-charcoal-800: rgba(38, 40, 40, 1);--color-slate-900: rgba(19, 52, 59, 1);--color-teal-300: rgba(50, 184, 198, 1);--color-teal-400: rgba(45, 166, 178, 1);--color-teal-500: rgba(33, 128, 141, 1);--color-teal-600: rgba(29, 116, 128, 1);--color-teal-700: rgba(26, 104, 115, 1);--color-teal-800: rgba(41, 150, 161, 1);--color-red-400: rgba(255, 84, 89, 1);--color-red-500: rgba(192, 21, 47, 1);--color-orange-400: rgba(230, 129, 97, 1);--color-orange-500: rgba(168, 75, 47, 1);--color-brown-600-rgb: 94, 82, 64;--color-teal-500-rgb: 33, 128, 141;--color-slate-900-rgb: 19, 52, 59;--color-slate-500-rgb: 98, 108, 113;--color-red-500-rgb: 192, 21, 47;--color-red-400-rgb: 255, 84, 89;--color-orange-500-rgb: 168, 75, 47;--color-orange-400-rgb: 230, 129, 97;--color-bg-1: rgba(59, 130, 246, .08);--color-bg-2: rgba(245, 158, 11, .08);--color-bg-3: rgba(34, 197, 94, .08);--color-bg-4: rgba(239, 68, 68, .08);--color-bg-5: rgba(147, 51, 234, .08);--color-bg-6: rgba(249, 115, 22, .08);--color-bg-7: rgba(236, 72, 153, .08);--color-bg-8: rgba(6, 182, 212, .08);--color-background: var(--color-cream-50);--color-surface: var(--color-cream-100);--color-text: var(--color-slate-900);--color-text-secondary: var(--color-slate-500);--color-primary: var(--color-teal-500);--color-primary-hover: var(--color-teal-600);--color-primary-active: var(--color-teal-700);--color-secondary: rgba(var(--color-brown-600-rgb), .12);--color-secondary-hover: rgba(var(--color-brown-600-rgb), .2);--color-secondary-active: rgba(var(--color-brown-600-rgb), .25);--color-border: rgba(var(--color-brown-600-rgb), .2);--color-btn-primary-text: var(--color-cream-50);--color-card-border: rgba(var(--color-brown-600-rgb), .12);--color-card-border-inner: rgba(var(--color-brown-600-rgb), .12);--color-error: var(--color-red-500);--color-success: var(--color-teal-500);--color-warning: var(--color-orange-500);--color-info: var(--color-slate-500);--color-focus-ring: rgba(var(--color-teal-500-rgb), .4);--color-select-caret: rgba(var(--color-slate-900-rgb), .8);--focus-ring: 0 0 0 3px var(--color-focus-ring);--focus-outline: 2px solid var(--color-primary);--status-bg-opacity: .15;--status-border-opacity: .25;--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--color-success-rgb: 33, 128, 141;--color-error-rgb: 192, 21, 47;--color-warning-rgb: 168, 75, 47;--color-info-rgb: 98, 108, 113;--font-family-base: "FKGroteskNeue", "Geist", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "Berkeley Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-size-4xl: 30px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 550;--font-weight-bold: 600;--line-height-tight: 1.2;--line-height-normal: 1.5;--letter-spacing-tight: -.01em;--space-0: 0;--space-1: 1px;--space-2: 2px;--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-10: 10px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-32: 32px;--radius-sm: 6px;--radius-base: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .02);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .04), 0 2px 4px -1px rgba(0, 0, 0, .02);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .04), 0 4px 6px -2px rgba(0, 0, 0, .02);--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, .15), inset 0 -1px 0 rgba(0, 0, 0, .03);--duration-fast: .15s;--duration-normal: .25s;--ease-standard: cubic-bezier(.16, 1, .3, 1);--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px}@media (prefers-color-scheme: dark){:root{--color-gray-400-rgb: 119, 124, 124;--color-teal-300-rgb: 50, 184, 198;--color-gray-300-rgb: 167, 169, 169;--color-gray-200-rgb: 245, 245, 245;--color-bg-1: rgba(29, 78, 216, .15);--color-bg-2: rgba(180, 83, 9, .15);--color-bg-3: rgba(21, 128, 61, .15);--color-bg-4: rgba(185, 28, 28, .15);--color-bg-5: rgba(107, 33, 168, .15);--color-bg-6: rgba(194, 65, 12, .15);--color-bg-7: rgba(190, 24, 93, .15);--color-bg-8: rgba(8, 145, 178, .15);--color-background: var(--color-charcoal-700);--color-surface: var(--color-charcoal-800);--color-text: var(--color-gray-200);--color-text-secondary: rgba(var(--color-gray-300-rgb), .7);--color-primary: var(--color-teal-300);--color-primary-hover: var(--color-teal-400);--color-primary-active: var(--color-teal-800);--color-secondary: rgba(var(--color-gray-400-rgb), .15);--color-secondary-hover: rgba(var(--color-gray-400-rgb), .25);--color-secondary-active: rgba(var(--color-gray-400-rgb), .3);--color-border: rgba(var(--color-gray-400-rgb), .3);--color-error: var(--color-red-400);--color-success: var(--color-teal-300);--color-warning: var(--color-orange-400);--color-info: var(--color-gray-300);--color-focus-ring: rgba(var(--color-teal-300-rgb), .4);--color-btn-primary-text: var(--color-slate-900);--color-card-border: rgba(var(--color-gray-400-rgb), .2);--color-card-border-inner: rgba(var(--color-gray-400-rgb), .15);--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, .1), inset 0 -1px 0 rgba(0, 0, 0, .15);--color-border-secondary: rgba(var(--color-gray-400-rgb), .2);--color-select-caret: rgba(var(--color-gray-200-rgb), .8);--color-success-rgb: var(--color-teal-300-rgb);--color-error-rgb: var(--color-red-400-rgb);--color-warning-rgb: var(--color-orange-400-rgb);--color-info-rgb: var(--color-gray-300-rgb)}}[data-color-scheme=dark]{--color-gray-400-rgb: 119, 124, 124;--color-teal-300-rgb: 50, 184, 198;--color-gray-300-rgb: 167, 169, 169;--color-gray-200-rgb: 245, 245, 245;--color-bg-1: rgba(29, 78, 216, .15);--color-bg-2: rgba(180, 83, 9, .15);--color-bg-3: rgba(21, 128, 61, .15);--color-bg-4: rgba(185, 28, 28, .15);--color-bg-5: rgba(107, 33, 168, .15);--color-bg-6: rgba(194, 65, 12, .15);--color-bg-7: rgba(190, 24, 93, .15);--color-bg-8: rgba(8, 145, 178, .15);--color-background: var(--color-charcoal-700);--color-surface: var(--color-charcoal-800);--color-text: var(--color-gray-200);--color-text-secondary: rgba(var(--color-gray-300-rgb), .7);--color-primary: var(--color-teal-300);--color-primary-hover: var(--color-teal-400);--color-primary-active: var(--color-teal-800);--color-secondary: rgba(var(--color-gray-400-rgb), .15);--color-secondary-hover: rgba(var(--color-gray-400-rgb), .25);--color-secondary-active: rgba(var(--color-gray-400-rgb), .3);--color-border: rgba(var(--color-gray-400-rgb), .3);--color-error: var(--color-red-400);--color-success: var(--color-teal-300);--color-warning: var(--color-orange-400);--color-info: var(--color-gray-300);--color-focus-ring: rgba(var(--color-teal-300-rgb), .4);--color-btn-primary-text: var(--color-slate-900);--color-card-border: rgba(var(--color-gray-400-rgb), .15);--color-card-border-inner: rgba(var(--color-gray-400-rgb), .15);--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, .1), inset 0 -1px 0 rgba(0, 0, 0, .15);--color-border-secondary: rgba(var(--color-gray-400-rgb), .2);--color-select-caret: rgba(var(--color-gray-200-rgb), .8);--color-success-rgb: var(--color-teal-300-rgb);--color-error-rgb: var(--color-red-400-rgb);--color-warning-rgb: var(--color-orange-400-rgb);--color-info-rgb: var(--color-gray-300-rgb)}[data-color-scheme=light]{--color-brown-600-rgb: 94, 82, 64;--color-teal-500-rgb: 33, 128, 141;--color-slate-900-rgb: 19, 52, 59;--color-background: var(--color-cream-50);--color-surface: var(--color-cream-100);--color-text: var(--color-slate-900);--color-text-secondary: var(--color-slate-500);--color-primary: var(--color-teal-500);--color-primary-hover: var(--color-teal-600);--color-primary-active: var(--color-teal-700);--color-secondary: rgba(var(--color-brown-600-rgb), .12);--color-secondary-hover: rgba(var(--color-brown-600-rgb), .2);--color-secondary-active: rgba(var(--color-brown-600-rgb), .25);--color-border: rgba(var(--color-brown-600-rgb), .2);--color-btn-primary-text: var(--color-cream-50);--color-card-border: rgba(var(--color-brown-600-rgb), .12);--color-card-border-inner: rgba(var(--color-brown-600-rgb), .12);--color-error: var(--color-red-500);--color-success: var(--color-teal-500);--color-warning: var(--color-orange-500);--color-info: var(--color-slate-500);--color-focus-ring: rgba(var(--color-teal-500-rgb), .4);--color-success-rgb: var(--color-teal-500-rgb);--color-error-rgb: var(--color-red-500-rgb);--color-warning-rgb: var(--color-orange-500-rgb);--color-info-rgb: var(--color-slate-500-rgb)}html{font-size:var(--font-size-base);font-family:var(--font-family-base);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;box-sizing:border-box}body{margin:0;padding:0;background-color:var(--color-background);color:var(--color-text)}*,*:before,*:after{box-sizing:inherit}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text);letter-spacing:var(--letter-spacing-tight)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-md)}p{margin:0 0 var(--space-16) 0}a{color:var(--color-primary);text-decoration:none;transition:color var(--duration-fast) var(--ease-standard)}a:hover{color:var(--color-primary-hover)}code,pre{font-family:var(--font-family-mono);font-size:calc(var(--font-size-base) * .95);background-color:var(--color-secondary);border-radius:var(--radius-sm)}code{padding:var(--space-1) var(--space-4)}pre{padding:var(--space-16);margin:var(--space-16) 0;overflow:auto;border:1px solid var(--color-border)}pre code{background:none;padding:0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-8) var(--space-16);border-radius:var(--radius-base);font-size:var(--font-size-base);font-weight:500;line-height:1.5;cursor:pointer;transition:all var(--duration-normal) var(--ease-standard);border:none;text-decoration:none;position:relative}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn--primary{background:var(--color-primary);color:var(--color-btn-primary-text)}.btn--primary:hover{background:var(--color-primary-hover)}.btn--primary:active{background:var(--color-primary-active)}.btn--secondary{background:var(--color-secondary);color:var(--color-text)}.btn--secondary:hover{background:var(--color-secondary-hover)}.btn--secondary:active{background:var(--color-secondary-active)}.btn--outline{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.btn--outline:hover{background:var(--color-secondary)}.btn--sm{padding:var(--space-4) var(--space-12);font-size:var(--font-size-sm);border-radius:var(--radius-sm)}.btn--lg{padding:var(--space-10) var(--space-20);font-size:var(--font-size-lg);border-radius:var(--radius-md)}.btn--full-width{width:100%}.form-control{display:block;width:100%;padding:var(--space-8) var(--space-12);font-size:var(--font-size-md);line-height:1.5;color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-base);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}textarea.form-control{font-family:var(--font-family-base);font-size:var(--font-size-base)}select.form-control{padding:var(--space-8) var(--space-12);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:var(--select-caret-light);background-repeat:no-repeat;background-position:right var(--space-12) center;background-size:16px;padding-right:var(--space-32)}@media (prefers-color-scheme: dark){select.form-control{background-image:var(--select-caret-dark)}}[data-color-scheme=dark] select.form-control{background-image:var(--select-caret-dark)}[data-color-scheme=light] select.form-control{background-image:var(--select-caret-light)}.form-control:focus{border-color:var(--color-primary);outline:var(--focus-outline)}.form-label{display:block;margin-bottom:var(--space-8);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.form-group{margin-bottom:var(--space-16)}.card{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-card-border);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--duration-normal) var(--ease-standard)}.card:hover{box-shadow:var(--shadow-md)}.card__body{padding:var(--space-16)}.card__header,.card__footer{padding:var(--space-16);border-bottom:1px solid var(--color-card-border-inner)}.status{display:inline-flex;align-items:center;padding:var(--space-6) var(--space-12);border-radius:var(--radius-full);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.status--success{background-color:rgba(var(--color-success-rgb, 33, 128, 141),var(--status-bg-opacity));color:var(--color-success);border:1px solid rgba(var(--color-success-rgb, 33, 128, 141),var(--status-border-opacity))}.status--error{background-color:rgba(var(--color-error-rgb, 192, 21, 47),var(--status-bg-opacity));color:var(--color-error);border:1px solid rgba(var(--color-error-rgb, 192, 21, 47),var(--status-border-opacity))}.status--warning{background-color:rgba(var(--color-warning-rgb, 168, 75, 47),var(--status-bg-opacity));color:var(--color-warning);border:1px solid rgba(var(--color-warning-rgb, 168, 75, 47),var(--status-border-opacity))}.status--info{background-color:rgba(var(--color-info-rgb, 98, 108, 113),var(--status-bg-opacity));color:var(--color-info);border:1px solid rgba(var(--color-info-rgb, 98, 108, 113),var(--status-border-opacity))}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:var(--space-16);padding-left:var(--space-16)}@media (min-width: 640px){.container{max-width:var(--container-sm)}}@media (min-width: 768px){.container{max-width:var(--container-md)}}@media (min-width: 1024px){.container{max-width:var(--container-lg)}}@media (min-width: 1280px){.container{max-width:var(--container-xl)}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:var(--space-4)}.gap-8{gap:var(--space-8)}.gap-16{gap:var(--space-16)}.m-0{margin:0}.mt-8{margin-top:var(--space-8)}.mb-8{margin-bottom:var(--space-8)}.mx-8{margin-left:var(--space-8);margin-right:var(--space-8)}.my-8{margin-top:var(--space-8);margin-bottom:var(--space-8)}.p-0{padding:0}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.px-8{padding-left:var(--space-8);padding-right:var(--space-8)}.py-16{padding-top:var(--space-16);padding-bottom:var(--space-16)}.px-16{padding-left:var(--space-16);padding-right:var(--space-16)}.block{display:block}.hidden{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:focus-visible{outline:var(--focus-outline);outline-offset:2px}[data-color-scheme=dark] .btn--outline{border:1px solid var(--color-border-secondary)}@font-face{font-family:FKGroteskNeue;src:url(https://r2cdn.perplexity.ai/fonts/FKGroteskNeue.woff2) format("woff2")}.precios-fob-container{padding:var(--space-20);max-width:var(--container-xl);margin:0 auto;font-family:var(--font-family-base);background-color:var(--color-background);min-height:100vh}.precios-fob-header{text-align:center;margin-bottom:var(--space-32)}.precios-fob-header h1{color:var(--color-text);margin-bottom:var(--space-16);font-size:var(--font-size-4xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight)}.date-range-info{display:flex;justify-content:center;margin-bottom:var(--space-20)}.info-badge{background:var(--color-bg-3);color:var(--color-success);padding:var(--space-8) var(--space-16);border-radius:var(--radius-full);font-weight:var(--font-weight-medium);border:1px solid rgba(var(--color-success-rgb),var(--status-border-opacity));font-size:var(--font-size-sm)}.precios-fob-controls{display:flex;gap:var(--space-20);align-items:end;background:var(--color-surface);padding:var(--space-20);border-radius:var(--radius-md);margin-bottom:var(--space-32);flex-wrap:wrap;border:1px solid var(--color-card-border);box-shadow:var(--shadow-sm)}.control-group{display:flex;flex-direction:column;min-width:150px}.control-group label{font-weight:var(--font-weight-medium);margin-bottom:var(--space-6);color:var(--color-text);font-size:var(--font-size-sm)}.btn-refresh{background:var(--color-primary);color:var(--color-btn-primary-text);border:none;padding:var(--space-10) var(--space-20);border-radius:var(--radius-base);cursor:pointer;font-weight:var(--font-weight-medium);transition:all var(--duration-normal) var(--ease-standard);height:fit-content;font-size:var(--font-size-base)}.btn-refresh:hover{background:var(--color-primary-hover)}.btn-refresh:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-refresh:disabled{background:var(--color-text-secondary);cursor:not-allowed;opacity:.5}.error-message{background:rgba(var(--color-warning-rgb),var(--status-bg-opacity));color:var(--color-warning);padding:var(--space-12) var(--space-16);border-radius:var(--radius-base);border:1px solid rgba(var(--color-warning-rgb),var(--status-border-opacity));margin-bottom:var(--space-20);text-align:center;font-size:var(--font-size-base)}.stats-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-20);margin-bottom:var(--space-32)}.stat-card{background:var(--color-surface);padding:var(--space-20);border-radius:var(--radius-lg);border:1px solid var(--color-card-border);text-align:center;box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-normal) var(--ease-standard)}.stat-card:hover{box-shadow:var(--shadow-md)}.stat-card h3{color:var(--color-text);margin-bottom:var(--space-10);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.stat-card p{color:var(--color-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:0}.precios-fob-chart{background:var(--color-surface);padding:var(--space-20);border-radius:var(--radius-lg);border:1px solid var(--color-card-border);margin-bottom:var(--space-32);min-height:650px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.loading-spinner,.no-data{font-size:var(--font-size-xl);color:var(--color-text-secondary);text-align:center}.precios-fob-table{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-card-border);overflow:hidden;width:100%;margin-bottom:var(--space-32);box-shadow:var(--shadow-sm)}.precios-fob-table h3{background:var(--color-secondary);padding:var(--space-16) var(--space-20);margin:0;color:var(--color-text);border-bottom:1px solid var(--color-card-border-inner);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.table-container{max-height:500px;overflow-y:auto;width:100%;position:relative}.precios-fob-table table{width:100%;border-collapse:collapse;min-width:auto}.precios-fob-table th,.precios-fob-table td{padding:var(--space-12);text-align:left;border-bottom:1px solid var(--color-card-border-inner);font-size:var(--font-size-sm)}.precios-fob-table thead{position:sticky;top:0;z-index:10;background:var(--color-secondary)}.precios-fob-table th{background:var(--color-secondary);font-weight:var(--font-weight-semibold);color:var(--color-text);position:sticky;z-index:10}.precios-fob-table thead tr:first-child th{top:0;z-index:12;border-collapse:collapse;border-spacing:0;background:#eceae8;opacity:1;border-bottom:1px solid var(--color-card-border-inner)}.precios-fob-table thead tr:nth-child(2) th{top:0;z-index:11;background:#eceae8;opacity:1;border-top:1px solid var(--color-card-border-inner)}.precios-fob-table:first-of-type table th:first-child,.precios-fob-table:first-of-type table td:first-child{border-right:3px solid var(--color-border);background-color:var(--color-secondary)}.precios-fob-table:first-of-type table thead tr:first-child th[colspan="2"]:not(:first-child){border-left:3px solid var(--color-border)}.precios-fob-table:last-of-type table th:first-child,.precios-fob-table:last-of-type table td:first-child{border-right:3px solid var(--color-border);background-color:var(--color-secondary)}.precios-fob-table:last-of-type table thead tr:first-child th[colspan="5"]:not(:first-child){border-left:3px solid var(--color-border)}.price-column,.variation-column{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);padding:var(--space-8) var(--space-4);text-align:center}.price-cell{text-align:right;font-weight:var(--font-weight-semibold)}.variation-cell{text-align:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);min-width:70px}.variation-cell.positive{color:var(--color-success);background-color:rgba(var(--color-success-rgb),.1)}.variation-cell.negative{color:var(--color-error);background-color:rgba(var(--color-error-rgb),.1)}.variation-cell.neutral{color:var(--color-text-secondary)}.precios-fob-table td.positive{color:var(--color-success);font-weight:var(--font-weight-semibold)}.precios-fob-table td.negative{color:var(--color-error);font-weight:var(--font-weight-semibold)}.precios-fob-table tbody tr:hover{background-color:var(--color-secondary)}.countries-selector{background:var(--color-surface);padding:var(--space-20);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-32);border:1px solid var(--color-card-border)}.countries-selector h3{margin-bottom:var(--space-16);color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.countries-buttons{display:flex;flex-wrap:wrap;gap:var(--space-10);margin-bottom:var(--space-16)}.country-toggle{padding:var(--space-10) var(--space-16);border:2px solid;border-radius:var(--radius-full);background:transparent;cursor:pointer;font-weight:var(--font-weight-semibold);transition:all var(--duration-normal) var(--ease-standard);min-width:120px;font-size:var(--font-size-sm)}.country-toggle:nth-child(8n+1){background-color:var(--color-bg-1);border-color:var(--color-primary);color:var(--color-primary)}.country-toggle:nth-child(8n+2){background-color:var(--color-bg-2);border-color:var(--color-warning);color:var(--color-warning)}.country-toggle:nth-child(8n+3){background-color:var(--color-bg-3);border-color:var(--color-success);color:var(--color-success)}.country-toggle:nth-child(8n+4){background-color:var(--color-bg-4);border-color:var(--color-error);color:var(--color-error)}.country-toggle:nth-child(8n+5){background-color:var(--color-bg-5);border-color:var(--color-slate-500);color:var(--color-slate-500)}.country-toggle:nth-child(8n+6){background-color:var(--color-bg-6);border-color:var(--color-orange-500);color:var(--color-orange-500)}.country-toggle:nth-child(8n+7){background-color:var(--color-bg-7);border-color:var(--color-red-400);color:var(--color-red-400)}.country-toggle:nth-child(8n+8){background-color:var(--color-bg-8);border-color:var(--color-teal-400);color:var(--color-teal-400)}.country-toggle:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.country-toggle:focus-visible{outline:none;box-shadow:var(--focus-ring)}.country-toggle.active{transform:scale(1.05);font-weight:var(--font-weight-bold)}.country-toggle:disabled{opacity:.5;cursor:not-allowed;transform:none}.countries-hint{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-style:italic;margin:0}.countries-ranking{background:var(--color-surface);padding:var(--space-20);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-32);border:1px solid var(--color-card-border)}.ranking-list{display:grid;gap:var(--space-10)}.ranking-item{display:flex;align-items:center;padding:var(--space-16);background:var(--color-secondary);border-radius:var(--radius-base);border-left:4px solid var(--color-primary);transition:transform var(--duration-fast) var(--ease-standard)}.ranking-item:hover{transform:translate(5px)}.ranking-position{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-right:var(--space-16);color:var(--color-text)}.country-name{flex:1;font-weight:var(--font-weight-semibold);color:var(--color-text)}.country-price{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-success)}.countries-stats{background:var(--color-surface);padding:var(--space-20);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-32);border:1px solid var(--color-card-border)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-20)}.stat-country-card{background:var(--color-secondary);border-radius:var(--radius-lg);padding:var(--space-20);border-top:4px solid var(--color-primary);transition:transform var(--duration-fast) var(--ease-standard)}.stat-country-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.stat-country-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-16)}.stat-country-header h4{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text)}.loading-indicator{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.stat-country-details{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-10)}.stat-item{display:flex;justify-content:space-between;padding:var(--space-8) 0;border-bottom:1px solid var(--color-card-border-inner)}.stat-label{font-weight:var(--font-weight-medium);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.stat-value{font-weight:var(--font-weight-bold);color:var(--color-text);font-size:var(--font-size-sm)}.btn-export{background:var(--color-success);color:var(--color-btn-primary-text);border:none;padding:var(--space-12) var(--space-24);border-radius:var(--radius-base);cursor:pointer;font-weight:var(--font-weight-semibold);transition:all var(--duration-normal) var(--ease-standard);font-size:var(--font-size-base)}.btn-export:hover{background:var(--color-teal-600);transform:translateY(-1px)}.btn-export:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-export:disabled{background:var(--color-text-secondary);cursor:not-allowed;transform:none;opacity:.5}.export-section{padding:var(--space-20);text-align:center;border-top:1px solid var(--color-card-border-inner);background:var(--color-secondary)}@media (max-width: 1200px){.table-container{overflow-x:auto}.precios-fob-table table{min-width:1000px}.price-cell,.variation-cell{font-size:var(--font-size-xs);padding:var(--space-6) var(--space-2)}}@media (max-width: 768px){.precios-fob-container{padding:var(--space-16)}.precios-fob-controls{flex-direction:column;align-items:stretch;gap:var(--space-16);padding:var(--space-16)}.control-group{min-width:auto}.countries-buttons{justify-content:center}.countries-buttons .country-toggle{min-width:100px;font-size:var(--font-size-xs);padding:var(--space-8) var(--space-12)}.stats-grid,.stat-country-details{grid-template-columns:1fr}.stats-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-16)}}@media (max-width: 480px){.precios-fob-container{padding:var(--space-12)}.precios-fob-header h1{font-size:var(--font-size-3xl)}.precios-fob-controls{padding:var(--space-16);gap:var(--space-16)}.control-group{min-width:auto}.control-group label{font-size:var(--font-size-xs)}.form-control{padding:var(--space-6) var(--space-10);font-size:var(--font-size-sm)}.btn-refresh{padding:var(--space-8) var(--space-16);font-size:var(--font-size-sm)}.stats-summary{grid-template-columns:1fr;gap:var(--space-12)}.stat-card{padding:var(--space-16)}.stat-card h3{font-size:var(--font-size-xs)}.stat-card p{font-size:var(--font-size-lg)}.countries-selector,.countries-ranking,.countries-stats,.precios-fob-table,.precios-fob-chart{margin-bottom:var(--space-20);padding:var(--space-16)}.countries-buttons{justify-content:center}.countries-buttons .country-toggle{min-width:80px;font-size:var(--font-size-xs);padding:var(--space-6) var(--space-10)}.ranking-item{padding:var(--space-12);flex-direction:column;text-align:center;gap:var(--space-8)}.ranking-position{margin-right:0}.stat-country-card{padding:var(--space-16)}.stat-country-header{flex-direction:column;align-items:flex-start;gap:var(--space-8)}.stat-country-details{grid-template-columns:1fr;gap:var(--space-6)}.precios-fob-table th,.precios-fob-table td{padding:var(--space-8);font-size:var(--font-size-xs)}.btn-export{padding:var(--space-10) var(--space-20);font-size:var(--font-size-sm)}.export-section{padding:var(--space-16)}.date-range-info{flex-direction:column;align-items:center;gap:var(--space-8)}.info-badge{text-align:center}.precios-fob-header h1{text-align:center;margin-bottom:var(--space-12)}.precios-fob-chart{min-height:250px}}.precios-fob-table:first-of-type .table-container{position:relative;overflow:auto;max-height:500px}.precios-fob-table:first-of-type table th:first-child,.precios-fob-table:first-of-type table td:first-child{position:sticky;left:0;z-index:15;background-color:var(--color-secondary);border-right:3px solid var(--color-border);box-shadow:2px 0 4px #0000001a}.precios-fob-table:first-of-type table thead th{position:sticky;top:0;z-index:10;background-color:var(--color-secondary);border-bottom:2px solid var(--color-card-border-inner)}.precios-fob-table:first-of-type table thead tr:first-child th{top:0;z-index:12;background-color:var(--color-secondary)}.precios-fob-table:first-of-type table thead tr:nth-child(2) th{top:40px;z-index:11;background-color:var(--color-secondary)}.precios-fob-table:first-of-type table thead tr th:first-child{z-index:20;background-color:var(--color-secondary);box-shadow:2px 0 4px #0000001a}.precios-fob-table:last-of-type .table-container{position:relative;overflow:auto;max-height:500px}.precios-fob-table:last-of-type table th:first-child,.precios-fob-table:last-of-type table td:first-child{position:sticky;left:0;z-index:15;background-color:#eceae8;opacity:1;border-right:3px solid var(--color-border);box-shadow:2px 0 4px #0000001a}.precios-fob-table:last-of-type table thead th{position:sticky;top:0;z-index:10;background-color:var(--color-secondary);border-bottom:2px solid var(--color-card-border-inner)}.precios-fob-table:last-of-type table thead tr:first-child th{position:"sticky";top:0;z-index:12;background-color:#eceae8;opacity:1}.precios-fob-table:last-of-type table thead tr:nth-child(2) th{top:40px;z-index:11;background-color:#eceae8;opacity:1}.precios-fob-table:last-of-type table thead tr th:first-child{position:"sticky";z-index:20;background-color:#eceae8;opacity:1;box-shadow:2px 0 4px #0000001a}.precios-fob-table table th:first-child,.precios-fob-table table td:first-child{box-shadow:2px 0 6px #00000026;font-weight:var(--font-weight-semibold)}.precios-fob-table table thead th{background-color:var(--color-secondary);border-bottom:2px solid var(--color-card-border-inner)}.precios-fob-table:first-of-type table th:nth-child(odd):not(:first-child),.precios-fob-table:first-of-type table td:nth-child(odd):not(:first-child){border-right:3px solid var(--color-border)}.precios-fob-table:last-of-type table th:nth-child(6n+1):not(:first-child),.precios-fob-table:last-of-type table td:nth-child(6n+1):not(:first-child){border-left:3px solid var(--color-border)}@media (max-width: 768px){.precios-fob-table .table-container{max-height:400px}.precios-fob-table:first-of-type table thead tr:nth-child(2) th,.precios-fob-table:last-of-type table thead tr:nth-child(2) th{top:35px}.precios-fob-table table th:first-child,.precios-fob-table table td:first-child{min-width:80px;font-size:var(--font-size-xs)}}@media (max-width: 480px){.precios-fob-table .table-container{max-height:300px}.precios-fob-table:first-of-type table thead tr:nth-child(2) th,.precios-fob-table:last-of-type table thead tr:nth-child(2) th{top:30px}}.price-modifier-container{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:16px;margin-bottom:20px;box-shadow:0 4px 15px #667eea33}.price-modifier-container .filter-label{color:#fff;font-weight:600;margin-bottom:8px;font-size:14px}.modifier-input-group{display:flex;align-items:center;background:#ffffff26;border-radius:8px;padding:4px 12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.2)}.modifier-input{background:transparent;border:none;color:#fff;font-size:16px;font-weight:600;width:80px;text-align:center;outline:none}.modifier-input::placeholder{color:#ffffffb3}.modifier-unit{color:#fff;font-weight:600;margin-left:8px;font-size:16px}.modifier-info{margin-top:8px}.modifier-description{color:#ffffffe6;font-size:12px;font-style:italic;display:block}@media (max-width: 768px){.price-modifier-container{padding:12px}.modifier-input{width:60px;font-size:14px}.modifier-unit{font-size:14px}}.origin-select{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;border:2px solid #5a67d8}.origin-select:hover{border-color:#4c51bf;box-shadow:0 4px 12px #667eea4d}.origin-select option{background:#fff;color:#333}.origin-selector{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:20px;box-shadow:0 8px 24px #667eea4d;transition:all .3s ease}.origin-selector:hover{transform:translateY(-2px);box-shadow:0 12px 32px #667eea66}.origin-selector .filter-label{color:#fff;font-size:16px;font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:10px}.origin-selector .label-icon{font-size:24px}.origin-selector .filter-select{width:100%;padding:14px 18px;font-size:16px;font-weight:600;border:3px solid rgba(255,255,255,.3);border-radius:12px;background:#fffffff2;color:#2d3748;cursor:pointer;transition:all .3s ease}.origin-selector .filter-select:hover{border-color:#fff9;background:#fff;transform:scale(1.02)}.origin-selector .filter-hint{color:#ffffffe6;font-size:12px;margin-top:8px;text-align:center;font-weight:500}.data-source-section{margin:30px 0}.data-source-section .section-title{font-size:22px;font-weight:700;color:#2d3748;margin-bottom:20px;display:flex;align-items:center;gap:12px}.data-source-cards{display:flex;flex-direction:column;gap:16px}.data-source-card{position:relative;display:flex;align-items:center;padding:20px 24px;background:#fff;border:3px solid #e2e8f0;border-radius:16px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000d}.data-source-card:hover{transform:translate(8px);box-shadow:0 8px 24px #0000001f;border-color:#cbd5e0}.data-source-card.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#5a67d8;box-shadow:0 8px 32px #667eea66;transform:translate(12px)}.card-content{display:flex;align-items:center;gap:18px;width:100%}.card-icon{font-size:48px;min-width:60px;display:flex;align-items:center;justify-content:center;transition:transform .3s ease}.data-source-card.active .card-icon{transform:scale(1.15)}.card-text{flex:1}.card-title{font-size:18px;font-weight:700;color:#2d3748;margin-bottom:6px;display:flex;align-items:center;gap:8px}.data-source-card.active .card-title{color:#fff}.card-title .check-mark{color:#48bb78;font-size:20px}.data-source-card.active .card-title .check-mark{color:#fff}.card-description{font-size:13px;color:#718096;line-height:1.5}.data-source-card.active .card-description{color:#ffffffe6}.active-badge{position:absolute;top:12px;right:12px;background:#fff;color:#667eea;font-size:11px;font-weight:700;padding:4px 12px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px}.data-source-note{margin-top:16px;padding:14px 18px;background:#f7fafc;border-left:4px solid #4299e1;border-radius:8px;font-size:13px;color:#2d3748;line-height:1.6;display:flex;align-items:flex-start;gap:10px}.note-icon{font-size:18px}.data-source-note strong{color:#2b6cb0}.origin-comparison-controls{display:flex;gap:20px;margin:20px 0;flex-wrap:wrap}.origin-comparison-controls .filter-group{flex:1;min-width:300px}.country-selector-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:10px}.country-button{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .3s ease;font-size:14px;font-weight:600;position:relative}.country-button:hover:not(:disabled){border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.country-button.selected{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#5a67d8;color:#fff}.country-button:disabled{opacity:.5;cursor:not-allowed}.country-flag{font-size:24px}.country-name{flex:1}.check-icon{font-size:18px;color:#fff}.configuracion-container{padding:20px;max-width:1400px;margin:0 auto;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.config-header{text-align:center;margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff}.config-header h1{margin:0 0 10px;font-size:2.5em;font-weight:300}.config-header p{margin:0;font-size:1.1em;opacity:.9}.category-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px;justify-content:center}.category-btn{padding:12px 20px;border:2px solid #ddd;border-radius:25px;background:#fff;cursor:pointer;transition:all .3s ease;font-weight:500;display:flex;align-items:center;gap:8px}.category-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.category-btn.active{background:#667eea;color:#fff;border-color:#667eea}.config-count{background:#0000001a;padding:2px 8px;border-radius:12px;font-size:.9em}.config-content{display:grid;grid-template-columns:1fr 350px;gap:30px}.config-main{background:#fff;border-radius:12px;padding:25px;box-shadow:0 2px 10px #0000001a}.config-category{margin-bottom:30px}.category-header{padding:20px;border-radius:8px;margin-bottom:20px;border-left:4px solid #667eea;background:#f8f9fa}.category-title{display:flex;align-items:center;gap:10px;margin-bottom:10px}.category-icon{font-size:1.5em}.category-title h3{margin:0;color:#2c3e50}.category-description{margin:10px 0;color:#6c757d;font-style:italic}.category-stats{font-size:.9em;color:#495057}.config-fields{display:grid;gap:25px}.config-field{padding:20px;border:1px solid #e9ecef;border-radius:8px;background:#fefefe;transition:all .3s ease}.config-field.modified{border-color:#f39c12;background:#fff8dc}.config-field:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea1a}.config-field label{display:block;font-weight:600;margin-bottom:8px;color:#2c3e50}.modified-indicator{color:#f39c12;margin-left:5px;font-weight:700}.field-group{margin-bottom:10px}.field-group input[type=number],.field-group input[type=text]{width:100%;padding:10px;border:1px solid #ced4da;border-radius:6px;font-size:1em}.field-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.field-group input:disabled{background:#e9ecef;cursor:not-allowed}.range-info{display:block;margin-top:5px;font-size:.85em;color:#6c757d}.switch{position:relative;display:inline-block;width:60px;height:34px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:34px}.slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:#667eea}input:checked+.slider:before{transform:translate(26px)}.boolean-value{margin-left:15px;font-weight:500}.json-editor{width:100%;padding:10px;border:1px solid #ced4da;border-radius:6px;font-family:Courier New,monospace;font-size:.9em;resize:vertical}.json-info{display:block;margin-top:5px;font-size:.85em;color:#6c757d;font-style:italic}.formula-preview{margin-top:15px;padding:15px;background:#e8f4fd;border-radius:6px;border:1px solid #bee5eb}.formula-breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:10px}.formula-breakdown>div{padding:8px;background:#fff;border-radius:4px;text-align:center;font-weight:500}.formula-breakdown .total{grid-column:1 / -1;background:#667eea;color:#fff}.formula-breakdown .warning{color:#e74c3c}.config-description{margin:10px 0 0;font-size:.9em;color:#6c757d;line-height:1.4}.config-sidebar{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 10px #0000001a;height:fit-content;position:sticky;top:20px}.preview-panel h3,.config-info-panel h3{margin-top:0;color:#2c3e50;border-bottom:2px solid #667eea;padding-bottom:10px}.changes-summary{max-height:400px;overflow-y:auto;margin-bottom:20px}.change-item{padding:10px;border-bottom:1px solid #eee;margin-bottom:10px}.change-values{display:flex;align-items:center;gap:10px;margin-top:5px;font-family:monospace}.old-value{color:#e74c3c;text-decoration:line-through}.new-value{color:#27ae60;font-weight:700}.arrow{color:#6c757d}.impact-warnings{margin-top:20px}.warning{padding:10px;border-radius:6px;margin-bottom:10px;font-size:.9em}.arrhenius-warning{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.destination-warning{background:#d4edda;border:1px solid #badbcc;color:#155724}.cost-warning{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.config-actions{display:flex;flex-wrap:wrap;gap:15px;margin-top:30px;padding-top:20px;border-top:1px solid #eee}.btn{padding:12px 24px;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .3s ease;display:flex;align-items:center;gap:8px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover:not(:disabled){background:#5a6fd8;transform:translateY(-1px)}.btn-warning{background:#ffc107;color:#212529}.btn-info{background:#17a2b8;color:#fff}.alert{padding:15px 20px;border-radius:6px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.alert-error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.alert-success{background:#d4edda;border:1px solid #badbcc;color:#155724}.alert button{background:none;border:none;font-size:1.2em;cursor:pointer;opacity:.7}.alert button:hover{opacity:1}.loading{display:flex;justify-content:center;align-items:center;min-height:400px}.info-section{margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:6px}.info-section h4{margin-top:0;color:#495057}.info-section ul{margin:10px 0 0;padding-left:20px}.info-section li{margin-bottom:8px;line-height:1.4}.formula-display{background:#f1f3f4;padding:10px;border-radius:4px;margin-top:10px}.formula-display code{display:block;font-size:.9em;line-height:1.5;color:#2c3e50}@media (max-width: 1200px){.config-content{grid-template-columns:1fr}.config-sidebar{position:static}}@media (max-width: 768px){.configuracion-container{padding:10px}.category-nav,.config-actions{flex-direction:column}.config-actions .btn{justify-content:center}}.config-field{animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modified-indicator{animation:pulse 2s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.reportes-container{padding:30px;background:#f8fafc;min-height:100vh}.reportes-header{margin-bottom:30px}.reportes-header h1{margin:0;color:#1e293b;font-size:1.8rem}.reportes-header p{color:#64748b;margin:5px 0 0}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.report-card{background:#fff;padding:25px;border-radius:12px;box-shadow:0 4px 6px -1px #0000000d}.report-card.kpi h3{margin:0 0 10px;font-size:.9rem;color:#64748b;text-transform:uppercase;font-weight:600}.report-card.kpi .value{font-size:2rem;font-weight:700;color:#0f172a}.report-card.kpi.green .value{color:#10b981}.charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.chart-container h3{margin:0 0 20px;font-size:1.1rem;color:#334155;border-bottom:1px solid #f1f5f9;padding-bottom:15px}.chart-container.full-width{grid-column:span 2}.no-data-msg{height:200px;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-style:italic}.reportes-loading{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.spinner{border:4px solid #f3f3f3;border-top:4px solid #3b82f6;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:15px}@media (max-width: 1024px){.charts-grid{grid-template-columns:1fr}.chart-container.full-width{grid-column:span 1}}.edit-pallet-container{padding:20px;max-width:1200px;margin:0 auto;background:#f8f9fa;min-height:100vh}.edit-pallet-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px;border-radius:10px;margin-bottom:30px;text-align:center}.edit-pallet-header h1{margin:0 0 10px;font-size:2.5em;font-weight:700}.edit-pallet-header p{margin:0;font-size:1.2em;opacity:.9}.loading{display:flex;justify-content:center;align-items:center;height:400px}.loading-spinner{text-align:center}.spinner{border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:0 auto 20px}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:8px;font-weight:500}.alert-error{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.edit-pallet-form{background:#fff;border-radius:10px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.form-section{padding:30px;border-bottom:1px solid #eee}.form-section:last-child{border-bottom:none}.form-section h3{margin:0 0 10px;color:#333;font-size:1.5em;font-weight:600}.form-section p{margin:0 0 25px;color:#666;font-size:1em}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.form-group label{font-weight:600;color:#333;margin-bottom:8px;font-size:.95em}.form-group input,.form-group select{padding:12px;border:2px solid #e1e8ed;border-radius:8px;font-size:1em;transition:all .3s ease;background:#fff}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:invalid{border-color:#e74c3c}.edit-pallet-actions{padding:30px;background:#fff;border-top:1px solid #eee;display:flex;justify-content:flex-end;gap:15px;margin-top:30px;border-radius:10px;box-shadow:0 4px 6px #0000001a}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:1em;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background:#545b62;transform:translateY(-2px)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}@media (max-width: 768px){.form-grid{grid-template-columns:1fr}.edit-pallet-actions{flex-direction:column}.btn{justify-content:center}}.logistica-container{padding:20px;max-width:1400px;margin:0 auto}.logistica-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.logistica-header h2{margin:0;color:#2c3e50}.btn-new-shipment{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s}.btn-new-shipment:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3498db66}.logistica-loading{display:flex;justify-content:center;align-items:center;height:300px;font-size:18px;color:#888}.shipments-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.shipments-table{width:100%;border-collapse:collapse}.shipments-table th{background:#34495e;color:#fff;padding:14px 12px;text-align:left;font-weight:600}.shipments-table td{padding:12px;border-bottom:1px solid #eee}.shipments-table tr:hover{background-color:#f8f9fa}.pallet-count{background:#e3f2fd;color:#1976d2;padding:4px 10px;border-radius:12px;font-weight:600}.btn-action{width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.btn-action.view{background:#e3f2fd}.btn-action.add{background:#e8f5e9}.btn-action.pdf{background:#fff3e0}.btn-action:hover{transform:scale(1.1)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;padding:24px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal-content.modal-large{max-width:800px}.modal-content h3{margin-top:0;margin-bottom:20px;color:#2c3e50}.modal-subtitle{color:#666;margin-bottom:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:6px;font-weight:500;color:#555}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px;flex-wrap:wrap}.btn-cancel,.btn-close{background:#e0e0e0;color:#333;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:500}.btn-save,.btn-add-pallets{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:500}.btn-save:disabled{background:#ccc;cursor:not-allowed}.btn-dispatch{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:500}.btn-dispatch:disabled{background:#ccc;cursor:not-allowed}.btn-delete{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:500}.btn-pdf{background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:500}.shipment-detail-header{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;background:#f8f9fa;padding:16px;border-radius:8px;margin-bottom:20px}.shipment-detail-header p{margin:0}.pallets-list{max-height:300px;overflow-y:auto;margin-bottom:16px}.pallets-mini-table,.pallets-select-table{width:100%;border-collapse:collapse;font-size:13px}.pallets-mini-table th,.pallets-select-table th{background:#ecf0f1;padding:10px 8px;text-align:left}.pallets-mini-table td,.pallets-select-table td{padding:8px;border-bottom:1px solid #eee}.pallets-select-table tr{cursor:pointer;transition:background .2s}.pallets-select-table tr:hover{background:#f5f5f5}.pallets-select-table tr.selected{background:#e8f5e9}.btn-remove{background:none;border:none;cursor:pointer;font-size:14px}.no-pallets{text-align:center;color:#888;padding:30px}.available-pallets-list{max-height:400px;overflow-y:auto;border:1px solid #ddd;border-radius:8px}.selected-count{color:#666;font-size:14px;margin-right:auto}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.shipments-table th,.shipments-table td{padding:8px 6px;font-size:13px}.shipment-detail-header{grid-template-columns:1fr}.modal-content{padding:16px}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.admin-container{padding:20px;height:100%;overflow-y:auto;background-color:#f8f9fa}.admin-header{margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid #e9ecef}.admin-header h2{color:#2c3e50;margin:0;font-size:1.8rem}.admin-header p{color:#6c757d;margin-top:5px}.admin-content{display:grid;grid-template-columns:350px 1fr;gap:25px}.admin-form-section{background:#fff;padding:20px;border-radius:12px;box-shadow:0 4px 6px #0000000d;height:fit-content}.admin-form-section h3{margin-top:0;margin-bottom:20px;color:#495057;font-size:1.2rem}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#495057;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px;border:1px solid #ced4da;border-radius:6px;font-size:.95rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#4dabf7;box-shadow:0 0 0 3px #4dabf71a}.form-actions{display:flex;gap:10px;margin-top:20px}.form-actions.right{justify-content:flex-end}.btn-save,.btn-primary{background:#4dabf7;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-weight:600;cursor:pointer;flex:1;transition:background .2s}.btn-save:hover,.btn-primary:hover{background:#339af0}.btn-cancel,.btn-secondary{background:#e9ecef;color:#495057;border:none;padding:10px 20px;border-radius:6px;font-weight:600;cursor:pointer;flex:1;transition:background .2s}.btn-cancel:hover,.btn-secondary:hover{background:#dee2e6}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.admin-list-section{background:#fff;padding:20px;border-radius:12px;box-shadow:0 4px 6px #0000000d}.admin-list-section h3{margin-top:0;margin-bottom:20px;color:#495057}.admin-table{width:100%;border-collapse:collapse}.admin-table th{text-align:left;padding:12px;background:#f8f9fa;color:#6c757d;font-weight:600;font-size:.85rem;border-bottom:2px solid #e9ecef}.admin-table td{padding:12px;border-bottom:1px solid #f1f3f5;font-size:.95rem;color:#495057}.user-cell{display:flex;align-items:center;gap:8px;font-weight:500}.role-badge{padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:700;text-transform:uppercase}.role-admin{background:#fff0f6;color:#c02d76}.role-operator{background:#e7f5ff;color:#1864ab}.role-viewer{background:#f3f0ff;color:#6741d9}.actions-cell{display:flex;gap:8px}.btn-icon{background:none;border:none;cursor:pointer;font-size:1.1rem;padding:4px;border-radius:4px;transition:background .2s}.btn-icon:hover{background:#f1f3f5}.btn-icon.edit:hover{color:#f59f00}.btn-icon.delete:hover{color:#fa5252}.mail-content{display:block}.mail-config-form{max-width:800px;margin:0 auto}.config-section{background:#fff;padding:25px;border-radius:12px;box-shadow:0 4px 6px #0000000d;margin-bottom:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.full-width{grid-column:1 / -1}.alerts-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:15px}.checkbox-label{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid #e9ecef;border-radius:8px;cursor:pointer;transition:all .2s}.checkbox-label:hover{background:#f8f9fa;border-color:#ced4da}.checkbox-label input[type=checkbox]{margin-top:4px;width:18px;height:18px}.checkbox-text{display:flex;flex-direction:column;font-weight:500;color:#343a40}.checkbox-text small{color:#868e96;font-weight:400;margin-top:2px}.portal-container{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e4e8ec);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}.portal-header{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff;padding:40px 20px;text-align:center;box-shadow:0 4px 15px #0000001a}.portal-logo{font-size:1.5rem;font-weight:700;margin-bottom:10px;opacity:.9}.portal-header h1{font-size:1.2rem;font-weight:400;margin:0 0 5px;opacity:.9}.portal-header h2{font-size:2rem;font-weight:700;margin:0}.portal-loading,.portal-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:40px}.spinner{width:50px;height:50px;border:4px solid #e9ecef;border-top:4px solid #27ae60;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.portal-error{color:#e74c3c}.portal-error h2{margin-bottom:10px}.portal-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;padding:20px;max-width:800px;margin:-40px auto 20px}.summary-card{background:#fff;padding:20px;border-radius:12px;box-shadow:0 4px 15px #00000014;text-align:center}.summary-value{display:block;font-size:2.5rem;font-weight:700;color:#27ae60}.summary-label{display:block;font-size:.85rem;color:#6c757d;margin-top:5px}.portal-shipments{padding:20px;max-width:900px;margin:0 auto}.portal-shipments h3{font-size:1.4rem;color:#2c3e50;margin-bottom:20px}.no-shipments{background:#fff;padding:40px;border-radius:12px;text-align:center;color:#6c757d}.shipment-card{background:#fff;border-radius:12px;margin-bottom:15px;box-shadow:0 2px 10px #0000000f;overflow:hidden;transition:box-shadow .2s ease}.shipment-card:hover{box-shadow:0 4px 20px #0000001a}.shipment-header{padding:20px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.shipment-info{display:flex;align-items:center;gap:15px}.shipment-code{font-size:1.2rem;font-weight:700;color:#2c3e50}.shipment-meta{display:flex;align-items:center;gap:20px;color:#6c757d;font-size:.9rem}.expand-icon{font-size:.8rem;color:#adb5bd;margin-left:10px}.shipment-details{padding:0 20px 20px;border-top:1px solid #f0f0f0;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.detail-section{margin-top:20px}.detail-section h4{font-size:1rem;color:#495057;margin-bottom:10px;padding-bottom:5px;border-bottom:2px solid #e9ecef}.detail-section p{color:#6c757d;line-height:1.6}.pallets-table{width:100%;border-collapse:collapse;font-size:.9rem}.pallets-table th,.pallets-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #e9ecef}.pallets-table th{background:#f8f9fa;font-weight:600;color:#495057}.pallets-table tbody tr:hover{background:#f8f9fa}.photos-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.photo-thumb{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .2s ease}.photo-thumb:hover{transform:scale(1.05)}.photo-thumb img{width:100%;height:100%;object-fit:cover}.photo-source{position:absolute;bottom:0;left:0;right:0;background:#000000b3;color:#fff;font-size:.7rem;padding:4px;text-align:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.photo-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.photo-modal-content{position:relative;max-width:90vw;max-height:90vh}.photo-modal-content img{max-width:100%;max-height:80vh;border-radius:8px}.photo-modal-content .close-btn{position:absolute;top:-15px;right:-15px;width:40px;height:40px;border-radius:50%;background:#fff;border:none;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px #0003}.photo-info{color:#fff;text-align:center;margin-top:10px;font-size:.9rem}.portal-footer{text-align:center;padding:30px 20px;color:#6c757d;font-size:.85rem}@media (max-width: 600px){.portal-header{padding:30px 15px}.portal-header h2{font-size:1.5rem}.portal-summary{grid-template-columns:repeat(2,1fr);padding:15px;margin-top:-30px}.summary-card{padding:15px 10px}.summary-value{font-size:1.8rem}.shipment-header{flex-direction:column;align-items:flex-start}.shipment-meta{flex-wrap:wrap;gap:10px}.pallets-table{font-size:.8rem}.pallets-table th,.pallets-table td{padding:8px}.portal-filters .filter-row{flex-direction:column}.dashboard-grid{grid-template-columns:repeat(2,1fr)}}.portal-dashboard{padding:20px;max-width:900px;margin:0 auto}.portal-dashboard h3{font-size:1.2rem;color:#2c3e50;margin-bottom:15px;text-align:center}.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.dashboard-card{background:#fff;padding:15px;border-radius:10px;text-align:center;box-shadow:0 2px 8px #0000000f;border-left:4px solid #3498db}.dash-value{display:block;font-size:1.5rem;font-weight:700;color:#2c3e50}.dash-label{display:block;font-size:.75rem;color:#6c757d;margin-top:4px}.portal-filters{padding:0 20px;max-width:900px;margin:0 auto 20px}.filter-row{display:flex;gap:10px;margin-bottom:10px}.filter-search{flex:2;padding:10px 15px;border:1px solid #ddd;border-radius:8px;font-size:.9rem}.filter-select{flex:1;padding:10px 15px;border:1px solid #ddd;border-radius:8px;font-size:.9rem;background:#fff;cursor:pointer}.filter-date{flex:1;padding:10px 15px;border:1px solid #ddd;border-radius:8px;font-size:.9rem}.filter-clear{padding:10px 15px;background:#e74c3c;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.85rem;transition:background .2s}.filter-clear:hover{background:#c0392b}.shipment-actions{display:flex;gap:10px;padding:15px 0;flex-wrap:wrap}.action-btn{padding:10px 16px;border:none;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s}.download-btn{background:#3498db;color:#fff}.download-btn:hover{background:#2980b9}.feedback-btn{background:#9b59b6;color:#fff}.feedback-btn:hover{background:#8e44ad}.feedback-display{background:#f8f4ff;padding:15px;border-radius:8px;border-left:4px solid #9b59b6}.feedback-text{font-style:italic;color:#5a3d7a}.feedback-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.feedback-modal{background:#fff;border-radius:12px;padding:25px;width:100%;max-width:500px;box-shadow:0 10px 40px #0003}.feedback-modal h3{margin:0 0 10px;color:#2c3e50}.feedback-hint{color:#6c757d;font-size:.9rem;margin-bottom:15px}.feedback-modal textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:.95rem;font-family:inherit;resize:vertical;min-height:100px}.feedback-modal textarea:focus{outline:none;border-color:#9b59b6}.feedback-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:15px}.feedback-actions .cancel-btn{padding:10px 20px;background:#ecf0f1;border:none;border-radius:8px;cursor:pointer}.feedback-actions .send-btn{padding:10px 20px;background:#9b59b6;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500}.feedback-actions .send-btn:disabled{background:#bdc3c7;cursor:not-allowed}.feedback-actions .send-btn:hover:not(:disabled){background:#8e44ad}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#f5f5f5;color:#333}.app{display:flex;min-height:100vh}.main-content{flex:1;transition:margin-left .3s ease;padding:20px;margin-left:250px}.main-content.sidebar-closed{margin-left:60px}.page-header{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.page-title{font-size:24px;font-weight:600;color:#2c5aa0;margin-bottom:8px}.page-subtitle{color:#666;font-size:14px}.card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;margin-bottom:20px}.card-title{font-size:18px;font-weight:600;margin-bottom:16px;color:#2c5aa0}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s;text-decoration:none;display:inline-block;text-align:center}.btn-primary{background-color:#2c5aa0;color:#fff}.btn-primary:hover{background-color:#1e3d6f}.btn-secondary{background-color:#6c757d;color:#fff}.btn-success{background-color:#28a745;color:#fff}.btn-warning{background-color:#ffc107;color:#212529}.btn-danger{background-color:#dc3545;color:#fff}.btn-sm{padding:4px 8px;font-size:12px}.form-group{margin-bottom:16px}.form-label{display:block;margin-bottom:4px;font-weight:500;color:#555}.form-control{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.form-control:focus{outline:none;border-color:#2c5aa0;box-shadow:0 0 0 2px #2c5aa01a}.table{width:100%;border-collapse:collapse;background:#fff}.table th,.table td{padding:12px;text-align:left;border-bottom:1px solid #e9ecef}.table th{background-color:#f8f9fa;font-weight:600;color:#495057}.table tbody tr:hover{background-color:#f5f5f5}.status-badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.status-disponible{background-color:#d4edda;color:#155724}.status-reservado{background-color:#fff3cd;color:#856404}.status-embarcado{background-color:#d1ecf1;color:#0c5460}.status-bloqueado{background-color:#f8d7da;color:#721c24}.alert{padding:12px 16px;border-radius:4px;margin-bottom:16px}.alert-success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.alert-warning{background-color:#fff3cd;color:#856404;border:1px solid #ffeaa7}.alert-danger{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.metric-card{text-align:center;padding:20px}.metric-value{font-size:28px;font-weight:700;color:#2c5aa0;margin-bottom:8px}.metric-label{color:#666;font-size:14px}.loading{display:flex;justify-content:center;align-items:center;padding:40px}.loading-spinner{border:3px solid #f3f3f3;border-top:3px solid #2c5aa0;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.semaforo{display:inline-block;width:20px;height:20px;border-radius:50%;margin-right:8px}.semaforo-verde{background-color:#28a745}.semaforo-amarillo{background-color:#ffc107}.semaforo-rojo{background-color:#dc3545}.data-grid{overflow-x:auto}.action-buttons{display:flex;gap:8px}@media (max-width: 768px){.main-content{margin-left:60px;padding:10px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}:root{--mobile-padding: 10px;--touch-target-min: 44px}.hamburger-btn{display:none;position:fixed;top:15px;left:15px;z-index:1100;background:#2c5aa0;border:none;border-radius:8px;padding:12px;cursor:pointer;box-shadow:0 2px 10px #0003}.hamburger-btn span{display:block;width:24px;height:3px;background:#fff;margin:5px 0;border-radius:2px;transition:all .3s ease}.hamburger-btn.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger-btn.open span:nth-child(2){opacity:0}.hamburger-btn.open span:nth-child(3){transform:rotate(-45deg) translate(7px,-8px)}.mobile-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:999;opacity:0;transition:opacity .3s ease}.mobile-overlay.visible{opacity:1}.filters-toggle-btn{display:none;width:100%;padding:12px 20px;background:linear-gradient(135deg,#2c5aa0,#1e3d6f);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;margin-bottom:15px;align-items:center;justify-content:center;gap:10px}.filters-toggle-btn:active{transform:scale(.98)}.filters-container{transition:max-height .3s ease,opacity .3s ease;overflow:hidden}.filters-container.collapsed{max-height:0;opacity:0;margin:0;padding:0}@media (max-width: 1024px){.main-content{margin-left:60px!important}}@media (max-width: 768px){.hamburger-btn,.mobile-overlay{display:block}.sidebar{position:fixed!important;left:-260px!important;top:0;height:100vh;z-index:1000;transition:left .3s ease!important;width:250px!important}.sidebar.mobile-open{left:0!important}.main-content{margin-left:0!important;padding:70px 15px 15px!important}.main-content.sidebar-closed{margin-left:0!important}.filters-toggle-btn{display:flex}.page-header{padding:15px}.page-title{font-size:20px}.data-grid,.pallets-table{overflow-x:auto;-webkit-overflow-scrolling:touch}table{min-width:800px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr!important;gap:15px}.btn{min-height:var(--touch-target-min);padding:12px 16px}.btn-sm{min-height:36px;padding:8px 12px}input,select,textarea{min-height:var(--touch-target-min);font-size:16px!important}.filters-row,.filter-row{flex-direction:column!important;gap:10px}.filters-row>*,.filter-row>*{width:100%!important;min-width:unset!important}.modal-content{width:100%!important;max-width:100%!important;height:100vh;max-height:100vh;border-radius:0;margin:0}.modal-overlay{padding:0}.modal-body{padding:15px;overflow-y:auto;max-height:calc(100vh - 140px)}.modal-header{padding:15px;position:sticky;top:0;background:#fff;z-index:10}.modal-footer{padding:15px;position:sticky;bottom:0;background:#fff}.detail-grid{grid-template-columns:1fr!important}.detail-section{margin-bottom:20px}.report-card{padding:15px}.chart-container{height:250px!important;min-height:250px}.header-actions{flex-wrap:wrap;gap:10px;justify-content:center}}@media (max-width: 480px){.main-content{padding:60px 10px 10px!important}.page-title{font-size:18px}.page-subtitle{font-size:12px}.metric-value{font-size:24px}.metric-label{font-size:12px}.table th,.table td{padding:8px;font-size:12px}.action-buttons,.actions{flex-direction:column;gap:5px}.action-buttons .btn,.actions .btn{width:100%;justify-content:center}.chart-container{height:200px!important}.modal-header h3{font-size:16px}}@media (max-width: 768px){.hide-mobile{display:none!important}}@media (min-width: 769px){.hide-desktop{display:none!important}.filters-container.collapsed{max-height:none;opacity:1}}.show-mobile{display:none}@media (max-width: 768px){.show-mobile{display:block}}@media (pointer: coarse){.btn,button,a{-webkit-tap-highlight-color:transparent}.pallets-table,.data-grid,.modal-body{-webkit-overflow-scrolling:touch}.table-row:hover{background:inherit}.table-row:active{background:#f8f9fa}}@media (max-width: 768px){.ai-chat-modal{bottom:0!important;right:0!important;left:0!important;top:0!important;width:100%!important;height:100%!important;border-radius:0!important;max-width:100%!important;max-height:100%!important}.ai-floating-btn{bottom:15px!important;right:15px!important;width:55px!important;height:55px!important}.ai-chat-header{position:sticky;top:0;z-index:10}.ai-chat-input-area{position:sticky;bottom:0;background:#fff;border-top:1px solid #e2e8f0;padding:10px!important}.ai-messages-container{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.ai-quick-questions{overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;padding-bottom:10px}.ai-quick-questions button{display:inline-block;white-space:nowrap;margin-right:8px}}
