.app{flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--surface);border-bottom:1px solid var(--border);flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.header-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.app-header h1{letter-spacing:-.02em;margin:0;font-size:1.4rem}.unsaved-indicator{color:var(--muted);font-size:.8rem;font-weight:600}.unsaved-indicator.dirty{color:#b45309;background:#fef3c7;border:1px solid #fde68a;border-radius:.375rem;padding:.2rem .55rem}.file-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.85rem;display:flex}.file-chip{color:var(--text);border:1px solid var(--border);background:#f1f5f9;border-radius:.375rem;padding:.15rem .5rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8rem}.toolbar,.main-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.button{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:.375rem;padding:.5rem 1rem}.button:hover:not(:disabled){background:#f1f5f9}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button.primary:hover:not(:disabled){background:#1d4ed8}.button:disabled{opacity:.45;cursor:not-allowed}.app-main{flex-direction:column;flex:1;align-items:stretch;gap:1rem;padding:1.5rem;display:flex}.notice{text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:.5rem;margin:0;padding:2rem}.save-note{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-left:4px solid #16a34a;border-radius:.5rem;margin:0;padding:.75rem 1rem}.empty-state{border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--surface);border-radius:.5rem;max-width:42rem;padding:1.5rem 1.75rem}.empty-state h2{margin:0 0 .5rem;font-size:1.1rem}.empty-state p{color:var(--muted);margin:0 0 1rem}.empty-state code{background:#f1f5f9;border-radius:.25rem;padding:.1rem .35rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.85em}.error-banner{color:#7f1d1d;background:#fef2f2;border:1px solid #fecaca;border-left:4px solid #dc2626;border-radius:.5rem;flex-direction:column;gap:.25rem;padding:.75rem 1rem;display:flex}.error-banner strong{font-size:.9rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.search{flex:1;align-items:center;gap:.5rem;min-width:16rem;display:flex}.search label{color:var(--muted);font-size:.85rem;font-weight:600}.search input{font:inherit;border:1px solid var(--border);background:var(--surface);border-radius:.375rem;flex:1;padding:.5rem .75rem}.table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:.5rem;overflow-x:auto}.record-table{border-collapse:collapse;width:100%;min-width:44rem;font-size:.9rem}.record-table th{text-align:left;border-bottom:1px solid var(--border);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);white-space:nowrap;background:#f8fafc;padding:.6rem .9rem;font-size:.75rem}.sort-button{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;padding:0;display:inline-flex}.sort-button:hover{color:var(--text)}.sort-indicator{font-size:.7rem;line-height:1}.record-table td{vertical-align:top;border-bottom:1px solid #eef2f7;padding:.55rem .9rem}.record-table tbody tr:last-child td{border-bottom:none}.record-table tbody tr:hover{background:#f8fafc}.id-cell{color:var(--muted);white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.actions-col{text-align:right}.actions-cell{white-space:nowrap;text-align:right}.link-button{font:inherit;cursor:pointer;color:var(--accent);background:0 0;border:1px solid #0000;border-radius:.3rem;margin-left:.25rem;padding:.2rem .5rem;font-size:.85rem}.link-button:hover{background:#eff6ff}.link-button.danger{color:#b91c1c}.link-button.danger:hover{background:#fef2f2}.modal-backdrop{background:#0f172a73;justify-content:center;align-items:flex-start;padding:2rem 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;width:min(100%,42rem);padding:1.25rem 1.5rem 1.5rem;box-shadow:0 20px 45px -20px #0f172a66}.modal h2{margin:0 0 .25rem;font-size:1.15rem}.modal-id{color:var(--muted);margin:0 0 1rem;font-size:.85rem}.modal-id strong{color:var(--text);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem;display:grid}.field{flex-direction:column;gap:.25rem;display:flex}.field label{color:var(--muted);font-size:.8rem;font-weight:600}.field input{font:inherit;border:1px solid var(--border);background:#fff;border-radius:.375rem;padding:.45rem .6rem}.field input:focus{outline:2px solid color-mix(in srgb, var(--accent) 40%, transparent);outline-offset:1px;border-color:var(--accent)}.modal-actions{justify-content:flex-end;gap:.5rem;margin-top:1.25rem;display:flex}@media (width<=38rem){.form-grid{grid-template-columns:1fr}.app-main{padding:1rem}}:root{color:#1f2937;font-synthesis:none;text-rendering:optimizelegibility;--text:#1f2937;--muted:#64748b;--accent:#2563eb;--surface:#fff;--border:#dbe3ec;background:#f8fafc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:20rem;min-height:100vh;margin:0}button,a{font:inherit}a:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 30%, transparent);outline-offset:3px;border-radius:.2rem}button:focus-visible,input:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 40%, transparent);outline-offset:1px}
