@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}.mx-auto{margin-inline:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-full{width:100%}.flex-shrink,.shrink{flex-shrink:1}.flex-grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.text-center{text-align:center}.break-all{word-break:break-all}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}:root{--color-amber:#ffb800;--color-amber-dark:#e6a500;--color-amber-light:#fff8e1;--color-blue:#0056b3;--color-blue-dark:#004494;--color-blue-light:#e6efff;--color-red:#e63946;--color-red-light:#ffe9eb;--color-gray-900:#1a1a2e;--color-gray-700:#3d3d4e;--color-gray-600:#4a4a4a;--color-gray-400:#9ca3af;--color-gray-200:#e8e8e8;--color-gray-100:#f5f4f1;--color-bg:#faf9f6;--color-white:#fff;--font-heading:"Montserrat",sans-serif;--font-body:"Nunito",sans-serif;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 1px 3px #00000014,0 1px 2px #0000000a;--shadow-md:0 4px 12px #0000001a,0 2px 4px #0000000f;--shadow-lg:0 8px 28px #0000001f,0 4px 8px #0000000f;--shadow-xl:0 20px 48px #00000024,0 8px 16px #00000014;--color-green:#22c55e;--color-green-light:#e9f9ef;--color-orange:#f59e0b;--color-orange-light:#fef3e2;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--z-nav:200;--z-sheet:1000;--z-overlay:9999;--touch-target:44px;--focus-ring:0 0 0 3px #0056b359;--transition-fast:.15s ease;font-family:var(--font-body);color:var(--color-gray-900);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.6}*,:before,:after{box-sizing:border-box}body{background-color:var(--color-bg);min-width:320px;min-height:100vh;margin:0}a{color:var(--color-blue);text-decoration:none}a:hover{color:var(--color-blue-dark);text-decoration:underline}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}#root{max-width:90vw;margin:0 auto;padding:2rem;width:100%;overflow-x:hidden}@media(max-width:640px){#root{padding:.5rem;max-width:100vw}}.status-bar{padding:10px 24px;margin:12px 20px;border-radius:var(--radius-md);font-size:14px;font-family:var(--font-body);background-color:var(--color-blue-light);color:var(--color-blue-dark);border:1px solid rgba(0,86,179,.2)}.select-wrapper{position:relative;z-index:10000;margin:16px 20px 0;text-align:left}.select-wrapper h1{font-family:var(--font-heading);font-weight:700;font-size:1.5rem;color:var(--color-gray-900);margin-bottom:12px}.location-select .react-select__control{background-color:var(--color-white);border:2px solid var(--color-gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:border-color .2s ease,box-shadow .2s ease;min-height:44px;z-index:1000}.location-select .react-select__control:hover{border-color:var(--color-blue)}.location-select .react-select__control--is-focused{border-color:var(--color-blue)!important;box-shadow:0 0 0 3px rgba(0,86,179,.15)!important}.location-select .react-select__menu{z-index:9999;background-color:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border:1px solid var(--color-gray-200)}.location-select .react-select__option--is-focused{background-color:var(--color-blue-light)}.location-select .react-select__option--is-selected{background-color:var(--color-blue)}.location-select .react-select__placeholder{color:var(--color-gray-400);font-family:var(--font-body)}.calendar-container{z-index:1;max-width:960px;width:100%;margin:20px auto;overflow:visible;background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:16px;border:1px solid var(--color-gray-200)}.rbc-button-link{z-index:1;position:relative}.rbc-header,.rbc-day-bg,.rbc-date-cell,.rbc-event-content,.rbc-event-label{white-space:normal!important;word-break:break-word!important;overflow:hidden!important;text-overflow:ellipsis!important}.rbc-time-content{overflow-y:auto!important}.rbc-time-slot{overflow:visible!important}.rbc-row-segment .rbc-event-content{max-width:100%!important}.rbc-time-gutter{min-width:50px;width:auto}.rbc-toolbar button{font-family:var(--font-body);font-weight:600}.rbc-toolbar{font-family:var(--font-body);gap:var(--space-2);flex-wrap:wrap;padding:var(--space-2) 0}.rbc-toolbar button{min-height:var(--touch-target);padding:var(--space-1) var(--space-4);border-radius:100px;border:2px solid var(--color-gray-200);color:var(--color-gray-700);font-weight:600;transition:background var(--transition-fast),border-color var(--transition-fast)}.rbc-toolbar button:hover{background:var(--color-gray-100);border-color:var(--color-gray-400)}.rbc-toolbar button.rbc-active{background:var(--color-blue);border-color:var(--color-blue);color:var(--color-white)}.rbc-calendar--elec .rbc-toolbar button.rbc-active{background:var(--color-amber);border-color:var(--color-amber);color:var(--color-gray-900)}.rbc-header{font-family:var(--font-heading);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-gray-600);border-color:var(--color-gray-200);padding:var(--space-2)}.rbc-today{background:var(--color-amber-light)}.rbc-calendar--water .rbc-today{background:var(--color-blue-light)}.rbc-event{border-radius:var(--radius-sm);font-family:var(--font-body);font-size:12px;font-weight:600}.calendar-legend{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:16px;padding:12px 4px 4px;border-top:1px solid var(--color-gray-200)}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;font-family:var(--font-body);color:var(--color-gray-600)}.legend-dot{width:14px;height:14px;border-radius:3px;flex-shrink:0}.btn-download{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;background-color:var(--color-blue);color:var(--color-white);border:none;border-radius:var(--radius-md);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-body);transition:background-color .2s ease,transform .1s ease;text-decoration:none}.btn-download:hover{background-color:var(--color-blue-dark);transform:translateY(-1px)}.btn-download:disabled,.btn-download--disabled{background-color:var(--color-gray-200);color:var(--color-gray-400);cursor:not-allowed;transform:none}@media(max-width:640px){.calendar-container{height:clamp(320px,70vh,500px)!important;max-width:100%;margin:8px auto;padding:8px;border-radius:var(--radius-md)}.rbc-time-gutter{min-width:40px}.rbc-event-content{font-size:11px!important}.select-wrapper{margin:12px 12px 0}.status-bar{margin:8px 12px}}.pp-ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--touch-target);padding:var(--space-2) var(--space-5);border-radius:100px;border:2px solid transparent;font-family:var(--font-body);font-size:15px;font-weight:700;line-height:1.2;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);text-decoration:none}.pp-ui-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.pp-ui-btn:active{transform:translateY(1px)}.pp-ui-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.pp-ui-btn--primary{background:var(--color-blue);color:var(--color-white)}.pp-ui-btn--primary:hover:not(:disabled){background:var(--color-blue-dark)}.pp-ui-btn--primary.pp-ui-btn--elec{background:var(--color-amber);color:var(--color-gray-900)}.pp-ui-btn--primary.pp-ui-btn--elec:hover:not(:disabled){background:var(--color-amber-dark)}.pp-ui-btn--secondary{background:var(--color-white);color:var(--color-blue);border-color:var(--color-blue)}.pp-ui-btn--secondary:hover:not(:disabled){background:var(--color-blue-light)}.pp-ui-btn--secondary.pp-ui-btn--elec{color:var(--color-amber-dark);border-color:var(--color-amber)}.pp-ui-btn--secondary.pp-ui-btn--elec:hover:not(:disabled){background:var(--color-amber-light)}.pp-ui-btn--ghost{background:transparent;color:var(--color-gray-700)}.pp-ui-btn--ghost:hover:not(:disabled){background:var(--color-gray-100)}.pp-ui-btn--danger{background:var(--color-red);color:var(--color-white)}.pp-ui-btn--danger:hover:not(:disabled){background:#c42b37}.pp-ui-btn--sm{padding:var(--space-1) var(--space-4);font-size:13px}.pp-ui-btn--lg{padding:var(--space-3) var(--space-6);font-size:16px}.pp-ui-btn--full{width:100%}.pp-ui-card{position:relative;background:var(--color-white);border:2px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm);overflow:hidden}.pp-ui-card--hover{transition:box-shadow var(--transition-fast),transform var(--transition-fast),border-color var(--transition-fast)}.pp-ui-card--hover:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.pp-ui-card--hover.pp-ui-card--water:hover{border-color:var(--color-blue)}.pp-ui-card--hover.pp-ui-card--elec:hover{border-color:var(--color-amber)}.pp-ui-card--water:before,.pp-ui-card--elec:before,.pp-ui-card--red:before{content:"";position:absolute;top:0;left:0;right:0;height:4px}.pp-ui-card--water:before{background:var(--color-blue)}.pp-ui-card--elec:before{background:var(--color-amber)}.pp-ui-card--red:before{background:var(--color-red)}.pp-ui-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:3px var(--space-3);border-radius:100px;font-family:var(--font-body);font-size:12px;font-weight:700;line-height:1.4;white-space:nowrap}.pp-ui-badge--neutral{background:var(--color-gray-100);color:var(--color-gray-700)}.pp-ui-badge--info{background:var(--color-blue-light);color:var(--color-blue-dark)}.pp-ui-badge--success{background:var(--color-green-light);color:#157a3a}.pp-ui-badge--warning{background:var(--color-orange-light);color:#9a5b00}.pp-ui-badge--danger{background:var(--color-red-light);color:var(--color-red)}.pp-ui-badge--live{background:var(--color-amber-light);color:var(--color-gray-900)}.pp-ui-badge-dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}.pp-ui-badge--live .pp-ui-badge-dot{background:var(--color-amber-dark);animation:pp-ui-pulse 1.6s ease-in-out infinite}@keyframes pp-ui-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}.pp-ui-tabs{display:flex;align-items:center;gap:var(--space-1);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.pp-ui-tabs::-webkit-scrollbar{display:none}.pp-ui-tab{min-height:var(--touch-target);padding:var(--space-2) var(--space-4);border:none;background:transparent;font-family:var(--font-body);font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.pp-ui-tab:focus-visible{outline:none;box-shadow:var(--focus-ring)}.pp-ui-tabs--pill .pp-ui-tab{border-radius:100px;color:var(--pill-fg, rgba(255, 255, 255, .8))}.pp-ui-tabs--pill .pp-ui-tab:hover{background:var(--pill-hover-bg, rgba(255, 255, 255, .15));color:var(--pill-fg-active, var(--color-white))}.pp-ui-tabs--pill .pp-ui-tab--active{background:var(--pill-active-bg, rgba(255, 255, 255, .22));color:var(--pill-fg-active, var(--color-white));font-weight:700}.pp-ui-tabs--underline{gap:2px;border-bottom:2px solid var(--color-gray-200)}.pp-ui-tabs--underline .pp-ui-tab{border-bottom:3px solid transparent;margin-bottom:-2px;color:var(--color-gray-600)}.pp-ui-tabs--underline .pp-ui-tab--active{font-weight:700;color:var(--color-gray-900)}.pp-ui-tabs--underline.pp-ui-tabs--water{border-color:var(--color-blue)}.pp-ui-tabs--underline.pp-ui-tabs--water .pp-ui-tab--active{border-bottom-color:var(--color-blue)}.pp-ui-tabs--underline.pp-ui-tabs--elec{border-color:var(--color-amber)}.pp-ui-tabs--underline.pp-ui-tabs--elec .pp-ui-tab--active{border-bottom-color:var(--color-amber)}.pp-ui-loading{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6);color:var(--color-gray-400);font-family:var(--font-body);font-size:14px}.pp-ui-spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--color-gray-200);border-top-color:var(--color-blue);animation:pp-ui-spin .8s linear infinite}@keyframes pp-ui-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.pp-ui-spinner{animation-duration:1.6s}.pp-ui-badge--live .pp-ui-badge-dot{animation:none}}.pp-ui-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);border-radius:var(--radius-lg);background:var(--color-gray-100);color:var(--color-gray-700)}.pp-ui-empty-icon{font-size:32px;line-height:1}.pp-ui-empty-title{margin:0;font-family:var(--font-heading);font-size:17px;font-weight:700;color:var(--color-gray-900)}.pp-ui-empty-body{margin:0;font-size:14px;max-width:420px}.pp-ui-empty-cta{margin-top:var(--space-2)}.pp-ui-empty--all-clear{background:var(--color-green-light);border:1px solid rgba(34,197,94,.35)}.pp-ui-empty--all-clear .pp-ui-empty-title{color:#157a3a}.pp-ui-freshness{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:12.5px;line-height:1.45;background:var(--color-green-light);color:#157a3a}.pp-ui-freshness--stale{background:var(--color-orange-light);color:#9a5b00}.pp-ui-section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3);margin:0 0 var(--space-4)}.pp-ui-section-title{margin:0;font-family:var(--font-heading);font-size:1.25rem;font-weight:800;letter-spacing:-.02em;color:var(--color-gray-900)}.pp-ui-section-subtitle{margin:2px 0 0;font-size:13.5px;color:var(--color-gray-600)}.pp-ui-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-sheet);background:rgba(26,26,46,.5);display:flex;align-items:flex-end;justify-content:center}.pp-ui-sheet{background:var(--color-white);width:100%;max-width:560px;max-height:88dvh;overflow-y:auto;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:var(--space-5);box-shadow:var(--shadow-xl);animation:pp-ui-sheet-up .25s ease}@keyframes pp-ui-sheet-up{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.pp-ui-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.pp-ui-sheet-title{margin:0;font-family:var(--font-heading);font-size:1.1rem;font-weight:700}.pp-ui-sheet-close{min-width:var(--touch-target);min-height:var(--touch-target);border:none;border-radius:50%;background:var(--color-gray-100);color:var(--color-gray-700);font-size:18px;cursor:pointer;transition:background var(--transition-fast)}.pp-ui-sheet-close:hover{background:var(--color-gray-200)}.pp-ui-sheet-close:focus-visible{outline:none;box-shadow:var(--focus-ring)}@media(min-width:640px){.pp-ui-sheet-backdrop{align-items:center;padding:var(--space-5)}.pp-ui-sheet{border-radius:var(--radius-xl)}}
