*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#0a0a14;color:#e2e8f0;min-height:100vh;overflow-x:hidden}#root{min-height:100vh}.app-layout{min-height:100vh;background:linear-gradient(135deg,#0a0a14,#13131f,#0d0d1a)}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:64px;background:#1e1e2eb3;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(99,102,241,.15);position:sticky;top:0;z-index:100}.app-logo{display:flex;align-items:center;gap:12px}.app-logo-icon{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;box-shadow:0 4px 12px #6366f14d}.app-logo h1{font-size:18px;font-weight:700;background:linear-gradient(135deg,#c7d2fe,#e0e7ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.5px}.app-logo span{font-size:11px;color:#94a3b8;font-weight:400}.header-right{display:flex;align-items:center;gap:16px}.header-user{display:flex;align-items:center;gap:8px;color:#94a3b8;font-size:13px}.header-user strong{color:#e2e8f0}.nav-tabs{display:flex;gap:4px;padding:12px 24px;background:#13131f80;border-bottom:1px solid rgba(45,45,68,.5)}.nav-tab{padding:8px 20px;border-radius:8px;font-size:13px;font-weight:500;color:#94a3b8;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;border:none;background:transparent;white-space:nowrap}.nav-tab:hover{color:#c7d2fe;background:#6366f11a}.nav-tab.active{color:#e0e7ff;background:#6366f133;box-shadow:0 0 0 1px #6366f14d}.main-content{padding:24px;max-width:1440px;margin:0 auto}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:#1e1e2e99;border:1px solid rgba(45,45,68,.5);border-radius:16px;padding:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s ease;cursor:default}.stat-card:hover{border-color:#6366f14d;transform:translateY(-2px);box-shadow:0 8px 24px #0003}.stat-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.stat-card-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px}.stat-card-icon.blue{background:#3b82f626;color:#60a5fa}.stat-card-icon.green{background:#22c55e26;color:#4ade80}.stat-card-icon.yellow{background:#eab30826;color:#facc15}.stat-card-icon.red{background:#ef444426;color:#f87171}.stat-card-icon.purple{background:#8b5cf626;color:#a78bfa}.stat-card-icon.cyan{background:#06b6d426;color:#22d3ee}.stat-card-label{font-size:12px;font-weight:500;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.stat-card-value{font-size:32px;font-weight:800;color:#f1f5f9;line-height:1}.alert-banner{padding:12px 20px;border-radius:12px;margin-bottom:20px;display:flex;align-items:center;gap:12px;font-size:14px;animation:pulse-border 2s ease-in-out infinite}.alert-banner.critical{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5}.alert-banner.warning{background:#eab3081a;border:1px solid rgba(234,179,8,.3);color:#fde68a}@keyframes pulse-border{0%,to{opacity:1}50%{opacity:.7}}.notification-bell{position:relative;cursor:pointer;padding:8px;border-radius:10px;transition:all .2s ease;color:#94a3b8;border:none;background:transparent}.notification-bell:hover{background:#6366f11a;color:#c7d2fe}.notification-badge{position:absolute;top:2px;right:2px;min-width:18px;height:18px;border-radius:9px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;animation:badge-pop .3s ease;box-shadow:0 2px 8px #ef444466}@keyframes badge-pop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.notification-panel{position:absolute;top:100%;right:0;width:380px;max-height:480px;background:#1e1e2e;border:1px solid #2d2d44;border-radius:16px;box-shadow:0 16px 48px #0006;overflow:hidden;z-index:999;animation:slide-down .2s ease}@keyframes slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.notification-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #2d2d44}.notification-panel-header h3{font-size:15px;font-weight:600;color:#e2e8f0}.notification-list{max-height:380px;overflow-y:auto}.notification-item{padding:14px 20px;border-bottom:1px solid rgba(45,45,68,.3);cursor:pointer;transition:background .2s ease}.notification-item:hover{background:#6366f10d}.notification-item.unread{border-left:3px solid #6366f1;background:#6366f10d}.notification-item .notif-title{font-size:13px;font-weight:600;color:#e2e8f0;margin-bottom:4px}.notification-item .notif-message{font-size:12px;color:#94a3b8;line-height:1.4}.notification-item .notif-time{font-size:11px;color:#64748b;margin-top:6px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a0a14,#13131f 40%,#1a1028);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 40%,rgba(99,102,241,.08),transparent 50%),radial-gradient(circle at 70% 60%,rgba(139,92,246,.06),transparent 50%);animation:aurora 15s ease-in-out infinite}@keyframes aurora{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(2%,-1%) rotate(1deg)}66%{transform:translate(-1%,2%) rotate(-1deg)}}.login-card{width:420px;background:#1e1e2ecc;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid rgba(99,102,241,.2);border-radius:24px;padding:48px 40px;position:relative;z-index:1;box-shadow:0 24px 64px #0000004d}.login-card h1{text-align:center;font-size:28px;font-weight:800;background:linear-gradient(135deg,#c7d2fe,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:8px}.login-card .login-subtitle{text-align:center;color:#94a3b8;font-size:14px;margin-bottom:36px}.login-card .ant-input,.login-card .ant-input-password{height:48px;border-radius:12px;font-size:14px}.login-card .ant-btn-primary{height:48px;border-radius:12px;font-size:15px;font-weight:600;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;box-shadow:0 4px 16px #6366f14d}.login-card .ant-btn-primary:hover{background:linear-gradient(135deg,#818cf8,#a78bfa);box-shadow:0 6px 20px #6366f166}.status-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.3px}.status-tag.pending{background:#94a3b826;color:#94a3b8}.status-tag.in-transit{background:#3b82f626;color:#60a5fa}.status-tag.arrived{background:#22c55e26;color:#4ade80}.status-tag.delivered{background:#10b98126;color:#34d399}.status-tag.delayed{background:#ef444426;color:#f87171}.status-tag.cancelled{background:#6b728026;color:#6b7280}.status-tag.warning{background:#eab30826;color:#facc15}.status-tag.critical{background:#ef444426;color:#f87171}.alert-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.alert-dot.none{background:#4b5563}.alert-dot.warning{background:#facc15;box-shadow:0 0 8px #facc1566;animation:pulse-glow 2s infinite}.alert-dot.critical{background:#f87171;box-shadow:0 0 8px #f8717166;animation:pulse-glow 1s infinite}@keyframes pulse-glow{0%,to{opacity:1;box-shadow:0 0 4px currentColor}50%{opacity:.6;box-shadow:0 0 12px currentColor}}.shipment-detail-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.shipment-detail-header h2{font-size:24px;font-weight:700;color:#f1f5f9}.detail-section{background:#1e1e2e99;border:1px solid rgba(45,45,68,.5);border-radius:16px;padding:24px;margin-bottom:20px}.detail-section h3{font-size:16px;font-weight:600;color:#c7d2fe;margin-bottom:16px;display:flex;align-items:center;gap:8px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.detail-field{display:flex;flex-direction:column;gap:4px}.detail-field label{font-size:12px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.detail-field span{font-size:15px;color:#e2e8f0;font-weight:500}.tracking-timeline{position:relative;padding-left:28px}.tracking-timeline:before{content:"";position:absolute;left:10px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,#6366f1,#2d2d44)}.timeline-item{position:relative;padding-bottom:24px}.timeline-item:before{content:"";position:absolute;left:-22px;top:4px;width:10px;height:10px;border-radius:50%;background:#6366f1;border:2px solid #1e1e2e;box-shadow:0 0 0 3px #6366f133}.timeline-item:first-child:before{background:#22d3ee;box-shadow:0 0 0 3px #22d3ee33}.timeline-item .tl-time{font-size:12px;color:#64748b;margin-bottom:4px}.timeline-item .tl-status{font-size:14px;color:#e2e8f0;font-weight:500}.timeline-item .tl-detail{font-size:13px;color:#94a3b8;margin-top:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#2d2d44;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3d3d55}.screenshot-preview{border:1px solid #2d2d44;border-radius:12px;overflow:hidden;max-height:400px;margin-top:12px}.screenshot-preview img{width:100%;height:auto;display:block}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.main-content{padding:16px}.app-header{padding:0 16px}.login-card{width:90vw;padding:32px 24px}.notification-panel{width:320px;right:-60px}.nav-tabs{overflow-x:auto;padding:8px 16px}.detail-grid{grid-template-columns:1fr}}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:60px;color:#94a3b8;font-size:14px;gap:12px}.empty-state{text-align:center;padding:60px 20px;color:#64748b}.empty-state-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state h3{font-size:18px;color:#94a3b8;margin-bottom:8px}.empty-state p{font-size:14px}.ant-table-wrapper .ant-table{border-radius:16px;overflow:hidden}.ant-modal .ant-modal-content{border-radius:16px;border:1px solid #2d2d44}.ant-tag{border-radius:6px}.parser-manager{max-width:1200px;margin:0 auto}.parser-manager-header{margin-bottom:24px}.parser-manager-header h2{font-size:22px;color:#f1f5f9}.parser-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.parser-stat-card{background:#1e1e2eb3;border:1px solid rgba(45,45,68,.6);border-radius:16px;padding:20px;text-align:center}.parser-stat-value{font-size:28px;font-weight:800;color:#f1f5f9}.parser-stat-label{font-size:12px;color:#94a3b8;margin-top:4px;text-transform:uppercase;letter-spacing:.5px}.parser-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-bottom:28px}.parser-card{background:#1e1e2eb3;border:1px solid rgba(45,45,68,.6);border-radius:16px;overflow:hidden;transition:all .3s ease}.parser-card:hover{border-color:#6366f166;box-shadow:0 8px 24px #0003;transform:translateY(-2px)}.parser-card.disabled{opacity:.55}.parser-card.disabled:hover{opacity:.75}.parser-card-header{padding:16px 20px;display:flex;align-items:center;justify-content:space-between}.parser-card-airline{display:flex;align-items:center;gap:10px}.parser-card-name{font-weight:700;font-size:15px}.parser-card-code{font-size:20px;font-weight:800;opacity:.7;letter-spacing:1px}.parser-card-body{padding:16px 20px;display:flex;flex-direction:column;gap:10px}.parser-card-row{display:flex;align-items:center;gap:8px;font-size:13px}.parser-card-label{color:#94a3b8;display:flex;align-items:center;gap:4px;min-width:90px;flex-shrink:0}.parser-prefix-tags{display:flex;gap:6px;flex-wrap:wrap}.parser-prefix-tag{background:#6366f126;color:#a78bfa;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600;font-family:JetBrains Mono,monospace}.parser-url{color:#60a5fa;text-decoration:none;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parser-url:hover{text-decoration:underline}.parser-stats-inline{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:600}.parser-stats-inline span{display:flex;align-items:center;gap:3px}.parser-rate{padding:2px 8px;border-radius:10px;font-size:11px}.parser-rate.good{background:#22c55e26;color:#4ade80}.parser-rate.warn{background:#eab30826;color:#facc15}.parser-rate.bad{background:#ef444426;color:#f87171}.parser-last-test{color:#94a3b8;font-size:12px}.parser-card-actions{padding:12px 20px 16px;display:flex;gap:10px;border-top:1px solid rgba(45,45,68,.5)}.parser-toggle-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:10px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.parser-toggle-btn.on{background:#22c55e26;color:#4ade80}.parser-toggle-btn.on:hover{background:#22c55e40}.parser-toggle-btn.off{background:#6b728026;color:#9ca3af}.parser-toggle-btn.off:hover{background:#6b728040}.parser-test-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:10px;border:none;background:#6366f126;color:#a78bfa;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.parser-test-btn:hover:not(:disabled){background:#6366f140}.parser-test-btn:disabled{opacity:.5;cursor:not-allowed}.parser-fallback-info{display:flex;align-items:center;gap:10px;padding:16px 20px;background:#3b82f614;border:1px solid rgba(59,130,246,.2);border-radius:12px;color:#94a3b8;font-size:13px}.parser-fallback-info strong{color:#60a5fa}.parser-test-modal{padding:8px 0}.parser-test-input{width:100%;padding:10px 14px;border-radius:10px;border:1px solid #2d2d44;background:#1a1a2e;color:#f1f5f9;font-size:15px;font-family:JetBrains Mono,monospace;letter-spacing:1px;outline:none;transition:border-color .2s}.parser-test-input:focus{border-color:#6366f1}.parser-test-run-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;border-radius:10px;border:none;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;margin-bottom:16px}.parser-test-run-btn:hover:not(:disabled){background:linear-gradient(135deg,#818cf8,#a78bfa);box-shadow:0 4px 16px #6366f14d}.parser-test-run-btn:disabled{opacity:.6;cursor:not-allowed}.parser-test-result{padding:16px;border-radius:12px;margin-top:12px}.parser-test-result.success{background:#22c55e14;border:1px solid rgba(34,197,94,.25)}.parser-test-result.fail{background:#ef444414;border:1px solid rgba(239,68,68,.25)}.parser-test-result h4{display:flex;align-items:center;gap:6px;margin:0 0 12px;font-size:15px;color:#f1f5f9}.test-duration{font-weight:400;color:#94a3b8;font-size:13px}.test-error{color:#f87171;font-size:13px;background:#ef44441a;padding:8px 12px;border-radius:8px;margin:0}.test-parsed{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#cbd5e1}.test-parsed strong{color:#94a3b8;margin-right:6px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.parser-stats-row{grid-template-columns:repeat(2,1fr)}.parser-grid{grid-template-columns:1fr}}
