:root{--bg: #f6f7f9;--panel: #ffffff;--ink: #1c2530;--muted: #64748b;--line: #e2e8f0;--accent: #2f6f4f;--accent-ink: #ffffff;--danger: #b23b3b;--warn: #9a6b00;--chip: #eef2f7;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .1)}@media (prefers-color-scheme: dark){:root{--bg: #0f151b;--panel: #17202a;--ink: #e6edf3;--muted: #93a1b1;--line: #263440;--accent: #4f9d76;--accent-ink: #071009;--danger: #e07a7a;--warn: #e0b45a;--chip: #1e2a35;--shadow: none}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button{font:inherit;cursor:pointer}a{color:var(--accent);text-decoration:none}input,select,textarea{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px 10px}textarea{width:100%;resize:vertical}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:20px;padding:10px 20px;background:var(--panel);border-bottom:1px solid var(--line);box-shadow:var(--shadow);flex-wrap:wrap}.brand{font-weight:700;letter-spacing:-.02em;color:var(--accent)}.nav{display:flex;gap:6px;flex:1;flex-wrap:wrap}.nav a{padding:6px 12px;border-radius:8px;color:var(--muted)}.nav a.active{background:var(--chip);color:var(--ink);font-weight:600}.who{display:flex;align-items:center;gap:10px}.email{color:var(--muted);font-size:13px}.badge{background:var(--chip);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.linklike{background:none;border:none;color:var(--accent);padding:0}.content{padding:24px;max-width:1100px;width:100%;margin:0 auto}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow);margin-bottom:18px}h1{font-size:22px;margin:0 0 16px}h2{font-size:16px;margin:0 0 12px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spacer{flex:1}.muted{color:var(--muted)}.btn{background:var(--accent);color:var(--accent-ink);border:none;border-radius:8px;padding:8px 14px;font-weight:600}.btn.secondary{background:var(--chip);color:var(--ink)}.btn.danger{background:transparent;color:var(--danger);border:1px solid var(--line)}.btn:disabled{opacity:.5;cursor:default}.banner{border-radius:8px;padding:10px 12px;margin-bottom:14px}.banner.err{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.banner.ok{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.banner.warn{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:600;font-size:13px}.scroll-x{overflow-x:auto}.chip{display:inline-block;background:var(--chip);border-radius:6px;padding:2px 8px;font-size:13px;margin:2px 2px 2px 0}.chip.abw{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger)}.chip.buero{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)}.login-wrap{min-height:100vh;display:grid;place-items:center}.login-card{width:min(380px,92vw)}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.field label{font-size:13px;color:var(--muted)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width: 640px){.grid2{grid-template-columns:1fr}}.legal-wrap{min-height:100vh;display:flex;justify-content:center;padding:24px 12px}.legal{width:min(760px,100%)}.legal h1{font-size:24px;margin:8px 0 16px}.legal h2{font-size:16px;margin:22px 0 6px}.legal p,.legal li{line-height:1.55}.legal ul{padding-left:20px}.legal hr{border:none;border-top:1px solid var(--line);margin:24px 0 12px}.legal-footer{margin-top:18px;padding-top:12px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);text-align:center}.legal-footer a{color:var(--muted)}.app .legal-footer{margin:0;padding:14px 20px;border-top:1px solid var(--line)}.install-grid{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start}@media (max-width: 640px){.install-grid{grid-template-columns:1fr}}
