*{margin:0;padding:0;box-sizing:border-box;font-family:Inter,sans-serif}body{background:#0f172a;color:#e2e8f0;overflow-x:hidden;position:relative;min-height:100vh}.blob{position:absolute;filter:blur(90px);z-index:1;opacity:.45;animation:floatBlob 10s ease-in-out infinite alternate;pointer-events:none}.blob-1{width:450px;height:450px;background:#4f46e5;border-radius:50%;top:-100px;left:-100px}.blob-2{width:380px;height:380px;background:#0ea5e9;border-radius:50%;bottom:-50px;right:-100px;animation-delay:3s}.blob-3{width:320px;height:320px;background:#10b981;border-radius:50%;top:40%;left:30%;animation-delay:5s;opacity:.3}@keyframes floatBlob{0%{transform:translate(0) scale(1)}to{transform:translate(60px,50px) scale(1.15)}}.login-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;max-width:420px;padding:3rem;z-index:100}.glass-panel{background:#1e293bb3;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.1);box-shadow:0 25px 50px -12px #00000080;border-radius:24px}.glass-panel-full{background:#1e293ba6;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 40px #0000004d;border-radius:24px;padding:2.5rem;margin-bottom:2rem;position:relative;z-index:10}.app-layout{display:flex;height:100vh;width:100vw;overflow:hidden;position:relative;z-index:10}.sidebar{width:280px;flex-shrink:0;background:#0f172ad9;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;justify-content:space-between;z-index:50;transition:all .3s ease}.sidebar-header{padding:2rem 1.8rem 1rem}.brand-title{font-family:Outfit,sans-serif;font-size:1.65rem;font-weight:700;color:#fff;letter-spacing:-.5px}.brand-title span{color:#38bdf8}.logo-area{display:flex;align-items:center;gap:12px}.icon-pulse{width:16px;height:16px;background:#38bdf8;border-radius:50%;box-shadow:0 0 #38bdf8b3;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #38bdf8b3}70%{transform:scale(1);box-shadow:0 0 0 10px #38bdf800}to{transform:scale(.95);box-shadow:0 0 #38bdf800}}.badge-role{display:inline-block;background:#38bdf826;color:#38bdf8;border:1px solid rgba(56,189,248,.3);padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:600;margin-top:8px}.sidebar-nav{display:flex;flex-direction:column;gap:8px;padding:0 1.2rem;flex-grow:1;margin-top:1.5rem}.nav-section-title{font-size:.75rem;font-weight:700;color:#64748b;letter-spacing:1px;padding-left:12px;margin-bottom:6px}.nav-btn{display:flex;align-items:center;gap:14px;width:100%;padding:1rem 1.2rem;background:transparent;color:#94a3b8;border:none;border-radius:14px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-align:left}.nav-icon{font-size:1.2rem;width:24px;transition:transform .3s ease}.nav-btn:hover{background:#ffffff0d;color:#fff}.nav-btn:hover .nav-icon{transform:translate(3px)}.nav-btn.active{background:linear-gradient(135deg,#4f46e5,#3b82f6);color:#fff;box-shadow:0 10px 20px -5px #4f46e580}.sidebar-footer{padding:1.5rem;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between}.user-profile{display:flex;align-items:center;gap:12px}.avatar{width:40px;height:40px;background:#38bdf833;border:1px solid rgba(56,189,248,.4);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#38bdf8}.user-info{display:flex;flex-direction:column}.user-name{font-size:.9rem;font-weight:600;color:#fff}.user-status{font-size:.75rem;color:#94a3b8;display:flex;align-items:center;gap:5px}.text-success{color:#10b981}.logout-btn-side{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3);width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.logout-btn-side:hover{background:#ef4444;color:#fff;box-shadow:0 8px 16px #ef444466;transform:translateY(-2px)}.content-wrapper{flex-grow:1;display:flex;flex-direction:column;overflow-y:auto;padding:2.5rem 3.5rem;height:100vh}.top-navbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:2.5rem}.page-title{font-family:Outfit,sans-serif;font-size:2rem;font-weight:700;color:#fff;margin-bottom:4px}.page-sub{font-size:.95rem;color:#94a3b8}.time-widget{display:flex;align-items:center;gap:10px;background:#1e293b99;border:1px solid rgba(255,255,255,.08);padding:.75rem 1.25rem;border-radius:16px;font-size:.9rem;font-weight:500;color:#cbd5e1}.time-widget i{color:#38bdf8}.hidden{display:none!important}.tab-content{animation:fadeInTab .4s ease forwards}@keyframes fadeInTab{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.welcome-banner{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#4f46e533,#0ea5e933);border:1px solid rgba(56,189,248,.3)}.banner-text h3{font-family:Outfit,sans-serif;font-size:1.6rem;color:#fff;margin-bottom:8px}.banner-text p{color:#cbd5e1;font-size:.95rem;max-width:600px;line-height:1.5}.banner-quick-actions{display:flex;gap:12px}.sm-btn{padding:.75rem 1.25rem;font-size:.9rem;border-radius:12px}.btn-secondary{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}.btn-secondary:hover{background:#fff3}.grid-cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:1.5rem}.glass-card{background:#1e293b80;border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:1.8rem;display:flex;align-items:flex-start;gap:1.2rem;transition:all .3s ease}.glass-card:hover{transform:translateY(-5px);border-color:#38bdf84d;box-shadow:0 15px 30px #0000004d}.card-icon{width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:#fff;flex-shrink:0}.bg-blue{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.bg-green{background:linear-gradient(135deg,#10b981,#047857)}.bg-orange{background:linear-gradient(135deg,#f59e0b,#b45309)}.card-info h4{font-size:1.1rem;color:#fff;margin-bottom:6px}.card-info p{font-size:.85rem;color:#94a3b8;line-height:1.4}.section-title-bar{border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:1.5rem;margin-bottom:2rem}.section-title-bar h3{font-family:Outfit,sans-serif;font-size:1.5rem;color:#fff;display:flex;align-items:center;gap:10px;margin-bottom:6px}.section-title-bar p{color:#94a3b8;font-size:.95rem}.grid-2-col{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.file-drop-area{border:2px dashed rgba(148,163,184,.3);border-radius:20px;padding:2.5rem 1.5rem;text-align:center;cursor:pointer;background:#0f172a66;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:12px;position:relative}.file-drop-area:hover{border-color:#38bdf8;background:#38bdf80d}.file-drop-area .icon{font-size:2.5rem}.file-name{font-weight:600;color:#cbd5e1;font-size:1rem}.file-drop-area input{position:absolute;width:100%;height:100%;top:0;left:0;opacity:0;cursor:pointer}.file-drop-area.success{border-color:#10b981;background:#10b98114}.full-width-btn{grid-column:span 2;margin-top:1rem}.filter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem}.input-group{display:flex;flex-direction:column;gap:8px}.input-group label{font-size:.9rem;font-weight:600;color:#cbd5e1;display:flex;align-items:center;gap:8px}.input-group label i{color:#38bdf8}.custom-input{width:100%;background:#0f172ab3;border:1px solid rgba(148,163,184,.3);color:#f1f5f9;padding:.9rem 1.2rem;border-radius:14px;font-size:.95rem;outline:none;transition:all .3s ease}.custom-input option{background:#1e293b;color:#f1f5f9}.custom-input:focus{border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf840}.input-icon{position:relative}.input-icon i{position:absolute;left:1.2rem;top:50%;transform:translateY(-50%);color:#94a3b8}.pl-icon{padding-left:2.8rem}.multi-select-box{display:flex;flex-wrap:wrap;gap:8px;max-height:120px;overflow-y:auto;padding:.6rem;align-items:center}.airline-pill{display:inline-flex;align-items:center;gap:6px;background:#33415599;border:1px solid rgba(148,163,184,.3);padding:5px 12px;border-radius:20px;font-size:.85rem;font-weight:600;color:#cbd5e1;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease}.airline-pill input{cursor:pointer}.airline-pill:hover{background:#38bdf826;border-color:#38bdf8;color:#fff}.airline-pill.selected{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-color:#60a5fa;color:#fff;box-shadow:0 4px 10px #2563eb66}.run-btn{background:linear-gradient(135deg,#4f46e5,#0ea5e9);color:#fff;border:none;padding:1rem 1.8rem;border-radius:16px;font-size:1rem;font-weight:600;cursor:pointer;position:relative;overflow:hidden;transition:all .3s ease;box-shadow:0 8px 20px -6px #0ea5e980;display:inline-flex;align-items:center;justify-content:center;gap:10px}.btn-lg{width:100%;padding:1.2rem;font-size:1.1rem}.run-btn:hover{transform:translateY(-2px);box-shadow:0 12px 25px -6px #0ea5e9b3}.run-btn:active{transform:translateY(0)}.run-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.result-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:1.5rem;margin-bottom:2rem}.result-header h3{font-family:Outfit,sans-serif;font-size:1.5rem;color:#fff;margin-bottom:4px}.export-actions{display:flex;gap:10px}.btn-excel{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 8px 20px -6px #10b98180}.btn-excel:hover{box-shadow:0 12px 25px -6px #10b981b3}.btn-csv{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 8px 20px -6px #f59e0b80}.btn-csv:hover{box-shadow:0 12px 25px -6px #f59e0bb3}.grid-4-col{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-bottom:2rem}.summary-card{background:#0f172a99;border:1px solid rgba(255,255,255,.08);padding:1.5rem;border-radius:20px;display:flex;align-items:center;gap:1.2rem}.summary-card .icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:#fff;flex-shrink:0}.summary-card .data{display:flex;flex-direction:column}.summary-card .label{font-size:.85rem;color:#94a3b8;margin-bottom:4px}.summary-card .val{font-size:1.35rem;font-weight:700;color:#fff}.table-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.search-box{position:relative;width:100%;max-width:450px}.search-box i{position:absolute;left:1.2rem;top:50%;transform:translateY(-50%);color:#94a3b8}.search-box input{padding-left:3rem}.row-count-badge{background:#38bdf826;border:1px solid rgba(56,189,248,.3);color:#38bdf8;padding:.6rem 1.2rem;border-radius:12px;font-size:.9rem;font-weight:600}.table-responsive{width:100%;overflow-x:auto;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#0f172a80;max-height:600px;overflow-y:auto}.modern-table{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem}.modern-table th{background:#1e293b;color:#cbd5e1;font-weight:600;padding:1rem 1.2rem;position:sticky;top:0;z-index:20;border-bottom:2px solid rgba(255,255,255,.1);white-space:nowrap}.modern-table td{padding:1rem 1.2rem;border-bottom:1px solid rgba(255,255,255,.05);color:#f1f5f9;white-space:nowrap}.modern-table tr:nth-child(2n){background:#1e293b4d}.modern-table tr:hover{background:#38bdf814}.seal-merged-cell{vertical-align:middle!important;background:#0f172a8c;border-right:1px solid rgba(255,255,255,.08)}.seal-group-start td{border-top:2px solid rgba(56,189,248,.3)!important}.badge-table{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:600}.badge-dom{background:#10b98126;color:#10b981;border:1px solid rgba(16,185,129,.3)}.badge-int{background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.pagination-bar{display:flex;align-items:center;justify-content:space-between;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08)}.page-info{font-size:.9rem;color:#94a3b8}.page-info span{font-weight:600;color:#fff}.page-buttons{display:flex;align-items:center;gap:8px}.page-btn{background:#1e293bcc;border:1px solid rgba(255,255,255,.1);color:#cbd5e1;padding:.6rem 1rem;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px}.page-btn:hover:not(:disabled){background:#38bdf8;color:#0f172a;border-color:#38bdf8}.page-btn:disabled{opacity:.5;cursor:not-allowed}.page-numbers{display:flex;gap:6px}.page-num-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#1e293bcc;border:1px solid rgba(255,255,255,.1);color:#cbd5e1;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.page-num-btn:hover{background:#38bdf833;color:#fff}.page-num-btn.active{background:#38bdf8;color:#0f172a;border-color:#38bdf8}.status-alert{position:fixed;bottom:-80px;right:40px;background:#10b981;color:#fff;padding:1rem 1.8rem;border-radius:16px;font-size:1rem;font-weight:600;box-shadow:0 15px 30px #0006;z-index:1000;transition:bottom .4s cubic-bezier(.34,1.56,.64,1);display:flex;align-items:center;gap:10px}.status-alert.show{bottom:40px}.status-alert.error{background:#ef4444}.loader{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s infinite linear;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.sidebar-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;z-index:40;display:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .3s ease}.sidebar-overlay.active{display:block;opacity:1}.mobile-menu-btn{display:none;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:1.2rem;cursor:pointer;padding:8px 12px;border-radius:8px;transition:all .2s ease}.mobile-menu-btn:hover{background:#38bdf833;border-color:#38bdf8}.title-text-group{display:flex;flex-direction:column}@media (max-width: 1024px){.grid-cards-3,.grid-4-col{grid-template-columns:repeat(2,1fr)}.grid-2-col{grid-template-columns:1fr}.filter-grid{grid-template-columns:repeat(2,1fr)}.content-wrapper{padding:2rem}}@media (max-width: 768px){.app-layout{flex-direction:column}.sidebar{position:fixed;left:-280px;top:0;bottom:0;z-index:50;transition:left .3s cubic-bezier(.4,0,.2,1);height:100vh}.sidebar.active{left:0;box-shadow:10px 0 25px #00000080}.content-wrapper{padding:1.2rem;width:100%;overflow-x:hidden}.top-navbar{flex-direction:column;align-items:flex-start;gap:1rem}.header-left{display:flex;align-items:center;gap:1rem;width:100%}.mobile-menu-btn{display:block}.page-title{font-size:1.5rem}.page-sub{font-size:.85rem}.grid-cards-3,.grid-4-col,.filter-grid{grid-template-columns:1fr}.login-container{padding:1.5rem;width:95%}.welcome-banner{flex-direction:column;text-align:center;gap:1.5rem}.banner-quick-actions{width:100%;flex-direction:column}.result-header{flex-direction:column;align-items:flex-start;gap:1rem}.export-actions{width:100%;display:flex;flex-direction:column}.export-actions button{width:100%;justify-content:center}.table-toolbar{flex-direction:column;align-items:stretch;gap:1rem}.status-alert{left:20px;right:20px;bottom:-100px;justify-content:center}.time-widget{width:100%;justify-content:center}.glass-panel-full{padding:1.5rem}.file-drop-area{padding:1.5rem 1rem}.pagination-bar{flex-direction:column;gap:1rem;align-items:center;text-align:center}.page-buttons{flex-wrap:wrap;justify-content:center;width:100%;gap:10px}.page-btn{padding:.5rem .8rem;font-size:.8rem}.page-num-btn{width:32px;height:32px;font-size:.8rem}.custom-input{text-overflow:ellipsis;padding:.8rem 1rem}}
