/* Application styles */

/* Shared financial operations and partner workspace. */
.operations-ui main { min-width: 0; }
.operations-ui main h1 { letter-spacing: -.025em; font-size: 1.6rem; }
.operations-ui main .bg-white { box-shadow: 0 2px 8px #18223b04; }
.operations-ui main table { border-collapse: separate; border-spacing: 0; }
.operations-ui main thead th { background: #f8fafc; color: #64748b; font-size: 11px; font-weight: 600; letter-spacing: .035em; white-space: nowrap; border-bottom: 1px solid #e8edf4; }
.operations-ui main td { vertical-align: top; line-height: 1.6; padding-top: 16px; padding-bottom: 16px; }
.operations-ui main tbody tr:hover { background: #fafaff; }
.operations-ui main td.text-right { font-variant-numeric: tabular-nums; }
.operations-ui main select, .operations-ui main input:not([type=hidden]):not([type=checkbox]):not([type=submit]), .operations-ui main textarea { border: 1px solid #dce1ea; border-radius: 10px; padding: 10px 12px; background-color: #fff; font-size: 14px; max-width: 100%; }
.operations-ui main select { padding-right: 36px; min-height: 42px; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2364748b'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; }
.operations-ui main :is(input,select,textarea,button,a,summary):focus-visible { outline: 3px solid #c4b5fd; outline-offset: 3px; }
.operations-ui main summary { cursor: pointer; border-radius: 8px; padding: 8px 10px; }
.operations-ui main details[open] > summary { background: #f3f0ff; margin-bottom: 12px; }
.operations-ui main .rounded-full { display: inline-flex; align-items: center; white-space: nowrap; line-height: 1.5; padding: 4px 10px; }
.operations-ui main nav.pagination { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.operations-ui main nav.pagination span { padding: 6px 10px; border: 1px solid #e2e8f0; border-radius: 8px; background: white; }
.operations-ui main nav.pagination .current { background: #7c5cfc; color: white; }
.ops-toolbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; padding: 16px; background: white; border: 1px solid #e5e7eb; border-radius: 12px; }
.ops-toolbar label { display: block; font-size: 12px; color: #64748b; margin-bottom: 5px; }
.ops-toolbar button { padding: 10px 16px; background: #7c5cfc; color: white; border-radius: 10px; }
@media(max-width:640px) { .operations-ui main .flex { flex-wrap: wrap; } .operations-ui main td { padding: 12px; } }

.operations-ui .integration-card { border-top: 3px solid #ddd6fe; }
.operations-ui main td:has(.tabular-nums), .operations-ui main td.whitespace-nowrap { white-space: nowrap; }
.operations-ui main input[type=submit], .operations-ui main button { cursor: pointer; }
.operations-ui main details > summary:hover { background-color: #f5f3ff; }
.operations-ui main table td:nth-child(2):is(.text-right),
.operations-ui main table td.tabular-nums { white-space: nowrap; font-variant-numeric: tabular-nums; }
@media (max-width: 640px) {
  .operations-ui main .flex { max-width: 100%; }
  .operations-ui main .flex > * { min-width: 0; max-width: 100%; }
  .operations-ui main h1, .operations-ui main p { overflow-wrap: anywhere; }
}

/* Finance tables: compact summary rows with full-width review panels. */
.operations-ui .ops-table-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 14px; overflow: hidden; }
.operations-ui .ops-table-heading { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding: 18px 20px; border-bottom: 1px solid #eef0f6; font-weight: 600; color: #334155; }
.operations-ui main .ops-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 16px; border-radius: 10px; border: 1px solid transparent; font-size: 14px; font-weight: 500; line-height: 20px; white-space: nowrap; cursor: pointer; text-decoration: none; transition: background-color .15s; }
.operations-ui main .ops-button-primary { background: #7c5cfc; color: #fff; }
.operations-ui main .ops-button-primary:hover { background: #6d4de8; }
.operations-ui main .ops-button-secondary { background: #fff; color: #6551c7; border-color: #ddd7f3; }
.operations-ui main .ops-button-secondary:hover { background: #f5f3ff; }
.operations-ui main .ops-button-danger { background: #fff1f2; color: #be123c; border-color: #fecdd3; }
.operations-ui .ops-ledger > tbody > tr > td { border-bottom: 1px solid #eef0f6; vertical-align: middle; }
.operations-ui .ops-ledger > tbody > tr:last-child > td { border-bottom: 0; }
.operations-ui .ops-status { display: inline-flex; padding: 4px 10px; border-radius: 7px; background: #f1f5f9; color: #475569; font-size: 12px; font-weight: 500; white-space: nowrap; }
.operations-ui .ops-status-success { background: #ecfdf5; color: #047857; }
.operations-ui .ops-status-pending { background: #f5f3ff; color: #6d28d9; }
.operations-ui .ops-inline-warning { color: #92400e; font-size: 12px; font-weight: 400; }
.operations-ui .ops-expanded-row > td { background: #fafaff; }
.operations-ui .ops-action-panel { padding: 20px; border: 1px solid #e4dff5; background: #fff; border-radius: 12px; min-width: 0; }
.operations-ui .ops-notice { border-left: 3px solid #fbbf24; padding: 8px 12px; background: #fffbeb; color: #92400e; font-size: 13px; border-radius: 4px; }
.operations-ui main .ops-button[aria-expanded=true] { background: #f3f0ff; color: #6d28d9; border-color: #c4b5fd; }
@media (prefers-reduced-motion: reduce) { .operations-ui main .ops-button { transition: none; } }
