.shell:has(.dashboard-shell){max-width:none;margin:0;padding:0}.dashboard-shell{display:flex;flex-direction:column;min-height:100vh;background:var(--app-bg)}.dashboard-topbar{height:var(--app-topbar-height);min-height:var(--app-topbar-height);display:flex;align-items:center;gap:16px;padding:0 24px;background:var(--app-surface);border-bottom:1px solid var(--app-border);box-sizing:border-box}.dashboard-topbar-title{font:var(--text-h5);color:var(--text-base);flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-topbar-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.dashboard-topbar-email{color:var(--text-subtle);font:var(--text-sm);white-space:nowrap}.dashboard-icon-button{width:38px;height:38px;border-radius:var(--app-radius-sm);border:none;background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-base);transition:background .15s ease}.dashboard-icon-button:hover:not(:disabled){background:var(--bg-subtle)}.dashboard-content{flex:1 1;width:100%;max-width:1760px;margin:0 auto;padding:var(--app-gap) 32px 48px;box-sizing:border-box}.dashboard-content-header{margin-bottom:var(--space-5)}.dashboard-content-header h1{margin:0 0 var(--space-1)}.dashboard-content-lead{color:var(--text-subtle);font:var(--text-sm);margin:0;max-width:68ch}.dashboard-loading{display:flex;flex-direction:column;gap:var(--space-4)}.dashboard-banner-error{background:var(--bg-error);color:var(--text-error);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);font:var(--text-sm)}.dashboard-widget-grid{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);min-width:0}.dashboard-widget-grid>*{flex:1 1 380px;min-width:min(100%,380px);max-width:100%}.dashboard-widget-grid>:only-child{flex-grow:0;max-width:560px}.widget-tile-body{min-height:80px}.widget-tile-error{display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start}.dashboard-widget-grid .card-title{font:var(--fw-semibold) var(--text-sm-size) /var(--text-sm-line) var(--font-ui);letter-spacing:normal}.dashboard-widget-grid .card-title a{color:inherit}.dashboard-widget-grid .card-title a:hover{color:var(--text-link-hover)}.widget-tile-title{display:inline-flex;align-items:center;gap:var(--space-2)}.dashboard-widget-grid .empty-state{padding:var(--space-2) 0;align-items:flex-start;text-align:left;gap:2px}.dashboard-widget-grid .empty-state-icon{display:flex;width:auto;height:auto;font-size:18px;margin-bottom:1px}.dashboard-widget-grid .empty-state-title{font:var(--fw-semibold) var(--text-sm-size) /var(--text-sm-line) var(--font-ui)}.dashboard-widget-grid .empty-state-description{font:var(--text-xs);max-width:none}.hotspot-row{display:flex;flex-direction:column;gap:2px;min-width:0}.hotspot-row-title{font:var(--fw-semibold) var(--text-sm-size) /var(--text-sm-line) var(--font-ui);color:var(--text-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.hotspot-row-metric{font:var(--text-sm);color:var(--text-subtle)}.mytimes-project-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.mytimes-project-link{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-1);border-radius:var(--app-radius-sm);color:inherit;text-decoration:none}.mytimes-project-link:hover{background:var(--app-surface-hover)}.mytimes-project-link:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.mytimes-row-name{font:var(--fw-semibold) var(--text-sm-size) /var(--text-sm-line) var(--font-ui);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mytimes-row-hours{font:var(--text-sm);color:var(--text-subtle);white-space:nowrap;flex-shrink:0}.mytimes-missing-bookings{display:flex;align-items:center;gap:var(--space-2);margin:0;padding-top:var(--space-2);border-top:1px solid var(--app-border);color:var(--text-warning);font:var(--text-sm)}.mytimes-missing-bookings .icon{color:var(--text-warning);flex-shrink:0}.widget-stack{display:flex;flex-direction:column;gap:var(--space-3)}.widget-asof-line{color:var(--text-subtle);font:var(--text-sm);margin:0}.widget-freshness-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.widget-freshness-item{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.widget-freshness-source{color:var(--text-base);font:var(--text-sm)}.widget-freshness-asof{color:var(--text-subtle);font:var(--text-sm);margin-left:auto}.widget-gate2-criteria{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.widget-footer-link{align-self:flex-start;color:var(--text-link);font:var(--text-sm);font-weight:500;text-decoration:none}.widget-footer-link:hover{color:var(--text-link-hover);text-decoration:underline}.unit-count-tiles{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-3)}.unit-count-tile{display:flex;flex-direction:column;gap:2px;min-width:88px;padding:var(--space-2) var(--space-3);border:1px solid var(--app-border);border-radius:var(--app-radius-sm)}.unit-count-value{font:var(--text-h4);font-weight:700;color:var(--text-base)}.unit-count-label{font:var(--text-sm);color:var(--text-subtle)}.dashboard-builder{background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--radius-md);padding:var(--space-4)}.dashboard-builder h2{margin:0 0 var(--space-3);font:var(--text-lg)}.dashboard-builder-error{color:var(--text-error);font:var(--text-sm);margin:0 0 var(--space-3)}.dashboard-builder-add{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-4)}.dashboard-builder-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.dashboard-builder-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--app-border);border-radius:var(--radius-sm)}.dashboard-builder-actions{display:flex;gap:var(--space-1)}@media (max-width:1024px){.dashboard-content{padding-inline:24px}.dashboard-topbar-email{display:none}}@media (max-width:768px){.dashboard-content{padding:var(--space-4) var(--space-4) max(var(--space-6),env(safe-area-inset-bottom))}.dashboard-widget-grid>*{flex-basis:100%;max-width:none}.dashboard-builder-item{align-items:flex-start}}@media (max-width:480px){.dashboard-topbar{padding-inline:max(var(--space-3),env(safe-area-inset-left))}.dashboard-builder-actions,.dashboard-builder-add>*{width:100%}.dashboard-builder-item{flex-direction:column}.dashboard-builder-actions>*{flex:1 1}.widget-freshness-asof{width:100%;margin-left:0}}