










.weekly-plan-form{display:grid;gap:14px}
.weekly-step{display:grid;gap:10px;padding:13px;border:1px solid var(--border);border-radius:15px;background:var(--surface)}
.weekly-step>header{display:flex;align-items:center;gap:9px}
.weekly-step>header>span{display:grid;width:28px;height:28px;place-items:center;border-radius:999px;background:var(--authority);color:#fff;font-size:.72rem;font-weight:900}
.weekly-step>header div{display:grid;gap:1px}
.weekly-step>header strong{font-size:.82rem}
.weekly-step>header small,.weekly-step label>small{color:var(--muted);font-size:.67rem}
.weekly-step>label,.weekly-search-row label,.weekly-settings label{display:grid;gap:5px}
.weekly-step label>span{font-size:.7rem;font-weight:850}
.weekly-step select,.weekly-step input,.weekly-step textarea{width:100%;min-height:44px;box-sizing:border-box;padding:9px 11px;border:1px solid var(--border);border-radius:10px;background:var(--canvas);color:var(--ink);font:inherit}
.weekly-nav{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px}
.weekly-nav button{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--border);border-radius:10px;background:var(--canvas);color:var(--ink);cursor:pointer}
.weekly-nav button svg{width:18px}
.weekly-nav>strong{text-align:center;font-size:.75rem}
.weekly-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.weekly-days button{display:grid;min-width:0;min-height:52px;place-items:center;padding:6px 2px;border:1px solid var(--border);border-radius:10px;background:var(--canvas);color:var(--ink);cursor:pointer}
.weekly-days button small{font-size:.55rem;color:var(--muted)}
.weekly-days button strong{font-size:.8rem}
.weekly-days button.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
.weekly-days button:disabled{cursor:not-allowed;opacity:.38}
.weekly-search-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px}
.weekly-settings{display:grid;grid-template-columns:2fr 1fr;gap:8px}
.weekly-customer-results{display:grid;max-height:260px;gap:6px;overflow:auto;padding-right:2px}
.weekly-customer-row{display:flex!important;min-height:48px!important;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--border);border-radius:11px;background:var(--canvas);cursor:pointer}
.weekly-customer-row input{width:20px!important;min-height:20px!important;flex:0 0 20px}
.weekly-customer-row>span{display:grid;gap:2px}
.weekly-customer-row strong{font-size:.77rem}
.weekly-customer-row small{color:var(--muted);font-size:.65rem}
.weekly-empty{padding:18px;border-radius:11px;background:var(--canvas);color:var(--muted);font-size:.72rem;text-align:center}
.weekly-empty.error{color:var(--danger)}
.weekly-review{display:grid;gap:8px;padding:11px;border-radius:12px;background:var(--authority-soft)}
.weekly-review>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.weekly-review span{display:grid;gap:1px}
.weekly-review span strong{font-size:.88rem}
.weekly-review span small,.weekly-review p small{color:var(--muted);font-size:.65rem}
.weekly-review p{display:grid;gap:3px;margin:0;padding-top:8px;border-top:1px solid color-mix(in srgb,var(--authority) 18%,transparent)}
.weekly-review p strong{font-size:.72rem}
.weekly-publish-row{position:sticky;bottom:-1px;padding-top:10px;background:var(--surface)}
@media(max-width:680px){.weekly-search-row{grid-template-columns:1fr 1fr}
.weekly-search-row label:first-child{grid-column:1/-1}
.weekly-days{gap:3px}
.weekly-days button{min-height:48px}
.weekly-days button small{font-size:.49rem}}
@media(max-width:420px){.weekly-settings,.weekly-search-row{grid-template-columns:1fr}
.weekly-search-row label:first-child{grid-column:auto}
.weekly-step{padding:11px}
.weekly-days button small{font-size:.45rem}}
.weekly-customer-results{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:8px;
  max-height:min(340px,42dvh);
  overflow-x:hidden;
  overflow-y:auto;
  padding:2px 4px 2px 0;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
}
.weekly-customer-row{
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr);
  align-items:start;
  gap:10px;
  width:100%;
  height:auto!important;
  min-height:68px!important;
  flex:0 0 auto;
  box-sizing:border-box;
  padding:12px;
  border-radius:13px;
  touch-action:manipulation;
  transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease;
}
.weekly-customer-row:hover{ border-color:var(--border-strong); }
.weekly-customer-row:focus-within{
  border-color:var(--accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent);
}
.weekly-customer-row.selected{
  border-color:color-mix(in srgb,var(--accent) 55%,var(--border));
  background:var(--accent-soft);
}
.weekly-customer-row input{
  grid-column:1;
  align-self:start;
  width:24px!important;
  height:24px!important;
  min-height:24px!important;
  margin:2px 0 0;
  padding:0;
  accent-color:var(--accent);
}
.weekly-customer-copy{
  grid-column:2;
  display:block!important;
  min-width:0;
  width:100%;
}
.weekly-customer-copy strong{
  display:block;
  margin:0;
  color:var(--ink);
  font-size:.8rem;
  font-weight:800;
  line-height:1.38;
  white-space:normal;
  overflow-wrap:anywhere;
}
.weekly-customer-copy small{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:.68rem;
  font-weight:600;
  line-height:1.4;
  white-space:normal;
  overflow-wrap:anywhere;
}
@media (max-width:420px){.weekly-customer-results{ max-height:min(360px,44dvh); gap:9px; }
.weekly-customer-row{ min-height:72px!important; padding:12px 11px; }
.weekly-customer-copy strong{ font-size:.82rem; line-height:1.4; }}
@media (prefers-reduced-motion:reduce){.weekly-customer-row{ transition:none; }}
.weekly-search-row{ grid-template-columns:minmax(220px,2fr) repeat(3,minmax(130px,1fr)); }
.weekly-salesman-filter small{ line-height:1.35; }
@media (max-width:680px){.weekly-search-row{ grid-template-columns:1fr 1fr; }
.weekly-search-field,.weekly-salesman-filter{ grid-column:1/-1; }}
@media (max-width:420px){.weekly-search-row{ grid-template-columns:1fr; }
.weekly-search-field,.weekly-salesman-filter{ grid-column:auto; }}
.weekly-note-composer{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--canvas);
}
.weekly-note-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.weekly-note-heading > div{ display:grid; gap:2px; min-width:0; }
.weekly-note-heading strong{ color:var(--ink); font-size:.82rem; }
.weekly-note-heading small{ color:var(--muted); font-size:.67rem; line-height:1.4; }
.weekly-note-heading > span{
  flex:0 0 auto;
  padding:6px 9px;
  border-radius:999px;
  background:var(--authority-soft);
  color:var(--authority);
  font-size:.62rem;
  font-weight:850;
}
.weekly-note-field{ display:grid; gap:5px; }
.weekly-note-field > span,.weekly-note-scope legend{ color:var(--ink); font-size:.7rem; font-weight:850; }
.weekly-note-field textarea{ min-height:88px; resize:vertical; line-height:1.5; }
.weekly-note-field > small{ color:var(--muted); font-size:.65rem; }
.weekly-note-scope{ min-width:0; margin:0; padding:0; border:0; }
.weekly-note-scope legend{ margin-bottom:7px; }
.weekly-note-scope-options{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.weekly-note-scope-options label{ position:relative; cursor:pointer; }
.weekly-note-scope-options input{ position:absolute; opacity:0; pointer-events:none; }
.weekly-note-scope-options label > span{
  display:grid;
  min-height:56px;
  box-sizing:border-box;
  align-content:center;
  gap:2px;
  padding:9px 11px;
  border:1px solid var(--border);
  border-radius:11px;
  background:var(--surface);
  transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease;
}
.weekly-note-scope-options strong{ font-size:.72rem; }
.weekly-note-scope-options small{ color:var(--muted); font-size:.62rem; }
.weekly-note-scope-options input:checked + span{
  border-color:var(--authority);
  background:var(--authority-soft);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--authority) 12%,transparent);
}
.weekly-note-scope-options input:focus-visible + span{
  outline:3px solid color-mix(in srgb,var(--authority) 28%,transparent);
  outline-offset:2px;
}
.weekly-note-targets{
  display:grid;
  gap:8px;
  padding:10px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface);
}
.weekly-note-targets.hidden{ display:none!important; }
.weekly-note-target-toolbar{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.weekly-note-target-toolbar > span{ display:grid; gap:1px; }
.weekly-note-target-toolbar strong{ font-size:.7rem; }
.weekly-note-target-toolbar small{ color:var(--muted); font-size:.61rem; }
.weekly-note-target-toolbar > div{ display:flex; gap:6px; }
.weekly-note-target-toolbar button{
  min-height:44px;
  padding:0 10px;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--canvas);
  color:var(--authority);
  font:inherit;
  font-size:.64rem;
  font-weight:850;
  cursor:pointer;
}
.weekly-note-target-list{
  display:grid;
  max-height:220px;
  gap:6px;
  overflow:auto;
  overscroll-behavior:contain;
}
.weekly-note-target-list label{
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr);
  min-height:52px;
  box-sizing:border-box;
  align-items:center;
  gap:9px;
  padding:8px 10px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--canvas);
  cursor:pointer;
}
.weekly-note-target-list input{ width:22px!important; height:22px!important; min-height:22px!important; padding:0; accent-color:var(--authority); }
.weekly-note-target-list label > span{ display:grid; min-width:0; gap:2px; }
.weekly-note-target-list strong{ font-size:.7rem; line-height:1.35; overflow-wrap:anywhere; }
.weekly-note-target-list small{ color:var(--muted); font-size:.61rem; }
.weekly-note-target-list p{ margin:0; padding:12px; color:var(--muted); font-size:.68rem; text-align:center; }
.weekly-note-error{ min-height:0; color:var(--danger); font-size:.67rem; font-weight:750; }
.weekly-note-error:not(:empty){ padding:8px 10px; border-radius:9px; background:var(--danger-soft); }
.weekly-add-instruction{ width:100%; min-height:46px; cursor:pointer; }
.weekly-note-rules{ display:grid; gap:7px; }
.weekly-note-empty{ display:grid; gap:2px; padding:10px 11px; border-radius:10px; background:var(--surface); }
.weekly-note-empty strong{ font-size:.68rem; }
.weekly-note-empty small{ color:var(--muted); font-size:.62rem; line-height:1.4; }
.weekly-note-rule{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:10px 11px;
  border-left:3px solid var(--success);
  border-radius:10px;
  background:var(--success-soft);
}
.weekly-note-rule > span{ display:grid; min-width:0; gap:3px; }
.weekly-note-rule small{ color:var(--success); font-size:.57rem; font-weight:900; letter-spacing:.04em; }
.weekly-note-rule strong{ font-size:.69rem; line-height:1.4; white-space:normal; overflow-wrap:anywhere; }
.weekly-note-rule em{ color:var(--muted); font-size:.6rem; font-style:normal; white-space:normal; overflow-wrap:anywhere; }
.weekly-note-rule button{
  min-width:64px;
  min-height:44px;
  border:1px solid color-mix(in srgb,var(--danger) 24%,var(--border));
  border-radius:9px;
  background:var(--surface);
  color:var(--danger);
  font:inherit;
  font-size:.62rem;
  font-weight:850;
  cursor:pointer;
}
@media (max-width:420px){.weekly-note-composer{ padding:12px; }
.weekly-note-scope-options{ grid-template-columns:1fr; }
.weekly-note-target-toolbar{ align-items:flex-start; }
.weekly-note-rule{ grid-template-columns:minmax(0,1fr); }
.weekly-note-rule button{ width:100%; }}
@media (prefers-reduced-motion:reduce){.weekly-note-scope-options label > span{ transition:none; }}






@media (max-width:600px){.weekly-days{ grid-template-columns:repeat(4,1fr); gap:6px; }
.weekly-days button{ min-height:54px; }
.weekly-search-row,.weekly-settings{ grid-template-columns:1fr; }
.weekly-search-row label:first-child{ grid-column:auto; }}






.weekly-plan-form .assignment-target-options{display:none}
