.dash-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.dash-actions{flex-wrap:wrap;gap:8px;display:flex}.dash-btn{cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:8px;align-items:center;gap:6px;padding:8px 13px;font-size:13px;font-weight:600;line-height:1.1;display:inline-flex}.dash-btn:hover{border-color:var(--sig)}.dash-btn--primary{background:var(--sig);border-color:var(--sig);color:var(--bg)}.dash-btn--primary:hover{filter:brightness(1.06)}.dash-btn svg{width:15px;height:15px}.dash-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:14px;margin-top:18px;display:grid}.dash-w{grid-column:span 1}.dash-w[data-size=M]{grid-column:span 2}.dash-w[data-size=L]{grid-column:span 3}@media (max-width:960px){.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-w[data-size=L]{grid-column:span 2}}@media (max-width:640px){.dash-grid{grid-template-columns:minmax(0,1fr)}.dash-w,.dash-w[data-size=M],.dash-w[data-size=L]{grid-column:span 1}}.dash-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-direction:column;min-height:150px;transition:box-shadow .15s,opacity .15s,outline-color .15s;display:flex;overflow:hidden}.dash-w.is-dragging .dash-card{opacity:.5;outline:2px dashed var(--sig);outline-offset:2px}.dash-w.is-drop-target .dash-card{box-shadow:-4px 0 0 0 var(--sig)}.dash-card-head{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px 10px 8px 6px;display:flex}.dash-grip{width:26px;height:26px;color:var(--faint);cursor:grab;touch-action:none;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;display:inline-flex}.dash-grip:hover,.dash-grip:focus-visible{color:var(--text);background:var(--bg)}.dash-grip:active{cursor:grabbing}.dash-title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:13.5px;font-weight:700;overflow:hidden}.dash-title svg{vertical-align:-3px;width:15px;height:15px;color:var(--sig);margin-right:6px;display:inline-block}.dash-kind{letter-spacing:.04em;text-transform:uppercase;color:var(--faint);flex:none;font-size:10.5px}.dash-ico-btn{color:var(--faint);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;padding:4px 6px;font-size:12px;line-height:1}.dash-ico-btn:hover,.dash-ico-btn:focus-visible{color:var(--text);background:var(--bg)}.dash-body{flex:auto;padding:12px 14px 14px;font-size:13px}.dash-foot{color:var(--faint);padding:0 14px 12px;font-size:11.5px}.dash-foot a{color:var(--dim)}.dash-rows{margin:0;padding:0;list-style:none}.dash-rows li{border-top:1px solid var(--line);align-items:baseline;gap:10px;padding:6px 0;display:flex}.dash-rows li:first-child{border-top:0;padding-top:0}.dash-rows .t{min-width:54px;font-weight:700}.dash-rows .grow{min-width:0;color:var(--dim);text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.dash-rows .num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.up{color:var(--sig)}.down{color:var(--red)}.dash-tick{gap:6px;margin-top:8px;display:flex}.dash-tick input{border:1px solid var(--line);background:var(--bg);min-width:0;color:var(--text);text-transform:uppercase;border-radius:7px;flex:auto;padding:7px 9px;font-size:13px}.dash-tick button{padding:7px 11px}.dash-add-tile{border:1.5px dashed var(--line);width:100%;min-height:150px;color:var(--dim);cursor:pointer;background:0 0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:13.5px;font-weight:600;display:flex}.dash-add-tile:hover,.dash-add-tile.is-drop-target{border-color:var(--sig);color:var(--text)}.dash-add-tile svg{width:22px;height:22px}.dash-skel{background:var(--line);opacity:.55;border-radius:4px;height:12px;margin:8px 0}.dash-cat-scrim{z-index:60;background:#00000040;position:fixed;inset:0}.dash-cat{z-index:61;background:var(--bg);border-left:1px solid var(--line);width:min(380px,100vw);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-12px 0 32px #0000001f}@media (min-width:900px){.dash-cat-scrim{pointer-events:none;background:0 0}}.dash-cat-head{border-bottom:1px solid var(--line);padding:14px 16px 10px}.dash-cat-head input{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);border-radius:8px;margin-top:10px;padding:9px 11px;font-size:13.5px}.dash-cat-body{flex:auto;padding:6px 10px 20px;overflow-y:auto}.dash-cat-group{letter-spacing:.05em;text-transform:uppercase;color:var(--faint);margin:14px 6px 6px;font-size:11px}.dash-cat-item{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:10px;padding:8px;display:flex}.dash-cat-item:hover{background:var(--surface)}.dash-cat-item svg.ico{width:18px;height:18px;color:var(--sig);flex:none}.dash-cat-item .txt{flex:auto;min-width:0}.dash-cat-item .lbl{font-size:13px;font-weight:600}.dash-cat-item .dsc{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.dash-cat-item .dash-btn{cursor:pointer;padding:5px 10px;font-size:12px}.dash-ghost{z-index:80;pointer-events:none;background:var(--sig);color:var(--bg);border-radius:8px;padding:8px 12px;font-size:13px;font-weight:700;position:fixed;transform:translate(-50%,-120%);box-shadow:0 8px 24px #0003}.dash-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
