/* Today (design handover v2, section 5.1). Uses the tokens in plain-ui-0.75.0.css. */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.today-v2{max-width:1380px}
.today-head{display:flex;align-items:flex-end;gap:16px;margin-bottom:18px}
.today-head>div:first-child{flex:1;min-width:0}
.today-head h1{margin:0;font-size:26px;font-weight:650;letter-spacing:-.022em;color:var(--ink)}
.today-head p{margin:4px 0 0;color:var(--muted);font-size:13.5px}
.today-range button{padding:5px 12px}

.today-figures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}
.today-figure{position:relative;overflow:hidden;padding:16px 18px 14px;display:flex;flex-direction:column;min-height:148px}
.today-figure-label{font-size:13px;font-weight:540;color:var(--muted)}
.today-figure-value{margin:8px 0 6px;font-size:28px;font-weight:650;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.today-figure-value.muted{color:var(--ink);font-size:24px}
.today-figure-delta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:20px;font-size:12.5px;color:var(--muted);max-width:calc(100% - 128px)}
.today-delta{display:inline-flex;align-items:center;gap:3px;border-radius:6px;padding:1px 6px;font-size:12px;font-weight:620;white-space:nowrap}
.today-delta.up{background:var(--good-tint);color:var(--good)}
.today-delta.dn{background:var(--bad-tint);color:var(--bad)}
.today-delta.nt{background:#EEF0F4;color:var(--muted)}
.today-delta.warn{background:var(--warn-tint);color:var(--warn)}
.today-spark{position:absolute;right:14px;top:46px;width:120px;height:36px}
.today-spark .line{fill:none;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.today-spark.accent .line{stroke:var(--accent)}.today-spark.accent .area{fill:rgba(47,91,255,.08)}
.today-spark.good .line{stroke:var(--good)}.today-spark.good .area{fill:rgba(11,122,83,.08)}
.today-figure-foot{margin-top:auto;padding-top:12px;display:flex;align-items:center;gap:10px;font-size:12px;color:var(--faint)}
.today-figure-foot span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.today-figure-foot .text-btn{margin-left:auto;white-space:nowrap;font-size:12.5px}

.today-grid{display:grid;gap:14px;margin-bottom:14px}
.today-grid-main{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr)}
.today-grid-three{grid-template-columns:minmax(0,1.1fr) minmax(0,1.2fr) minmax(0,1fr)}
.today-panel{padding:16px 18px 18px;min-width:0}
.today-panel-head{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}
.today-panel-head h2{margin:0;font-size:14px;font-weight:620;color:var(--ink);letter-spacing:0}
.today-panel-head small{font-size:12.5px;color:var(--faint)}
.today-panel-head .text-btn,.today-panel-head .today-legend{margin-left:auto}
.today-legend{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.today-legend i{width:8px;height:8px;border-radius:50%;display:inline-block}
.today-legend i.in{background:var(--accent)}.today-legend i.out{background:#9AA4B5;margin-left:8px}
.today-empty{margin:8px 0;color:var(--muted);font-size:13px}
div.today-empty{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.today-error{grid-column:1/-1;padding:14px 16px;border-radius:10px;background:var(--warn-tint);color:#6B4107}

.today-chart{position:relative}
.today-chart svg{display:block;width:100%;height:auto}
.today-chart .grid{stroke:var(--line);stroke-width:1}
.today-chart .axis{fill:var(--faint);font-size:12px}
.today-chart .in-area{fill:rgba(47,91,255,.10)}
.today-chart .in-line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round}
.today-chart .out-line{fill:none;stroke:#9AA4B5;stroke-width:1.6;stroke-dasharray:4 4}
.today-chart .dot{fill:#fff;stroke:var(--accent);stroke-width:1.6;pointer-events:none}
.today-chart .hit{fill:transparent;cursor:default}
.today-tip{position:absolute;top:4px;transform:translateX(-50%);padding:6px 10px;border-radius:8px;background:var(--ink);color:#fff;font-size:12px;font-weight:550;white-space:nowrap;pointer-events:none;box-shadow:var(--sh2)}

.today-attention .task-list{margin:0 -18px -18px}
.today-task{width:100%;display:flex;align-items:center;gap:12px;padding:12px 18px;border:0;border-top:1px solid #F0F2F6;background:transparent;text-align:left;cursor:pointer;color:var(--text);border-radius:0}
.today-task:hover{background:#FAFBFD}
.today-task b{display:block;font-size:13.5px;font-weight:600;color:var(--ink)}
.today-task small{display:block;margin-top:1px;font-size:12.5px;color:var(--muted)}
.today-task-go{margin-left:auto;white-space:nowrap;font-size:13px;font-weight:600;color:var(--accent-2)}
.today-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--warn)}
.today-dot.bad{background:var(--bad)}.today-dot.gray{background:#B7C0CE}

.today-debtors{margin:0 -18px -18px}
.today-debtor{width:100%;display:flex;align-items:center;gap:10px;padding:10px 18px;border:0;border-top:1px solid #F0F2F6;background:transparent;text-align:left;cursor:pointer}
.today-debtor:hover{background:#FAFBFD}
.today-avatar{width:28px;height:28px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--accent-tint);color:var(--accent-2);font-size:12px;font-weight:650}
.today-debtor-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;color:var(--ink)}
.today-debtor-amount{text-align:right;font-variant-numeric:tabular-nums}
.today-debtor-amount b{display:block;font-size:13.5px;color:var(--ink)}
.today-debtor-amount small{font-size:12px;color:var(--faint)}

.today-ageing-bar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:#EEF0F4;margin:4px 0 14px}
.today-ageing-bar span{min-width:3px}
.today-ageing-list{margin:0;display:grid;gap:6px}
.today-ageing-list div{display:flex;align-items:center;justify-content:space-between;font-size:13.5px}
.today-ageing-list dt{display:flex;align-items:center;gap:8px;color:var(--text)}
.today-ageing-list dd{margin:0;font-weight:620;color:var(--ink);font-variant-numeric:tabular-nums}
.today-ageing-list i{width:8px;height:8px;border-radius:50%}
.b0{background:#C7D3FF}.b1{background:#8EA6FF}.b2{background:#5B7DFF}.b3{background:#2F5BFF}.b4{background:#1E3AA8}

.today-books-body{display:flex;align-items:center;gap:16px}
.today-ring{--score:0;position:relative;flex:none;width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--good) calc(var(--score) * 1%),#EEF0F4 0)}
.today-ring::before{content:"";position:absolute;inset:9px;border-radius:50%;background:#fff}
.today-ring strong{position:relative;font-size:17px;font-weight:650;color:var(--ink)}
.today-checklist{flex:1;min-width:0;display:grid}
.today-checklist button{display:flex;align-items:center;gap:8px;padding:6px 0;border:0;background:transparent;text-align:left;cursor:pointer}
.today-checklist button span{flex:1;min-width:0}
.today-checklist b{display:block;font-size:13px;font-weight:600;color:var(--ink)}
.today-checklist small{display:block;font-size:12px;color:var(--muted)}
.today-checklist strong{font-size:12.5px;font-weight:620;color:var(--text);text-transform:capitalize;white-space:nowrap}
.today-books-summary{margin:10px 0 6px;font-size:12.5px;color:var(--muted)}

@media(max-width:1200px){
  .today-figures{grid-template-columns:repeat(2,minmax(0,1fr))}
  .today-grid-main,.today-grid-three{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:800px){
  .today-head{flex-direction:column;align-items:stretch}
  .today-range{justify-content:space-between}
  .today-figures{grid-template-columns:minmax(0,1fr)}
  .today-spark{display:none}
  .today-figure{min-height:0}
  .today-figure-delta{max-width:none}
}
.today-attention .task-list>.today-empty,.today-debtors>.today-empty{padding:0 18px 14px}
