/* Nama admin theme — the studio's plum night and saffron-to-rose accent on the admin workspace, so both
   feel like one product. Loaded after styles.css on admin.html only (body.admin). On phones every data
   table turns into a stack of cards (labels come from the table head via admin.js labelTables). */
@font-face{font-family:Inter;src:url('/static/fonts/Inter-latin-wght.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Outfit;src:url('/static/fonts/Outfit-latin-wght.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

body.admin{
 --bg:#0d0b12;--surface:#15121c;--raised:#1d1926;--line:rgba(255,255,255,.075);--line-strong:rgba(255,255,255,.14);
 --text:#f6f3f8;--muted:#9c95ab;--soft:#cfc9d8;
 --accent:#ffb454;--accent-2:#ff6f91;--accent-rgb:255,180,84;--accent-ink:#1d0f0a;--ink:#1d0f0a;
 --grad:linear-gradient(120deg,#ffc56b 0%,#ff9a5c 45%,#ff6f91 100%);
 --grad-soft:linear-gradient(120deg,rgba(255,197,107,.14),rgba(255,111,145,.12));
 --chip:rgba(255,255,255,.045);--chip-hover:rgba(255,255,255,.085);
 --display:Outfit,Inter,ui-sans-serif,system-ui,sans-serif;
 --good:#7ee2a8;--good-bg:rgba(126,226,168,.12);--bad:#ff8fa3;--bad-bg:rgba(255,111,145,.13);--info:#b9b2ff;--info-bg:rgba(160,150,255,.13);
 color-scheme:dark;font-family:var(--ui);font-size:14px;line-height:1.55;color:var(--text);
 background:radial-gradient(900px 500px at 100% -10%,rgba(var(--accent2-rgb),.07),transparent 60%),radial-gradient(800px 600px at -10% 110%,rgba(var(--accent-rgb),.05),transparent 60%),var(--bg);background-attachment:fixed}
html[lang=fa] body.admin{font-family:var(--ui);--display:Vazirmatn,Tahoma,system-ui,sans-serif}
body.admin ::selection{background:var(--accent);color:var(--ink)}
body.admin *{scrollbar-width:thin;scrollbar-color:var(--panel-2) transparent}
body.admin select option,body.admin select optgroup{background-color:var(--pop);color:var(--text)}
body.admin input[type=checkbox]{accent-color:var(--accent-mid)}
body.admin :focus-visible{outline-color:var(--accent)}
body.admin [tabindex="-1"]:focus{outline:none}

/* ---- Type ---- */
body.admin h1,body.admin h2,body.admin h3{font-family:var(--display)}
body.admin h1{font-weight:650;letter-spacing:-1.2px}
body.admin h1 em{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
body.admin h2{font-weight:650;letter-spacing:-.3px}
body.admin .eyebrow,body.admin .nav-caption{color:var(--eyebrow)}
body.admin .section-heading h2 .icon{color:var(--accent)}

/* ---- Frame: sidebar and top bar ---- */
body.admin .sidebar{background:rgba(var(--bg-rgb),.96);border-color:var(--line);backdrop-filter:blur(12px)}
body.admin .brand-mark{background:var(--grad);border:0;color:var(--ink);border-radius:12px}
body.admin .brand-light{color:var(--soft)}
body.admin .nav-link{border-radius:12px;color:var(--soft)}
body.admin .nav-link:hover{background:var(--chip-hover);color:var(--text-strong)}
body.admin .nav-link.active{background:var(--grad-soft);color:var(--text-strong);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.28)}
body.admin .nav-link.active .icon{color:var(--accent)}
body.admin .live-dot{background:var(--accent);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.12)}
body.admin .topbar{background:rgba(var(--bg-rgb),.82);border-color:var(--line);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20}
body.admin .breadcrumb strong{color:var(--soft)}
body.admin .balance-badge,body.admin button.balance-badge{background:var(--grad-soft);border:1px solid rgba(var(--accent-rgb),.35);color:var(--accent);border-radius:999px}
body.admin .balance-badge span{color:var(--soft)}
body.admin .language-select{background:var(--chip);border-color:var(--line);border-radius:10px}
body.admin .icon-btn,body.admin .menu-toggle{border-color:var(--line);border-radius:12px;background:var(--chip)}
body.admin .workspace-footer{border-color:var(--line);color:var(--muted)}

/* ---- Cards, stats ---- */
body.admin .card{background:rgba(var(--surface-rgb),.86);border-color:var(--line);border-radius:22px}
body.admin .stat{background:linear-gradient(140deg,rgba(var(--fg-rgb),.04),rgba(var(--fg-rgb),.015));border-color:var(--line);border-radius:18px}
body.admin .stat .value{font-family:var(--display);font-weight:650}
body.admin .stat .value :is(small,.tiny,.muted,span:not([data-no-translate])){font-family:var(--ui);letter-spacing:0;font-weight:500}
html[lang=fa] body.admin .stat .value :is(small,.tiny,.muted,span:not([data-no-translate])){font-family:var(--ui)}
body.admin .stat-action:hover,body.admin .stat-action:focus-visible{background:var(--grad-soft)}
body.admin .notice{background:var(--chip);border-color:var(--line);color:var(--soft);border-radius:14px}
body.admin .quote{background:var(--grad-soft);border-color:rgba(var(--accent-rgb),.3);color:var(--accent-soft-text)}
body.admin .pricing-summary,body.admin .auto-price-card{background:var(--grad-soft);border-color:rgba(var(--accent-rgb),.25);border-radius:16px}
body.admin .pricing-report,body.admin .lock-status,body.admin .gen-progress,body.admin .suggest-card,body.admin .price-rule,body.admin .exclusion-item{background:var(--chip);border-color:var(--line);border-radius:14px}
body.admin .price-rule{border-inline-start:3px solid var(--accent)}
body.admin .suggest-card.popular{border-color:rgba(var(--accent-rgb),.5);background:var(--grad-soft)}
body.admin .lock-dot{box-shadow:0 0 0 4px rgba(var(--accent-rgb),.15)}
body.admin .json-box{background:var(--deep);border-color:var(--line);border-radius:14px;color:var(--soft)}
body.admin .advanced,body.admin details.advanced{border-color:var(--line);border-radius:14px}
body.admin .empty-state{background:var(--chip);border-color:var(--line-strong);border-radius:18px}
body.admin .empty-symbol{background:var(--grad-soft);color:var(--accent)}
body.admin .skeleton{background:linear-gradient(100deg,var(--panel) 30%,var(--panel) 50%,var(--panel) 70%);background-size:200% 100%}
body.admin .output-dialog{background:var(--surface);border-color:var(--line-strong);border-radius:22px}
body.admin .jdp{background:var(--pop);border-color:var(--line-strong);border-radius:16px}
body.admin .token-pill{background:var(--grad-soft);border-color:rgba(var(--accent-rgb),.3)}
body.admin .profit-pill{background:var(--good-bg);color:var(--good)}
body.admin .profit-chart .revenue,body.admin .swatch.revenue{fill:var(--chart-revenue);background:var(--chart-revenue)}
body.admin .profit-chart .cost,body.admin .swatch.cost{fill:var(--chart-cost);background:var(--chart-cost)}
body.admin .profit-chart .loss,body.admin .swatch.loss{fill:var(--accent-2);background:var(--accent-2)}

/* ---- Controls ---- */
body.admin .btn{border-radius:12px;font-weight:600;font-size:12.5px;padding:9px 15px;line-height:1.3;background:var(--grad);color:var(--ink);border:0}
body.admin .btn:hover:not(:disabled){background:var(--grad);filter:brightness(1.06);box-shadow:0 6px 20px rgba(var(--glow-rgb),.18)}
body.admin .btn.secondary{background:var(--chip);color:var(--text);border:1px solid var(--line)}
body.admin .btn.secondary:hover:not(:disabled){background:var(--chip-hover);border-color:var(--line-strong);box-shadow:none;filter:none}
body.admin .btn.ghost{background:transparent;color:var(--muted);border:1px solid transparent}
body.admin .btn.ghost:hover:not(:disabled){background:var(--chip);color:var(--text);box-shadow:none;filter:none}
body.admin .btn.danger{background:var(--bad-bg);color:var(--rose-soft-text);border:1px solid rgba(var(--accent2-rgb),.35)}
body.admin .btn.danger:hover:not(:disabled){background:rgba(var(--accent2-rgb),.22);box-shadow:none;filter:none}
body.admin .btn.small,body.admin .table .btn{padding:6px 11px;font-size:11.5px;border-radius:10px}
body.admin .range-presets .btn.active{border-color:rgba(var(--accent-rgb),.6);color:var(--accent);background:var(--grad-soft)}
body.admin .input,body.admin .select,body.admin .textarea{background:var(--chip);border:1px solid var(--line);border-radius:12px;color:var(--text)}
body.admin .input:hover,body.admin .select:hover,body.admin .textarea:hover{border-color:var(--line-strong)}
body.admin .input:focus,body.admin .select:focus,body.admin .textarea:focus{border-color:rgba(var(--accent-rgb),.6);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.14)}
body.admin .text-link{color:var(--accent)}
body.admin .success{color:var(--good)}
body.admin .error{color:var(--bad)}
body.admin .toast{background:var(--pop);border-color:rgba(var(--accent-rgb),.35);color:var(--accent-soft-text);border-radius:14px}
body.admin .toast.error{background:var(--panel-2);border-color:rgba(var(--accent2-rgb),.45);color:var(--rose-soft-text)}

/* ---- Status badges ---- */
body.admin .status{font-size:11px;font-weight:600;border-radius:999px;padding:3px 9px;background:var(--info-bg);color:var(--info)}
body.admin .status.completed,body.admin .status.paid{background:var(--good-bg);color:var(--good)}
body.admin .status.failed,body.admin .status.needs_review,body.admin .status.canceled,body.admin .status.cancelled{background:var(--bad-bg);color:var(--bad)}
body.admin .status.pending{background:rgba(var(--accent-rgb),.13);color:var(--accent)}
body.admin .tag{display:inline-block;margin-inline-start:6px;padding:2px 8px;border-radius:999px;border:1px solid var(--line-strong);color:var(--soft);font-size:10.5px;font-weight:600;white-space:nowrap}

/* ---- Short, copyable IDs instead of long ones ---- */
body.admin .id-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:3px 9px;border-radius:999px;border:1px solid var(--line);background:var(--chip);color:var(--soft);font:600 11px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;direction:ltr;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.admin .id-chip:hover{border-color:rgba(var(--accent-rgb),.5);color:var(--accent)}
body.admin .id-chip svg{flex:none;width:12px;height:12px;opacity:.7}
body.admin .cell-sub{display:block;margin-top:3px;color:var(--muted);font-size:11.5px}
body.admin .cell-error{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:280px;margin-top:6px;font-size:11.5px;color:var(--bad);line-height:1.45}
body.admin .table .mono{overflow-wrap:normal;word-break:normal}
body.admin .provider-id{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---- Tables ---- */
body.admin .table-wrap{border-color:var(--line);border-radius:16px;background:rgba(var(--fg-rgb),.012)}
body.admin .table th{background:rgba(var(--fg-rgb),.035);color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.2px}
body.admin .table th,body.admin .table td{border-color:var(--line);padding:13px 14px;font-size:12.5px}
body.admin .table tbody tr:hover{background:rgba(var(--fg-rgb),.025)}
body.admin .table td .row{flex-wrap:nowrap;gap:6px}
body.admin #jobs td:nth-child(3){min-width:170px}
body.admin #jobs td:nth-child(4){min-width:150px}
body.admin #jobs td:nth-child(4)>span:first-child{display:block;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.admin .admin-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
body.admin .table strong{font-weight:600}

/* ---- Login ---- */
body.admin .admin-auth{background:radial-gradient(ellipse at 20% 15%,rgba(var(--accent2-rgb),.12),transparent 50%),radial-gradient(ellipse at 90% 90%,rgba(var(--accent-rgb),.08),transparent 50%),var(--bg)}

/* ---- Phones and small tablets ---- */
@media(max-width:760px){
 body.admin .shell{padding:20px 14px 0}
 body.admin .topbar{padding:12px 14px;min-height:60px}
 body.admin .page-heading{flex-wrap:wrap;gap:12px;margin-bottom:18px}
 body.admin h1{font-size:30px}
 body.admin .card{padding:16px;border-radius:18px}
 body.admin .section-heading{flex-wrap:wrap;gap:12px;margin-bottom:16px}
 body.admin .section-heading>.row,body.admin .section-heading>div:last-child:not(:first-child){width:100%}
 body.admin .toolbar{gap:8px}
 body.admin .toolbar>*{flex:1 1 140px;min-width:0}
 body.admin .toolbar .search-field{flex-basis:100%}
 body.admin .admin-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body.admin .admin-stats .stat{padding:12px 14px}
 body.admin .admin-stats .value{font-size:22px}
 body.admin .settings-grid,body.admin .command-list{grid-template-columns:minmax(0,1fr)}
 body.admin .profit-range,body.admin .range-dates{align-items:stretch}
 body.admin .range-dates label{flex:1 1 140px;min-width:0}
 body.admin .range-dates .input{min-width:0;width:100%}
 body.admin .jdp{width:min(292px,calc(100vw - 28px))}
 /* Tables become cards: one card per row, "Label  value" lines inside. */
 body.admin .table-wrap{overflow:visible;border:0;background:none;border-radius:0}
 body.admin .table,body.admin .table tbody,body.admin .table tr,body.admin .table td{display:block;width:100%}
 body.admin .table thead{display:none}
 body.admin .table tbody tr{margin-bottom:10px;padding:6px 14px;border:1px solid var(--line);border-radius:16px;background:rgba(var(--surface-rgb),.9)}
 body.admin .table tbody tr:hover{background:rgba(var(--surface-rgb),.9)}
 body.admin .table td{position:relative;padding:9px 0 9px 36%;min-height:38px;border-bottom:1px solid var(--line);font-size:13px;text-align:start!important;min-width:0;max-width:none;overflow-wrap:anywhere}
 html[dir=rtl] body.admin .table td{padding:9px 36% 9px 0}
 body.admin .table td:last-child{border-bottom:0}
 body.admin .table td:empty{display:none}
 body.admin .table td::before{content:attr(data-label);position:absolute;inset-inline-start:0;top:10px;width:calc(36% - 12px);color:var(--muted);font-size:11.5px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
 body.admin .table td[data-label=""]{padding-inline-start:0}
 body.admin .table td[data-label=""]::before{display:none}
 body.admin .table td .row,body.admin .table td .row.nowrap{flex-wrap:wrap}
 body.admin #jobs td:nth-child(3),body.admin #jobs td:nth-child(4){min-width:0;max-width:none}
 body.admin #jobs td:nth-child(4)>span:first-child{display:inline;max-width:none;white-space:normal;overflow-wrap:anywhere}
 body.admin .table td.empty-row{display:block;text-align:center!important;padding:26px 0}
 body.admin .table td.empty-row::before{display:none}
 body.admin .table tr.res-row{margin-top:-6px;border-top-left-radius:0;border-top-right-radius:0;padding-inline-start:26px;opacity:.95}
 body.admin .table td .input{width:100%!important;max-width:none}
 body.admin .table td .row{justify-content:flex-start}
 body.admin .cell-error{max-width:none}
 body.admin .provider-id{max-width:none;white-space:normal;overflow-wrap:anywhere}
 body.admin .price-cell{max-width:none;min-width:0}
 body.admin .price-notes{max-width:none}
 /* Columns the desktop hides for space come back as card lines. */
 body.admin [data-panel=catalog] td:nth-child(3),body.admin [data-panel=catalog] td:nth-child(5){display:block}
 body.admin .output-dialog{padding:16px;border-radius:18px}
 body.admin .toast-region{left:14px;right:14px;bottom:14px;max-width:none}
}
@media(max-width:380px){
 body.admin .table td,html[dir=rtl] body.admin .table td{padding:28px 0 9px}
 body.admin .table td[data-label=""],html[dir=rtl] body.admin .table td[data-label=""]{padding-top:9px}
 body.admin .table td::before{top:8px;width:100%}
 body.admin .admin-stats{grid-template-columns:minmax(0,1fr)}
}

/* Use the full width of large screens */
body.admin .shell{max-width:none}
@media(min-width:1800px){body.admin .shell{padding-inline:44px}}

body.admin .price-notes p{max-height:180px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}

body.admin .gift-who ul{margin:8px 0 0;padding-inline-start:18px;display:grid;gap:3px;font-size:12px}
body.admin .gift-who:empty{display:none}

/* ---- Gift-code form: inputs line up whatever the help text length ---- */
body.admin #giftCreate .settings-grid{align-items:stretch}
body.admin #giftCreate .settings-grid label{display:flex;flex-direction:column;gap:6px}
body.admin #giftCreate .settings-grid label small{min-height:2.9em}
body.admin #giftCreate .settings-grid label .input{margin-top:auto}

/* ---- Token packages and other leftovers from the old dark base sheet: follow the theme ---- */
body.admin .package-row{background:var(--chip);border-color:var(--line);border-radius:16px}
body.admin .package-row label{color:var(--soft)}
body.admin .package-row .input{background:var(--surface);color:var(--text)}
body.admin .package-row-price{color:var(--text);font-weight:700}
body.admin .status:is(.running,.queued,.submitted,.submitting){background:var(--info-bg);color:var(--info)}
body.admin .status.promo{background:rgba(var(--accent-rgb),.14);color:var(--accent)}
body.admin .lock-banner{background:var(--bad-bg);border-color:rgba(var(--bad-rgb),.4);color:var(--text)}
body.admin .lock-banner .icon{color:var(--rose-text)}
body.admin .lock-status.is-locked{background:var(--bad-bg);border-color:rgba(var(--bad-rgb),.4)}
body.admin .quote.short{background:rgba(var(--accent-rgb),.12);border-color:rgba(var(--accent-rgb),.35);color:var(--text)}
body.admin #giftCreate .settings-grid .input{height:44px;box-sizing:border-box}

/* Logo picture only (no name text beside it) */
body.admin .brand-mark{width:42px;height:42px;border-radius:13px}
body.admin .brand-mark .px-logo{width:30px;height:30px}

/* ---- Automatic dollar rate and prices ---- */
body.admin .auto-rate{margin:4px 0 16px;padding:16px;border-radius:18px;background:var(--grad-soft);border:1px solid rgba(var(--accent-rgb),.3)}
body.admin .auto-rate-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
body.admin .auto-rate-head b{display:block;font-family:var(--display);font-size:15.5px}
body.admin .auto-rate-head small{display:block;margin-top:3px;color:var(--muted);font-size:12.5px;line-height:1.5}
body.admin .ar-switch{display:inline-flex;align-items:center;gap:8px;flex:none;padding:6px 12px;border-radius:999px;background:var(--chip);border:1px solid var(--line);font-weight:700;cursor:pointer}
body.admin .ar-switch input{width:18px;height:18px}
body.admin .ar-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end}
body.admin .ar-grid label{display:flex;flex-direction:column;gap:6px;justify-content:flex-end}
body.admin .ar-hf{flex-direction:row!important;align-items:center;justify-content:flex-start!important;min-height:44px}
body.admin .ar-actions{margin-top:12px;gap:8px}
body.admin #arMsg{font-size:12.5px}
body.admin .ar-status{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;margin-top:14px;padding:12px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--line)}
body.admin .ar-now,body.admin .ar-next{display:flex;flex-direction:column;gap:2px}
body.admin .ar-now span,body.admin .ar-next span,body.admin .ar-last>span{color:var(--muted);font-size:11.5px;font-weight:600}
body.admin .ar-now b{font-family:var(--display);font-size:20px;color:var(--accent)}
body.admin .ar-last{display:flex;flex-direction:column;gap:6px;min-width:0}
body.admin .ar-last .btn{align-self:flex-start}
body.admin .ar-src{display:inline-block;margin-inline-end:10px;font-size:12px;color:var(--soft);white-space:nowrap}
body.admin .ar-src b{color:var(--text)}
body.admin .ar-src.off{color:var(--rose-text)}
body.admin .ar-history{margin-top:12px}
body.admin .ar-history summary{cursor:pointer;font-weight:700;color:var(--soft)}
@media(max-width:760px){body.admin .ar-status{grid-template-columns:1fr}}

/* ---- Pricing rule, Hoosha, why ---- */
body.admin .compete{margin:16px 0;padding:16px;border-radius:18px;background:var(--grad-soft);border:1px solid rgba(var(--accent-rgb),.3)}
body.admin .cp-status{margin-top:12px}
body.admin .cp-meta{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;margin-bottom:8px;font-size:12.5px;color:var(--soft)}
body.admin .price-rule{margin:4px 0 14px;padding:14px 16px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}
body.admin .price-rule .rule-title{display:block;font-family:var(--display);font-size:14.5px;margin-bottom:6px}
body.admin .rule-steps{margin:0;padding-inline-start:20px;display:grid;gap:6px;font-size:13px;line-height:1.6;color:var(--soft)}
body.admin .rule-steps b{color:var(--text)}
body.admin .why-cell{min-width:220px;max-width:340px;font-size:12px;line-height:1.45}
body.admin .why-line{margin-top:2px}
body.admin .why-tag{display:inline-block;padding:1px 8px;border-radius:999px;font-weight:700;font-size:11.5px;margin-top:2px}
body.admin .why-tag.ok{background:var(--good-bg);color:var(--good)}
body.admin .why-tag.down{background:var(--info-bg);color:var(--info)}
body.admin .why-tag.close{background:rgba(var(--accent-rgb),.14);color:var(--accent)}
body.admin .why-tag.no{background:var(--bad-bg);color:var(--bad)}

/* ---- Shared provider prices bar (Models + Pricing & profit) ---- */
body.admin .hf-sync{margin:4px 0 16px;padding:14px 16px;border-radius:16px;background:var(--surface);border:1px solid rgba(var(--accent-rgb),.28);box-shadow:inset 3px 0 0 var(--accent)}
html[dir=rtl] body.admin .hf-sync{box-shadow:inset -3px 0 0 var(--accent)}
body.admin .hf-sync-main{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
body.admin .hf-sync-text{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 380px;font-size:13px}
body.admin .hf-sync-text>b{font-family:var(--display);font-size:14.5px}
body.admin .hf-sync-text small{color:var(--muted);font-size:12px;line-height:1.55}
body.admin .hf-sync .btn{flex:none}
body.admin .hf-sync-msg{margin-top:10px;font-size:12.5px}
body.admin .unit-line{margin-top:3px;line-height:1.5}
body.admin tr.row-flash>td{animation:row-flash 2s ease}
@keyframes row-flash{0%,40%{background:rgba(var(--accent-rgb),.18)}100%{background:transparent}}
@media (prefers-reduced-motion:reduce){body.admin tr.row-flash>td{animation:none;background:rgba(var(--accent-rgb),.12)}}

/* ---- Profit rule ---- */
body.admin .profit-mode{margin:6px 0 14px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:var(--surface);display:grid;grid-template-columns:1fr 1fr;gap:10px}
body.admin .profit-mode legend{padding:0 6px;font-weight:700;font-size:13px}
body.admin .pm-option{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;border:1px solid var(--line);cursor:pointer;transition:border-color .15s,background .15s}
body.admin .pm-option:has(input:checked){border-color:var(--accent);background:rgba(var(--accent-rgb),.1)}
body.admin .pm-option input{margin-top:3px;accent-color:var(--accent)}
body.admin .pm-option b{display:block;font-size:13.5px}
body.admin .pm-option small{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-top:2px}
body.admin .pm-note{grid-column:1/-1;margin:0;display:none}
body.admin .profit-mode.pm-changed .pm-note{display:block;color:var(--accent)}
body.admin .pm-off{opacity:.5;filter:saturate(.4)}
body.admin .pm-off::before{content:attr(data-off);display:block}
@media(max-width:760px){body.admin .profit-mode{grid-template-columns:1fr}}

/* ---- Record provider money: one aligned row ---- */
body.admin .ledger-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 14px;margin:8px 0 6px}
body.admin .ledger-form>label{display:flex;flex-direction:column;gap:6px;flex:1 1 170px;min-width:0;margin:0}
body.admin .ledger-form>label[for=ledgerNote]{flex:1.4 1 220px}
body.admin .ledger-form>label.hidden{display:none}
body.admin .ledger-form .input,body.admin .ledger-form .select{height:44px;width:100%;box-sizing:border-box;margin:0}
body.admin .ledger-form .ledger-add{flex:none}
body.admin .ledger-form .ledger-add .btn{height:44px;min-width:96px}
@media(max-width:760px){body.admin .ledger-form>label,body.admin .ledger-form .ledger-add,body.admin .ledger-form .ledger-add .btn{flex:1 1 100%;width:100%}}

/* ---- New logo placements (admin) ---- */
body.admin .rk-brand{display:inline-flex;align-items:center;text-decoration:none;background:none;box-shadow:none}
body.admin .sidebar .rk-brand{margin:2px 0 8px}
body.admin .brand-foot{display:inline-flex;align-items:center}
