.dashb{--g-primary:#3b82f6;--g-primary-600:#2563eb;--g-primary-700:#1d4ed8;--g-primary-50:#eff6ff;--g-primary-100:#dbeafe;--g-on-primary:#fff;--g-bg:#f9fafb;--g-surface:#fff;--g-surface-alt:#f3f4f6;--g-overlay:#11182773;--g-text:#1f2937;--g-heading:#111827;--g-muted:#6b7280;--g-faint:#9ca3af;--g-border:#e5e7eb;--g-border-strong:#d1d5db;--g-green:#22c55e;--g-green-bg:#dcfce7;--g-amber:#f59e0b;--g-amber-bg:#fef3c7;--g-red:#ef4444;--g-red-bg:#fee2e2;--g-violet:#8b5cf6;--c1:#3b82f6;--c2:#22c55e;--c3:#f59e0b;--c4:#8b5cf6;--c5:#ef4444;--c6:#06b6d4;--g-radius:8px;--g-radius-sm:6px;--g-radius-lg:12px;--g-shadow-card:0 1px 2px #1018280a, 0 1px 3px #1018280f;--g-shadow-pop:0 4px 6px -1px #1018281a, 0 2px 4px -2px #1018280f;--g-shadow-modal:0 20px 25px -5px #1018281f, 0 8px 10px -6px #1018281a;--g-gap:20px;--g-card-pad:18px;--ai-grad:linear-gradient(135deg, #7c3aed 0%, #3b82f6 100%);--primary-color:var(--g-primary);--primary-color-text:#fff;--focus-ring:0 0 0 3px #3b82f640;color:var(--g-text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.45}[data-mode=dark] .dashb{--g-primary:#3b82f6;--g-primary-600:#60a5fa;--g-primary-700:#93c5fd;--g-primary-50:#18233b;--g-primary-100:#1e2d4d;--g-bg:#0a0f1c;--g-surface:#0f1626;--g-surface-alt:#131c30;--g-overlay:#0009;--g-text:#e8ebf2;--g-heading:#f3f5f9;--g-muted:#8b93a4;--g-faint:#6b7382;--g-border:#1f2a40;--g-border-strong:#2a3650;--g-green-bg:#22c55e29;--g-amber-bg:#f59e0b29;--g-red-bg:#ef444429;--g-shadow-card:0 1px 2px #0006;--g-shadow-pop:0 8px 28px #0000008c;--g-shadow-modal:0 20px 25px -5px #0009}.dashb *{box-sizing:border-box}.dashb.page{padding:24px 28px 64px}.dashb .crumbs{color:var(--g-muted);margin-bottom:4px;font-size:13px}.dashb .crumbs a{color:var(--g-primary);text-decoration:none}.dashb .crumbs a:hover{text-decoration:underline}.dashb .page-head{align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.dashb .page-title{color:var(--g-heading);letter-spacing:-.02em;margin:0;font-size:26px;font-weight:700}.dashb .page-sub{color:var(--g-muted);margin-top:2px;font-size:13px}.dashb .page-head__actions{align-items:center;gap:10px;margin-left:auto;display:flex}.dashb .btn{border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:9px 15px;font-size:13.5px;font-weight:600;line-height:1;transition:background .12s,border-color .12s,box-shadow .12s;display:inline-flex}.dashb .btn .pi{font-size:14px}.dashb .btn-primary{background:var(--g-primary);color:#fff}.dashb .btn-primary:hover{background:var(--g-primary-600)}.dashb .btn-outline{background:var(--g-surface);color:var(--g-text);border-color:var(--g-border-strong)}.dashb .btn-outline:hover{background:var(--g-surface-alt);border-color:var(--g-border-strong)}.dashb .btn-text{color:var(--g-primary);background:0 0;border:none;padding:8px 10px}.dashb .btn-text:hover{background:var(--g-primary-50)}.dashb .btn-danger{background:var(--g-red);color:#fff}.dashb .btn-danger:hover{background:#dc2626}.dashb .btn-ghost{color:var(--g-muted);border-color:var(--g-border);background:0 0}.dashb .btn-ghost:hover{background:var(--g-surface-alt);color:var(--g-text)}.dashb .btn-sm{padding:6px 10px;font-size:12.5px}.dashb .btn:disabled{opacity:.5;cursor:not-allowed}.dashb .seg{background:var(--g-surface-alt);border:1px solid var(--g-border);border-radius:8px;gap:2px;padding:3px;display:inline-flex}.dashb .seg button{color:var(--g-muted);background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.dashb .seg button.active{background:var(--g-surface);color:var(--g-heading);box-shadow:var(--g-shadow-card)}.dashb .seg button:not(.active):hover{color:var(--g-text)}.dashb .autosave{color:var(--g-muted);align-items:center;gap:6px;min-width:86px;font-size:12.5px;display:inline-flex}.dashb .autosave .pi{font-size:13px}.dashb .autosave.saving{color:var(--g-amber)}.dashb .autosave.saved{color:var(--g-green)}.dashb .autosave.failed{color:var(--g-red)}@keyframes dashb-spin{to{transform:rotate(360deg)}}.dashb .spin{animation:.8s linear infinite dashb-spin}.dashb .dash-tabs{align-items:center;gap:8px;margin-bottom:18px;display:flex}.dashb .tab-strip{scrollbar-width:thin;flex:1;align-items:center;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.dashb .tab-strip::-webkit-scrollbar{height:6px}.dashb .dash-tab{background:var(--g-surface);border:1px solid var(--g-border);color:var(--g-muted);-webkit-user-select:none;user-select:none;border-radius:10px;flex:none;align-items:center;gap:8px;padding:8px 10px 8px 13px;font-size:13.5px;font-weight:600;transition:border-color .12s,color .12s,box-shadow .12s,background .12s;display:inline-flex;position:relative}.dashb .dash-tab:hover{border-color:var(--g-border-strong);color:var(--g-text)}.dashb .dash-tab.active{border-color:var(--g-primary);color:var(--g-primary-700);background:var(--g-primary-50);box-shadow:0 1px 2px #3b82f61f}.dashb .dash-tab .pi:first-child{align-items:center;font-size:15px;line-height:1;display:inline-flex}.dashb .dash-tab__name{white-space:nowrap}.dashb .dash-tab__rename{font:inherit;border:1px solid var(--g-primary);border-radius:6px;outline:none;width:130px;padding:2px 6px}.dashb .dash-tab__menu-btn{width:22px;height:22px;color:var(--g-faint);background:0 0;border:none;border-radius:5px;place-items:center;margin-left:2px;display:grid}.dashb .dash-tab__menu-btn:hover{color:var(--g-text);background:#0000000d}.dashb .dash-tab.dragging{opacity:.4}.dashb .dash-tab.drop-target:before{content:"";background:var(--g-primary);border-radius:2px;width:3px;position:absolute;top:4px;bottom:4px;left:-5px}.dashb .tab-add{border:1px dashed var(--g-border-strong);background:var(--g-surface);width:38px;height:38px;color:var(--g-muted);border-radius:10px;flex:none;place-items:center;font-size:16px;display:grid}.dashb .tab-add:hover{border-color:var(--g-primary);color:var(--g-primary);background:var(--g-primary-50)}.dashb .dash-tabs__right{flex:none;align-items:center;gap:8px;display:flex}.dashb .grid{gap:var(--g-gap);grid-template-columns:repeat(var(--cols,3), minmax(0, 1fr));align-items:start;display:grid}.dashb .span-1{grid-column:span 1}.dashb .span-2{grid-column:span 2}.dashb .span-3{grid-column:span 3}.dashb .span-4{grid-column:span 4}.dashb .widget{background:var(--g-surface);border:1px solid var(--g-border);border-radius:var(--g-radius-lg);box-shadow:var(--g-shadow-card);flex-direction:column;min-height:120px;transition:box-shadow .14s,border-color .14s,transform .14s;display:flex;position:relative;overflow:hidden}.dashb .widget.edit:hover{border-color:var(--g-border-strong);box-shadow:var(--g-shadow-pop)}.dashb .widget.dragging{opacity:.35}.dashb .widget.drop-target{outline:2px dashed var(--g-primary);outline-offset:2px}.dashb .widget__head{padding:13px var(--g-card-pad) 9px;align-items:center;gap:8px;display:flex}.dashb .widget__grip{color:var(--g-faint);cursor:grab;touch-action:none;margin-left:-4px;padding:2px;font-size:14px}.dashb .widget__grip:active{cursor:grabbing}.dashb .widget__icon{border-radius:7px;flex:none;place-items:center;width:26px;height:26px;font-size:13px;display:grid}.dashb .widget__title{text-transform:uppercase;letter-spacing:.05em;color:var(--g-heading);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12.5px;font-weight:700;overflow:hidden}.dashb .widget__menu-btn{width:26px;height:26px;color:var(--g-faint);background:0 0;border:none;border-radius:6px;place-items:center;display:grid}.dashb .widget__menu-btn:hover{background:var(--g-surface-alt);color:var(--g-text)}.dashb .widget__body{padding:4px var(--g-card-pad) var(--g-card-pad);flex:1}.dashb .view .widget__grip,.dashb .view .widget__menu-btn{display:none}.dashb .kpi{cursor:default}.dashb .kpi.link{cursor:pointer}.dashb .kpi__value{color:var(--g-heading);letter-spacing:-.02em;font-size:34px;font-weight:800;line-height:1.05}.dashb .kpi__label{color:var(--g-muted);margin-top:2px;font-size:12.5px}.dashb .kpi__trend{border-radius:20px;align-items:center;gap:4px;margin-top:10px;padding:3px 8px;font-size:12px;font-weight:700;display:inline-flex}.dashb .kpi__trend.up{color:#15803d;background:var(--g-green-bg)}.dashb .kpi__trend.down{color:#b91c1c;background:var(--g-red-bg)}.dashb .kpi__trend.flat{color:var(--g-muted);background:var(--g-surface-alt)}.dashb .kpi__spark{height:34px;margin-top:12px}.dashb .kpi.link:hover .kpi__value{color:var(--g-primary)}.dashb .kpi__drill{color:var(--g-primary);align-items:center;gap:4px;margin-top:8px;font-size:11.5px;font-weight:500;display:inline-flex}.dashb .wlist{flex-direction:column;display:flex}.dashb .wlist__row{border-top:1px solid var(--g-border);align-items:center;gap:11px;padding:8px 0;font-size:13px;display:flex}.dashb .wlist__row:first-child{border-top:none}.dashb .view .wlist__row.clickable{cursor:pointer;margin:0 calc(var(--g-card-pad) * -.5);padding-left:calc(var(--g-card-pad) * .5);padding-right:calc(var(--g-card-pad) * .5);border-radius:6px}.dashb .view .wlist__row.clickable:hover{background:var(--g-surface-alt)}.dashb .wlist__ic{border-radius:7px;flex:none;place-items:center;width:30px;height:30px;font-size:13px;display:grid}.dashb .wlist__main{flex:1;min-width:0}.dashb .wlist__t{color:var(--g-text);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.dashb .wlist__s{color:var(--g-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.dashb .wlist__meta{color:var(--g-faint);white-space:nowrap;font-size:11.5px}.dashb .pill{white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.dashb .pill.green{color:#15803d;background:var(--g-green-bg)}.dashb .pill.amber{color:#b45309;background:var(--g-amber-bg)}.dashb .pill.red{color:#b91c1c;background:var(--g-red-bg)}.dashb .pill.blue{color:var(--g-primary-700);background:var(--g-primary-100)}.dashb .pill.gray{color:var(--g-muted);background:var(--g-surface-alt)}.dashb .wchart{width:100%;position:relative}.dashb .wchart>*{height:100%}.dashb .wchart canvas{max-width:100%;height:100%!important}.dashb .feed__row{border-top:1px solid var(--g-border);gap:11px;padding:9px 0;display:flex}.dashb .feed__row:first-child{border-top:none}.dashb .feed__dot{border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:12px;display:grid}.dashb .feed__body{flex:1;min-width:0;font-size:13px}.dashb .feed__txt{color:var(--g-text)}.dashb .feed__txt b{color:var(--g-heading);font-weight:600}.dashb .feed__time{color:var(--g-faint);margin-top:1px;font-size:11.5px}.dashb .wstate{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:110px;padding:22px 14px;display:flex}.dashb .wstate .pi{color:var(--g-faint);font-size:26px}.dashb .wstate__title{color:var(--g-text);font-size:13px;font-weight:600}.dashb .wstate__sub{color:var(--g-muted);max-width:220px;font-size:12px}.dashb .wstate.error .pi{color:var(--g-red)}.dashb .skel{background:linear-gradient(90deg,#eef1f4 25%,#f6f8fa 37%,#eef1f4 63%) 0 0/400% 100%;border-radius:6px;animation:1.3s infinite dashb-shimmer}@keyframes dashb-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.dashb .skel-row{height:12px;margin:9px 0}.dashb .size-ctl{border:1px solid var(--g-border);border-radius:7px;display:inline-flex;overflow:hidden}.dashb .size-ctl button{background:var(--g-surface);color:var(--g-muted);border:none;border-right:1px solid var(--g-border);padding:4px 9px;font-size:11.5px;font-weight:700}.dashb .size-ctl button:last-child{border-right:none}.dashb .size-ctl button.active{background:var(--g-primary);color:#fff}.dashb .empty-dash{border:2px dashed var(--g-border-strong);border-radius:var(--g-radius-lg);text-align:center;background:var(--g-surface);padding:56px 20px}.dashb .empty-dash .pi{color:var(--g-faint);font-size:40px}.dashb .empty-dash h3{color:var(--g-heading);margin:14px 0 4px;font-size:16px}.dashb .empty-dash p{color:var(--g-muted);margin:0 0 18px;font-size:13.5px}.dashb .modal-overlay,.modal-overlay.dashb{background:var(--g-overlay);z-index:100;place-items:center;padding:24px;animation:.14s dashb-fadeIn;display:grid;position:fixed;inset:0}@keyframes dashb-fadeIn{0%{opacity:0}to{opacity:1}}.dashb .gmodal-content,.dashb.p-dialog .p-dialog-content{flex-direction:column;padding:0;display:flex;overflow:hidden}.dashb .modal,.modal.dashb{background:var(--g-surface);box-shadow:var(--g-shadow-modal);border-radius:14px;flex-direction:column;width:100%;min-height:0;max-height:90vh;animation:.16s cubic-bezier(.2,.9,.3,1.2) dashb-pop;display:flex}@keyframes dashb-pop{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.dashb .modal__head{border-bottom:1px solid var(--g-border);flex:none;align-items:center;gap:12px;padding:18px 22px;display:flex}.dashb .modal__head .pi.lead{background:var(--g-primary-50);width:34px;height:34px;color:var(--g-primary);border-radius:9px;place-items:center;font-size:16px;display:grid}.dashb .modal__title{color:var(--g-heading);font-size:16px;font-weight:700}.dashb .modal__sub{color:var(--g-muted);font-size:12.5px}.dashb .modal__close{width:32px;height:32px;color:var(--g-muted);background:0 0;border:none;border-radius:7px;place-items:center;margin-left:auto;font-size:15px;display:grid}.dashb .modal__close:hover{background:var(--g-surface-alt);color:var(--g-text)}.dashb .modal__body{flex:auto;min-height:0;padding:20px 22px;overflow-y:auto}.dashb .modal__foot{border-top:1px solid var(--g-border);flex:none;justify-content:flex-end;align-items:center;gap:10px;padding:15px 22px;display:flex}.dashb .modal__foot .left{margin-right:auto}.dashb .search{border:1px solid var(--g-border-strong);background:var(--g-surface);border-radius:10px;align-items:center;gap:8px;height:38px;padding:0 11px;display:flex}.dashb .search .pi{color:var(--g-faint);font-size:14px}.dashb .search .p-inputtext{flex:1;height:100%;box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important}.dashb .field{margin-bottom:16px}.dashb .field>label{color:var(--g-text);margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.dashb .field .hint{color:var(--g-muted);margin-top:5px;font-size:11.5px}.dashb .field .err{color:var(--g-red);margin-top:5px;font-size:11.5px}.dashb .input,.dashb .select,.dashb .textarea{border:1px solid var(--g-border-strong);width:100%;color:var(--g-text);background:var(--g-surface);border-radius:8px;outline:none;padding:9px 11px;font-family:inherit;font-size:13.5px;transition:border-color .12s,box-shadow .12s}.dashb .input:focus,.dashb .select:focus,.dashb .textarea:focus{border-color:var(--g-primary);box-shadow:0 0 0 3px #3b82f62e}.dashb .input.invalid{border-color:var(--g-red)}.dashb .input.invalid:focus{box-shadow:0 0 0 3px #ef444429}.dashb .select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:32px}.dashb .row2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.dashb .chips{flex-wrap:wrap;gap:8px;display:flex}.dashb .chip{border:1px solid var(--g-border-strong);background:var(--g-surface);color:var(--g-muted);border-radius:20px;padding:6px 13px;font-size:12.5px;font-weight:600}.dashb .chip:hover{border-color:var(--g-primary);color:var(--g-primary)}.dashb .chip.active{background:var(--g-primary);border-color:var(--g-primary);color:#fff}.dashb .catalog{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.dashb .cat-card{border:1px solid var(--g-border);cursor:pointer;background:var(--g-surface);border-radius:12px;padding:14px;transition:border-color .12s,box-shadow .12s,transform .12s}.dashb .cat-card:hover{border-color:var(--g-primary);box-shadow:var(--g-shadow-pop)}.dashb .cat-card__head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.dashb .cat-card__ic{border-radius:8px;flex:none;place-items:center;width:30px;height:30px;font-size:14px;display:grid}.dashb .cat-card__name{color:var(--g-heading);font-size:13.5px;font-weight:700}.dashb .cat-card__cat{color:var(--g-faint);font-size:11px}.dashb .cat-card__add{opacity:0;color:var(--g-primary);align-items:center;gap:4px;margin-left:auto;font-size:13px;font-weight:700;transition:opacity .12s;display:inline-flex}.dashb .cat-card:hover .cat-card__add{opacity:1}.dashb .cat-card__preview{background:var(--g-bg);border:1px solid var(--g-border);pointer-events:none;border-radius:9px;justify-content:center;align-items:center;min-height:92px;padding:10px;display:flex}.dashb .wglyph{width:100%;height:100%;max-height:84px;display:block}.dashb .cat-card__desc{color:var(--g-muted);margin-top:9px;font-size:11.5px}.dashb .config-split{grid-template-columns:1fr 320px;gap:20px;display:grid}.dashb .config-preview{background:var(--g-bg);border:1px solid var(--g-border);border-radius:12px;padding:16px}.dashb .config-preview__label{letter-spacing:.05em;text-transform:uppercase;color:var(--g-faint);margin-bottom:10px;font-size:11px;font-weight:700}.dashb .more-toggle{color:var(--g-primary);background:0 0;border:none;align-items:center;gap:6px;padding:6px 0;font-size:12.5px;font-weight:600;display:inline-flex}.dashb .more-panel{border-top:1px dashed var(--g-border);margin-top:6px;padding-top:14px}.dashb .icon-grid{grid-template-columns:repeat(8,1fr);gap:6px;max-height:260px;padding:2px;display:grid;overflow-y:auto}.dashb .icon-cell{aspect-ratio:1;border:1px solid var(--g-border);background:var(--g-surface);color:var(--g-text);border-radius:8px;place-items:center;font-size:16px;display:grid}.dashb .icon-cell:hover{border-color:var(--g-primary);background:var(--g-primary-50);color:var(--g-primary)}.dashb .icon-cell.active{background:var(--g-primary);border-color:var(--g-primary);color:#fff}.dashb .tpl-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.dashb .tpl{border:1px solid var(--g-border);cursor:pointer;text-align:left;background:var(--g-surface);border-radius:12px;padding:12px;transition:border-color .12s}.dashb .tpl:hover{border-color:var(--g-border-strong)}.dashb .tpl.active{border-color:var(--g-primary);background:var(--g-primary-50);box-shadow:0 0 0 1px var(--g-primary) inset}.dashb .tpl__name{color:var(--g-heading);margin-bottom:8px;font-size:13px;font-weight:700}.dashb .tpl__mini{gap:4px;display:grid}.dashb .tpl__mini .r{grid-auto-flow:column;gap:4px;display:grid}.dashb .tpl__mini i{background:var(--g-primary-100);border-radius:3px;height:14px;display:block}.dashb .tpl__desc{color:var(--g-muted);margin-top:8px;font-size:11px}.dashb .ai-tag{letter-spacing:.03em;color:#fff;background:var(--ai-grad);border-radius:20px;flex:none;align-items:center;gap:4px;padding:2px 8px;font-size:10px;font-weight:800;display:inline-flex}.dashb .ai-tag .pi{font-size:10px}.dashb .ai-tag.sm{vertical-align:middle;margin-left:6px;padding:1px 6px;font-size:9px}.dashb .ai-banner{text-align:left;cursor:pointer;background:linear-gradient(135deg,#7c3aed12,#3b82f612);border:1px solid #ddd6fe;border-radius:14px;align-items:center;gap:14px;width:100%;padding:14px 16px;transition:border-color .14s,box-shadow .14s,transform .14s;display:flex}.dashb .ai-banner:hover{border-color:#a78bfa;transform:translateY(-1px);box-shadow:0 6px 18px #7c3aed29}.dashb .ai-banner__orb{background:var(--ai-grad);color:#fff;border-radius:11px;flex:none;place-items:center;width:40px;height:40px;font-size:17px;display:grid;box-shadow:0 4px 12px #7c3aed66}.dashb .ai-banner__t{color:var(--g-heading);font-size:14px;font-weight:700}.dashb .ai-banner__s{color:var(--g-muted);margin-top:2px;font-size:12px}.dashb .ai-banner__cta{color:#7c3aed;flex:none;align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.dashb .catalog-divider{letter-spacing:.03em;text-transform:uppercase;color:var(--g-faint);align-items:center;gap:8px;margin:22px 0 12px;font-size:11.5px;font-weight:700;display:flex}.dashb .catalog-divider:after{content:"";background:var(--g-border);flex:1;height:1px}.dashb .catalog-divider .pi{font-size:13px}.dashb .cat-card.is-added{cursor:default;opacity:.62;background:var(--g-bg)}.dashb .cat-card.is-added:hover{border-color:var(--g-border);box-shadow:none;transform:none}.dashb .cat-card__added{color:var(--g-green);background:var(--g-green-bg,#dcfce7);border-radius:20px;flex:none;align-items:center;gap:5px;margin-left:auto;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.dashb .cat-card__name{align-items:center;display:inline-flex}.dashb .ai-prompt{resize:vertical;min-height:52px;line-height:1.5}.dashb .ai-examples{flex-wrap:wrap;align-items:center;gap:7px;margin:-4px 0 4px;display:flex}.dashb .ai-examples__lbl{color:var(--g-faint);font-size:12px;font-weight:600}.dashb .ai-chip{border:1px solid var(--g-border-strong);background:var(--g-surface);color:var(--g-muted);border-radius:20px;padding:5px 11px;font-size:12px;font-weight:600;transition:border-color .12s,color .12s,background .12s}.dashb .ai-chip:hover{color:#7c3aed;background:#7c3aed0f;border-color:#a78bfa}.dashb .ai-viz-field{margin-top:14px;margin-bottom:4px}.dashb .ai-viz-field>label{align-items:baseline;gap:8px;display:flex}.dashb .ai-viz-hint{color:var(--g-faint);font-size:11.5px;font-weight:500}.dashb .ai-viz.p-selectbutton{flex-wrap:wrap;gap:6px;display:flex}.dashb .ai-viz.p-selectbutton .p-button{border:1px solid var(--g-border-strong);background:var(--g-surface);flex:1 1 0;min-width:72px;padding:8px 6px;border-radius:9px!important}.dashb .ai-viz.p-selectbutton .p-button:hover:not(.p-highlight){background:#7c3aed0d;border-color:#a78bfa}.dashb .ai-viz.p-selectbutton .p-button.p-highlight{color:#6d28d9;background:#7c3aed1a;border-color:#7c3aed}.dashb .ai-viz.p-selectbutton .p-button.p-highlight .ai-viz__item i{color:#7c3aed}.dashb .ai-viz__item{flex-direction:column;align-items:center;gap:5px;font-size:12px;font-weight:600;line-height:1;display:flex}.dashb .ai-viz__item i{color:var(--g-muted);font-size:16px}.dashb .ai-ask{color:var(--g-text);margin-bottom:8px;font-size:15px;font-weight:700;display:block}.dashb .ai-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0 4px;display:grid}.dashb .ai-card{border:1px solid var(--g-border);background:var(--g-surface);color:var(--g-text);text-align:left;cursor:pointer;border-radius:10px;align-items:center;gap:9px;padding:10px 12px;font-size:13px;transition:border-color .14s,background .14s;display:flex}.dashb .ai-card:hover{border-color:var(--g-primary);background:#7c3aed0a}.dashb .ai-card .pi{color:var(--g-primary);font-size:14px}.dashb .ai-card.is-active{border-color:var(--g-primary);box-shadow:inset 0 0 0 1px var(--g-primary);background:#7c3aed0f}.dashb .ai-card--cat{align-items:flex-start;gap:11px;padding:13px 14px}.dashb .ai-card__ic{border-radius:9px;flex:none;place-items:center;width:34px;height:34px;display:grid}.dashb .ai-card__ic .pi{color:inherit}.dashb .ai-card__body{flex-direction:column;gap:2px;min-width:0;display:flex}.dashb .ai-card__name{color:var(--g-text);font-size:13.5px;font-weight:700}.dashb .ai-card__desc{color:var(--g-faint);font-size:12px}.dashb .ai-pick-lbl{color:var(--g-faint);margin:14px 0 2px;font-size:12px;font-weight:700}.dashb .ai-adv-toggle{color:var(--g-faint);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin:10px 0 0;padding:4px 0;font-size:12.5px;font-weight:600;display:inline-flex}.dashb .ai-adv-toggle:hover{color:var(--g-primary)}.dashb .ai-adv{border:1px solid var(--g-border);background:var(--g-surface-2,#00000004);border-radius:10px;flex-direction:column;gap:12px;margin-top:8px;padding:12px;display:flex}.dashb .ai-adv__row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.dashb .ai-detected{background:linear-gradient(135deg,#7c3aed0d,#3b82f60d);border:1px solid #ddd6fe;border-radius:12px;margin-top:16px;padding:12px 14px}.dashb .ai-detected__head{color:var(--g-text);justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;font-size:12.5px;font-weight:700;display:flex}.dashb .ai-detected__head .pi{color:var(--g-primary);margin-right:5px}.dashb .ai-detected__reason{color:var(--g-faint);font-style:italic;font-weight:500}.dashb .ai-detected__chips{flex-wrap:wrap;gap:7px;display:flex}.dashb .ai-dchip{background:var(--g-surface);border:1px solid var(--g-border);color:var(--g-text);border-radius:999px;align-items:center;gap:5px;padding:4px 9px;font-size:12px;font-weight:600;display:inline-flex}.dashb .ai-dchip .pi{color:var(--g-primary);font-size:11px}.dashb .ai-refine{flex-wrap:wrap;gap:18px;margin-top:14px;display:flex}.dashb .ai-refine__group{align-items:center;gap:6px;display:flex}.dashb .ai-refine__lbl{color:var(--g-faint);margin-right:2px;font-size:11.5px;font-weight:700}.dashb .ai-refine__chip{border:1px solid var(--g-border);background:var(--g-surface);color:var(--g-text);cursor:pointer;border-radius:999px;padding:4px 11px;font-size:12px;font-weight:600;transition:all .12s}.dashb .ai-refine__chip:hover{border-color:var(--g-primary)}.dashb .ai-refine__chip.is-active{background:var(--g-primary);border-color:var(--g-primary);color:#fff}.dashb .ai-error{background:#ef44440d;border:1px solid #fecaca;border-radius:12px;margin-top:16px;padding:14px}.dashb .ai-error__t{color:#b91c1c;font-size:13px;font-weight:700}.dashb .ai-error__t .pi{margin-right:6px}.dashb .ai-error__try{color:var(--g-faint);margin:8px 0 4px;font-size:12.5px}.dashb .ai-gen{background:linear-gradient(135deg,#7c3aed0f,#3b82f60f);border:1px solid #ddd6fe;border-radius:12px;align-items:center;gap:14px;margin-top:18px;padding:18px;display:flex}.dashb .ai-gen__orb{background:var(--ai-grad);color:#fff;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-size:16px;animation:1.1s ease-in-out infinite dashb-aiPulse;display:grid}@keyframes dashb-aiPulse{0%,to{box-shadow:0 0 #7c3aed73}50%{box-shadow:0 0 0 10px #7c3aed00}}.dashb .ai-gen__t{color:var(--g-heading);font-size:13.5px;font-weight:700}.dashb .ai-gen__s{color:var(--g-muted);margin-top:2px;font-size:12px}.dashb .ai-result{margin-top:16px;animation:.2s dashb-fadeIn}.dashb .ai-result .config-preview__label{justify-content:space-between;align-items:center;display:flex}.dashb .ai-regen{letter-spacing:0;text-transform:none;color:#7c3aed;background:0 0;border:none;align-items:center;gap:5px;padding:2px 4px;font-size:11.5px;font-weight:700;display:inline-flex}.dashb .ai-regen:hover{text-decoration:underline}.dashb .ai-opts{align-items:flex-end;gap:16px;margin-top:16px;display:flex}.dashb .ai-share{cursor:pointer;border:1px solid var(--g-border);background:var(--g-surface);border-radius:10px;flex:1;align-items:flex-start;gap:9px;padding:11px 13px;display:flex}.dashb .ai-share:hover{border-color:var(--g-border-strong)}.dashb .ai-share input{accent-color:#7c3aed;flex:none;width:16px;height:16px;margin-top:2px}.dashb .ai-share__t{color:var(--g-heading);font-size:13px;font-weight:700}.dashb .ai-share__s{color:var(--g-muted);margin-top:2px;font-size:11.5px}.dashb .p-component{font-family:var(--font-family,Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);font-size:13.5px}.dashb .p-button{border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:600;transition:background .12s,border-color .12s,box-shadow .12s;display:inline-flex}.dashb .p-button.p-button-sm{padding:6px 11px;font-size:12.5px}.dashb .p-button:not(.p-button-outlined):not(.p-button-text):not(.p-button-secondary):not(.p-button-danger):not(.p-button-success):not(.p-button-warning){background:var(--g-primary);border-color:var(--g-primary)}.dashb .p-button:not(.p-button-outlined):not(.p-button-text):not(.p-button-secondary):not(.p-button-danger):not(.p-button-success):not(.p-button-warning):enabled:hover{background:var(--g-primary-600);border-color:var(--g-primary-600)}.dashb .p-button.p-button-outlined{color:var(--g-text);border-color:var(--g-border-strong);background:var(--g-surface)}.dashb .p-button.p-button-outlined:enabled:hover{background:var(--g-surface-alt);color:var(--g-text);border-color:var(--g-border-strong)}.dashb .p-button.p-button-text.p-button-secondary{color:var(--g-muted)}.dashb .p-button.p-button-text.p-button-secondary:enabled:hover{background:var(--g-surface-alt);color:var(--g-text)}.dashb .p-button:focus{box-shadow:var(--focus-ring)}.dashb .p-button .p-button-icon{align-items:center;font-size:14px;line-height:1;display:inline-flex}.dashb .p-button.p-button-icon-only.p-button-rounded{width:34px;height:34px}.dashb .p-inputtext,.dashb .p-dropdown,.dashb .p-multiselect,.dashb .p-inputtextarea{border-color:var(--g-border-strong);color:var(--g-text);border-radius:8px;font-size:13.5px}.dashb .p-inputtext:enabled:hover,.dashb .p-dropdown:not(.p-disabled):hover{border-color:var(--g-primary)}.dashb .p-inputtext:enabled:focus,.dashb .p-dropdown:not(.p-disabled).p-focus,.dashb .p-inputtextarea:enabled:focus{border-color:var(--g-primary);box-shadow:var(--focus-ring)}.dashb .p-inputtext.p-invalid.p-component{border-color:var(--g-red)}.dashb .p-dropdown-panel,.dashb .p-dropdown-items-wrapper{border-radius:10px}.dashb .p-dropdown-panel .p-dropdown-item.p-highlight{color:var(--g-primary-700);background:var(--g-primary-50)}.dashb .p-dropdown .p-dropdown-label{padding:8px 11px}.dashb .p-selectbutton{background:var(--g-surface-alt);border:1px solid var(--g-border);border-radius:8px;gap:2px;padding:3px;display:inline-flex}.dashb .p-selectbutton .p-button{font-size:13px;font-weight:600;transition:background .12s,color .12s;color:var(--g-muted)!important;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:6px!important;padding:6px 14px!important}.dashb .p-selectbutton .p-button:focus{box-shadow:none!important}.dashb .p-selectbutton .p-button:not(.p-highlight):hover{color:var(--g-text)!important;background:0 0!important}.dashb .p-selectbutton .p-button.p-highlight,.dashb .p-selectbutton .p-button.p-highlight:hover{background:var(--g-surface)!important;color:var(--g-heading)!important;box-shadow:var(--g-shadow-card)!important}.dashb .p-selectbutton.selbtn-full{flex-wrap:nowrap;width:100%;display:flex}.dashb .p-selectbutton.selbtn-full .p-button{flex:1 1 0;justify-content:center;min-width:0;padding-left:10px;padding-right:10px}.dashb .p-checkbox .p-checkbox-box.p-highlight,.dashb .p-checkbox .p-checkbox-box.p-highlight:hover{background:var(--g-primary);border-color:var(--g-primary)}.dashb .p-checkbox:not(.p-checkbox-disabled) .p-checkbox-box:hover{border-color:var(--g-primary)}.dashb .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider{background:var(--g-primary)}.dashb .p-inputswitch.p-inputswitch-checked:not(.p-disabled):hover .p-inputswitch-slider{background:var(--g-primary-600)}.dashb .p-inputswitch .p-inputswitch-slider{border-radius:20px}.dashb .p-menu,.dashb-menu.p-menu,.dashb .p-tieredmenu,.dashb .p-overlaypanel{box-shadow:var(--g-shadow-pop);border:1px solid var(--g-border);border-radius:10px;padding:6px}.dashb .p-menu .p-menuitem-link,.dashb-menu.p-menu .p-menuitem-link,.dashb .p-tieredmenu .p-menuitem-link{color:var(--g-text);border-radius:7px;padding:8px 10px;font-size:13px}.dashb .p-menu .p-menuitem-link:not(.p-disabled):hover,.dashb-menu.p-menu .p-menuitem-link:not(.p-disabled):hover,.dashb .p-tieredmenu .p-menuitem-link:not(.p-disabled):hover{background:var(--g-surface-alt)}.dashb .p-menu .p-menuitem-link .p-menuitem-icon,.dashb-menu.p-menu .p-menuitem-link .p-menuitem-icon,.dashb .p-tieredmenu .p-menuitem-link .p-menuitem-icon{color:var(--g-muted);font-size:14px}.dashb .p-menu .p-menuitem.danger .p-menuitem-link,.dashb-menu.p-menu .p-menuitem.danger .p-menuitem-link,.dashb .p-menu .p-menuitem.danger .p-menuitem-icon,.dashb-menu.p-menu .p-menuitem.danger .p-menuitem-icon{color:var(--g-red)}.dashb .p-menu .p-submenu-header,.dashb-menu.p-menu .p-submenu-header{color:var(--g-faint);letter-spacing:.04em;background:0 0;padding:6px 10px 4px;font-size:11px;font-weight:700}.dashb .p-overlaypanel:before,.dashb .p-overlaypanel:after{display:none}.dashb .p-overlaypanel .p-overlaypanel-content{padding:6px}.dashb .p-tag.gtag,.gtag.p-tag{white-space:nowrap;background:var(--g-surface-alt);color:var(--g-muted);border-radius:20px;padding:2px 8px;font-size:11px;font-weight:600;line-height:1.45}.dashb .p-tag.gtag .p-tag-value,.gtag.p-tag .p-tag-value{line-height:inherit;font-weight:600}.dashb .p-tag.gtag-green,.gtag-green.p-tag{color:#15803d;background:var(--g-green-bg)}.dashb .p-tag.gtag-amber,.gtag-amber.p-tag{color:#b45309;background:var(--g-amber-bg)}.dashb .p-tag.gtag-red,.gtag-red.p-tag{color:#b91c1c;background:var(--g-red-bg)}.dashb .p-tag.gtag-blue,.gtag-blue.p-tag{color:var(--g-primary-700);background:var(--g-primary-100)}.dashb .p-tag.gtag-gray,.gtag-gray.p-tag{color:var(--g-muted);background:var(--g-surface-alt)}.dashb .p-skeleton{background-color:#eef1f4;border-radius:6px}.dashb .p-skeleton.p-skeleton-animation-wave:after,.dashb .p-skeleton:after{background:linear-gradient(90deg,#eef1f400 25%,#f6f8fae6 37%,#eef1f400 63%)}[data-mode=dark] .dashb .p-skeleton{background-color:#1a2336}.dashb .p-inline-message.gbanner{border:1px solid var(--g-border);background:var(--g-surface);width:100%;color:var(--g-muted);border-radius:8px;justify-content:flex-start;gap:8px;padding:8px 11px;font-size:12px;font-weight:500}.dashb .p-inline-message.gbanner .p-inline-message-icon{color:var(--g-muted);margin-right:0;font-size:13px}.dashb .p-inline-message.gbanner .p-inline-message-text{font-size:12px;font-weight:500}.dashb .widget__menu-btn.p-button.p-button-icon-only.p-button-rounded{width:26px;height:26px}.dashb .dash-tab__menu-btn.p-button.p-button-icon-only.p-button-rounded{width:22px;height:22px;margin-left:0}.dashb .dash-tab__menu-btn.p-button .p-button-icon{font-size:11px}.dashb .dash-tab__menu-btn.p-button{opacity:0;transition:opacity .12s,background-color .12s,color .12s}.dashb .dash-tab:hover .dash-tab__menu-btn.p-button,.dashb .dash-tab.active .dash-tab__menu-btn.p-button{opacity:1}.dashb .dash-tab .p-tag.gtag{border:1px solid #2563eb2e}.dashb .tab-add.p-button{border:1px dashed var(--g-border-strong);width:38px;height:38px;color:var(--g-muted);background:var(--g-surface);border-radius:10px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.dashb .tab-add.p-button:enabled:hover{border-color:var(--g-primary);color:var(--g-primary);background:var(--g-primary-50)}.dashb .tab-add.p-button .p-button-icon{font-size:16px}.dashb .dash-tab__rename.p-inputtext{width:130px;padding:2px 6px;font-size:13.5px}.dashb .widget-overlay,.widget-overlay{cursor:grabbing;pointer-events:none}.dashb .widget-overlay .widget,.widget-overlay .widget{box-shadow:var(--g-shadow-pop,0 12px 28px #00000029);border-color:var(--g-border-strong);transform:scale(1.01)}.dashb .ai-step-sub{color:var(--g-muted);margin:2px 0 10px;font-size:12.5px}.dashb .ai-sources{flex-direction:column;gap:8px;margin-top:6px;display:flex}.dashb .ai-source{text-align:left;border:1px solid var(--g-border);background:var(--g-surface);cursor:pointer;border-radius:10px;align-items:center;gap:11px;width:100%;padding:11px 13px;transition:border-color .12s,background .12s;display:flex}.dashb .ai-source:hover{border-color:var(--g-border-strong)}.dashb .ai-source.is-active{border-color:var(--g-primary);background:var(--g-primary-soft,#2563eb0f)}.dashb .ai-source__icon{border-radius:9px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.dashb .ai-source__name{font-size:13.5px;font-weight:600;display:block}.dashb .ai-source__desc{color:var(--g-muted);font-size:12px;display:block}.dashb .wc-swatches{flex-wrap:wrap;gap:8px;display:flex}.dashb .wc-swatch{cursor:pointer;border:2px solid #0000;border-radius:8px;place-items:center;width:30px;height:30px;padding:0;transition:transform .1s,box-shadow .1s;display:grid}.dashb .wc-swatch:hover{transform:scale(1.08)}.dashb .wc-swatch.is-active{box-shadow:0 0 0 2px var(--g-surface), 0 0 0 4px var(--g-fg,#0f172a)}.dashb .wc-swatch i{font-size:12px}.dashb .wc-preview-scale{width:100%;margin:0 auto;transition:max-width .15s}.dashb .wc-preview-scale[data-size=S]{max-width:210px}.dashb .wc-preview-scale[data-size=M]{max-width:310px}.dashb .wc-preview-scale[data-size=L]{max-width:430px}.dashb .wc-preview-scale[data-size=FULL]{max-width:100%}.dashb .wc-preview-scale .widget{width:100%;grid-column:auto!important}
