.rep-planning-grid{display:grid;grid-template-columns:minmax(350px,.82fr) minmax(520px,1.18fr);gap:18px;margin:18px 0}.rep-planning-grid>*{min-width:0}.planner-updated{padding:5px 9px;border:1px solid color-mix(in srgb,var(--green) 28%,var(--line));border-radius:999px;background:var(--green-soft);color:var(--green);font-size:11px;font-weight:800}.opportunity-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:0 18px 14px}.opportunity-tabs button{display:flex;min-width:0;align-items:center;gap:7px;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--control-bg);color:var(--muted);cursor:pointer;text-align:left}.opportunity-tabs button strong{display:grid;width:26px;height:26px;flex:none;place-items:center;border-radius:8px;background:var(--surface-raised);color:var(--ink);font-size:12px}.opportunity-tabs button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700}.opportunity-tabs button.active{border-color:var(--green);background:var(--surface-selected);color:var(--green)}
.opportunity-list{height:336px;padding:0 18px 18px;overflow:auto}.opportunity-item{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.opportunity-item:first-child{border-top:0}.opportunity-avatar{display:grid;width:40px;height:40px;place-items:center;border-radius:11px;background:var(--green-soft);color:var(--green);font-size:12px;font-weight:800}.opportunity-copy{min-width:0}.opportunity-copy strong,.opportunity-copy span{display:block}.opportunity-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.opportunity-copy span{margin-top:3px;color:var(--muted);font-size:12px}.opportunity-copy small{display:inline-block;margin-top:5px;color:var(--green);font-size:11px;font-weight:700}.opportunity-actions{display:flex;gap:5px}.opportunity-actions button{display:grid;width:31px;height:31px;place-items:center;border:1px solid var(--line);border-radius:9px;background:var(--control-bg);color:var(--ink);cursor:pointer}.opportunity-actions button:last-child{color:var(--green)}.opportunity-actions svg{width:15px}.planner-empty,.planner-loading{display:grid;min-height:180px;place-items:center;padding:24px;color:var(--muted);text-align:center;font-size:13px}
.planner-calendar-head>div:last-child{display:flex;align-items:center;gap:7px}.planner-calendar-head .icon-button{width:31px;height:31px}.planner-calendar-head strong{min-width:108px;text-align:center;font-size:13px}.planner-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 210px;min-height:336px;border-top:1px solid var(--line)}.planner-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:28px repeat(6,1fr);min-width:0;padding:10px;border-right:1px solid var(--line)}.calendar-weekday{display:grid;place-items:center;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.calendar-day{position:relative;min-width:0;min-height:45px;padding:5px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);cursor:pointer;text-align:left}.calendar-day:hover,.calendar-day.selected{border-color:var(--green);background:var(--surface-selected)}.calendar-day.outside{opacity:.34}.calendar-day.today>span{background:var(--green);color:white}.calendar-day>span{display:grid;width:22px;height:22px;place-items:center;border-radius:7px;font-size:11px;font-weight:700}.calendar-events{display:flex;gap:3px;margin-top:4px}.calendar-events i{width:6px;height:6px;border-radius:50%;background:var(--blue)}.calendar-events i.reminder{background:var(--amber)}.calendar-more{position:absolute;right:4px;bottom:3px;color:var(--muted);font-size:9px}.planner-agenda{min-width:0;padding:14px;background:var(--surface-soft);overflow:auto}.planner-agenda>header small,.planner-agenda>header strong{display:block}.planner-agenda>header small{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.planner-agenda>header strong{margin-top:2px;font-size:14px}.agenda-item{display:block;width:100%;margin-top:10px;padding:10px;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:9px;background:var(--surface-raised);color:var(--ink);cursor:pointer;text-align:left}.agenda-item.reminder{border-left-color:var(--amber)}.agenda-item.done{opacity:.58}.agenda-item span,.agenda-item strong,.agenda-item small{display:block}.agenda-item span{color:var(--muted);font-size:10px;font-weight:700}.agenda-item strong{margin:3px 0;font-size:12px}.agenda-item small{color:var(--muted);font-size:10px}.agenda-empty{margin-top:12px;color:var(--muted);font-size:12px;line-height:1.45}
.planner-modal-backdrop{position:fixed;z-index:1200;inset:0;display:none;place-items:center;padding:18px;background:var(--overlay)}.planner-modal-backdrop.open{display:grid}.planner-modal{display:flex;width:min(620px,100%);max-height:min(780px,calc(100vh - 36px));flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:var(--shadow);color:var(--ink)}.planner-modal>header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line)}.planner-modal>header h2{margin:3px 0 0;font-size:21px}.planner-modal-body{padding:20px 22px;overflow:auto}.planner-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.planner-form-grid>.wide{grid-column:1/-1;min-width:0}.planner-form-grid label{display:grid;min-width:0;gap:6px;color:var(--muted);font-size:11px;font-weight:700}.planner-form-grid input,.planner-form-grid select,.planner-form-grid textarea{width:100%;min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:var(--input-bg);color:var(--ink);font:500 13px "DM Sans"}.planner-form-grid textarea{min-height:84px;resize:vertical}.planner-modal footer{display:flex;justify-content:space-between;gap:10px;padding:14px 22px;border-top:1px solid var(--line);background:var(--surface-soft)}.planner-outcome{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:16px}.planner-outcome button{padding:10px 7px;border:1px solid var(--line);border-radius:9px;background:var(--control-bg);color:var(--ink);font-weight:700;cursor:pointer}.planner-outcome button.active{border-color:var(--green);background:var(--surface-selected);color:var(--green)}.planner-modal-note{margin:0 0 14px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft);color:var(--muted);font-size:11px}.planner-form-error{min-height:18px;margin:8px 0 0;color:var(--red);font-size:11px}
@media(max-width:1100px){.rep-planning-grid{grid-template-columns:1fr}.opportunity-list{height:auto;max-height:340px}.planner-calendar-layout{grid-template-columns:minmax(0,1fr) 240px}}
@media(max-width:700px){.rep-planning-grid{margin:12px 0;gap:12px}.opportunity-tabs{padding:0 12px 10px}.opportunity-tabs button{justify-content:center}.opportunity-tabs button span{font-size:10px}.opportunity-list{padding:0 12px 12px}.planner-calendar-head{align-items:stretch;flex-direction:column}.planner-calendar-head>div:last-child{display:grid;grid-template-columns:31px 1fr 31px}.planner-calendar-head .button{grid-column:auto}.planner-calendar-head #addReminder{grid-column:1/3}.planner-calendar-head #scheduleVisit{grid-column:3/5}.planner-calendar-layout{grid-template-columns:1fr}.planner-calendar{min-height:355px;border-right:0;border-bottom:1px solid var(--line)}.planner-agenda{min-height:150px}.calendar-day{min-height:48px;padding:3px}.planner-modal-backdrop{padding:0}.planner-modal{width:100%;height:100%;max-height:none;border:0;border-radius:0}.planner-form-grid{grid-template-columns:1fr}.planner-form-grid>.wide{grid-column:auto}.opportunity-item{grid-template-columns:36px minmax(0,1fr) auto}.opportunity-avatar{width:36px;height:36px}}
.opportunity-item.missed .opportunity-avatar{background:var(--amber-soft);color:var(--amber)}.visit-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border-top:1px solid var(--line);background:var(--line)}.visit-summary span{padding:9px 12px;background:var(--surface-soft);color:var(--muted);font-size:11px;text-align:center}.visit-summary strong{margin-right:4px;color:var(--ink);font-size:13px}.visit-summary .warning strong{color:var(--amber)}.agenda-item.missed{border-left-color:var(--red)}
.planner-outcome{grid-template-columns:repeat(5,1fr)}.planner-outcome button{font-size:11px}.planner-reschedule-note{margin:0 0 14px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--amber) 35%,var(--line));border-radius:9px;background:var(--amber-soft);color:var(--ink);font-size:11px}.planner-outcome-help{margin:0 0 8px;color:var(--muted);font-size:12px}.planner-toggle{align-content:center;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft)}.planner-toggle input{width:auto}.planner-appointment{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.planner-missed-button{margin-top:14px}
.calendar-events i.lead{background:var(--green)}.agenda-item.lead{border-left-color:var(--green)}
.opportunity-list{height:auto;max-height:none;overflow:visible}.opportunity-list.expanded{max-height:560px;overflow:auto}.opportunity-expand{display:flex;width:100%;align-items:center;justify-content:center;gap:8px;margin-top:8px;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--control-bg);color:var(--green);font-size:12px;font-weight:800;cursor:pointer}.opportunity-expand:hover{border-color:var(--green);background:var(--surface-selected)}
.planner-agenda>header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.agenda-expand{flex:none;padding:5px 7px;border:1px solid var(--line);border-radius:7px;background:var(--control-bg);color:var(--green);font-size:9px;font-weight:800;cursor:pointer}.agenda-expand:hover{border-color:var(--green);background:var(--surface-selected)}
.day-schedule-backdrop{position:fixed;z-index:1300;inset:0;display:none;place-items:center;padding:22px;background:var(--overlay)}.day-schedule-backdrop.open{display:grid}.day-schedule-modal{display:flex;width:min(880px,100%);max-height:min(860px,calc(100vh - 44px));flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--panel);box-shadow:var(--shadow);color:var(--ink)}.day-schedule-modal>header{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 26px;border-bottom:1px solid var(--line)}.day-schedule-modal>header h2{margin:4px 0 0;font-size:24px}.day-schedule-modal>header p{margin:5px 0 0;color:var(--muted);font-size:13px}.day-schedule-body{padding:22px 26px 28px;overflow:auto}.day-schedule-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--line)}.day-schedule-summary>div{padding:14px 16px;background:var(--surface-soft)}.day-schedule-summary small,.day-schedule-summary strong{display:block}.day-schedule-summary small{color:var(--muted);font-size:11px;font-weight:700}.day-schedule-summary strong{margin-top:3px;font-size:24px}.day-schedule-summary>span{align-self:center;margin:0 14px;padding:7px 10px;border-radius:999px;background:var(--control-bg);color:var(--ink);font-size:11px;font-weight:800;white-space:nowrap}
.day-timeline{margin-top:20px}.day-timeline-item{display:grid;grid-template-columns:76px 4px minmax(0,1fr) auto;gap:14px;min-height:82px;align-items:stretch}.day-timeline-item>time{padding-top:13px;color:var(--muted);font-size:12px;font-weight:700;text-align:right}.day-timeline-line{width:4px;margin:5px 0;border-radius:999px;background:var(--line)}.day-timeline-item.completed .day-timeline-line{background:var(--green)}.day-timeline-item.next .day-timeline-line{background:var(--blue)}.day-timeline-item>button{display:block;min-width:0;padding:10px 0;border:0;background:transparent;color:var(--ink);cursor:pointer;text-align:left}.day-timeline-item>button strong,.day-timeline-item>button span,.day-timeline-item>button em{display:block}.day-timeline-item>button strong{font-size:16px}.day-timeline-item>button span{margin-top:4px;color:var(--muted);font-size:12px}.day-timeline-item>button em{display:inline-block;margin-top:7px;color:var(--green);font-size:10px;font-style:normal;font-weight:800}.day-event-state{align-self:start;min-width:42px;margin-top:11px;padding:5px 8px;border-radius:999px;color:var(--muted);font-size:11px;font-weight:800;text-align:center}.day-timeline-item.completed .day-event-state{color:var(--green);font-size:17px}.day-timeline-item.next .day-event-state{background:var(--blue-soft);color:var(--blue)}.day-schedule-empty{display:grid;min-height:180px;place-items:center;align-content:center;color:var(--muted);text-align:center}.day-schedule-empty strong{color:var(--ink);font-size:16px}.day-schedule-empty span{margin-top:5px;font-size:12px}
@media(max-width:700px){.visit-summary{grid-template-columns:repeat(2,1fr)}.planner-outcome{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.opportunity-list.expanded{max-height:70vh}.day-schedule-backdrop{padding:0}.day-schedule-modal{width:100%;height:100%;max-height:none;border:0;border-radius:0}.day-schedule-modal>header{padding:18px}.day-schedule-body{padding:16px 18px 28px}.day-schedule-summary{grid-template-columns:repeat(3,1fr)}.day-schedule-summary>div{padding:12px 9px;text-align:center}.day-schedule-summary small{font-size:9px}.day-schedule-summary strong{font-size:20px}.day-schedule-summary>span{grid-column:1/-1;margin:0;padding:9px;border-radius:0;text-align:center}.day-timeline-item{grid-template-columns:58px 4px minmax(0,1fr) auto;gap:9px}.day-timeline-item>time{font-size:10px}.day-timeline-item>button strong{font-size:14px}.day-event-state{min-width:34px;padding:4px 6px}}
