/* Category ledger: compact editorial hierarchy, scoped away from other workspaces. */
.cl-ledger{--cl-ink:var(--cs-ink);--cl-muted:var(--cs-muted);min-width:0;color:var(--cl-ink)}
.cl-ledger *{box-sizing:border-box}.cl-ledger button,.cl-ledger input{font-family:'DM Sans',sans-serif}
.cl-ledger button{cursor:pointer;-webkit-tap-highlight-color:transparent}.cl-ledger button:disabled{cursor:wait;opacity:.55}
.cl-ledger button:focus-visible,.cl-ledger input:focus-visible{outline:2px solid var(--cl-accent);outline-offset:3px}
.cl-page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 22px 20px;flex-wrap:wrap}.cl-page-head h1{font:500 30px/1.2 Fraunces,serif;letter-spacing:-.04em;margin:0}.cl-period{margin-left:auto}.cl-period>div>button{min-height:40px!important;padding:8px 10px!important;font-size:11px!important;border-radius:12px!important}
.cl-category{margin:0 22px 16px;padding:15px 16px 14px;border:1px solid var(--cs-line);border-top:3px solid var(--cl-category);border-radius:17px;background:var(--cs-paper);min-width:0;container-type:inline-size}
.cl-category-head{display:flex;align-items:center;gap:10px}.cl-category-name{min-width:0;flex:1}.cl-category-name>span{font:500 9px/1.5 'DM Sans',sans-serif;color:var(--cl-muted);text-transform:none;letter-spacing:.04em}
.cl-category-name h2{font:500 22px/1.25 Fraunces,serif;margin:0;letter-spacing:-.03em;overflow-wrap:anywhere}
.cl-clear{flex:none;align-self:flex-start;min-height:36px;padding:0 0 0 8px;border:0;background:none;color:var(--cl-muted);font-size:11px!important}
.cl-category-total>div{border:0!important;margin-top:12px!important;padding-top:0!important;display:flex!important;flex-direction:column!important;gap:4px;align-items:flex-start!important}
.cl-category-total>div>span:first-child,.cl-category-total>div>div>span:first-child{color:var(--cl-muted)!important;font:400 10px/1.5 'DM Sans',sans-serif!important;letter-spacing:.03em!important}
.cl-category-total>div>span:last-child,.cl-category-total>div>div>span:last-child{color:var(--cl-ink)!important;font:500 clamp(23px,9cqw,31px)/1.3 Fraunces,serif!important;letter-spacing:-.035em!important;overflow-wrap:anywhere;max-width:100%}
.cl-category-total>div>div{width:100%;gap:10px;flex-wrap:wrap}
.cl-category-budget{margin-top:13px;font:400 10px/1.4 'DM Sans',sans-serif;color:var(--cl-muted)}.cl-category-budget>div{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.cl-category-budget strong{font-weight:500;color:var(--cl-ink)}
.cl-budget-track{display:block;height:4px;background:var(--cs-line);border-radius:4px;overflow:hidden;margin-top:8px}.cl-budget-track>span{display:block;height:100%;background:var(--cl-category);border-radius:4px}
.cl-share{margin-top:14px;border-top:1px solid var(--cs-line);padding-top:12px}.cl-share-actions{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:8px}
.cl-share-actions button{display:flex;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:42px;border:1px solid var(--cs-line);border-radius:10px;background:transparent;color:var(--cl-ink);padding:8px 5px;font-size:12px;font-weight:600;transition:background .15s,transform .15s}
.cl-share-actions .cl-share-primary{background:var(--cl-accent);color:var(--cl-on-accent);border-color:var(--cl-accent)}.cl-share-actions button:active{transform:scale(.97)}.cl-share-message{margin:10px 0 0;font:400 11px/1.5 'DM Sans',sans-serif;color:var(--cl-muted);overflow-wrap:anywhere}
.cl-tools{margin:0 22px 10px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.cl-tools>.cl-search{grid-column:1}.cl-search input{min-height:44px;font-size:12px!important;border-radius:11px!important}
.cl-tools>div:not(.cl-search){display:contents}.cl-tools>div:not(.cl-search)>button{grid-column:2;height:44px!important;border-radius:11px!important;font-size:11px!important;padding:0 12px!important}
.cl-tools>div:not(.cl-search)>div{grid-column:1/-1;margin-top:0!important;min-width:0;background:var(--cs-paper)!important}
.cl-tools>div:not(.cl-search)>div button{min-height:36px}
.cl-date-tools{margin:0 22px 12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.cl-date-tools>label{flex:1 1 100%!important;min-width:0;min-height:42px;border-radius:11px!important;padding:8px 10px!important;font-size:10px!important;gap:6px!important}
.cl-date-tools input{min-width:0;width:0;font-size:12px!important;min-height:24px}.cl-date-tools>button{min-height:36px}.cl-date-tools .cl-bulk{margin-left:auto;border:0;background:none;padding:2px 0;color:var(--cl-accent-ink);font-size:11px;font-weight:600}
.cl-chips{gap:7px!important;padding-bottom:14px!important}.cl-chips>button{min-height:38px;font:500 11px/1.3 'DM Sans',sans-serif!important;letter-spacing:0!important;text-transform:none!important;padding:7px 11px!important}
.cl-chips>button[aria-pressed=true]{border-color:var(--cl-accent)!important;background:color-mix(in srgb,var(--cl-accent) 15%,var(--cs-paper))!important;color:var(--cl-accent-ink)!important}
/* A pocket-calendar date tab above each sheet of transactions. Decorations
   stay inside the date column, away from totals and swipe hit targets. */
.cl-day-head{display:grid;grid-template-columns:minmax(132px,1fr) minmax(0,1fr);align-items:center;gap:12px;margin:6px 22px 0;padding:17px 14px 15px;border:1px solid #d9d0e7;border-bottom:1px dashed #c2b3d3;border-radius:15px 15px 0 0;background:#e8e2f0;background-image:linear-gradient(115deg,rgba(255,255,255,.48),transparent 65%);color:#29232f}
.cl-day-date{display:flex;align-items:center;gap:12px;min-width:0}
.cl-day-stamp{position:relative;flex:none;display:flex;flex-direction:column;align-items:center;width:52px;padding-bottom:6px;border:1px solid #b9a7cc;border-radius:5px;background:#fffcf7;box-shadow:2px 3px 0 #d6c9e1;transform:rotate(-3deg)}
.cl-day-stamp::before,.cl-day-stamp::after{content:'';position:absolute;top:-5px;width:3px;height:9px;border:1px solid #6e597f;border-radius:3px;background:#b5a2c6;box-shadow:0 1px 0 rgba(255,255,255,.6);z-index:1}.cl-day-stamp::before{left:10px}.cl-day-stamp::after{right:10px}
.cl-day-month{align-self:stretch;padding:6px 2px 4px;border-bottom:1px solid #b9a7cc;border-radius:4px 4px 0 0;background:#d7c7eb;color:#49345d;text-align:center;font:700 8px/1.2 'DM Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase}
.cl-day-stamp>strong{padding-top:5px;font:500 30px/1 Fraunces,serif;letter-spacing:-.055em;color:#392845;font-variant-numeric:lining-nums}
.cl-day-meta{display:flex;flex-direction:column;align-items:flex-start;min-width:0;position:relative;padding-bottom:10px}
.cl-day-weekday{font:600 clamp(19px,5.6vw,25px)/1.05 Caveat,cursive;color:#4e3664;overflow-wrap:anywhere}
.cl-day-year{margin-top:4px;font:500 9px/1.3 'Geist Mono',monospace;letter-spacing:.13em;color:#786985}
.cl-day-stroke{position:absolute;bottom:0;left:-2px;width:58px;max-width:100%;height:7px;fill:none;stroke:#ad8bcf;stroke-width:1.2;stroke-linecap:round;opacity:.8}
.cl-day-totals{min-width:0;text-align:right;display:flex;align-items:flex-end;flex-direction:column;gap:6px}.cl-day-totals strong{font:500 clamp(16px,4.5vw,19px)/1.2 Fraunces,serif;letter-spacing:-.025em;overflow-wrap:anywhere;max-width:100%}.cl-day-totals strong[style]{color:#536038!important}.cl-day-totals small{font:500 9px/1.3 'DM Sans',sans-serif;color:#62596f;background:rgba(255,255,255,.42);border:1px solid rgba(143,119,164,.18);border-radius:20px;padding:4px 7px;max-width:100%;overflow-wrap:anywhere}
.cl-day-head-long .cl-day-totals strong{font-size:14px}
.cl-day-rows{margin:0 22px!important;padding:0!important;border:1px solid var(--cs-line)!important;border-top:0!important;border-radius:0 0 15px 15px!important;background:var(--cs-paper)!important;overflow:hidden}
.cl-day-rows .cl-tx{padding:13px 12px!important;border-radius:0!important;gap:9px!important;grid-template-columns:32px minmax(0,1fr) minmax(0,auto)!important;min-height:74px;border-bottom:1px solid var(--cs-line)!important;background:transparent!important}
.cl-day-rows>.cl-swipe-row:last-child .cl-tx{border-bottom:0!important}
.cl-tx-copy>div:first-child{font-size:13px!important;font-weight:600!important}.cl-tx-copy>div:last-child span{font-size:9px!important;letter-spacing:0!important}
.cl-tx-money{padding-left:2px!important;max-width:160px}.cl-tx-money>span:first-child{font-size:16px!important;white-space:normal!important;overflow-wrap:anywhere;text-align:right}.cl-tx-money>span:last-child>span{font-size:10px!important}
@media(min-width:370px){.cl-date-tools>label{flex:1 1 170px!important}.cl-date-tools .cl-bulk{min-height:42px}.cl-tx-money{max-width:180px}.cl-date-tools>label>span{max-width:53px;line-height:1.25}}
@media(max-width:360px){.cl-category{margin-left:16px;margin-right:16px;padding:13px}.cl-tools,.cl-date-tools,.cl-day-head{margin-left:16px;margin-right:16px}.cl-day-rows{margin-left:16px!important;margin-right:16px!important}.cl-chips{padding-left:16px!important;padding-right:16px!important}.cl-share-actions{gap:6px}.cl-share-actions button{font-size:11px}.cl-tx-money{max-width:132px}.cl-tx-money>span:first-child{font-size:14px!important}}
@media(max-width:360px){.cl-day-stamp{width:48px}.cl-day-date{gap:9px}.cl-day-weekday{font-size:18px}.cl-day-head-long .cl-day-totals strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){.cl-share-actions button{transition:none}.cl-ledger .bs-anim-row{animation:none!important;opacity:1!important;transform:none!important}}
