/* sokoni-finos-finance.css — styles the moved admin finance markup (sokoni-admin-finance.js, byte-verbatim from AdminOS) in FinOS's look.
   The moved code emits AdminOS class names (aos-table, aos-btn…, fin-stat, rep-card, status-badge…); this maps them onto FinOS's tokens, scoped to
   .fn-fin so no other FinOS section is touched. Uses FinOS's own variables (--fn-*) and the shell's font. */
.fn-fin{ margin:18px 0; }
.fn-fin-h{ font-size:13px;font-weight:900;letter-spacing:.2px;margin:0 0 10px;color:var(--fn-txt,#f4f4f4); }
.fn-fin-tools{ margin:0 0 10px;font-size:12px;color:var(--fn-txt2,#a8a8a8); }
.fn-fin-tools select{ margin-left:6px;min-width:130px; }
.fn-fin-body{ min-height:48px;overflow-x:auto;-webkit-overflow-scrolling:touch; }
.fn-fin h3{ font-size:13px;font-weight:900;margin:18px 0 8px; }
.fn-fin .aos-muted{ color:var(--fn-txt3,#6d6d6d); }
.fn-fin .aos-mono{ font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px; }
.fn-fin .aos-spinner{ display:flex;justify-content:center;padding:18px; }
.fn-fin .aos-spinner>div{ width:22px;height:22px;border-radius:50%;border:3px solid rgba(255,255,255,.12);border-top-color:var(--fn-acc,#71ff00);animation:fnfinspin .8s linear infinite; }
@keyframes fnfinspin{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce){ .fn-fin .aos-spinner>div{ animation:none; } }
.fn-fin .empty-state{ text-align:center;padding:18px 12px;color:var(--fn-txt2,#a8a8a8);font-size:12.5px; }
.fn-fin .empty-state span{ display:block;font-size:22px;margin-bottom:4px; }
.fn-fin .empty-state p{ margin:0; }
/* tables */
.fn-fin .aos-table{ width:100%;border-collapse:collapse;font-size:12px; }
.fn-fin .aos-table th{ text-align:left;padding:8px 10px;color:rgba(255,255,255,.4);font-weight:700;font-size:10px;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.07);white-space:nowrap; }
.fn-fin .aos-table td{ padding:9px 10px;border-bottom:1px solid rgba(255,255,255,.04);vertical-align:middle; }
.fn-fin .aos-table tr:hover td{ background:rgba(255,255,255,.02); }
/* buttons (tap targets stay >= 36px high on touch) */
.fn-fin .aos-btn,.fn-fin .aos-btn-sm{ font-family:inherit;font-weight:700;cursor:pointer;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.75);min-height:36px; }
.fn-fin .aos-btn{ padding:9px 16px;font-size:12px; }
.fn-fin .aos-btn-sm{ padding:6px 12px;font-size:11px;margin:2px 4px 2px 0; }
.fn-fin .aos-btn.success,.fn-fin .aos-btn-sm.success{ background:var(--fn-acc-dim,rgba(113,255,0,.12));border-color:var(--fn-acc-line,rgba(113,255,0,.32));color:var(--fn-acc,#71ff00); }
.fn-fin .aos-btn.danger,.fn-fin .aos-btn-sm.danger{ background:rgba(255,107,107,.12);border-color:rgba(255,107,107,.3);color:#ff6b6b; }
.fn-fin .aos-btn-sm.warning{ background:rgba(255,140,0,.12);border-color:rgba(255,140,0,.3);color:#ff8c00; }
.fn-fin .aos-btn:hover,.fn-fin .aos-btn-sm:hover{ opacity:.85; }
.fn-fin .aos-btn:disabled,.fn-fin .aos-btn-sm:disabled{ opacity:.45;cursor:not-allowed; }
.fn-fin .payout-actions{ margin:0 0 10px; }
/* inputs (the schedule editor) */
.fn-fin .aos-input{ width:100%;box-sizing:border-box;padding:9px 10px;border-radius:10px;font-family:inherit;font-size:13px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);color:var(--fn-txt,#f4f4f4); }
.fn-fin .aos-form label{ display:grid;gap:4px;font-size:12px;color:var(--fn-txt2,#a8a8a8); }
.fn-fin .aos-form label input[type=checkbox]{ width:auto; }
/* status badges */
.fn-fin .status-badge{ display:inline-block;padding:3px 8px;border-radius:6px;font-size:10px;font-weight:700;background:rgba(255,255,255,.07);color:rgba(255,255,255,.75); }
.fn-fin .st-paid,.fn-fin .st-complete,.fn-fin .st-completed,.fn-fin .st-active,.fn-fin .st-released{ background:rgba(113,255,0,.12);color:#71ff00; }
.fn-fin .st-pending,.fn-fin .st-held,.fn-fin .st-open{ background:rgba(255,140,0,.12);color:#ff8c00; }
.fn-fin .st-failed,.fn-fin .st-rejected,.fn-fin .st-reversed{ background:rgba(255,107,107,.12);color:#ff6b6b; }
/* stat tiles + report cards */
.fn-fin .fin-stats{ display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin:0 0 12px; }
.fn-fin .fin-stat{ background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px; }
.fn-fin .fin-stat span{ display:block;font-size:10px;font-weight:700;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:4px; }
.fn-fin .fin-stat strong{ display:block;font-size:18px;font-weight:900; }
.fn-fin .rep-card{ background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px;margin-bottom:12px; }
.fn-fin .rep-h{ font-size:12px;font-weight:900;margin-bottom:8px; }
.fn-fin .rep-row{ display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:12px; }
.fn-fin .ec-section{ background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px; }
.fn-fin .ec-title{ font-size:12px;font-weight:900;margin-bottom:6px; }
@media (max-width:899px){ .fn-fin .aos-table th,.fn-fin .aos-table td{ padding:8px 6px; } .fn-fin .fin-stats{ grid-template-columns:repeat(2,1fr); } }
