



.home-layout { --edge:var(--line); --home-gap:32px; display:grid; gap:var(--home-gap); }
.home-layout .page-title { margin:0; padding-bottom:24px; border-bottom:1px solid var(--line); }
.home-layout h1 { font-family:inherit; font-size:32px; font-weight:650; letter-spacing:-1px; }
.home-layout h2 { font-family:inherit; font-size:18px; font-weight:650; letter-spacing:-.3px; }
.home-layout .section-heading { flex-wrap:wrap; gap:8px 16px; margin-bottom:18px; }
.home-layout .section-heading p { max-width:65ch; line-height:1.55; font-size:13px; }
.home-layout .quiet-link { min-height:36px; font-size:13px; font-weight:600; }
.home-layout .button { box-shadow:none; border:1px solid var(--line); border-radius:8px; }
.home-layout .button:hover { border-color:var(--ink); }
.home-layout .notice { margin:0; }
.home-attention { background:var(--warning-wash); border:1px solid var(--warning-line); border-radius:10px; padding:0 18px; }
.home-attention summary { display:flex; align-items:center; gap:12px; padding:14px 0; cursor:pointer; list-style:none; }
.home-attention summary::-webkit-details-marker { display:none; }
.home-attention summary>span { flex:1; }
.home-attention summary strong,.home-attention summary small { display:block; }
.home-attention summary strong { font-size:13px; }
.home-attention summary small { margin-top:3px; color:var(--warning-ink); font-size:12px; }
.home-attention summary>.icon { width:18px; color:var(--warning-ink); }
.home-attention[open] summary>.icon:last-child { transform:rotate(180deg); }
.attention-item { display:flex; align-items:center; gap:14px; padding:14px 0; border-top:1px solid var(--warning-line); }
.attention-copy { flex:1; min-width:0; }
.attention-copy strong { display:block; font-size:14px; }
.attention-copy small { display:block; margin-top:4px; line-height:1.5; color:var(--warning-ink); }
.attention-action { display:flex; align-items:center; gap:8px; font-size:12px; font-weight:600; flex-shrink:0; }
.attention-action .icon { width:14px; }
.attention-item:hover .attention-action { text-decoration:underline; text-underline-offset:3px; }
.shortcut-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.shortcut-grid.shortcut-count-4,.shortcut-grid.shortcut-count-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.shortcut-grid.shortcut-count-1 { grid-template-columns:1fr; }
.module-shortcut { display:grid; grid-template-columns:40px minmax(0,1fr) auto; align-items:center; column-gap:12px; row-gap:4px; min-width:0; background:var(--paper); border:1px solid var(--edge); border-radius:10px; padding:20px; }
.module-shortcut:hover { border-color:var(--accent-line); background:var(--accent-wash); }
.module-shortcut .module-icon { grid-column:1; grid-row:1 / span 2; width:40px; height:40px; border:0; box-shadow:none; border-radius:10px; }
.module-shortcut:not(:has(.shortcut-description)) .module-icon { grid-row:1; }
.module-shortcut .shortcut-copy { display:contents; }
.module-shortcut strong { grid-column:2; grid-row:1; display:block; min-width:0; overflow-wrap:anywhere; font-size:14px; line-height:1.5; }
.module-shortcut small { display:block; font-size:12px; line-height:1.6; }
.shortcut-description { grid-column:2 / 4; grid-row:2; margin:0; color:var(--muted); }
.module-shortcut .shortcut-state { grid-column:3; grid-row:1; justify-self:end; margin:0; padding:2px 6px; border-radius:5px; font-size:10px; font-weight:500; line-height:1.5; white-space:nowrap; color:var(--muted); background:var(--wash); }
.module-shortcut .shortcut-state.is-enabled { color:var(--accent-ink); background:var(--accent-wash); }
.module-shortcut .shortcut-state.is-unavailable { color:var(--warning-ink); background:var(--warning-wash); }
.shortcut-grid.shortcut-list { grid-template-columns:1fr; gap:0; border:1px solid var(--edge); border-radius:10px; overflow:hidden; }
.shortcut-list .module-shortcut { border:0; border-bottom:1px solid var(--edge); border-radius:0; align-items:center; }
.shortcut-list .module-shortcut:last-child { border-bottom:0; }
.home-empty-pins { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:28px; border:1px dashed var(--edge); border-radius:10px; }
.home-empty-pins p { margin-top:6px; color:var(--muted); line-height:1.6; }
.home-layout .home-metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); border:1px solid var(--line); border-radius:10px; box-shadow:none; background:var(--paper); padding:6px; margin:0; }
.home-metrics .metric,.home-metrics .metric:first-child { padding:18px; border:0; min-width:0; }
.home-metrics .metric strong { font-family:inherit; font-size:28px; font-weight:600; letter-spacing:-.8px; font-variant-numeric:tabular-nums; }
.home-metrics .metric small { display:block; line-height:1.5; }
.home-metrics .metric-label { font-size:12px; }
.home-activity-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; }
.home-activity-grid.activity-stacked { grid-template-columns:1fr; }
.home-panel { background:var(--paper); border:1px solid var(--edge); border-radius:10px; padding:22px; min-width:0; }
.home-panel:only-child { grid-column:1/-1; }
.home-panel .section-heading { margin-bottom:16px; }
.home-panel .quiet-link { font-size:12px; }
.home-panel .timeline { border-top:0; }
.home-panel .timeline-item:last-child { border:0; padding-bottom:0; }
.home-panel .timeline-item:first-child { padding-top:0; }
.home-panel .empty { padding:25px 10px; }
.home-event { display:flex; align-items:center; gap:12px; padding:16px 0; border-top:1px solid var(--line); }
.home-event:first-child { border:0; padding-top:4px; }
.home-event:last-child { padding-bottom:0; }
.event-symbol { display:grid; place-items:center; width:34px; height:34px; flex-shrink:0; background:var(--wash); border-radius:8px; }
.event-symbol .icon { width:17px; }
.event-copy { flex:1; min-width:0; }
.event-copy strong { display:block; font-size:13px; overflow-wrap:anywhere; }
.event-copy small { display:block; margin-top:5px; line-height:1.5; }
.event-action { font-size:12px; text-transform:capitalize; }
.home-layout.density-compact { --home-gap:22px; }
.density-compact .module-shortcut { padding:14px; }
.density-compact .home-panel { padding:16px; }
.density-compact .home-metrics .metric { padding:12px; }
.density-compact .section-heading { margin-bottom:12px; }
.overview-dialog { width:min(760px,calc(100vw - 32px)); border:1px solid var(--line); border-radius:16px; box-shadow:0 24px 80px #25272d26; }
.overview-dialog .dialog-head h2 { font-family:inherit; font-size:22px; letter-spacing:-.5px; }
.overview-dialog .customizer-intro { margin-bottom:24px; max-width:65ch; }
.overview-dialog .customizer-section { margin:0 0 24px; padding:0; border:0; min-width:0; }
.customizer-section legend { font-size:15px; font-weight:650; padding:0; margin-bottom:6px; }
.overview-dialog .customizer-section>p { font-size:13px; margin:0 0 12px; }
.layout-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:12px; }
.layout-choice { display:grid; gap:7px; font-size:12px; font-weight:600; }
.layout-choice select { width:100%; min-width:0; font-weight:400; }
.overview-dialog .panel-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
.overview-dialog .panel-choice { min-height:44px; }
.overview-dialog .pin-choice { font-size:12px; border-color:var(--line); border-radius:8px; }
.overview-dialog input[type=checkbox] { width:17px; height:17px; flex-shrink:0; accent-color:var(--accent-ink); }
.shortcut-order { margin-top:14px; }
.shortcut-order-row { display:flex; gap:6px; align-items:center; border-bottom:1px solid var(--line); padding:6px 0; }
.shortcut-order-row>span { flex:1; font-size:13px; }
.overview-dialog .order-button { min-height:34px; width:34px; padding:6px; box-shadow:none; border:1px solid var(--line); border-radius:6px; }
.order-button.move-up .icon { transform:rotate(180deg); }
.overview-dialog .reset-overview { margin-right:auto; }
.overview-dialog .dialog-actions { flex-wrap:wrap; }
@media(max-width:1200px) { .shortcut-grid:not(.shortcut-list, .shortcut-count-1) { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:950px) { .home-activity-grid { grid-template-columns:1fr; } }
@media(max-width:720px) {
  .home-layout h1 { font-size:28px; }
  .module-library h1 { font-size:30px; }
  .home-layout .page-title { gap:16px; }
  .home-layout { --home-gap:24px; }
  .home-panel { padding:18px; }
  .attention-item { align-items:flex-start; flex-direction:column; gap:8px; }
  .home-empty-pins { align-items:flex-start; flex-direction:column; }
}
@media(max-width:520px) {
  .shortcut-grid:not(.shortcut-list) { grid-template-columns:1fr; }
  .home-layout .home-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-metrics .metric,.home-metrics .metric:first-child { padding:12px; }
  .home-metrics .metric strong { font-size:24px; }
  .layout-choices,.overview-dialog .panel-choices { grid-template-columns:1fr; }
  .overview-dialog .reset-overview { margin-right:0; }
}

.module-library .page-title { margin-bottom:26px; }
.module-library h1 { font-size:34px; letter-spacing:-1.2px; }
.module-library .quiet-link { min-height:36px; font-weight:600; }
.module-library .section-heading p { max-width:65ch; line-height:1.55; }

.catalog-tools { display:flex; align-items:center; gap:22px; margin-bottom:22px; }
.catalog-search.input-search { flex:1; max-width:560px; border:1.5px solid var(--edge); min-height:48px; }
.catalog-search input { font-size:14px; }
.catalog-categories { display:flex; flex-wrap:wrap; gap:8px; padding-bottom:22px; margin-bottom:20px; border-bottom:1px solid var(--line); }
.catalog-category-select { display:none; }
.catalog-categories button { display:inline-flex; align-items:center; justify-content:center; gap:9px; border:1px solid var(--edge); border-radius:10px; min-height:44px; padding:10px 15px; background:var(--paper); font-weight:600; font-size:13px; }
.catalog-categories .icon { width:18px; height:18px; }
.catalog-categories button.active { background:var(--accent); color:var(--accent-on); border-color:var(--ink); box-shadow:2px 3px 0 var(--shadow); }
.catalog-categories button:hover:not(.active) { background:var(--accent-wash); border-color:var(--ink); }
.catalog-filters { display:flex; flex-wrap:wrap; gap:6px 12px; }
.catalog-filters button { display:inline-flex; align-items:center; gap:8px; background:transparent; border:1px solid transparent; border-radius:8px; padding:8px 11px; min-height:40px; font-size:13px; color:var(--muted); }
.catalog-filters button.active { background:var(--lavender); border-color:var(--positive-line); color:var(--violet); font-weight:650; }
.catalog-filters button:hover:not(.active) { background:var(--wash); }
.filter-count { display:grid; place-items:center; min-width:21px; padding:1px 5px; border-radius:5px; background:var(--wash); font-size:11px; }
.catalog-results-heading { display:flex; align-items:center; margin:12px 0 16px; }
.catalog-results-heading .button { min-height:36px; padding:6px 10px; font-size:12px; text-decoration:underline; text-underline-offset:3px; }
.module-category { margin-bottom:32px; }
.module-category>.section-heading { margin-bottom:17px; }
.module-category>.section-heading h2 { font-size:21px; }
.module-category>.section-heading p { font-size:13px; }
.module-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:stretch; }
.module-card { display:flex; flex-direction:column; position:relative; min-width:0; height:270px; padding:20px; background:var(--paper); border:1.5px solid var(--edge); border-radius:16px; }
.module-card:focus-within { border-color:var(--ink); }
.module-card-top { display:grid; grid-template-columns:40px minmax(0,1fr) auto; align-items:center; column-gap:12px; row-gap:4px; margin-bottom:14px; }
.module-card-top .module-icon { grid-column:1; grid-row:1 / span 2; width:40px; height:40px; }
.module-card-top h3 { grid-column:2; grid-row:1; min-width:0; overflow-wrap:anywhere; }
.module-card-top .module-state { grid-column:3; grid-row:1; justify-self:end; }
.module-card-top .module-description { grid-column:2 / 4; grid-row:2; margin:0; overflow-wrap:anywhere; }
.module-icon.tone-community { background:var(--lavender); }
.module-icon.tone-automation { background:var(--wash); }
.module-icon.tone-utilities { background:var(--accent-wash); }
.module-state { display:inline-flex; align-items:center; color:var(--muted); font-size:10px; font-weight:500; line-height:1.5; white-space:nowrap; }
.module-state .icon { width:14px; height:14px; }
.module-state.is-enabled { color:var(--accent-ink); }
.module-state.is-unavailable { color:var(--warning-ink); }
.module-pin.button { display:grid; place-items:center; flex-shrink:0; width:38px; min-height:38px; padding:8px; margin-left:auto; border:1.5px solid var(--edge); background:var(--paper); box-shadow:none; border-radius:9px; color:var(--ink); }
.module-pin.button .icon { width:20px; height:20px; stroke-width:2; }
.module-pin.button:hover { border-color:var(--ink); background:var(--wash); }
.module-pin.button.is-pinned { background:var(--accent); border-color:var(--ink); color:var(--accent-on); box-shadow:1px 2px 0 var(--shadow); }
.module-card h3 { font-family:var(--display); font-size:20px; line-height:1.25; letter-spacing:-.4px; margin-bottom:9px; }
.module-description { color:var(--muted); font-size:13px; line-height:1.6; margin-bottom:12px; }
.module-card-bottom { display:flex; align-items:center; gap:16px; justify-content:space-between; padding-top:12px; margin-top:auto; }
.module-configure.button { justify-content:space-between; gap:16px; width:100%; min-height:42px; border-color:var(--edge); font-size:13px; padding:9px 12px; }
.module-configure .icon { width:14px; height:14px; }
.module-configure:hover { background:var(--accent-wash); border-color:var(--ink); }
.module-results>.empty { border:1px dashed var(--edge); border-radius:14px; background:var(--paper); }
.module-results>.button { display:flex; margin:16px auto; }
.overview-customizer>p { font-size:13px; color:var(--muted); margin-bottom:24px; }
.overview-customizer h3 { font-size:16px; margin-bottom:10px; }
.customize-hint { font-size:12px; color:var(--muted); margin-bottom:12px; }
.pin-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:26px; }
.pin-choice { display:flex; align-items:center; gap:9px; min-height:46px; padding:10px; border:1px solid var(--line); border-radius:9px; cursor:pointer; font-size:12px; }
.pin-choice:has(:checked) { background:var(--accent-wash); border-color:var(--accent-line); }
.pin-choice:has(:disabled) { color:var(--muted); cursor:not-allowed; }
.pin-choice input { flex-shrink:0; margin:0; }
.pin-choice .icon { width:17px; height:17px; }
.panel-choice { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:48px; border-bottom:1px solid var(--line); font-size:13px; cursor:pointer; }

@media(min-width:1500px) {
  .module-card-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:1200px) {
  .module-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:950px) {
  .catalog-tools { align-items:stretch; flex-direction:column; gap:10px; }
  .catalog-search.input-search { max-width:none; }
  .module-card { padding:17px; }
  .module-card-top { gap:6px; flex-wrap:wrap; }
  .module-card-top .module-icon { width:35px; height:35px; }
  .module-card h3 { font-size:18px; }
  .module-card-bottom { gap:8px; flex-wrap:wrap; }
}
@media(max-width:720px) {
  .catalog-categories { display:none; }
  .catalog-category-select { display:flex; align-items:center; gap:14px; margin-bottom:18px; font-size:13px; font-weight:600; }
  .catalog-category-select select { flex:1; min-width:0; min-height:44px; font-weight:400; }
  .catalog-categories button { font-size:12px; padding:9px 12px; }
  .catalog-filters { gap:4px; }
  .catalog-filters button { font-size:12px; padding:8px 9px; }
  .module-library .page-title p { font-size:14px; }
  .module-card-grid { gap:14px; }
}
@media(max-width:520px) {
  .module-card-grid,.pin-choices { grid-template-columns:1fr; }
  .module-card { padding:20px; }
  .module-card-top .module-icon { width:43px; height:43px; }
  .module-card h3 { font-size:21px; }
}