:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2f6ef;--surface:#fff;--surface-2:#e9f0e4;--border:#d6e0d0;--text:#1c2a18;--text-muted:#5c6c54;--accent:#14673c;--accent-strong:#0d4c2c;--accent-soft:#dceee1;--status-good-bg:#def3e7;--status-good-fg:#1f7a4f;--status-warn-bg:#fbebd2;--status-warn-fg:#96631a;--status-crit-bg:#f7e2da;--status-crit-fg:#9c4429;--shadow:0 1px 2px #1c2a180f, 0 8px 24px #1c2a1814}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#10160d;--surface:#182015;--surface-2:#1f2a19;--border:#324030;--text:#e8f0e2;--text-muted:#9aac8e;--accent:#57b583;--accent-strong:#7ed0a2;--accent-soft:#243a2c;--status-good-bg:#1e3527;--status-good-fg:#7ed0a2;--status-warn-bg:#3a2f18;--status-warn-fg:#e3b15c;--status-crit-bg:#3a231c;--status-crit-fg:#e1926f;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000059}}:root[data-theme=dark]{--bg:#10160d;--surface:#182015;--surface-2:#1f2a19;--border:#324030;--text:#e8f0e2;--text-muted:#9aac8e;--accent:#57b583;--accent-strong:#7ed0a2;--accent-soft:#243a2c;--status-good-bg:#1e3527;--status-good-fg:#7ed0a2;--status-warn-bg:#3a2f18;--status-warn-fg:#e3b15c;--status-crit-bg:#3a231c;--status-crit-fg:#e1926f;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000059}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Public Sans,ui-sans-serif,system-ui,sans-serif}.brand-font{font-optical-sizing:auto;font-family:Fraunces,Georgia,serif;font-weight:600}button{font:inherit;cursor:pointer}h1,h2{color:var(--text)}.btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:10px;padding:10px 18px;font-size:.9rem;font-weight:600}.btn-primary{background:var(--accent);color:#f5fbf3;box-shadow:var(--shadow)}.btn-primary:hover{background:var(--accent-strong)}.btn-primary:disabled{opacity:.6;cursor:default}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}input,select{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:9px;padding:10px 12px;font-size:.9rem}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chip{border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.chip-good{background:var(--status-good-bg);color:var(--status-good-fg)}.chip-warn{background:var(--status-warn-bg);color:var(--status-warn-fg)}.chip-crit{background:var(--status-crit-bg);color:var(--status-crit-fg)}.auth-page{justify-content:center;align-items:center;min-height:100dvh;padding:16px;display:flex}.auth-card{background:var(--surface);width:100%;max-width:320px;box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:12px;padding:24px;display:flex}.auth-logo{align-self:center;width:64px;height:64px}.auth-card h1{text-align:center;color:var(--accent-strong);margin:0;font-size:1.4rem}.auth-card label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:.875rem;font-weight:600;display:flex}.auth-card button[type=submit]{margin-top:8px}.auth-error{color:var(--status-crit-fg);margin:0;font-size:.875rem}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-header{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:16px;padding:10px 16px;display:flex}.app-header-brand{color:var(--accent-strong);align-items:center;gap:8px;font-size:1.05rem;font-weight:600;display:flex}.app-header-brand img{width:28px;height:28px}.app-header-status{margin-right:auto}.app-header-nav{align-items:center;gap:16px;font-size:.875rem;display:flex}.app-header-nav a{color:var(--accent)}.app-header-user{color:var(--text-muted)}.app-main{flex:1;width:100%;max-width:960px;margin:0 auto;padding:24px 16px}.visit-form,.visit-detail{max-width:640px}.hint{color:var(--text-muted);font-size:.875rem}.hint-inline{color:var(--text-muted);font-size:.8rem;font-weight:400}.page-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.visit-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.visit-list-item{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.visit-list-item a{color:inherit;text-decoration:none}.visit-form{flex-direction:column;gap:20px;display:flex}.visit-form section{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:10px;padding:18px;display:flex}.visit-form h2{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);margin:0 0 4px;font-size:.9rem;font-weight:700}.visit-form label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:.9rem;font-weight:600;display:flex}.visit-form fieldset{border:1px solid var(--border);border-radius:10px;padding:10px 12px}.visit-form legend{color:var(--text);padding:0 4px;font-size:.85rem;font-weight:700}.visit-form .checkbox-label,.visit-form .radio-label{color:var(--text);flex-direction:row;align-items:center;gap:6px;font-size:.9rem;font-weight:400;display:flex}.checkbox-label input,.radio-label input{width:auto}.sub-options{flex-wrap:wrap;gap:12px;padding-left:20px;display:flex}.field-row{gap:12px;display:flex}.field-row label{flex:1}.form-actions{justify-content:flex-end;gap:12px;display:flex}.visit-detail dl{background:var(--surface);border:1px solid var(--border);border-radius:12px;grid-template-columns:max-content 1fr;gap:6px 16px;padding:14px 18px;display:grid}.visit-detail dt{color:var(--text-muted);font-weight:600}.visit-detail dd{font-variant-numeric:tabular-nums;margin:0}.table-scroll{overflow-x:auto}table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 14px}td{font-variant-numeric:tabular-nums}th{background:var(--surface-2);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.75rem;font-weight:700}tr:last-child td{border-bottom:none}
