/* SOMPO AI additions to the shared visual identity in app.css (same tokens, Bootstrap 5.3). */
.shell-hidden { visibility: hidden; }
.workspace-main > main { min-height: 50vh; }
.page-title { font-size: 1.6rem; font-weight: 800; color: var(--cc-navy); margin: 0; }
.page-sub { color: var(--cc-muted); margin: .25rem 0 0; }
.table > :not(caption) > * > * { vertical-align: middle; }
.table-sm .btn { --bs-btn-padding-y: .15rem; --bs-btn-padding-x: .5rem; --bs-btn-font-size: .8rem; }
.role-card { cursor: pointer; border: 2px solid var(--cc-border); border-radius: var(--cc-radius); padding: .9rem 1rem; height: 100%; display: block; }
.btn-check:checked + .role-card { border-color: var(--cc-blue); background: #eef4fd; }
.btn-check:focus-visible + .role-card { outline: 3px solid var(--cc-focus); outline-offset: 2px; }
.pw-hint { font-size: .85rem; color: var(--cc-muted); }
.kv { display: grid; grid-template-columns: max-content 1fr; gap: .35rem 1rem; margin: 0; }
.kv dt { color: var(--cc-muted); font-weight: 500; }
.kv dd { margin: 0; overflow-wrap: anywhere; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .9em; }
.soon-box { max-width: 36rem; margin: 3rem auto; text-align: center; }
.audit-details { max-width: 28rem; white-space: pre-wrap; font-size: .8rem; }
.setting-row { border-bottom: 1px solid var(--cc-border); padding: .75rem 0; }
.setting-row:last-child { border-bottom: 0; }
.progress-sm { height: .5rem; }
@media (max-width: 575.98px) { .page-title { font-size: 1.35rem; } .kv { grid-template-columns: 1fr; } }
