@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--color-bg-primary: #0a0e1a;--color-bg-secondary: #111827;--color-bg-tertiary: #1a2332;--color-bg-card: rgba(26, 35, 50, .6);--color-bg-card-hover: rgba(26, 35, 50, .8);--glass-bg: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .37);--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-success: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);--gradient-warning: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-danger: linear-gradient(135deg, #fa709a 0%, #fee140 100%);--gradient-info: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--color-text-primary: #f9fafb;--color-text-secondary: #d1d5db;--color-text-tertiary: #9ca3af;--color-text-muted: #6b7280;--color-primary: #667eea;--color-primary-light: #818cf8;--color-primary-dark: #4f46e5;--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ef4444;--color-info: #3b82f6;--color-risk-low: #10b981;--color-risk-medium: #f59e0b;--color-risk-high: #f97316;--color-risk-critical: #ef4444;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--transition-fast: .15s ease-in-out;--transition-base: .25s ease-in-out;--transition-slow: .35s ease-in-out}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 50%,rgba(102,126,234,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(118,75,162,.1) 0%,transparent 50%),radial-gradient(circle at 40% 20%,rgba(56,239,125,.05) 0%,transparent 50%);z-index:-1;animation:backgroundShift 20s ease-in-out infinite}@keyframes backgroundShift{0%,to{opacity:1}50%{opacity:.8}}code{font-family:Fira Code,Courier New,monospace}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-bg-tertiary);border-radius:var(--radius-md)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.container{max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg)}.glass-card{background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);transition:all var(--transition-base)}.glass-card:hover{background:var(--color-bg-card-hover);transform:translateY(-2px);box-shadow:0 12px 40px #00000080}button{font-family:inherit;cursor:pointer;border:none;outline:none;transition:all var(--transition-base)}.btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-weight:600;font-size:.875rem;display:inline-flex;align-items:center;gap:var(--spacing-sm);transition:all var(--transition-base)}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px #667eea66}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--glass-border)}.btn-secondary:hover{background:var(--color-bg-card);border-color:var(--color-primary)}input,select,textarea{font-family:inherit;background:var(--color-bg-tertiary);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-primary);font-size:.875rem;transition:all var(--transition-base);width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{animation:fadeIn .5s ease-out}.slide-in{animation:slideIn .5s ease-out}.layout{min-height:100vh;display:flex;flex-direction:column}.header{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border);position:sticky;top:0;z-index:100;box-shadow:0 4px 30px #0000004d}.header-content{max-width:1400px;margin:0 auto;padding:var(--spacing-lg) var(--spacing-xl);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-xl);flex-wrap:wrap}.logo{display:flex;align-items:center;gap:var(--spacing-md);color:var(--color-primary-light)}.logo h1{font-size:1.5rem;font-weight:800;margin:0;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo p{font-size:.75rem;color:var(--color-text-tertiary);margin:0;font-weight:500}.nav-tabs{display:flex;gap:var(--spacing-sm);background:var(--color-bg-tertiary);padding:var(--spacing-xs);border-radius:var(--radius-lg);border:1px solid var(--glass-border)}.nav-tab{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);font-weight:600;font-size:.875rem;display:flex;align-items:center;gap:var(--spacing-sm);transition:all var(--transition-base);border:none;cursor:pointer}.nav-tab:hover{background:var(--color-bg-card);color:var(--color-text-primary)}.nav-tab.active{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px #667eea66}.main-content{flex:1;max-width:1400px;width:100%;margin:0 auto;padding:var(--spacing-xl)}@media(max-width:768px){.header-content{flex-direction:column;align-items:flex-start}.nav-tabs{width:100%;flex-direction:column}.nav-tab{width:100%;justify-content:center}.main-content{padding:var(--spacing-md)}}.risk-card{padding:var(--spacing-lg);animation:fadeIn .5s ease-out}.risk-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.risk-card-header h3{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0}.trend-icon{opacity:.7}.trend-up{color:var(--color-danger)}.trend-down{color:var(--color-success)}.trend-stable{color:var(--color-text-tertiary)}.risk-score-display{display:flex;justify-content:center;margin:var(--spacing-xl) 0}.risk-score-circle{width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;transition:all var(--transition-slow)}.risk-score-inner{width:90px;height:90px;border-radius:50%;background:var(--color-bg-secondary);display:flex;flex-direction:column;align-items:center;justify-content:center}.risk-score-value{font-size:2rem;font-weight:800;color:var(--color-text-primary);line-height:1}.risk-score-max{font-size:.75rem;color:var(--color-text-tertiary);font-weight:600}.risk-level-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);font-size:.75rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-md)}.risk-factors{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--glass-border)}.risk-factors h4{font-size:.875rem;font-weight:600;color:var(--color-text-secondary);margin:0 0 var(--spacing-sm) 0}.risk-factors ul{list-style:none;padding:0;margin:0}.risk-factors li{font-size:.813rem;color:var(--color-text-tertiary);padding:var(--spacing-xs) 0;padding-left:var(--spacing-md);position:relative}.risk-factors li:before{content:"•";position:absolute;left:0;color:var(--color-primary);font-weight:700}.dashboard{display:flex;flex-direction:column;gap:var(--spacing-xl)}.dashboard-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;gap:var(--spacing-lg)}.empty-icon{color:var(--color-text-tertiary);opacity:.5}.dashboard-empty h2{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin:0}.dashboard-empty p{color:var(--color-text-tertiary);max-width:500px}.overall-risk-section{padding:var(--spacing-xl)}.overall-risk-content{display:grid;grid-template-columns:1fr auto;gap:var(--spacing-2xl);align-items:center}.overall-risk-info h2{font-size:1.75rem;font-weight:800;margin-bottom:var(--spacing-md);color:var(--color-text-primary)}.shipment-name{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary);font-size:1.125rem;font-weight:600;margin-bottom:var(--spacing-lg)}.risk-level-large{display:inline-block;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-lg);font-size:1.25rem;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--spacing-md)}.last-updated{font-size:.875rem;color:var(--color-text-tertiary);margin:0}.score-circle-large{width:200px;height:200px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all var(--transition-slow)}.score-inner-large{width:160px;height:160px;border-radius:50%;background:var(--color-bg-secondary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xs)}.score-value-large{font-size:3.5rem;font-weight:900;color:var(--color-text-primary);line-height:1}.score-label{font-size:.875rem;color:var(--color-text-tertiary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.shipment-details{padding:var(--spacing-xl)}.shipment-details h3{font-size:1.25rem;font-weight:700;margin-bottom:var(--spacing-lg);color:var(--color-text-primary)}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg)}.detail-item{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--glass-border)}.detail-item svg{color:var(--color-primary);flex-shrink:0;margin-top:2px}.detail-item>div{display:flex;flex-direction:column;gap:var(--spacing-xs)}.detail-label{font-size:.75rem;color:var(--color-text-tertiary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:1rem;color:var(--color-text-primary);font-weight:600}.risk-categories h3{font-size:1.5rem;font-weight:700;margin-bottom:var(--spacing-lg);color:var(--color-text-primary)}.risk-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-lg)}.charts-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--spacing-lg)}.chart-card{padding:var(--spacing-xl)}.chart-card h3{font-size:1.25rem;font-weight:700;margin-bottom:var(--spacing-lg);color:var(--color-text-primary)}.mitigation-section{padding:var(--spacing-xl)}.mitigation-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.mitigation-header svg{color:var(--color-primary)}.mitigation-header h3{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin:0}.mitigation-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.mitigation-item{padding:var(--spacing-lg);background:var(--color-bg-tertiary);border-radius:var(--radius-lg);border-left:4px solid var(--color-primary);transition:all var(--transition-base)}.mitigation-item:hover{transform:translate(4px);box-shadow:var(--shadow-lg)}.mitigation-item.priority-high{border-left-color:var(--color-danger)}.mitigation-item.priority-medium{border-left-color:var(--color-warning)}.mitigation-item.priority-low{border-left-color:var(--color-success)}.mitigation-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.mitigation-item h4{font-size:1.125rem;font-weight:700;color:var(--color-text-primary);margin:0}.priority-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.priority-badge.high{background:var(--color-danger);color:#fff}.priority-badge.medium{background:var(--color-warning);color:#fff}.priority-badge.low{background:var(--color-success);color:#fff}.mitigation-description{color:var(--color-text-secondary);margin:var(--spacing-sm) 0;line-height:1.6}.mitigation-meta{display:flex;gap:var(--spacing-lg);margin-top:var(--spacing-md)}.meta-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.813rem;color:var(--color-text-tertiary)}.meta-item svg{color:var(--color-primary)}@media(max-width:1024px){.overall-risk-content{grid-template-columns:1fr;text-align:center}.overall-risk-score{justify-self:center}.charts-section{grid-template-columns:1fr}}@media(max-width:768px){.details-grid,.risk-cards-grid{grid-template-columns:1fr}}.data-entry-container{max-width:900px;margin:0 auto}.data-entry-container h2{font-size:2rem;font-weight:800;margin-bottom:var(--spacing-sm);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.data-entry-form{padding:var(--spacing-xl)}.form-section{margin-bottom:var(--spacing-xl)}.form-section:last-of-type{margin-bottom:var(--spacing-lg)}.form-section h3{font-size:1.25rem;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--glass-border)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-group label{font-size:.875rem;font-weight:600;color:var(--color-text-secondary);display:flex;align-items:center;gap:var(--spacing-xs)}.checkbox-group{margin-top:var(--spacing-md)}.checkbox-group label{flex-direction:row;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-group input[type=checkbox]{width:auto;margin-right:var(--spacing-sm);cursor:pointer}.checkbox-group span{color:var(--color-text-primary)}.submit-btn{width:100%;padding:var(--spacing-md) var(--spacing-xl);font-size:1rem;margin-top:var(--spacing-lg);justify-content:center}@media(max-width:768px){.form-grid{grid-template-columns:1fr}}.file-upload-container{max-width:800px;margin:0 auto}.file-upload-container h2{font-size:2rem;font-weight:800;margin-bottom:var(--spacing-sm);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{color:var(--color-text-tertiary);margin-bottom:var(--spacing-xl)}.drop-zone{border:2px dashed var(--glass-border);border-radius:var(--radius-xl);padding:var(--spacing-2xl);text-align:center;background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all var(--transition-base);min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md)}.drop-zone.dragging{border-color:var(--color-primary);background:#667eea1a;transform:scale(1.02)}.drop-zone.has-file{border-color:var(--color-success);background:#10b9810d}.upload-icon{color:var(--color-primary);opacity:.6}.drop-zone h3{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0}.drop-zone p{color:var(--color-text-tertiary);margin:0}.file-select-btn{margin:var(--spacing-md) 0}.file-info{font-size:.813rem;color:var(--color-text-muted)}.file-info-display{display:flex;align-items:center;gap:var(--spacing-lg);width:100%;max-width:400px}.file-icon{color:var(--color-success);flex-shrink:0}.file-details{flex:1;text-align:left}.file-details h3{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0;word-break:break-all}.file-details p{font-size:.875rem;color:var(--color-text-tertiary);margin:0}.clear-btn{background:var(--color-bg-tertiary);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--spacing-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base);flex-shrink:0}.clear-btn:hover{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.processing-indicator{display:flex;align-items:center;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-lg);color:var(--color-primary)}.spinner{width:24px;height:24px;border:3px solid var(--color-bg-tertiary);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:#ef44441a;border:1px solid var(--color-danger);border-radius:var(--radius-md);color:var(--color-danger);margin-top:var(--spacing-lg)}.parsed-data-preview{margin-top:var(--spacing-xl);padding:var(--spacing-lg)}.parsed-data-preview h3{font-size:1.25rem;font-weight:700;margin-bottom:var(--spacing-lg);color:var(--color-text-primary)}.data-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md)}.data-item{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--color-bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--glass-border)}.data-item .label{font-size:.75rem;color:var(--color-text-tertiary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.data-item .value{font-size:1rem;color:var(--color-text-primary);font-weight:600}#root{width:100%;min-height:100vh}
