/* GOLDLEAF OS company access: owner ledger of keys, on the existing dark gilt surface. */
.ca-page { max-width:1180px; }
.ca-head { margin-bottom:18px; }
.ca-head h1 { margin:7px 0 0; font:500 clamp(32px,4vw,48px)/1 var(--font-display); letter-spacing:-.025em; }
.ca-head h1:focus { outline:none; }
.ca-head p { color:var(--muted); max-width:60ch; margin:10px 0 0; }
.ca-status { min-height:22px; margin:0 0 14px; font:500 13px/1.4 var(--font-sans); color:var(--muted); }
.ca-status.ca-success { color:var(--success); }
.ca-status.ca-warning { color:var(--warning); }
.ca-status.ca-danger { color:var(--danger); }
.ca-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:18px; align-items:start; }
.ca-wide { grid-column:1 / -1; }
.ca-card { background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:20px 22px; }
.ca-card h2 { margin:0 0 12px; font:500 22px/1.1 var(--font-display); }
.ca-panel p { color:var(--muted); }
.ca-sk { min-height:180px; }
.ca-form { display:grid; grid-template-columns:auto minmax(0,1fr); gap:8px 12px; align-items:center; }
.ca-form label { font:600 12px/1.3 var(--font-sans); color:var(--muted); letter-spacing:.02em; }
.ca-form input:not([type=checkbox]), .ca-form select, .ca-dialog textarea { width:100%; box-sizing:border-box; background:var(--panel-2, var(--bg)); color:var(--text); border:1px solid var(--line); border-radius:var(--radius-sm); padding:8px 10px; font:14px/1.3 var(--font-sans); }
.ca-form input:focus-visible, .ca-form select:focus-visible, .ca-dialog textarea:focus-visible, .ca-page .btn:focus-visible { outline:3px solid #f2d28f; outline-offset:2px; }
.ca-form input[readonly] { color:var(--subtle); }
.ca-check { grid-column:1 / -1; display:flex; gap:8px; align-items:center; }
.ca-actions { grid-column:1 / -1; display:flex; gap:10px; align-items:center; justify-content:flex-end; margin-top:4px; }
.ca-map-form { padding:12px 0; border-top:1px dashed var(--line); }
.ca-map-form:first-of-type { border-top:0; }
.ca-table-wrap { overflow-x:auto; }
.ca-table { width:100%; border-collapse:collapse; font:14px/1.35 var(--font-sans); }
.ca-table th, .ca-table td { text-align:left; padding:10px 8px; border-bottom:1px solid var(--line); vertical-align:top; }
.ca-table thead th { font:600 11px/1 var(--font-sans); text-transform:uppercase; letter-spacing:.08em; color:var(--subtle); }
.ca-table tbody th { font-weight:600; }
.ca-table code { font-size:12px; color:var(--gold); }
.ca-empty { color:var(--muted); text-align:center; padding:28px 8px; }
.ca-optimistic { opacity:.6; }
.ca-editing td { background:rgba(242,210,143,.04); }
.ca-row-actions { display:flex; gap:6px; justify-content:flex-end; flex-wrap:wrap; }
.ca-role { display:inline-block; padding:2px 8px; border-radius:999px; border:1px solid var(--line-strong); font:600 11px/1.5 var(--font-sans); text-transform:capitalize; }
.ca-role-approver { color:var(--gold); }
.ca-role-editor { color:var(--info); }
.ca-danger { color:var(--danger); }
.ca-danger-solid { background:var(--danger); color:#160a08; border-color:var(--danger); }
.ca-pager { display:flex; gap:12px; align-items:center; justify-content:flex-end; margin-top:12px; }
.ca-scrim { position:fixed; inset:0; background:rgba(8,7,4,.72); display:grid; place-items:center; z-index:60; padding:16px; }
.ca-dialog { width:min(480px,100%); background:var(--panel); border:1px solid var(--line-strong); border-radius:var(--radius); box-shadow:var(--shadow); padding:22px; animation:ca-in .18s ease-out; }
.ca-dialog h2 { margin:0 0 8px; font:500 22px/1.15 var(--font-display); }
.ca-dialog label { display:block; margin:12px 0 6px; font:600 12px/1 var(--font-sans); color:var(--muted); }
@keyframes ca-in { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
@media (max-width: 767px) {
  .ca-grid { grid-template-columns:1fr; }
  .ca-form { grid-template-columns:1fr; }
  .ca-row-actions { justify-content:flex-start; }
}
@media (prefers-reduced-motion: reduce) { .ca-dialog { animation:none; } }
