:root{color-scheme:light;--border: #c9c9c9;--text: #1a1a1a;--muted: #5a5a5a;--bg: #ffffff;--bg-subtle: #f4f4f4;--accent: #0b5fa5;--danger: #a5240b;--danger-bg: #fdecea;--ok-bg: #e8f4ea;--ok-text: #1b5e20}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);background:var(--bg);font-size:16px;line-height:1.4}main{max-width:900px;margin:0 auto;padding:1.5rem 1rem 3rem}.app-header{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);background:var(--bg-subtle)}.app-title{font-weight:600}.app-role{color:var(--muted);margin-left:auto}button{font:inherit;padding:.5rem 1rem;border:1px solid var(--border);border-radius:4px;background:var(--bg);cursor:pointer}button:hover:not(:disabled){background:var(--bg-subtle)}button:disabled{color:var(--muted);cursor:not-allowed;opacity:.6}form{border:1px solid var(--border);border-radius:6px;padding:1rem;margin-bottom:1rem}fieldset{border:none;padding:0;margin:0}label{display:block;margin-bottom:.75rem;font-weight:500}input{display:block;margin-top:.25rem;font:inherit;padding:.4rem .5rem;border:1px solid var(--border);border-radius:4px;width:100%;max-width:320px}.field-hint{color:var(--muted);font-size:.9rem;margin:.25rem 0 .75rem}.error-message{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger);border-radius:4px;padding:.5rem .75rem}.unit-search input{max-width:240px}.units-table{width:100%;border-collapse:collapse;margin-top:1rem}.units-table th,.units-table td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--border)}.units-pager{display:flex;align-items:center;gap:.75rem;margin-top:1rem}.units-pager button{padding:.35rem .75rem}.units-pager button:disabled{opacity:.5;cursor:default}.units-pager-status{color:var(--muted);font-size:.9rem}.occupancy-badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.85rem;font-weight:600}.occupancy-badge-vacant{background:var(--bg-subtle);color:var(--muted)}.occupancy-badge-occupied{background:var(--ok-bg);color:var(--ok-text)}.unresolved-badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.85rem;font-weight:600;background:var(--danger-bg);color:var(--danger)}.unit-actions{display:grid;gap:1rem;margin-top:1.5rem}.occupied-actions{border:1px solid var(--border);border-radius:6px;padding:1rem;display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.job-watch{border:1px solid var(--border);border-radius:6px;padding:1rem;margin-top:1.5rem;background:var(--bg-subtle)}.job-watch-steps{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.5rem}.job-watch-step{display:flex;flex-wrap:wrap;gap:.5rem;align-items:baseline;padding:.4rem .6rem;border:1px solid var(--border);border-radius:4px;background:var(--bg)}.job-watch-step-name{font-weight:500}.job-watch-step-state{color:var(--muted);margin-left:auto}.job-watch-step-succeeded .job-watch-step-state{color:var(--ok-text)}.job-watch-step-failed .job-watch-step-state{color:var(--danger)}.job-watch-delivery-note{flex-basis:100%;color:var(--muted);font-size:.9rem;margin:.25rem 0 0}.job-watch-step-error{flex-basis:100%;color:var(--danger);margin:.25rem 0 0}.login-page{max-width:360px;margin:3rem auto}
