.header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-1);border-bottom:1px solid var(--border)}.brand{margin:0;font-size:1rem}.search{padding:6px 8px;border:1px solid var(--border);border-radius:4px}.btn-ghost{background:transparent;border:1px solid transparent;padding:6px 8px;cursor:pointer}.user{margin-right:8px}.sidebar{width:220px;padding:12px;background:var(--bg-2);border-right:1px solid var(--border);overflow:auto}.sidebar a{display:block;padding:6px 8px;color:inherit}.models{margin-top:16px}.app-root{display:flex;flex-direction:column;height:100vh;font-family:Inter,system-ui,sans-serif}.app-body{display:flex;flex:1;overflow:hidden}.app-main{flex:1;padding:16px;overflow:auto;background:var(--bg-0)}.login-page{display:flex;align-items:center;justify-content:center;height:100vh}.login-card{background:var(--bg-1);padding:20px;border-radius:8px;box-shadow:0 2px 6px #0000000f}.login-card label{display:block;margin-bottom:8px}.login-card input{width:100%;padding:8px;margin-top:4px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:12px;z-index:1000}.modal-content{background:#fff;padding:16px;width:100%;max-width:1000px;border-radius:8px;box-shadow:0 8px 30px #00000059}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;align-items:start}.form-grid label{display:block}.field-readonly{white-space:pre-wrap;background:#f7f7f9;padding:8px;border-radius:4px;max-height:240px;overflow:auto}.diff{background:#f8fafc;padding:8px;margin-top:8px;max-height:200px;overflow:auto}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.modal-content pre,.modal-content .field-readonly{white-space:pre-wrap!important;word-break:break-word;overflow-wrap:anywhere}.model-table{background:var(--bg-1);padding:16px;border-radius:8px}.table-controls{display:flex;justify-content:space-between;margin-bottom:12px}.table-scroll{overflow:auto;width:100%}table{width:100%;border-collapse:collapse;min-width:900px;font-size:14px}th,td{border-bottom:1px solid var(--border);padding:10px 12px;vertical-align:middle;text-align:left}th{font-weight:600;color:var(--muted)}.cell-value{display:inline-block;max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reveal{margin-left:8px;font-size:13px}.cell-empty{color:#888;font-style:italic;display:inline-block;width:36px;text-align:center}td.actions,th.actions{width:160px;text-align:center}.model-table table tr:hover{background:#00000005}.sbs-diff{display:flex;gap:12px}.sbs-column{flex:1 1 0;background:#fafafa;border:1px solid #ddd;padding:8px;max-height:400px;overflow:auto;min-width:0}.sbs-line{margin:0;padding:2px 6px;white-space:pre-wrap;font-family:monospace;word-break:break-word}.sbs-equal{background:transparent}.sbs-added{background:#e6ffed}.sbs-removed{background:#ffeef0}:root{--bg-0: #f7fafc;--bg-1: #ffffff;--bg-2: #f1f5f9;--border: #e2e8f0;--accent: #0ea5a3;--text: #0f172a}html,body,#root{height:100%}body{margin:0;background:var(--bg-0);color:var(--text)}button{cursor:pointer}.audit-day{margin-bottom:12px}.audit-day-title{margin:6px 0;font-size:14px;color:var(--muted)}.audit-list{list-style:disc;margin:6px 0 0 18px}.audit-link{color:var(--link);text-decoration:none}.audit-link:hover{text-decoration:underline}
