/* Powłoka strony i ekran logowania — JEDYNY arkusz publiczny. Nie wolno tu wstawić niczego, co nazywa funkcję: ten plik pobiera każdy, także niezalogowany, bo potrzebuje go ekran logowania. */ :root { --bg: #0f1020; --panel: #1a1c33; --ink: #e8e8f0; --muted: #9aa0c0; --accent: #8b7bf0; --line: #2a2d4a; } * { box-sizing: border-box; } body { margin: 0; min-height: 100vh; background: var(--bg); color: var(--ink); font: 15px/1.5 system-ui, -apple-system, Segoe UI, Roboto, sans-serif; display: flex; justify-content: center; padding: 3rem 1rem; } main { width: 100%; max-width: 880px; } h1 { margin: 0; font-size: 2rem; letter-spacing: .5px; } .topbar { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: .25rem; } .topbar nav { display: flex; gap: .25rem; } .topbar nav a { color: var(--muted); text-decoration: none; padding: .4rem .8rem; border-radius: 8px; border: 1px solid transparent; } .topbar nav a:hover { color: var(--ink); } .topbar nav a.active { color: #fff; background: var(--panel); border-color: var(--line); } .foot { color: var(--muted); font-size: .8rem; margin-top: 2.5rem; opacity: .7; } .actions { display: flex; gap: .5rem; margin-top: 1rem; } form { background: var(--panel); border: 1px solid var(--line); border-radius: 12px; padding: 1.25rem; } input, select, button { font: inherit; padding: .6rem .75rem; border-radius: 8px; border: 1px solid var(--line); background: #12132a; color: var(--ink); } button { background: var(--accent); color: #fff; border: none; cursor: pointer; padding-inline: 1.25rem; } button:hover { filter: brightness(1.1); } .opts { display: flex; gap: 1.5rem; margin-top: .75rem; color: var(--muted); align-items: center; } .meta { color: var(--muted); margin: 1.5rem 0 .5rem; font-size: .9rem; } /* Fallback systemu domów. Celowo NIE jest to dyskretny „muted" — po fallbacku kosmogram wygląda bezbłędnie, więc ten akapit jest jedynym sygnałem, że podział domów pochodzi z innego systemu, niż zamówiono. */ .notice-warn { margin: 1rem 0; padding: .75rem 1rem; font-size: .92rem; line-height: 1.45; border: 1px solid var(--warn-border, #b8860b); border-left-width: 4px; border-radius: 4px; background: var(--warn-bg, rgba(184, 134, 11, .10)); color: var(--warn-fg, inherit); } table { width: 100%; border-collapse: collapse; margin-top: .5rem; background: var(--panel); border-radius: 12px; overflow: hidden; } th, td { text-align: left; padding: .6rem .8rem; border-bottom: 1px solid var(--line); } th { color: var(--accent); font-size: .8rem; text-transform: uppercase; letter-spacing: .5px; } tr:last-child td { border-bottom: none; } .muted { color: var(--muted); } .small { font-size: .85rem; } .nowrap { white-space: nowrap; } /* ── ekran kont (PRE-26) ────────────────────────────────────────────── */ .card { margin-top: 1rem; padding: 1rem 1.25rem; background: var(--panel); border: 1px solid var(--line); border-radius: 12px; } .card .actions { margin-top: .9rem; } /* Potwierdzenie operacji. Odróżnia się od .notice-warn, bo tamto ostrzega, a to tylko potwierdza — pomylenie ich uczy ignorować oba. */ .done-note { margin: 1rem 0; padding: .6rem .9rem; font-size: .9rem; border: 1px solid var(--line); border-left: 4px solid var(--accent); border-radius: 4px; background: rgba(255, 255, 255, .03); } /* ── wyjście z aplikacji (LOG-32) ───────────────────────────────────── */ /* Odsunięte od zakładek i wyglądające inaczej niż one: to czynność, nie miejsce, a pomylenie go z zakładką kosztuje przypadkowe wylogowania. Odstęp robimy marginesem, nie rozpychaczem — `nav` ma szerokość treści, więc nie ma czego rozpychać. */ .whoami { color: var(--muted); font-size: .85rem; align-self: center; margin-left: 1rem; padding-left: 1rem; border-left: 1px solid var(--line); } /* Wylogowanie idzie POST-em, więc jest przyciskiem — ale ma wyglądać jak reszta paska, nie jak przycisk akcji w formularzu. */ .wyloguj-form { display: inline; margin: 0; padding: 0; background: none; border: none; } button.wyloguj { background: none; border: 1px solid transparent; color: var(--muted); font: inherit; padding: .4rem .8rem; border-radius: 8px; cursor: pointer; } button.wyloguj:hover { color: var(--ink); } /* Ekran logowania — wąski, bez nawigacji: nie ma dokąd iść przed zalogowaniem. */ .login-main { max-width: 26rem; } .login-card label { display: block; margin-top: .75rem; } .login-card input { width: 100%; } .login-note { margin-top: 1.25rem; }