@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--iot-bg: #f4f6f5;--iot-surface: #ffffff;--iot-surface-2: #f8faf9;--iot-ink: #12201d;--iot-ink-2: #4a5754;--iot-muted: #7a8784;--iot-line: #e2e8e5;--iot-line-2: #eef2f0;--iot-grid: #e8ecea;--iot-accent: #0b6fb8;--iot-accent-ink: #ffffff;--iot-accent-soft: #e7f1f9;--iot-good: #0ca30c;--iot-good-ink: #006300;--iot-good-soft: #e5f5e5;--iot-warn: #fab219;--iot-warn-ink: #7a5300;--iot-warn-soft: #fff5dc;--iot-bad: #d03b3b;--iot-bad-ink: #9b2424;--iot-bad-soft: #fdecec;--iot-radius: 14px;--iot-radius-sm: 10px;--iot-shadow: 0 1px 2px rgba(16, 32, 28, .04), 0 4px 16px rgba(16, 32, 28, .04);--iot-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--iot-sidebar: 248px;--iot-bottom-nav: 64px}html[data-app=aircerdas]{--iot-accent: #0284c7;--iot-accent-soft: #e6f3fb;--iot-brand-dark: #0b3954}html[data-app=rainflow]{--iot-accent: #17796b;--iot-accent-soft: #e6f2ea;--iot-brand-dark: #153f39;--iot-bg: #f4f6f1}html[data-app=gps]{--iot-accent: #3b5bdb;--iot-accent-soft: #eaeefc;--iot-brand-dark: #1b2559}html[data-app=smartfarming]{--iot-accent: #4d7c0f;--iot-accent-soft: #eef5e3;--iot-brand-dark: #263d0b;--iot-bg: #f5f6f1}html[data-app=depot]{--iot-accent: #0b6fb8;--iot-accent-soft: #e7f1f9;--iot-brand-dark: #0b2f4f}.iot-app,.iot-app *{box-sizing:border-box}body.iot-body{margin:0;background:var(--iot-bg);color:var(--iot-ink);font:14px/1.55 var(--iot-font);-webkit-font-smoothing:antialiased}.iot-app button,.iot-app input,.iot-app select,.iot-app textarea{font:inherit;color:inherit}.iot-app a{color:var(--iot-accent)}.iot-app [hidden]{display:none!important}.iot-app :focus-visible{outline:3px solid color-mix(in srgb,var(--iot-accent) 45%,white);outline-offset:2px}.iot-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 14px;border-radius:var(--iot-radius-sm);border:1px solid var(--iot-line);background:var(--iot-surface);color:var(--iot-ink);font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s}.iot-btn:hover{background:var(--iot-surface-2);border-color:#cfd8d4}.iot-btn:disabled{opacity:.55;cursor:not-allowed}.iot-btn.primary{background:var(--iot-accent);border-color:var(--iot-accent);color:var(--iot-accent-ink)}.iot-btn.primary:hover{background:color-mix(in srgb,var(--iot-accent) 88%,black)}.iot-btn.ghost{background:transparent;border-color:transparent}.iot-btn.ghost:hover{background:var(--iot-line-2)}.iot-btn.danger{color:var(--iot-bad-ink);border-color:#efc9c9}.iot-btn.sm{min-height:32px;padding:4px 10px;font-size:13px}.iot-btn.icon{width:40px;padding:0}.iot-btn svg{flex:none}.iot-field{display:flex;flex-direction:column;gap:6px;min-width:0}.iot-field>span{font-size:12px;font-weight:650;color:var(--iot-ink-2)}.iot-input,.iot-select{width:100%;min-height:40px;padding:8px 12px;border:1px solid #cfd8d4;border-radius:var(--iot-radius-sm);background:var(--iot-surface);color:var(--iot-ink);min-width:0}.iot-input:focus,.iot-select:focus{border-color:var(--iot-accent);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--iot-accent) 22%,transparent)}.iot-card{background:var(--iot-surface);border:1px solid var(--iot-line);border-radius:var(--iot-radius);padding:20px;box-shadow:var(--iot-shadow);min-width:0}.iot-card.flush{padding:0;overflow:hidden}.iot-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.iot-card-head h2,.iot-card-head h3{margin:0;font-size:16px;letter-spacing:-.2px}.iot-card-head p{margin:2px 0 0;font-size:12.5px;color:var(--iot-muted)}.iot-grid{display:grid;gap:16px}.iot-grid.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.iot-grid.two{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}.iot-grid.halves{grid-template-columns:repeat(2,minmax(0,1fr))}.iot-grid.cards{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.iot-stack{display:flex;flex-direction:column;gap:16px;min-width:0}.iot-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.iot-spacer{flex:1}.iot-muted{color:var(--iot-muted)}.iot-small{font-size:12.5px}.iot-num{font-variant-numeric:tabular-nums}.iot-kpi{display:flex;flex-direction:column;gap:4px;min-height:118px}.iot-kpi .label{font-size:12.5px;color:var(--iot-ink-2);display:flex;align-items:center;gap:6px}.iot-kpi .value{font-size:30px;font-weight:650;letter-spacing:-1px;line-height:1.15;margin-top:6px;overflow-wrap:anywhere}.iot-kpi .value small{font-size:14px;font-weight:500;letter-spacing:0;margin-left:4px;color:var(--iot-ink-2)}.iot-kpi .sub{font-size:12px;color:var(--iot-muted);margin-top:auto}.iot-kpi.iot-kpi-hero{background:var(--iot-accent-soft);border-color:color-mix(in srgb,var(--iot-accent) 18%,white)}.iot-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:99px;font-size:12px;font-weight:650;background:var(--iot-line-2);color:var(--iot-ink-2);white-space:nowrap}.iot-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.iot-pill.good{background:var(--iot-good-soft);color:var(--iot-good-ink)}.iot-pill.warn{background:var(--iot-warn-soft);color:var(--iot-warn-ink)}.iot-pill.bad{background:var(--iot-bad-soft);color:var(--iot-bad-ink)}.iot-pill.plain:before{display:none}.iot-alert{padding:12px 14px;border-radius:var(--iot-radius-sm);border:1px solid var(--iot-line);background:var(--iot-surface-2);display:flex;gap:10px;align-items:flex-start;white-space:pre-line}.iot-alert.error{background:var(--iot-bad-soft);border-color:#f1c8c8;color:var(--iot-bad-ink)}.iot-alert.info{background:var(--iot-accent-soft);border-color:color-mix(in srgb,var(--iot-accent) 22%,white);color:var(--iot-ink)}.iot-alert.ok{background:var(--iot-good-soft);border-color:#c8e8c8;color:var(--iot-good-ink)}.iot-alert.warn{background:var(--iot-warn-soft);border-color:#f2dfa8;color:var(--iot-warn-ink)}.iot-alert .x{margin-left:auto;background:none;border:0;cursor:pointer;color:inherit;font-size:18px;line-height:1}.iot-empty{padding:36px 16px;text-align:center;color:var(--iot-muted)}.iot-empty b{display:block;color:var(--iot-ink);font-size:15px;margin-bottom:4px}.iot-loading{opacity:.5;pointer-events:none;transition:opacity .2s}.iot-spin{width:18px;height:18px;border:2px solid var(--iot-line);border-top-color:var(--iot-accent);border-radius:50%;animation:iot-spin .8s linear infinite;display:inline-block}@keyframes iot-spin{to{transform:rotate(360deg)}}.iot-seg{display:inline-flex;background:var(--iot-line-2);border-radius:11px;padding:3px;gap:2px;flex-wrap:wrap}.iot-seg button{border:0;background:transparent;padding:6px 12px;border-radius:8px;font-weight:600;cursor:pointer;color:var(--iot-ink-2);min-height:32px}.iot-seg button[aria-pressed=true]{background:var(--iot-surface);color:var(--iot-ink);box-shadow:0 1px 3px #00000014}.iot-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.iot-table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.iot-table th{text-align:left;font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--iot-muted);font-weight:650;background:var(--iot-surface-2);padding:10px 12px;border-bottom:1px solid var(--iot-line);white-space:nowrap}.iot-table td{padding:11px 12px;border-bottom:1px solid var(--iot-line-2);white-space:nowrap}.iot-table .r{text-align:right}.iot-table tbody tr:hover{background:var(--iot-surface-2)}.iot-table tr.click{cursor:pointer}.iot-chart{position:relative;width:100%;height:260px}.iot-chart.sm{height:180px}.iot-chart.lg{height:320px}.iot-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--iot-ink-2)}.iot-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.iot-legend i.line{height:2px;width:14px;border-radius:1px;vertical-align:3px}.iot-chart-note{font-size:12px;color:var(--iot-muted);margin:10px 0 0}details.iot-tableview{margin-top:12px}details.iot-tableview summary{cursor:pointer;font-size:12.5px;color:var(--iot-ink-2);font-weight:600}.iot-modal-back{position:fixed;inset:0;background:#0a141273;display:flex;align-items:center;justify-content:center;z-index:1200;padding:16px}.iot-modal{background:var(--iot-surface);border-radius:16px;width:100%;max-width:440px;max-height:calc(100vh - 32px);overflow:auto;padding:22px;box-shadow:0 20px 50px #0003}.iot-modal h3{margin:0 0 6px;font-size:18px}.iot-shell{min-height:100vh;display:grid;grid-template-columns:var(--iot-sidebar) minmax(0,1fr);background:linear-gradient(90deg,var(--iot-surface) 0 calc(var(--iot-sidebar) - 1px),var(--iot-line) calc(var(--iot-sidebar) - 1px) var(--iot-sidebar),transparent var(--iot-sidebar))}.iot-side{position:sticky;top:0;height:100vh;background:var(--iot-surface);border-right:1px solid var(--iot-line);display:flex;flex-direction:column;padding:18px 14px;gap:6px}.iot-brand{display:flex;align-items:center;gap:10px;font-weight:750;font-size:18px;letter-spacing:-.5px;color:var(--iot-ink);text-decoration:none;padding:4px 8px 14px}.iot-brand .mark{width:34px;height:34px;border-radius:10px;background:var(--iot-accent);color:#fff;display:grid;place-items:center;flex:none}.iot-brand small{display:block;font-size:11px;font-weight:600;color:var(--iot-muted);letter-spacing:0}.iot-nav{display:flex;flex-direction:column;gap:2px}.iot-nav a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;color:var(--iot-ink-2);text-decoration:none;font-weight:600}.iot-nav a:hover{background:var(--iot-line-2);color:var(--iot-ink)}.iot-nav a.active{background:var(--iot-accent-soft);color:var(--iot-ink)}.iot-nav a.active svg{color:var(--iot-accent)}.iot-nav a .badge{margin-left:auto;background:var(--iot-bad);color:#fff;border-radius:99px;font-size:11px;padding:0 7px;min-width:20px;text-align:center}.iot-side-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--iot-line);padding-top:12px}.iot-user{display:flex;align-items:center;gap:10px;padding:4px 6px;min-width:0}.iot-avatar{width:34px;height:34px;border-radius:50%;background:var(--iot-accent-soft);color:var(--iot-accent);display:grid;place-items:center;font-weight:750;flex:none;text-transform:uppercase}.iot-user .who{min-width:0}.iot-user .who b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iot-user .who span{font-size:11.5px;color:var(--iot-muted)}.iot-main{min-width:0;display:flex;flex-direction:column}.iot-top{display:none}.iot-content{padding:26px 30px 40px;max-width:1360px;width:100%;margin:0 auto}.iot-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.iot-page-head h1{margin:2px 0 0;font-size:26px;letter-spacing:-.8px;line-height:1.2}.iot-page-head p{margin:4px 0 0;color:var(--iot-muted)}.iot-eyebrow{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;font-weight:750;color:var(--iot-muted)}.iot-filters{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.iot-filters .iot-field{min-width:150px}.iot-footer{margin-top:26px;font-size:11.5px;color:var(--iot-muted);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.iot-bottom{display:none}.iot-switch-pop{position:fixed;z-index:900;background:var(--iot-surface);border:1px solid var(--iot-line);border-radius:16px;box-shadow:0 18px 48px #00000029;padding:12px;width:340px;max-width:calc(100vw - 24px)}.iot-switch-pop h4{margin:4px 8px 10px;font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--iot-muted)}.iot-switch-item{display:flex;align-items:center;gap:12px;padding:10px;border-radius:12px;text-decoration:none;color:var(--iot-ink)}.iot-switch-item:hover{background:var(--iot-line-2)}.iot-switch-item.current{background:var(--iot-accent-soft)}.iot-switch-item .ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:#fff;flex:none}.iot-switch-item b{display:block;font-size:14px}.iot-switch-item span{font-size:12px;color:var(--iot-muted)}.iot-switch-item em{margin-left:auto;font-style:normal;font-size:11px;color:var(--iot-good-ink);background:var(--iot-good-soft);border-radius:99px;padding:1px 8px;white-space:nowrap}.iot-login{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr;background:var(--iot-bg)}.iot-login-art{background:var(--iot-brand-dark, #12302b);color:#eef6f2;padding:44px 8%;display:flex;flex-direction:column;justify-content:space-between;gap:28px;position:relative;overflow:hidden}.iot-login-art .iot-brand{color:#fff;padding:0}.iot-login-art .iot-brand .mark{background:#ffffff24}.iot-login-art h1{font-size:clamp(32px,3.6vw,54px);line-height:1.1;letter-spacing:-2px;font-weight:600;margin:0 0 14px;max-width:520px}.iot-login-art p{max-width:420px;color:#eef6f2c7;font-size:15.5px;margin:0}.iot-login-art .art{width:100%;max-width:420px;align-self:center;opacity:.95}.iot-login-art .foot{font-size:12px;color:#eef6f299;display:flex;justify-content:space-between;gap:12px}.iot-login-side{display:flex;align-items:center;justify-content:center;padding:40px 28px}.iot-login-box{width:100%;max-width:380px;display:flex;flex-direction:column;gap:14px}.iot-login-box h2{font-size:28px;letter-spacing:-1px;margin:4px 0 0}.iot-login-box .lead{color:var(--iot-muted);margin:0 0 8px}.iot-login-box .iot-btn.primary{min-height:46px;margin-top:6px}.iot-pass{position:relative}.iot-pass .iot-input{padding-right:46px}.iot-pass button{position:absolute;right:4px;top:4px;bottom:4px;width:38px;border:0;background:none;cursor:pointer;color:var(--iot-muted);display:grid;place-items:center;border-radius:8px}.iot-login-apps{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.iot-login-apps span{font-size:11.5px;border:1px solid var(--iot-line);border-radius:99px;padding:2px 9px;color:var(--iot-ink-2);background:var(--iot-surface)}@media(max-width:1100px){.iot-grid.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.iot-grid.two{grid-template-columns:minmax(0,1fr)}}@media(max-width:900px){.iot-shell{display:block;background:none}.iot-side{display:none}.iot-top{display:flex;position:sticky;top:0;z-index:50;background:var(--iot-surface);border-bottom:1px solid var(--iot-line);padding:10px 12px 10px 16px;align-items:center;gap:8px}.iot-top .iot-brand{padding:0;font-size:17px;margin-right:auto;min-width:0}.iot-top .iot-brand .mark{width:30px;height:30px;border-radius:9px}.iot-content{padding:18px 16px calc(var(--iot-bottom-nav) + 24px)}.iot-page-head h1{font-size:22px}.iot-bottom{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;height:var(--iot-bottom-nav);background:var(--iot-surface);border-top:1px solid var(--iot-line);padding:4px 4px max(4px,env(safe-area-inset-bottom))}.iot-bottom a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;font-weight:650;color:var(--iot-muted);text-decoration:none;border-radius:10px;min-width:0;position:relative}.iot-bottom a span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 2px}.iot-bottom a.active{color:var(--iot-accent)}.iot-bottom a .badge{position:absolute;top:4px;left:calc(50% + 6px);background:var(--iot-bad);color:#fff;border-radius:99px;font-size:10px;padding:0 5px}.iot-login{display:block}.iot-login-art{padding:24px 22px;gap:14px}.iot-login-art .art,.iot-login-art .foot{display:none}.iot-login-art h1{font-size:30px;letter-spacing:-1.2px;margin-top:10px}.iot-login-art p{font-size:14px}.iot-login-side{padding:26px 20px 40px}.iot-filters{width:100%}.iot-filters .iot-field{flex:1 1 140px;min-width:0}}@media(max-width:560px){.iot-grid.kpis{gap:10px}.iot-grid.halves{grid-template-columns:minmax(0,1fr)}.iot-card{padding:16px}.iot-kpi{min-height:100px}.iot-kpi .value{font-size:24px}.iot-chart{height:220px}}.iot-spinning{animation:iot-spin 1s linear infinite}.iot-app a.iot-btn{color:var(--iot-ink)}.iot-app a.iot-btn.primary{color:var(--iot-accent-ink)}.iot-lock{max-width:560px;margin:48px auto;text-align:center;padding:32px 24px;background:var(--iot-surface);border:1px solid var(--iot-line);border-radius:var(--iot-radius);box-shadow:var(--iot-shadow)}.iot-lock h1{font-size:22px;margin:14px 0 8px;letter-spacing:-.3px}.iot-lock p{color:var(--iot-ink-2);margin:0 0 20px}.iot-lock-ic{width:56px;height:56px;border-radius:50%;margin:0 auto;display:grid;place-items:center;background:var(--iot-accent-soft);color:var(--iot-accent)}.iot-lock-apps{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;margin-top:22px;padding-top:16px;border-top:1px solid var(--iot-line-2);font-size:13px}.iot-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--iot-radius-sm);margin-bottom:16px;border:1px solid;flex-wrap:wrap}.iot-banner.warn{background:var(--iot-warn-soft);border-color:#f3dca3;color:var(--iot-warn-ink)}.iot-banner.bad{background:var(--iot-bad-soft);border-color:#f1c4c4;color:var(--iot-bad-ink)}.iot-plan{display:flex;flex-direction:column;gap:12px;padding:16px}.iot-plan.current{border-color:color-mix(in srgb,var(--iot-accent) 45%,white)}.iot-plan-ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;color:#fff;flex:none}.iot-plan-body{font-size:13.5px;display:flex;flex-direction:column;gap:4px}.iot-plan-pro{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:13px;color:#6d28d9}.iot-checks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.iot-checks li{display:flex;gap:8px;align-items:flex-start}.iot-checks li svg{color:var(--iot-good);flex:none;margin-top:2px}.iot-pay-amount{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px;border-radius:var(--iot-radius-sm);background:var(--iot-accent-soft);text-align:center}.iot-pay-amount b{font-size:28px;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.iot-pay-text{white-space:pre-wrap;padding:12px 14px;border:1px dashed #cfd8d4;border-radius:var(--iot-radius-sm);font-weight:600}.iot-qris{width:220px;max-width:100%;height:auto;border-radius:8px;border:1px solid var(--iot-line)}.iot-pro-badge{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#f1ebfe;color:#6d28d9;letter-spacing:.2px;vertical-align:middle}.iot-upsell{text-align:center;padding:28px 20px}.iot-upsell h2{margin:10px 0 6px;font-size:18px}.iot-upsell .iot-checks{max-width:460px;margin:14px auto;text-align:left}.iot-progress{height:10px;border-radius:999px;background:var(--iot-line-2);overflow:hidden;position:relative}.iot-progress>i{position:absolute;inset:0 auto 0 0;border-radius:999px;background:var(--iot-accent)}.iot-progress.warn>i{background:var(--iot-warn)}.iot-progress.bad>i{background:var(--iot-bad)}.iot-progress>em{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--iot-ink-2)}.iot-meter{display:flex;flex-direction:column;gap:6px}.iot-meter .top{display:flex;justify-content:space-between;gap:10px;font-size:13px}.iot-meter .top b{font-variant-numeric:tabular-nums}.iot-side-link{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;color:var(--iot-ink-2);text-decoration:none;font-weight:600;font-size:13.5px}.iot-side-link:hover{background:var(--iot-line-2)}.iot-side-link .dot{width:8px;height:8px;border-radius:50%;background:var(--iot-warn);margin-left:auto}.iot-side-link .dot.bad{background:var(--iot-bad)}.iot-sheet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.iot-sheet a,.iot-sheet button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border-radius:12px;border:1px solid var(--iot-line);background:var(--iot-surface);color:var(--iot-ink);text-decoration:none;font-size:12.5px;font-weight:600;text-align:center}.iot-sheet a.active{border-color:var(--iot-accent);color:var(--iot-accent)}.iot-switch-item em.lock{background:var(--iot-line-2);color:var(--iot-muted)}.iot-switch-item em.warn{background:var(--iot-warn-soft);color:var(--iot-warn-ink)}@media(max-width:560px){.iot-lock{margin:16px auto;padding:24px 16px}.iot-pay-amount b{font-size:24px}}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.navbar{background-color:transparent;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:15px 5%;position:fixed;width:100%;top:0;left:0;z-index:1000;transition:background-color .3s ease-in-out,box-shadow .3s ease-in-out;box-shadow:none;box-sizing:border-box}.navbar.scrolled{background-color:#000000d9;box-shadow:0 2px 10px #0000004d}.article-page-navbar{background-color:#000000d9;color:#fff;box-shadow:0 2px 10px #0000004d}.article-page-navbar.scrolled{background-color:#007bff;box-shadow:0 4px 15px #0003}.article-page-navbar .navbar-logo a,.article-page-navbar .nav-links li a{color:#fff}.article-page-navbar .nav-links li a:after{background-color:gold}.article-page-navbar .nav-button{background-color:#007bff;color:#fff!important;border-color:#007bff}.navbar-logo{font-size:1.8em;font-weight:700;letter-spacing:1px;flex-shrink:0}.navbar-logo a{color:#fff;text-decoration:none;transition:color .3s ease}.navbar-logo a:hover{color:gold}.nav-links{list-style:none;display:flex;margin:0;padding:0;align-items:center;flex-grow:1;justify-content:flex-end}.nav-links li{margin-left:25px;flex-shrink:0}.nav-links li a{color:#fff;text-decoration:none;font-size:1.05em;padding:8px 0;position:relative;transition:color .3s ease}.nav-links li a:hover{color:gold}.nav-links li a:after{content:"";position:absolute;width:0;height:2px;background-color:gold;bottom:0;left:0;transition:width .3s ease}.nav-links li a:hover:after{width:100%}.nav-button{background-color:#007bff;color:#fff!important;padding:8px 15px;border-radius:5px;text-decoration:none!important;font-weight:700;transition:background-color .3s ease,color .3s ease;margin-left:20px;border:1px solid #007bff}.nav-button:hover{background-color:#0056b3;color:#fff!important;border-color:#0056b3}.menu-icon{display:none;font-size:1.8em;cursor:pointer;color:#fff}@media(max-width:992px){.nav-links{display:none}.menu-icon{display:block}.navbar{background-color:#000000d9}.nav-links.open{display:flex;flex-direction:column;width:100%;position:absolute;top:65px;left:0;background-color:#000000f2;padding:20px 0;border-top:1px solid rgba(255,255,255,.1);transform:translateY(0);transition:none;height:auto}.nav-links li{margin:10px 0;text-align:center}.nav-links li a{padding:12px 0;display:block;font-size:1.1em}.nav-button{margin:10px auto;display:block;width:80%}.article-page-navbar,.navbar.scrolled{background-color:#000000d9;color:#fff}.article-page-navbar .navbar-logo a,.article-page-navbar .nav-links li a{color:#fff}.article-page-navbar:hover{background-color:#000000d9;box-shadow:none}}.about-section{padding:60px 5%;background-color:#f8f9fa;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#333;overflow:hidden}.section-intro-container,.problems-section,.solution-section,.product-gallery-section,.video-section,.app-demo-videos-section{max-width:1000px;margin:0 auto 80px;padding:20px;box-sizing:border-box}.section-title{font-size:2.5em;color:#007bff;text-align:center;margin-bottom:25px;font-weight:700;position:relative;padding-bottom:10px}.section-title:after{content:"";position:absolute;left:50%;transform:translate(-50%);bottom:0;width:80px;height:4px;background-color:#28a745;border-radius:2px}.intro-text{font-size:1.15em;line-height:1.8;text-align:center;color:#555;margin-bottom:40px;max-width:800px;margin-left:auto;margin-right:auto}.intro-text-small{font-size:1em;text-align:center;color:#666;margin-top:20px}.about-card-group{display:flex;flex-wrap:wrap;gap:30px;justify-content:center;margin-bottom:80px}.about-card{background-color:#fff;border-radius:15px;box-shadow:0 8px 25px #0000001a;padding:30px;flex:1;min-width:300px;max-width:450px;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.about-card:hover{transform:translateY(-10px);box-shadow:0 15px 40px #00000026}.card-title{font-size:1.8em;color:#0056b3;margin-bottom:15px;font-weight:600}.card-description{font-size:1.05em;color:#444;line-height:1.7;text-align:justify}.problems-section{background-color:#e9f5ff;padding:40px;border-radius:15px;box-shadow:inset 0 0 15px #007bff1a}.problem-list{list-style:none;padding:0;margin:0 auto;max-width:700px;font-size:1.1em;line-height:1.8}.problem-list li{position:relative;padding-left:30px;margin-bottom:15px;color:#333}.problem-list li:before{content:"❌";position:absolute;left:0;color:#dc3545;font-size:1.2em;top:0}.solution-section{background:linear-gradient(135deg,#007bff,#28a745);color:#fff;padding:40px;border-radius:15px;box-shadow:0 8px 30px #0000004d}.solution-section .section-title{color:#fff}.solution-section .section-title:after{background-color:#fff}.solution-section .intro-text{color:#fff}.solution-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:25px}.solution-feature-item{background-color:#ffffff26;border-radius:10px;padding:25px;text-align:center;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.3);transition:background-color .3s ease,transform .3s ease}.solution-feature-item:hover{background-color:#ffffff40;transform:translateY(-5px)}.feature-title{font-size:1.5em;color:#fff;margin-bottom:10px;font-weight:600}.feature-description{font-size:1em;color:#ffffffe6;line-height:1.6}.product-gallery-section{margin-top:80px}.product-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px;justify-content:center}.product-card-item{background-color:#fff;border-radius:15px;box-shadow:0 5px 15px #0000001a;padding:20px;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.product-card-item:hover{transform:translateY(-8px);box-shadow:0 10px 25px #00000026}.product-image{width:100%;max-height:200px;object-fit:cover;border-radius:10px;margin-bottom:15px}.product-name{font-size:1.4em;color:#0056b3;margin-bottom:8px;font-weight:600}.product-desc{font-size:.95em;color:#555;line-height:1.5}.video-section{text-align:center;margin-top:80px}.video-wrapper{position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:15px;box-shadow:0 8px 30px #0003}.responsive-iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.app-demo-videos-section{margin-top:80px;background-color:#fff;padding:40px 20px;border-radius:15px;box-shadow:0 8px 25px #0000001a}.app-demo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(900px,1fr));gap:30px;justify-content:center;margin-top:40px}.app-video-item{text-align:center;background-color:#f8f9fa;border-radius:10px;padding:20px;box-shadow:0 4px 15px #00000014;transition:transform .3s ease}.app-video-item:hover{transform:translateY(-5px)}.app-video-item .video-subtitle{font-size:1.5em;color:#0056b3;margin-bottom:15px;font-weight:600}@media(max-width:768px){.section-title{font-size:2em}.intro-text{font-size:1em;margin-bottom:30px}.about-card{min-width:unset;width:100%}.problem-list{font-size:1em;padding-left:25px}.problem-list li:before{font-size:1em}.solution-feature-item{padding:20px}.feature-title{font-size:1.4em}.product-name{font-size:1.2em}.product-image{max-height:150px}.responsive-iframe{height:300px;padding-bottom:0}.video-wrapper{padding-bottom:0;height:800px}.app-demo-grid{grid-template-columns:1fr}.app-video-item{margin-bottom:90px}}@media(max-width:480px){.about-section{padding:40px 3%}.section-title{font-size:1.8em;margin-bottom:20px}.intro-text{font-size:.95em}.about-card,.problems-section,.solution-section,.product-card-item{padding:20px;margin-bottom:50px}.card-title{font-size:1.5em}.product-name{font-size:1.1em}.solution-feature-item{padding:15px}.feature-title{font-size:1.2em}}.feature-section{background-color:#f8f9fa;padding:60px 20px;text-align:center}.feature-section h2{font-size:2rem;font-weight:700;margin-bottom:30px;color:#222}.feature-grid{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;max-width:1200px;margin:0 auto}.feature-card{background:#fff;padding:20px;border-radius:10px;width:300px;text-align:center;box-shadow:0 4px 10px #0000001a;transition:transform .3s ease-in-out,box-shadow .3s ease-in-out}.feature-card:hover{transform:translateY(-10px);box-shadow:0 8px 20px #00000026}.feature-card h3{font-size:1.4rem;color:#007bff;margin-bottom:10px;font-weight:700}.feature-card p{font-size:1rem;color:#555}@media(max-width:768px){.feature-grid{flex-direction:column;align-items:center}.feature-card{width:90%}}.workflow{background-color:#f8f9fa;padding:80px 20px;text-align:center}.workflow h2{font-size:2.2rem;color:#007bff;margin-bottom:30px}.workflow-steps{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.step{background:#fff;padding:20px;border-radius:10px;width:280px;box-shadow:0 4px 10px #0000001a;transition:transform .3s ease-in-out,box-shadow .3s ease-in-out}.step:hover{transform:translateY(-10px);box-shadow:0 8px 20px #00000026}.step img{width:80px;height:80px;margin-bottom:15px}.step h3{font-size:1.5rem;color:#333;margin-bottom:10px}.step p{font-size:1rem;color:#666}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.step{animation:fadeInUp .8s ease-in-out}.testimonials-section{background-color:#f8f9fa;padding:60px 20px;text-align:center}.testimonials-section h2{font-size:2rem;font-weight:700;margin-bottom:30px;color:#222}.testimonials-grid{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;max-width:1200px;margin:0 auto}.testimonial-card{background:#fff;padding:20px;border-radius:10px;width:350px;text-align:center;box-shadow:0 4px 10px #0000001a;transition:transform .3s ease-in-out,box-shadow .3s ease-in-out}.testimonial-card:hover{transform:translateY(-10px);box-shadow:0 8px 20px #00000026}.testimonial-avatar{width:60px;height:60px;border-radius:50%;object-fit:cover;margin-bottom:10px}.testimonial-name{font-weight:700;color:#007bff;margin-top:10px}@media(max-width:768px){.testimonials-grid{flex-direction:column;align-items:center}.testimonial-card{width:90%}}.cta-container{background:linear-gradient(to right,#007bff,#00c853);padding:40px 20px;text-align:center;color:#fff}.contact-form{display:flex;flex-direction:column;gap:15px;margin-top:20px}.contact-form input,.contact-form textarea{padding:12px;border-radius:8px;border:none;font-size:16px}.contact-form textarea{height:100px}.whatsapp-btn{background-color:#25d366;color:#fff;border:none;padding:12px;font-size:16px;border-radius:8px;cursor:pointer;transition:background .3s}.whatsapp-btn:hover{background-color:#1ebd57}.map-container{width:100%;height:350px;overflow:hidden}.cta-wrapper{display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:20px;max-width:1200px;margin:auto}.cta-content{max-width:80%;margin:auto}@media(min-width:1024px){.cta-content{flex:1;max-width:50%}}.map-container iframe{width:100%;height:auto;aspect-ratio:16 / 9;border-radius:10px}.footer{background-color:#2c3e50;color:#ecf0f1;padding:60px 5%;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.footer-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:40px;max-width:1200px;margin:0 auto;text-align:left}.footer-section h3,.footer-section h4{color:#00c6ff;font-size:1.4em;margin-bottom:25px;font-weight:600;position:relative;padding-bottom:10px}.footer-section h3:after,.footer-section h4:after{content:"";position:absolute;left:0;bottom:0;width:60px;height:3px;background-color:#28a745;border-radius:2px}.footer-info p{font-size:.95em;line-height:1.6;margin-bottom:10px}.footer-info .company-tagline{margin-top:20px;font-style:italic;font-size:.9em;color:#bdc3c7}.contact-details p{display:flex;align-items:flex-start;gap:10px;font-size:.95em;margin-bottom:10px}.contact-details p svg{color:gold;font-size:1.1em;flex-shrink:0;margin-top:2px}.footer-links ul,.footer-blog ul{list-style:none;padding:0;margin:0}.footer-links li,.footer-blog li{margin-bottom:10px}.footer-links a,.footer-blog a{color:#ecf0f1;text-decoration:none;font-size:.95em;transition:color .3s ease,transform .2s ease;display:inline-block}.footer-links a:hover,.footer-blog a:hover{color:#00c6ff;transform:translate(5px)}.footer-social .social-icons{display:flex;flex-wrap:wrap;gap:15px;margin-top:15px}.footer-social .social-icons a{color:#ecf0f1;font-size:1.8em;transition:color .3s ease,transform .2s ease}.footer-social .social-icons a:hover{color:gold;transform:translateY(-5px)}.footer-social .social-icons a[aria-label*=Instagram]:hover{color:#e1306c}.footer-social .social-icons a[aria-label*=TikTok]:hover{color:#69c9d0}.footer-social .social-icons a[aria-label*=Tokopedia]:hover{color:#42b549}.footer-social .social-icons a[aria-label*=Shopee]:hover{color:#ee4d2d}.footer-social .social-icons a[aria-label*=Facebook]:hover{color:#3b5998}.footer-social .social-icons a[aria-label*=Twitter]:hover{color:#00acee}.footer-social .social-icons a[aria-label*=LinkedIn]:hover{color:#0e76a8}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:30px;margin-top:50px;text-align:center;font-size:.9em;color:#bdc3c7}.footer-bottom .developer-info a{color:#00c6ff;text-decoration:none;font-weight:700;transition:color .3s ease}.footer-bottom .developer-info a:hover{color:gold;text-decoration:underline}@media(max-width:768px){.footer-container{grid-template-columns:1fr;gap:30px;text-align:center}.footer-section h3:after,.footer-section h4:after{left:50%;transform:translate(-50%)}.contact-details p,.footer-social .social-icons{justify-content:center}.footer-bottom{margin-top:30px}}.floating-whatsapp{position:fixed;bottom:20px;right:20px;background-color:#25d366;color:#fff;width:60px;height:60px;display:flex;justify-content:center;align-items:center;border-radius:50%;box-shadow:0 4px 6px #0000001a;cursor:pointer;transition:transform .3s ease-in-out,background-color .3s ease-in-out;z-index:1000}.floating-whatsapp:hover{transform:scale(1.1);background-color:#1ebd57}.whatsapp-icon{font-size:30px}.whatsapp-text{position:absolute;bottom:70px;right:0;background-color:#fff;color:#000;padding:10px;border-radius:10px;box-shadow:0 4px 6px #0000001a;opacity:0;transform:translate(20px);transition:opacity .5s ease-in-out,transform .5s ease-in-out;white-space:nowrap}.floating-whatsapp:hover .whatsapp-text{opacity:1;transform:translate(0)}.pricing-section{padding:80px 5%;background-color:#eef4f8;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#333;text-align:center}.pricing-title{font-size:2.8em;color:#0056b3;margin-bottom:20px;font-weight:700}.pricing-intro-text{font-size:1.15em;line-height:1.8;color:#555;margin-bottom:60px;max-width:800px;margin-left:auto;margin-right:auto}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;justify-content:center;align-items:stretch;margin-bottom:60px}.pricing-card{background-color:#fff;border-radius:15px;box-shadow:0 10px 30px #0000001a;display:flex;flex-direction:column;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;border:1px solid #eee}.pricing-card:hover{transform:translateY(-10px);box-shadow:0 15px 40px #00000026}.featured-card{border:3px solid #007bff;box-shadow:0 12px 40px #007bff33;transform:scale(1.03);z-index:1}.featured-card .card-header{background:linear-gradient(45deg,#007bff,#00c6ff);color:#fff}.badge{position:absolute;top:15px;right:-30px;background-color:#ffc107;color:#333;padding:5px 30px;font-size:.9em;font-weight:700;transform:rotate(45deg);transform-origin:100% 0%;box-shadow:0 2px 5px #0003}.card-header{background-color:#f8f8f8;color:#333;padding:30px 20px;position:relative;overflow:hidden;border-bottom:1px solid #eee}.card-header h3{font-size:2em;margin-bottom:10px;font-weight:700}.price-tag{font-size:2.8em;font-weight:800;margin-bottom:5px;color:#007bff}.featured-card .price-tag{color:#fff}.old-price{font-size:.8em;text-decoration:line-through;opacity:.7;color:#888}.featured-card .old-price{color:#ffffffb3}.price-desc{font-size:.9em;opacity:.9;color:#666}.featured-card .price-desc{color:#ffffffe6}.card-body{padding:30px 20px;flex-grow:1}.card-body h4{font-size:1.2em;color:#007bff;margin-bottom:20px;font-weight:600;text-align:left}.feature-list{list-style:none;padding:0;text-align:left}.feature-list li{display:flex;align-items:flex-start;margin-bottom:12px;font-size:1em;color:#444}.check-icon{color:#28a745;font-size:1.2em;margin-right:10px;flex-shrink:0}.feature-list li .icon{color:#007bff;font-size:1.2em;margin-right:10px;flex-shrink:0}.highlight-text{font-weight:700;color:#0056b3}.card-footer{padding:20px;border-top:1px solid #eee;background-color:#fdfdfd}.btn-action{display:inline-block;background-color:#007bff;color:#fff;padding:12px 25px;border-radius:8px;text-decoration:none;font-size:1.1em;font-weight:700;transition:background-color .3s ease,transform .3s ease;box-shadow:0 4px 10px #007bff33}.featured-card .btn-action{background-color:#28a745;box-shadow:0 4px 10px #28a74533}.btn-action:hover{background-color:#0056b3;transform:translateY(-3px);box-shadow:0 6px 15px #007bff4d}.featured-card .btn-action:hover{background-color:#218838}.secondary-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;justify-content:center}.secondary-card .card-header{background-color:#f0f0f0;color:#333}.secondary-card .card-header h3{color:#007bff}.secondary-card .feature-list li{font-size:.95em;line-height:1.5}.secondary-card small{display:block;font-size:.8em;color:#777;margin-top:5px}@media(max-width:992px){.pricing-title{font-size:2.2em}.pricing-intro-text{font-size:1em}.pricing-grid{grid-template-columns:1fr;max-width:450px;margin-left:auto;margin-right:auto}.pricing-card{margin-bottom:20px}.featured-card{transform:scale(1);margin-top:20px}.secondary-info-grid{grid-template-columns:1fr;max-width:450px;margin-left:auto;margin-right:auto;margin-top:20px}}@media(max-width:480px){.pricing-section{padding:40px 3%}.pricing-title{font-size:1.8em}.price-tag{font-size:2.2em}.card-body,.card-footer{padding:20px 15px}.btn-action{font-size:1em;padding:10px 20px}}.hero{background:linear-gradient(to right,#007bff,#28a745);color:#fff;padding:100px 20px;text-align:center}.hero h1{font-size:2.5rem;animation:fadeIn 1.2s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.btn-primary{background:#007bff;color:#fff;padding:12px 20px;border:none;border-radius:5px;cursor:pointer}.hero-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-top:20px;color:#fff;transition:transform .3s ease-in-out,opacity .3s ease-in-out}.iot-icon{font-size:100px;color:#fff;transition:transform .3s ease-in-out}.iot-text{margin-top:10px;font-size:18px;font-weight:700;color:#fff}.hero-icon:hover{transform:scale(1.1)}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.login-container.modern-ui{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);position:relative;overflow:hidden;padding:20px}.shape{position:absolute;border-radius:50%;filter:blur(80px);z-index:0;animation:float 10s ease-in-out infinite}.shape-1{width:500px;height:500px;background:#38bdf84d;top:-150px;left:-150px}.shape-2{width:400px;height:400px;background:#3b82f633;bottom:-100px;right:-100px;animation-delay:-5s}@keyframes float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-30px) scale(1.05)}}.login-box.glass-effect{background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.8);box-shadow:0 25px 50px -12px #00000014;border-radius:24px;padding:48px 40px;width:100%;max-width:440px;z-index:10;position:relative;animation:slideUp .6s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.btn-back{display:inline-flex;align-items:center;gap:8px;color:#00f729;text-decoration:none;font-size:.9rem;font-weight:500;margin-bottom:32px;transition:all .2s ease}.btn-back:hover{color:#0004ff;transform:translate(-4px)}.login-header{text-align:center;margin-bottom:32px}.app-logo{display:inline-flex;justify-content:center;align-items:center;width:64px;height:64px;background:linear-gradient(135deg,#0284c7,#0369a1);color:#fff;border-radius:18px;font-size:2rem;margin-bottom:20px;box-shadow:0 10px 25px #0284c740;transform:rotate(-5deg);transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.login-box:hover .app-logo{transform:rotate(0) scale(1.05)}.login-title{color:#0f172a;font-size:1.75rem;font-weight:700;margin-bottom:8px;letter-spacing:-.02em}.login-subtitle{color:#64748b;font-size:.95rem;line-height:1.5}.login-form{display:flex;flex-direction:column}.modern-input{position:relative;width:100%;margin-bottom:20px}.input-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:1.1rem;pointer-events:none;transition:color .3s;z-index:5}.modern-input input{width:100%;padding:15px 16px 15px 52px!important;border:1px solid #cbd5e1;border-radius:14px;background:#f8fafc;font-size:1rem;color:#1e293b;font-family:inherit;transition:all .3s ease}.modern-input input[type=password],.modern-input input[type=text]{padding-right:48px!important}.modern-input input:focus{outline:none;border-color:#38bdf8;background:#fff;box-shadow:0 0 0 4px #38bdf826}.modern-input input:focus+.input-icon,.modern-input input:not(:placeholder-shown)+.input-icon{color:#0284c7}.toggle-password{position:absolute;right:18px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#94a3b8;font-size:1.2rem;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;z-index:10;transition:color .2s}.toggle-password:hover{color:#0f172a}.toggle-password:focus{outline:none}.login-options{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:4px;margin-bottom:28px}.remember-me{display:flex;align-items:center;gap:8px;color:#475569;font-size:.9rem;cursor:pointer;-webkit-user-select:none;user-select:none}.remember-me input[type=checkbox]{width:18px;height:18px;accent-color:#0284c7;cursor:pointer;border-radius:4px;margin:0}.forgot-password-link{color:#0284c7;text-decoration:none;font-size:.9rem;font-weight:600;transition:color .2s ease}.forgot-password-link:hover{color:#0369a1;text-decoration:underline}.btn-login{width:100%;padding:16px;background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;border:none;border-radius:14px;font-size:1.1rem;font-weight:600;letter-spacing:.5px;cursor:pointer;box-shadow:0 10px 20px #0284c733;transition:all .3s ease;display:flex;justify-content:center;align-items:center}.btn-login:hover{transform:translateY(-2px);box-shadow:0 14px 28px #0284c74d}.btn-login:active{transform:translateY(0)}.btn-login.loading{background:#94a3b8;cursor:not-allowed;box-shadow:none;transform:none}.alert{padding:14px 16px;border-radius:12px;margin-bottom:24px;font-size:.9rem;text-align:center;font-weight:500}.success-message{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.error-message{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.spinner{width:22px;height:22px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-divider{display:flex;align-items:center;text-align:center;margin:32px 0 24px;color:#94a3b8;font-size:.85rem;font-weight:500}.login-divider:before,.login-divider:after{content:"";flex:1;border-bottom:1px solid #e2e8f0}.login-divider span{padding:0 16px}.register-link-text{text-align:center;color:#64748b;font-size:.95rem}.register-link{color:#0284c7;font-weight:600;text-decoration:none;transition:color .3s ease;margin-left:4px}.register-link:hover{color:#0369a1;text-decoration:underline}.login-footer{position:absolute;bottom:24px;width:100%;text-align:center;color:#64748b;font-size:.85rem;font-weight:400;z-index:2}@media(max-width:480px){.login-box.glass-effect{padding:32px 24px;border-radius:20px;box-shadow:0 10px 25px #ffffff0d}.login-container.modern-ui{padding:16px}.login-footer{position:relative;bottom:0;margin-top:40px}}.sidebar{position:fixed;left:0;top:0;width:280px;height:100vh;background:linear-gradient(180deg,#0b1328,#13203d);color:#fff;padding:22px 18px;transform:translate(-100%);transition:transform .28s ease-in-out;z-index:1000;box-shadow:18px 0 40px #0f172a3d;overflow-y:auto}.sidebar.open{transform:translate(0)}.sidebar.closed{transform:translate(-100%)}.sidebar h2{text-align:left;margin:6px 8px 22px;font-size:22px;line-height:1.2;color:#fff;font-weight:800}.sidebar ul{list-style:none;padding:0;margin:0}.sidebar ul li{margin-bottom:8px}.sidebar-link{color:#dbe7f7;text-decoration:none;font-size:15px;font-weight:700;display:block;padding:12px 14px;border-radius:14px;transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;position:relative}.sidebar-link:hover{background:#0ea5e929;color:#fff;transform:translate(2px)}.sidebar-link.active{background:linear-gradient(135deg,#0ea5e947,#0284c733);color:#fff;box-shadow:inset 0 0 0 1px #7dd3fc38}.sidebar-link.active:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:4px;border-radius:999px;background:#38bdf8}.sidebar-toggle{position:fixed;top:16px;left:14px;width:44px;height:44px;border-radius:14px;background:#0f172a;border:1px solid rgba(255,255,255,.08);color:#fff;font-size:20px;cursor:pointer;z-index:1101;box-shadow:0 10px 24px #0f172a3d}.sidebar-toggle:hover{background:#0284c7;color:#fff}.sidebar-overlay{position:fixed;inset:0;background:#02061773;z-index:999}@media(min-width:992px){.sidebar{top:0;left:0;height:100vh;border-top-right-radius:24px;border-bottom-right-radius:24px}.sidebar-toggle{display:inline-flex;align-items:center;justify-content:center}}@media(max-width:991px){.sidebar{width:min(84vw,300px)}}.sidebar-apps{padding:12px 10px 18px}.sidebar-apps .sidebar-apps-btn{width:100%;justify-content:flex-start;background:#ffffff14;color:inherit;border-color:#fff3}.sidebar-apps .sidebar-apps-btn:hover{background:#ffffff29}.sidebar h2{margin-left:52px;font-size:20px}.dashboard-container{min-height:100vh;width:100%;background:radial-gradient(circle at top left,rgba(14,165,233,.12),transparent 28%),radial-gradient(circle at top right,rgba(34,197,94,.1),transparent 24%),linear-gradient(180deg,#f8fbff,#eef4f9);display:flex;flex-direction:column;align-items:stretch;padding:0}.dashboard-main{width:100%;min-width:0;transition:margin-left .28s ease,width .28s ease}@media(min-width:992px){.dashboard-container.sidebar-expanded .dashboard-main{margin-left:280px;width:calc(100% - 280px)}.dashboard-container.sidebar-collapsed .dashboard-main{margin-left:0;width:100%}}.dashboard-header{position:sticky;top:0;z-index:950;display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;padding:18px 16px 16px 72px;background:#ffffffe0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(226,232,240,.8);transition:padding .28s ease}.header-title{min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.dashboard-badge{display:inline-flex;align-items:center;gap:8px;width:fit-content;background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;font-size:12px;font-weight:700;padding:7px 12px;border-radius:999px;margin:0 auto 10px;box-shadow:0 10px 24px #0ea5e92e}.header-title h2{margin:0;font-size:clamp(22px,3vw,32px);line-height:1.15;color:#0f172a}.header-subtitle{margin:10px auto 0;color:#475569;font-size:14px;line-height:1.7;max-width:640px;text-align:center}.header-date{margin:8px auto 0;color:#0ea5e9;font-size:13px;font-weight:700;text-align:center}.header-right{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-shrink:0}.dashboard-content{width:100%;max-width:100%;padding:18px;margin-top:0;box-sizing:border-box;transition:padding .28s ease}.report-switcher{display:flex;gap:10px;justify-content:flex-start;margin:0 0 18px;flex-wrap:wrap}.report-switcher button{padding:12px 18px;border:1px solid rgba(14,165,233,.15);cursor:pointer;background:#fff;color:#334155;border-radius:14px;font-weight:700;transition:all .25s ease;box-shadow:0 10px 24px #0f172a0d}.report-switcher button:hover{transform:translateY(-1px);border-color:#0ea5e952}.report-switcher button.active{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;border-color:transparent;box-shadow:0 16px 30px #0ea5e938}.report-container{width:100%;transition:opacity .18s ease,transform .18s ease}.fade-in{opacity:1;transform:translateY(0)}.fade-out{opacity:0;transform:translateY(6px)}.report-card-shell{background:#fffffff0;border:1px solid rgba(226,232,240,.7);padding:20px;border-radius:24px;box-shadow:0 18px 42px #0f172a14}.report-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;flex-wrap:wrap}.report-topbar>div:first-child{flex:1;text-align:center}.report-title{margin:0;font-size:26px;font-weight:800;color:#0f172a}.report-subtitle{margin:8px 0 0;color:#64748b;font-size:14px;line-height:1.6}.report-filters{display:flex;gap:14px;flex-wrap:wrap;align-items:end;margin-bottom:18px}.form-group{display:flex;flex-direction:column;gap:8px;min-width:170px}.form-group label{font-size:13px;font-weight:700;color:#334155}.report-select{width:100%;border:1px solid #dbe2ea;border-radius:14px;padding:12px 14px;font-size:14px;color:#0f172a;background:#fff;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.report-select:focus{border-color:#0ea5e9;box-shadow:0 0 0 4px #0ea5e924}.refresh-btn{border:none;background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;padding:12px 16px;border-radius:14px;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 14px 30px #0ea5e933}.refresh-btn:hover{transform:translateY(-1px)}.report-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.report-summary-card{position:relative;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid rgba(226,232,240,.85);border-radius:20px;padding:18px;box-shadow:0 10px 24px #0f172a0d;overflow:hidden}.report-summary-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,#0ea5e9,#22c55e);border-radius:999px}.summary-label{display:block;font-size:12px;font-weight:700;color:#64748b;margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}.summary-value{display:block;font-size:28px;font-weight:800;color:#0f172a;line-height:1.15}.summary-subvalue{display:block;margin-top:8px;color:#0ea5e9;font-size:12px;font-weight:700}.report-section-card{width:100%;background:#fff;border-radius:22px;padding:18px;border:1px solid rgba(226,232,240,.9);box-shadow:0 10px 22px #0f172a0a;margin-bottom:18px}.report-section-header{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}.report-section-title{margin:0;font-size:18px;font-weight:800;color:#0f172a}.report-section-note{font-size:13px;color:#64748b}.chart-container{width:100%;background:#fff;border-radius:22px;padding:8px 2px 2px;border:1px solid rgba(226,232,240,.9);box-shadow:0 10px 22px #0f172a0a;margin-bottom:18px;overflow:hidden}.loading,.error-message,.report-empty{border-radius:20px;padding:18px;font-weight:600;text-align:center;border:1px solid rgba(226,232,240,.9);box-shadow:0 10px 22px #0f172a0a}.loading{color:#334155;background:linear-gradient(180deg,#fff,#f8fbff)}.error-message{color:#b91c1c;background:#fff5f5}.report-empty{color:#475569;background:linear-gradient(180deg,#fff,#f8fbff)}.dashboard-table-wrapper{width:100%;overflow-x:auto;background:#fff;border-radius:20px;border:1px solid rgba(226,232,240,.9);box-shadow:0 10px 22px #0f172a0a}.dashboard-table{width:100%;min-width:760px;border-collapse:collapse}.dashboard-table thead th{position:sticky;top:0;z-index:1;background:#f8fafc}.dashboard-table th,.dashboard-table td{padding:14px 12px;text-align:left;border-bottom:1px solid #e5e7eb;white-space:nowrap}.dashboard-table th{color:#334155;font-size:13px;font-weight:800}.dashboard-table td{color:#0f172a;font-size:14px}.dashboard-table tbody tr:nth-child(2n) td{background:#fbfdff}.dashboard-table tbody tr:hover td{background:#f1f8ff}.tap-and-tank-wrapper{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:16px;margin:18px 0;align-items:start}.animated-taps,.tank-status-container{background:#fff;border-radius:20px;border:1px solid rgba(226,232,240,.9);box-shadow:0 10px 22px #0f172a0a;padding:16px}.tap-container{display:flex;flex-direction:column;gap:12px}.tap-title,.tank-status-container h3{margin:0 0 8px;color:#0f172a;font-size:18px;font-weight:800}.tap-section{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tap{font-size:14px;font-weight:800;background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;padding:12px 16px;border-radius:14px;min-width:130px;text-align:center;transition:transform .2s ease-in-out}.shake{animation:shake .3s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-3px)}}.water-flow{width:8px;height:42px;background:linear-gradient(to bottom,#38bdf8,transparent);border-radius:999px;animation:flow 1s infinite linear}@keyframes flow{0%{height:8px;opacity:.5}to{height:42px;opacity:1}}.gallon{font-size:14px;font-weight:800;background:#22c55e;color:#fff;padding:10px 14px;border-radius:14px;display:inline-block}.pulse{animation:pulse .5s ease-in-out}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}.tank-status-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.tank-card{padding:14px;background:linear-gradient(180deg,#fff,#f8fbff);border-radius:16px;border:1px solid rgba(226,232,240,.9);transition:transform .2s ease,box-shadow .2s ease}.tank-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px #0f172a14}.tank-card h4{margin:0 0 10px;color:#0f172a;font-size:16px}.tank-info p{margin:6px 0;color:#475569;font-size:13px;line-height:1.5}.tank-bar{width:100%;height:150px;background:#e2e8f0;border-radius:12px;position:relative;overflow:hidden;margin-top:10px}.tank-fill{position:absolute;bottom:0;width:100%;background:linear-gradient(180deg,#38bdf8,#0284c7);transition:height .5s ease;border-radius:12px}.nav-icon-container{position:relative}.nav-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:#fff;border:1px solid rgba(226,232,240,.9);transition:background .2s ease,transform .2s ease;cursor:pointer;box-shadow:0 10px 22px #0f172a0d}.nav-icon-btn:hover{background:#f8fafc;transform:translateY(-1px)}.notification-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:999px;background:#ef4444;color:#fff;font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}.dropdown-menu{position:absolute;top:52px;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 18px 36px #0f172a24;width:280px;overflow:hidden;z-index:1000}.dropdown-menu.open{opacity:1;transform:translateY(0);visibility:visible}.dropdown-menu.closed{opacity:0;transform:translateY(-10px);visibility:hidden}.profile-header,.notification-header{padding:14px 16px;border-bottom:1px solid #e5e7eb;font-weight:800;background:#f8fafc;text-align:left}.profile-item{padding:12px 16px;display:flex;align-items:center;gap:10px;font-size:14px;color:#334155;cursor:pointer;transition:background .2s ease}.profile-item:hover{background:#f8fafc}.profile-item.logout{color:#dc2626}.notification-list{width:320px}.notification-header{display:flex;justify-content:space-between;align-items:center}.mark-read-btn{border:none;background:transparent;color:#0ea5e9;font-weight:700;cursor:pointer}.notification-content{max-height:320px;overflow-y:auto}.notification-item{padding:12px 16px;border-bottom:1px solid #f1f5f9}.notification-item.read{opacity:.75}.notification-item p{margin:0 0 6px;font-size:14px;color:#334155;line-height:1.5}.notification-time,.notification-empty{display:block;font-size:12px;color:#64748b}.profile-icon{font-size:20px;color:#333}@media(min-width:992px){.dashboard-container.sidebar-expanded .dashboard-header{padding:22px 24px 18px}.dashboard-container.sidebar-collapsed .dashboard-header{padding:22px 24px 18px 84px}.dashboard-content{width:100%;padding:24px}.chart-container{padding:8px 2px 2px}}@media(max-width:991px){.report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tap-and-tank-wrapper{grid-template-columns:1fr}}@media(max-width:640px){.dashboard-header{grid-template-columns:1fr;padding:16px 12px 14px 62px;align-items:center}.header-title h2{font-size:24px}.header-subtitle{font-size:13px;max-width:100%}.header-right{justify-content:center;gap:8px}.dashboard-content{padding:12px}.report-card-shell{padding:14px;border-radius:18px}.report-topbar,.report-filters{flex-direction:column;align-items:stretch}.form-group{min-width:100%}.report-summary-grid{grid-template-columns:1fr}.dashboard-table{min-width:660px}.dropdown-menu,.notification-list{width:min(320px,calc(100vw - 24px));right:-6px}.tap-section{align-items:stretch}.tap{min-width:unset;width:100%}.chart-container{padding:6px 0 0}}.latest-week{background-color:#ffeeba;font-weight:700}.latest-week td{background-color:#ecfeff!important;font-weight:700}.pdam-filter-grid,.pdam-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.pdam-summary-card,.pdam-result-card{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid rgba(226,232,240,.9);border-radius:20px;padding:18px;box-shadow:0 10px 24px #0f172a0d}.pdam-summary-card span,.pdam-result-card span{display:block;color:#64748b;font-size:12px;font-weight:700;text-transform:uppercase;margin-bottom:8px}.pdam-summary-card strong,.pdam-result-card strong{display:block;color:#0f172a;font-size:24px;font-weight:800;line-height:1.4}.pdam-summary-card small{display:block;margin-top:8px;color:#0ea5e9;font-size:12px;font-weight:700}.pdam-result-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.pdam-result-card.total{background:linear-gradient(135deg,#0ea5e91f,#22c55e1f)}.pdam-state-box{border-radius:20px;padding:18px;text-align:center;font-weight:600;background:#fff;border:1px solid rgba(226,232,240,.9);box-shadow:0 10px 22px #0f172a0a;color:#475569}.pdam-state-box.error{color:#b91c1c;background:#fff5f5}@media(max-width:991px){.pdam-filter-grid,.pdam-summary-grid,.pdam-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.pdam-filter-grid,.pdam-summary-grid,.pdam-result-grid{grid-template-columns:1fr}}.page-shell{display:flex;flex-direction:column;gap:18px}.page-hero-card{background:linear-gradient(135deg,#0ea5e91f,#22c55e1a);border:1px solid rgba(226,232,240,.9);border-radius:24px;padding:22px;box-shadow:0 14px 32px #0f172a0f}.page-hero-badge{display:inline-flex;width:fit-content;padding:7px 12px;border-radius:999px;background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;font-size:12px;font-weight:800;margin-bottom:10px}.page-hero-title{margin:0;font-size:28px;color:#0f172a;font-weight:800}.page-hero-subtitle{margin:10px 0 0;color:#475569;line-height:1.7;max-width:780px}.page-card{background:#fffffff0;border:1px solid rgba(226,232,240,.8);border-radius:24px;padding:20px;box-shadow:0 16px 36px #0f172a0f}.page-card-header{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;flex-wrap:wrap}.section-title{margin:0;font-size:22px;font-weight:800;color:#0f172a}.section-subtitle{margin:8px 0 0;color:#64748b;font-size:14px;line-height:1.6}.pos-grid-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.pos-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pos-product-card{border:1px solid rgba(226,232,240,.9);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 10px 20px #0f172a0a}.pos-product-image-wrap{width:100%;height:220px;background:#f8fafc}.pos-product-image{width:100%;height:100%;object-fit:cover}.pos-product-body{padding:16px}.pos-product-body h4{margin:0 0 12px;font-size:20px;color:#0f172a}.pos-price-stack{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;color:#475569;font-size:14px;font-weight:600}.pos-product-actions{display:grid;grid-template-columns:1fr;gap:10px}.pos-product-actions button,.primary-action-btn{border:none;border-radius:14px;padding:12px 14px;cursor:pointer;font-weight:800;transition:transform .2s ease,box-shadow .2s ease}.pos-product-actions button{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff}.pos-product-actions button.secondary{background:#e0f2fe;color:#0369a1}.pos-product-actions button:hover,.primary-action-btn:hover{transform:translateY(-1px)}.pos-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.mini-stat-card{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid rgba(226,232,240,.9);border-radius:18px;padding:14px 16px}.mini-stat-card span{display:block;font-size:12px;color:#64748b;font-weight:700;margin-bottom:8px;text-transform:uppercase}.mini-stat-card strong{font-size:24px;color:#0f172a}.cart-list{display:flex;flex-direction:column;gap:12px}.cart-item-card{display:flex;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid rgba(226,232,240,.9);border-radius:18px;background:#fff;flex-wrap:wrap}.cart-item-main{display:flex;flex-direction:column;gap:6px;color:#0f172a}.cart-item-main span{color:#64748b;font-size:14px}.cart-item-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-weight:700;color:#0f172a}.remove-btn,.delete-btn{border:none;padding:10px 14px;border-radius:12px;cursor:pointer;font-weight:700}.remove-btn{background:#fee2e2;color:#b91c1c}.delete-btn{background:#fff1f2;color:#be123c}.pos-cart-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;flex-wrap:wrap}.pos-total-box{display:flex;flex-direction:column;gap:6px}.pos-total-box span{color:#64748b;font-weight:700;font-size:13px}.pos-total-box strong{font-size:28px;color:#0f172a}.primary-action-btn{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 14px 28px #22c55e38}.info-message-box,.loading-state-box,.empty-state-box{margin-top:16px;border-radius:18px;padding:16px;text-align:center;font-weight:600;border:1px solid rgba(226,232,240,.9)}.info-message-box{background:#f0fdf4;color:#166534}.loading-state-box{background:#fff;color:#475569}.empty-state-box{background:#f8fbff;color:#64748b}.transaction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.transaction-modern-card{border:1px solid rgba(226,232,240,.9);border-radius:20px;padding:16px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 10px 22px #0f172a0a}.transaction-modern-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.transaction-label{display:block;color:#64748b;font-size:12px;font-weight:700;margin-bottom:6px;text-transform:uppercase}.transaction-modern-top h4{margin:0;color:#0f172a;font-size:18px}.transaction-detail-text{color:#475569;font-size:14px;line-height:1.7;min-height:72px}.transaction-modern-bottom{margin-top:16px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #e5e7eb;padding-top:12px}.transaction-modern-bottom span{color:#64748b;font-weight:700}.transaction-modern-bottom strong{color:#0f172a;font-size:18px}@media(max-width:991px){.pos-grid-layout,.transaction-grid{grid-template-columns:1fr}}@media(max-width:640px){.page-hero-card,.page-card{padding:16px;border-radius:18px}.page-hero-title{font-size:24px}.pos-product-grid,.pos-summary-grid{grid-template-columns:1fr}.pos-cart-footer{flex-direction:column;align-items:stretch}.primary-action-btn{width:100%}}.pendapatan-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.pendapatan-stat-card{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid rgba(226,232,240,.9);border-radius:20px;padding:18px;box-shadow:0 10px 24px #0f172a0d}.pendapatan-stat-card span{display:block;color:#64748b;font-size:12px;font-weight:700;text-transform:uppercase;margin-bottom:8px}.pendapatan-stat-card strong{display:block;font-size:26px;color:#0f172a;font-weight:800;line-height:1.2}.pendapatan-stat-card small{display:block;margin-top:8px;color:#0ea5e9;font-size:12px;font-weight:700}.pendapatan-input-card{margin-top:18px;max-width:340px;display:flex;flex-direction:column;gap:8px}.pendapatan-input-card label{color:#334155;font-size:13px;font-weight:700}.pendapatan-input-card input{border:1px solid #dbe2ea;border-radius:14px;padding:12px 14px;font-size:14px;color:#0f172a;background:#fff;outline:none}.pendapatan-input-card input:focus{border-color:#0ea5e9;box-shadow:0 0 0 4px #0ea5e924}.pendapatan-chart-wrap{width:100%;background:#fff;border-radius:20px;border:1px solid rgba(226,232,240,.9);padding:8px 2px 2px;overflow:hidden}.pendapatan-table-wrap{width:100%;overflow-x:auto;background:#fff;border-radius:20px;border:1px solid rgba(226,232,240,.9)}.pendapatan-table-modern{width:100%;min-width:680px;border-collapse:collapse}.pendapatan-table-modern th,.pendapatan-table-modern td{padding:14px 12px;border-bottom:1px solid #e5e7eb;text-align:left;white-space:nowrap}.pendapatan-table-modern th{background:#f8fafc;color:#334155;font-size:13px;font-weight:800}.pendapatan-table-modern tbody tr:nth-child(2n) td{background:#fbfdff}.pendapatan-table-modern tbody tr:hover td{background:#f1f8ff}.state-box{border-radius:20px;padding:18px;text-align:center;font-weight:600;background:#fff;border:1px solid rgba(226,232,240,.9);box-shadow:0 10px 22px #0f172a0a;color:#475569}.state-box.error{color:#b91c1c;background:#fff5f5}@media(max-width:991px){.pendapatan-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.pendapatan-summary-grid{grid-template-columns:1fr}.pendapatan-input-card{max-width:100%}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.leaflet-draw-section{position:relative}.leaflet-draw-toolbar{margin-top:12px}.leaflet-draw-toolbar-top{margin-top:0}.leaflet-draw-toolbar-notop a:first-child{border-top-right-radius:0}.leaflet-draw-toolbar-nobottom a:last-child{border-bottom-right-radius:0}.leaflet-draw-toolbar a{background-image:url(data:image/png;base64,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);background-image:linear-gradient(transparent,transparent),url(/assets/spritesheet-DpIxuf5L.svg);background-repeat:no-repeat;background-size:300px 30px;background-clip:padding-box}.leaflet-retina .leaflet-draw-toolbar a{background-image:url(data:image/png;base64,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);background-image:linear-gradient(transparent,transparent),url(/assets/spritesheet-DpIxuf5L.svg)}.leaflet-draw a{display:block;text-align:center;text-decoration:none}.leaflet-draw a .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.leaflet-draw-actions{display:none;list-style:none;margin:0;padding:0;position:absolute;left:26px;top:0;white-space:nowrap}.leaflet-touch .leaflet-draw-actions{left:32px}.leaflet-right .leaflet-draw-actions{right:26px;left:auto}.leaflet-touch .leaflet-right .leaflet-draw-actions{right:32px;left:auto}.leaflet-draw-actions li{display:inline-block}.leaflet-draw-actions li:first-child a{border-left:0}.leaflet-draw-actions li:last-child a{-webkit-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.leaflet-right .leaflet-draw-actions li:last-child a{-webkit-border-radius:0;border-radius:0}.leaflet-right .leaflet-draw-actions li:first-child a{-webkit-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.leaflet-draw-actions a{background-color:#919187;border-left:1px solid #AAA;color:#fff;font:11px/19px Helvetica Neue,Arial,Helvetica,sans-serif;line-height:28px;text-decoration:none;padding-left:10px;padding-right:10px;height:28px}.leaflet-touch .leaflet-draw-actions a{font-size:12px;line-height:30px;height:30px}.leaflet-draw-actions-bottom{margin-top:0}.leaflet-draw-actions-top{margin-top:1px}.leaflet-draw-actions-top a,.leaflet-draw-actions-bottom a{height:27px;line-height:27px}.leaflet-draw-actions a:hover{background-color:#a0a098}.leaflet-draw-actions-top.leaflet-draw-actions-bottom a{height:26px;line-height:26px}.leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:-2px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:0 -1px}.leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-31px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-29px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-62px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-60px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-92px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-90px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-122px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-120px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-273px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-271px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-152px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-150px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-182px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-180px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-212px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-210px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-242px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-240px -2px}.leaflet-mouse-marker{background-color:#fff;cursor:crosshair}.leaflet-draw-tooltip{background:#363636;background:#00000080;border:1px solid transparent;-webkit-border-radius:4px;border-radius:4px;color:#fff;font:12px/18px Helvetica Neue,Arial,Helvetica,sans-serif;margin-left:20px;margin-top:-21px;padding:4px 8px;position:absolute;visibility:hidden;white-space:nowrap;z-index:6}.leaflet-draw-tooltip:before{border-right:6px solid black;border-right-color:#00000080;border-top:6px solid transparent;border-bottom:6px solid transparent;content:"";position:absolute;top:7px;left:-7px}.leaflet-error-draw-tooltip{background-color:#f2dede;border:1px solid #e6b6bd;color:#b94a48}.leaflet-error-draw-tooltip:before{border-right-color:#e6b6bd}.leaflet-draw-tooltip-single{margin-top:-12px}.leaflet-draw-tooltip-subtext{color:#f8d5e4}.leaflet-draw-guide-dash{font-size:1%;opacity:.6;position:absolute;width:5px;height:5px}.leaflet-edit-marker-selected{background-color:#fe57a11a;border:4px dashed rgba(254,87,161,.6);-webkit-border-radius:4px;border-radius:4px;box-sizing:content-box}.leaflet-edit-move{cursor:move}.leaflet-edit-resize{cursor:pointer}.leaflet-oldie .leaflet-draw-toolbar{border:1px solid #999}.trek-map-card{width:100%;height:520px;border-radius:22px;overflow:hidden;border:1px solid rgba(226,232,240,.9);box-shadow:0 10px 24px #0f172a0d}.trek-map{width:100%;height:100%}.trek-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.trek-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.trek-stat-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.trek-stat-card{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid rgba(226,232,240,.9);border-radius:20px;padding:18px;box-shadow:0 10px 24px #0f172a0d}.trek-stat-card.full{grid-column:1 / -1}.trek-stat-card span{display:block;color:#64748b;font-size:12px;font-weight:700;text-transform:uppercase;margin-bottom:8px}.trek-stat-card strong{display:block;color:#0f172a;font-size:24px;font-weight:800;line-height:1.4}.success-text{color:#16a34a!important}.danger-text{color:#dc2626!important}.trek-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.trek-action-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.primary-action-btn.tracker-blue{background:linear-gradient(135deg,#0ea5e9,#0284c7)}.primary-action-btn.tracker-green{background:linear-gradient(135deg,#22c55e,#16a34a)}.trek-fuel-box{margin-top:18px;max-width:280px;display:flex;flex-direction:column;gap:8px}.trek-fuel-box label{font-size:13px;font-weight:700;color:#334155}.trek-chart-card{width:100%;background:#fff;border-radius:20px;border:1px solid rgba(226,232,240,.9);padding:18px}.trek-state-box{border-radius:20px;padding:18px;text-align:center;font-weight:600;background:#fff;border:1px solid rgba(226,232,240,.9);box-shadow:0 10px 22px #0f172a0a;color:#475569}.trek-state-box.error{color:#b91c1c;background:#fff5f5}@media(max-width:991px){.trek-dashboard-grid{grid-template-columns:1fr}.trek-stat-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.trek-map-card{height:420px;border-radius:18px}.trek-stat-grid,.trek-filter-grid,.trek-stat-grid.four{grid-template-columns:1fr}.trek-action-row{flex-direction:column}.trek-fuel-box{max-width:100%}}.profile-layout-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:18px}.profile-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.profile-info-card{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid rgba(226,232,240,.9);border-radius:20px;padding:18px;box-shadow:0 10px 24px #0f172a0d}.profile-info-card.full{grid-column:1 / -1}.profile-info-card span{display:block;color:#64748b;font-size:12px;font-weight:700;text-transform:uppercase;margin-bottom:8px}.profile-info-card strong{display:block;color:#0f172a;font-size:22px;font-weight:800;line-height:1.4}.profile-side-card{display:flex;flex-direction:column;justify-content:space-between}.profile-avatar-box{display:flex;flex-direction:column;align-items:center;text-align:center}.profile-avatar-circle{width:96px;height:96px;border-radius:999px;background:linear-gradient(135deg,#0ea5e9,#22c55e);color:#fff;display:flex;align-items:center;justify-content:center;font-size:38px;font-weight:800;margin-bottom:14px;box-shadow:0 18px 36px #0ea5e933}.profile-avatar-box h3{margin:0;font-size:24px;color:#0f172a}.profile-avatar-box p{margin:8px 0 0;color:#64748b;font-size:14px}.profile-action-box{margin-top:22px}.logout-modern-btn{width:100%;border:none;padding:13px 16px;border-radius:14px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-weight:800;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 14px 28px #ef444433}.logout-modern-btn:hover{transform:translateY(-1px)}.profile-state-box{border-radius:20px;padding:18px;text-align:center;font-weight:600;background:#fff;border:1px solid rgba(226,232,240,.9);box-shadow:0 10px 22px #0f172a0a;color:#475569}.profile-state-box.error{color:#b91c1c;background:#fff5f5}@media(max-width:991px){.profile-layout-grid{grid-template-columns:1fr}}@media(max-width:640px){.profile-info-grid{grid-template-columns:1fr}.profile-info-card.full{grid-column:auto}.profile-avatar-circle{width:84px;height:84px;font-size:32px}.profile-avatar-box h3{font-size:22px}}.article-container{max-width:960px;margin:40px auto;padding:30px;background-color:#fff;border-radius:12px;box-shadow:0 10px 30px #00000014;text-align:left;line-height:1.7;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#333}.article-title{font-size:2.8em;color:#007bff;text-align:center;margin-bottom:30px;line-height:1.2;font-weight:700}.article-intro{font-size:1.15em;color:#555;margin-bottom:40px;text-align:justify;border-left:5px solid #007bff;padding-left:15px;font-style:italic}.article-subtitle{font-size:2.2em;color:#0056b3;margin-top:40px;margin-bottom:25px;border-bottom:2px solid #e9ecef;padding-bottom:10px;font-weight:600}.section-heading{font-size:1.7em;color:#007bff;margin-top:35px;margin-bottom:15px;font-weight:600;position:relative;padding-left:15px}.section-heading:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:8px;height:8px;background-color:#28a745;border-radius:50%}.article-container p{font-size:1.05em;color:#444;margin-bottom:20px;text-align:justify}.article-container ul{list-style-type:disc;padding-left:40px;margin-bottom:20px}.article-container ul li{margin-bottom:8px;color:#444}.article-container strong{color:#0056b3;font-weight:700}.article-conclusion{font-size:1.1em;color:#333;margin-top:40px;text-align:center;font-weight:500;padding:20px;background-color:#e9f5ff;border-radius:8px;border:1px solid #cce5ff}@media(max-width:768px){.article-container{margin:20px auto;padding:20px;border-radius:8px}.article-title{font-size:2.2em;margin-bottom:20px}.article-intro{font-size:1em;margin-bottom:30px;padding-left:10px}.article-subtitle{font-size:1.8em;margin-top:30px;margin-bottom:20px}.section-heading{font-size:1.4em;margin-top:25px}.article-container p{font-size:.95em}.article-container ul{padding-left:25px}}@media(max-width:480px){.article-container{margin:10px auto;padding:15px}.article-title{font-size:1.8em}.article-subtitle{font-size:1.5em}.section-heading{font-size:1.2em}}.register-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(to right,#6dd5ed,#2193b0);padding:20px;box-sizing:border-box}.register-box{background-color:#fff;padding:30px;border-radius:10px;box-shadow:0 5px 15px #0003;max-width:900px;width:100%;text-align:center;position:relative;box-sizing:border-box;margin-bottom:20px}.btn-back{position:absolute;top:15px;left:15px;background-color:#6c757d;color:#fff;border:none;padding:8px 12px;border-radius:5px;cursor:pointer;font-size:14px;transition:background-color .3s ease}.btn-back:hover{background-color:#5a6268}.register-box h2{margin-bottom:25px;color:#333;font-size:2em}.form-two-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.column-left,.column-right{display:flex;flex-direction:column;gap:10px}.column-left h3,.column-right h3{text-align:left;color:#007bff;margin-top:5px;margin-bottom:10px;font-size:1.2em;border-bottom:1px solid #eee;padding-bottom:5px}.input-group{margin-bottom:0}.input-group input{width:calc(100% - 20px);padding:8px;border:1px solid #ccc;border-radius:5px;font-size:.9em;box-sizing:border-box}.sensor-pair-group,.tank-pair-group{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.sensor-pair-group .input-group,.tank-pair-group .input-group{margin-bottom:0}.sensor-pair-group input,.tank-pair-group input{margin-bottom:0;padding:8px;font-size:.9em}.btn-register{width:100%;padding:12px;background-color:#007bff;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1.1em;margin-top:20px;transition:background-color .3s ease}.btn-register:hover{background-color:#0056b3}.register-box p{margin-top:15px;font-size:.9em;color:#555}.register-box p a{color:#007bff;text-decoration:none}.register-box p a:hover{text-decoration:underline}@media(max-width:768px){.form-two-columns{grid-template-columns:1fr;gap:15px}.register-box{padding:20px}.register-box h2{font-size:1.8em}.input-group input,.sensor-pair-group input,.tank-pair-group input{width:100%}.sensor-pair-group,.tank-pair-group{grid-template-columns:1fr}.column-left,.column-right{gap:5px}}.admin-panel-container{max-width:1000px;margin:20px auto;padding:25px;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000014;background-color:#fff}.admin-panel-container h2{text-align:center;color:#333;margin-bottom:25px;font-size:2em}.requests-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:20px}.request-card{border:1px solid #e0e0e0;border-radius:8px;padding:15px;background-color:#f9f9f9;box-shadow:0 2px 5px #0000000d;display:flex;flex-direction:column;justify-content:space-between}.request-card h3{color:#007bff;margin-top:0;margin-bottom:10px;font-size:1.3em}.request-card p{font-size:.9em;color:#555;margin-bottom:5px}.request-card h4{font-size:1em;color:#444;margin-top:10px;margin-bottom:5px;border-bottom:1px dashed #eee;padding-bottom:3px}.request-card .actions button{padding:8px 12px;border:none;border-radius:5px;cursor:pointer;font-size:.9em;transition:background-color .3s ease;margin-top:10px}.request-card .actions button:first-child{margin-right:10px}.request-card .actions button:hover:not(:disabled){opacity:.9}.request-card .actions button:disabled{background-color:#ccc;cursor:not-allowed}.error-message{color:#dc3545;background-color:#f8d7da;border:1px solid #f5c6cb;padding:10px;border-radius:5px;margin-bottom:20px;text-align:center}.success-message{color:#28a745;background-color:#d4edda;border:1px solid #c3e6cb;padding:10px;border-radius:5px;margin-bottom:20px;text-align:center}.superadmin-tables-container{padding:40px;background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:60px auto;max-width:1300px;width:150%;box-sizing:border-box}.superadmin-tables-container h2{color:#343a40;margin-bottom:20px;text-align:center}.table-selector{margin-bottom:20px;text-align:center}.table-selector label{margin-right:10px;font-weight:700;color:#495057}.table-selector select{padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:1em;background-color:#fff}.table-responsive{overflow-x:auto}.superadmin-tables-container table{width:100%;border-collapse:collapse;margin-top:20px;background-color:#fff;border-radius:8px;overflow:hidden}.superadmin-tables-container th,.superadmin-tables-container td{padding:12px 15px;border:1px solid #dee2e6;text-align:left}.superadmin-tables-container th.sortable-header{cursor:pointer;position:relative}.superadmin-tables-container th.sortable-header:hover{background-color:#dbe2e6}.superadmin-tables-container th .sort-icon{margin-left:5px;font-size:.8em;vertical-align:middle}.superadmin-tables-container th{background-color:#e9ecef;font-weight:700;color:#495057;text-transform:capitalize}.superadmin-tables-container tbody tr:nth-child(2n){background-color:#f2f2f2}.superadmin-tables-container tbody tr:hover{background-color:#e2f0ff}.superadmin-tables-container input[type=text],.superadmin-tables-container input[type=number],.superadmin-tables-container input[type=password]{width:calc(100% - 10px);padding:6px;border:1px solid #ced4da;border-radius:4px;font-size:.9em}.superadmin-tables-container input[type=checkbox]{transform:scale(1.2);margin-left:5px}.actions button{padding:8px 12px;margin-right:5px;border:none;border-radius:5px;cursor:pointer;font-size:.9em;transition:background-color .2s ease}.btn-edit{background-color:#ffc107;color:#fff}.btn-save{background-color:#28a745;color:#fff}.btn-save:hover{background-color:#218838}.btn-cancel{background-color:#dc3545;color:#fff}.btn-cancel:hover{background-color:#c82333}.pagination-controls{display:flex;justify-content:center;align-items:center;margin-top:20px;gap:10px}.pagination-controls button{padding:8px 15px;background-color:#007bff;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1em}.pagination-controls button:disabled{background-color:#6c757d;cursor:not-allowed}.pagination-controls span{font-weight:700;color:#343a40}.pagination-controls select{padding:6px 10px;border:1px solid #ced4da;border-radius:4px;font-size:.9em}.controls-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:0 10px;flex-wrap:wrap;gap:15px}.search-input-container{position:relative;display:flex;align-items:center;flex-grow:1;max-width:300px}.search-input-container input{width:100%;padding:8px 12px 8px 35px;border:1px solid #ced4da;border-radius:4px;font-size:1em;box-sizing:border-box}.search-input-container .search-icon{position:absolute;left:10px;color:#6c757d;font-size:1.1em}.webgis-container{display:flex;flex-direction:column;height:calc(100vh - 60px);padding:10px;background-color:#f0f2f5;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;position:relative}.webgis-title{text-align:center;color:#333;margin-bottom:15px;font-size:1.8em;font-weight:600}.controls-panel{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;background-color:#fff;padding:15px 20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:15px;gap:15px}.search-filter-group{display:flex;gap:10px;flex-wrap:wrap;flex-grow:1}.search-input-container{position:relative;flex-grow:1;min-width:180px;max-width:300px}.search-input-container input{width:100%;padding:8px 12px 8px 35px;border:1px solid #ddd;border-radius:5px;font-size:1em;box-shadow:inset 0 1px 2px #0000000d}.search-input-container .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#888}.controls-panel select{padding:8px 12px;border:1px solid #ddd;border-radius:5px;font-size:1em;background-color:#fff;box-shadow:inset 0 1px 2px #0000000d;min-width:150px}.btn-export{background-color:#28a745;color:#fff;padding:10px 15px;border:none;border-radius:5px;cursor:pointer;font-size:1em;display:flex;align-items:center;gap:5px;transition:background-color .2s ease}.btn-export:hover{background-color:#218838}.summary-box{background-color:#fff;padding:10px 15px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:15px;font-size:.9em;text-align:center;color:#555;font-weight:500}#map{flex-grow:1;min-height:400px;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a;z-index:0}.legend{background:#fffffff2;padding:12px;border-radius:8px;box-shadow:0 2px 5px #0003;position:absolute;bottom:20px;left:20px;z-index:999;font-size:14px;color:#333;display:flex;flex-direction:column;gap:8px}.legend b{font-size:1.1em;color:#007bff}.legend div{display:flex;align-items:center}.btn-add-point{background-color:#007bff;color:#fff;padding:8px 12px;border:none;border-radius:5px;cursor:pointer;font-size:.9em;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:5px;transition:background-color .2s ease}.btn-add-point:hover{background-color:#0056b3}.add-form-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.add-form-card{background:#fff;padding:25px;border-radius:10px;box-shadow:0 5px 15px #0000004d;font-size:14px;width:90vw;max-width:450px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.add-form-card h3{text-align:center;color:#007bff;margin-bottom:15px;font-size:1.5em}.add-form-card input,.add-form-card textarea,.add-form-card select{width:100%;padding:10px;margin-bottom:5px;border:1px solid #ccc;border-radius:4px;font-size:1em;box-sizing:border-box}.coords-input-group{display:flex;gap:10px}.coords-input-group input{flex:1}.add-form-card button{width:100%;padding:10px;margin-top:10px;border:none;border-radius:5px;cursor:pointer;font-size:1em;color:#fff;transition:background-color .2s ease}.btn-save-new{background-color:#007bff}.btn-save-new:hover{background-color:#0056b3}.btn-close-form{background-color:#6c757d}.btn-close-form:hover{background-color:#5a6268}.form-tip{font-size:.8em;color:#777;text-align:center;margin-top:5px}.loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#fffc;display:flex;justify-content:center;align-items:center;z-index:998;font-size:1.5em;color:#007bff;border-radius:8px}@media(max-width:768px){.controls-panel{flex-direction:column;align-items:stretch}.search-filter-group{width:100%;justify-content:center}.controls-panel select,.btn-export{width:100%}.legend{left:50%;transform:translate(-50%);width:calc(100% - 40px);bottom:10px}.add-form-card{padding:15px}}.manage-accounts-container{padding:20px;background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:20px auto;max-width:900px;width:95%;box-sizing:border-box;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.manage-accounts-container h2{text-align:center;color:#343a40;margin-bottom:25px;font-size:2em;font-weight:600}.btn-refresh{display:block;margin:0 auto 20px;padding:10px 20px;background-color:#007bff;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1em;transition:background-color .2s ease}.btn-refresh:hover:not(:disabled){background-color:#0056b3}.btn-refresh:disabled{background-color:#a0c0e0;cursor:not-allowed}.accounts-list{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.account-card{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 5px #0000001a;display:flex;flex-direction:column;justify-content:space-between}.account-info b{color:#555}.account-info{margin-bottom:15px;line-height:1.6}.btn-edit{background-color:#ffc107;color:#fff;padding:8px 15px;border:none;border-radius:5px;cursor:pointer;font-size:.9em;display:flex;align-items:center;gap:5px;justify-content:center;transition:background-color .2s ease;margin-top:10px}.btn-edit:hover{background-color:#e0a800}.edit-form{border-top:1px solid #eee;padding-top:15px;margin-top:15px}.edit-form h4{color:#007bff;margin-bottom:15px;font-size:1.2em;text-align:center}.edit-form label{display:block;margin-bottom:5px;font-weight:500;color:#495057}.edit-form input[type=text],.edit-form input[type=password]{width:100%;padding:10px;margin-bottom:10px;border:1px solid #ced4da;border-radius:4px;font-size:1em;box-sizing:border-box}.edit-form .btn-action{background-color:#007bff;color:#fff;padding:10px 15px;border:none;border-radius:5px;cursor:pointer;font-size:1em;display:flex;align-items:center;gap:5px;justify-content:center;width:100%;margin-top:10px;transition:background-color .2s ease}.edit-form .btn-action:hover:not(:disabled){background-color:#0056b3}.edit-form .btn-action:disabled{background-color:#a0c0e0;cursor:not-allowed}.edit-form .btn-cancel{background-color:#6c757d;color:#fff;margin-top:10px}.edit-form .btn-cancel:hover{background-color:#5a6268}.error-message{color:#dc3545;background-color:#f8d7da;border:1px solid #f5c6cb;padding:10px;margin-bottom:15px;border-radius:5px;text-align:center}.success-message{color:#28a745;background-color:#d4edda;border:1px solid #c3e6cb;padding:10px;margin-bottom:15px;border-radius:5px;text-align:center}@media(max-width:768px){.manage-accounts-container{margin:10px auto;padding:15px}.accounts-list{grid-template-columns:1fr}}.leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow{-webkit-transition:-webkit-transform .3s ease-out,opacity .3s ease-in;-moz-transition:-moz-transform .3s ease-out,opacity .3s ease-in;-o-transition:-o-transform .3s ease-out,opacity .3s ease-in;transition:transform .3s ease-out,opacity .3s ease-in}.leaflet-cluster-spider-leg{-webkit-transition:-webkit-stroke-dashoffset .3s ease-out,-webkit-stroke-opacity .3s ease-in;-moz-transition:-moz-stroke-dashoffset .3s ease-out,-moz-stroke-opacity .3s ease-in;-o-transition:-o-stroke-dashoffset .3s ease-out,-o-stroke-opacity .3s ease-in;transition:stroke-dashoffset .3s ease-out,stroke-opacity .3s ease-in}.marker-cluster-small{background-color:#b5e28c99}.marker-cluster-small div{background-color:#6ecc3999}.marker-cluster-medium{background-color:#f1d35799}.marker-cluster-medium div{background-color:#f0c20c99}.marker-cluster-large{background-color:#fd9c7399}.marker-cluster-large div{background-color:#f1801799}.leaflet-oldie .marker-cluster-small{background-color:#b5e28c}.leaflet-oldie .marker-cluster-small div{background-color:#6ecc39}.leaflet-oldie .marker-cluster-medium{background-color:#f1d357}.leaflet-oldie .marker-cluster-medium div{background-color:#f0c20c}.leaflet-oldie .marker-cluster-large{background-color:#fd9c73}.leaflet-oldie .marker-cluster-large div{background-color:#f18017}.marker-cluster{background-clip:padding-box;border-radius:20px}.marker-cluster div{width:30px;height:30px;margin-left:5px;margin-top:5px;text-align:center;border-radius:15px;font:12px Helvetica Neue,Arial,Helvetica,sans-serif}.marker-cluster span{line-height:30px}.sebaran-map-container{padding:30px;background-color:#f0f2f5;min-height:calc(100vh - 120px);display:flex;flex-direction:column;align-items:center;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;position:relative}.sebaran-map-title{font-size:2.5em;color:#007bff;margin-bottom:15px;text-align:center;font-weight:600}.sebaran-map-intro{font-size:1.1em;color:#555;text-align:center;margin-bottom:30px;max-width:800px;line-height:1.6}#map-sebaran{height:600px;width:95%;max-width:1200px;margin:0 auto;border-radius:8px;box-shadow:0 4px 15px #0000001a;background-color:#e0e0e0;z-index:0}.sebaran-legend{background:#fffffff2;padding:15px;border-radius:8px;box-shadow:0 2px 5px #0003;position:absolute;bottom:20px;right:20px;z-index:999;font-size:14px;color:#333;display:flex;flex-direction:column;gap:8px;min-width:150px}.sebaran-legend b{font-size:1.1em;color:#007bff;margin-bottom:5px}.sebaran-legend div{display:flex;align-items:center}.dot{display:inline-block;width:14px;height:14px;margin-right:8px;border-radius:50%;border:1px solid rgba(0,0,0,.3)}.green-dot{background:#28a745}.red-dot{background:#dc3545}.orange-dot{background:#ffc107}.map-loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#fffc;display:flex;justify-content:center;align-items:center;z-index:1;font-size:1.5em;color:#007bff;border-radius:8px}.error-message{color:#dc3545;background-color:#f8d7da;border:1px solid #f5c6cb;padding:10px;margin-bottom:15px;border-radius:5px;text-align:center;width:90%;max-width:800px;z-index:2}@media(max-width:768px){.sebaran-map-title{font-size:1.8em}.sebaran-map-intro{font-size:.95em;margin-bottom:20px}#map-sebaran{height:400px;width:100%}.sebaran-legend{bottom:10px;right:10px;left:10px;width:auto;transform:none}}@media(max-width:480px){.sebaran-map-container{padding:15px}.sebaran-map-title{font-size:1.5em}.sebaran-legend{font-size:12px;padding:10px}}.smart-weather-dashboard-container{padding:30px;background-color:#f8f9fa;min-height:calc(100vh - 120px);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#333}.smart-weather-dashboard-container h2{font-size:2.2em;color:#007bff;text-align:center;margin-bottom:20px;font-weight:600}.intro-text{text-align:center;font-size:1.1em;color:#555;margin-bottom:30px}.refresh-btn{display:block;margin:0 auto 30px;padding:10px 20px;background-color:#28a745;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1em;transition:background-color .2s ease,transform .2s ease}.refresh-btn:hover{background-color:#218838;transform:translateY(-2px)}.devices-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:30px;justify-content:center}.device-card{background-color:#fff;padding:25px;border-radius:12px;box-shadow:0 5px 15px #00000014;transition:transform .3s ease;display:flex;flex-direction:column;align-items:center}.device-card:hover{transform:translateY(-5px)}.device-card h3{font-size:1.8em;color:#0056b3;margin-bottom:15px;font-weight:700;text-align:center;width:100%;display:flex;align-items:center;justify-content:center;gap:10px}.device-online-icon{color:#28a745;font-size:.8em}.device-card p{font-size:.95em;margin-bottom:8px;line-height:1.5;text-align:left;width:100%}.device-card h4{font-size:1.2em;color:#007bff;margin-top:25px;margin-bottom:15px;padding-bottom:8px;border-bottom:2px solid #e9ecef;text-align:center;width:100%}.sensor-readings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:15px;width:100%;margin-top:10px;justify-content:center}.sensor-reading-box{background-color:#fefefe;border:1px solid #e0e0e0;border-radius:10px;padding:15px;box-shadow:0 2px 10px #0000000d;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transition:all .3s ease-in-out;position:relative;overflow:hidden}.sensor-reading-box:hover{transform:translateY(-3px);box-shadow:0 5px 15px #0000001a}.sensor-box-icon{font-size:2.2em;color:#007bff;margin-bottom:10px;position:relative;z-index:2}.sensor-box-info p{margin:0;line-height:1.3;font-size:.9em;color:#555;text-align:center}.sensor-box-name{font-weight:600;color:#333;font-size:1em;margin-bottom:5px}.sensor-box-label{font-size:.85em;color:#777}.sensor-box-value{font-size:1.8em;font-weight:700;color:#333;margin:5px 0;animation:valueChange .5s ease-out}@keyframes valueChange{0%{transform:scale(.9);opacity:.5}to{transform:scale(1);opacity:1}}.sensor-box-timestamp{font-size:.75em;color:#999;margin-top:5px}.sensor-reading-box .view-detail-btn{margin-top:10px;padding:4px 8px;font-size:.75em}.sensor-reading-box.status-normal{border-color:#28a745}.sensor-reading-box.status-alert{border-color:#dc3545;animation:pulseRed 1.5s infinite alternate}.sensor-reading-box.status-inactive{border-color:#6c757d;opacity:.7}@keyframes pulseRed{0%{box-shadow:0 0 #dc354566}70%{box-shadow:0 0 0 10px #dc354500}to{box-shadow:0 0 #dc354500}}.no-sensor-message{text-align:center;color:#777;font-style:italic;width:100%}.smart-dashboard-loading,.smart-dashboard-error-message{text-align:center;padding:50px;font-size:1.2em;color:#555}.smart-dashboard-error-message{color:#dc3545;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:8px}@media(max-width:768px){.smart-weather-dashboard-container{padding:20px}.devices-grid{grid-template-columns:1fr}.device-card{padding:20px}.sensor-readings-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.sensor-item{flex-direction:row;align-items:center;gap:10px;justify-content:space-between}.sensor-item button{align-self:center}.sensor-reading-box{padding:10px}.sensor-box-icon{font-size:1.8em}.sensor-box-value{font-size:1.5em}}@media(max-width:480px){.smart-weather-dashboard-container h2{font-size:1.8em}.intro-text{font-size:1em}.refresh-btn{font-size:.9em;padding:8px 15px}.device-card h3{font-size:1.5em}.sensor-readings-grid{grid-template-columns:repeat(2,1fr)}}.smart-sensor-detail-container{padding:30px;background-color:#f8f9fa;min-height:calc(100vh - 120px);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#333}.back-btn{background:none;border:1px solid #007bff;color:#007bff;padding:8px 15px;border-radius:5px;cursor:pointer;font-size:.9em;margin-bottom:25px;display:flex;align-items:center;gap:8px;transition:all .2s ease}.back-btn:hover{background-color:#007bff;color:#fff;transform:translateY(-2px)}.smart-sensor-detail-container h2{font-size:2.2em;color:#0056b3;margin-bottom:10px;font-weight:600;display:flex;align-items:center;gap:10px}.smart-sensor-detail-container h2 .sensor-icon{font-size:1.5em;color:#007bff}.intro-text{font-size:1.1em;color:#555;margin-bottom:30px}.sensor-info-card,.sensor-readings-card,.raw-readings-table-card{background-color:#fff;padding:25px;border-radius:12px;box-shadow:0 5px 15px #00000014;margin-bottom:30px}.sensor-info-card h3,.sensor-readings-card h3,.raw-readings-table-card h3{font-size:1.5em;color:#007bff;margin-bottom:20px;font-weight:600;text-align:center}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:15px}.info-grid p{margin-bottom:5px;font-size:.95em}.info-grid p strong{color:#333}.chart-controls{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:15px;margin-bottom:25px;padding:15px;background-color:#f0f8ff;border-radius:10px;box-shadow:inset 0 0 8px #0000000d}.chart-controls label{font-weight:500;color:#333}.chart-controls select{padding:8px 12px;border:1px solid #ced4da;border-radius:5px;font-size:1em;background-color:#fff}.refresh-readings-btn{display:flex;align-items:center;gap:8px;padding:8px 15px;background-color:#28a745;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:.95em;transition:background-color .2s ease,transform .2s ease;margin:0}.refresh-readings-btn:hover{background-color:#218838;transform:translateY(-2px)}.chart-container{max-width:900px;margin:0 auto;background-color:#fdfdfd;padding:20px;border-radius:10px;box-shadow:inset 0 0 10px #0000000d;height:400px}.raw-readings-table-card .table-wrapper{overflow-x:auto;max-height:400px;border:1px solid #eee;border-radius:8px;overflow-y:auto}.raw-readings-table-card table{width:100%;border-collapse:collapse;min-width:500px}.raw-readings-table-card th,.raw-readings-table-card td{border:1px solid #e0e0e0;padding:12px;text-align:left;font-size:.9em}.raw-readings-table-card th{background-color:#e9ecef;color:#495057;font-weight:600;position:sticky;top:0;z-index:1}.raw-readings-table-card tbody tr:nth-child(2n){background-color:#f2f2f2}.raw-readings-table-card tbody tr:hover{background-color:#e6f7ff}.sensor-detail-loading,.sensor-detail-error-message,.sensor-detail-not-found{text-align:center;padding:50px;font-size:1.2em;color:#555;background-color:#fff;border-radius:12px;box-shadow:0 5px 15px #00000014;margin:30px auto;max-width:600px}.sensor-detail-error-message{color:#dc3545;background-color:#f8d7da;border:1px solid #f5c6cb}@media(max-width:768px){.smart-sensor-detail-container{padding:20px}.back-btn{margin-bottom:20px}.info-grid{grid-template-columns:1fr}.chart-controls{flex-direction:column;align-items:stretch}.chart-controls select,.refresh-readings-btn{width:100%}.chart-container{padding:15px;height:300px}.raw-readings-table-card table{min-width:unset}}:root{--primary-color: #388e3c;--primary-light: #66bb6a;--background-color: #f5f5f5;--card-bg-color: #ffffff;--text-color: #333;--text-light: #777;--success-color: #4caf50;--warning-color: #ff9800;--error-color: #f44336}.sf-dashboard-container{padding:30px;background-color:var(--background-color);font-family:Segoe UI,Arial,sans-serif;color:var(--text-color);min-height:100vh}.sf-dashboard-container.sf-loading{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding-top:15vh}.sf-dashboard-container.sf-loading .logo{width:80px;margin-bottom:20px}.sf-header{text-align:center;padding-bottom:20px;border-bottom:1px solid #eee}.sf-title{color:var(--primary-color);margin:0;font-size:2em}.sf-header p{font-size:1.1em;color:var(--text-color);margin-bottom:5px}.sf-section-title{font-size:1.5em;margin-top:25px;margin-bottom:15px;color:var(--primary-color);border-bottom:2px solid var(--primary-light);padding-bottom:5px}.sf-sensor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:20px}.sf-card{background-color:var(--card-bg-color);border:1px solid #eee;border-radius:10px;padding:20px;text-align:center;box-shadow:0 2px 5px #0000000d}.sensor-card h4{margin:0;font-size:1em;color:var(--text-light)}.sf-value{font-size:2.5em;font-weight:700;margin:10px 0}.sf-value span{font-size:.5em;font-weight:400;color:var(--text-light)}.sensor-card p{font-size:.9em;color:var(--text-light)}.status{font-weight:700}.status-online{color:var(--success-color)}.status-offline{color:var(--error-color)}.status-loading{color:var(--warning-color)}.welcome-user-text{font-weight:700;color:var(--text-color)}.sf-actuator-section{display:flex;flex-direction:column;gap:15px;max-width:800px;margin:0 auto}.actuator-card{display:flex;justify-content:space-between;align-items:center;padding:15px;border:1px solid #eee;border-radius:10px;box-shadow:0 2px 5px #0000000d}.actuator-card h4{margin:0}.actuator-status-display{font-size:1em;color:var(--text-light)}.actuator-actions{display:flex;gap:10px}.btn-actuator{padding:10px 15px;border:none;border-radius:6px;cursor:pointer;font-weight:700;transition:background-color .3s}.btn-turn-on{background-color:var(--success-color);color:#fff}.btn-turn-off{background-color:var(--error-color);color:#fff}@media(max-width:768px){.sf-dashboard-container{padding:20px}.sf-sensor-grid,.sf-actuator-section{max-width:100%}.actuator-card{flex-direction:column;align-items:stretch;gap:10px}.actuator-actions{flex-direction:column}}.gps-tracker-page-container{display:flex;flex-direction:column;height:100vh;width:100%;position:relative;overflow:hidden}.gps-tracker-page-container .leaflet-container{flex-grow:1;height:100%;width:100%}.bottom-bar{position:absolute;bottom:0;left:0;right:0;background-color:#f8f9fa;padding:15px;box-shadow:0 -2px 5px #0000001a;z-index:1000;transition:transform .3s ease-in-out;transform:translateY(0);max-height:50vh;overflow-y:auto}.bottom-bar.hidden{transform:translateY(calc(100% - 50px))}.bottom-bar-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding-bottom:10px;border-bottom:1px solid #ccc;margin-bottom:15px}.bottom-bar-header h3{margin:0;font-size:1.2rem}.bottom-bar-header button{background:none;border:none;font-size:1.5rem;cursor:pointer}.bottom-bar-content{padding-top:10px}.card{margin-bottom:15px;border:1px solid #e9ecef;border-radius:8px}.card-body{padding:1rem}.card-title{font-size:1.1rem;font-weight:700}.superadmin-water-usage-container{padding:24px;background:#f5f7fb;min-height:100vh}.water-usage-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;flex-wrap:wrap}.water-usage-header h2{margin:0 0 8px;color:#1f2937}.water-usage-header p{margin:0;color:#6b7280;max-width:760px}.water-usage-refresh-btn{display:inline-flex;align-items:center;gap:8px;background:#0ea5e9;color:#fff;border:none;border-radius:12px;padding:11px 18px;font-weight:600;cursor:pointer}.water-usage-refresh-btn:hover{background:#0284c7}.water-usage-error-box{background:#fee2e2;border:1px solid #fecaca;color:#991b1b;padding:14px 16px;border-radius:12px;margin-bottom:20px}.water-usage-filter-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:20px}.water-usage-filter-item{background:#fff;border-radius:16px;padding:18px;box-shadow:0 8px 24px #0f172a0f}.water-usage-filter-item label{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-weight:700;color:#374151;font-size:14px}.water-usage-filter-item select,.water-usage-scope-box{width:100%;border:1px solid #dbe2ea;border-radius:12px;padding:12px 14px;font-size:14px;background:#fff;color:#111827}.water-usage-scope-box{background:#f8fafc;min-height:46px;display:flex;align-items:center}.water-usage-account-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:20px}.water-usage-account-meta-card{background:#fff;border-radius:16px;padding:18px;box-shadow:0 8px 24px #0f172a0f}.water-usage-account-meta-card .meta-label{display:block;font-size:13px;color:#6b7280;margin-bottom:8px}.water-usage-account-meta-card strong{color:#111827;font-size:16px;line-height:1.5}.water-usage-section{margin-bottom:24px}.section-title-row{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;flex-wrap:wrap}.section-title-row h3{margin:0;color:#1f2937}.section-subtitle{font-size:13px;color:#6b7280}.water-usage-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.water-usage-summary-card{background:linear-gradient(135deg,#fff,#f0f9ff);border-radius:18px;padding:20px;box-shadow:0 10px 28px #0f172a12;display:flex;gap:14px;align-items:flex-start}.water-usage-summary-icon{width:52px;height:52px;border-radius:14px;background:#e0f2fe;color:#0284c7;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.water-usage-summary-title{font-size:13px;color:#6b7280}.water-usage-summary-main{font-size:22px;color:#111827;line-height:1.35}.water-usage-summary-sub{font-size:13px;color:#0284c7;font-weight:600}.water-usage-summary-extra{margin-top:4px;font-size:12px;color:#6b7280}.chart-mode-switcher{display:flex;gap:8px;flex-wrap:wrap}.chart-mode-switcher button{border:1px solid #dbe2ea;background:#fff;color:#334155;padding:9px 14px;border-radius:10px;cursor:pointer;font-weight:600}.chart-mode-switcher button.active{background:#0ea5e9;border-color:#0ea5e9;color:#fff}.water-usage-chart-card{background:#fff;border-radius:18px;padding:18px;box-shadow:0 10px 28px #0f172a12}.water-usage-chart-wrapper{height:420px}.water-usage-table-wrapper{background:#fff;border-radius:18px;padding:18px;box-shadow:0 10px 28px #0f172a12;overflow-x:auto}.water-usage-table{width:100%;border-collapse:collapse;min-width:980px}.water-usage-table th,.water-usage-table td{padding:14px 12px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}.water-usage-table th{background:#f8fafc;color:#334155;font-size:13px;font-weight:700}.water-usage-table td strong{display:block;color:#111827;font-size:14px;margin-bottom:4px}.water-usage-table td small{color:#0284c7;font-size:12px}.water-usage-table tbody tr:hover{background:#f8fbff}.sensor-status-badge{display:inline-block;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}.sensor-status-badge.registered{background:#dcfce7;color:#166534}.sensor-status-badge.not-registered{background:#fef3c7;color:#92400e}.water-usage-page-state{background:#fff;border-radius:18px;padding:24px;box-shadow:0 10px 28px #0f172a12;color:#475569}.water-usage-page-state.small{padding:18px}@media(max-width:768px){.superadmin-water-usage-container{padding:16px}.water-usage-chart-wrapper{height:320px}}.water-usage-summary-content{display:flex;flex-direction:column;gap:4px}.water-usage-summary-period{margin-top:4px;font-size:12px;color:#475569;font-weight:600}.water-usage-summary-extra{margin-top:2px;font-size:12px;color:#6b7280}.superadmin-water-comparison-container{padding:24px;background:#f5f7fb;min-height:100vh}.water-comparison-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;flex-wrap:wrap}.water-comparison-header h2{margin:0 0 8px;color:#1f2937}.water-comparison-header p{margin:0;color:#6b7280;max-width:780px}.water-comparison-refresh-btn{display:inline-flex;align-items:center;gap:8px;background:#0ea5e9;color:#fff;border:none;border-radius:12px;padding:11px 18px;font-weight:600;cursor:pointer}.water-comparison-refresh-btn:hover{background:#0284c7}.water-comparison-error-box{background:#fee2e2;border:1px solid #fecaca;color:#991b1b;padding:14px 16px;border-radius:12px;margin-bottom:20px}.water-comparison-mode-switcher{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.water-comparison-mode-switcher button{display:inline-flex;align-items:center;gap:8px;border:1px solid #dbe2ea;background:#fff;color:#334155;padding:10px 16px;border-radius:12px;cursor:pointer;font-weight:700}.water-comparison-mode-switcher button.active{background:#0ea5e9;border-color:#0ea5e9;color:#fff}.water-comparison-period-box{background:#fff;border-radius:14px;padding:14px 16px;margin-bottom:20px;box-shadow:0 8px 24px #0f172a0f;color:#334155}.water-comparison-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:20px}.water-comparison-summary-box{background:linear-gradient(135deg,#fff,#eff6ff);border-radius:18px;padding:18px;box-shadow:0 10px 28px #0f172a12;display:flex;gap:14px;align-items:flex-start}.water-comparison-summary-icon{width:50px;height:50px;border-radius:14px;background:#e0f2fe;color:#0284c7;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.water-comparison-summary-content{display:flex;flex-direction:column;gap:4px}.water-comparison-summary-content span{font-size:13px;color:#6b7280}.water-comparison-summary-content strong{font-size:22px;color:#111827;line-height:1.35}.water-comparison-summary-content small{font-size:12px;color:#475569}.water-comparison-chart-card,.water-comparison-table-card{background:#fff;border-radius:18px;padding:18px;box-shadow:0 10px 28px #0f172a12;margin-bottom:20px}.water-comparison-chart-wrapper{height:460px}.water-comparison-table-header{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}.water-comparison-table-header h3{margin:0;color:#1f2937}.water-comparison-table-header span{font-size:13px;color:#6b7280}.water-comparison-table-wrapper{overflow-x:auto}.water-comparison-table{width:100%;border-collapse:collapse;min-width:1100px}.water-comparison-table th,.water-comparison-table td{padding:14px 12px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}.water-comparison-table th{background:#f8fafc;color:#334155;font-size:13px;font-weight:700}.water-comparison-table td strong{display:block;color:#111827;font-size:14px;margin-bottom:4px}.water-comparison-table td small{color:#0284c7;font-size:12px}.water-comparison-table tbody tr:hover{background:#f8fbff}.water-comparison-page-state{background:#fff;border-radius:18px;padding:24px;box-shadow:0 10px 28px #0f172a12;color:#475569}.water-comparison-page-state.small{padding:18px}.empty-cell{text-align:center;color:#6b7280;padding:28px 12px!important}@media(max-width:768px){.superadmin-water-comparison-container{padding:16px}.water-comparison-chart-wrapper{height:320px}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media(prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin infinite 20s linear}}.App-header{background-color:#282c34;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:calc(10px + 2vmin);color:#fff}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
