@keyframes tech-border-flow{0%,to{background-position:0% 0%;opacity:.7}25%{background-position:50% 50%;opacity:.9}50%{background-position:100% 100%;opacity:1}75%{background-position:50% 50%;opacity:.9}}.tech-header{background:linear-gradient(135deg,#0f172af2,#1e293be6,#334155d9,#1e293be6,#0f172af2);border:1px solid rgba(59,130,246,.2);border-radius:20px;padding:2rem 2.5rem;margin-bottom:2rem;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 20px 60px #0006,0 1px #ffffff1a inset,0 0 30px #3b82f61a;position:relative;overflow:hidden}.tech-header:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(59,130,246,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(6,182,212,.08) 0%,transparent 50%),linear-gradient(135deg,transparent 0%,rgba(59,130,246,.05) 50%,transparent 100%);pointer-events:none;z-index:0}.tech-header:after{content:"";position:absolute;inset:-1px;background:linear-gradient(45deg,rgba(59,130,246,.3) 0%,rgba(6,182,212,.2) 25%,transparent 50%,rgba(59,130,246,.2) 75%,rgba(59,130,246,.3) 100%);background-size:200% 200%;border-radius:20px;z-index:-1;animation:tech-border-flow 8s ease-in-out infinite}.tech-header>*{position:relative;z-index:1}@media (max-width: 768px){.tech-header{padding:1.5rem 1rem;border-radius:16px;margin-bottom:1rem}.tech-header:after{border-radius:16px}}@media (max-width: 480px){.tech-header{padding:1rem .75rem;margin-bottom:.75rem;border-radius:12px}.tech-header:after{border-radius:12px}}.tech-filter-panel{background:linear-gradient(135deg,#0f172aeb,#1e293be0,#334155d1,#1e293be0,#0f172aeb);border:1px solid rgba(59,130,246,.25);border-radius:16px;padding:1.5rem;box-shadow:0 12px 40px #00000080,0 1px #ffffff14 inset,0 0 20px #3b82f614;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:100%;position:relative;margin-bottom:1.5rem}.tech-filter-panel:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 25% 25%,rgba(59,130,246,.06) 0%,transparent 40%),radial-gradient(circle at 75% 75%,rgba(6,182,212,.04) 0%,transparent 40%),linear-gradient(135deg,transparent 0%,rgba(59,130,246,.03) 50%,transparent 100%);border-radius:16px;pointer-events:none;z-index:0}.tech-filter-panel:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(59,130,246,.4) 25%,rgba(6,182,212,.3) 50%,rgba(59,130,246,.4) 75%,transparent 100%);border-radius:16px 16px 0 0;z-index:1}.tech-filter-panel>*{position:relative;z-index:2}:root{--search-bg: rgba(255, 255, 255, .08);--search-bg-focus: rgba(255, 255, 255, .12);--search-border: rgba(255, 255, 255, .15);--search-border-focus: #4A90E2;--search-text: #ffffff;--search-placeholder: rgba(255, 255, 255, .4);--search-icon: rgba(255, 255, 255, .5);--search-btn-gradient: linear-gradient(135deg, #4A90E2 0%, #357ABD 100%);--search-btn-hover-shadow: 0 4px 12px rgba(74, 144, 226, .4)}.advanced-filter-panel{background:linear-gradient(135deg,#0f172aeb,#1e293be0,#334155d1,#1e293be0,#0f172aeb);border:1px solid rgba(59,130,246,.25);border-radius:16px;padding:1.5rem;box-shadow:0 12px 40px #00000080,0 1px #ffffff14 inset,0 0 20px #3b82f614;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:100%;position:relative;margin-bottom:1.5rem}.advanced-filter-panel:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 25% 25%,rgba(59,130,246,.06) 0%,transparent 40%),radial-gradient(circle at 75% 75%,rgba(6,182,212,.04) 0%,transparent 40%),linear-gradient(135deg,transparent 0%,rgba(59,130,246,.03) 50%,transparent 100%);border-radius:16px;pointer-events:none;z-index:0}.advanced-filter-panel:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(59,130,246,.4) 25%,rgba(6,182,212,.3) 50%,rgba(59,130,246,.4) 75%,transparent 100%);border-radius:16px 16px 0 0;z-index:1}.advanced-filter-panel>*{position:relative;z-index:2}.advanced-filter-panel .filter-main-row{display:flex;gap:1rem;align-items:center}.advanced-filter-panel .filter-toggle-section{flex-shrink:0}.advanced-filter-panel .filter-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem;border:1px solid rgba(74,144,226,.3);border-radius:.75rem;background:linear-gradient(135deg,#2d2d2de6,#2d2d2dcc);color:#fff;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden}.advanced-filter-panel .filter-toggle-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:radial-gradient(circle,rgba(74,144,226,.3) 0%,transparent 70%);transition:all .3s ease;transform:translate(-50%,-50%)}.advanced-filter-panel .filter-toggle-btn:hover:before{width:100px;height:100px}.advanced-filter-panel .filter-toggle-btn:hover{background:linear-gradient(135deg,#4a90e2,#4a90e2cc);border-color:#4a90e2;transform:translateY(-1px) scale(1.05);box-shadow:0 6px 20px #4a90e24d}.advanced-filter-panel .filter-toggle-btn.active{background:linear-gradient(135deg,#4a90e2,#4a90e2e6);border-color:#4a90e2;box-shadow:0 4px 15px #4a90e266}.advanced-filter-panel .filter-toggle-btn .toggle-icon{transition:transform .3s ease}.advanced-filter-panel .filter-toggle-btn.active .toggle-icon{transform:rotate(180deg)}.advanced-filter-panel .search-section{flex:1}.advanced-filter-panel .search-input-group{display:flex;gap:.5rem;align-items:center}.advanced-filter-panel .search-box{position:relative;flex:1}.advanced-filter-panel .search-box .search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#999;z-index:3;font-size:1.1rem}.advanced-filter-panel .search-box input{width:100%;padding:.875rem 1rem .875rem 3rem;border:1px solid rgba(74,144,226,.3);border-radius:.75rem;background:linear-gradient(135deg,#2d2d2de6,#2d2d2d99);color:#fff;font-size:.875rem;font-weight:400;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.advanced-filter-panel .search-box input::placeholder{color:#999;opacity:.7}.advanced-filter-panel .search-box input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e233,0 4px 12px #4a90e21a;background:linear-gradient(135deg,#2d2d2de6,#2d2d2dcc)}.advanced-filter-panel .search-btn,.advanced-filter-panel .reset-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(74,144,226,.3);border-radius:.75rem;background:linear-gradient(135deg,#2d2d2de6,#2d2d2dcc);color:#fff;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.advanced-filter-panel .search-btn:disabled,.advanced-filter-panel .reset-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.advanced-filter-panel .search-btn:hover:not(:disabled){background:linear-gradient(135deg,#1cc88a,#1cc88acc);border-color:#1cc88a;transform:translateY(-2px) scale(1.05);box-shadow:0 6px 20px #1cc88a4d}.advanced-filter-panel .reset-btn:hover:not(:disabled){background:linear-gradient(135deg,#f6c23e,#f6c23ecc);border-color:#f6c23e;transform:translateY(-2px) scale(1.05);box-shadow:0 6px 20px #f6c23e4d}.advanced-filter-panel .filter-content{max-height:0;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);opacity:0}.advanced-filter-panel .filter-content.expanded{max-height:600px;padding-top:1.5rem;opacity:1}.advanced-filter-panel .location-filters-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.advanced-filter-panel .filter-group{display:flex;flex-direction:column;gap:.5rem}.advanced-filter-panel .filter-label{font-size:.875rem;font-weight:600;color:#e2e8f0;margin:0;text-transform:uppercase;letter-spacing:.5px;opacity:.9}.advanced-filter-panel .filter-select{padding:.75rem 1rem;border:1px solid rgba(74,144,226,.3);border-radius:.75rem;background:linear-gradient(135deg,#2d2d2de6,#2d2d2d99);color:#fff;font-size:.875rem;font-weight:400;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;cursor:pointer}.advanced-filter-panel .filter-select:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e233,0 4px 12px #4a90e21a;background:linear-gradient(135deg,#2d2d2de6,#2d2d2dcc)}.advanced-filter-panel .filter-select:disabled{opacity:.5;cursor:not-allowed;background:linear-gradient(135deg,#2d2d2d4d,#2d2d2d33)}.advanced-filter-panel .filter-select option{background:#252525f2;color:#fff;padding:.5rem}.mobile-top-search{display:flex;gap:.5rem;padding:.75rem 1rem;background:#001428f2;border-bottom:1px solid rgba(0,217,255,.2);position:sticky;top:0;z-index:100}.mobile-top-search .mobile-search-input-wrapper{flex:1;min-width:0;display:flex;align-items:center;background:#00d9ff14;border:1px solid rgba(0,217,255,.25);border-radius:8px;padding:0 0 0 .75rem;gap:.5rem;transition:all .2s ease}.mobile-top-search .mobile-search-input-wrapper:focus-within{border-color:#00d9ff80;box-shadow:0 0 8px #00d9ff33}.mobile-top-search .mobile-search-input-wrapper .search-icon{color:#00d9ff99;font-size:1.1rem;flex-shrink:0}.mobile-top-search .mobile-search-input-wrapper input{flex:1;background:transparent;border:none;color:var(--dashboard-text-primary, #fff);font-size:.9rem;padding:.6rem 0;outline:none;min-width:0}.mobile-top-search .mobile-search-input-wrapper input::placeholder{color:#fff6}.mobile-top-search .mobile-search-input-wrapper .mobile-search-submit{background:#00d9ff33;border:none;border-radius:6px;padding:.5rem;color:var(--dashboard-accent, #00d9ff);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;margin-left:auto}.mobile-top-search .mobile-search-input-wrapper .mobile-search-submit:hover{background:#00d9ff4d}.mobile-top-search .mobile-search-input-wrapper .mobile-search-submit:active{background:#00d9ff59;transform:scale(.95)}.mobile-top-search .mobile-search-input-wrapper .mobile-search-submit ion-icon{font-size:1.1rem}.mobile-top-search .mobile-filter-toggle{position:relative;background:#00d9ff1a;border:1px solid rgba(0,217,255,.3);border-radius:8px;padding:.6rem;color:var(--dashboard-accent, #00d9ff);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;min-width:44px;flex-shrink:0}.mobile-top-search .mobile-filter-toggle ion-icon{font-size:1.25rem;transition:transform .2s ease}.mobile-top-search .mobile-filter-toggle:hover{background:#00d9ff33}.mobile-top-search .mobile-filter-toggle.active{background:#00d9ff40;border-color:#00d9ff80}.mobile-top-search .mobile-filter-toggle.active ion-icon{transform:rotate(90deg)}.mobile-top-search .mobile-filter-toggle.has-filters:not(.active){border-color:#00d9ff80}.mobile-top-search .mobile-filter-toggle:active{transform:scale(.95)}.mobile-top-search .mobile-filter-toggle .filter-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#f36;color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #f366}.mobile-active-filters{padding:0 0 8px}.mobile-active-filters .active-filters-row{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#4a90e21a;border:1px solid rgba(74,144,226,.2);border-radius:10px}.mobile-active-filters .active-filters-row .filter-hint-icon{color:#4a90e2;font-size:16px;flex-shrink:0}.mobile-active-filters .active-filters-row .filter-chips{flex:1;display:flex;flex-wrap:wrap;gap:6px;overflow:hidden}.mobile-active-filters .active-filters-row .filter-chips .filter-chip{padding:4px 10px;background:#4a90e233;border-radius:12px;color:#4a90e2;font-size:12px;font-weight:500;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.mobile-active-filters .active-filters-row .clear-filters-btn{width:28px;height:28px;border-radius:50%;background:transparent;border:none;color:#ffffff80;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .2s ease}.mobile-active-filters .active-filters-row .clear-filters-btn ion-icon{font-size:20px}.mobile-active-filters .active-filters-row .clear-filters-btn:hover{color:#e74a3b;background:#e74a3b1a}.mobile-filter-sheet{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;margin-bottom:16px;animation:slideDown .3s ease}.mobile-filter-sheet .filter-sheet-content{display:flex;flex-direction:column;gap:12px}.mobile-filter-sheet .filter-group{display:flex;flex-direction:column;gap:6px}.mobile-filter-sheet .filter-group .filter-label{color:#ffffffb3;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.mobile-filter-sheet .filter-group .filter-select,.mobile-filter-sheet .filter-group input[type=text],.mobile-filter-sheet .filter-group input[type=date]{width:100%;padding:10px 14px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:14px;transition:all .2s ease}.mobile-filter-sheet .filter-group .filter-select:focus,.mobile-filter-sheet .filter-group input[type=text]:focus,.mobile-filter-sheet .filter-group input[type=date]:focus{border-color:#4a90e2;background:#ffffff1f;outline:none}.mobile-filter-sheet .filter-group .filter-select:disabled,.mobile-filter-sheet .filter-group input[type=text]:disabled,.mobile-filter-sheet .filter-group input[type=date]:disabled{opacity:.5;cursor:not-allowed}.mobile-filter-sheet .filter-group .filter-select::placeholder,.mobile-filter-sheet .filter-group input[type=text]::placeholder,.mobile-filter-sheet .filter-group input[type=date]::placeholder{color:#fff6}.mobile-filter-sheet .filter-group .filter-select option,.mobile-filter-sheet .filter-group input[type=text] option,.mobile-filter-sheet .filter-group input[type=date] option{background:#1e293bfa;color:#fff}.mobile-filter-sheet .date-range-mobile{display:flex;gap:8px}.mobile-filter-sheet .date-range-mobile input{flex:1}.mobile-filter-sheet .filter-sheet-actions,.mobile-filter-sheet .filter-actions-mobile,.mobile-filter-sheet .filter-actions{display:flex;gap:8px;margin-top:8px}.mobile-filter-sheet .filter-sheet-actions button,.mobile-filter-sheet .filter-actions-mobile button,.mobile-filter-sheet .filter-actions button{flex:1;padding:12px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.mobile-filter-sheet .filter-sheet-actions button.apply-btn,.mobile-filter-sheet .filter-sheet-actions button.btn-apply,.mobile-filter-sheet .filter-sheet-actions button.apply,.mobile-filter-sheet .filter-sheet-actions button.filter-action-btn.apply,.mobile-filter-sheet .filter-actions-mobile button.apply-btn,.mobile-filter-sheet .filter-actions-mobile button.btn-apply,.mobile-filter-sheet .filter-actions-mobile button.apply,.mobile-filter-sheet .filter-actions-mobile button.filter-action-btn.apply,.mobile-filter-sheet .filter-actions button.apply-btn,.mobile-filter-sheet .filter-actions button.btn-apply,.mobile-filter-sheet .filter-actions button.apply,.mobile-filter-sheet .filter-actions button.filter-action-btn.apply{background:#00d9ff33;border:1px solid rgba(0,217,255,.4);color:var(--dashboard-accent, #00d9ff)}.mobile-filter-sheet .filter-sheet-actions button.apply-btn:hover,.mobile-filter-sheet .filter-sheet-actions button.apply-btn:active,.mobile-filter-sheet .filter-sheet-actions button.btn-apply:hover,.mobile-filter-sheet .filter-sheet-actions button.btn-apply:active,.mobile-filter-sheet .filter-sheet-actions button.apply:hover,.mobile-filter-sheet .filter-sheet-actions button.apply:active,.mobile-filter-sheet .filter-sheet-actions button.filter-action-btn.apply:hover,.mobile-filter-sheet .filter-sheet-actions button.filter-action-btn.apply:active,.mobile-filter-sheet .filter-actions-mobile button.apply-btn:hover,.mobile-filter-sheet .filter-actions-mobile button.apply-btn:active,.mobile-filter-sheet .filter-actions-mobile button.btn-apply:hover,.mobile-filter-sheet .filter-actions-mobile button.btn-apply:active,.mobile-filter-sheet .filter-actions-mobile button.apply:hover,.mobile-filter-sheet .filter-actions-mobile button.apply:active,.mobile-filter-sheet .filter-actions-mobile button.filter-action-btn.apply:hover,.mobile-filter-sheet .filter-actions-mobile button.filter-action-btn.apply:active,.mobile-filter-sheet .filter-actions button.apply-btn:hover,.mobile-filter-sheet .filter-actions button.apply-btn:active,.mobile-filter-sheet .filter-actions button.btn-apply:hover,.mobile-filter-sheet .filter-actions button.btn-apply:active,.mobile-filter-sheet .filter-actions button.apply:hover,.mobile-filter-sheet .filter-actions button.apply:active,.mobile-filter-sheet .filter-actions button.filter-action-btn.apply:hover,.mobile-filter-sheet .filter-actions button.filter-action-btn.apply:active{background:#00d9ff59}.mobile-filter-sheet .filter-sheet-actions button.reset-btn,.mobile-filter-sheet .filter-sheet-actions button.btn-reset,.mobile-filter-sheet .filter-sheet-actions button.reset,.mobile-filter-sheet .filter-sheet-actions button.filter-action-btn.reset,.mobile-filter-sheet .filter-actions-mobile button.reset-btn,.mobile-filter-sheet .filter-actions-mobile button.btn-reset,.mobile-filter-sheet .filter-actions-mobile button.reset,.mobile-filter-sheet .filter-actions-mobile button.filter-action-btn.reset,.mobile-filter-sheet .filter-actions button.reset-btn,.mobile-filter-sheet .filter-actions button.btn-reset,.mobile-filter-sheet .filter-actions button.reset,.mobile-filter-sheet .filter-actions button.filter-action-btn.reset{background:#ff336626;border:1px solid rgba(255,51,102,.3);color:#f36}.mobile-filter-sheet .filter-sheet-actions button.reset-btn:hover,.mobile-filter-sheet .filter-sheet-actions button.reset-btn:active,.mobile-filter-sheet .filter-sheet-actions button.btn-reset:hover,.mobile-filter-sheet .filter-sheet-actions button.btn-reset:active,.mobile-filter-sheet .filter-sheet-actions button.reset:hover,.mobile-filter-sheet .filter-sheet-actions button.reset:active,.mobile-filter-sheet .filter-sheet-actions button.filter-action-btn.reset:hover,.mobile-filter-sheet .filter-sheet-actions button.filter-action-btn.reset:active,.mobile-filter-sheet .filter-actions-mobile button.reset-btn:hover,.mobile-filter-sheet .filter-actions-mobile button.reset-btn:active,.mobile-filter-sheet .filter-actions-mobile button.btn-reset:hover,.mobile-filter-sheet .filter-actions-mobile button.btn-reset:active,.mobile-filter-sheet .filter-actions-mobile button.reset:hover,.mobile-filter-sheet .filter-actions-mobile button.reset:active,.mobile-filter-sheet .filter-actions-mobile button.filter-action-btn.reset:hover,.mobile-filter-sheet .filter-actions-mobile button.filter-action-btn.reset:active,.mobile-filter-sheet .filter-actions button.reset-btn:hover,.mobile-filter-sheet .filter-actions button.reset-btn:active,.mobile-filter-sheet .filter-actions button.btn-reset:hover,.mobile-filter-sheet .filter-actions button.btn-reset:active,.mobile-filter-sheet .filter-actions button.reset:hover,.mobile-filter-sheet .filter-actions button.reset:active,.mobile-filter-sheet .filter-actions button.filter-action-btn.reset:hover,.mobile-filter-sheet .filter-actions button.filter-action-btn.reset:active{background:#ff336640}.mobile-active-filter-indicator{display:none}@media (max-width: 768px){.mobile-active-filter-indicator{display:flex!important;align-items:center;gap:.5rem;background:#001428fa;border-bottom:1px solid rgba(0,217,255,.15);padding:.6rem 1rem;position:relative;z-index:50;flex-shrink:0;min-height:44px}.mobile-active-filter-indicator .filter-chips{flex:1;display:flex;gap:.5rem;align-items:center;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.mobile-active-filter-indicator .filter-chips::-webkit-scrollbar{display:none}.mobile-active-filter-indicator .filter-chips .filter-chip{display:flex;align-items:center;gap:.35rem;background:#00d9ff1f;border:1px solid rgba(0,217,255,.25);border-radius:20px;padding:.35rem .6rem;font-size:.75rem;color:var(--dashboard-text-primary, #fff);white-space:nowrap;flex-shrink:0;line-height:1.2;box-sizing:border-box}.mobile-active-filter-indicator .filter-chips .filter-chip ion-icon:first-child{font-size:.85rem;color:#00d9ffb3}.mobile-active-filter-indicator .filter-chips .filter-chip .remove-chip{font-size:.85rem;color:#ffffff80;cursor:pointer;margin-left:.15rem}.mobile-active-filter-indicator .filter-chips .filter-chip .remove-chip:active{color:var(--dashboard-danger, #ff3366)}.mobile-active-filter-indicator .clear-all-btn{width:28px;height:28px;border-radius:50%;background:transparent;border:none;color:#ffffff80;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .2s ease;padding:0;margin:0;-webkit-appearance:none;appearance:none}.mobile-active-filter-indicator .clear-all-btn ion-icon{font-size:20px}.mobile-active-filter-indicator .clear-all-btn:hover,.mobile-active-filter-indicator .clear-all-btn:active{color:#e74a3b;background:#e74a3b1a}}.active-filter-indicator{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#00142899;border:1px solid rgba(0,217,255,.15);border-radius:8px;margin-bottom:1rem}.active-filter-indicator .filter-chips{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;flex:1}.active-filter-indicator .filter-chips .filter-chip{display:flex;align-items:center;gap:.35rem;background:#00d9ff1f;border:1px solid rgba(0,217,255,.25);border-radius:20px;padding:.35rem .75rem;font-size:.8rem;color:var(--dashboard-text-primary, #fff);white-space:nowrap}.active-filter-indicator .filter-chips .filter-chip ion-icon:first-child{font-size:.9rem;color:#00d9ffb3}.active-filter-indicator .filter-chips .filter-chip ion-icon:last-child:not(:first-child){font-size:.85rem;color:#ffffff80;cursor:pointer;margin-left:.25rem;padding:2px;border-radius:50%;transition:all .2s ease}.active-filter-indicator .filter-chips .filter-chip ion-icon:last-child:not(:first-child):hover{color:var(--dashboard-danger, #ff3366);background:#ff336626}.active-filter-indicator .filter-chips .clear-all-filters-btn{display:flex;align-items:center;gap:.35rem;background:#ff336626;border:1px solid rgba(255,51,102,.3);border-radius:20px;padding:.35rem .75rem;font-size:.8rem;color:#f36;cursor:pointer;transition:all .2s ease}.active-filter-indicator .filter-chips .clear-all-filters-btn:hover{background:#ff336640}.active-filter-indicator .filter-chips .clear-all-filters-btn ion-icon{font-size:.9rem}@media (max-width: 768px){.active-filter-indicator,.tech-header .active-filter-indicator,.page-header .active-filter-indicator{display:none!important}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.rotating{animation:rotate 1s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.title-section{display:none!important}}:root{--global-bg: #1a1a1a;--global-bg-primary: #222222;--global-bg-card: #252525;--global-border: #333;--global-text-primary: #ffffff;--global-text-secondary: #cccccc;--global-text-muted: #999999;--global-accent: #4A90E2;--global-success: #4CAF50;--global-warning: #ff9800;--global-danger: #f44336}html,body,*{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}body{background:linear-gradient(135deg,var(--global-bg) 0%,var(--global-bg-primary) 100%);color:var(--global-text-primary);margin:0;padding:0;min-height:100vh;box-sizing:border-box;touch-action:manipulation;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-overflow-scrolling:touch;overscroll-behavior:none;padding-top:0!important;margin-top:0!important}@media (max-width: 480px){body.login-page{height:100vh!important;overflow:hidden!important;position:fixed!important;width:100%!important;top:0;left:0}}@media (max-width: 768px){body{font-size:16px;line-height:1.4;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}router-outlet+*,app-dashboard,app-device-list,app-feedback,app-user-list,app-claim-subsidy,app-claim-history,app-device-monthly-statistics,app-pending-approvals,app-subsidy-statistics,app-wechat-withdraw{padding-bottom:70px!important}app-claim-subsidy,app-claim-history,app-device-monthly-statistics,app-pending-approvals,app-subsidy-statistics,app-wechat-withdraw{display:block;padding-top:56px!important}}@media (max-width: 768px){input,textarea,select{font-size:16px!important;border-radius:8px!important;padding:12px 16px!important;min-height:44px!important}button{min-height:44px!important;padding:12px 20px!important;border-radius:8px!important;font-size:16px!important}button:active{transform:scale(.98);transition:transform .1s ease}}*{margin:0;padding:0;box-sizing:border-box}router-outlet{display:contents;background:transparent}app-root{display:block;background:var(--global-bg);min-height:100vh}input{box-sizing:border-box;background:var(--global-bg-primary);border:1px solid var(--global-border);color:var(--global-text-primary)}input::placeholder{color:var(--global-text-muted)}p,span,div,label,h1,h2,h3,h4,h5,h6{color:inherit}body,body *{color:var(--global-text-primary)}.ion-color-dark{--ion-color-base: var(--global-text-primary) !important}select{background:var(--global-bg-primary);border:1px solid var(--global-border);color:var(--global-text-primary)}select option{background:var(--global-bg-primary);color:var(--global-text-primary)}button{color:inherit}.loading-overlay{position:fixed;inset:0;background:linear-gradient(135deg,#1a1a1af2,#222222f2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:999999}.loading-overlay .loading-animation{position:relative;width:120px;height:120px;margin-bottom:24px}.loading-overlay .loading-animation .wave{position:absolute;width:100%;height:100%;border-radius:50%;background:#4a90e226;border:2px solid rgba(74,144,226,.3);animation:technoPulse 2s infinite ease-in-out}.loading-overlay .loading-animation .wave:nth-child(2){animation-delay:.5s;background:#4caf5026;border-color:#4caf504d}.loading-overlay .loading-animation .wave:nth-child(3){animation-delay:1s;background:#ff980026;border-color:#ff98004d}.loading-overlay .loading-animation .water-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:48px;color:var(--ion-color-primary)}.loading-overlay .loading-text{font-size:18px;font-weight:500;margin-top:16px;color:var(--ion-color-primary)}.loading-overlay .loading-subtext{font-size:14px;color:var(--ion-color-medium);margin-top:8px}@keyframes pulse{0%{transform:scale(.6);opacity:.6}50%{opacity:.3}to{transform:scale(1.2);opacity:0}}.loading-content{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px}.loading-content ion-spinner{width:64px;height:64px}.loading-content p{margin-top:16px}@keyframes technoPulse{0%{transform:scale(.8);opacity:1}50%{transform:scale(1.2);opacity:.3}to{transform:scale(.8);opacity:1}}@keyframes borderGlow{0%{opacity:.3;box-shadow:0 0 5px #4a90e24d}to{opacity:.8;box-shadow:0 0 20px #4a90e299}}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--global-bg-primary);border-radius:4px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--global-accent),#357ABD);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#357ABD,var(--global-accent))}::selection{background:#4a90e24d;color:var(--global-text-primary)}ion-app,ion-content,.ion-page,app-dashboard{background:var(--global-bg)!important;--background: var(--global-bg) !important}.container,.main-content,.page-content{background:var(--global-bg)!important}.app-content,.mobile-content{background:var(--global-bg)!important;min-height:100vh!important;margin-top:0!important}router-outlet+*{padding-top:24px!important;min-height:calc(100vh - 24px)!important;box-sizing:border-box!important;position:relative!important;display:block!important;margin-top:0!important}app-dashboard,app-device-list,app-device-detail,app-device-state-record,app-division,app-feedback-list,app-feedback-details,app-home,app-landing-page,app-login,app-maintenance-plan,app-responsible,app-treatment-phases,app-user,app-water-volume-tracker,app-china-map{padding-top:24px!important;min-height:calc(100vh - 24px)!important;box-sizing:border-box!important;position:relative!important;display:block!important;margin-top:0!important}app-dashboard .dashboard-container,app-device-list .container,app-device-detail .container,app-device-state-record .container,app-division .container,app-feedback-list .container,app-feedback-details .container,app-home .container,app-landing-page .container,app-login .container,app-maintenance-plan .container,app-responsible .container,app-treatment-phases .container,app-user .container,app-water-volume-tracker .container,app-china-map .container{padding-top:0!important;margin-top:0!important}app-dashboard,app-home,app-login,app-device-list,app-maintenance-plan,app-user,app-feedback,app-responsible{display:block;padding-top:64px;box-sizing:border-box}@media (max-width: 768px){app-dashboard,app-home,app-login,app-device-list,app-maintenance-plan,app-user,app-feedback,app-responsible{padding-top:calc(72px + env(safe-area-inset-top,0))!important}}.mobile-only{display:none!important}@media (max-width: 768px){.mobile-only{display:block!important}}.desktop-only{display:block!important}@media (max-width: 768px){.desktop-only{display:none!important}}.tablet-only{display:none!important}@media (min-width: 481px) and (max-width: 768px){.tablet-only{display:block!important}}.mobile-restriction-message{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:2rem}.mobile-restriction-message .restriction-content{text-align:center;padding:2rem;background:#001428cc;border:1px solid rgba(0,217,255,.2);border-radius:16px;max-width:400px}.mobile-restriction-message .restriction-content ion-icon{font-size:4rem;color:#00d9ffb3;margin-bottom:1rem}.mobile-restriction-message .restriction-content h2{font-size:1.5rem;font-weight:600;color:#fff;margin:0 0 .5rem}.mobile-restriction-message .restriction-content p{font-size:.95rem;color:#ffffffb3;margin:0;line-height:1.5}.touch-friendly{min-height:44px!important;min-width:44px!important;padding:12px 20px!important}@media (max-width: 768px){.touch-friendly{min-height:48px!important;min-width:48px!important;padding:14px 24px!important}}.mobile-grid{display:grid;gap:1rem}@media (max-width: 768px){.mobile-grid{grid-template-columns:1fr!important;gap:.75rem}}@media (min-width: 769px) and (max-width: 1024px){.mobile-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1025px){.mobile-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.mobile-text-sm{font-size:.875rem!important;line-height:1.4!important}}@media (max-width: 768px){.mobile-text-lg{font-size:1.125rem!important;line-height:1.3!important}}@media (max-width: 768px){.mobile-p-2{padding:.5rem!important}}@media (max-width: 768px){.mobile-p-4{padding:1rem!important}}@media (max-width: 768px){.mobile-m-2{margin:.5rem!important}}@media (max-width: 768px){.mobile-m-4{margin:1rem!important}}@media (max-width: 768px){.mobile-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.mobile-scroll::-webkit-scrollbar{height:4px}.mobile-scroll::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:2px}}.device-card{background:linear-gradient(145deg,#1a202ef2,#2d3748e6,#1a202ef2)!important;border-radius:20px!important;padding:28px!important;min-height:360px!important;-webkit-backdrop-filter:blur(15px) saturate(180%)!important;backdrop-filter:blur(15px) saturate(180%)!important;border:1px solid rgba(74,144,226,.2)!important;box-shadow:0 10px 40px #0000004d,0 0 0 1px #4a90e21a,inset 0 1px #ffffff1a!important;position:relative!important;transition:all .4s cubic-bezier(.4,0,.2,1)!important;cursor:pointer!important;overflow:hidden!important}.device-card:before{content:""!important;position:absolute!important;inset:0!important;background-image:linear-gradient(rgba(74,144,226,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(74,144,226,.03) 1px,transparent 1px)!important;background-size:20px 20px!important;pointer-events:none!important;z-index:1!important}.device-card:hover{transform:translateY(-12px) scale(1.03)!important;border-color:#4a90e280!important;box-shadow:0 20px 60px #0006,0 0 30px #4a90e233,inset 0 1px #fff3!important}.device-card.selected{border-color:#4a90e2cc!important;box-shadow:0 15px 50px #00000059,0 0 40px #4a90e24d,inset 0 1px #ffffff26!important}.device-card>*{position:relative!important;z-index:2!important}.device-card .device-name{font-size:1.25rem!important;font-weight:700!important;background:linear-gradient(135deg,#fff,#4a90e2cc)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;margin-bottom:.5rem!important}.device-card .device-info{background:#ffffff05!important;border:1px solid rgba(74,144,226,.1)!important;border-radius:12px!important;padding:1rem!important;margin-bottom:1rem!important;-webkit-backdrop-filter:blur(5px)!important;backdrop-filter:blur(5px)!important}.device-card .device-info .device-id,.device-card .device-info .device-location{color:#ffffffe6!important;font-size:.875rem!important;margin-bottom:.5rem!important}.device-card .device-info .device-location:last-child{margin-bottom:0!important}.device-card .device-status{display:flex!important;align-items:center!important;gap:.5rem!important;padding:.5rem 1rem!important;border-radius:25px!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;font-size:.875rem!important;font-weight:600!important}.device-card .device-status.online{background:linear-gradient(135deg,#4caf5033,#8bc34a33)!important;border:1px solid rgba(76,175,80,.3)!important;color:#81c784!important}.device-card .device-status.offline{background:linear-gradient(135deg,#f4433633,#e91e6333)!important;border:1px solid rgba(244,67,54,.3)!important;color:#ef5350!important}.device-card .device-status.online .status-icon{color:#4caf50!important;filter:drop-shadow(0 0 6px rgba(76,175,80,.6))!important}.device-card .device-status.offline .status-icon{color:#f44336!important;filter:drop-shadow(0 0 6px rgba(244,67,54,.6))!important}.device-card .device-details .detail-row{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:.5rem 0!important;border-bottom:1px solid rgba(74,144,226,.1)!important}.device-card .device-details .detail-row:last-child{border-bottom:none!important}.device-card .device-details .detail-label{color:#ffffffb3!important;font-size:.8rem!important;font-weight:500!important}.device-card .device-details .detail-value{color:#fffffff2!important;font-size:.875rem!important;font-weight:600!important}.device-card .device-actions{margin-top:1.5rem!important;display:flex!important;flex-wrap:wrap!important;gap:.5rem!important;justify-content:space-between!important}.device-card .action-btn{flex:1!important;min-width:calc(50% - .25rem)!important;padding:.6rem .8rem!important;background:linear-gradient(135deg,#4a90e2cc,#7b68eecc)!important;border:1px solid rgba(74,144,226,.3)!important;border-radius:12px!important;color:#fff!important;font-weight:600!important;font-size:.85rem!important;-webkit-backdrop-filter:blur(5px)!important;backdrop-filter:blur(5px)!important;transition:all .3s ease!important;cursor:pointer!important;text-align:center!important}.device-card .action-btn:hover{background:linear-gradient(135deg,#4a90e2e6,#7b68eee6)!important;transform:translateY(-2px)!important;box-shadow:0 5px 20px #4a90e266!important}.device-card .action-btn:active{transform:translateY(0)!important}.device-card .action-btn.primary{background:linear-gradient(135deg,#4caf50cc,#8bc34acc)!important;border-color:#4caf504d!important}.device-card .action-btn.primary:hover{background:linear-gradient(135deg,#4caf50e6,#8bc34ae6)!important;box-shadow:0 5px 20px #4caf5066!important}.device-card .action-btn.water-stats{background:linear-gradient(135deg,#2196f3cc,#03a9f4cc)!important;border-color:#2196f34d!important}.device-card .action-btn.water-stats:hover{background:linear-gradient(135deg,#2196f3e6,#03a9f4e6)!important;box-shadow:0 5px 20px #2196f366!important}.device-card .action-btn.electricity-stats{background:linear-gradient(135deg,#ff9800cc,#ffc107cc)!important;border-color:#ff98004d!important}.device-card .action-btn.electricity-stats:hover{background:linear-gradient(135deg,#ff9800e6,#ffc107e6)!important;box-shadow:0 5px 20px #ff980066!important}.device-card .action-btn ion-icon{margin-right:.3rem!important;font-size:1rem!important}app-feedback-list{display:block!important;width:100%!important;height:auto!important;box-sizing:border-box!important;position:relative!important;margin:0!important;padding:1rem!important;overflow:visible!important}app-user-list,app-device-list,app-alert-history,app-feedback-list,app-maintenance-plan{display:block!important;width:100%!important;height:auto!important;box-sizing:border-box!important;position:relative!important;margin:0!important;padding:1rem!important;overflow:visible!important}app-user-list{padding:0!important}.content-wrapper{display:flex!important;flex-direction:column!important;gap:1rem!important;min-height:auto!important;flex-grow:1!important}.content-wrapper app-pagination{margin-top:1rem!important;align-self:stretch!important}@media (max-width: 768px){.device-card{padding:20px!important;min-height:280px!important;border-radius:16px!important;-webkit-backdrop-filter:blur(10px) saturate(150%)!important;backdrop-filter:blur(10px) saturate(150%)!important;box-shadow:0 8px 25px #00000040,0 0 0 1px #4a90e21a!important}.device-card:before{background-size:15px 15px!important;opacity:.7!important}.device-card:hover{transform:translateY(-6px) scale(1.02)!important;box-shadow:0 12px 35px #0000004d,0 0 20px #4a90e226!important}.device-card:active{transform:translateY(-2px) scale(.99)!important;transition:all .1s ease!important}.device-card .device-name{font-size:1.1rem!important;line-height:1.3!important}.device-card .device-info{padding:.75rem!important;border-radius:8px!important;-webkit-backdrop-filter:blur(3px)!important;backdrop-filter:blur(3px)!important}.device-card .device-info .device-id,.device-card .device-info .device-location{font-size:.8rem!important;line-height:1.4!important}.device-card .device-status{padding:.4rem .8rem!important;font-size:.8rem!important;border-radius:20px!important;-webkit-backdrop-filter:blur(5px)!important;backdrop-filter:blur(5px)!important}.device-card .device-details .detail-row{padding:.4rem 0!important}.device-card .device-details .detail-label{font-size:.75rem!important}.device-card .device-details .detail-value{font-size:.8rem!important}.device-card .device-actions{margin-top:1rem!important;gap:.4rem!important}.device-card .action-btn{padding:.5rem .6rem!important;font-size:.8rem!important;border-radius:8px!important;min-width:calc(50% - .2rem)!important;-webkit-backdrop-filter:blur(3px)!important;backdrop-filter:blur(3px)!important;min-height:44px!important}.device-card .action-btn:hover{transform:translateY(-1px)!important;box-shadow:0 3px 12px #4a90e24d!important}.device-card .action-btn:active{transform:translateY(0) scale(.98)!important;transition:all .1s ease!important}.device-card .action-btn ion-icon{font-size:.9rem!important;margin-right:.2rem!important}}@media (max-width: 480px){.device-card{padding:16px!important;min-height:240px!important;border-radius:12px!important;box-shadow:0 4px 15px #0003!important}.device-card:before{display:none!important}.device-card:hover{transform:translateY(-3px) scale(1.01)!important;box-shadow:0 8px 20px #00000040!important}.device-card .device-name{font-size:1rem!important}.device-card .device-info{padding:.5rem!important;margin-bottom:.75rem!important}.device-card .device-info .device-id,.device-card .device-info .device-location{font-size:.75rem!important;margin-bottom:.4rem!important}.device-card .device-status{padding:.3rem .6rem!important;font-size:.75rem!important;gap:.3rem!important}.device-card .device-details .detail-row{padding:.3rem 0!important}.device-card .device-details .detail-label{font-size:.7rem!important}.device-card .device-details .detail-value{font-size:.75rem!important}.device-card .device-actions{margin-top:.75rem!important;gap:.3rem!important}.device-card .action-btn{padding:.4rem .5rem!important;font-size:.75rem!important;border-radius:6px!important;min-width:calc(50% - .15rem)!important;min-height:40px!important}.device-card .action-btn ion-icon{font-size:.8rem!important;margin-right:.15rem!important}}@media (max-width: 768px){ion-icon{display:inline-block!important;vertical-align:middle!important;font-style:normal!important;font-variant:normal!important;text-rendering:auto!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;font-family:Ionicons!important;opacity:1!important;visibility:visible!important;min-width:1em!important;min-height:1em!important}ion-icon:before{font-family:Ionicons!important;display:inline-block!important;font-style:normal!important;font-variant:normal!important;text-rendering:auto!important;-webkit-font-smoothing:antialiased!important}button ion-icon,.btn ion-icon,.fab ion-icon,.action-btn ion-icon{color:#fff!important}.search-icon,.input-icon{color:#666!important}ion-icon.rotating{animation:ionicon-spin 1s linear infinite!important}}@keyframes ionicon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
