
  #tsp-books { display:none; position:fixed; inset:0; z-index:9995; background:rgba(15,23,42,.45); align-items:center; justify-content:center; padding:16px; font-family:var(--tsp-ff, Inter, sans-serif); color:#0f172a; }
  #tsp-books.on { display:flex; }
  #tsp-books * { box-sizing:border-box; }
  #tsp-books .bk-win { position:relative; width:1480px; max-width:100%; height:min(920px, calc(100vh - 32px)); background:#fff; border-radius:16px; box-shadow:0 24px 60px rgba(15,23,42,.35); display:flex; flex-direction:column; overflow:hidden; resize:both; min-width:720px; min-height:420px; max-height:calc(100vh - 32px); }
  #tsp-books.bk-max { padding:8px; } #tsp-books.bk-max .bk-win { width:100% !important; height:100% !important; max-width:none; max-height:none; border-radius:10px; resize:none; }
  #tsp-books .bk-hd { display:flex; align-items:center; gap:10px; padding:9px 16px; border-bottom:1px solid #eef2f7; flex:none; min-height:50px; }
  #tsp-books .bk-h { font-weight:800; font-size:16px; white-space:nowrap; }
  #tsp-books .bk-sub { font-weight:600; font-size:12px; color:#64748b; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  #tsp-books .bk-lockpill { display:inline-flex; align-items:center; gap:5px; font-weight:800; font-size:10.5px; color:#047857; background:#ecfdf5; border-radius:999px; padding:3px 9px; letter-spacing:.03em; white-space:nowrap; }
  #tsp-books .bk-hr { margin-left:auto; display:flex; gap:8px; align-items:center; }
  #tsp-books .bk-back { border:0; background:none; font-size:22px; line-height:1; cursor:pointer; color:#0f172a; padding:0 4px 0 0; }
  #tsp-books .bk-body { flex:1; overflow:auto; padding:12px 14px 14px; min-height:0; }
  #tsp-books .bk-ft { display:flex; justify-content:flex-end; gap:10px; padding:9px 16px; border-top:1px solid #eef2f7; background:#fafbfc; flex:none; }
  #tsp-books .bk-ft:empty { display:none; }
  #tsp-books .bk-ft > button { min-width:120px; height:36px; }   
  #tsp-books .bk-pb, #tsp-books .bk-gb { height:38px; padding:0 18px; border-radius:11px; font:800 13.5px var(--tsp-ff, Inter, sans-serif); cursor:pointer; white-space:nowrap; }
  #tsp-books .bk-pb { border:0; background:#0f172a; color:#fff; }
  #tsp-books .bk-pb:disabled { opacity:.45; cursor:default; }
  #tsp-books .bk-gb { border:1px solid #e2e8f0; background:#fff; color:#334155; font-weight:700; }
  #tsp-books .bk-sm { height:32px; padding:0 12px; font-size:12.5px; border-radius:9px; }
  #tsp-books .bk-win:has(> .bk-ft .bk-cb) > .bk-hd .bk-back { display:none; }   
  #tsp-books .bk-cpk { text-align:left; cursor:pointer; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; padding-right:28px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 10px center; font:inherit; color:#0f172a; }
  #tsp-books .bk-cpk.none { color:#94a3b8; } #tsp-books .bk-cpk:disabled { opacity:.6; cursor:default; }
  .bk-cpop { position:fixed; z-index:2147483000; background:#fff; border:1px solid #e2e8f0; border-radius:12px; box-shadow:0 18px 44px rgba(15,23,42,.22); display:flex; flex-direction:column; overflow:hidden; font-family:var(--tsp-ff,Inter),-apple-system,'Segoe UI',sans-serif; color:#0f172a; }
  .bk-cpop.ph { left:0 !important; right:0; bottom:0; top:auto !important; width:auto !important; max-height:72vh; border-radius:16px 16px 0 0; padding-bottom:env(safe-area-inset-bottom); }
  .bk-cps { display:flex; align-items:center; gap:8px; margin:10px; padding:0 12px; height:40px; border:1.5px solid #1e2a44; border-radius:10px; color:#64748b; flex:none; } .bk-cps input { flex:1; border:0; outline:0; font:inherit; font-size:14px; color:#0f172a; background:none; min-width:0; }
  .bk-cpl { overflow-y:auto; padding:0 6px 8px; flex:1; min-height:0; }
  .bk-cpg { font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#64748b; padding:10px 10px 4px; white-space:nowrap; }
  .bk-cpi { display:flex; align-items:center; gap:6px; padding:7px 10px; border-radius:8px; font-size:13.5px; cursor:pointer; white-space:nowrap; min-width:0; }
  .bk-cpi.top { font-weight:700; } .bk-cpi:hover, .bk-cpi.act { background:#eef2f7; } .bk-cpi.on { background:#1e2a44; color:#fff; } .bk-cpi.on small, .bk-cpi.on .bk-cpp { color:#cbd5e1; } .bk-cpi.dim { color:#94a3b8; }
  .bk-cpi small { color:#64748b; font-weight:500; font-size:12px; } .bk-cpn { overflow:hidden; text-overflow:ellipsis; min-width:0; } .bk-cpp { margin-left:auto; padding-left:10px; color:#94a3b8; font-size:11.5px; flex:none; }
  .bk-cpt, .bk-cpt0 { width:16px; flex:none; text-align:center; color:#64748b; font-size:11px; } .bk-cpi.on .bk-cpt { color:#fff; } .bk-cpt { cursor:pointer; }
  .bk-cpi mark { background:#fde68a; color:#0f172a; border-radius:3px; padding:0 1px; } .bk-cpe { padding:16px; color:#64748b; font-size:13px; text-align:center; }
  #tsp-books #bk-cats tr.bk-kid td:first-child { padding-left:12px; } #tsp-books #bk-cats tr.bk-kid1 td:nth-child(2) { padding-left:22px; } #tsp-books #bk-cats tr.bk-kid2 td:nth-child(2) { padding-left:44px; } #tsp-books #bk-cats tr.bk-kid td { font-size:inherit; }   
  #tsp-books .bk-fbn { display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px; margin:10px 0 0; padding:10px 12px; border-radius:12px; background:#fff7ed; border:1px solid #fed7aa; }   
  #tsp-books .bk-fbi { color:#9a3412; flex:none; display:flex; } #tsp-books .bk-fbt { flex:1 1 calc(100% - 40px); min-width:0; display:flex; flex-direction:column; } #tsp-books .bk-fbt b { font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } #tsp-books .bk-fbt small { color:#9a3412; font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  #tsp-books .bk-fbn button { flex:none; } #tsp-books .bk-fbn button:first-of-type { margin-left:auto; } #tsp-books tr.bk-hdif td { background:#fff7ed; } #tsp-books tr.bk-hdif .up { color:#15803d; } #tsp-books tr.bk-hdif .dn { color:#b91c1c; }
  #tsp-books tr.bk-kid td { color:#475569; font-size:12.5px; } #tsp-books tr.bk-kid td:first-child { padding-left:28px; } #tsp-books tr.bk-kid2 td:first-child { padding-left:46px; } #tsp-books .bk-kar { color:#94a3b8; margin-right:6px; font-weight:700; }   
  #tsp-books .bk-cb { order:-1; margin-left:0; margin-right:auto; }   
  #tsp-books .bk-sel { height:34px; border:1px solid #e2e8f0; border-radius:9px; padding:0 10px; font:700 13px var(--tsp-ff, Inter, sans-serif); color:#0f172a; background:#fff; max-width:100%; }
  #tsp-books .bk-g { display:grid; gap:10px; }
  #tsp-books .bk-card { background:#fff; border:1px solid #e9edf2; border-radius:12px; padding:11px 14px; }
  #tsp-books .bk-sec { font-weight:800; font-size:11px; letter-spacing:.08em; color:#334155; text-transform:uppercase; margin:0 0 6px; white-space:nowrap; }
  #tsp-books .bk-sec small { font-weight:700; color:#94a3b8; letter-spacing:.04em; margin-left:6px; text-transform:none; }
  #tsp-books .bk-hero { background:#0f172a; color:#fff; border-radius:14px; padding:14px 20px; display:flex; align-items:center; gap:26px; flex-wrap:wrap; }
  #tsp-books .bk-hero .l { font-weight:700; font-size:10px; letter-spacing:.08em; color:#94a3b8; white-space:nowrap; }
  #tsp-books .bk-hero .big { font-weight:800; font-size:28px; margin-top:2px; font-variant-numeric:tabular-nums; white-space:nowrap; }
  #tsp-books .bk-hero .v { font-weight:800; font-size:16px; margin-top:2px; font-variant-numeric:tabular-nums; white-space:nowrap; }
  #tsp-books .bk-hero .rt { display:flex; gap:26px; margin-left:auto; flex-wrap:wrap; }
  #tsp-books .bk-row { display:flex; align-items:center; gap:10px; padding:7px 0; border-top:1px solid #f1f5f9; min-width:0; }
  #tsp-books .bk-row:first-of-type { border-top:0; }
  #tsp-books .bk-row b { font-weight:700; font-size:13px; white-space:nowrap; }
  #tsp-books .bk-row .m { margin-left:auto; font-weight:600; font-size:12px; color:#64748b; white-space:nowrap; }
  #tsp-books .bk-row .amt { flex:none; padding-left:8px; margin-left:auto; font-weight:800; font-size:13px; font-variant-numeric:tabular-nums; white-space:nowrap; }
  #tsp-books .bk-row[data-bk] { cursor:pointer; } #tsp-books .bk-row[data-bk]:hover b { text-decoration:underline; text-underline-offset:3px; }
  #tsp-books .bk-pill { display:inline-flex; align-items:center; height:22px; padding:0 9px; border-radius:999px; font-weight:800; font-size:10.5px; white-space:nowrap; flex:none; }
  #tsp-books .ok { background:#ecfdf5; color:#047857; } #tsp-books .wa { background:#fff7ed; color:#c2410c; } #tsp-books .er { background:#fef2f2; color:#b91c1c; } #tsp-books .nu { background:#f1f5f9; color:#475569; }
  #tsp-books .bk-ab { width:34px; height:34px; border-radius:10px; display:flex; align-items:center; justify-content:center; color:#fff; font-weight:800; font-size:11px; flex:none; }
  #tsp-books table { border-collapse:collapse; width:100%; }
  #tsp-books th { font-weight:800; font-size:10px; color:#64748b; letter-spacing:.06em; text-transform:uppercase; text-align:left; padding:6px 8px; border-bottom:1px solid #eef2f7; white-space:nowrap; position:sticky; top:0; background:#fff; z-index:1; }
  #tsp-books td { font-weight:600; font-size:12px; padding:6px 8px; border-bottom:1px solid #f1f5f9; white-space:nowrap; }
  #tsp-books td.d { color:#64748b; max-width:280px; overflow:hidden; text-overflow:ellipsis; }
  #tsp-books .r { text-align:right; font-variant-numeric:tabular-nums; }
  #tsp-books .pos { color:#047857; } #tsp-books .neg { color:#b91c1c; }
  #tsp-books tr.tot td { font-weight:800; border-top:2px solid #e2e8f0; background:#f8fafc; }
  #tsp-books tr[data-bk] { cursor:pointer; } #tsp-books tr[data-bk]:hover td { background:#f8fafc; }
  #tsp-books td.bk-vbc { width:76px; text-align:right; white-space:nowrap; }
  #tsp-books .bk-vb { border:0; background:none; padding:4px 2px; cursor:pointer; color:#1e2a44; font:700 13px var(--tsp-ff, Inter, sans-serif); white-space:nowrap; }
  #tsp-books .bk-vb::before { content:'View \203A'; } #tsp-books .bk-vb:hover { color:#0f172a; }
  #tsp-books .bk-card.bk-vbcard { cursor:default !important; position:relative; } #tsp-books .bk-card.bk-vbcard > .bk-vb { position:absolute; top:10px; right:12px; }
  @media (max-width:760px) { #tsp-books .bk-tbl td.bk-vbc { justify-content:flex-end; width:100%; } #tsp-books .bk-tbl td.bk-vbc::before { display:none; } }
  @media (max-width:760px) { html body #tsp-books .bk-dlg .bk-sel { max-width:none; width:100%; } }   
  #tsp-books .bk-fl { display:flex; flex-direction:column; gap:4px; }
  #tsp-books .bk-fl label { font-weight:800; font-size:9.5px; letter-spacing:.06em; color:#64748b; text-transform:uppercase; white-space:nowrap; }
  #tsp-books .bk-in { height:38px; border:1px solid #e2e8f0; border-radius:9px; padding:0 11px; font:600 13px var(--tsp-ff, Inter, sans-serif); color:#0f172a; background:#fff; width:100%; }
  #tsp-books .bk-chips { display:flex; gap:8px; flex-wrap:wrap; }
  #tsp-books .bk-chip { height:34px; padding:0 14px; border-radius:9px; border:1px solid #e2e8f0; background:#fff; font:700 12.5px var(--tsp-ff, Inter, sans-serif); color:#334155; cursor:pointer; white-space:nowrap; }
  #tsp-books .bk-chip.on { background:#0f172a; border-color:#0f172a; color:#fff; }
  #tsp-books .bk-chip small { font-weight:700; font-size:10.5px; color:#94a3b8; margin-left:5px; } #tsp-books .bk-chip.on small { color:#cbd5e1; }
  #tsp-books .bk-yn { border:0; cursor:pointer; }
  #tsp-books .bk-empty { color:#94a3b8; font-weight:600; font-size:13px; padding:30px 0; text-align:center; white-space:nowrap; }
  #tsp-books .bk-msg { font-weight:600; font-size:13px; color:#475569; line-height:1.55; white-space:normal; }
  #tsp-books .bk-code { font:700 14px ui-monospace, SFMono-Regular, monospace; background:#f8fafc; border:1px dashed #cbd5e1; border-radius:10px; padding:14px; word-break:break-all; white-space:normal; letter-spacing:.04em; }
  #tsp-books .bk-lock { position:absolute; inset:0; z-index:5; display:none; align-items:center; justify-content:center; background:rgba(15,23,42,.30); -webkit-backdrop-filter:blur(7px); backdrop-filter:blur(7px); }
  #tsp-books .bk-lock.on { display:flex; }
  #tsp-books .bk-lbox { width:340px; max-width:calc(100% - 32px); background:#fff; border-radius:20px; box-shadow:0 24px 60px rgba(15,23,42,.35); overflow:hidden; }   
  #tsp-books .bk-lbox .in { padding:26px 22px 20px; text-align:center; }
  #tsp-books .bk-lbox .bk-in { height:46px; border-radius:12px; background:#f8fafc; font-size:15px; }
  #tsp-books .bk-lbox .bk-lerr { min-height:0; } #tsp-books .bk-lbox .bk-lerr:empty { margin:0; }
  #tsp-books .bk-lrow { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:18px; }   
  #tsp-books .bk-lrow > button { flex:1; height:42px; border-radius:21px; font-size:14px; font-weight:700; padding:0; text-transform:none; letter-spacing:0; box-shadow:none; }   
  #tsp-books .bk-lrow > .bk-cb { order:-1; margin:0; background:#f1f5f9; border:1px solid #f1f5f9; color:#334155; }
  #tsp-books .bk-lrow > .bk-pb { background:#1e2a44; border:1px solid #1e2a44; color:#fff; box-shadow:0 6px 14px rgba(30,42,68,.25); }   
  #tsp-books .bk-lic { width:54px; height:54px; border-radius:16px; background:#0f172a; color:#fff; display:inline-flex; align-items:center; justify-content:center; }
  #tsp-books .bk-lic svg { width:24px; height:24px; fill:none; stroke:#fff; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
  #tsp-books .bk-lt { font-weight:800; font-size:19px; margin-top:12px; }
  #tsp-books .bk-ls { font-weight:600; font-size:12.5px; color:#64748b; margin-top:4px; white-space:nowrap; }
  @media (max-width:520px) { #tsp-books .bk-ls { white-space:normal; } }
  #tsp-books .bk-lerr { color:#b91c1c; font-weight:700; font-size:12px; min-height:16px; margin-top:6px; }
  #tsp-books .bk-busy { position:absolute; inset:0; z-index:4; display:none; align-items:center; justify-content:center; background:rgba(255,255,255,.6); font-weight:700; font-size:13px; color:#334155; }
  #tsp-books .bk-busy.on { display:flex; }
  html[data-theme="dark"] #tsp-books .bk-win, html[data-theme="dark"] #tsp-books .bk-card, html[data-theme="dark"] #tsp-books .bk-lbox, html[data-theme="dark"] #tsp-books th { background:#1d222b; color:#eef2f7; border-color:rgba(255,255,255,.08); }
  html[data-theme="dark"] #tsp-books .bk-ft { background:#161a21; border-color:rgba(255,255,255,.08); }
  #tsp-books .bk-body { overflow-x:hidden; }
  #tsp-books .bk-g > *, #tsp-books .bk-hero > *, #tsp-books .bk-card { min-width:0; }
  #tsp-books .bk-acts { display:flex; gap:8px; margin-top:12px; flex-wrap:wrap; }
  #tsp-books .bk-acts > button { height:36px; }
  #tsp-books .bk-ib { display:none; }
  #tsp-books .bk-role-ph { display:none; }
  #tsp-books .bk-note { display:flex; align-items:center; gap:12px; border-color:#fed7aa; background:#fff7ed; }
  #tsp-books .bk-note b { font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; }
  #tsp-books .bk-note .bk-pb { margin-left:auto; flex:none; }
  #tsp-books .bk-row > div { min-width:0; }
  #tsp-books .bk-row b, #tsp-books .bk-row .m { overflow:hidden; text-overflow:ellipsis; }
  #tsp-books .bk-tabs { display:flex; gap:6px; overflow-x:auto; padding:0 0 12px; scrollbar-width:none; } #tsp-books .bk-tabs::-webkit-scrollbar { display:none; }
  #tsp-books .bk-tabs .bk-chip { height:30px; padding:0 11px; font-size:11.5px; flex:none; }
  #tsp-books .bk-tsel { height:28px; max-width:100%; font-size:12px; }
  #tsp-books .bk-tin { height:28px; border:1px solid #e2e8f0; border-radius:8px; padding:0 8px; font:600 12px var(--tsp-ff, Inter, sans-serif); color:#0f172a; background:#fff; width:100%; min-width:0; }
  #tsp-books .bk-tin.sg { border-color:#fcd34d; background:#fffbeb; }
  #tsp-books td.w { max-width:0; overflow:hidden; text-overflow:ellipsis; }
  #tsp-books td .sm { display:block; font-weight:600; font-size:10.5px; color:#94a3b8; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  #tsp-books .bk-kpi { display:flex; gap:16px 26px; flex-wrap:wrap; }
  #tsp-books .bk-kpi > div { min-width:0; } #tsp-books .bk-kpi .v { font-weight:800; font-size:15px; white-space:nowrap; } #tsp-books .bk-kpi .l { font-weight:800; font-size:10px; letter-spacing:.06em; color:#64748b; text-transform:uppercase; white-space:nowrap; }
  #tsp-books .bk-acch { display:flex; align-items:center; gap:12px; min-width:0; }
  #tsp-books .bk-acch .t { font-weight:800; font-size:16px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  #tsp-books .bk-acch .s { font-weight:600; font-size:11.5px; color:#64748b; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  #tsp-books .bk-acch .bk-pill { margin-left:auto; }
  #tsp-books .bk-big { font-weight:800; font-size:24px; font-variant-numeric:tabular-nums; white-space:nowrap; }
  #tsp-books .bk-sub2 { font-weight:600; font-size:11.5px; color:#64748b; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-top:2px; }
  #tsp-books .bk-filt { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
  #tsp-books .bk-filt .bk-sel, #tsp-books .bk-filt .bk-in { width:auto; min-width:120px; height:34px; }
  #tsp-books .bk-filt .bk-in { flex:1 1 160px; }
  #tsp-books .bk-tsc { padding:6px 8px; overflow:auto; max-height:none; }
  #tsp-books .bk-tb { flex:none; padding:8px 16px 0; }
  #tsp-books .bk-tb:empty { display:none; }
  #tsp-books .bk-tb .bk-tabs { padding-bottom:8px; border-bottom:1px solid #eef2f7; }
  #tsp-books .bk-cnt { display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px; padding:0 5px; border-radius:999px; background:#fff7ed; color:#c2410c; font-weight:800; font-size:10.5px; margin-left:6px; }
  #tsp-books .bk-chip.on .bk-cnt { background:#fff; color:#c2410c; }
  #tsp-books .bk-tabs.bk-sub { padding:0 0 12px; }
  #tsp-books .bk-tabs.bk-sub .bk-chip { height:30px; font-size:11.5px; }
  #tsp-books table.bk-fx { table-layout:fixed; }
  #tsp-books .bk-out { color:#b91c1c; font-weight:800; font-variant-numeric:tabular-nums; } #tsp-books .bk-inn { color:#047857; font-weight:800; font-variant-numeric:tabular-nums; }
  #tsp-books .bk-mono, #tsp-books .bk-link.bk-mono { font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important; font-size:12px !important; font-weight:700; color:#0f172a; text-decoration:none; }
  #tsp-books .bk-link.bk-mono:hover { text-decoration:underline; text-underline-offset:3px; }
  #tsp-books .bk-rvt th { background:#f8fafc; } #tsp-books .bk-rvt td { padding:5px 8px; vertical-align:middle; }
  #tsp-books .bk-rvn { display:inline-flex; margin-left:6px; height:18px; padding:0 7px; font-size:10px; }
  #tsp-books td.w .bk-link { display:inline; max-width:none; }
  #tsp-books td.w .bk-mono { white-space:nowrap; }
  #tsp-books .bk-rvt td .bk-sel, #tsp-books .bk-rvt td .bk-tin { width:100%; }
  #tsp-books .bk-danger { border-color:#fecaca; } #tsp-books .bk-danger .bk-sec { color:#b91c1c; } #tsp-books .bk-red { background:#b91c1c; }
  #tsp-books .bk-danger .bk-acts { align-items:center; } #tsp-books .bk-danger .bk-acts .bk-in { height:36px; }
  #tsp-books .bk-link { background:none; border:0; padding:0; font:inherit; color:#1d4ed8; cursor:pointer; text-decoration:underline; text-underline-offset:3px; white-space:nowrap; }
  #tsp-books .bk-maxb { font-size:15px; padding:0 10px; }
  #tsp-books .bk-grp { display:inline-flex; align-items:stretch; height:38px; border:1px solid #e2e8f0; border-radius:11px; background:#fff; overflow:hidden; box-shadow:0 2px 6px rgba(15,23,42,.06); flex:none; }
  #tsp-books .bk-grp > .bk-gb { display:inline-flex !important; align-items:center; gap:7px; height:36px; border:0; border-radius:0; background:none; color:#1e2a44; font-weight:700; padding:0 14px; box-shadow:none; }
  #tsp-books .bk-grp > .bk-gb + .bk-gb { border-left:1px solid #e2e8f0; }
  #tsp-books .bk-grp > .bk-gb:hover { background:#f1f5f9; }
  #tsp-books .bk-grp > .bk-maxb { padding:0 12px; }
  #tsp-books .bk-hic { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; flex:none; }
  #tsp-books .bk-drill, #tsp-books .bk-dlg { position:absolute; inset:0; display:none; align-items:center; justify-content:center; background:rgba(15,23,42,.38); }
  #tsp-books .bk-drill { z-index:3; padding:10px 12px; }    #tsp-books .bk-dlg { z-index:3; padding:16px; }
  #tsp-books .bk-drill.on, #tsp-books .bk-dlg.on { display:flex; }
  #tsp-books .bk-dwin { width:100%; height:100%; background:#fff; border-radius:14px; box-shadow:0 20px 50px rgba(15,23,42,.35); display:flex; flex-direction:column; overflow:hidden; }
  #tsp-books .bk-dhd { display:flex; align-items:center; gap:10px; padding:9px 14px; border-bottom:1px solid #eef2f7; flex:none; min-width:0; }
  #tsp-books .bk-dhd .bk-h { font-size:15px; overflow:hidden; text-overflow:ellipsis; min-width:0; flex:none; max-width:50%; }
  #tsp-books .bk-dbody { flex:1; overflow:auto; padding:10px 14px 14px; min-height:0; }
  #tsp-books .bk-dbox { width:640px; max-width:100%; max-height:100%; overflow:auto; background:#fff; border-radius:14px; box-shadow:0 20px 50px rgba(15,23,42,.35); padding:14px 16px; display:grid; gap:10px; }
  #tsp-books .bk-dh { display:flex; align-items:flex-start; gap:12px; }
  #tsp-books .bk-dt { font-weight:800; font-size:15px; white-space:nowrap; display:flex; align-items:center; gap:8px; }
  #tsp-books .bk-ds { font-weight:600; font-size:11.5px; color:#64748b; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-top:2px; }
  #tsp-books .bk-damt { margin-left:auto; font-size:20px; white-space:nowrap; flex:none; }
  #tsp-books .bk-dsc { background:#f8fafc; border:1px solid #e9edf2; border-radius:10px; padding:8px 10px; min-width:0; overflow:auto; }
  #tsp-books .bk-dsc .l { font-weight:800; font-size:9.5px; letter-spacing:.06em; color:#94a3b8; text-transform:uppercase; white-space:nowrap; }
  #tsp-books .bk-dsc .v { white-space:nowrap; margin-top:2px; }
  #tsp-books .bk-dopts { display:grid; gap:6px; }
  #tsp-books .bk-dopts label { display:flex; align-items:center; gap:8px; font-weight:600; font-size:12.5px; color:#334155; white-space:nowrap; cursor:pointer; min-width:0; overflow:hidden; text-overflow:ellipsis; }
  #tsp-books .bk-dopts input { margin:0; width:15px; height:15px; flex:none; accent-color:#0f172a; }
  #tsp-books .bk-dft { display:flex; gap:10px; padding-top:2px; } #tsp-books .bk-dft > button { min-width:120px; height:38px; }
  #tsp-books .bk-memo { font-weight:600; font-size:11px; color:#64748b; font-style:italic; }
  #tsp-books .bk-fill { height:100%; display:flex; flex-direction:column; } #tsp-books .bk-fill > .bk-tsc:last-child, #tsp-books .bk-dbody > .bk-tsc { flex:1 1 auto; min-height:0; padding-top:0; }   
  #tsp-books .bk-dbody { display:flex; flex-direction:column; }
  #tsp-books .bk-meas { position:absolute; left:-9999px; top:0; white-space:nowrap; visibility:hidden; pointer-events:none; font-size:12px; font-weight:600; }
  #tsp-books .bk-txt tr.rv td:first-child { box-shadow:inset 3px 0 #f59e0b; }
  #tsp-books .bk-txt .bk-pill.bk-yn { height:20px; font-size:10px; }
  #tsp-books #bk-cats td .bk-tin { width:100%; } #tsp-books #bk-cats input[type="checkbox"] { width:15px; height:15px; accent-color:#0f172a; }
  #tsp-books .bk-filt .bk-in { height:32px; } #tsp-books .bk-filt .bk-sel { height:32px; }
  html[data-theme="dark"] #tsp-books .bk-dwin, html[data-theme="dark"] #tsp-books .bk-dbox { background:#1d222b; color:#eef2f7; }
  html[data-theme="dark"] #tsp-books .bk-dsc { background:#161a21; border-color:rgba(255,255,255,.08); }
  @media (max-width:760px) {
    #tsp-books { padding:0; } #tsp-books .bk-win { height:100% !important; border-radius:0; width:100% !important; resize:none; min-width:0; min-height:0; max-height:none; }
    #tsp-books.bk-max { padding:0; }
    #tsp-books .bk-drill { padding:0; } #tsp-books .bk-dwin { border-radius:0; } #tsp-books .bk-dlg { padding:10px; } #tsp-books .bk-dbox { padding:12px; }
    #tsp-books .bk-dh { flex-wrap:wrap; } #tsp-books .bk-damt { margin-left:0; width:100%; }
    #tsp-books .bk-dsc .v { white-space:normal; word-break:break-word; }
    #tsp-books .bk-dopts label { white-space:normal; }
    #tsp-books .bk-dft > button { flex:1 1 0; min-width:0; }
    #tsp-books table.bk-fx { min-width:0 !important; }
    #tsp-books .bk-tbl td.w > .bk-mono, #tsp-books .bk-tbl td.w > .bk-link { white-space:normal !important; word-break:break-word; overflow:visible; }
    #tsp-books .bk-tbl td.w { white-space:normal; align-items:flex-start; }
    #tsp-books .bk-hd { padding:10px 12px; gap:8px; min-height:54px; padding-top:calc(env(safe-area-inset-top) + 10px); }
    #tsp-books .bk-h { font-size:16px; overflow:hidden; text-overflow:ellipsis; min-width:0; }
    #tsp-books .bk-hr { gap:6px; flex:none; }
    #tsp-books .bk-hr .bk-sm { padding:0 10px; }
    #tsp-books .bk-sel { max-width:84px; }
    #tsp-books .bk-body { padding:12px 12px 18px; }
    #tsp-books .bk-ft { padding:10px 12px calc(env(safe-area-inset-bottom) + 10px); gap:8px; }
    #tsp-books .bk-ft .bk-pb, #tsp-books .bk-ft .bk-gb { padding:0 12px; font-size:12.5px; min-width:0; }
    #tsp-books .bk-hero { padding:16px 18px; gap:12px; }
    #tsp-books .bk-hero .v { font-size:16px; }
    #tsp-books .bk-card { padding:12px; }
    #tsp-books .bk-row .m { max-width:48%; }
    #tsp-books .bk-tbl, #tsp-books .bk-tbl tbody, #tsp-books .bk-tbl tr, #tsp-books .bk-tbl td { display:block; width:100%; }
    #tsp-books .bk-tbl tr:first-child { display:none; }
    #tsp-books .bk-tbl tr { padding:10px 2px; border-bottom:1px solid #eef2f7; }
    #tsp-books .bk-tbl td { border:0; padding:3px 0; display:flex; align-items:center; gap:10px; max-width:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    #tsp-books .bk-tbl td[data-l]::before { content:attr(data-l); flex:none; width:84px; font-weight:800; font-size:9.5px; letter-spacing:.06em; color:#94a3b8; text-transform:uppercase; }
    #tsp-books .bk-tbl td.r { justify-content:flex-start; text-align:left; }
    #tsp-books .bk-tbl td .bk-sel { max-width:none !important; flex:1; min-width:0; }
    #tsp-books .bk-tbl td .bk-tin { flex:1; }
    #tsp-books .bk-tbl td .bk-link { flex:0 1 auto; min-width:0; }
    #tsp-books .bk-tb { padding:8px 12px 0; }
    #tsp-books .bk-tbl td > .bk-mono, #tsp-books .bk-tbl td > b, #tsp-books .bk-tbl td > .bk-link { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    #tsp-books .bk-tbl td.d { color:#475569; }
    #tsp-books .bk-tbl td.w { max-width:none; }
    #tsp-books .bk-tbl tr.tot td { background:none; border-top:0; }
    #tsp-books .bk-mapbar .bk-fl { min-width:0 !important; flex:1 1 44%; }
    #tsp-books .bk-mapbar .bk-sel { width:100%; max-width:none; }
    #tsp-books .bk-sum > div { flex:1 1 44%; }
    #tsp-books .bk-hide-ph { display:none; }
    #tsp-books .bk-lockcard .m { display:none; } #tsp-books .bk-lockcard .bk-pill { margin-left:auto !important; }
    #tsp-books .bk-acc td.bk-role { display:none; }
    #tsp-books .bk-acc tr:first-child { display:none !important; }
    #tsp-books .bk-tbl td.bk-tbtn { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding-top:8px; }
    #tsp-books .bk-tbl td.bk-tbtn button { height:38px; width:100%; }
    #tsp-books .bk-acc tr { display:flex !important; flex-wrap:wrap; }
    #tsp-books .bk-acc td { width:33.33% !important; flex-direction:column; align-items:flex-start !important; gap:4px !important; }
    #tsp-books .bk-acc td:first-child { width:100% !important; flex-direction:row; align-items:center !important; gap:8px !important; margin-bottom:4px; }
    #tsp-books .bk-acc td[data-l]::before { width:auto !important; }
    #tsp-books .bk-role-ph { display:inline !important; margin-left:auto; font-weight:600; font-size:11.5px; color:#94a3b8; }
    #tsp-books .bk-hr .bk-tx { display:none; }
    #tsp-books .bk-hr .bk-ib { display:inline-flex; width:36px; height:36px; padding:0; align-items:center; justify-content:center; border-radius:10px; }
    #tsp-books .bk-hr .bk-ib svg { width:18px; height:18px; fill:none; stroke:#334155; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
    #tsp-books .bk-sel { height:36px; }
    #tsp-books .bk-hero { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px 8px; }
    #tsp-books .bk-hero > div:first-child { grid-column:1 / -1; }
    #tsp-books .bk-hero .rt { display:contents; }
    #tsp-books .bk-hero .l { font-size:9.5px; }
    #tsp-books .bk-hero .v { font-size:15px; }
    #tsp-books .bk-acts { display:grid; grid-template-columns:repeat(auto-fit, minmax(0, 1fr)); }
    #tsp-books .bk-acts > button { width:100%; height:40px; padding:0 6px; }
    #tsp-books .bk-note { flex-wrap:wrap; }
    #tsp-books .bk-note .bk-pb { width:100%; margin-left:0; height:40px; }
    #tsp-books .bk-ft > button { flex:1 1 0; height:42px; }
    #tsp-books .bk-2 { grid-template-columns:1fr !important; }
    #tsp-books .bk-hero .big { font-size:28px; } #tsp-books .bk-hero .rt { margin-left:0; gap:18px; }
    #tsp-books .bk-hd .bk-sub, #tsp-books .bk-hd .bk-lockpill { display:none; }
  }
.bk-af { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 18px; align-items: start; max-width: 1100px; }
.bk-afs { border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; background: #fff; }
.bk-aft { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 800; letter-spacing: .06em; color: #334155; text-transform: uppercase; margin-bottom: 12px; }
.bk-aft i { font-style: normal; width: 20px; height: 20px; border-radius: 50%; background: #0f172a; color: #fff; font-size: 11px; display: inline-flex; align-items: center; justify-content: center; letter-spacing: 0; }
.bk-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.bk-tile { display: flex; gap: 10px; align-items: flex-start; text-align: left; border: 1.5px solid #e2e8f0; border-radius: 11px; padding: 11px 12px; background: #fff; cursor: pointer; font: inherit; color: #0f172a; }
.bk-tile .ic { font-size: 21px; line-height: 1; } .bk-tile b { display: block; font-size: 13.5px; white-space: nowrap; } .bk-tile small { display: block; color: #64748b; font-size: 11.5px; margin-top: 2px; white-space: nowrap; }
.bk-tile.on { border-color: #1f6fd6; background: #f2f7ff; box-shadow: 0 0 0 3px rgba(31,111,214,.12); }
.bk-rcs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.bk-rc { display: flex; gap: 10px; text-align: left; border: 1.5px solid #e2e8f0; border-radius: 11px; padding: 11px 13px; background: #fff; cursor: pointer; font: inherit; color: #0f172a; }
.bk-rc .dot { width: 16px; height: 16px; border-radius: 50%; border: 2px solid #94a3b8; flex: 0 0 auto; margin-top: 2px; box-sizing: border-box; }
.bk-rc.on { border-color: #1f6fd6; background: #f2f7ff; } .bk-rc.on .dot { border: 5px solid #1f6fd6; }
.bk-rc b { display: block; font-size: 13.5px; white-space: nowrap; } .bk-rc small { display: block; color: #64748b; font-size: 12px; margin-top: 3px; line-height: 1.4; }
.bk-afr { position: sticky; top: 0; }
.bk-sum { border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; background: #f8fafc; }
.bk-sum .h { font-size: 10.5px; font-weight: 800; letter-spacing: .07em; color: #64748b; text-transform: uppercase; }
.bk-sum .big { font-size: 16px; font-weight: 800; margin: 6px 0 2px; color: #0f172a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bk-sum .sub { color: #64748b; margin-bottom: 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bk-sum .ln { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; border-bottom: 1px solid #eef2f6; font-size: 12.5px; } .bk-sum .ln span { color: #64748b; white-space: nowrap; } .bk-sum .ln b { font-weight: 600; text-align: right; }
.bk-sum .nx { margin-top: 10px; font-size: 12.5px; color: #475569; line-height: 1.45; }
@media (max-width: 760px) { .bk-af { grid-template-columns: 1fr; } .bk-afr { position: static; } .bk-rcs { grid-template-columns: 1fr; } .bk-tile small, .bk-rc b { white-space: normal; } }
.bk-findbar { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; position: sticky; top: 0; z-index: 3; background: inherit; padding-top: 2px; }
.bk-findbar .ic { font-size: 16px; color: #64748b; }
.bk-findbar .bk-find { max-width: 360px; height: 36px; }
.bk-findn { font-size: 12px; color: #64748b; white-space: nowrap; }
.bk-alb { border: 0; background: none; color: #94a3b8; cursor: pointer; font-size: 13px; margin-left: 6px; padding: 0 4px; visibility: hidden; }
tr:hover .bk-alb, .bk-alb:focus { visibility: visible; } .bk-alb:hover { color: #1f6fd6; }
@media (hover: none) { .bk-alb { visibility: visible; } }
.bk-alin { height: 32px; width: 100%; max-width: 340px; font-weight: 700; }
#tsp-books .bk-set { position:absolute; inset:0; z-index:3; display:none; align-items:center; justify-content:center; background:rgba(15,23,42,.38); padding:24px; }
#tsp-books .bk-set.on { display:flex; }
#tsp-books.in-set { position:relative; inset:auto; display:block; z-index:auto; background:none; padding:0; min-height:360px; }
#tsp-books.in-set .bk-win { position:relative; width:auto !important; height:auto !important; max-width:none; max-height:none; min-height:360px; box-shadow:none; background:none; border:0; border-radius:0; overflow:visible; display:block; transform:none; }
#tsp-books.in-set .bk-hd, #tsp-books.in-set .bk-tb, #tsp-books.in-set .bk-body, #tsp-books.in-set .bk-ft, #tsp-books.in-set .bk-drill { display:none !important; }
#tsp-books.in-set .bk-set { position:static; display:block; background:none; padding:0; }
#tsp-books.in-set .bk-swin { width:auto; height:auto; background:none; border-radius:0; box-shadow:none; overflow:visible; display:block; }
#tsp-books.in-set .bk-shd, #tsp-books.in-set .bk-sft [data-bk="setclose"] { display:none !important; }
#tsp-books.in-set .bk-sbd { overflow:visible; padding:0; }
#tsp-books.in-set .bk-sft { background:none; border:0; padding:14px 0 0; } #tsp-books.in-set .bk-sft:empty { display:none; }
#tsp-books.in-set .bk-lock, #tsp-books.in-set .bk-dlg, #tsp-books.in-set .bk-busy { position:fixed; z-index:90200; }
#tsp-books .bkd { display:grid; grid-template-columns:var(--bkd-sw,230px) 14px minmax(0,1fr); gap:0; align-items:start; }   
#tsp-books .bkd-side { display:flex; flex-direction:column; gap:8px; }
#tsp-books .bkd-rz { align-self:stretch; min-height:140px; cursor:col-resize; position:relative; touch-action:none; }
#tsp-books .bkd-rz::before { content:''; position:absolute; top:6px; bottom:6px; left:50%; width:1px; transform:translateX(-50%); background:#e2e8f0; }
#tsp-books .bkd-rz::after { content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:4px; height:40px; border-radius:4px; background:#cbd5e1; transition:background .12s, height .12s; }   
#tsp-books .bkd-rz:hover::after, body.bkd-rzing #tsp-books .bkd-rz::after { background:#64748b; height:60px; }
body.bkd-rzing, body.bkd-rzing * { cursor:col-resize !important; user-select:none !important; }
#tsp-books .bkd-h { display:flex; align-items:center; justify-content:space-between; gap:6px; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#64748b; margin:6px 2px 0; }
#tsp-books .bkd-hb { display:inline-flex; gap:4px; }
#tsp-books .bkd-ib { display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; padding:0; border:1px solid #e2e8f0; border-radius:7px; background:#fff; color:#64748b; cursor:pointer; transition:background .12s, border-color .12s, color .12s; }
#tsp-books .bkd-ib:hover { border-color:#94a3b8; color:#1e2a44; background:#f8fafc; }
#tsp-books .bkd-ib:active { transform:scale(.94); }
#tsp-books .bkd-ib.spin svg { animation:bkdspin .7s linear infinite; }
@keyframes bkdspin { to { transform:rotate(360deg); } }
#tsp-books .bkd-ac, #tsp-books .bkd-td { display:grid; grid-template-columns:1fr auto; gap:2px 8px; width:100%; text-align:left; padding:10px 12px; border:1px solid #e2e8f0; border-radius:12px; background:#fff; cursor:pointer; font:inherit; color:#0f172a; }
#tsp-books .bkd-ac b, #tsp-books .bkd-td b { font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#tsp-books .bkd-ac small, #tsp-books .bkd-td small { grid-column:1; font-size:11.5px; color:#64748b; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#tsp-books .bkd-ac .v { grid-column:2; grid-row:1 / span 2; align-self:center; font-weight:800; font-size:13.5px; white-space:nowrap; font-variant-numeric:tabular-nums; }
#tsp-books .bkd-ac .bar { grid-column:1 / -1; height:4px; border-radius:4px; background:#eef2f7; margin-top:6px; overflow:hidden; } #tsp-books .bkd-ac .bar i { display:block; height:100%; background:#1e2a44; border-radius:4px; }
#tsp-books .bkd-ac:hover, #tsp-books .bkd-td:hover { border-color:#94a3b8; }
#tsp-books .bkd-ac.on { border-color:#1e2a44; box-shadow:0 0 0 1px #1e2a44 inset; background:#f8fafc; }
#tsp-books .bkd-td { grid-template-columns:1fr; border-left:3px solid #94a3b8; } #tsp-books .bkd-td.bkd-wa { border-left-color:#d97706; } #tsp-books .bkd-td.bkd-er { border-left-color:#dc2626; }
#tsp-books .bkd-main { min-width:0; padding:14px; border-radius:18px; background:linear-gradient(135deg,#eef2f7 0%,#f8fafc 45%,#e8edf5 100%); border:1px solid #e2e8f0; transition:opacity .15s; }
#tsp-books .bkd-main.ld { opacity:.55; pointer-events:none; }
#tsp-books .bkd-top { display:flex; align-items:center; gap:10px; margin-bottom:12px; } #tsp-books .bkd-top > b { font-size:17px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } #tsp-books .bkd-top .bk-sp { flex:1; }
#tsp-books .bkd-mu { font-size:12px; color:#64748b; white-space:nowrap; padding:4px 10px; border-radius:20px; background:rgba(255,255,255,.7); border:1px solid #e2e8f0; }
#tsp-books .bkd-kp { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:10px; }
#tsp-books .bkd-k, #tsp-books .bkd-card { background:rgba(255,255,255,.78); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border:1px solid rgba(226,232,240,.9); border-radius:14px; box-shadow:0 2px 10px rgba(15,23,42,.05); }
#tsp-books .bkd-k { padding:12px 14px; display:flex; flex-direction:column; gap:3px; min-width:0; }
#tsp-books .bkd-k label { font-size:12px; color:#64748b; font-weight:600; white-space:nowrap; } #tsp-books .bkd-k > b { font-size:21px; font-weight:800; white-space:nowrap; font-variant-numeric:tabular-nums; overflow:hidden; text-overflow:ellipsis; }
#tsp-books .bkd-k small { font-size:11.5px; font-weight:700; white-space:nowrap; } #tsp-books .bkd-k small.mu { color:#64748b; font-weight:600; }
#tsp-books .bkd-main .up { color:#15803d; } #tsp-books .bkd-main .dn { color:#b91c1c; }
#tsp-books .bkd-k.k1 { background:linear-gradient(135deg,#1e2a44,#334155); border-color:#1e2a44; color:#fff; } #tsp-books .bkd-k.k1 label { color:#cbd5e1; } #tsp-books .bkd-k.k1 .up { color:#86efac; } #tsp-books .bkd-k.k1 .dn { color:#fca5a5; }
#tsp-books .bkd-main { position:relative; }
#tsp-books .bkd-hit { cursor:pointer; } #tsp-books rect.bkd-hit.hv { fill:rgba(30,42,68,.06); } #tsp-books path.bkd-hit.hv { opacity:.85; }
#tsp-books .bkd-tip { position:absolute; z-index:5; pointer-events:none; display:none; min-width:150px; padding:9px 12px; border-radius:10px; background:#1e2a44; color:#fff; font-size:12.5px; box-shadow:0 8px 24px rgba(15,23,42,.25); white-space:nowrap; }
#tsp-books .bkd-tip.on { display:block; } #tsp-books .bkd-tip b { display:block; font-size:13px; margin-bottom:4px; } #tsp-books .bkd-tip span { display:flex; gap:14px; justify-content:space-between; line-height:1.6; } #tsp-books .bkd-tip i { font-style:normal; color:#cbd5e1; } #tsp-books .bkd-tip em { font-style:normal; font-weight:700; font-variant-numeric:tabular-nums; }
#tsp-books .bkd-ch2 { display:block; height:auto; }
#tsp-books .bkd-sp { display:block; width:100%; height:26px; margin-top:4px; }
#tsp-books .bkd-r1 { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:10px; margin-bottom:10px; }
#tsp-books .bkd-r2 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
#tsp-books .bkd-card { padding:12px 14px; min-width:0; }
#tsp-books .bkd-ch { display:flex; align-items:center; gap:8px; font-weight:800; font-size:13.5px; margin-bottom:8px; white-space:nowrap; }
#tsp-books .bkd-ch small { margin-left:auto; font-weight:600; font-size:11.5px; color:#64748b; display:flex; align-items:center; gap:5px; } #tsp-books .bkd-ch small i { width:9px; height:9px; border-radius:3px; display:inline-block; } #tsp-books .bkd-ch i.d1 { background:#1e2a44; } #tsp-books .bkd-ch i.d2 { background:#cbd5e1; margin-left:6px; }
#tsp-books .bkd-all { margin-left:auto; border:0; background:none; color:#1e2a44; font:inherit; font-size:12px; font-weight:700; cursor:pointer; padding:2px 4px; }
#tsp-books .bkd-li { display:flex; align-items:center; gap:8px; width:100%; padding:7px 4px; border:0; border-bottom:1px solid #eef2f7; background:none; font:inherit; font-size:13px; color:#0f172a; text-align:left; cursor:pointer; min-width:0; }
#tsp-books .bkd-li:last-child { border-bottom:0; } #tsp-books .bkd-li:not([data-bk]) { cursor:default; } #tsp-books .bkd-li[data-bk]:hover { background:rgba(30,42,68,.04); }
#tsp-books .bkd-li > span { flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } #tsp-books .bkd-li > b { white-space:nowrap; font-variant-numeric:tabular-nums; }
#tsp-books .bkd-leg .bkd-li > i { width:10px; height:10px; border-radius:3px; flex:none; }
#tsp-books .bkd-tx > i { flex:none; width:30px; height:30px; border-radius:50%; background:#e2e8f0; color:#1e2a44; font-style:normal; font-size:11px; font-weight:800; display:flex; align-items:center; justify-content:center; }
#tsp-books .bkd-tx > span { display:flex; flex-direction:column; } #tsp-books .bkd-tx > span b, #tsp-books .bkd-tx > span small { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } #tsp-books .bkd-tx > span small { font-size:11.5px; color:#64748b; }
#tsp-books .bkd-don { display:flex; align-items:center; gap:12px; } #tsp-books .bkd-don svg { flex:none; } #tsp-books .bkd-leg { flex:1; min-width:0; }
#tsp-books .bkd-loans { padding:10px 12px; background:#fff; border:1px solid #e2e8f0; }
@media (max-width:1100px) { #tsp-books .bkd-r2 { grid-template-columns:1fr 1fr; } #tsp-books .bkd-r2 > :last-child { grid-column:1 / -1; } }
@media (max-width:900px) { #tsp-books .bkd { grid-template-columns:1fr; } #tsp-books .bkd-rz { display:none; } #tsp-books .bkd-side { flex-direction:row; flex-wrap:nowrap; overflow-x:auto; padding-bottom:2px; } #tsp-books .bkd-side .bkd-h, #tsp-books .bkd-side .bkd-loans { display:none; } #tsp-books .bkd-ac, #tsp-books .bkd-td { flex:0 0 210px; } #tsp-books .bkd-kp { grid-template-columns:1fr 1fr; } #tsp-books .bkd-r1, #tsp-books .bkd-r2 { grid-template-columns:1fr; } #tsp-books .bkd-r2 > :last-child { grid-column:auto; } }
@media (max-width:520px) { #tsp-books .bkd-main { padding:10px; border-radius:14px; } #tsp-books .bkd-k > b { font-size:18px; } #tsp-books .bkd-top .bkd-mu { display:none; } }
#tsp-books.bk-formwin:not(.bk-max) .bk-win { width:min(860px, calc(100vw - 32px)) !important; height:auto !important; max-height:calc(100vh - 32px); }
#tsp-books.bk-formwin .bk-hd .bk-grp, #tsp-books.bk-formwin .bk-hd .bk-hr > .bk-gb, #tsp-books.bk-formwin .bk-hd .bk-hr > .bk-xr { display:none !important; }
#tsp-books .bk-af2 { grid-template-columns:minmax(0,1fr) 220px; gap:14px; max-width:none; }
#tsp-books .bk-af2 .bk-afs { border:0; border-radius:14px; padding:14px; margin-bottom:10px; box-shadow:0 1px 2px rgba(15,23,42,.05),0 0 0 1px rgba(15,23,42,.06); }
#tsp-books .bk-af2 .bk-aft { font-size:13px; font-weight:600; letter-spacing:-.005em; text-transform:none; color:#0b1220; margin-bottom:10px; }
#tsp-books .bk-af2 .bk-aft i { width:20px; height:20px; border-radius:6px; background:#eef2ff; color:#1e2a44; font-size:11px; font-weight:700; }
#tsp-books .bk-af2 .bk-tiles { grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
#tsp-books .bk-af2 .bk-tile { display:block; border:1px solid #eef1f5; border-radius:11px; padding:10px; }
#tsp-books .bk-af2 .bk-tile .ic, #tsp-books .bk-af2 .bk-rc .ic { width:28px; height:28px; border-radius:8px; background:#f1f5f9; color:#475569; display:inline-flex; align-items:center; justify-content:center; font-size:0; flex:none; }
#tsp-books .bk-af2 .bk-tile b { font-size:13px; font-weight:600; margin-top:8px; } #tsp-books .bk-af2 .bk-tile small { font-size:11.5px; color:#94a3b8; margin-top:1px; }
#tsp-books .bk-af2 .bk-tile.on, #tsp-books .bk-af2 .bk-rc.on { border-color:#1e2a44; background:#fafbff; box-shadow:0 0 0 1px #1e2a44 inset; }
#tsp-books .bk-af2 .bk-tile.on .ic, #tsp-books .bk-af2 .bk-rc.on .ic { background:#1e2a44; color:#fff; }
#tsp-books .bk-af2 .bk-fl label { font-size:12px; font-weight:500; color:#64748b; text-transform:none; letter-spacing:0; }
#tsp-books .bk-af2 .bk-in { height:36px; border-radius:9px; background:#f8fafc; border:1px solid #eef1f5; font-size:13.5px; }
#tsp-books .bk-af2 .bk-rcs { gap:8px; } #tsp-books .bk-af2 .bk-rc { align-items:center; border:1px solid #eef1f5; padding:10px 12px; }
#tsp-books .bk-af2 .bk-rc b { font-size:13px; font-weight:600; } #tsp-books .bk-af2 .bk-rc small { font-size:11.5px; color:#94a3b8; margin-top:1px; }
#tsp-books .bk-conn { display:flex; align-items:center; gap:8px; margin-top:10px; padding:8px 10px 8px 12px; border-radius:11px; background:#f6fef9; border:1px solid #dcfce7; min-width:0; }
#tsp-books .bk-conn .dt { width:7px; height:7px; border-radius:50%; background:#22c55e; box-shadow:0 0 0 3px #dcfce7; flex:none; } #tsp-books .bk-conn b { font-size:12.5px; font-weight:500; color:#166534; white-space:nowrap; }
#tsp-books .bk-conn .m { font-size:12px; color:#64748b; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; } #tsp-books .bk-conn .bt { margin-left:auto; display:flex; gap:6px; flex:none; } #tsp-books .bk-conn .bt button { height:28px; font-size:12px; display:inline-flex; align-items:center; gap:5px; }
#tsp-books .bk-conn.er { background:#fef2f2; border-color:#fecaca; } #tsp-books .bk-conn.er .dt { background:#dc2626; box-shadow:0 0 0 3px #fecaca; } #tsp-books .bk-conn.er b { color:#b91c1c; }
#tsp-books .bk-asum2 { border-radius:12px; background:#f8fafc; padding:14px; } #tsp-books .bk-asum2 .h { font-size:12px; font-weight:500; color:#94a3b8; }
#tsp-books .bk-asum2.empty .e { font-size:12.5px; color:#94a3b8; margin-top:6px; line-height:1.45; }
#tsp-books .bk-asum2 .top { display:flex; align-items:center; gap:10px; min-width:0; } #tsp-books .bk-asum2 .mono { width:34px; height:34px; border-radius:10px; color:#fff; font-size:11px; font-weight:700; display:inline-flex; align-items:center; justify-content:center; flex:none; }
#tsp-books .bk-asum2 .nm { display:flex; flex-direction:column; min-width:0; } #tsp-books .bk-asum2 .nm b { font-size:13.5px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } #tsp-books .bk-asum2 .nm small { font-size:11.5px; color:#94a3b8; white-space:nowrap; }
#tsp-books .bk-asum2 .bal { font-size:22px; font-weight:600; letter-spacing:-.02em; margin-top:12px; font-variant-numeric:tabular-nums; } #tsp-books .bk-asum2 .bsub { font-size:11.5px; color:#94a3b8; }
#tsp-books .bk-asum2 .lns { margin-top:10px; display:flex; flex-direction:column; gap:6px; font-size:12px; } #tsp-books .bk-asum2 .ln { display:flex; justify-content:space-between; gap:8px; } #tsp-books .bk-asum2 .ln span { color:#64748b; white-space:nowrap; } #tsp-books .bk-asum2 .ln b { font-weight:500; white-space:nowrap; }
#tsp-books .bk-asum2 .nx { margin-top:10px; font-size:12px; color:#475569; line-height:1.45; }
@media (max-width:760px) { #tsp-books .bk-af2 { grid-template-columns:1fr; } #tsp-books .bk-af2 .bk-afr { order:-1; } #tsp-books .bk-af2 .bk-tiles { grid-template-columns:1fr 1fr; } #tsp-books .bk-conn { flex-wrap:wrap; } #tsp-books .bk-conn .bt { width:100%; justify-content:flex-end; } }
#tsp-books .bky { display:grid; grid-template-columns:minmax(0,1fr) 400px; gap:12px; align-items:stretch; height:100%; min-height:0; }
#tsp-books .bky-list { display:flex; flex-direction:column; min-height:0; overflow:hidden; padding:0 !important; }
#tsp-books .bky-top { display:flex; gap:8px; align-items:center; padding:12px; border-bottom:1px solid #e2e8f0; flex-wrap:wrap; }
#tsp-books .bky-q { flex:1 1 160px; min-width:140px; height:34px; padding:0 12px; border:1px solid #d5dce6; border-radius:10px; font:500 13px var(--tsp-ff, Inter, sans-serif); color:#0f172a; background:#fff; }
#tsp-books .bky-items { flex:1; overflow-y:auto; min-height:0; }
#tsp-books .bky-it { display:grid; grid-template-columns:92px minmax(0,1fr) auto; gap:12px; align-items:center; width:100%; padding:9px 14px; border:0; border-bottom:1px solid #f1f5f9; background:#fff; text-align:left; font:inherit; cursor:pointer; color:#0f172a; }
#tsp-books .bky-it:hover { background:#f8fafc; } #tsp-books .bky-it.on { background:#eef2ff; box-shadow:inset 3px 0 0 #1e293b; }
#tsp-books .bky-it .d { font-size:12.5px; font-weight:600; color:#64748b; font-variant-numeric:tabular-nums; white-space:nowrap; }
#tsp-books .bky-it .m { min-width:0; display:flex; flex-direction:column; } #tsp-books .bky-it .m b { font-size:13px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } #tsp-books .bky-it .m small { font-size:11.5px; color:#94a3b8; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-top:1px; }
#tsp-books .bky-it .a { font-size:13.5px; font-weight:800; white-space:nowrap; font-variant-numeric:tabular-nums; }
#tsp-books .bky-ed { padding:16px 18px !important; overflow-y:auto; min-height:0; }
#tsp-books .bky-h { font-size:17px; font-weight:800; line-height:1.3; word-break:break-word; }
#tsp-books .bky-amt { font-size:26px; font-weight:800; letter-spacing:-.4px; margin:6px 0 2px; font-variant-numeric:tabular-nums; }
#tsp-books .bky-meta { font-size:12.5px; color:#64748b; font-weight:500; }
#tsp-books .bky-raw { margin:12px 0 2px; padding:10px 12px; border-radius:10px; background:#f8fafc; font-size:12px; color:#475569; line-height:1.5; word-break:break-word; } #tsp-books .bky-raw b { color:#0f172a; }
#tsp-books .bky-l { display:block; margin:16px 0 7px; font-size:10.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#64748b; } #tsp-books .bky-l span { text-transform:none; letter-spacing:0; font-weight:500; color:#94a3b8; margin-left:4px; }
#tsp-books .bky-g { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
#tsp-books .bky-cb { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-height:40px; padding:7px 11px; border:1px solid #d5dce6; border-radius:10px; background:#fff; font:700 12.5px var(--tsp-ff, Inter, sans-serif); color:#1e293b; text-align:left; cursor:pointer; overflow:hidden; }
#tsp-books .bky-cb small { font-size:10.5px; font-weight:500; color:#94a3b8; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
#tsp-books .bky-cb:hover { border-color:#94a3b8; } #tsp-books .bky-cb.on { background:#1e293b; border-color:#1e293b; color:#fff; } #tsp-books .bky-cb.on small { color:#cbd5e1; }
#tsp-books .bky-all { width:100%; height:36px; margin-top:8px; }
#tsp-books .bky-in { width:100%; height:38px; }
#tsp-books .bky-ck { display:flex; gap:8px; align-items:center; margin-top:14px; font-size:12.5px; font-weight:600; color:#334155; cursor:pointer; } #tsp-books .bky-ck input { width:16px; height:16px; }
#tsp-books .bky-bt { display:flex; justify-content:space-between; gap:10px; margin-top:20px; } #tsp-books .bky-bt button { height:40px; min-width:110px; }
#tsp-books .bky-pos { font-size:12.5px; font-weight:700; color:#64748b; align-self:center; }
#tsp-books .bk-body:has(> .bky) { overflow:hidden; }
@media (max-width:900px) { #tsp-books .bky { grid-template-columns:1fr; height:auto; } #tsp-books .bky-items { max-height:45vh; } #tsp-books .bk-body:has(> .bky) { overflow:auto; } }
#tsp-books .bkx { display:flex; flex-direction:column; gap:10px; min-width:0; }
#tsp-books .bkx-bar { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
#tsp-books .bkx-chip { display:inline-flex; align-items:center; gap:8px; height:34px; padding:0 14px; border:1px solid #d5dce6; border-radius:999px; background:#fff; font:700 12.5px/1 var(--tsp-ff, Inter, sans-serif); color:#334155; cursor:pointer; white-space:nowrap; }
#tsp-books .bkx-chip em { font-style:normal; font-weight:600; color:#64748b; font-variant-numeric:tabular-nums; }
#tsp-books .bkx-chip.on { background:#1e293b; border-color:#1e293b; color:#fff; } #tsp-books .bkx-chip.on em { color:#cbd5e1; }
#tsp-books .bkx-chip:hover { border-color:#94a3b8; }
#tsp-books .bkx-csel { height:34px; padding:0 30px 0 14px; border:1px solid #d5dce6; border-radius:999px; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%2364748b' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 12px center; -webkit-appearance:none; appearance:none; font:700 12.5px var(--tsp-ff, Inter, sans-serif); color:#334155; cursor:pointer; max-width:220px; }
#tsp-books select.bkx-csel, #tsp-books select.bkx-csel:invalid { color:#334155 !important; opacity:1 !important; }
#tsp-books .bkx-csel.on { border-color:#1e293b; box-shadow:inset 0 0 0 1px #1e293b; }
#tsp-books .bkx-q { flex:1 1 220px; min-width:180px; height:36px; padding:0 14px; border:1px solid #d5dce6; border-radius:10px; background:#fff; font:500 13px var(--tsp-ff, Inter, sans-serif); color:#0f172a; }
#tsp-books .bkx-tbl .bk-kpi { padding:12px 14px 10px !important; border-bottom:1px solid #e2e8f0; gap:16px 30px; }
#tsp-books .bkx-tbl .bk-tbl th { background:#f8fafc; color:#475569; font-weight:800; font-size:9.75px; letter-spacing:.45px; text-transform:uppercase; }
#tsp-books .bkx-tbl .bk-tbl tbody tr:nth-child(even) td, #tsp-books .bkx-tbl .bk-tbl tr:nth-child(odd):not(:first-child) td { }
#tsp-books .bkx-tbl .bk-txt tr:nth-child(even) td { background:#f6f8fb; }
#tsp-books .bkx-tbl .bk-txt tr[data-bk="txd"]:hover td { background:#eef2ff; cursor:pointer; }
#tsp-books .bkx-tbl .bkr-pay b { font-size:13px; font-weight:700; color:#0f172a; }
#tsp-books .bkx-tbl .bkr-raw, #tsp-books .bkx-tbl .bkr-raw .bk-mono { font-family:var(--tsp-ff, Inter, sans-serif) !important; font-size:11px !important; font-weight:500 !important; color:#94a3b8 !important; }
#tsp-books .bkx-tbl b.bkr-raw0, #tsp-books .bkx-tbl b.bkr-raw0 .bk-mono { font-family:var(--tsp-ff, Inter, sans-serif) !important; font-size:13px !important; font-weight:700 !important; color:#0f172a !important; }
#tsp-books .bkx-cat { display:inline-block; max-width:100%; padding:3px 9px; border-radius:7px; background:#f1f5f9; color:#334155; font-weight:700; font-size:11px; letter-spacing:.02em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; vertical-align:middle; }
#tsp-books .bkx-gq { flex:0 1 360px; min-width:160px; height:32px; margin-left:12px; padding:0 12px 0 32px; border:1px solid #d5dce6; border-radius:9px; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") no-repeat 11px center; font:500 12.5px var(--tsp-ff, Inter, sans-serif); color:#0f172a; }
@media (max-width:760px) { #tsp-books .bkx-gq { display:none; } }
#tsp-books tr.bkx-more td { text-align:center; padding:14px !important; color:#94a3b8; font-weight:600; font-size:12px; }
#tsp-books .bkx-cat.need { background:#fff7ed; color:#c2410c; }
#tsp-books .bkr { display:grid; grid-template-columns:230px minmax(0,1fr); gap:12px; align-items:start; height:100%; }
#tsp-books .bkr-side { display:flex; flex-direction:column; gap:6px; }
#tsp-books .bkr-ac { display:flex; align-items:center; gap:8px; width:100%; text-align:left; padding:8px 10px; border:1px solid #e2e8f0; border-radius:10px; background:#fff; font:inherit; cursor:pointer; color:#0f172a; }
#tsp-books .bkr-ac span { flex:1; min-width:0; display:flex; flex-direction:column; } #tsp-books .bkr-ac b { font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } #tsp-books .bkr-ac small { font-size:11.5px; color:#64748b; white-space:nowrap; }
#tsp-books .bkr-ac em { font-style:normal; font-weight:800; font-size:13px; white-space:nowrap; font-variant-numeric:tabular-nums; } #tsp-books .bkr-ac:hover { border-color:#94a3b8; } #tsp-books .bkr-ac.on { border:2px solid #1e2a44; padding:7px 9px; background:#f8fafc; }
#tsp-books .bkr-main { min-width:0; display:flex; flex-direction:column; gap:8px; }
#tsp-books .bkr-top { display:flex; align-items:center; gap:10px; min-height:32px; } #tsp-books .bkr-top > b { font-size:16px; white-space:nowrap; } #tsp-books .bkr-bal { font-size:12.5px; color:#64748b; white-space:nowrap; } #tsp-books .bkr-bal b { color:#0f172a; font-size:16px; margin-left:4px; }
#tsp-books .bkr-pay b { font-size:13px; } #tsp-books .bkr-raw { font-size:11px; color:#64748b; margin-top:1px; } #tsp-books .bkr-raw .bk-mono, #tsp-books .bkr-raw0 .bk-mono { font-size:11px; } #tsp-books .bkr-raw .bk-mono { color:#64748b; }
#tsp-books .bkr-dot { display:inline-block; width:8px; height:8px; border-radius:50%; margin-right:6px; vertical-align:1px; }
@media (max-width:900px) { #tsp-books .bkr { grid-template-columns:1fr; } #tsp-books .bkr-side { flex-direction:row; overflow-x:auto; padding-bottom:2px; } #tsp-books .bkr-side .bkd-h { display:none; } #tsp-books .bkr-ac { flex:0 0 200px; } }
#tsp-books .bkd-fx { margin-bottom:8px; }
#tsp-books .bkd-fx .bkd-mu { font-weight:500; font-size:12px; color:#94a3b8; }
#tsp-books .bkd-fx .bkd-all { margin-left:auto; }
#tsp-books .bkd-fxb { display:flex; gap:16px; }
#tsp-books .bkd-fxl { flex:1; min-width:0; }
#tsp-books .bkd-fxt { font-size:24px; font-weight:700; letter-spacing:-.02em; font-variant-numeric:tabular-nums; white-space:nowrap; } #tsp-books .bkd-fxt small { font-size:12.5px; font-weight:500; color:#94a3b8; }
#tsp-books .bkd-fxs { font-size:12px; color:#64748b; margin:0 0 6px; white-space:nowrap; }
#tsp-books .bkd-fxr { display:flex; align-items:center; gap:10px; font-size:12.5px; margin-top:6px; } #tsp-books .bkd-fx .bkd-fxsub { font-weight:500; font-size:12px; color:#94a3b8; margin:0 !important; flex:none; }
#tsp-books .bkd-fxr span { width:130px; flex:none; color:#475569; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#tsp-books .bkd-fxr i { flex:1; height:8px; border-radius:8px; background:#f1f5f9; overflow:hidden; } #tsp-books .bkd-fxr em { display:block; height:100%; border-radius:8px; background:#1e2a44; }
#tsp-books .bkd-fxr b { width:86px; flex:none; text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
#tsp-books .bkd-fxn { width:250px; flex:none; border-radius:12px; background:#f8fafc; padding:9px 12px; align-self:flex-start; }
#tsp-books .bkd-fxn .h { font-size:12px; font-weight:700; color:#64748b; margin-bottom:2px; white-space:nowrap; }
#tsp-books .bkd-fxn .r { display:flex; align-items:center; gap:8px; font-size:12.5px; padding:5px 0; border-top:1px solid #eef2f7; } #tsp-books .bkd-fxn .r:first-of-type { border-top:0; }
#tsp-books .bkd-fxn .dt { width:48px; flex:none; color:#94a3b8; font-weight:600; white-space:nowrap; } #tsp-books .bkd-fxn .nm { flex:1; min-width:0; text-align:left; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-weight:500; }
#tsp-books .bkd-fxn b { font-variant-numeric:tabular-nums; white-space:nowrap; } #tsp-books .bkd-fxn b.ok { color:#15803d; }
@media (max-width:700px) { #tsp-books .bkd-fxb { flex-direction:column; } #tsp-books .bkd-fxn { width:auto; align-self:stretch; } }
#tsp-books .bkf-kp { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:12px; }
#tsp-books .bkf-kp > div { background:#f8fafc; border-radius:12px; padding:10px 12px; min-width:0; } #tsp-books .bkf-kp label { display:block; font-size:12px; color:#64748b; white-space:nowrap; }
#tsp-books .bkf-kp b { display:block; font-size:19px; font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; } #tsp-books .bkf-kp small { font-size:11.5px; color:#94a3b8; }
#tsp-books .bkf-list { border:1px solid #eef1f5; border-radius:12px; overflow:hidden; background:#fff; }
#tsp-books .bkf-row { display:flex; align-items:center; gap:10px; padding:9px 12px; } #tsp-books .bkf-row + .bkf-row { border-top:1px solid #f1f5f9; }
#tsp-books .bkf-row .dt { width:30px; height:30px; flex:none; border-radius:9px; background:#f1f5f9; color:#475569; font-weight:700; font-size:12.5px; display:flex; align-items:center; justify-content:center; }
#tsp-books .bkf-row .nm { flex:1; min-width:0; line-height:1.25; } #tsp-books .bkf-row .nm b { display:block; font-size:13.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } #tsp-books .bkf-row .nm small { display:block; font-size:12px; color:#94a3b8; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#tsp-books .bkf-row .amt { width:92px; text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
#tsp-books .bkf-row.off { opacity:.6; }
@media (max-width:600px) { #tsp-books .bkf-row { flex-wrap:wrap; row-gap:6px; } #tsp-books .bkf-row .nm { flex:1 1 calc(100% - 150px); } #tsp-books .bkf-row .amt { order:3; width:auto; flex:none; } #tsp-books .bkf-row .bk-pill { order:4; margin-left:40px; } #tsp-books .bkf-row [data-bk] { order:5; margin-left:auto; } #tsp-books .bkf-row.off [data-bk] { margin-left:40px; } #tsp-books .bkf-kp b { font-size:16px; } }
@media (min-width:901px) { #tsp-books .bkd { grid-template-columns:var(--bkd-sw,230px) 14px minmax(0,1fr); gap:0; } }   
#tsp-books .bkd-main { padding:0; background:none; border:0; border-radius:0; }
#tsp-books .bkd-top { margin-bottom:8px; } #tsp-books .bkd-top > b { font-size:15px; }
#tsp-books .bkd-kp { display:flex; gap:0; background:#fff; border:1px solid #e2e8f0; border-radius:12px; padding:10px 0; margin-bottom:8px; }
#tsp-books .bkd-kp .bkd-k { flex:1; min-width:0; background:none; border:0; border-radius:0; box-shadow:none; padding:0 16px; gap:1px; -webkit-backdrop-filter:none; backdrop-filter:none; }
#tsp-books .bkd-kp .bkd-k + .bkd-k { border-left:1px solid #e2e8f0; }
#tsp-books .bkd-kp .bkd-k > b { font-size:18px; } #tsp-books .bkd-kp .bkd-k label { font-size:11.5px; }
#tsp-books .bkd-kp .bkd-k.k1, #tsp-books .bkd-kp .bkd-k.k1 label { background:none; color:#64748b; } #tsp-books .bkd-kp .bkd-k.k1 > b { color:#15803d; } #tsp-books .bkd-kp .bkd-k.k1.neg > b { color:#b91c1c; }
#tsp-books .bkd-kp .bkd-k.k1 .up { color:#15803d; } #tsp-books .bkd-kp .bkd-k.k1 .dn { color:#b91c1c; }
#tsp-books .bkd-card { padding:10px 12px; border-radius:12px; box-shadow:none; background:#fff; -webkit-backdrop-filter:none; backdrop-filter:none; }
#tsp-books .bkd-r1, #tsp-books .bkd-r2 { gap:8px; } #tsp-books .bkd-r1 { margin-bottom:8px; }
#tsp-books .bkd-ch { font-size:13px; margin-bottom:4px; } #tsp-books .bkd-li { padding:5px 4px; font-size:12.5px; } #tsp-books .bkd-tx > i { width:26px; height:26px; font-size:10px; }
#tsp-books .bkd-ac { padding:8px 10px; } #tsp-books .bkd-side { gap:6px; } #tsp-books .bkd-acs { display:flex; flex-direction:column; gap:6px; }
#tsp-books .bk-body { background:#f4f7fb; }
#tsp-books .bkd-k, #tsp-books .bkd-card, #tsp-books .bkd-ac, #tsp-books .bkd-kp { background:#fff; border:1px solid #e3e8ef; border-radius:14px; box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none; }
#tsp-books .bkd-ch { font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:#1d4ed8; border-bottom:2px solid #dbeafe; padding-bottom:6px; }
#tsp-books .bkd-h { color:#1d4ed8; }
#tsp-books .bk-tabs .bk-chip.on { background:#1d4ed8; border-color:#1d4ed8; }
#tsp-books .bkd-top > b { color:#1d4ed8; font-size:12px; letter-spacing:.1em; text-transform:uppercase; }
#tsp-books .bkd-att { margin-top:8px; border-radius:12px; background:#fef2f2; border:1px solid #fecaca; padding:10px; display:flex; flex-direction:column; gap:6px; }
#tsp-books .bkd-ath { display:flex; align-items:center; gap:7px; color:#b91c1c; font-size:13.5px; } #tsp-books .bkd-ath .n { margin-left:auto; background:#dc2626; color:#fff; border-radius:20px; font-size:11px; font-weight:800; padding:1px 8px; }
#tsp-books .bkd-ati { display:grid; grid-template-columns:1fr auto; gap:1px 8px; align-items:center; width:100%; text-align:left; background:#fff; border:1px solid #fee2e2; border-radius:10px; padding:7px 10px; font:inherit; cursor:pointer; color:#334155; }
#tsp-books .bkd-ati:hover { border-color:#fca5a5; } #tsp-books .bkd-ati b { color:#b91c1c; font-size:14px; white-space:nowrap; } #tsp-books .bkd-ati span { font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } #tsp-books .bkd-ati span { grid-column:1 / -1; grid-row:2; } #tsp-books .bkd-ati em { grid-column:2; grid-row:1; justify-self:end; font-style:normal; font-size:11.5px; font-weight:800; color:#1e2a44; }
@media (max-width:900px) { #tsp-books .bkd-kp { flex-wrap:wrap; row-gap:10px; } #tsp-books .bkd-kp .bkd-k { flex:1 1 45%; } #tsp-books .bkd-kp .bkd-k:nth-child(3) { border-left:0; } #tsp-books .bkd > * { min-width:0; } #tsp-books .bkd-side { display:block !important; overflow:visible !important; min-width:0; } #tsp-books .bkd-acs { display:flex; flex-direction:row; gap:8px; overflow-x:auto; padding-bottom:2px; } #tsp-books .bkd-acs .bkd-ac { flex:0 0 210px; } #tsp-books .bkd-att { margin-top:8px; } }
#tsp-books.bk-over { z-index:90300; }   
#tsp-books .bk-swin { width:min(880px,100%); height:min(700px,100%); background:#f4f6f9; border-radius:20px; box-shadow:0 30px 70px rgba(15,23,42,.35); display:flex; flex-direction:column; overflow:hidden; }
#tsp-books .bk-shd { flex:none; display:flex; align-items:center; gap:10px; padding:14px 18px 14px 22px; background:#fff; border-bottom:1px solid #eef1f5; color:#0f172a; }
#tsp-books .bk-shd > b { font-size:17px; font-weight:800; white-space:nowrap; } #tsp-books .bk-ssub { color:#94a3b8; font-weight:600; font-size:13px; }
#tsp-books .bk-sp { flex:1; }
#tsp-books .bk-scap { display:inline-flex; background:#e9edf2; border-radius:999px; padding:4px; gap:2px; overflow-x:auto; scrollbar-width:none; max-width:100%; } #tsp-books .bk-scap::-webkit-scrollbar { display:none; }
#tsp-books .bk-scap button { border:0; background:none; padding:7px 15px; border-radius:999px; font:700 12.5px var(--tsp-ff, Inter, sans-serif); color:#475569; cursor:pointer; white-space:nowrap; flex:none; }
#tsp-books .bk-scap button.on { background:#0f172a; color:#fff; } #tsp-books .bk-scap button:not(.on):hover { color:#0f172a; }
#tsp-books .bk-sbd { flex:1; overflow:auto; padding:18px 22px; }
#tsp-books .bk-sft { flex:none; display:flex; align-items:center; gap:10px; padding:12px 22px; background:#fff; border-top:1px solid #eef1f5; }
#tsp-books .bk-sgrid { display:grid; grid-template-columns:repeat(auto-fill,minmax(330px,1fr)); gap:14px; }
#tsp-books .bk-sacc, #tsp-books .bk-scard, #tsp-books .bk-sbd .bk-card { background:#fff; border:0; border-radius:18px; box-shadow:0 1px 2px rgba(15,23,42,.05),0 8px 24px rgba(15,23,42,.06); }
#tsp-books .bk-sacc { padding:16px; display:flex; flex-direction:column; gap:10px; min-width:0; }
#tsp-books .bk-sat { display:flex; align-items:center; gap:12px; min-width:0; }
#tsp-books .bk-abr { width:40px; height:40px; border-radius:50%; flex:none; }
#tsp-books .bk-san { flex:1; min-width:0; } #tsp-books .bk-san b { display:block; font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#tsp-books .bk-san small { display:block; color:#64748b; font-size:12px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#tsp-books .bk-sasrc { font-size:12px; color:#64748b; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#tsp-books .bk-sab { display:flex; align-items:center; gap:8px; padding-top:12px; border-top:1px solid #f1f5f9; }
#tsp-books .bk-sabl { flex:1; min-width:0; } #tsp-books .bk-sabl b { display:block; font-size:16px; font-weight:800; font-variant-numeric:tabular-nums; }
#tsp-books .bk-sabl small { display:block; color:#94a3b8; font-size:11.5px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#tsp-books .bk-sab .bk-agr { margin-left:0; }
#tsp-books .bk-sadd { border:1.5px dashed #cbd5e1; border-radius:18px; background:transparent; min-height:150px; display:grid; place-items:center; font:700 14px var(--tsp-ff, Inter, sans-serif); color:#475569; cursor:pointer; }
#tsp-books .bk-sadd:hover { border-color:#94a3b8; background:#fff; color:#0f172a; }
#tsp-books .bk-sbd .bk-card { margin-top:14px; } #tsp-books .bk-sbd .bk-g > .bk-card:first-child, #tsp-books .bk-sbd > .bk-card:first-child { margin-top:0; }
#tsp-books .bk-scard { padding:8px 14px; }
#tsp-books .bk-snm .bk-tin { width:100%; }
@media (max-width:700px) {
  #tsp-books .bk-set { padding:0; } #tsp-books .bk-swin { width:100%; height:100%; border-radius:0; }
  #tsp-books .bk-shd { flex-wrap:wrap; padding:12px 14px; } #tsp-books .bk-shd .bk-sp { display:none; } #tsp-books .bk-scap { order:3; width:100%; }
  #tsp-books .bk-sbd { padding:14px; } #tsp-books .bk-sgrid { grid-template-columns:1fr; } #tsp-books .bk-sft { padding:10px 14px; }
}
#tsp-books .bk-tsp { flex:1 0 8px; } #tsp-books .bk-tdv { flex:none; width:1px; height:20px; background:#e2e8f0; align-self:center; margin:0 2px; }   
#tsp-books .bk-tabs .bk-chip.bk-setb { display:inline-flex; align-items:center; gap:6px; }
#tsp-books .bk-agr { width:32px; height:32px; padding:0; display:inline-grid; place-items:center; color:#475569; flex:none; margin-left:10px; }
.bk-orig { display: block; font-size: 10.5px; font-weight: 500; color: #94a3b8; margin-top: 1px; white-space: nowrap; letter-spacing: .2px; }   
.bk-alh { display: block; font-size: 11px; color: #64748b; margin-top: 3px; line-height: 1.35; }
  #tsp-books .bk-ln-kpi { display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:10px; }
  #tsp-books .bk-ln-kpi > div { border:1px solid #e9edf2; border-radius:12px; padding:10px 12px; min-width:0; background:#fff; }
  #tsp-books .bk-ln-kpi small { display:block; font-size:10px; font-weight:800; letter-spacing:.06em; color:#64748b; text-transform:uppercase; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  #tsp-books .bk-ln-kpi b { display:block; font-size:17px; font-weight:800; margin-top:3px; white-space:nowrap; font-variant-numeric:tabular-nums; } #tsp-books .bk-ln-kpi em { font-style:normal; font-size:11px; color:#64748b; font-weight:600; white-space:nowrap; }
  #tsp-books .bk-ln { border:1px solid #e2e8f0; border-radius:14px; padding:14px 16px; margin-bottom:12px; background:#fff; min-width:0; } #tsp-books .bk-ln.old { opacity:.8; padding:11px 16px; }
  #tsp-books .bk-ln-h { display:flex; align-items:center; gap:8px; white-space:nowrap; min-width:0; } #tsp-books .bk-ln-h b { font-size:15px; } #tsp-books .bk-ln-h .d { color:#64748b; font-size:12.5px; font-weight:600; overflow:hidden; text-overflow:ellipsis; min-width:0; }
  #tsp-books .bk-ln-h .sp, #tsp-books .bk-ln-due .sp, #tsp-books .bk-ln-form .sp { flex:1; } #tsp-books .bk-ln-h .v { font-size:18px; font-weight:800; color:#be123c; font-variant-numeric:tabular-nums; } #tsp-books .bk-ln-h .v.ok { color:#047857; font-size:15px; }
  #tsp-books .bk-pill.on { background:#eef2ff; color:#3730a3; }
  #tsp-books .bk-ln-bar { height:10px; border-radius:6px; background:#eef2f7; margin:10px 0 6px; overflow:hidden; display:flex; } #tsp-books .bk-ln-bar i { display:block; height:100%; } #tsp-books .bk-ln-bar .p, #tsp-books .bk-ln-leg i.p { background:#1e2a44; } #tsp-books .bk-ln-bar .f, #tsp-books .bk-ln-leg i.f { background:#f59e0b; }
  #tsp-books .bk-ln-leg { display:flex; gap:14px; font-size:11.5px; color:#64748b; font-weight:600; white-space:nowrap; flex-wrap:wrap; } #tsp-books .bk-ln-leg i { display:inline-block; width:8px; height:8px; border-radius:2px; margin-right:4px; }
  #tsp-books .bk-ln-g { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:8px; margin-top:10px; } #tsp-books .bk-ln-g > div { background:#f8fafc; border-radius:10px; padding:8px 10px; min-width:0; }
  #tsp-books .bk-ln-g small { display:block; font-size:10px; font-weight:800; letter-spacing:.06em; color:#64748b; text-transform:uppercase; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } #tsp-books .bk-ln-g b { font-size:14px; white-space:nowrap; font-variant-numeric:tabular-nums; }
  #tsp-books .bk-ln-due { display:flex; align-items:center; gap:10px; margin-top:10px; padding:9px 12px; border-radius:10px; background:#ecfdf5; color:#065f46; font-size:12.5px; font-weight:600; white-space:nowrap; min-width:0; } #tsp-books .bk-ln-due > span:first-child { overflow:hidden; text-overflow:ellipsis; min-width:0; } #tsp-books .bk-ln-due.wa { background:#fff7ed; color:#9a3412; }
  #tsp-books .bk-ln-days { display:flex; align-items:center; gap:6px; margin-top:10px; flex-wrap:wrap; } #tsp-books .bk-ln-days .k { font-size:10px; font-weight:800; letter-spacing:.06em; color:#64748b; text-transform:uppercase; margin-right:2px; }
  #tsp-books .bk-ln-days .c { display:inline-flex; align-items:baseline; gap:5px; border:1px solid #e9edf2; border-radius:8px; padding:3px 8px; font-size:12.5px; font-weight:700; white-space:nowrap; font-variant-numeric:tabular-nums; } #tsp-books .bk-ln-days .c small { color:#64748b; font-weight:600; font-size:11px; }
  #tsp-books .bk-ln-more { border:0; background:none; color:#1d4ed8; font:inherit; font-size:12px; font-weight:700; cursor:pointer; padding:3px 4px; white-space:nowrap; }
  #tsp-books .bk-ln-due > b { white-space:nowrap; flex:none; }
  #tsp-books .bk-ln-note { margin-top:8px; font-size:12px; color:#9a3412; font-weight:600; }
  #tsp-books .bk-ln.sm { padding:10px 12px; margin-bottom:8px; } #tsp-books .bk-ln.sm .bk-ln-h b { font-size:13.5px; } #tsp-books .bk-ln.sm .bk-ln-h .v { font-size:15px; } #tsp-books .bk-ln.sm .bk-ln-bar { height:7px; margin:8px 0 5px; }
  #tsp-books .bk-ln-src { display:flex; align-items:center; gap:10px; margin:0 2px 10px; font-size:12.5px; color:#64748b; font-weight:600; white-space:nowrap; } #tsp-books .bk-ln-src > span { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; } #tsp-books .bk-ln-src b { color:#b45309; }
  #tsp-books .bk-ln-g.c2 { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  #tsp-books .bk-ln-min { display:flex; align-items:center; gap:8px; white-space:nowrap; } #tsp-books .bk-ln-min label { font-size:10.5px; font-weight:800; letter-spacing:.06em; color:#64748b; text-transform:uppercase; } #tsp-books .bk-ln-min .bk-in { width:120px; height:32px; }
  #tsp-books .bk-ln-ft { display:flex; justify-content:space-between; margin-top:10px; }
  #tsp-books .bk-ln-form { display:flex; flex-wrap:wrap; gap:10px; align-items:flex-end; margin-top:4px; padding:12px; border:1px dashed #cbd5e1; border-radius:12px; } #tsp-books .bk-ln-form .bk-in { height:34px; }
  @media (max-width: 720px) { #tsp-books .bk-ln-kpi { grid-template-columns:repeat(2, minmax(0, 1fr)); } #tsp-books .bk-ln-g { grid-template-columns:repeat(2, minmax(0, 1fr)); } #tsp-books .bk-ln-h { flex-wrap:wrap; } #tsp-books .bk-ln-due { white-space:normal; } #tsp-books .bk-ln-form .bk-fl, #tsp-books .bk-ln-form .bk-in { width:100% !important; } }
