@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600&family=Space+Grotesk:wght@400;500;600;700&display=swap";.layout-actions[data-v-a6e0dddd]{display:flex;align-items:center;gap:10px}.layout-hint[data-v-a6e0dddd]{color:var(--muted);font-size:.85rem}.layout-reset[data-v-a6e0dddd]{border:var(--border);background:var(--panel);color:var(--ink);border-radius:var(--radius-sm);padding:6px 10px;font-weight:600;cursor:pointer}.layout-reset[data-v-a6e0dddd]:hover{background:var(--panel-muted)}.widget-picker[data-v-a6e0dddd]{position:relative}.widget-picker>summary[data-v-a6e0dddd]{list-style:none;border:var(--border);background:var(--panel);color:var(--ink);border-radius:var(--radius-sm);padding:6px 10px;font-size:.85rem;cursor:pointer;-webkit-user-select:none;user-select:none}.widget-picker>summary[data-v-a6e0dddd]::-webkit-details-marker{display:none}.widget-picker[open]>summary[data-v-a6e0dddd]{background:var(--panel-muted)}.widget-options[data-v-a6e0dddd]{position:absolute;right:0;top:calc(100% + 6px);min-width:210px;border:var(--border);border-radius:var(--radius-md);background:var(--panel);box-shadow:var(--card-shadow);padding:10px;display:grid;gap:8px;z-index:20}.widget-option[data-v-a6e0dddd]{display:flex;align-items:center;gap:8px;font-size:.88rem}@media (max-width: 960px){.layout-actions[data-v-a6e0dddd]{flex-wrap:wrap;justify-content:flex-end}.layout-hint[data-v-a6e0dddd]{width:100%}}.weather-note[data-v-c9dc0d93]{margin-top:12px;color:var(--muted);font-size:.9rem}.weather-error[data-v-c9dc0d93]{margin-top:10px;color:var(--alert);font-size:.9rem}.auth-page[data-v-bc4ffc2e]{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-panel[data-v-bc4ffc2e]{width:min(420px,100%);background:var(--panel);border:var(--border);box-shadow:var(--card-shadow);border-radius:var(--radius-lg);padding:24px;display:grid;gap:14px}h1[data-v-bc4ffc2e]{font-size:1.5rem}.auth-subtitle[data-v-bc4ffc2e]{margin:0;color:var(--muted);font-size:.9rem}.auth-form[data-v-bc4ffc2e]{display:grid;gap:12px}.field[data-v-bc4ffc2e]{display:grid;gap:6px;font-size:.9rem;color:var(--muted)}.field input[data-v-bc4ffc2e]{border:var(--border);background:var(--panel-muted);border-radius:var(--radius-sm);padding:10px 12px;font:inherit;color:var(--ink)}.submit[data-v-bc4ffc2e]{border:0;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-weight:600;padding:10px 14px;cursor:pointer}.submit[data-v-bc4ffc2e]:disabled{opacity:.6;cursor:not-allowed}.auth-link[data-v-bc4ffc2e]{color:var(--accent);font-size:.9rem}.auth-error[data-v-bc4ffc2e]{margin:0;color:var(--alert);font-size:.9rem}.auth-page[data-v-88e039d7]{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-panel[data-v-88e039d7]{width:min(620px,100%);background:var(--panel);border:var(--border);box-shadow:var(--card-shadow);border-radius:var(--radius-lg);padding:24px;display:grid;gap:14px}h1[data-v-88e039d7]{font-size:1.5rem}.auth-subtitle[data-v-88e039d7]{margin:0;color:var(--muted);font-size:.9rem}.location-list[data-v-88e039d7]{display:grid;gap:10px}.location-item[data-v-88e039d7]{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;border:var(--border);border-radius:var(--radius-sm);padding:10px 12px;background:var(--panel-muted);cursor:pointer}.location-item.selected[data-v-88e039d7]{outline:2px solid rgba(47,111,78,.4)}.location-title[data-v-88e039d7]{font-weight:600}.location-meta[data-v-88e039d7]{color:var(--muted);font-size:.8rem;margin-top:2px}.actions[data-v-88e039d7]{display:flex;gap:10px;flex-wrap:wrap}.submit[data-v-88e039d7],.secondary[data-v-88e039d7]{border:0;border-radius:var(--radius-sm);padding:10px 14px;font-weight:600;cursor:pointer}.submit[data-v-88e039d7]{background:var(--accent);color:#fff}.secondary[data-v-88e039d7]{background:var(--panel-muted);color:var(--ink);border:var(--border)}.submit[data-v-88e039d7]:disabled,.secondary[data-v-88e039d7]:disabled{opacity:.6;cursor:not-allowed}.auth-error[data-v-88e039d7]{margin:0;color:var(--alert);font-size:.9rem}.topbar-right[data-v-c125ebaa]{display:flex;align-items:center;gap:10px}.location-pill[data-v-c125ebaa]{border:var(--border);background:#ffffffbf;border-radius:999px;font-size:.82rem;color:var(--muted);padding:6px 10px}@media (max-width: 960px){.topbar[data-v-c125ebaa]{flex-wrap:wrap;gap:8px}.topbar-right[data-v-c125ebaa]{width:100%;justify-content:flex-end}}:root{color-scheme:light;--bg: #f5f0e7;--bg-2: #efe7d8;--bg-radial-1: #f9f4ea;--bg-radial-2: #efe2cc;--panel: #ffffff;--panel-muted: #fff8ee;--ink: #1c1a16;--muted: #6f6559;--accent: #2f6f4e;--accent-strong: #5ea464;--accent-2: #d19a2a;--alert: #c1513a;--watch: #c98a2d;--good: #2f6f4e;--selection: rgba(47, 111, 78, .08);--panel-glass: rgba(255, 255, 255, .72);--pill-bg: rgba(255, 255, 255, .8);--table-border: rgba(65, 55, 40, .1);--good-tint: rgba(47, 111, 78, .12);--watch-tint: rgba(201, 138, 45, .16);--alert-tint: rgba(193, 81, 58, .16);--outline-accent: rgba(47, 111, 78, .45);--hover-shadow: 0 22px 45px rgba(34, 26, 18, .14);--card-shadow: 0 18px 40px rgba(34, 26, 18, .08);--border: 1px solid rgba(60, 48, 36, .12);--radius-lg: 18px;--radius-md: 12px;--radius-sm: 8px}[data-theme=dark]{color-scheme:dark;--bg: #14110e;--bg-2: #0d0b09;--bg-radial-1: #221d18;--bg-radial-2: #1c1712;--panel: #1f1a15;--panel-muted: #2a221b;--ink: #f4eee4;--muted: #baab99;--accent: #4f9f79;--accent-strong: #72bc8f;--accent-2: #e0b358;--alert: #e17f68;--watch: #d9ad57;--good: #57b488;--selection: rgba(79, 159, 121, .2);--panel-glass: rgba(31, 26, 21, .82);--pill-bg: rgba(42, 34, 27, .8);--table-border: rgba(220, 201, 173, .14);--good-tint: rgba(87, 180, 136, .2);--watch-tint: rgba(217, 173, 87, .2);--alert-tint: rgba(225, 127, 104, .2);--outline-accent: rgba(114, 188, 143, .5);--hover-shadow: 0 22px 45px rgba(0, 0, 0, .38);--card-shadow: 0 18px 40px rgba(0, 0, 0, .32);--border: 1px solid rgba(231, 215, 191, .15)}*{box-sizing:border-box}body{margin:0;font-family:IBM Plex Sans,system-ui,-apple-system,sans-serif;color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%,var(--bg-radial-1) 0%,transparent 60%),radial-gradient(800px 500px at 100% 0%,var(--bg-radial-2) 0%,transparent 55%),linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%);transition:background .25s ease,color .25s ease}#app{min-height:100vh}h1,h2,h3,h4{font-family:Space Grotesk,IBM Plex Sans,sans-serif;margin:0}a{color:inherit;text-decoration:none}button{font-family:inherit}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{padding:28px 22px;border-right:var(--border);background:var(--panel-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{font-weight:700;letter-spacing:.02em;font-size:1.2rem;display:flex;align-items:center;gap:10px;margin-bottom:28px}.brand-badge{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);display:grid;place-items:center;color:#fff;font-weight:700}.nav{display:grid;gap:10px}.nav a{padding:10px 14px;border-radius:var(--radius-sm);font-weight:500;color:var(--muted);border:1px solid transparent}.nav a.router-link-active{background:var(--panel);color:var(--ink);border:var(--border);box-shadow:var(--card-shadow)}.main{padding:24px 28px 36px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.topbar-actions{display:inline-flex;align-items:center;gap:10px}.theme-toggle{border:var(--border);background:var(--panel);color:var(--ink);border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:600;cursor:pointer}.theme-toggle:hover{background:var(--panel-muted)}.topbar h1{font-size:1.8rem}.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;font-size:.85rem;font-weight:500;border:var(--border);background:var(--pill-bg)}.pill.good{color:var(--good);border-color:#2f6f4e66}.pill.watch{color:var(--watch);border-color:#c98a2d73}.pill.alert{color:var(--alert);border-color:#c1513a73}.section{margin-bottom:28px}.section-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:16px}.section-header h2{font-size:1.2rem}.section-header p{margin:0;color:var(--muted);font-size:.9rem}.grid{display:grid;gap:16px}.grid.cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.layout-grid.is-dragging a{pointer-events:none}.layout-item{border-radius:var(--radius-lg);cursor:grab}.layout-item.dragging{opacity:.55;cursor:grabbing}.layout-item.target{outline:2px dashed var(--outline-accent);outline-offset:4px}.layout-card{height:100%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.layout-empty{margin-top:12px;color:var(--muted);font-size:.9rem}.card{background:var(--panel);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--card-shadow);border:var(--border);display:grid;gap:12px;min-height:160px;transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-2px);box-shadow:var(--hover-shadow)}.card-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.card-title{font-weight:600;font-size:1rem}.card-value{font-size:1.8rem;font-weight:600}.card-meta{color:var(--muted);font-size:.85rem}.status-dot{width:10px;height:10px;border-radius:50%;background:var(--good)}.status-dot.watch{background:var(--watch)}.status-dot.alert{background:var(--alert)}.panel{background:var(--panel);border-radius:var(--radius-lg);padding:20px;border:var(--border);box-shadow:var(--card-shadow)}.split{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:18px}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th,.table td{text-align:left;padding:10px 6px;border-bottom:1px solid var(--table-border)}.badge{padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:600;display:inline-flex;align-items:center;gap:6px}.badge.good{background:var(--good-tint);color:var(--good)}.badge.watch{background:var(--watch-tint);color:var(--watch)}.badge.alert{background:var(--alert-tint);color:var(--alert)}.echart{width:100%;height:260px}.echart.small{height:90px}@media (max-width: 960px){.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:10}.split{grid-template-columns:1fr}.topbar{flex-wrap:wrap;gap:10px}.topbar-actions{width:100%;justify-content:space-between}}
