.today-chips{align-items:center;gap:var(--space-1);min-height:var(--touch);padding:0 var(--space-1);cursor:pointer;background:0 0;border:0;display:inline-flex}.today-chip{border-radius:var(--radius-pill);min-width:26px;height:26px;font-size:var(--text-sm);color:#0b0b0b;justify-content:center;align-items:center;padding:0 7px;font-weight:700;display:inline-flex}.today-chip-critical{background:var(--critical);color:#fff}.today-chip-warning{background:var(--warning)}.today-chip-info,.today-chip-clear{background:var(--good);color:#fff}.today-dot{border-radius:50%;width:10px;height:10px;display:block}.today-dot-critical{background:var(--critical)}.today-dot-warning{background:var(--warning)}.today-dot-info{background:var(--good)}.today-clear{color:var(--text-2);margin:0}.today-money{column-gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto auto 16px;display:grid}.today-money-head,.today-money-row{grid-column:1/-1;grid-template-columns:subgrid;align-items:center;display:grid}.today-money-head{font-size:var(--text-xs);color:var(--text-2);padding-bottom:var(--space-1);font-weight:600}.today-money-head span:nth-child(2),.today-money-head span:nth-child(3),.today-money-row>.num{text-align:right}.today-money-head span:first-child{font-size:var(--text-sm)}.today-money-row{min-height:var(--touch);padding:var(--space-1) 0;border-top:1px solid var(--border);color:inherit;font-size:var(--text-md);text-decoration:none}.today-money-row>.num{font-weight:600}.today-money-name{min-width:0;display:grid}.today-money-name small{font-size:var(--text-xs);color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.today-money-chevron{width:16px;height:16px;color:var(--text-3)}.today-neg{color:var(--critical-text)}.today-bills{border-top:1px solid var(--border)}.today-bills summary{min-height:var(--touch);line-height:var(--touch);cursor:pointer;font-size:var(--text-sm);color:var(--text-2);font-weight:600}.today-shortcuts{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.today-shortcuts a{min-height:52px;padding:0 var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);color:inherit;text-align:center;justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:flex}.today-check-q{margin:0 0 var(--space-2)}.today-check-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.today-check-actions .ui-button{min-height:40px}.today-check-error{margin:var(--space-2) 0 0;color:var(--critical-text);font-size:var(--text-sm)}.today-checks{margin:0;padding:0;list-style:none}.today-check-label{color:var(--text-2);font-weight:600}.shell{min-height:100dvh;padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom))}.screen{padding:var(--space-4);max-width:720px;margin:0 auto}.screen>*+*{margin-top:var(--space-3)}.section-title{font-size:var(--text-sm);color:var(--text-2);margin:var(--space-5) 0 var(--space-2);font-weight:600}.placeholder-note{color:var(--text-3);font-size:var(--text-sm)}.offline-banner{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--surface-2);color:var(--text-2);font-size:var(--text-sm);display:flex}.state-loading{color:var(--text-3);padding:var(--space-4);margin:0}.login{min-height:100dvh;padding:var(--space-4);place-items:center;display:grid}.login form{gap:var(--space-3);flex-direction:column;width:100%;max-width:340px;display:flex}.login h1{font-size:var(--text-xl)}.login input{min-height:var(--touch);padding:0 var(--space-3);border-radius:var(--radius-m);border:1px solid var(--border);background:var(--surface)}.login-error{color:var(--critical-text);font-size:var(--text-sm);margin:0}.ask-context{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--text-3)}.ask-log{margin:0 0 var(--space-3);max-height:50dvh;padding:0;list-style:none;overflow-y:auto}.ask-log li+li{margin-top:var(--space-3)}.ask-q{margin:0;font-weight:600}.ask-a{margin:var(--space-1) 0 0;white-space:pre-wrap;color:var(--text-2)}.ask-a.is-error{color:var(--critical-text)}.ask-form textarea{width:100%;padding:var(--space-3);border-radius:var(--radius-m);border:1px solid var(--border);background:var(--surface-2);resize:vertical}.ask-actions{margin-top:var(--space-2);justify-content:space-between;display:flex}
