.water-monitoring-system{padding:16px;min-height:100vh;background:linear-gradient(135deg,#e4f5fc,#cdebf8 48%,#b7e0f3);background-attachment:fixed;position:relative}.water-monitoring-system:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="white" opacity="0.05"/><circle cx="75" cy="75" r="1" fill="white" opacity="0.05"/><circle cx="50" cy="10" r="0.5" fill="white" opacity="0.03"/><circle cx="10" cy="90" r="0.5" fill="white" opacity="0.03"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');pointer-events:none;z-index:0}.overview-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px}.overview-card{background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;padding:12px;display:flex;align-items:center;gap:12px;box-shadow:0 4px 16px #00000014;border:1px solid rgba(255,255,255,.2);transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.overview-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#79bfe3,#a8dff4);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.overview-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px #00000026}.overview-card:hover:before{transform:scaleX(1)}.dark-mode .overview-card{background:#1e293be6;border:1px solid rgba(255,255,255,.1)}.refresh-card{grid-column:span 1}.refresh-button-main{width:100%;padding:16px 24px;background:linear-gradient(135deg,#67b4dc,#99d7f0);color:#fff;border:none;border-radius:16px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 8px 24px #67b4dc47;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s cubic-bezier(.22,1,.36,1),filter .22s ease;position:relative;overflow:hidden}.refresh-button-main:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.refresh-button-main:hover{transform:translateY(-2px);box-shadow:0 12px 32px #67b4dc57}.refresh-button-main:hover:before{left:100%}.refresh-button-main:active{transform:translateY(1px) scale(.985);box-shadow:0 6px 18px #67b4dc33;filter:saturate(.97);transition-duration:.08s}.refresh-button-main:disabled{opacity:.86;cursor:not-allowed;transform:none;animation:refreshButtonBreath 1.9s ease-in-out infinite}.card-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;position:relative;background:linear-gradient(135deg,#fff3,#ffffff1a);box-shadow:0 2px 8px #00000014;transition:all .2s ease}.card-icon:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;padding:1px;background:linear-gradient(135deg,var(--icon-color),var(--icon-color-light));mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:source-out;mask-composite:subtract;opacity:0;transition:opacity .3s ease}.card-icon:hover{transform:scale(1.1) rotate(5deg);box-shadow:0 8px 24px #00000026}.card-icon:hover:before{opacity:1}.card-icon.water-level{--icon-color: #5daed6;--icon-color-light: #8fd2ee;color:#5daed6}.card-icon.inflow{--icon-color: #6fbde3;--icon-color-light: #9bdcf5;color:#6fbde3}.card-icon.outflow{--icon-color: #82c8ea;--icon-color-light: #b2e4f8;color:#82c8ea}.card-icon.storage{--icon-color: #57b2db;--icon-color-light: #8ed8f1;color:#57b2db}.card-icon.rainfall,.card-icon.max-rainfall,.card-icon.daily-rainfall,.card-icon.intensity{--icon-color: #66b8e2;--icon-color-light: #9fdbf3;color:#66b8e2}.card-content{flex:1;min-width:0}.card-title{font-size:11px;color:#64748b;margin-bottom:4px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.card-value{font-size:20px;font-weight:600;color:#1e293b;background:linear-gradient(135deg,#1e293b,#475569);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1.1;position:relative}.card-value-stack{position:relative;min-height:1.2em}.card-value-stack .card-value{display:block}.card-value-stack.is-refreshing .card-value{animation:statValueRefreshFade .18s ease-out}.card-value:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--accent-color),transparent);border-radius:2px;opacity:0;transition:opacity .3s ease}.overview-card:hover .card-value:after{opacity:1}.dark-mode .card-value{color:#fff;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.card-unit{font-size:10px;color:#94a3b8;font-weight:500;margin-left:2px}.overview-card.water-level .card-value:after{--accent-color: #5daed6}.overview-card.inflow .card-value:after{--accent-color: #6fbde3}.overview-card.outflow .card-value:after{--accent-color: #82c8ea}.overview-card.storage .card-value:after{--accent-color: #57b2db}.overview-card.rainfall .card-value:after,.overview-card.max-rainfall .card-value:after,.overview-card.daily-rainfall .card-value:after,.overview-card.intensity .card-value:after{--accent-color: #66b8e2}.control-panel{background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;padding:16px;margin-bottom:16px;box-shadow:0 4px 16px #00000014;border:1px solid rgba(255,255,255,.2)}.dark-mode .control-panel{background:#1e293be6;border:1px solid rgba(255,255,255,.1)}.tab-buttons{display:flex;gap:6px;margin-bottom:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(103,180,220,.45) transparent}.tab-buttons::-webkit-scrollbar{height:4px}.tab-buttons::-webkit-scrollbar-track{background:#0000001a;border-radius:2px}.tab-buttons::-webkit-scrollbar-thumb{background:#67b4dc73;border-radius:2px}.tab-btn{padding:8px 14px;background:linear-gradient(135deg,#f1f5f9cc,#e2e8f0cc);border:1px solid transparent;border-radius:8px;font-size:12px;font-weight:500;color:#64748b;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:6px;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.tab-btn:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#67b4dc,#99d7f0);opacity:0;transition:opacity .3s ease}.tab-btn:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#fff3;border-radius:50%;transform:translate(-50%,-50%);transition:all .3s ease}.tab-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.tab-btn:active:after{width:100px;height:100px}.tab-btn.active{background:linear-gradient(135deg,#67b4dc,#99d7f0);color:#fff;border-color:#667eea4d;box-shadow:0 8px 24px #667eea4d}.dark-mode .tab-btn{background:#ffffff1a;color:#94a3b8}.dark-mode .tab-btn:hover{background:#ffffff26}.dark-mode .tab-btn.active{background:linear-gradient(135deg,#67b4dc,#99d7f0);color:#fff}.station-controls{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(226,232,240,.5);position:relative}.station-controls:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(102,126,234,.3),transparent);animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%,to{opacity:0}50%{opacity:1}}.dark-mode .station-controls{border-bottom-color:#33415580}.dark-mode .station-controls:after{background:linear-gradient(90deg,transparent,rgba(102,126,234,.5),transparent)}.station-controls label{font-size:12px;color:#64748b;font-weight:500;margin-right:8px}.water-station-selector,.rainfall-station-info{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.station-select{min-width:160px;min-height:36px;padding:0 12px;border-radius:10px;border:1px solid rgba(90,159,194,.18);background:linear-gradient(180deg,#fffffff0,#eaf6fce0);color:#194561;font-size:13px;font-weight:500;box-shadow:0 8px 18px #4d90b71a;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;outline:none}.station-select:hover{border-color:#57a8d252}.station-select:focus{border-color:#57a8d27a;box-shadow:0 0 0 4px #57a8d224}.current-station-info{font-size:14px;color:#1e293b;font-weight:600;padding:6px 12px;background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:8px;border:1px solid rgba(102,126,234,.2);transition:all .3s ease}.current-station-info:hover{background:linear-gradient(135deg,#667eea26,#764ba226);transform:translateY(-1px)}.dark-mode .current-station-info{color:#e2e8f0;background:#ffffff1a;border-color:#ffffff1a}.dark-mode .station-select{border-color:#7db1d02e;background:linear-gradient(180deg,#10212df5,#132c3be6);color:#dcecf6;box-shadow:0 10px 24px #00000038}.date-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:12px}.date-input-group{display:flex;flex-direction:column;gap:6px;flex:1;min-width:140px}.date-input-group label{font-size:11px;color:#64748b;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.date-input-group input{height:36px;padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:12px;background:#fffc;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 4px #0000000d}.date-input-group input:focus{outline:none;border-color:#79bfe3;box-shadow:0 4px 16px #667eea33;background:#fff}.dark-mode .date-input-group input{background:#0f172acc;border-color:#334155;color:#fff}.dark-mode .date-input-group input:focus{border-color:#79bfe3;box-shadow:0 4px 16px #667eea4d}.swap-btn{width:36px;height:36px;background:linear-gradient(135deg,#f1f5f9cc,#e2e8f0cc);border:1px solid transparent;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.swap-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(102,126,234,.2),transparent);transition:left .5s ease}.swap-btn:hover{transform:translateY(-2px) rotate(180deg);box-shadow:0 8px 24px #0000001a}.swap-btn:hover:before{left:100%}.dark-mode .swap-btn{background:#ffffff1a;color:#94a3b8}.dark-mode .swap-btn:hover{background:#ffffff26}.quick-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.quick-buttons button{padding:6px 12px;background:linear-gradient(135deg,#f1f5f9cc,#e2e8f0cc);border:1px solid transparent;border-radius:8px;font-size:11px;font-weight:500;color:#64748b;cursor:pointer;display:flex;align-items:center;gap:4px;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.quick-buttons button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(102,126,234,.2),transparent);transition:left .5s ease}.quick-buttons button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a;border-color:#667eea4d}.quick-buttons button:hover:before{left:100%}.quick-buttons button:active{transform:translateY(0)}.dark-mode .quick-buttons button{background:#ffffff1a;color:#94a3b8}.dark-mode .quick-buttons button:hover{background:#ffffff26}.search-btn{margin-top:0;width:100%;height:40px!important;background:linear-gradient(135deg,#67b4dc,#99d7f0);border:none;border-radius:8px;font-size:13px;font-weight:600;color:#fff;box-shadow:0 4px 12px #667eea33;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.search-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.search-btn:hover{transform:translateY(-2px);box-shadow:0 12px 32px #667eea66}.search-btn:hover:before{left:100%}.search-btn:active{transform:translateY(0)}.search-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.chart-section{background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;padding:16px;margin-bottom:16px;box-shadow:0 4px 16px #00000014;border:1px solid rgba(255,255,255,.2)}.dark-mode .chart-section{background:#1e293be6;border:1px solid rgba(255,255,255,.1)}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:8px}.chart-header h3{font-size:14px;font-weight:600;color:#1e293b;margin:0;background:linear-gradient(135deg,#1e293b,#475569);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;position:relative}.chart-header h3:after{content:"";position:absolute;bottom:-4px;left:0;width:40px;height:3px;background:linear-gradient(90deg,#79bfe3,#a8dff4);border-radius:2px}.dark-mode .chart-header h3{color:#fff;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.chart-actions{display:flex;gap:8px}.export-btn{padding:10px 16px;background:linear-gradient(135deg,#f1f5f9cc,#e2e8f0cc);border:2px solid transparent;border-radius:12px;font-size:13px;font-weight:500;color:#64748b;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.export-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(102,126,234,.2),transparent);transition:left .5s ease}.export-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a;border-color:#667eea4d}.export-btn:hover:before{left:100%}.export-month-picker{position:relative;display:inline-flex}.export-month-panel{position:absolute;top:calc(100% + 10px);right:0;z-index:30;width:260px;padding:14px;border:1px solid rgba(90,159,194,.18);border-radius:16px;background:#fffffffa;box-shadow:0 18px 45px #1f5a7d2e}.export-month-title{margin-bottom:10px;color:#234a62;font-size:15px;font-weight:700}.export-month-field{display:flex;flex-direction:column;gap:6px;color:#5f788b;font-size:13px}.export-month-field input{height:38px;padding:0 10px;border:1px solid rgba(90,159,194,.22);border-radius:10px;color:#234a62;font-size:14px;outline:none}.export-month-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.dark-mode .export-btn{background:#ffffff1a;color:#94a3b8}.dark-mode .export-btn:hover{background:#ffffff26}.dark-mode .export-month-panel{border-color:#7db1d02e;background:#0d1c28fa;box-shadow:0 18px 45px #0000004d}.dark-mode .export-month-title,.dark-mode .export-month-field,.dark-mode .export-month-field input{color:#d3e8f2}.dark-mode .export-month-field input{border-color:#7db1d033;background:#112332eb}.chart-container{min-height:240px;border-radius:8px;overflow:hidden;background:#ffffff80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.2)}.dark-mode .chart-container{background:#0f172a4d;border:1px solid rgba(255,255,255,.1)}.chart{height:280px;width:100%}.data-table-section{background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;padding:16px;box-shadow:0 4px 16px #00000014;border:1px solid rgba(255,255,255,.2)}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:8px}.table-header h3{font-size:14px;font-weight:600;color:#1e293b;margin:0;background:linear-gradient(135deg,#1e293b,#475569);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;position:relative}.dark-mode .data-table-section{background:#1e293be6;border:1px solid rgba(255,255,255,.1)}.dark-mode .search-input-wrapper,.dark-mode .search-suggestions,.dark-mode .search-suggestions .suggestions-header,.dark-mode .search-suggestions .suggestion-item,.dark-mode .refresh-button-main,.dark-mode .table-container .no-results,.dark-mode .table-container .no-results .action button{background:#0e1c28eb;color:#d9edf8;border-color:#7db1d02e}.dark-mode .search-input-wrapper input,.dark-mode .search-suggestions .suggestion-item,.dark-mode .search-suggestions .suggestions-header button{color:#d9edf8}.dark-mode .search-input-wrapper input::placeholder{color:#d9edf87a}.dark-mode .search-suggestions .suggestions-header,.dark-mode .search-suggestions .suggestion-item:hover,.dark-mode .table-container tr:hover td{background:#142838eb}.dark-mode .search-icon,.dark-mode .table-header h3,.dark-mode .chart-header h3,.dark-mode .card-title,.dark-mode .table-container .no-results .title{color:#b8dff1}.dark-mode .card-value{background:linear-gradient(135deg,#eef8fd,#bfe3f3);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.dark-mode .table-container .no-results .description,.dark-mode .table-container .no-results,.dark-mode .current-station-info,.dark-mode .date-input-group label{color:#9fc7da}.dark-mode .ant-modal-content,.dark-mode .ant-modal-header{background:#0f1e2b!important;color:#d9edf8!important}.dark-mode .ant-modal-title,.dark-mode .ant-modal-close,.dark-mode .ant-modal-body,.dark-mode .ant-space-item label{color:#d9edf8!important}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.table-header h3{font-size:18px;font-weight:700;color:#1e293b;margin:0;background:linear-gradient(135deg,#1e293b,#475569);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;position:relative}.table-header h3:after{content:"";position:absolute;bottom:-4px;left:0;width:40px;height:3px;background:linear-gradient(90deg,#79bfe3,#a8dff4);border-radius:2px}.dark-mode .table-header h3{color:#fff;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.table-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;min-width:300px}.table-search{padding:10px 16px;background:#fffffff2;border:2px solid #e2e8f0;border-radius:12px;font-size:13px;color:#64748b;min-width:200px;max-width:300px;outline:none;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #0000001a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:relative;z-index:10;display:flex;align-items:center;gap:8px}.table-search::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;height:16px;width:16px;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%235daed6" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>') center/contain no-repeat;opacity:0;transition:opacity .3s ease}.table-search:focus{border-color:#79bfe3;box-shadow:0 4px 16px #667eea4d,0 0 0 3px #667eea1a;background:#fff;transform:translateY(-1px)}.search-input-wrapper{position:relative;display:flex;align-items:center;min-width:220px}.search-icon{position:absolute;left:12px;color:#94a3b8;font-size:14px;z-index:11;pointer-events:none}.table-search{padding-left:40px;transition:all .3s ease}.table-search::placeholder{color:#94a3b8;opacity:.7;transition:opacity .3s ease}.table-search:focus::placeholder{opacity:.5}.table-search:not(:placeholder-shown){padding-left:40px}.table-search:not(:placeholder-shown)+.search-icon{color:#5daed6}.table-search::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;height:16px;width:16px;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%235daed6" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>') center/contain no-repeat;opacity:0;transition:opacity .3s ease}.table-search:not(:placeholder-shown)::-webkit-search-cancel-button{opacity:1}.table-search:focus{animation:pulse .5s ease}@keyframes pulse{0%{box-shadow:0 4px 16px #667eea4d,0 0 0 3px #667eea1a}50%{box-shadow:0 4px 20px #667eea66,0 0 0 5px #667eea26}to{box-shadow:0 4px 16px #667eea4d,0 0 0 3px #667eea1a}}.table-search:active{transform:scale(.98)}.table-search:hover{border-color:#79bfe3;box-shadow:0 4px 12px #0000001a;background:#fff}.search-suggestions{position:absolute;top:100%;left:0;right:0;background:#fffffff2;border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 32px #00000026;margin-top:8px;z-index:100;max-height:300px;overflow-y:auto;display:none}.search-suggestions.show{display:block}.suggestions-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#f8fafce6,#f1f5f9e6)}.suggestions-header span{font-size:13px;font-weight:600;color:#475569}.suggestions-header button{padding:4px 8px;background:transparent;border:1px solid #e2e8f0;border-radius:6px;font-size:12px;color:#64748b;cursor:pointer;transition:all .2s ease}.suggestions-header button:hover{background:#f1f5f9;border-color:#79bfe3;color:#5daed6}.suggestions-list{padding:8px 0}.suggestion-item{display:block;width:100%;padding:10px 16px;text-align:left;background:transparent;border:none;font-size:13px;color:#64748b;cursor:pointer;transition:all .2s ease;border-bottom:1px solid #f1f5f9}.suggestion-item:hover{background:#f8fafc;color:#1e293b;border-bottom-color:#79bfe3}.suggestion-item:last-child{border-bottom:none}.dark-mode .search-suggestions{background:#0f172af2;border-color:#334155}.dark-mode .suggestions-header{background:#0f172a99;border-bottom-color:#334155}.dark-mode .suggestions-header span{color:#cbd5e1}.dark-mode .suggestions-header button{color:#94a3b8;border-color:#334155}.dark-mode .suggestions-header button:hover{background:#0f172acc;border-color:#79bfe3;color:#5daed6}.dark-mode .suggestion-item{color:#cbd5e1;border-bottom-color:#334155}.dark-mode .suggestion-item:hover{background:#0f172acc;color:#e2e8f0;border-bottom-color:#79bfe3}.dark-mode .table-search{background:#0f172acc;border-color:#334155;color:#94a3b8}.dark-mode .table-search:focus{border-color:#79bfe3;box-shadow:0 4px 16px #667eea4d}.sort-btn{padding:10px 16px;background:linear-gradient(135deg,#f1f5f9cc,#e2e8f0cc);border:2px solid transparent;border-radius:12px;font-size:13px;font-weight:500;color:#64748b;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.sort-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(102,126,234,.2),transparent);transition:left .5s ease}.sort-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a;border-color:#667eea4d}.sort-btn:hover:before{left:100%}.sort-btn.active{background:linear-gradient(135deg,#67b4dc,#99d7f0);color:#fff;box-shadow:0 8px 24px #667eea4d}.dark-mode .sort-btn{background:#ffffff1a;color:#94a3b8}.dark-mode .sort-btn:hover{background:#ffffff26}.dark-mode .sort-btn.active{background:linear-gradient(135deg,#67b4dc,#99d7f0);color:#fff}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #0000000d}.table-container table{width:100%;border-collapse:collapse;font-size:14px;min-width:600px;background:#fffc;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dark-mode .table-container table{background:#0f172a80}.table-container th,.table-container td{padding:12px 16px;text-align:center;border-bottom:1px solid rgba(226,232,240,.5);transition:all .3s ease}.dark-mode .table-container th,.dark-mode .table-container td{border-bottom-color:#33415580}.table-container th{background:linear-gradient(135deg,#f8fafce6,#f1f5f9e6);font-weight:700;color:#475569;font-size:13px;text-transform:uppercase;letter-spacing:.5px;position:relative}.table-container th:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(102,126,234,.3),transparent)}.dark-mode .table-container th{background:#0f172a99;color:#94a3b8}.table-container td{color:#1e293b;font-weight:500}.dark-mode .table-container td{color:#e2e8f0}.table-container tr:hover td{background:#f8fafccc;transform:scale(1.01)}.dark-mode .table-container tr:hover td{background:#0f172a66}.table-container tr:hover{box-shadow:0 4px 16px #0000001a;z-index:10;position:relative}.table-container .no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#94a3b8;text-align:center}.table-container .no-results .icon{font-size:48px;margin-bottom:16px;opacity:.5}.table-container .no-results .title{font-size:16px;font-weight:600;margin-bottom:8px;color:#64748b}.table-container .no-results .description{font-size:14px;color:#94a3b8;max-width:300px}.table-container .no-results .action{margin-top:16px}.table-container .no-results .action button{padding:8px 16px;background:linear-gradient(135deg,#67b4dc,#99d7f0);color:#fff;border:none;border-radius:8px;font-size:13px;cursor:pointer;transition:all .3s ease}.table-container .no-results .action button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #667eea4d}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes statValueRefreshFade{0%{opacity:.72}to{opacity:1}}.loading-spinner{width:64px;height:64px;border:1px solid rgba(255,255,255,.18);border-radius:50%;animation:monitoringRipple 1.9s ease-out infinite;position:relative;box-shadow:0 0 24px #79bfe329;background:radial-gradient(circle,rgba(121,191,227,.2),rgba(121,191,227,.04) 60%,transparent 70%)}.loading-spinner:before{content:"";position:absolute;top:18px;left:18px;right:18px;bottom:18px;background:radial-gradient(circle,#79bfe3f2,#4fa0cdc7);border-radius:50%;box-shadow:0 0 0 10px #79bfe314;animation:monitoringCoreBreath 1.8s ease-in-out infinite}.loading-spinner:after{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;border:1px solid rgba(255,255,255,.16);border-radius:50%;animation:monitoringRipple 1.9s ease-out infinite .58s}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.5}}@keyframes monitoringRipple{0%{transform:scale(.82);opacity:0}30%{opacity:.48}to{transform:scale(1.18);opacity:0}}@keyframes monitoringCoreBreath{0%,to{transform:scale(.92);opacity:.92}50%{transform:scale(1.04);opacity:1}}@keyframes refreshButtonBreath{0%,to{box-shadow:0 8px 24px #67b4dc3d;filter:saturate(.98)}50%{box-shadow:0 12px 28px #67b4dc57;filter:saturate(1.05)}}.refresh-button-main:not(:disabled):after{content:"";position:absolute;top:18%;right:34%;bottom:18%;left:34%;border-radius:999px;background:radial-gradient(circle,rgba(255,255,255,.32),transparent 70%);opacity:0;transform:scale(.7);pointer-events:none}.refresh-button-main:not(:disabled):active:after{animation:buttonLiquidTap .34s ease-out}@keyframes buttonLiquidTap{0%{opacity:.32;transform:scale(.72)}to{opacity:0;transform:scale(1.45)}}.loading-text{color:#fff;margin-top:20px;font-size:16px;font-weight:500;text-shadow:0 2px 4px rgba(0,0,0,.22);animation:fadeIn 1.4s ease-in-out infinite alternate}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 20px #667eea4d}50%{box-shadow:0 0 40px #667eea99}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hydrology-encoder{padding:0}.encoder-form{display:flex;flex-direction:column;gap:16px;animation:slideInUp .6s ease-out}.form-row{display:flex;flex-direction:column;gap:8px}.form-label{font-size:14px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.5px}.dark-mode .form-label{color:#cbd5e1}.form-input{height:48px;border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1)}.form-input:focus{outline:none;border-color:#79bfe3;box-shadow:0 4px 16px #667eea33}.encoded-output{background:linear-gradient(135deg,#f8fafce6,#f1f5f9e6);border-radius:16px;padding:20px;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:14px;word-break:break-all;color:#1e293b;line-height:1.8;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2);position:relative;overflow:hidden}.encoded-output:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#79bfe3,#a8dff4)}.dark-mode .encoded-output{background:#0f172a99;color:#e2e8f0;border:1px solid rgba(255,255,255,.1)}.action-buttons{display:flex;flex-direction:column;gap:12px;animation:slideInUp .8s ease-out}.action-buttons .ant-btn{width:100%;height:52px;border-radius:12px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1)}.action-buttons .ant-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.glass-effect{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a}.dark-mode .glass-effect{background:#1e293b4d;border:1px solid rgba(255,255,255,.1)}.floating-card{animation:float 6s ease-in-out infinite}.glow-effect{animation:glow 2s ease-in-out infinite}.water-monitoring-system{animation:slideInUp .8s ease-out}@media (min-width: 640px){.water-monitoring-system{padding:20px}.overview-cards{grid-template-columns:repeat(3,1fr);gap:20px}.refresh-card{grid-column:span 1}.overview-card{padding:20px}.card-icon{width:56px;height:56px;font-size:24px}.card-value{font-size:28px}.control-panel{padding:24px}.date-controls{flex-wrap:nowrap;gap:20px}.date-input-group{min-width:180px}.quick-buttons{gap:12px;margin-bottom:24px}.quick-buttons button{padding:12px 18px;font-size:14px}.search-btn{margin-top:0;width:auto;height:56px!important}.chart-section{padding:28px}.chart-header{margin-bottom:24px}.chart-header h3{font-size:20px}.chart{height:400px}.data-table-section{padding:28px}.table-header{margin-bottom:24px}.table-header h3{font-size:20px}.table-actions{min-width:400px}.search-input-wrapper{min-width:250px}.table-container table{font-size:15px;min-width:700px}.table-container th,.table-container td{padding:14px 20px}}@media (min-width: 1024px){.water-monitoring-system{padding:32px;max-width:1400px;margin:0 auto}.overview-cards{grid-template-columns:repeat(4,1fr);gap:24px}.overview-card{padding:24px}.card-icon{width:64px;height:64px;font-size:28px}.card-value{font-size:32px}.control-panel{padding:32px}.tab-buttons{gap:12px}.tab-btn{padding:14px 24px;font-size:15px}.station-controls{margin-bottom:24px}.date-controls{gap:24px}.date-input-group{min-width:200px}.quick-buttons{gap:16px;margin-bottom:28px}.quick-buttons button{padding:14px 20px;font-size:15px}.search-btn{height:60px!important;font-size:16px}.chart-section{padding:32px}.chart-header{margin-bottom:28px}.chart-header h3{font-size:22px}.chart-actions{gap:12px}.export-btn{padding:12px 20px;font-size:14px}.chart{height:450px}.data-table-section{padding:32px}.table-header{margin-bottom:28px}.table-header h3{font-size:22px}.table-actions{gap:16px;min-width:500px}.table-search{min-width:280px;font-size:14px}.search-input-wrapper{min-width:300px}.sort-btn{padding:12px 20px;font-size:14px}.table-container table{font-size:16px;min-width:800px}.table-container th,.table-container td{padding:16px 24px}}@media (min-width: 1280px){.overview-cards{grid-template-columns:repeat(5,1fr)}.card-icon{width:72px;height:72px;font-size:32px}.card-value{font-size:36px}}@media (max-width: 768px){.table-actions{min-width:auto;flex-direction:column;gap:8px;align-items:stretch}.search-input-wrapper{min-width:auto;width:100%}.table-search{min-width:auto;width:100%;max-width:none;padding:10px 16px}.sort-btn{width:100%;justify-content:center}.table-container th,.table-container td{padding:10px 12px}.table-header{margin-bottom:16px}.chart-section,.data-table-section{padding:16px}}.water-monitoring-system{position:relative;overflow:hidden;padding:20px;border-radius:28px;border:1px solid rgba(255,255,255,.36);box-shadow:0 24px 56px #458fbd29;background:radial-gradient(circle at 14% 12%,rgba(255,224,188,.2),transparent 18%),radial-gradient(circle at 86% 14%,rgba(139,214,240,.26),transparent 22%),linear-gradient(135deg,#f4fbffeb,#e1f2faeb 44%,#d4ebf6eb);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.water-monitoring-system:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:120px 120px;-webkit-mask-image:radial-gradient(circle at center,rgba(0,0,0,.24),transparent 76%);mask-image:radial-gradient(circle at center,rgba(0,0,0,.24),transparent 76%);opacity:.45}.water-monitoring-system>*{position:relative;z-index:1}.water-monitoring-system .overview-cards,.water-monitoring-system .control-panel,.water-monitoring-system .chart-section,.water-monitoring-system .data-table-section{border-radius:24px;border:1px solid rgba(255,255,255,.38);background:#ffffffb3;box-shadow:0 18px 34px #4e8cb31f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.water-monitoring-system .overview-cards{margin-bottom:18px;padding:6px}.water-monitoring-system .overview-card,.water-monitoring-system .refresh-card{min-height:110px}.water-monitoring-system .overview-card{border-radius:20px;border:1px solid rgba(255,255,255,.5);background:linear-gradient(160deg,#ffffffe0,#eaf6fcd1),radial-gradient(circle at top right,rgba(255,222,187,.16),transparent 26%);box-shadow:0 18px 30px #4d90b71a}.water-monitoring-system .overview-card:before{height:5px;background:linear-gradient(90deg,#79bfe3,#ffd9a0,#9fe0f3)}.water-monitoring-system .overview-card:hover{transform:translateY(-6px);box-shadow:0 24px 44px #4d90b729}.water-monitoring-system .card-title{font-size:11px;color:#688295;letter-spacing:.08em}.water-monitoring-system .card-value{font-size:clamp(22px,2.6vw,30px);font-weight:700;background:linear-gradient(135deg,#17364a,#4d87a8);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.water-monitoring-system .refresh-button-main{min-height:110px;border-radius:20px;background:linear-gradient(135deg,#2f96bf,#63b9dd 52%,#8fd9ef);box-shadow:0 20px 40px #2d95bf3d}.water-monitoring-system .refresh-button-main:hover{transform:translateY(-4px) scale(1.01)}.water-monitoring-system .control-panel{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:18px 22px;align-items:start;padding:22px;margin-bottom:18px}.water-monitoring-system .tab-buttons{grid-column:1 / -1;gap:10px;margin-bottom:0}.water-monitoring-system .tab-btn{min-height:46px;padding:0 18px;border-radius:999px;border:1px solid rgba(90,159,194,.12);background:linear-gradient(180deg,#ffffffc7,#e9f5fbd1);color:#587387;box-shadow:inset 0 1px #ffffff8c}.water-monitoring-system .tab-btn.active{border-color:#ffdeac66;background:linear-gradient(135deg,#2f96bf,#63b9dd 52%,#ffd7a3 130%);box-shadow:0 16px 30px #4396c033}.water-monitoring-system .station-controls,.water-monitoring-system .date-controls,.water-monitoring-system .quick-buttons,.water-monitoring-system .search-btn{margin-bottom:0}.water-monitoring-system .station-controls{padding:16px 18px 0;border-bottom:none;border-radius:18px;background:linear-gradient(180deg,#ffffffb8,#f0f8fcad)}.water-monitoring-system .station-controls:after{display:none}.water-monitoring-system .current-station-info{padding:8px 14px;border-radius:999px;color:#194561;background:linear-gradient(135deg,#ffffffdb,#def0f8d1);border-color:#57a8d22e;box-shadow:0 10px 22px #4d90b714}.water-monitoring-system .date-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:12px;padding:16px 18px;border-radius:20px;background:linear-gradient(180deg,#ffffffb8,#f0f8fcb3)}.water-monitoring-system .date-input-group label{font-size:11px;letter-spacing:.1em;color:#69889c}.water-monitoring-system .date-input-group input{height:44px;border-radius:14px;border-color:#5a9fc229;background:#ffffffe0;box-shadow:inset 0 1px #ffffff80}.water-monitoring-system .swap-btn{width:44px;height:44px;border-radius:14px;align-self:end;background:linear-gradient(180deg,#ffffffdb,#e6f3f9cc)}.water-monitoring-system .quick-buttons{grid-column:1 / 2;gap:10px;padding:4px 0 0}.water-monitoring-system .quick-buttons button{min-height:38px;padding:0 14px;border-radius:999px;background:linear-gradient(180deg,#ffffffd1,#e7f4facc);border-color:#5a9fc21f;color:#5e798d}.water-monitoring-system .search-btn{grid-column:2 / 3;align-self:end;justify-self:stretch;height:48px!important;border-radius:16px;background:linear-gradient(135deg,#2d95bf,#63b9dd)!important;box-shadow:0 18px 28px #2d95bf38}.water-monitoring-system .chart-section,.water-monitoring-system .data-table-section{padding:22px;margin-bottom:18px}.water-monitoring-system .chart-header,.water-monitoring-system .table-header{margin-bottom:18px;gap:14px}.water-monitoring-system .chart-header h3,.water-monitoring-system .table-header h3{font-size:20px;font-weight:700;letter-spacing:-.02em}.water-monitoring-system .chart-container{min-height:320px;border-radius:20px;background:linear-gradient(180deg,#ffffffd6,#edf7fcbd),radial-gradient(circle at top right,rgba(255,222,187,.14),transparent 24%);border:1px solid rgba(90,159,194,.14);box-shadow:inset 0 1px #ffffff73}.water-monitoring-system .chart{height:360px}.water-monitoring-system .chart-actions,.water-monitoring-system .table-actions{gap:12px}.water-monitoring-system .export-btn,.water-monitoring-system .sort-btn{min-height:42px;padding:0 16px;border-radius:14px;border:1px solid rgba(90,159,194,.12);background:linear-gradient(180deg,#ffffffd6,#eaf6fccc);color:#5f788b;box-shadow:0 12px 20px #4d90b714}.water-monitoring-system .search-input-wrapper{min-width:260px}.water-monitoring-system .table-search{min-height:44px;border-radius:14px;border-color:#5a9fc224;background:#ffffffdb;box-shadow:0 12px 20px #4d90b714}.water-monitoring-system .search-suggestions{border-radius:18px;border-color:#5a9fc229;background:#ffffffe6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 24px 40px #4d90b72e}.water-monitoring-system .suggestions-header,.water-monitoring-system .suggestion-item{background:transparent}.water-monitoring-system .table-container{border-radius:20px;border:1px solid rgba(90,159,194,.14);background:#ffffffc2;box-shadow:inset 0 1px #ffffff73;overflow:hidden}.water-monitoring-system .table-container table{min-width:860px;border-collapse:separate;border-spacing:0}.water-monitoring-system .table-container th{position:sticky;top:0;z-index:2;padding:16px 18px;border-bottom:1px solid rgba(90,159,194,.12);background:linear-gradient(180deg,#e9f5fbf0,#ddf0f8f0);color:#194561;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.water-monitoring-system .table-container td{padding:14px 18px;border-bottom:1px solid rgba(90,159,194,.08);background:#ffffff57;font-size:13px;color:#36586d;font-variant-numeric:tabular-nums}.water-monitoring-system .table-container tbody tr:nth-child(2n) td{background:#e9f5fb61}.water-monitoring-system .table-container th+th,.water-monitoring-system .table-container td+td{border-left:1px solid rgba(90,159,194,.06)}.water-monitoring-system .table-container tbody tr:first-child td:first-child{border-top-left-radius:12px}.water-monitoring-system .table-container tbody tr:first-child td:last-child{border-top-right-radius:12px}.water-monitoring-system .table-container tbody tr:last-child td:first-child{border-bottom-left-radius:12px}.water-monitoring-system .table-container tbody tr:last-child td:last-child{border-bottom-right-radius:12px}.water-monitoring-system .table-container tr:hover td{background:#dbf0f8b8}.dark-mode .water-monitoring-system{border-color:#ffffff14;background:radial-gradient(circle at 16% 12%,rgba(240,184,107,.1),transparent 18%),radial-gradient(circle at 84% 16%,rgba(87,168,210,.14),transparent 20%),linear-gradient(180deg,#0b1721f5,#0a161ffa);box-shadow:0 26px 60px #00000047}.dark-mode .water-monitoring-system:after{opacity:.18}.dark-mode .water-monitoring-system .overview-cards,.dark-mode .water-monitoring-system .control-panel,.dark-mode .water-monitoring-system .chart-section,.dark-mode .water-monitoring-system .data-table-section{border-color:#7db1d024;background:#0d1c28c7;box-shadow:0 18px 34px #0000002e}.dark-mode .water-monitoring-system .overview-card,.dark-mode .water-monitoring-system .station-controls,.dark-mode .water-monitoring-system .date-controls,.dark-mode .water-monitoring-system .chart-container,.dark-mode .water-monitoring-system .table-container{border-color:#7db1d024;background:#0f1f2dd6}.dark-mode .water-monitoring-system .table-container td,.dark-mode .water-monitoring-system .table-container tbody tr:nth-child(2n) td{background:#0c1a247a}.dark-mode .water-monitoring-system .table-container tr:hover td{background:#142838d6}.dark-mode .water-monitoring-system .tab-btn,.dark-mode .water-monitoring-system .quick-buttons button,.dark-mode .water-monitoring-system .export-btn,.dark-mode .water-monitoring-system .sort-btn,.dark-mode .water-monitoring-system .swap-btn,.dark-mode .water-monitoring-system .table-search,.dark-mode .water-monitoring-system .date-input-group input{background:#112332e0;border-color:#7db1d01f;color:#c6deeb}.dark-mode .water-monitoring-system .current-station-info,.dark-mode .water-monitoring-system .chart-header h3,.dark-mode .water-monitoring-system .table-header h3{color:#e5f4fb}.dark-mode .water-monitoring-system .table-container th{background:linear-gradient(180deg,#152b3cf0,#112434f0);color:#d9edf8}.dark-mode .water-monitoring-system .table-container td{color:#c6deeb}@media (max-width: 1024px){.water-monitoring-system .control-panel{grid-template-columns:1fr}.water-monitoring-system .quick-buttons,.water-monitoring-system .search-btn{grid-column:auto}.water-monitoring-system .table-container table{min-width:760px}}@media (max-width: 768px){.water-monitoring-system{padding:14px;border-radius:22px}.water-monitoring-system .control-panel,.water-monitoring-system .chart-section,.water-monitoring-system .data-table-section{padding:16px;border-radius:20px}.water-monitoring-system .date-controls{grid-template-columns:1fr}.water-monitoring-system .swap-btn,.water-monitoring-system .search-btn{width:100%;justify-self:stretch}.water-monitoring-system .tab-btn,.water-monitoring-system .quick-buttons button{min-height:40px}.water-monitoring-system .chart{height:300px}.water-monitoring-system .search-input-wrapper{min-width:auto}}.water-monitoring-system{view-transition-name:monitoring-shell}.water-monitoring-system [data-reveal]{opacity:0;transform:translateY(22px) scale(.988);filter:blur(10px);transition:opacity .56s cubic-bezier(.22,1,.36,1),transform .56s cubic-bezier(.22,1,.36,1),filter .56s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay, 0ms);will-change:opacity,transform,filter}.water-monitoring-system [data-reveal].is-visible{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}.water-monitoring-system .overview-card,.water-monitoring-system .control-panel,.water-monitoring-system .chart-section,.water-monitoring-system .data-table-section{transform-origin:center top}.water-monitoring-system .overview-card:after,.water-monitoring-system .chart-section:before,.water-monitoring-system .data-table-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none}.water-monitoring-system .overview-card:after{background:radial-gradient(circle at 18% 16%,rgba(255,223,182,.18),transparent 26%),radial-gradient(circle at 84% 12%,rgba(126,203,234,.16),transparent 22%);opacity:0;transition:opacity .36s ease}.water-monitoring-system .overview-card:hover:after{opacity:1}.water-monitoring-system .chart-section,.water-monitoring-system .data-table-section{overflow:hidden}.water-monitoring-system .chart-section:before,.water-monitoring-system .data-table-section:before{top:1px;right:1px;bottom:1px;left:1px;background:linear-gradient(120deg,rgba(255,255,255,.18),transparent 28%),radial-gradient(circle at 100% 0%,rgba(255,223,182,.18),transparent 22%);opacity:.9}.water-monitoring-system .chart-container{position:relative;overflow:hidden}.water-monitoring-system .chart-container:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.42),transparent 78%);mask-image:linear-gradient(180deg,rgba(0,0,0,.42),transparent 78%);opacity:.18}.water-monitoring-system .tab-btn.active,.water-monitoring-system .search-btn,.water-monitoring-system .refresh-button-main{position:relative;isolation:isolate}.water-monitoring-system .tab-btn.active:before,.water-monitoring-system .search-btn:after,.water-monitoring-system .refresh-button-main:after{content:"";position:absolute;inset:auto 12% 10%;height:36%;border-radius:999px;background:radial-gradient(circle,rgba(255,255,255,.28),transparent 70%);filter:blur(12px);z-index:-1}.water-monitoring-system .overview-card.is-visible,.water-monitoring-system .chart-section.is-visible,.water-monitoring-system .data-table-section.is-visible{animation:monitoringCardBreath 6s ease-in-out infinite}.water-monitoring-system .overview-card.is-visible:nth-child(2),.water-monitoring-system .overview-card.is-visible:nth-child(3),.water-monitoring-system .overview-card.is-visible:nth-child(4),.water-monitoring-system .overview-card.is-visible:nth-child(5){animation-delay:.5s}@keyframes monitoringCardBreath{0%,to{box-shadow:0 18px 34px #4e8cb31f}50%{box-shadow:0 22px 40px #4e8cb329}}@keyframes monitoringViewIn{0%{opacity:0;transform:translateY(18px) scale(.992);filter:blur(10px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes monitoringViewOut{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}to{opacity:0;transform:translateY(-8px) scale(1.006);filter:blur(6px)}}::view-transition-old(monitoring-shell){animation:monitoringViewOut .3s ease both}::view-transition-new(monitoring-shell){animation:monitoringViewIn .5s cubic-bezier(.22,1,.36,1) both}@supports (animation-timeline: view()){.water-monitoring-system [data-reveal]{transition:none;opacity:1;transform:none;filter:none;animation-name:monitoringViewIn;animation-duration:1ms;animation-fill-mode:both;animation-timeline:view();animation-range:entry 0% cover 28%}}@media (prefers-reduced-motion: reduce){.water-monitoring-system [data-reveal],.water-monitoring-system [data-reveal].is-visible,.water-monitoring-system .overview-card.is-visible,::view-transition-old(monitoring-shell),::view-transition-new(monitoring-shell){animation:none!important;transition:none!important;transform:none!important;filter:none!important;opacity:1!important}}.hydrology-data-encoder{position:relative}.hydrology-data-encoder .encoder-card.ant-card{border-radius:24px!important;overflow:hidden;border:1px solid rgba(255,255,255,.42)!important;box-shadow:0 22px 44px #4b8ab229!important}.hydrology-data-encoder .encoder-card .ant-card-head{position:relative;overflow:hidden}.hydrology-data-encoder .encoder-card .ant-card-head:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,rgba(255,255,255,.16),transparent 24%),radial-gradient(circle at 82% 24%,rgba(255,232,196,.2),transparent 18%);pointer-events:none}.hydrology-data-encoder .encoder-content{position:relative}.hydrology-data-encoder .encoder-content:before{content:"";position:absolute;top:14px;right:14px;bottom:14px;left:14px;border-radius:26px;pointer-events:none;background:radial-gradient(circle at 12% 10%,rgba(255,221,184,.1),transparent 18%),radial-gradient(circle at 88% 16%,rgba(129,204,233,.12),transparent 18%)}.hydrology-data-encoder .encoder-main-grid,.hydrology-data-encoder .encoder-query-panel{position:relative;z-index:1}.hydrology-data-encoder .encoder-column>div,.hydrology-data-encoder .encoder-message-display,.hydrology-data-encoder .encoder-query-panel{border:1px solid rgba(255,255,255,.44)!important;border-radius:20px!important;box-shadow:0 16px 30px #4b8ab21a!important;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.hydrology-data-encoder .encoder-column>div,.hydrology-data-encoder .encoder-message-display{background:linear-gradient(180deg,#ffffffc2,#f0f8fcbd)!important}.hydrology-data-encoder .encoder-query-panel{background:linear-gradient(180deg,#fffc,#ecf7fcc2)!important}.hydrology-data-encoder .encoder-message-display textarea,.hydrology-data-encoder .encoder-column .ant-input,.hydrology-data-encoder .encoder-column .ant-select-selector,.hydrology-data-encoder .encoder-column .ant-picker,.hydrology-data-encoder .encoder-column select,.hydrology-data-encoder .encoder-query-panel .ant-input,.hydrology-data-encoder .encoder-query-panel .ant-picker{border-radius:14px!important;border-color:#57a8d224!important;background:#ffffffe0!important;box-shadow:inset 0 1px #ffffff85}.hydrology-data-encoder .encoder-message-display textarea:focus,.hydrology-data-encoder .encoder-column .ant-input:focus,.hydrology-data-encoder .encoder-column .ant-input-focused,.hydrology-data-encoder .encoder-column .ant-select-focused .ant-select-selector,.hydrology-data-encoder .encoder-query-panel .ant-input:focus,.hydrology-data-encoder .encoder-query-panel .ant-picker-focused{box-shadow:0 0 0 4px #57a8d21f!important;border-color:#2d95bf73!important}.hydrology-data-encoder .encoder-action-grid .ant-btn,.hydrology-data-encoder .encoder-query-actions .ant-btn,.hydrology-data-encoder .encoder-message-display .ant-btn{min-height:42px;border-radius:14px!important;transition:transform .24s ease,box-shadow .24s ease,filter .24s ease!important}.hydrology-data-encoder .encoder-action-grid .ant-btn:hover,.hydrology-data-encoder .encoder-query-actions .ant-btn:hover,.hydrology-data-encoder .encoder-message-display .ant-btn:hover{transform:translateY(-1px);filter:saturate(1.04)}.hydrology-data-encoder .encoder-query-results{border-radius:18px!important;background:#ffffffb8!important;animation:encoderQueryFadeIn .42s cubic-bezier(.22,1,.36,1)}.hydrology-data-encoder .encoder-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.hydrology-data-encoder .encoder-action-grid .ant-btn{justify-content:flex-start;padding-inline:14px!important;font-size:13px!important;font-weight:600!important;letter-spacing:.01em;box-shadow:0 12px 22px #4b8ab21a}.hydrology-data-encoder .encoder-message-display .ant-btn,.hydrology-data-encoder .encoder-query-actions .ant-btn{min-width:112px;box-shadow:0 10px 18px #4b8ab214}.hydrology-data-encoder .encoder-query-toolbar{grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) auto!important;gap:14px!important}.hydrology-data-encoder .encoder-main-grid{grid-template-columns:minmax(320px,1.04fr) minmax(320px,1fr)!important;gap:14px!important}.hydrology-data-encoder .encoder-column{gap:12px!important}.hydrology-data-encoder .encoder-column>div,.hydrology-data-encoder .encoder-message-display,.hydrology-data-encoder .encoder-query-panel{padding:10px!important}.hydrology-data-encoder .encoder-message-display textarea{min-height:150px}.hydrology-data-encoder .encoder-query-actions{gap:10px!important}.hydrology-data-encoder .encoder-column .ant-btn-primary,.hydrology-data-encoder .encoder-message-display .ant-btn-primary,.hydrology-data-encoder .encoder-query-actions .ant-btn-primary{background:linear-gradient(135deg,#2d95bf,#63b9dd)!important;border:none!important;box-shadow:0 14px 24px #2d95bf2e}.hydrology-data-encoder .encoder-action-grid .ant-btn:not(.ant-btn-primary),.hydrology-data-encoder .encoder-query-actions .ant-btn:not(.ant-btn-primary),.hydrology-data-encoder .encoder-message-display .ant-btn:not(.ant-btn-primary){border:1px solid rgba(87,168,210,.14)!important;background:linear-gradient(180deg,#ffffffe0,#edf7fcd6)!important;color:#486679!important}.hydrology-data-encoder .encoder-column>div button.ant-btn-sm{min-width:38px!important;height:34px!important;padding-inline:10px!important;border-radius:12px!important}.hydrology-data-encoder .encoder-query-grid .query-result-item{border-radius:16px!important;box-shadow:0 12px 22px #4b8ab214;transition:transform .24s ease,box-shadow .24s ease;animation:encoderResultRise .46s cubic-bezier(.22,1,.36,1);animation-delay:var(--encoder-stagger-delay, 0ms);animation-fill-mode:both}.hydrology-data-encoder .encoder-query-grid .query-result-item:hover{transform:translateY(-3px);box-shadow:0 18px 30px #4b8ab21f}.hydrology-data-encoder .encoder-flow-stack{display:flex;flex-direction:column;gap:10px}.hydrology-data-encoder .encoder-flow-row{display:grid;grid-template-columns:84px minmax(0,1fr);gap:10px;align-items:start;padding:10px;border-radius:16px;background:linear-gradient(180deg,#ffffffa8,#eff8fcb3);border:1px solid rgba(87,168,210,.12)}.hydrology-data-encoder .encoder-flow-row-title{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 10px;border-radius:12px;font-size:13px;font-weight:700;letter-spacing:.02em;color:#2d95bf;background:linear-gradient(135deg,#67b4dc2e,#4e9fc947);box-shadow:inset 0 1px #ffffff8f}.hydrology-data-encoder .encoder-flow-row-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hydrology-data-encoder .encoder-flow-field{min-width:0}.hydrology-data-encoder .encoder-flow-label{display:block;margin-bottom:4px;font-size:11px;font-weight:600;color:#5f7180}.hydrology-data-encoder .encoder-query-loading{display:flex;align-items:center;gap:14px;margin-bottom:12px;padding:14px 16px;border-radius:16px;border:1px solid rgba(87,168,210,.12);background:linear-gradient(135deg,#ffffffe0,#ebf6fbeb);box-shadow:0 14px 28px #4b8ab214;animation:encoderQueryFadeIn .38s ease-out}.hydrology-data-encoder .encoder-query-loading-orb{position:relative;width:18px;height:18px;border-radius:999px;background:linear-gradient(135deg,#67b4dc,#9dd8ef);box-shadow:0 0 #67b4dc47,0 10px 18px #4e9fc92e;animation:encoderSoftPulse 1.6s ease-in-out infinite}.hydrology-data-encoder .encoder-query-loading-orb:before,.hydrology-data-encoder .encoder-query-loading-orb:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:inherit;border:1px solid rgba(103,180,220,.22);animation:encoderRipple 1.9s ease-out infinite}.hydrology-data-encoder .encoder-query-loading-orb:after{top:-14px;right:-14px;bottom:-14px;left:-14px;animation-delay:.52s}.hydrology-data-encoder .encoder-query-loading-copy{display:flex;flex-direction:column;gap:3px}.hydrology-data-encoder .encoder-query-loading-copy strong{font-size:13px;color:#3f6277}.hydrology-data-encoder .encoder-query-loading-copy span{font-size:11px;color:#6f8796}@keyframes encoderSoftPulse{0%,to{transform:scale(.92);opacity:.94}50%{transform:scale(1.04);opacity:1}}@keyframes encoderRipple{0%{transform:scale(.88);opacity:0}30%{opacity:.5}to{transform:scale(1.2);opacity:0}}@keyframes encoderQueryFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes encoderResultRise{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.dark-mode .hydrology-data-encoder .encoder-card.ant-card{border-color:#7db1d024!important;box-shadow:0 22px 44px #0000003d!important}.dark-mode .hydrology-data-encoder .encoder-query-loading{border-color:#7db1d024;background:linear-gradient(135deg,#122735f0,#0c1c28e6)}.dark-mode .hydrology-data-encoder .encoder-query-loading-copy strong{color:#d6edf7}.dark-mode .hydrology-data-encoder .encoder-query-loading-copy span{color:#9ebaca}.dark-mode .hydrology-data-encoder .encoder-column>div,.dark-mode .hydrology-data-encoder .encoder-message-display,.dark-mode .hydrology-data-encoder .encoder-query-panel,.dark-mode .hydrology-data-encoder .encoder-query-results{border-color:#7db1d024!important;background:#0d1c28cc!important}.dark-mode .hydrology-data-encoder .encoder-message-display textarea,.dark-mode .hydrology-data-encoder .encoder-column .ant-input,.dark-mode .hydrology-data-encoder .encoder-column .ant-select-selector,.dark-mode .hydrology-data-encoder .encoder-column .ant-picker,.dark-mode .hydrology-data-encoder .encoder-column select,.dark-mode .hydrology-data-encoder .encoder-query-panel .ant-input,.dark-mode .hydrology-data-encoder .encoder-query-panel .ant-picker{background:#112332e0!important;border-color:#7db1d01f!important;color:#d3e8f2!important}.dark-mode .hydrology-data-encoder .encoder-query-grid .query-result-item{background:#102230e0!important}.dark-mode .hydrology-data-encoder .encoder-flow-row{background:linear-gradient(180deg,#122535e0,#0d1c28db);border-color:#7db1d024}.dark-mode .hydrology-data-encoder .encoder-flow-row-title{color:#b9e6f6;background:linear-gradient(135deg,#356e8e57,#2a577280)}.dark-mode .hydrology-data-encoder .encoder-flow-label{color:#a9c5d5}@media (max-width: 1360px){.hydrology-data-encoder .encoder-main-grid{grid-template-columns:1fr!important}}@media (max-width: 768px){.hydrology-data-encoder .encoder-card.ant-card{border-radius:20px!important}.hydrology-data-encoder .encoder-column>div,.hydrology-data-encoder .encoder-message-display,.hydrology-data-encoder .encoder-query-panel{border-radius:18px!important}.hydrology-data-encoder .encoder-action-grid{grid-template-columns:1fr!important;gap:10px!important}.hydrology-data-encoder .encoder-action-grid .ant-btn,.hydrology-data-encoder .encoder-query-actions .ant-btn,.hydrology-data-encoder .encoder-message-display .ant-btn{min-width:0;width:100%;justify-content:center}.hydrology-data-encoder .encoder-query-toolbar,.hydrology-data-encoder .encoder-main-grid{grid-template-columns:1fr!important}.hydrology-data-encoder .encoder-flow-row,.hydrology-data-encoder .encoder-flow-row-fields{grid-template-columns:1fr}.hydrology-data-encoder .encoder-flow-row-title{justify-content:flex-start}}.password-protection-layout{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:24px;font-size:var(--app-font-base);line-height:var(--app-line-height);background:radial-gradient(circle at 16% 10%,rgba(255,215,163,.2),transparent 22%),radial-gradient(circle at top left,rgba(163,221,244,.42),transparent 30%),radial-gradient(circle at bottom right,rgba(92,174,214,.26),transparent 36%),linear-gradient(180deg,#eff9fd,#dff1f9)}.password-protection-card{width:min(520px,100%);border-radius:28px;overflow:hidden;border:1px solid rgba(118,181,214,.2);box-shadow:0 28px 64px #3a759a2e;background:#ffffffe0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.password-protection-card .ant-card-body{padding:clamp(24px,3vw,32px)}.password-hero{text-align:center;margin-bottom:22px}.password-icon-container{width:68px;height:68px;margin:0 auto 14px;display:grid;place-items:center;border-radius:22px;font-size:28px;color:#fff;background:linear-gradient(135deg,#57a8d2,#2d95bf);box-shadow:0 14px 30px #2d95bf42}.password-security-tag{margin-bottom:14px;padding:4px 10px;border-radius:999px;border:1px solid rgba(118,181,214,.24);color:#397ba0;background:#e5f6fceb}.password-title{margin:0!important;color:#19384d!important;font-size:calc(var(--app-font-xl) + 2px)!important;font-weight:700!important}.password-subtitle{margin:10px auto 0;max-width:360px;color:#5f7e91;font-size:var(--app-font-base);line-height:calc(var(--app-line-height) + .1)}.password-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:14px}.password-status-card{padding:14px 16px;border-radius:18px;background:linear-gradient(180deg,#f5fbfff5,#e7f5fbeb);border:1px solid rgba(118,181,214,.18);box-shadow:inset 0 1px #ffffff80}.password-status-card span{display:block;margin-bottom:6px;color:#6a879a;font-size:var(--app-font-sm)}.password-status-card strong{color:#234964;font-size:var(--app-font-lg);line-height:1.2;overflow-wrap:anywhere}.password-last-auth{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding:12px 14px;border-radius:14px;background:#ecf8fdf2;color:#5b7d92;font-size:var(--app-font-sm);border:1px solid rgba(118,181,214,.16)}.password-input{height:var(--app-control-height-lg);border-radius:14px;font-size:var(--app-font-lg)}.password-options{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px}.password-options .ant-typography{display:block;flex:1 1 200px;font-size:var(--app-font-sm);line-height:var(--app-line-height);text-align:left}.password-submit-btn{height:var(--app-control-height-lg);border-radius:14px;font-size:var(--app-font-base);font-weight:600;background:linear-gradient(135deg,#2d95bf,#57a8d2);border:none;box-shadow:0 14px 28px #2d95bf3d}.password-submit-btn:hover,.password-submit-btn:focus{background:linear-gradient(135deg,#3da0c9,#67b4dc)!important}.password-submit-btn[disabled]{box-shadow:none}.password-security-panel{margin-top:18px;padding:16px;border-radius:18px;background:linear-gradient(180deg,#f7fcfff5,#eef8fdeb);border:1px solid rgba(118,181,214,.16)}.security-panel-title{margin-bottom:10px;color:#2f6789;font-size:var(--app-font-base);font-weight:700}.security-panel-item{display:flex;align-items:center;gap:10px;color:#618196;font-size:var(--app-font-sm);line-height:var(--app-line-height)}.security-panel-item+.security-panel-item{margin-top:8px}.security-panel-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#68b7df;box-shadow:0 0 0 4px #68b7df26}.dark-mode.password-protection-layout,.dark-mode .password-protection-layout{background:radial-gradient(circle at top left,rgba(58,112,145,.32),transparent 32%),radial-gradient(circle at bottom right,rgba(37,73,96,.28),transparent 38%),linear-gradient(180deg,#09131c,#0d1c28)}.dark-mode .password-protection-card{background:#0d1b27f5;border-color:#7ab2d029;box-shadow:0 30px 70px #00000057}.dark-mode .password-security-tag,.dark-mode .password-last-auth,.dark-mode .password-status-card,.dark-mode .password-security-panel{background:#122534f5;border-color:#7ab2d029}.dark-mode .password-title{color:#e5f4fb!important}.dark-mode .password-subtitle,.dark-mode .password-last-auth,.dark-mode .security-panel-item,.dark-mode .password-status-card span{color:#9abfd3}.dark-mode .password-status-card strong,.dark-mode .security-panel-title{color:#d9edf8}.dark-mode .password-input{background:#09141ef5;color:#e5f4fb;border-color:#7ab2d029}.dark-mode .password-input input{color:#e5f4fb;background:transparent}.dark-mode .password-input input::placeholder{color:#e5f4fb66}.dark-mode .password-options .ant-typography,.dark-mode .password-options .ant-checkbox-wrapper,.dark-mode .password-options .ant-checkbox+span{color:#9abfd3!important}@media (max-width: 768px){.password-protection-layout{align-items:stretch;padding:14px}.password-protection-card{width:100%;max-width:none;border-radius:22px;box-shadow:0 18px 42px #3a759a29}.password-protection-card .ant-card-body{padding:22px}.password-hero{margin-bottom:18px}.password-icon-container{width:60px;height:60px;border-radius:18px;font-size:24px;margin-bottom:12px}.password-title{font-size:21px!important}.password-subtitle{font-size:13px;line-height:1.65}.password-status-grid{grid-template-columns:1fr 1fr;gap:10px}.password-status-card{padding:12px 14px;border-radius:16px}.password-status-card strong{font-size:16px}.password-last-auth{align-items:flex-start;font-size:12px;line-height:1.55}.password-input{height:50px}.password-security-panel{margin-top:16px;padding:14px;border-radius:16px}}@media (max-width: 480px){.password-protection-layout{padding:10px}.password-protection-card .ant-card-body{padding:18px}.password-protection-card{border-radius:18px}.password-status-grid{grid-template-columns:1fr;gap:8px}.password-options{flex-direction:column;gap:8px}.password-options .ant-typography{text-align:left}.password-title{font-size:19px!important}.password-subtitle{font-size:12px}.password-last-auth{padding:10px 12px}.password-input,.password-submit-btn{height:48px;border-radius:12px}.security-panel-item{align-items:flex-start;font-size:12px;line-height:1.55}}:root{--bg: #edf8fe;--bg-elevated: rgba(246, 251, 255, .84);--bg-panel: rgba(255, 255, 255, .94);--line: rgba(55, 104, 136, .12);--line-strong: rgba(55, 104, 136, .22);--text: #153246;--text-soft: #58768a;--brand: #57a8d2;--brand-strong: #2d95bf;--accent: #ffd7a3;--accent-strong: #f0b86b;--success: #5eb4cc;--warning: #ffcb83;--danger: #ff9b9b;--shadow-lg: 0 28px 80px rgba(54, 118, 156, .18);--shadow-md: 0 18px 40px rgba(54, 118, 156, .12);--shadow-soft: 0 12px 24px rgba(54, 118, 156, .08);--radius-xl: 28px;--radius-lg: 22px;--radius-md: 16px;--app-font-base: 15px;--app-font-sm: 13px;--app-font-xs: 12px;--app-font-lg: 18px;--app-font-xl: 25px;--app-line-height: 1.5;--app-control-height: 38px;--app-control-height-lg: 46px;--app-control-height-sm: 32px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;overflow-x:hidden;font-family:Avenir Next,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:var(--app-font-base);line-height:var(--app-line-height);color:var(--text);background:radial-gradient(circle at 12% 8%,rgba(255,216,160,.18),transparent 22%),radial-gradient(circle at top left,rgba(143,212,238,.24),transparent 26%),radial-gradient(circle at 88% 14%,rgba(90,174,214,.18),transparent 28%),linear-gradient(180deg,#f7fbff,#eaf6fc 46%,#e1f1f9)}*{scrollbar-width:thin;scrollbar-color:rgba(72,145,185,.5) rgba(255,255,255,.18)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:#ffffff3d;border-radius:999px}*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#57a8d2d9,#2d95bfb8);border:2px solid rgba(255,255,255,.3);border-radius:999px}body.font-size-small{--app-font-base: 13px;--app-font-sm: 12px;--app-font-xs: 11px;--app-font-lg: 16px;--app-font-xl: 22px;--app-line-height: 1.45;--app-control-height: 34px;--app-control-height-lg: 40px;--app-control-height-sm: 28px}body.font-size-medium{--app-font-base: 15px;--app-font-sm: 13px;--app-font-xs: 12px;--app-font-lg: 18px;--app-font-xl: 25px;--app-line-height: 1.5;--app-control-height: 38px;--app-control-height-lg: 46px;--app-control-height-sm: 32px}body.font-size-large{--app-font-base: 17px;--app-font-sm: 15px;--app-font-xs: 13px;--app-font-lg: 21px;--app-font-xl: 29px;--app-line-height: 1.55;--app-control-height: 42px;--app-control-height-lg: 50px;--app-control-height-sm: 36px}body.font-size-xlarge{--app-font-base: 20px;--app-font-sm: 17px;--app-font-xs: 15px;--app-font-lg: 24px;--app-font-xl: 34px;--app-line-height: 1.6;--app-control-height: 48px;--app-control-height-lg: 56px;--app-control-height-sm: 40px}.layout,.main-content,.app-header,.ant-layout,.ant-card,.ant-modal-content,.ant-drawer-content,.ant-dropdown-menu,.ant-popover-inner,.ant-menu,.ant-table-wrapper,.ant-tabs,.ant-form,.ant-descriptions,.ant-statistic,.ant-list,.ant-empty,.ant-result{font-size:var(--app-font-base)}.ant-btn,.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-select-selector,.ant-picker,.ant-radio-wrapper,.ant-checkbox-wrapper,.ant-menu-title-content,.ant-dropdown-menu-title-content,.ant-form-item-label>label,.ant-descriptions-item-label,.ant-descriptions-item-content,.ant-statistic-content,.ant-alert-message,.ant-alert-description,.ant-empty-description,.ant-modal-title,.ant-card-head-title,.ant-tag,.ant-badge-status-text,.ant-typography,.ant-table,.ant-table-thead>tr>th,.ant-table-tbody>tr>td{font-size:var(--app-font-base);line-height:var(--app-line-height)}.ant-table-thead>tr>th,.ant-table-tbody>tr>td,.ant-form-item-extra,.ant-form-item-explain,.ant-dropdown-menu-item,.ant-select-item,.ant-menu-item,.ant-menu-submenu-title{font-size:var(--app-font-sm)}.ant-btn,.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-select-selector,.ant-picker{min-height:var(--app-control-height)}.layout{position:relative;min-height:100vh;background:transparent!important;isolation:isolate}.layout-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.backdrop-orb,.backdrop-mesh{position:absolute}.backdrop-orb{border-radius:999px;filter:blur(12px);opacity:.62;animation:backdropFloat 18s ease-in-out infinite}.backdrop-orb-a{top:86px;left:-72px;width:280px;height:280px;background:radial-gradient(circle,#ffd69a6b,#ffd69a0a 72%)}.backdrop-orb-b{top:24%;right:-68px;width:360px;height:360px;background:radial-gradient(circle,#57a8d23d,#57a8d205 72%);animation-delay:-6s}.backdrop-orb-c{bottom:8%;left:22%;width:240px;height:240px;background:radial-gradient(circle,#98d7ef38,#98d7ef05 70%);animation-delay:-11s}.backdrop-mesh{top:0;right:0;bottom:0;left:0;background:linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px);background-size:160px 160px;-webkit-mask-image:radial-gradient(circle at center,rgba(0,0,0,.28),transparent 78%);mask-image:radial-gradient(circle at center,rgba(0,0,0,.28),transparent 78%);opacity:.22}.app-header{position:relative;z-index:1;height:auto!important;padding:6px 12px 0!important;line-height:normal!important;background:transparent!important}.header-shell{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.42);border-radius:18px;background:linear-gradient(135deg,#2b668ef5,#458fbdeb 42%,#93d5ede6);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.header-shell:before{content:"";position:absolute;inset:auto -10% -44% auto;width:360px;height:360px;border-radius:50%;background:#ffffff1a;filter:blur(8px)}.header-shell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,rgba(255,255,255,.14),transparent 26%),radial-gradient(circle at 78% 26%,rgba(255,243,214,.18),transparent 18%);pointer-events:none}.header-topbar,.hero-strip,.nav-strip{position:relative;z-index:1}.header-topbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px 0}.header-brand{display:flex;align-items:center;gap:8px;min-width:0}.cache-reset-button{height:calc(var(--app-control-height) - 8px)!important;padding:0 10px!important;border-radius:999px!important;border:1px solid rgba(255,196,196,.45)!important;background:#ff787824!important;color:#fff7f7!important;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:inset 0 1px #ffffff14;white-space:nowrap;transition:transform .24s ease,background .24s ease,box-shadow .24s ease}.cache-reset-button:hover,.cache-reset-button:focus{transform:translateY(-1px);background:#ff787838!important;color:#fff!important;box-shadow:0 12px 24px #6213132e}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;color:#fff;font-size:15px;background:linear-gradient(145deg,#ffffff38,#ffffff0f),radial-gradient(circle at 30% 30%,rgba(255,255,255,.18),transparent 45%);border:1px solid rgba(255,255,255,.3);box-shadow:inset 0 1px #ffffff29,0 10px 24px #10385133}.brand-copy{min-width:0}.brand-eyebrow,.hero-eyebrow,.panel-kicker{display:inline-block;margin:0 0 1px;letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:700}.brand-eyebrow,.hero-eyebrow{color:#f7f4eeb8}.header-title{margin:0!important;color:#fff!important;font-size:calc(var(--app-font-lg) + 1px)!important;font-weight:800!important;letter-spacing:.01em;text-shadow:0 6px 18px rgba(7,40,64,.2)}.header-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}.time-display,.security-status,.theme-switch,.header-actions .ant-btn{border-radius:999px;border:1px solid rgba(255,255,255,.18);background:#ffffff1a!important;color:#fff!important;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:inset 0 1px #ffffff14}.time-display,.security-status,.theme-switch{display:inline-flex;align-items:center;gap:5px;min-height:calc(var(--app-control-height) - 8px);padding:0 9px;font-size:13px;line-height:1.2;white-space:nowrap}.header-actions .ant-btn{height:calc(var(--app-control-height) - 8px)!important;padding:0 9px!important;font-size:13px!important;white-space:nowrap;transition:transform .24s ease,background .24s ease,box-shadow .24s ease}.header-actions .ant-btn:hover,.theme-switch:hover,.time-display:hover,.security-status:hover{transform:translateY(-1px);background:#ffffff26!important;box-shadow:0 12px 24px #13466224}.theme-switch .anticon,.time-display .anticon{color:#dff4ff}.theme-switch .ant-switch{background:#ffffff52!important}.theme-switch .ant-switch-checked{background:var(--accent)!important}.hero-strip{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(460px,.9fr);gap:10px;padding:6px 12px 8px;align-items:center}.hero-copy{position:relative;padding-right:2px;min-width:0;order:2;text-align:right;justify-self:end}.hero-copy h1{margin:0;color:#fff;font-size:clamp(calc(var(--app-font-lg) + 1px),2.2vw,calc(var(--app-font-xl) + 2px));line-height:1.02;letter-spacing:-.02em;text-wrap:balance;text-shadow:0 10px 28px rgba(14,46,63,.18)}.hero-description{max-width:100%;font-size:13px;line-height:1.35;color:#fff9f1d1;text-wrap:pretty;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:3px 0 0 auto}.hero-stats{display:grid;grid-template-columns:repeat(4,minmax(148px,1fr));gap:8px;align-self:stretch;padding:6px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#ffffff12;box-shadow:inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);order:1}.hero-stat{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:8px 11px;min-width:0;min-height:62px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,#ffffff14,#ffffff0a);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.hero-stat:after{content:"";position:absolute;inset:8px auto 8px 0;width:1px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.34),transparent)}.hero-stat:first-child:after{display:none}.hero-stat:hover{transform:translateY(-1px);box-shadow:0 12px 22px #0b375024;border-color:#ffffff3d}.hero-stat span,.report-stat-card span{display:block;margin-bottom:0;font-size:12px;font-weight:700;letter-spacing:.04em;color:#fff9f1b8;white-space:nowrap}.hero-stat strong,.report-stat-card strong{display:block;width:100%;font-size:20px;font-weight:700;line-height:1.15;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-stat em{display:block;width:100%;margin-top:0;font-style:normal;font-size:12px;color:#fff9f1c2;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-stat-card em{display:block;margin-top:1px;font-style:normal;font-size:11px;color:#fff9f1c7;line-height:1.15}.hero-stat-warning strong{color:#ffe4a3}.hero-stat-danger strong{color:#ffc3c3}.flip-ticker{display:inline-flex;align-items:center;gap:.02em;min-height:1.14em;font-variant-numeric:tabular-nums;white-space:nowrap;max-width:100%}.flip-glyph{position:relative;display:inline-grid;place-items:center;min-width:.58em;height:1.14em;padding:0 .04em;transform-style:preserve-3d}.flip-glyph.is-digit{min-width:.66em;border-radius:0;background:transparent;box-shadow:none}.flip-face{display:grid;place-items:center;min-width:100%;height:100%;backface-visibility:hidden}.flip-face-prev,.flip-face-next{position:absolute;top:0;right:0;bottom:0;left:0}.flip-glyph.is-changing{overflow:hidden}.flip-glyph.is-changing:after{content:"";position:absolute;inset:48% 6% auto;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);opacity:.72}.flip-glyph.is-changing .flip-face-prev{animation:heroFlipOut .56s cubic-bezier(.22,1,.36,1) forwards;transform-origin:center bottom}.flip-glyph.is-changing .flip-face-next{animation:heroFlipIn .56s cubic-bezier(.22,1,.36,1) forwards;transform-origin:center top}@keyframes heroFlipOut{0%{opacity:1;transform:rotateX(0) translateY(0);filter:blur(0)}to{opacity:0;transform:rotateX(-88deg) translateY(-10%);filter:blur(2px)}}@keyframes heroFlipIn{0%{opacity:0;transform:rotateX(88deg) translateY(10%);filter:blur(2px)}to{opacity:1;transform:rotateX(0) translateY(0);filter:blur(0)}}.nav-strip{padding:0 10px 6px}.nav-strip .ant-menu{display:flex;gap:8px;min-height:calc(var(--app-control-height) - 2px);padding:3px;border-radius:999px;background:#ffffff1a!important;border-bottom:none!important;overflow-x:auto;box-shadow:inset 0 1px #ffffff1a}.nav-strip .ant-menu-item{display:inline-flex;align-items:center;justify-content:center;height:calc(var(--app-control-height) - 10px)!important;margin:0!important;padding:0 10px!important;color:#fff8f2d1!important;border-radius:999px!important;font-weight:600!important;font-size:14px!important;transition:background .24s ease,color .24s ease,transform .24s ease!important}.nav-strip .ant-menu-item:after{display:none!important}.nav-strip .ant-menu-item:hover{transform:translateY(-1px);background:#ffffff14!important}.nav-strip .ant-menu-item-selected{color:#143630!important;background:linear-gradient(135deg,#ffe4c2,#f2c588)!important;box-shadow:0 12px 22px #f0b86b40}.main-content{position:relative;z-index:1;padding:8px 14px 0!important}.content-loading{display:flex;align-items:center;justify-content:center;min-height:220px;padding:24px;color:var(--text-soft);font-size:var(--app-font-base)}.content-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:20px;align-items:start}.content-shell-themed{grid-template-columns:minmax(0,.8fr) minmax(700px,1.2fr);gap:18px;position:relative;padding:18px;border-radius:30px;overflow:hidden;border:1px solid rgba(255,255,255,.38);background:linear-gradient(135deg,#e4f5fce6,#cdebf8f0 48%,#b7e0f3eb);background-attachment:fixed;box-shadow:0 24px 60px #5f9ec12e;animation:appPanelLift .8s ease-out;will-change:transform,opacity;transform:translateZ(0);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.content-shell-themed:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 12% 18%,rgba(255,255,255,.32),transparent 28%),radial-gradient(circle at 84% 14%,rgba(255,255,255,.18),transparent 24%),radial-gradient(circle at 76% 80%,rgba(111,189,227,.16),transparent 22%);pointer-events:none}.content-shell-themed:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="white" opacity="0.05"/><circle cx="75" cy="75" r="1" fill="white" opacity="0.05"/><circle cx="50" cy="10" r="0.5" fill="white" opacity="0.03"/><circle cx="10" cy="90" r="0.5" fill="white" opacity="0.03"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');pointer-events:none;opacity:.55}.content-shell-themed>*{position:relative;z-index:1}.content-panel{padding:22px;border:1px solid rgba(255,255,255,.42);border-radius:var(--radius-xl);background:var(--bg-elevated);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:var(--shadow-md);position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);will-change:transform,box-shadow;transform:translateZ(0)}.content-panel.encoder-panel{overflow:visible}.content-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#79bfe3,#ffe0b1,#a8dff4);opacity:.92}.content-panel:after{content:"";position:absolute;inset:auto -10% -30% auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(168,223,244,.18),transparent 68%);opacity:.75;transition:transform .3s ease,opacity .3s ease}.content-panel:hover{transform:translateY(-5px);box-shadow:0 20px 56px #448eb638}.content-panel:hover:after{transform:translate(-8px,-8px) scale(1.06);opacity:.95}@keyframes appPanelLift{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes appFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes appGlow{0%,to{box-shadow:0 0 20px #667eea2e}50%{box-shadow:0 0 40px #667eea47}}@keyframes backdropFloat{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(0,-18px,0) scale(1.05)}}@keyframes reportOrbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes reportPulse{0%,to{transform:scale(.92);box-shadow:0 0 0 8px #57a8d214}50%{transform:scale(1);box-shadow:0 0 0 12px #57a8d21f}}@keyframes reportShimmer{0%{background-position:200% 0}to{background-position:-40% 0}}.content-panel-full{grid-column:1 / -1}.content-panel-themed{background:#fffffff2;border:1px solid rgba(255,255,255,.24);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.document-page-shell{background:radial-gradient(circle at 14% 18%,rgba(255,255,255,.34),transparent 26%),radial-gradient(circle at 82% 16%,rgba(173,223,243,.28),transparent 22%),linear-gradient(135deg,#d9f0fb,#c6e7f7 46%,#b1daf1)}.document-page-panel{background:linear-gradient(180deg,#f4fbffeb,#e8f6fce6);border:1px solid rgba(255,255,255,.42);box-shadow:0 20px 48px #579cc229;color:#17364a;opacity:1!important;animation:none!important;transform:none!important;visibility:visible!important}.document-page-panel,.document-page-panel .ant-typography,.document-page-panel .ant-card,.document-page-panel .ant-card-head-title,.document-page-panel .ant-form-item-label>label,.document-page-panel .ant-table,.document-page-panel .ant-table-thead>tr>th,.document-page-panel .ant-table-tbody>tr>td,.document-page-panel .ant-upload,.document-page-panel .ant-upload-list,.document-page-panel .ant-tag,.document-page-panel .ant-modal-title,.document-page-panel .ant-list-item,.document-page-panel .ant-radio-wrapper,.document-page-panel .ant-select-selection-item,.document-page-panel .ant-select-selection-placeholder,.document-page-panel .ant-input,.document-page-panel .ant-input::placeholder,.document-page-panel .ant-progress-text{color:#17364a!important}.document-page-panel .ant-typography-secondary,.document-page-panel .ant-typography.ant-typography-secondary,.document-page-panel .ant-form-item-explain,.document-page-panel .ant-upload-hint,.document-page-panel .ant-empty-description{color:#5f7e91!important}.content-panel-animate{opacity:0;animation:appPanelLift .72s ease-out forwards}.panel-stage-1{animation-delay:.04s}.panel-stage-2{animation-delay:.14s}.panel-header{margin-bottom:16px}.panel-kicker{color:var(--brand)}.panel-header h3{margin:0;font-size:24px;color:var(--text)}.report-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}.report-reveal-group{animation:reportResultGroupIn .48s cubic-bezier(.22,1,.36,1)}.report-stat-card{position:relative;padding:18px;border-radius:18px;overflow:hidden;background:linear-gradient(160deg,#1f6990f5,#3691bbe0),linear-gradient(180deg,rgba(255,255,255,.08),transparent);border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px #ffffff14,0 14px 30px #1c5f8129;animation:appPanelLift .8s ease-out;will-change:transform;transform:translateZ(0)}.report-reveal-card{animation:reportResultCardIn .52s cubic-bezier(.22,1,.36,1)}.report-stat-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top right,rgba(255,227,188,.18),transparent 28%);pointer-events:none}.floating-card{animation:appFloat 6s ease-in-out infinite}.floating-card:nth-child(2){animation-delay:2s}.floating-card:nth-child(3){animation-delay:4s}.glow-effect{animation:appGlow 2.4s ease-in-out infinite}.stat-stage-1{animation-delay:.08s}.stat-stage-2{animation-delay:.16s}.stat-stage-3{animation-delay:.24s}.report-result-card{animation:reportResultPanelIn .56s cubic-bezier(.22,1,.36,1);transform-origin:center top}.report-reveal-panel .ant-table-wrapper,.report-reveal-panel .ant-card-body{animation:reportResultTableIn .52s cubic-bezier(.22,1,.36,1)}.report-reveal-panel .ant-table-tbody>tr{opacity:0;animation:reportRowReveal .42s cubic-bezier(.22,1,.36,1) forwards}.report-reveal-panel .ant-table-tbody>tr:nth-child(1){animation-delay:.05s}.report-reveal-panel .ant-table-tbody>tr:nth-child(2){animation-delay:.09s}.report-reveal-panel .ant-table-tbody>tr:nth-child(3){animation-delay:.13s}.report-reveal-panel .ant-table-tbody>tr:nth-child(4){animation-delay:.17s}.report-reveal-panel .ant-table-tbody>tr:nth-child(5){animation-delay:.21s}.report-reveal-panel .ant-table-tbody>tr:nth-child(6){animation-delay:.25s}.report-reveal-panel .ant-table-tbody>tr:nth-child(7){animation-delay:.29s}.report-reveal-panel .ant-table-tbody>tr:nth-child(8){animation-delay:.33s}.report-reveal-panel .ant-table-tbody>tr:nth-child(9){animation-delay:.37s}.report-reveal-panel .ant-table-tbody>tr:nth-child(10){animation-delay:.41s}.report-reveal-panel .ant-table-tbody>tr:nth-child(11){animation-delay:.45s}.report-reveal-panel .ant-table-tbody>tr:nth-child(12){animation-delay:.49s}.report-reveal-panel .ant-table-tbody>tr:nth-child(13){animation-delay:.53s}.report-reveal-panel .ant-table-tbody>tr:nth-child(14){animation-delay:.57s}.report-reveal-panel .ant-table-tbody>tr:nth-child(15){animation-delay:.61s}.report-reveal-panel .ant-table-tbody>tr:nth-child(16){animation-delay:.65s}.report-reveal-panel .ant-table-tbody>tr:nth-child(17){animation-delay:.69s}.report-reveal-panel .ant-table-tbody>tr:nth-child(18){animation-delay:.73s}@keyframes reportResultGroupIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes reportResultCardIn{0%{opacity:0;transform:translateY(14px) scale(.985);filter:blur(6px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes reportResultPanelIn{0%{opacity:0;transform:translateY(12px) scale(.992);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes reportResultTableIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes reportRowReveal{0%{opacity:0;transform:translateY(8px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@media (prefers-reduced-motion: reduce){.layout-backdrop,.backdrop-orb,.content-shell-themed,.content-panel,.content-panel-animate,.report-stat-card,.floating-card,.glow-effect,.report-input-overlay:after,.report-loader-core,.report-loader-ring,.hero-stat,.nav-strip .ant-menu-item,.header-actions .ant-btn{animation:none!important;transition:none!important;transform:none!important}}.report-card-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.compact-water-input{display:flex!important;flex-wrap:wrap;gap:12px!important;padding:18px!important;border-radius:18px!important;background:linear-gradient(180deg,#f3f8f6eb,#fffffff5)!important;border:1px solid var(--line)!important}.compact-water-input .ant-input{flex:1 1 260px;min-width:220px}.compact-water-input .ant-btn{flex:0 0 auto;position:relative;overflow:hidden;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s cubic-bezier(.22,1,.36,1),filter .22s ease,background-position .28s ease!important;background-size:140% 140%!important;background-position:50% 50%!important}.compact-water-input .ant-btn:before,.content-panel .ant-btn:before,.encoder-query-actions .ant-btn:before{content:"";position:absolute;left:-12%;right:-12%;bottom:-76%;height:140%;border-radius:50%;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.34),rgba(255,255,255,.08) 38%,transparent 70%),linear-gradient(180deg,rgba(255,255,255,.1),transparent 78%);opacity:0;transform:translateY(20%) scale(.78);pointer-events:none}.compact-water-input .ant-btn:after,.content-panel .ant-btn:after,.encoder-query-actions .ant-btn:after{content:"";position:absolute;top:20%;right:34%;bottom:20%;left:34%;border-radius:999px;background:radial-gradient(circle,rgba(255,255,255,.28),transparent 72%);opacity:0;transform:scale(.68);pointer-events:none}.compact-water-input .ant-btn:hover,.content-panel .ant-btn:hover,.encoder-query-actions .ant-btn:hover{background-position:42% 38%!important;box-shadow:0 16px 30px #2d95bf33}.compact-water-input .ant-btn:hover:before,.content-panel .ant-btn:hover:before,.encoder-query-actions .ant-btn:hover:before{opacity:.72;transform:translateY(0) scale(1)}.compact-water-input .ant-btn:active,.content-panel .ant-btn:active,.encoder-query-actions .ant-btn:active{transform:translateY(1px) scale(.985);filter:saturate(.97);transition-duration:.08s!important}.compact-water-input .ant-btn:active:after,.content-panel .ant-btn:active:after,.encoder-query-actions .ant-btn:active:after{animation:appButtonLiquidTap .34s ease-out}.compact-water-input .ant-btn:active:before,.content-panel .ant-btn:active:before,.encoder-query-actions .ant-btn:active:before{animation:appButtonBlobRise .42s cubic-bezier(.22,1,.36,1)}.report-input-card .ant-card-body{position:relative}.report-input-shell{position:relative;min-height:102px}.report-input-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:16px;border-radius:18px;background:linear-gradient(135deg,#f2f9fdc2,#e7f4fad1),radial-gradient(circle at 20% 20%,rgba(255,225,182,.22),transparent 34%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2;overflow:hidden}.report-input-overlay:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(120deg,transparent 10%,rgba(255,255,255,.44) 28%,transparent 46%);background-size:220% 100%;animation:reportShimmer 1.9s ease-in-out infinite;pointer-events:none}.report-input-overlay:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(135,203,232,.26),transparent 68%);top:50%;left:50%;transform:translate(-50%,-50%);animation:reportWaterBloom 2.8s ease-in-out infinite;pointer-events:none}.report-input-loader{position:relative;display:inline-flex;align-items:center;gap:16px;min-width:min(100%,480px);padding:14px 18px;border-radius:20px;border:1px solid rgba(87,168,210,.16);background:#ffffffb8;box-shadow:0 18px 36px #448eb61f;overflow:hidden}.report-loader-orbit{position:relative;width:54px;height:54px;flex:0 0 54px}.report-loader-core,.report-loader-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%}.report-loader-core{top:16px;right:16px;bottom:16px;left:16px;background:radial-gradient(circle,#57a8d2f2,#2d95bfc7);box-shadow:0 0 0 8px #57a8d214;animation:reportPulse 1.8s ease-in-out infinite}.report-loader-ring{border:1px solid rgba(87,168,210,.16)}.report-loader-ring-a{animation:reportRipple 1.8s ease-out infinite}.report-loader-ring-b{top:-8px;right:-8px;bottom:-8px;left:-8px;border-color:#f0b86b24;animation:reportRipple 1.8s ease-out infinite .55s}.report-loader-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.report-loader-copy strong{font-size:15px;color:var(--text);letter-spacing:.01em}.report-loader-copy span{font-size:var(--app-font-sm);color:var(--text-soft);line-height:1.5}@keyframes reportWaterBloom{0%,to{transform:translate(-50%,-50%) scale(.9);opacity:.52}50%{transform:translate(-50%,-50%) scale(1.12);opacity:.9}}@keyframes reportRipple{0%{transform:scale(.78);opacity:0}28%{opacity:.48}to{transform:scale(1.22);opacity:0}}.generate-button{background:linear-gradient(135deg,var(--brand),#178f83)!important;border:none!important}.copy-button{width:auto!important}@keyframes appButtonLiquidTap{0%{opacity:.34;transform:scale(.72)}to{opacity:0;transform:scale(1.42)}}@keyframes appButtonBlobRise{0%{opacity:.22;transform:translateY(18%) scale(.78)}50%{opacity:.72;transform:translateY(-4%) scale(1.04)}to{opacity:0;transform:translateY(-10%) scale(1.12)}}.content-panel .ant-card,.content-panel .ant-table-wrapper{border-radius:var(--radius-lg)}.content-panel .ant-card{margin-bottom:0;border:1px solid rgba(20,54,48,.08)!important;background:var(--bg-panel)!important;box-shadow:var(--shadow-soft)!important}.content-panel .ant-card-head{min-height:56px!important;padding:0 20px!important;border-bottom:1px solid rgba(20,54,48,.08)!important}.content-panel .ant-card-head-title{padding:16px 0!important;font-size:16px!important;font-weight:700!important;color:var(--text)!important}.content-panel .ant-card-body{padding:20px!important}.content-panel .ant-input,.content-panel .ant-select-selector,.content-panel .ant-picker{border-radius:14px!important;border-color:#1436301f!important;background:#ffffffd6!important;transition:border-color .24s ease,box-shadow .24s ease,transform .24s ease!important}.content-panel .ant-input:focus,.content-panel .ant-input-focused,.content-panel .ant-select-focused .ant-select-selector,.content-panel .ant-picker-focused{border-color:#0f766e99!important;box-shadow:0 0 0 4px #0f766e1f!important}.content-panel .ant-btn{height:42px!important;border-radius:14px!important;font-weight:600!important;transition:transform .24s ease,box-shadow .24s ease,filter .24s ease!important}.content-panel .ant-btn-primary{background:linear-gradient(135deg,var(--brand-strong),var(--brand))!important;border:none!important;box-shadow:0 12px 28px #2d95bf33}.content-panel .ant-btn:hover{transform:translateY(-1px);filter:saturate(1.04)}.content-panel .ant-table{border-radius:18px!important;border:1px solid rgba(20,54,48,.08)!important;overflow:hidden}.content-panel .ant-table-thead>tr>th{background:#eff4f1!important;color:var(--text)!important;font-weight:700!important}.content-panel .ant-table-tbody>tr>td{color:var(--text)!important}.hydrology-encoder-section{width:100%}.encoder-card .ant-card-body{padding:0!important}.encoder-content{padding:18px!important}.encoder-message-display,.encoder-query-panel,.encoder-column>div{width:100%}.encoder-message-display .ant-input,.encoder-message-display textarea,.encoder-column .ant-input,.encoder-column .ant-select-selector,.encoder-column .ant-picker,.encoder-column select,.encoder-query-panel .ant-input,.encoder-query-panel .ant-picker,.encoder-query-panel select{min-height:38px!important;font-size:13px!important}.encoder-message-display textarea,.encoded-output{max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap}.encoder-action-grid .ant-btn,.encoder-query-actions .ant-btn{min-width:120px}.content-panel-full .water-monitoring-system{min-height:auto;border-radius:24px;border:1px solid rgba(255,255,255,.34);box-shadow:inset 0 1px #ffffff38}.encoder-query-results{overflow:auto}.encoder-query-grid .query-result-item{min-height:96px}.ant-layout-footer{padding:18px 24px 28px!important;position:relative;z-index:1;color:#16312bb8!important;background:transparent!important;text-align:center;letter-spacing:.04em}.app-error-state{display:grid;place-items:center;min-height:100vh;padding:24px;background:linear-gradient(135deg,#143630,#2a5a51)}.app-error-card{width:min(480px,100%);padding:36px;border-radius:28px;text-align:center;color:#fff;background:#ffffff14;border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-error-card h1{margin:0 0 12px}.app-error-card p{margin:0 0 24px;color:#ffffffc7}.app-error-card button{height:44px;padding:0 20px;border:none;border-radius:999px;color:#143630;font-weight:700;background:linear-gradient(135deg,#f6e0c7,#f3c793);cursor:pointer}.dark-mode body,[data-theme=dark] body{background:radial-gradient(circle at 18% 10%,rgba(242,186,111,.16),transparent 20%),radial-gradient(circle at top left,rgba(201,123,50,.16),transparent 24%),radial-gradient(circle at top right,rgba(18,88,81,.24),transparent 32%),linear-gradient(180deg,#132321,#0d1716)}.dark-mode .content-panel{background:#0f1716d1;border-color:#ffffff14}.dark-mode .header-shell{border-color:#ffffff1a;background:linear-gradient(135deg,#06080afc,#0a0c0ff7 46%,#12151af2);box-shadow:0 28px 60px #0000005c}.dark-mode .header-shell:before{background:#ffffff06}.dark-mode .header-shell:after{background:linear-gradient(120deg,rgba(255,255,255,.04),transparent 24%),radial-gradient(circle at 78% 26%,rgba(255,207,138,.06),transparent 18%)}.dark-mode .brand-mark{background:linear-gradient(145deg,#ffffff14,#ffffff05),radial-gradient(circle at 30% 30%,rgba(255,255,255,.05),transparent 45%);box-shadow:inset 0 1px #ffffff0f,0 10px 24px #00000047}.dark-mode .nav-strip .ant-menu-item-selected{color:#f4efe8!important;background:linear-gradient(135deg,#3f4e5af5,#23313af5)!important;box-shadow:0 12px 22px #00000038}.dark-mode .panel-header h3,.dark-mode .content-panel .ant-card-head-title,.dark-mode .content-panel .ant-table-thead>tr>th,.dark-mode .content-panel .ant-table-tbody>tr>td{color:#edf3ef!important}.dark-mode .panel-kicker,.dark-mode .ant-layout-footer{color:#dbe8e2b8!important}.dark-mode .content-panel .ant-card{background:#141f1eeb!important;border-color:#ffffff14!important}.dark-mode .layout-backdrop{opacity:.75}.dark-mode .backdrop-mesh{opacity:.14}.dark-mode .content-panel .ant-card-head,.dark-mode .content-panel .ant-table{border-color:#ffffff14!important}.dark-mode .content-panel .ant-table-thead>tr>th{background:#ffffff0f!important}.dark-mode .compact-water-input{background:linear-gradient(180deg,#141f1eeb,#0f1716f0)!important;border-color:#ffffff14!important}.dark-mode .content-panel .ant-input,.dark-mode .content-panel .ant-select-selector,.dark-mode .content-panel .ant-picker{color:#edf3ef!important;background:#ffffff0a!important;border-color:#ffffff1a!important}.dark-mode .content-panel-full .water-monitoring-system{border-color:#ffffff14;box-shadow:inset 0 1px #ffffff14}.dark-mode .content-panel .ant-input::placeholder{color:#edf3ef66!important}.dark-mode .report-input-overlay{background:linear-gradient(135deg,#10212ed1,#0c1823e0),radial-gradient(circle at 20% 20%,rgba(240,184,107,.14),transparent 34%)}.dark-mode .report-input-loader{background:#0e1d29c7;border-color:#7db1d024;box-shadow:0 18px 36px #0003}.dark-mode .report-loader-copy strong{color:#eef7fb}.dark-mode .report-loader-copy span{color:#d2e7f1d1}@media (max-width: 1200px){.hero-strip,.content-shell{grid-template-columns:1fr}.hero-copy,.hero-stats{order:initial;justify-self:stretch}.hero-copy{text-align:left}.hero-description{margin-left:0}.hero-stats{grid-template-columns:repeat(2,minmax(140px,1fr))}.report-stat-grid{grid-template-columns:1fr}}@media (max-width: 900px){.layout-backdrop{opacity:.72}.app-header{padding:10px 10px 0!important}.header-topbar,.hero-strip{padding-left:14px;padding-right:14px}.main-content{padding:14px 14px 0!important}.header-topbar{flex-direction:column;align-items:stretch;gap:14px}.header-actions{justify-content:flex-start}.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.backdrop-orb-a,.backdrop-orb-b,.backdrop-orb-c{filter:blur(18px)}.header-shell{border-radius:24px}.brand-mark{width:46px;height:46px;border-radius:16px;font-size:20px}.header-title{font-size:20px!important}.hero-copy h1{font-size:24px}.hero-description{margin-top:10px;font-size:13px;line-height:1.6}.hero-stats{grid-template-columns:1fr;padding:4px}.header-topbar{padding-top:14px;padding-bottom:0;gap:12px}.hero-strip{gap:14px;padding-top:18px;padding-bottom:16px}.hero-stat{padding:9px 10px;min-height:58px}.hero-stat strong{font-size:16px}.nav-strip{padding:0 10px 10px}.nav-strip .ant-menu{border-radius:20px;min-height:42px;padding:6px}.nav-strip .ant-menu-item{height:34px!important;padding:0 14px!important;font-size:13px!important}.content-panel{padding:16px;border-radius:22px}.content-panel .ant-card-body,.content-panel .ant-card-head{padding-left:16px!important;padding-right:16px!important}.compact-water-input{padding:14px!important}.compact-water-input .ant-input,.compact-water-input .ant-btn{width:100%}.report-card-title{align-items:flex-start;flex-direction:column}.report-input-overlay{padding:12px}.report-input-loader{width:100%;align-items:flex-start}.encoder-content{padding:12px!important;max-height:none!important}.encoder-main-grid,.encoder-form-grid-3,.encoder-form-grid-2,.encoder-query-toolbar,.encoder-action-grid{grid-template-columns:1fr!important}.encoder-query-actions{align-items:stretch!important}.encoder-query-actions .ant-btn{width:100%}.encoder-query-results{max-height:300px!important}.time-display{width:100%;justify-content:center}.security-status,.theme-switch,.header-actions .ant-btn{min-height:36px}}.header-shell{view-transition-name:app-header}.main-content{view-transition-name:app-main}.page-shell{contain:layout paint style}.page-shell-hidden{display:none!important}@media (prefers-reduced-motion: reduce){.flip-glyph,.flip-face-prev,.flip-face-next,.compact-water-input .ant-btn:before,.compact-water-input .ant-btn:after,.content-panel .ant-btn:before,.content-panel .ant-btn:after,.encoder-query-actions .ant-btn:before,.encoder-query-actions .ant-btn:after{animation:none!important;transition:none!important;filter:none!important}.content-panel-animate,.report-reveal-group,.report-reveal-card,.report-result-card,.report-reveal-panel .ant-table-wrapper,.report-reveal-panel .ant-card-body,.report-reveal-panel .ant-table-tbody>tr{opacity:1!important;animation:none!important;transform:none!important;filter:none!important}}body.performance-mode *,body.performance-mode *:before,body.performance-mode *:after{animation:none!important;transition:none!important;filter:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;scroll-behavior:auto!important}.app-feedback-root{position:fixed;left:50%;transform:translate(-50%);z-index:3000;width:min(92vw,560px);display:flex;flex-direction:column;gap:10px;pointer-events:none}.app-feedback-toast{pointer-events:auto;background:#fffffff5;border:1px solid rgba(255,255,255,.72);border-radius:16px;box-shadow:0 18px 40px #0f172a29;color:#18364b}.app-feedback-body{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 14px}.app-feedback-icon{display:inline-flex;align-items:center;justify-content:center;font-size:18px}.app-feedback-content{min-width:0;line-height:1.45;word-break:break-word}.app-feedback-close{width:24px;height:24px;border:none;border-radius:999px;background:transparent;color:inherit;font-size:18px;line-height:1;cursor:pointer;opacity:.72}.app-feedback-close:hover{opacity:1;background:#0f172a14}.app-feedback-close:focus-visible{outline:2px solid rgba(59,143,186,.45);outline-offset:2px}.app-feedback-success .app-feedback-icon{color:#16a34a}.app-feedback-error .app-feedback-icon{color:#dc2626}.app-feedback-warning .app-feedback-icon{color:#d97706}.app-feedback-info .app-feedback-icon,.app-feedback-loading .app-feedback-icon{color:#2563eb}body.performance-mode .layout-backdrop,body.performance-mode .backdrop-orb,body.performance-mode .backdrop-mesh,body.performance-mode .report-input-overlay:after,body.performance-mode .report-input-overlay:before,body.performance-mode .content-panel:after,body.performance-mode .content-shell-themed:before,body.performance-mode .content-shell-themed:after,body.performance-mode .water-monitoring-system:before,body.performance-mode .water-monitoring-system:after,body.performance-mode .water-monitoring-system .overview-card:after,body.performance-mode .water-monitoring-system .chart-section:before,body.performance-mode .water-monitoring-system .data-table-section:before,body.performance-mode .water-monitoring-system .chart-container:after{display:none!important;content:none!important}body.performance-mode .header-shell,body.performance-mode .content-panel,body.performance-mode .content-shell-themed,body.performance-mode .time-display,body.performance-mode .security-status,body.performance-mode .theme-switch,body.performance-mode .header-actions .ant-btn,body.performance-mode .water-monitoring-system,body.performance-mode .water-monitoring-system .overview-cards,body.performance-mode .water-monitoring-system .control-panel,body.performance-mode .water-monitoring-system .chart-section,body.performance-mode .water-monitoring-system .data-table-section,body.performance-mode .water-monitoring-system .overview-card,body.performance-mode .water-monitoring-system .station-controls,body.performance-mode .water-monitoring-system .date-controls,body.performance-mode .water-monitoring-system .chart-container,body.performance-mode .water-monitoring-system .table-container,body.performance-mode .water-monitoring-system .search-suggestions{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}body.performance-mode .header-shell,body.performance-mode .content-panel,body.performance-mode .water-monitoring-system,body.performance-mode .water-monitoring-system .overview-cards,body.performance-mode .water-monitoring-system .control-panel,body.performance-mode .water-monitoring-system .chart-section,body.performance-mode .water-monitoring-system .data-table-section{box-shadow:none!important}body.performance-mode .header-shell,body.performance-mode .main-content,body.performance-mode .water-monitoring-system{view-transition-name:none!important}body.performance-mode .content-panel-animate,body.performance-mode .report-reveal-group,body.performance-mode .report-reveal-card,body.performance-mode .report-result-card,body.performance-mode .report-reveal-panel .ant-table-wrapper,body.performance-mode .report-reveal-panel .ant-card-body,body.performance-mode .report-reveal-panel .ant-table-tbody>tr{opacity:1!important;animation:none!important;transform:none!important;filter:none!important}body.performance-mode .refresh-button-main,body.performance-mode .compact-water-input .ant-btn,body.performance-mode .report-input-overlay,body.performance-mode .report-input-loader,body.performance-mode .loading-overlay,body.performance-mode .loading-spinner,body.performance-mode .loading-text{transition:none!important}body.performance-mode .report-input-overlay:after{display:block!important;content:""!important;animation:reportShimmer 1.9s ease-in-out infinite!important}body.performance-mode .report-input-overlay:before{display:block!important;content:""!important;animation:reportWaterBloom 2.8s ease-in-out infinite!important}body.performance-mode .report-loader-core{animation:reportPulse 1.8s ease-in-out infinite!important}body.performance-mode .report-loader-ring-a{animation:reportRipple 1.8s ease-out infinite!important}body.performance-mode .report-loader-ring-b{animation:reportRipple 1.8s ease-out infinite .55s!important}body.performance-mode .refresh-button-main:disabled{animation:refreshButtonBreath 1.9s ease-in-out infinite!important}body.performance-mode .refresh-button-main .anticon.anticon-spin,body.performance-mode .compact-water-input .ant-btn-loading-icon .anticon,body.performance-mode .content-panel .ant-btn-loading-icon .anticon{animation:performanceFeedbackSpin .95s linear infinite!important}body.performance-mode .loading-spinner{animation:monitoringRipple 1.9s ease-out infinite!important}body.performance-mode .loading-spinner:before{animation:monitoringCoreBreath 1.8s ease-in-out infinite!important}body.performance-mode .loading-spinner:after{animation:monitoringRipple 1.9s ease-out infinite .58s!important}body.performance-mode .loading-text{animation:performanceFeedbackFade 1.4s ease-in-out infinite alternate!important}@keyframes performanceFeedbackSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes performanceFeedbackFade{0%{opacity:.68}to{opacity:1}}
