.widget-group-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-auto-flow:dense;gap:1.5rem;margin-top:1.25rem}@media (max-width: 600px){.widget-group-container{grid-template-columns:1fr;gap:1rem}}.widget-group{background:var(--component-widget-bg, var(--bg-card));border:1px solid var(--component-widget-border, var(--border-color));border-radius:10px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}.span-1{grid-column:span 1}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-full{grid-column:1 / -1}@media (max-width: 1300px){.span-4{grid-column:span 3}}@media (max-width: 1000px){.span-4,.span-3{grid-column:span 2}}@media (max-width: 768px){.span-4,.span-3,.span-2{grid-column:span 1}}.widget-group-header{display:flex;align-items:center;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--component-widget-text, var(--text-muted));background:var(--component-widget-header-bg, var(--bg-widget-header, var(--bg-body)));border-bottom:1px solid var(--component-widget-border, var(--border-color));padding:.55rem 1rem}.widget-mini-grid{display:flex;flex-wrap:wrap}.widget-mini-card{flex:1 1 100px;padding:1rem 1rem .85rem;border-right:1px solid var(--component-widget-border, var(--border-color));border-bottom:1px solid var(--component-widget-border, var(--border-color));transition:background .15s;min-width:0}.widget-mini-card:last-child{border-right:none}.widget-mini-card:hover{background:var(--component-table-row-hover, var(--bg-body))}.widget-mini-value{font-size:1.55rem;font-weight:700;color:var(--component-widget-text, var(--text-main));line-height:1;letter-spacing:-.02em}.widget-mini-label{font-size:.75rem;color:var(--text-muted);margin-top:.35rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.widget-chart-card{flex:1 1 100%;min-width:0;padding-bottom:.75rem}.widget-chart-title{white-space:normal;margin-bottom:.35rem}.widget-chart-canvas-wrap{position:relative;width:100%;height:220px;min-height:220px;max-height:320px;margin-top:.25rem}.widget-chart-card.is-chart-error .widget-chart-canvas-wrap{display:none}.widget-chart-canvas-wrap canvas{max-width:100%}.widget-chart-error{margin-top:.25rem;font-size:.8rem;font-weight:500;color:var(--danger, #e63946)}.widget-chart-card.is-chart-error .widget-chart-error{margin-top:.75rem;padding:.65rem .5rem;text-align:center;opacity:.85}@media (max-width: 640px){.widget-mini-card{flex-basis:50%;border-right:1px solid var(--component-widget-border, var(--border-color))}.widget-mini-card:nth-child(2n){border-right:none}.widget-mini-value{font-size:1.25rem}}@media (max-width: 360px){.widget-mini-card{flex-basis:100%;border-right:none}}.hidden{display:none!important}.edit-mode .category-drag-handle,.edit-mode .widget-drag-handle{display:block!important}.edit-mode .category-section{border:2px dashed var(--hover-bg);padding:1rem;border-radius:12px;margin-bottom:1rem}.edit-mode .widget-group{cursor:move;position:relative}.edit-mode .widget-group:hover{border-color:var(--primary)}.sortable-ghost{opacity:.4}.sortable-chosen{box-shadow:var(--shadow-sm)}.category-drag-handle,.widget-drag-handle{cursor:move;opacity:.3}.category-drag-handle:hover,.widget-drag-handle:hover{opacity:.8}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-auto-flow:dense;gap:1.25rem;margin-top:.5rem}.dashboard-tile{background:var(--component-widget-bg, var(--bg-card));border:1px solid var(--component-widget-border, var(--border-color));border-radius:10px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0;position:relative;overflow:visible}.dashboard-tile.span-1{grid-column:span 1}.dashboard-tile.span-2{grid-column:span 2}.dashboard-tile.span-full{grid-column:1 / -1}@media (max-width: 768px){.dashboard-grid{grid-template-columns:1fr}.dashboard-tile.span-2,.dashboard-tile.span-full{grid-column:span 1}}.dashboard-tile-body{flex:1;display:flex;flex-direction:column;min-width:0}.dashboard-tile-body .widget-mini-card{border:none;flex:1}.dashboard-tile-number .widget-mini-card{padding:1.25rem 1rem .75rem}.dashboard-tile-title{white-space:normal}.dashboard-tile-title-row{display:flex;align-items:flex-start;gap:.35rem;min-width:0}.dashboard-tile-title-row .dashboard-tile-title{flex:1;min-width:0}.dashboard-widget-info{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.25rem;height:1.25rem;margin:0;padding:0;border:none;background:transparent;color:var(--text-muted);font-size:.8rem;line-height:1;cursor:help;border-radius:50%}.dashboard-widget-info:hover,.dashboard-widget-info:focus-visible{color:var(--primary);outline:none}.dashboard-widget-tooltip{position:absolute;bottom:calc(100% + .45rem);right:0;left:auto;transform:none;z-index:1200;display:none;width:max-content;max-width:min(280px,calc(100vw - 2rem));padding:.5rem .65rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-card);color:var(--text-main);font-size:.75rem;font-weight:400;line-height:1.4;text-align:left;white-space:normal;box-shadow:var(--shadow);pointer-events:none}.dashboard-widget-settings-label .dashboard-widget-tooltip{right:auto;left:0}.dashboard-widget-info:hover .dashboard-widget-tooltip,.dashboard-widget-info:focus-visible .dashboard-widget-tooltip{display:block}.dashboard-widget-picker-item-label-row{display:flex;align-items:flex-start;gap:.35rem;min-width:0}.dashboard-widget-picker-item-label-row .dashboard-widget-picker-item-label{flex:1;min-width:0}.dashboard-widget-settings-label{display:inline-flex;align-items:flex-start;gap:.35rem;flex-wrap:wrap}.dashboard-widget-settings-label .dashboard-widget-info{margin-top:.1rem}.dashboard-tile-plugin{display:none}.dashboard-tile-edit{display:none;align-items:center;gap:.35rem;padding:.4rem .5rem;background:var(--component-widget-header-bg, var(--bg-widget-header, var(--bg-body)));border-bottom:1px solid var(--component-widget-border, var(--border-color))}.edit-mode .dashboard-tile-edit{display:flex}.dashboard-tile-handle{cursor:grab;padding:.25rem .4rem;color:var(--text-muted);opacity:.6}.dashboard-tile-handle:active{cursor:grabbing}.dashboard-tile-span-controls{display:flex;gap:.2rem;margin-left:auto}.dashboard-span-btn{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-muted);font-size:.65rem;font-weight:600;padding:.15rem .4rem;border-radius:4px;cursor:pointer;line-height:1.2}.dashboard-span-btn:hover{border-color:var(--primary);color:var(--text-main)}.dashboard-span-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.dashboard-tile-remove{border:none;background:transparent;color:var(--text-muted);padding:.25rem .4rem;cursor:pointer;border-radius:4px}.dashboard-tile-remove:hover{color:var(--danger, #e63946);background:var(--hover-bg)}.edit-mode .dashboard-tile{border-style:dashed}.edit-mode .dashboard-tile:hover{border-color:var(--primary)}.edit-mode .dashboard-tile-title[contenteditable=true]{outline:1px dashed var(--primary);border-radius:3px;padding:.1rem .2rem;cursor:text}.dashboard-empty-state{text-align:center;padding:3rem 1.5rem;margin-top:1.5rem}.dashboard-empty-icon{opacity:.2;margin-bottom:1rem}.dashboard-empty-title{opacity:.6;font-weight:600}.dashboard-empty-hint{opacity:.4;font-size:.9rem;margin-top:.4rem}.dashboard-widget-picker{position:fixed;inset:0;z-index:1050;display:flex;align-items:center;justify-content:center}.dashboard-widget-picker-backdrop{position:absolute;inset:0;background:#00000073}.dashboard-widget-picker-panel{position:relative;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow);width:min(480px,calc(100vw - 2rem));max-height:min(70vh,520px);display:flex;flex-direction:column;overflow:hidden}.dashboard-widget-picker-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.dashboard-widget-picker-list{overflow-y:auto;padding:.5rem}.dashboard-widget-picker-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;text-align:left;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-body);margin-bottom:.5rem;cursor:pointer;transition:border-color .15s}.dashboard-widget-picker-item:hover{border-color:var(--primary)}.dashboard-widget-picker-item-label{font-weight:600;color:var(--text-main)}.dashboard-widget-picker-item-meta{font-size:.75rem;color:var(--text-muted);margin-top:.15rem}.dashboard-widget-picker-empty{padding:2rem 1.25rem;text-align:center;color:var(--text-muted);font-size:.9rem}.dashboard-value-status-green{color:var(--success)}.dashboard-value-status-yellow{color:var(--warning)}.dashboard-value-status-red{color:var(--danger, #e63946)}.dashboard-tile.status-green{border-left:3px solid var(--success)}.dashboard-tile.status-green .dashboard-tile-number{background:var(--success-alpha-15, rgba(16, 185, 129, .08))}.dashboard-tile.status-yellow{border-left:3px solid var(--warning)}.dashboard-tile.status-yellow .dashboard-tile-number{background:var(--warning-alpha-15, rgba(245, 158, 11, .08))}.dashboard-tile.status-red{border-left:3px solid var(--danger, #e63946)}.dashboard-tile.status-red .dashboard-tile-number{background:var(--danger-alpha-20, rgba(230, 57, 70, .08))}.dashboard-threshold-toggle{border:none;background:transparent;color:var(--text-muted);padding:.25rem .4rem;cursor:pointer;border-radius:4px;line-height:1}.dashboard-threshold-toggle:hover,.dashboard-threshold-toggle[aria-expanded=true]{color:var(--primary);background:var(--hover-bg)}.dashboard-tile-chart .dashboard-threshold-toggle{display:none}.dashboard-threshold-panel{display:none;padding:.5rem .65rem .65rem;background:var(--component-widget-header-bg, var(--bg-widget-header, var(--bg-body)));border-bottom:1px solid var(--component-widget-border, var(--border-color));font-size:.75rem}.edit-mode .dashboard-threshold-panel:not(.hidden){display:block}.dashboard-threshold-row{display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem;cursor:pointer;font-weight:500}.dashboard-threshold-fields{display:grid;grid-template-columns:1fr 1fr;gap:.4rem .5rem}.dashboard-threshold-field{display:flex;flex-direction:column;gap:.15rem}.dashboard-threshold-field:first-child{grid-column:1 / -1}.dashboard-threshold-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600}.dashboard-threshold-direction,.dashboard-threshold-green,.dashboard-threshold-yellow{width:100%;padding:.25rem .4rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-card);color:var(--text-main);font-size:.75rem}.dashboard-threshold-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.45rem}.dashboard-threshold-preview{display:inline-flex;align-items:center;gap:.35rem;font-size:.7rem;color:var(--text-muted)}.dashboard-threshold-preview-dot{width:.55rem;height:.55rem;border-radius:50%;flex-shrink:0}.dashboard-threshold-preview-dot.preview-green{background:var(--success)}.dashboard-threshold-preview-dot.preview-yellow{background:var(--warning)}.dashboard-threshold-preview-dot.preview-red{background:var(--danger, #e63946)}.dashboard-threshold-error{font-size:.68rem;color:var(--danger, #e63946)}.dashboard-main-layout{display:block}.dashboard-main-content{min-width:0}body.dashboard-console-open .dashboard-main-layout{display:flex;gap:1.25rem;align-items:flex-start}body.dashboard-console-open .dashboard-main-content{flex:1;min-width:0}.dashboard-zones{display:flex;flex-direction:column;gap:1.5rem}.dashboard-zone-header{margin:0 0 .75rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.dashboard-tile.is-console-highlight{outline:2px solid var(--primary);outline-offset:2px;box-shadow:0 0 0 4px var(--primary-alpha-20, rgba(54, 153, 255, .15))}.dashboard-layout-console{width:320px;flex-shrink:0;max-height:calc(100vh - 8rem);overflow:auto;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow);padding:.85rem}.dashboard-console-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem;padding-bottom:.65rem;border-bottom:1px solid var(--border-color)}.dashboard-console-title{margin:0;font-size:.95rem;font-weight:700}.dashboard-console-section{margin-bottom:1rem}.dashboard-console-section-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.45rem}.dashboard-console-section-header h4{margin:0;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.dashboard-console-selection-count{font-size:.7rem;color:var(--text-muted)}.dashboard-console-bulk-bar{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.btn-quick-select{border:1px solid var(--border-color);background:var(--bg-body);color:var(--text-muted);font-size:.68rem;font-weight:600;padding:.2rem .45rem;border-radius:6px;cursor:pointer;line-height:1.3}.btn-quick-select:hover{border-color:var(--primary);color:var(--text-main)}.dashboard-console-list{list-style:none;margin:0;padding:0}.dashboard-console-row{display:flex;align-items:center;gap:.45rem;padding:.55rem .6rem;margin-bottom:.4rem;background:var(--bg-body);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.dashboard-console-row:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.dashboard-console-select-wrap{display:flex;align-items:center;margin:0;cursor:pointer}.dashboard-console-handle{color:var(--text-muted);cursor:grab;font-size:.9rem;flex-shrink:0}.dashboard-console-handle:active{cursor:grabbing}.dashboard-console-info{flex:1;min-width:0}.dashboard-console-label{display:block;font-size:.8rem;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-console-meta{display:block;font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin-top:.1rem}.dashboard-console-presets{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:.4rem}.dashboard-console-presets-title{margin:0 0 .25rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.dashboard-console-preset-btn{width:100%;text-align:left}.dashboard-widget-picker-filters{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:0 1.25rem .75rem;border-bottom:1px solid var(--border-color)}.dashboard-picker-tabs{display:flex;gap:.25rem}.dashboard-picker-tab{border:1px solid var(--border-color);background:var(--bg-body);color:var(--text-muted);font-size:.72rem;font-weight:600;padding:.25rem .55rem;border-radius:6px;cursor:pointer}.dashboard-picker-tab.active,.dashboard-picker-tab:hover{border-color:var(--primary);color:var(--text-main)}.dashboard-picker-tab.active{background:var(--primary-alpha-15, rgba(54, 153, 255, .12))}.dashboard-picker-plugin-filter{flex:1;min-width:140px;padding:.3rem .45rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-card);color:var(--text-main);font-size:.75rem}.dashboard-widget-picker-actions{padding:.65rem 1.25rem;border-bottom:1px solid var(--border-color)}.dashboard-widget-picker-item-selectable{display:flex;align-items:flex-start;gap:.65rem;cursor:pointer;text-align:left}.dashboard-widget-picker-item-selectable .dashboard-picker-select{margin-top:.35rem;flex-shrink:0}.dashboard-widget-picker-item-content{flex:1;min-width:0}.dashboard-picker-quick-add{border:none;background:transparent;color:var(--text-muted);padding:.35rem;cursor:pointer;border-radius:6px;flex-shrink:0}.dashboard-picker-quick-add:hover{color:var(--primary);background:var(--hover-bg)}@media (max-width: 768px){body.dashboard-console-open .dashboard-main-layout{flex-direction:column}.dashboard-layout-console{width:100%;max-height:45vh;position:sticky;bottom:0;z-index:100}}
