:root{--bg: #0f1720;--panel: #151f2b;--line: #263546;--ink: #e8eef5;--muted: #9db0c4;--accent: #ff9900;--error: #ff6b6b}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#0b1219,#0f1720);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}.page{max-width:900px;margin:0 auto;padding:40px 20px 60px}.page__header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.page__title{font-size:1.7rem;margin:0;letter-spacing:-.01em}.page__subtitle{margin:4px 0 0;color:var(--muted);font-size:.9rem}.refresh{background:#ff990024;color:var(--accent);border:1px solid rgba(255,153,0,.35);border-radius:999px;padding:8px 18px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s ease}.refresh:hover:not(:disabled){background:#ff99003d}.refresh:disabled{opacity:.6;cursor:default}.muted{color:var(--muted)}.error{color:var(--error)}.forecast{list-style:none;margin:0;padding:0;display:grid;gap:12px}.card{display:grid;grid-template-columns:1fr auto auto 1.2fr;align-items:center;gap:16px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 18px;box-shadow:0 6px 20px #0003}.card__day{display:flex;flex-direction:column}.card__weekday{font-weight:600}.card__date{color:var(--muted);font-size:.85rem}.card__icon{font-size:1.6rem}.card__temp{display:flex;flex-direction:column;align-items:flex-end}.card__c{font-size:1.15rem;font-weight:600}.card__f{color:var(--muted);font-size:.82rem}.card__summary{text-align:right;color:var(--ink)}@media (max-width: 560px){.card{grid-template-columns:1fr auto auto;grid-template-areas:"day icon temp"}.card__day{grid-area:day}.card__icon{grid-area:icon}.card__temp{grid-area:temp}.card__summary{display:none}}.controls{display:flex;align-items:center;gap:12px}.unit-toggle{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:var(--panel)}.unit-toggle__btn{background:transparent;color:var(--muted);border:0;padding:8px 14px;font-size:.9rem;font-weight:600;cursor:pointer}.unit-toggle__btn.is-active{background:#ff99002e;color:var(--accent)}.logout{background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:.9rem;font-weight:600;cursor:pointer;transition:color .15s ease,border-color .15s ease}.logout:hover{color:var(--ink);border-color:var(--muted)}.login{max-width:360px;margin:8vh auto 0;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:28px 24px;box-shadow:0 10px 30px #00000040}.login .page__title{font-size:1.4rem}.login__form{display:flex;flex-direction:column;gap:14px;margin-top:20px}.login__field{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--muted)}.login__field input{background:#0f1720;border:1px solid var(--line);border-radius:8px;padding:10px 12px;color:var(--ink);font-size:.95rem}.login__field input:focus{outline:none;border-color:var(--accent)}.login__form .refresh{margin-top:6px}.build-info{margin:22px 0 0;padding-top:16px;border-top:1px solid var(--line);display:grid;gap:6px;font-size:.78rem;color:var(--muted)}.build-info--empty{display:block;font-style:italic}.build-info__row{display:flex;align-items:baseline;gap:10px}.build-info__row dt{flex:0 0 68px;color:var(--muted);opacity:.75}.build-info__row dd{margin:0;min-width:0;color:var(--ink);overflow-wrap:anywhere}.build-info__mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.74rem}.tabs{display:flex;gap:4px;margin-bottom:24px;border-bottom:1px solid var(--line)}.tabs__btn{background:transparent;color:var(--muted);border:none;border-bottom:2px solid transparent;padding:10px 16px;font-size:.95rem;font-weight:600;cursor:pointer;transition:color .15s ease,border-color .15s ease}.tabs__btn:hover{color:var(--ink)}.tabs__btn.is-active{color:var(--accent);border-bottom-color:var(--accent)}.locations{display:grid;gap:20px}.location-form{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;display:grid;gap:14px}.location-form__title{margin:0;font-size:1.05rem;font-weight:600}.location-form__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.location-form__actions{display:flex;gap:8px;align-items:center}.locations__table-wrap{overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-radius:16px}.locations__table{width:100%;border-collapse:collapse;font-size:.9rem}.locations__table th,.locations__table td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--line);white-space:nowrap}.locations__table th{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.locations__table tbody tr:last-child td{border-bottom:none}.locations__table tbody tr.is-editing{background:#ff990012}.locations__num{font-variant-numeric:tabular-nums;color:var(--muted)}.locations__actions{display:flex;gap:8px;justify-content:flex-end}.locations__btn{background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:5px 14px;font-size:.82rem;font-weight:600;cursor:pointer;transition:color .15s ease,border-color .15s ease}.locations__btn:hover:not(:disabled){color:var(--ink);border-color:var(--muted)}.locations__btn:disabled{opacity:.5;cursor:default}.locations__btn--danger:hover:not(:disabled){color:var(--error);border-color:var(--error)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
