.dashboard-container{display:flex;flex-direction:column;height:100vh;background-color:var(--background-light);font-family:var(--font-family)}.dashboard-header{background-color:var(--background-white);padding:1rem;border-bottom:var(--border-light);box-shadow:var(--box-shadow-light)}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:var(--max-width);margin:0 auto;width:100%}.dashboard-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semi700);color:var(--text-dark);margin:0}.dashboard-actions{display:flex;gap:var(--gap-md)}.add-widget-button,.edit-button{display:inline-flex;align-items:center;gap:var(--sp-2,.5rem);padding:var(--sp-2,.5rem) var(--sp-4,1rem);border-radius:var(--radius-md,.375rem);font-size:var(--text-sm,.875rem);font-weight:500;cursor:pointer;border:1px solid var(--border,#d1d5db);background:var(--bg-card,#ffffff);color:var(--text-primary,#111827);transition:background-color .15s,border-color .15s}.edit-button:hover {background-color:var(--background-hover);border-color:var(--border-hover)}.add-widget-button{background-color:var(--primary,#3b82f6);border-color:var(--primary,#3b82f6);color:#fff}.add-widget-button:hover {background-color:var(--primary-hover);border-color:var(--primary-hover)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--gap-md);padding:1rem;max-width:var(--max-width);margin:0 auto;width:100%}.dashboard-grid.editing{gap:var(--gap-lg)}.dashboard-widget{background-color:var(--background-white);border-radius:var(--border-radius-md);box-shadow:var(--box-shadow-light);transition:var(--transition-base)}.dashboard-grid.editing .dashboard-widget{cursor:move;border:var(--border-dashed-light)}.dashboard-grid.editing .dashboard-widget:hover {border-color:var(--primary-color)}.widget-small{grid-column:span 1}.widget-medium{grid-column:span 2}.widget-large{grid-column:span 2;grid-row:span 2}.widget-full{grid-column:1 / -1}.widget-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:var(--border-light)}.widget-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semi700);color:var(--text-dark);margin:0}.widget-actions{display:flex;gap:var(--gap-sm)}.widget-refresh,.widget-settings{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:var(--radius-md,.375rem);background:transparent;color:var(--text-muted,#6b7280);cursor:pointer;transition:background-color .15s,color .15s}.widget-refresh:hover,.widget-settings:hover {background-color:var(--background-hover);color:var(--text-hover)}.widget-content{padding:1rem}.modal-content{background-color:var(--background-white);border-radius:var(--border-radius-md);box-shadow:var(--box-shadow-light);width:100%;max-width:600px;max-height:90vh;overflow:auto}.modal-header{}.modal-header h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semi700);color:var(--text-dark);margin:0}.close-button{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:var(--radius-md,.375rem);background:transparent;color:var(--text-muted,#6b7280);cursor:pointer;transition:background-color .15s,color .15s}.close-button:hover {background-color:var(--background-hover);color:var(--text-hover)}.modal-body{padding:1rem}.modal-footer{}.add-button,.cancel-button{display:inline-flex;align-items:center;padding:var(--sp-2,.5rem) var(--sp-4,1rem);border-radius:var(--radius-md,.375rem);font-size:var(--text-sm,.875rem);font-weight:500;cursor:pointer;border:1px solid var(--border,#d1d5db);transition:background-color .15s,border-color .15s}.cancel-button{background-color:var(--background-white);color:var(--text-dark)}.cancel-button:hover {background-color:var(--background-hover);border-color:var(--border-hover)}.add-button{background-color:var(--primary,#3b82f6);color:#fff}.add-button:hover {background-color:var(--primary-hover)}@media (max-width: 768px){.widget-actions{flex-direction:column}.modal-content{margin:1rem;max-height:calc(100vh - 2rem)}.modal-footer,.modal-header{padding:.75rem}.modal-body{padding:.75rem}.add-button,.cancel-button{width:100%}}@media (prefers-color-scheme: dark){.widget-refresh,.widget-settings{color:var(--text-muted-dark)}.widget-refresh:hover,.widget-settings:hover {background-color:var(--background-hover-dark);color:var(--text-hover-dark)}.modal-content{background-color:var(--background-dark)}.modal-footer,.modal-header{border-color:var(--border-dark)}.modal-header h2{color:var(--text-light)}.close-button{color:var(--text-muted-dark)}.close-button:hover {background-color:var(--background-hover-dark);color:var(--text-hover-dark)}.cancel-button{background-color:var(--background-dark);border-color:var(--border-muted-dark);color:var(--text-light)}.cancel-button:hover {background-color:var(--border-muted-dark)}.add-button{background-color:var(--primary,#3b82f6)}.add-button:hover {background-color:var(--primary-hover)}}@media (prefers-reduced-motion: reduce){.add-button,.cancel-button,.close-button{transition:none}}.add-button:focus ,.cancel-button:focus,.close-button:focus{outline:var(--focus-outline)}.add-button:focus:not(:focus-visible),.cancel-button:focus:not(:focus-visible),.close-button:focus:not(:focus-visible){outline:none}@media (forced-colors: active){.add-button,.cancel-button,.close-button{border:1px solid}.modal-backdrop{background-color:Canvas}.modal-content{border:1px solid}}@media print{.modal-backdrop{display:none}.modal-content{position:static;transform:none;box-shadow:none;border:var(--border-light)}}.kpi-trend{display:inline-block;font-size:.72rem;font-weight:600;padding:1px 5px;border-radius:4px;margin-top:2px}.kpi-trend--up{background:color-mix(in srgb,var(--color-success,#38a169) 15%,transparent);color:var(--color-success,#38a169)}.kpi-trend--down{background:color-mix(in srgb,var(--color-error,#e53e3e) 12%,transparent);color:var(--color-error,#e53e3e)}.kpi-target{display:flex;align-items:center;gap:6px;margin-top:4px}.kpi-target__bar{flex:1;height:5px;background:var(--border,#e5e7eb);border-radius:99px;overflow:hidden}.kpi-target__fill{height:100%;border-radius:99px;transition:width .4s ease}.kpi-target__label{font-size:.7rem;color:var(--text-secondary,#6b7280);white-space:nowrap}.sparkline-svg{display:block;width:80px;height:28px;margin-top:4px}.sparkline-empty{display:none}