:root{--dash-bg:#fff;--dash-border:#ddd;--dash-text:#1a1a1a;--dash-muted:#6b7280;--dash-hover-border:#999;--dash-note-bg:#fdf6d8;--dash-note-border:#e6d98a;--dash-note-focus:#d8c65a;--dash-note-text:#3a3420}[data-bs-theme=dark]{--dash-bg:#23262b;--dash-border:#3a3f47;--dash-text:#e8e8e8;--dash-muted:#9aa0a6;--dash-hover-border:#6b7280;--dash-note-bg:#3a341a;--dash-note-border:#7a6a2a;--dash-note-focus:#b8a23a;--dash-note-text:#f1e9c8}.dashboard-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;margin-top:1rem}.dashboard-widget{grid-column:span 2;border:1px solid var(--dash-border);border-radius:8px;padding:1rem;background:var(--dash-bg);color:var(--dash-text);cursor:grab;display:flex;flex-direction:column;min-width:0}.dashboard-widget--xs{grid-column:span 2}.dashboard-widget--sm{grid-column:span 3}.dashboard-widget--md{grid-column:span 4}.dashboard-widget--lg{grid-column:span 6}.dashboard-widget--xl{grid-column:span 8}.dashboard-widget--xxl{grid-column:span 12}.dashboard-widget--collapsed{align-self:start}.dashboard-widget--collapsed .dashboard-widget__body{display:none}.dashboard-widget__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-weight:600;color:var(--dash-text)}.dashboard-widget__title{display:inline-flex;align-items:center;gap:.45rem;min-width:0;overflow:hidden}.dashboard-widget__header:has(button[data-action=collapse]) .dashboard-widget__title{cursor:pointer}.dashboard-widget__controls{display:flex;gap:.4rem;flex-shrink:0}.dashboard-widget__widget-slot{display:flex;align-items:center;gap:.4rem}.dashboard-widget__body{flex:1 1 auto;min-height:0;min-width:0}.dashboard-widget__controls button{background:0 0;border:none;cursor:pointer;font-size:1.1rem;line-height:1;opacity:.7;padding:.2rem .3rem;color:var(--dash-text)}.dashboard-widget__controls button:hover{opacity:1}.dashboard-size{position:relative;display:inline-flex}button.dashboard-size__toggle{display:inline-flex;align-items:center;background:0 0;cursor:pointer;line-height:1;font-size:.75rem;font-weight:700;text-transform:uppercase;border:1px solid var(--dash-border);border-radius:4px;padding:.15rem .4rem;color:var(--dash-text);opacity:.7}button.dashboard-size__toggle:hover{opacity:1}.dashboard-size__menu{position:absolute;top:calc(100% + .3rem);right:0;min-width:90px;background:var(--dash-bg);border:1px solid var(--dash-border);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.15);padding:.3rem;display:flex;flex-direction:column;gap:.15rem;z-index:20}.dashboard-size__menu[hidden]{display:none}button.dashboard-size__item{border:none;background:0 0;color:var(--dash-text);text-align:left;padding:.3rem .5rem;border-radius:4px;cursor:pointer;font-size:.8rem;text-transform:uppercase;font-weight:600}button.dashboard-size__item:hover{background:var(--dash-border)}button.dashboard-size__item--active{color:var(--bs-primary,#0d6efd);background:var(--bs-primary-bg-subtle,transparent);font-weight:700}button.dashboard-size__item--active:hover{background:var(--bs-primary-bg-subtle,var(--dash-border))}.dashboard-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;color:var(--dash-text)}.dashboard-toolbar__actions{display:flex;align-items:center;gap:.5rem}.dashboard-toolbar h1{display:flex;align-items:baseline;flex-wrap:wrap;gap:.6rem}.dashboard-active-preset{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;font-weight:500;color:var(--dash-text)}.dashboard-active-preset i{font-size:.85rem}.dashboard-active-preset--modified{color:var(--dash-muted);opacity:.7}.dashboard-active-preset__modified-mark{font-style:italic}.dashboard-toolbar button{border:1px solid var(--dash-border);background:var(--dash-bg);color:var(--dash-text);border-radius:999px;padding:.4rem .9rem;cursor:pointer;font-size:.9rem}.dashboard-toolbar button:hover{border-color:var(--dash-hover-border)}button.dashboard-icon-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .8rem .4rem .65rem;font-size:.75rem;font-weight:600;line-height:1;white-space:nowrap}.dashboard-icon-btn i{font-size:1rem}.dashboard-add{position:relative}.dashboard-add__menu{position:absolute;top:calc(100% + .4rem);right:0;min-width:260px;background:var(--dash-bg);border:1px solid var(--dash-border);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.15);padding:.4rem;display:flex;flex-direction:column;gap:.2rem;z-index:20}.dashboard-add__menu[hidden]{display:none}.dashboard-add__item{border:none;background:0 0;color:var(--dash-text);text-align:left;padding:.4rem .6rem;border-radius:4px;cursor:pointer;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.dashboard-add__item:hover{background:var(--dash-border)}.dashboard-add__item--danger{color:var(--bs-danger)}.dashboard-add__item--danger:hover{background:var(--bs-danger-bg-subtle,var(--dash-border))}.dashboard-add__item--locked{color:var(--dash-muted);cursor:not-allowed;opacity:.55}.dashboard-add__item--locked:hover{background:0 0}.dashboard-preset__row{display:flex;align-items:stretch;gap:0}.dashboard-preset__row-load{flex:1;min-width:0}.dashboard-preset__delete{border:none;background:0 0;color:var(--dash-muted);cursor:pointer;padding:0 .5rem;border-radius:4px;flex-shrink:0;display:inline-flex;align-items:center;font-size:.85rem}.dashboard-preset__delete:hover{color:var(--bs-danger);background:var(--bs-danger-bg-subtle,var(--dash-border))}.dashboard-add__empty{margin:0;padding:.4rem .6rem;color:var(--dash-muted);font-size:.85rem}.dashboard-preset__group-label{margin:.2rem .6rem 0;padding:0;color:var(--dash-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.02em}.dashboard-preset__group-label:first-child{margin-top:0}.dashboard-preset__badge{display:inline-block;font-size:.7rem;text-transform:uppercase;border:1px solid var(--dash-border);border-radius:4px;padding:.05rem .35rem;color:var(--dash-muted)}.dashboard-preset__badge--premium{border-color:var(--bs-warning);color:var(--bs-warning);margin-left:auto}@media (max-width:700px){.dashboard-grid{grid-template-columns:1fr !important}.dashboard-widget{grid-column:span 1 !important}}.dashboard-note{width:100%;min-height:120px;resize:vertical;border:1px solid var(--dash-note-border);background:var(--dash-note-bg);color:var(--dash-note-text);border-radius:6px;padding:.6rem;font-family:inherit;font-size:.9rem;box-sizing:border-box}.dashboard-note::placeholder{color:var(--dash-muted)}.dashboard-note:focus{outline:2px solid var(--dash-note-focus);outline-offset:1px}.dashboard-note__status{font-size:.75rem;color:var(--dash-muted);height:1.2em;margin-top:.25rem;opacity:0;transition:opacity .3s}.dashboard-note__status.is-visible{opacity:1}.dashboard-note__settings-toggle{display:flex;align-items:center}.dashboard-note__settings-body{display:flex;flex-direction:column;gap:.5rem;text-align:left}.dashboard-note__field{display:flex;flex-direction:column;gap:.2rem}.dashboard-note__field label{font-size:.75rem;color:var(--dash-muted)}.dashboard-note__widget-controls{display:flex;gap:.4rem}.dashboard-note__add{align-self:flex-start}.dashboard-info{white-space:pre-line;line-height:1.5;color:var(--dash-text)}.dashboard-info__settings-toggle{display:flex;align-items:center}.dashboard-info__settings-body{display:flex;flex-direction:column;gap:.5rem;text-align:left}.dashboard-info__field{display:flex;flex-direction:column;gap:.2rem}.dashboard-info__field label{font-size:.75rem;color:var(--dash-muted)}.dashboard-info__widget-controls{display:flex;gap:.4rem}