:root{--bg: #f6f7f9;--surface: #ffffff;--surface-2: #eef1f5;--surface-3: #e3e7ed;--surface-4: #d6dbe3;--text: #1b1f24;--text-2: #5c6470;--text-3: #8a93a0;--line: #e4e8ee;--line-2: #cfd5de;--accent: #1b5fe8;--accent-2: #1550c9;--on-accent: #ffffff;--accent-soft: #e7eeff;--accent-soft-2: #d2e0ff;--on-accent-soft: #0f3fa8;--ok: #1e7f4a;--ok-soft: #e3f3ea;--warn: #a86500;--warn-soft: #fbefd6;--danger: #c62f26;--danger-soft: #fbe5e3;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 4px 16px rgba(16, 24, 40, .06);--shadow-2: 0 8px 32px rgba(16, 24, 40, .16);--fs-xs: 11px;--fs-sm: 12px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 26px;--fs-3xl: 34px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 24px;--pill: 999px;--font: "Google Sans", "Segoe UI", Roboto, "Helvetica Neue", Arial, system-ui, sans-serif;--nav-h: 60px;--top-h: 56px;--side-w: 240px;--rail-w: 76px;--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px);color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0f1216;--surface: #171b21;--surface-2: #1f252d;--surface-3: #283039;--surface-4: #323b46;--text: #e7eaee;--text-2: #a4acb8;--text-3: #7c8591;--line: #262d36;--line-2: #343d48;--accent: #8fb3ff;--accent-2: #a9c4ff;--on-accent: #0b2259;--accent-soft: #1b2a4a;--accent-soft-2: #22365f;--on-accent-soft: #c9d9ff;--ok: #7bd49c;--ok-soft: #16301f;--warn: #f0b35a;--warn-soft: #3a2a0e;--danger: #ff8a80;--danger-soft: #3b1c1a;--shadow: 0 1px 2px rgba(0,0,0,.4), 0 4px 16px rgba(0,0,0,.35);--shadow-2: 0 8px 32px rgba(0,0,0,.5)}}:root[data-theme=dark]{color-scheme:dark;--bg: #0f1216;--surface: #171b21;--surface-2: #1f252d;--surface-3: #283039;--surface-4: #323b46;--text: #e7eaee;--text-2: #a4acb8;--text-3: #7c8591;--line: #262d36;--line-2: #343d48;--accent: #8fb3ff;--accent-2: #a9c4ff;--on-accent: #0b2259;--accent-soft: #1b2a4a;--accent-soft-2: #22365f;--on-accent-soft: #c9d9ff;--ok: #7bd49c;--ok-soft: #16301f;--warn: #f0b35a;--warn-soft: #3a2a0e;--danger: #ff8a80;--danger-soft: #3b1c1a;--shadow: 0 1px 2px rgba(0,0,0,.4), 0 4px 16px rgba(0,0,0,.35);--shadow-2: 0 8px 32px rgba(0,0,0,.5)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:var(--fs-md)/1.45 var(--font);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0}button:disabled{cursor:default;opacity:.55}a{color:var(--accent);text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:var(--fs-xl);font-weight:600;letter-spacing:-.01em}h2{font-size:var(--fs-lg);font-weight:600}h3{font-size:var(--fs-md);font-weight:600}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.num{font-variant-numeric:tabular-nums}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.sm{font-size:var(--fs-sm)}.xs{font-size:var(--fs-xs)}.row{display:flex;align-items:center;gap:8px}.col{display:flex;flex-direction:column;gap:8px}.grow{flex:1;min-width:0}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.center{justify-content:center}.ellip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card{background:var(--surface);border-radius:var(--r-lg);padding:16px;box-shadow:var(--shadow)}.tonal{background:var(--surface-2);border-radius:var(--r-md)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.danger{color:var(--danger)}.ok{color:var(--ok)}.warn{color:var(--warn)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}:root{--mix-light: 0%}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--mix-light: 32%}}:root[data-theme=dark]{--mix-light: 32%}.shell{min-height:100%;display:flex}.side{display:none}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:15;height:calc(var(--top-h) + var(--sat));padding:var(--sat) 8px 0 8px;display:flex;align-items:center;gap:4px;background:var(--bg)}.topbar h1{flex:1;min-width:0;font-size:var(--fs-xl);padding-left:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{flex:1;padding:0 16px calc(var(--nav-h) + 24px + var(--sab));max-width:1200px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:16px}.bottom-nav{position:fixed;left:0;right:0;bottom:0;height:calc(var(--nav-h) + var(--sab));padding-bottom:var(--sab);background:var(--surface);border-top:1px solid var(--line);display:flex;z-index:25}.bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--text-2);font-size:var(--fs-xs);font-weight:500;min-height:48px}.bottom-nav a .pill-ico{display:flex;align-items:center;justify-content:center;width:56px;height:30px;border-radius:var(--pill);transition:background .15s}.bottom-nav a.on{color:var(--text)}.bottom-nav a.on .pill-ico{background:var(--accent-soft);color:var(--on-accent-soft)}.page-title{display:none}.section{display:flex;flex-direction:column;gap:8px}.section-h{display:flex;align-items:center;gap:8px;min-height:36px}.section-h h2{flex:1}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.two-col{display:grid;grid-template-columns:1fr;gap:16px}.desktop-only{display:none!important}@media (min-width: 720px){.shell{padding-left:var(--rail-w)}.side{display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;width:var(--rail-w);background:var(--surface);border-right:1px solid var(--line);padding:12px 8px;gap:4px;z-index:30}.side .brand{display:flex;align-items:center;gap:10px;padding:8px 10px 16px;font-weight:600;font-size:var(--fs-lg)}.side .brand span{display:none}.side a.nav{display:flex;align-items:center;gap:12px;min-height:48px;border-radius:var(--r-md);color:var(--text-2);font-weight:500;padding:0;justify-content:center;flex-direction:column;font-size:var(--fs-xs);gap:2px}.side a.nav .pill-ico{display:flex;align-items:center;justify-content:center;width:56px;height:30px;border-radius:var(--pill)}.side a.nav.on{color:var(--text)}.side a.nav.on .pill-ico{background:var(--accent-soft);color:var(--on-accent-soft)}.side .spacer{flex:1}.side .wb,.side .user .grow{display:none}.side .user{display:flex;align-items:center;justify-content:center;padding:8px 0}.bottom-nav,.fab,.topbar{display:none}.page-title{display:flex;align-items:center;gap:12px;min-height:64px;padding-top:8px}.page-title h1{flex:1;font-size:var(--fs-2xl)}.content{padding:0 24px 32px;gap:20px}.mobile-only{display:none!important}.desktop-only{display:flex!important}.two-col{grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr)}}@media (min-width: 1024px){.shell{padding-left:var(--side-w)}.side{width:var(--side-w);padding:16px 12px}.side .brand span{display:inline}.side a.nav{flex-direction:row;justify-content:flex-start;padding:0 12px;font-size:var(--fs-md);gap:12px}.side a.nav .pill-ico{width:auto;height:auto;background:none!important;color:inherit!important}.side a.nav.on{background:var(--accent-soft);color:var(--on-accent-soft)}.side .wb{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-md);background:var(--surface-2);margin-bottom:8px;min-height:48px;text-align:left;width:100%}.side .wb .t{font-weight:600}.side .wb .s{font-size:var(--fs-sm);color:var(--text-2)}.side .user{justify-content:flex-start;gap:10px;padding:8px 12px;border-radius:var(--r-md);width:100%;text-align:left}.side .user:hover{background:var(--surface-2)}.side .user .grow{display:block;min-width:0}.content{padding:0 32px 40px}}.signin{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px 16px calc(24px + var(--sab))}.signin .box{width:min(440px,100%);display:flex;flex-direction:column;gap:16px}.signin .logo{width:64px;height:64px;border-radius:18px}.mode-chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--pill);font-size:var(--fs-xs);font-weight:600}.mode-chip.mock{background:var(--warn-soft);color:var(--warn)}.mode-chip.live{background:var(--ok-soft);color:var(--ok)}.sync-dot{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--text-3)}.book-h{flex:1;min-width:0;display:flex;font-size:inherit}.book-chip{display:flex;align-items:center;gap:8px;min-height:44px;max-width:100%;padding:2px 6px 2px 4px;border-radius:var(--r-md);color:inherit;text-align:left;min-width:0;transition:background .15s}.book-chip:hover{background:var(--surface-2)}.book-chip .bc{display:flex;flex-direction:column;min-width:0}.book-chip .t{display:flex;align-items:center;gap:2px;min-width:0;font-size:var(--fs-xl);font-weight:600;line-height:1.2}.book-chip .t svg{color:var(--text-3)}.book-chip .s{font-size:var(--fs-xs);color:var(--text-2);line-height:1.2}.book-chip.chip{min-height:36px;padding:0 10px 0 6px;border-radius:var(--pill);background:var(--surface-2);gap:6px}.book-chip.chip .cat-dot.sm{width:24px;height:24px;border-radius:8px}.book-chip.chip .cat-dot svg{width:14px;height:14px}.book-chip.chip .t{font-size:var(--fs-md);font-weight:500}.topbar .book-chip{flex:1}.topbar .book-chip .t{font-size:var(--fs-lg)}.book-tag{display:inline-flex;align-items:center;gap:4px;min-width:0;max-width:100%;color:var(--text-2);font-size:var(--fs-xs);font-weight:500}.list-row.on{background:var(--accent-soft)}.list-row.on .main .t{color:var(--on-accent-soft);font-weight:600}.side .books{display:none}.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.book-card{position:relative;display:flex;align-items:center;gap:12px;min-height:76px;padding:12px 8px 12px 14px;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow);cursor:pointer;color:inherit;transition:background .15s}.book-card:hover,.book-card:focus-visible{background:var(--surface-2)}.book-card .main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.book-card .nm{display:flex;align-items:center;gap:6px;font-weight:600;min-width:0}.book-card .nm>span{overflow-wrap:anywhere}.book-card .sub{font-size:var(--fs-sm);color:var(--text-2);overflow-wrap:anywhere}.book-card .tot{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.cat-dot.lg{width:48px;height:48px;border-radius:14px}.icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:4px}.icon-grid button{height:44px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;color:var(--text-2);transition:background .15s}.icon-grid button:hover{background:var(--surface-2)}.icon-grid button.on{background:var(--accent-soft);color:var(--on-accent-soft)}.swatches{display:flex;flex-wrap:wrap;gap:2px}.swatches button{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%}.swatches button span{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;transition:transform .15s}.swatches button.on span{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--text)}.swatches button:hover span{transform:scale(1.1)}@media (min-width: 720px){.side{overflow-y:auto}}@media (min-width: 1024px){.side .books{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.side .books .bh{display:flex;align-items:center;justify-content:space-between;padding:0 0 0 12px;min-height:36px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}.side .books .bk{display:flex;align-items:center;gap:10px;min-height:36px;padding:0 12px;border-radius:var(--r-md);color:var(--text-2);font-size:var(--fs-sm);font-weight:500;width:100%;text-align:left;transition:background .15s}.side .books .bk:hover{background:var(--surface-2)}.side .books .bk.on{background:var(--accent-soft);color:var(--on-accent-soft);font-weight:600}.side .books .bk .amt{font-variant-numeric:tabular-nums;color:var(--text-3);font-size:var(--fs-xs);white-space:nowrap}.side .books .bk.on .amt{color:inherit}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:var(--pill);font-weight:600;font-size:var(--fs-md);white-space:nowrap;transition:background .15s,transform .05s}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-2)}.btn-tonal{background:var(--accent-soft);color:var(--on-accent-soft)}.btn-tonal:hover:not(:disabled){background:var(--accent-soft-2)}.btn-plain{background:transparent;color:var(--accent);padding:0 12px}.btn-plain:hover:not(:disabled){background:var(--surface-2)}.btn-neutral{background:var(--surface-2);color:var(--text)}.btn-neutral:hover:not(:disabled){background:var(--surface-3)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-sm{min-height:36px;padding:0 14px;font-size:var(--fs-sm)}.btn-block{width:100%}.ibtn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:var(--text-2);transition:background .15s,color .15s;position:relative;flex:none}.ibtn:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.ibtn.danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.ibtn.accent{color:var(--accent)}.ibtn.filled{background:var(--accent);color:var(--on-accent)}.ibtn.filled:hover:not(:disabled){background:var(--accent-2);color:var(--on-accent)}.ibtn.sm{width:36px;height:36px}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field>span.lbl{font-size:var(--fs-sm);color:var(--text-2);font-weight:500;padding-left:4px}.input{display:flex;align-items:center;gap:8px;min-height:48px;padding:0 14px;border-radius:var(--r-md);background:var(--surface-2);border:2px solid transparent;transition:border-color .15s,background .15s}.input:focus-within{border-color:var(--accent);background:var(--surface)}.input.err{border-color:var(--danger)}.input input,.input select,.input textarea{flex:1;min-width:0;border:0;background:transparent;outline:0;padding:0;font-size:var(--fs-lg)}.input textarea{padding:12px 0;resize:none;line-height:1.4;font-size:var(--fs-md)}.input select{appearance:none;-webkit-appearance:none}.input .adorn{color:var(--text-2);font-size:var(--fs-md);flex:none}.input.big input{font-size:var(--fs-3xl);font-weight:600;letter-spacing:-.02em;min-height:64px}.help{font-size:var(--fs-sm);color:var(--text-3);padding-left:4px}.help.err{color:var(--danger)}.chip{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:var(--pill);background:var(--surface-2);color:var(--text);font-size:var(--fs-md);font-weight:500;white-space:nowrap;transition:background .15s;border:2px solid transparent}.chip:hover:not(:disabled){background:var(--surface-3)}.chip.on{background:var(--accent-soft);color:var(--on-accent-soft);font-weight:600}.chip.sm{height:30px;padding:0 10px;font-size:var(--fs-sm)}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips.scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:2px 16px}.chips.scroll::-webkit-scrollbar{display:none}.seg{display:inline-flex;background:var(--surface-2);border-radius:var(--pill);padding:3px;gap:2px;max-width:100%;overflow-x:auto;scrollbar-width:none}.seg button{height:34px;padding:0 14px;border-radius:var(--pill);font-size:var(--fs-md);font-weight:500;color:var(--text-2);white-space:nowrap}.seg button[aria-selected=true]{background:var(--surface);color:var(--text);font-weight:600;box-shadow:var(--shadow)}.avatar{width:36px;height:36px;border-radius:50%;background:var(--accent-soft);color:var(--on-accent-soft);display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--fs-sm);flex:none;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.lg{width:56px;height:56px;font-size:var(--fs-lg)}.avatar.sm{width:28px;height:28px;font-size:var(--fs-xs)}.cat-dot{width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;flex:none;color:#fff}.cat-dot.sm{width:32px;height:32px;border-radius:10px}.list{display:flex;flex-direction:column}.list-row{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 12px;border-radius:var(--r-md);text-align:left;width:100%;color:inherit}.list-row:hover{background:var(--surface-2)}.list-row .main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.list-row .main .t{font-weight:500}.list-row .main .s{color:var(--text-2);font-size:var(--fs-sm)}.list-row .amt{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.tbl{width:100%;border-collapse:collapse;font-size:var(--fs-md)}.tbl th{text-align:left;font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap;position:sticky;top:0;background:var(--surface);z-index:1}.tbl th button{color:inherit;font:inherit;display:inline-flex;align-items:center;gap:2px;letter-spacing:inherit;text-transform:inherit}.tbl td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.tbl tr.clickable{cursor:pointer}.tbl tr.clickable:hover td{background:var(--surface-2)}.tbl td.num,.tbl th.num{text-align:right;font-variant-numeric:tabular-nums}.tbl-wrap{overflow-x:auto}.sheet-backdrop{position:fixed;inset:0;background:#0a0e1473;z-index:40;display:flex;align-items:flex-end;justify-content:center;animation:fade .15s}.sheet{background:var(--surface);width:100%;max-height:calc(100% - 24px - var(--sat));overflow:auto;border-radius:var(--r-xl) var(--r-xl) 0 0;padding:8px 16px calc(16px + var(--sab));animation:up .2s}.sheet .grab{width:36px;height:4px;border-radius:2px;background:var(--line-2);margin:4px auto 12px}.sheet-head{display:flex;align-items:center;gap:8px;min-height:44px;margin-bottom:8px}.sheet-head h2{flex:1}@media (min-width: 720px){.sheet-backdrop{align-items:center;padding:24px}.sheet{width:min(560px,100%);border-radius:var(--r-xl);max-height:calc(100% - 48px);padding:16px 24px 24px;box-shadow:var(--shadow-2);animation:pop .15s}.sheet .grab{display:none}.sheet.wide{width:min(880px,100%)}}.popover-card{background:var(--surface);border-radius:var(--r-lg);padding:20px;width:min(360px,calc(100% - 32px));box-shadow:var(--shadow-2);animation:pop .15s}.toast-wrap{position:fixed;left:0;right:0;bottom:calc(var(--nav-h) + 12px + var(--sab));display:flex;justify-content:center;z-index:60;pointer-events:none;padding:0 16px}.toast{pointer-events:auto;display:flex;align-items:center;gap:12px;background:var(--text);color:var(--bg);border-radius:var(--r-md);padding:10px 12px 10px 16px;box-shadow:var(--shadow-2);max-width:520px;width:100%;font-size:var(--fs-md);animation:up .2s}.toast .act{color:var(--accent);font-weight:600;padding:6px 10px;border-radius:8px}:root[data-theme=dark] .toast .act,.toast .act{color:#8fb3ff}.toast.err{background:var(--danger);color:#fff}.toast.err .act{color:#fff}@media (min-width: 720px){.toast-wrap{bottom:24px;justify-content:flex-start;padding-left:calc(var(--side-w) + 24px)}}.skel{background:linear-gradient(90deg,var(--surface-2),var(--surface-3),var(--surface-2));background-size:200% 100%;animation:shimmer 1.2s infinite;border-radius:8px}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:40px 16px;color:var(--text-2)}.empty .ico{width:64px;height:64px;border-radius:20px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--text-3);margin-bottom:4px}.empty h3{color:var(--text)}.spin{width:22px;height:22px;border:3px solid var(--surface-3);border-top-color:var(--accent);border-radius:50%;animation:rot .8s linear infinite;flex:none}.menu{position:absolute;right:0;top:100%;background:var(--surface);border-radius:var(--r-md);box-shadow:var(--shadow-2);padding:6px;min-width:200px;z-index:30;display:flex;flex-direction:column;animation:pop .12s}.menu button{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:8px;text-align:left;width:100%}.menu button:hover{background:var(--surface-2)}.menu button.danger{color:var(--danger)}.tooltip{position:relative}.tooltip[data-tip]:hover:after,.tooltip[data-tip]:focus-visible:after{content:attr(data-tip);position:absolute;left:50%;top:calc(100% + 6px);transform:translate(-50%);background:var(--text);color:var(--bg);font-size:var(--fs-xs);padding:4px 8px;border-radius:6px;white-space:nowrap;z-index:50;pointer-events:none}.stat{background:var(--surface);border-radius:var(--r-lg);padding:14px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:2px;min-width:0}.stat .k{font-size:var(--fs-sm);color:var(--text-2)}.stat .v{font-size:var(--fs-2xl);font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.15}.stat .d{font-size:var(--fs-sm);display:flex;align-items:center;gap:4px}.delta-up{color:var(--danger)}.delta-down{color:var(--ok)}.delta-flat{color:var(--text-3)}.banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--r-md);font-size:var(--fs-sm)}.banner.warn{background:var(--warn-soft);color:var(--warn)}.banner.err{background:var(--danger-soft);color:var(--danger)}.banner.info{background:var(--accent-soft);color:var(--on-accent-soft)}.banner.ok{background:var(--ok-soft);color:var(--ok)}.fab{position:fixed;right:16px;bottom:calc(var(--nav-h) + 16px + var(--sab));width:56px;height:56px;border-radius:18px;background:var(--accent);color:var(--on-accent);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-2);z-index:20}@media (min-width: 720px){.fab{display:none}}@keyframes fade{0%{opacity:0}}@keyframes up{0%{transform:translateY(24px);opacity:.6}}@keyframes pop{0%{transform:scale(.97);opacity:0}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes rot{to{transform:rotate(360deg)}}.dash{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.dash>*{min-width:0}.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tiles .hero{grid-column:1 / -1}.stat.hero .v{font-size:var(--fs-3xl)}.stat .d .ellip{display:block}.card>.section-h{margin-top:-6px}.card>.section-h h2{font-size:var(--fs-lg)}.who{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px}.who::-webkit-scrollbar{display:none}.who-chip{display:flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;border-radius:var(--pill);background:var(--surface-2);min-height:48px;flex:none;text-align:left;color:inherit;transition:background .15s}.who-chip:hover{background:var(--surface-3)}.who-chip .n{font-size:var(--fs-sm);color:var(--text-2);display:block;white-space:nowrap}.who-chip .m{font-weight:600;font-variant-numeric:tabular-nums;display:block;white-space:nowrap}.day-h{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 12px 4px;font-size:var(--fs-sm);color:var(--text-2);font-weight:600}.day-h .num{font-weight:500}.list-row.gone .t{text-decoration:line-through;color:var(--text-3)}.tbl-card{padding:0 8px 8px}.tbl .nm{display:flex;align-items:center;gap:8px;white-space:nowrap}.tbl td.note-cell{max-width:260px}.tbl .note{display:block;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tbl .act{display:flex;justify-content:flex-end}.dash .tbl td.note-cell{max-width:0;width:100%}.dash .tbl .note{max-width:none}.tbl th[aria-sort] button{cursor:pointer}.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.filters .input{min-height:44px}.filters .search{flex:1 1 220px}.filters .sel{flex:0 1 190px}.filters .date{flex:0 1 170px}.lbl{font-size:var(--fs-sm);color:var(--text-2);font-weight:500;padding-left:4px}.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px}.cat-chip{display:flex;align-items:center;gap:8px;min-height:48px;padding:4px 10px 4px 6px;border-radius:var(--r-md);background:var(--surface-2);color:var(--text);font-size:var(--fs-md);font-weight:500;text-align:left;transition:background .15s}.cat-chip:hover{background:var(--surface-3)}.cat-chip.on{background:var(--accent-soft);color:var(--on-accent-soft);font-weight:600}.cat-chip .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip.pay{padding-left:4px;height:40px}.rcpt-thumb{width:56px;height:56px;border-radius:var(--r-sm);background:var(--surface-2);flex:none;display:inline-flex;align-items:center;justify-content:center;color:var(--text-3);overflow:hidden}.rcpt-thumb img{width:100%;height:100%;object-fit:cover}.rcpt-full{display:block;width:100%;max-height:60vh;object-fit:contain;border-radius:var(--r-md);background:var(--surface-2)}.rcpt-row{display:flex;align-items:center;gap:8px;min-height:48px}.amt-xl{font-size:var(--fs-3xl);font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1}.kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 16px;align-items:center}.kv .k{font-size:var(--fs-sm);color:var(--text-2)}.conflict{background:var(--surface);border-radius:var(--r-lg);padding:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}.conflict table{border-collapse:collapse;font-size:var(--fs-md);width:100%}.conflict th{text-align:left;font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);padding:0 8px 6px 0}.conflict td{padding:4px 8px 4px 0;vertical-align:top}.sticky-foot{position:sticky;bottom:calc(-16px - var(--sab));background:var(--surface);padding:12px 0 0}.profile{width:min(560px,100%);margin:0 auto;display:flex;flex-direction:column;gap:16px}.profile .head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:24px 16px}.profile .head h2{font-size:var(--fs-xl);margin-top:4px}.more-list{padding:4px}.more-list .list-row{min-height:60px}@media (min-width: 720px){.dash{grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}.dash>*{grid-column:1 / -1}.tiles{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.tiles .hero{grid-column:auto}.stat.hero .v{font-size:var(--fs-2xl)}.who{flex-wrap:wrap;overflow:visible;margin:0;padding:0}.sticky-foot{bottom:-24px}}@media (min-width: 960px){.dash .w7{grid-column:span 7}.dash .w5{grid-column:span 5}}.dot-wrap{position:relative;display:inline-flex;flex:none}.in-badge{position:absolute;right:-3px;bottom:-3px;width:16px;height:16px;border-radius:50%;background:var(--ok);color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--surface)}.kind-ico{display:inline-flex;width:22px;height:22px;border-radius:50%;align-items:center;justify-content:center;background:var(--surface-2);color:var(--text-2)}.kind-ico.in{background:var(--ok-soft);color:var(--ok)}.mode-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 6px;border-radius:var(--pill);background:var(--surface-2);color:var(--text-2);font-size:var(--fs-sm);white-space:nowrap}.tbl td.party-cell,.tbl td.party-cell .note{max-width:180px}.tbl-cash th,.tbl-cash td{padding-left:8px;padding-right:8px}.tbl-cash td.note-cell,.tbl-cash td.note-cell .note{max-width:200px}.mode-ico{display:inline-flex;width:28px;height:28px;border-radius:50%;align-items:center;justify-content:center;background:var(--surface-2);color:var(--text-2)}.tbl th svg+svg{margin-left:-4px}.party-hints .chip{max-width:100%}.party-hints .chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.input.amt-in input{color:var(--ok)}.bal-strip{position:sticky;top:calc(var(--sat) + var(--top-h) + 8px);z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:10px 12px;gap:8px}.bal-strip .c{display:flex;flex-direction:column;gap:1px;min-width:0}.bal-strip .c+.c{border-left:1px solid var(--line);padding-left:8px}.bal-strip .k{font-size:var(--fs-xs);color:var(--text-2);white-space:nowrap}.bal-strip .v{font-size:var(--fs-md);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bal-strip .c:last-child{text-align:right;align-items:flex-end}.tiles .flow{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tiles .flow .stat.hero{grid-column:auto}.tiles .flow .stat.bal{grid-column:1 / -1}.tiles .flow .stat{padding:10px 12px}.tiles .flow .stat .v{font-size:var(--fs-lg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tiles .flow .stat .d{flex-wrap:wrap;row-gap:0}.stat.in .v{color:var(--ok)}.stat.bal.neg .v,.book-card .tot.danger,.bk .amt.danger,.list-row .amt.danger{color:var(--danger)}.book-card .sub .ok,.list-row .s .ok{color:var(--ok)}@media (max-width: 359px){.tiles .flow .stat .v{font-size:var(--fs-md)}.bal-strip{grid-template-columns:1fr 1fr;padding:8px 10px}.bal-strip .c:last-child{grid-column:1 / -1;border-left:0;padding-left:0;text-align:left;align-items:flex-start;border-top:1px solid var(--line);padding-top:6px;flex-direction:row;justify-content:space-between;align-items:baseline}}@media (min-width: 720px){.bal-strip{position:static;padding:14px 16px;gap:16px}.bal-strip .c+.c{padding-left:16px}.bal-strip .k{font-size:var(--fs-sm)}.bal-strip .v{font-size:var(--fs-xl)}.tiles .flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.tiles .flow .stat.bal{grid-column:auto}.tiles .flow .stat{padding:14px 16px}.tiles .flow .stat .v{font-size:var(--fs-2xl)}}
