:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#242a25;background:#f4f5ef;font-size:15px;line-height:1.55;color-scheme:light;--ink:#242a25;--muted:#626b60;--line:#dce1d5;--lime:#d7ed65;--green:#365c3c;--paper:#fff;--shadow:0 4px 22px rgba(38,53,30,.035)}
*{box-sizing:border-box}body{margin:0}header{background:#fcfdf8;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:20px 30px}header .brand{font-size:23px;letter-spacing:1.5px;font-weight:900;color:#242a25;white-space:nowrap}header .brand span{font-size:11px;letter-spacing:2px;color:#6b7466;font-weight:600;margin-left:5px}nav{display:flex;align-items:center;gap:4px;row-gap:12px;flex-wrap:wrap;flex:1}a{color:#365f42;text-decoration:none}a:hover{text-decoration:underline}nav a{font-size:13px;color:#4f584c;font-weight:600;padding:9px 11px;border-radius:9px;white-space:nowrap}nav a:hover{background:#edf0e5;text-decoration:none;color:#1e3823}nav a.button{background:var(--lime);color:#253219;padding:9px 16px;margin-left:8px}small{display:block;color:var(--muted);font-size:12px}main{max-width:1440px;margin:0 auto;padding:38px 32px 90px}h1{font-size:32px;font-weight:750;letter-spacing:-1px;line-height:1.2;margin:0 0 28px}h2{margin:34px 0 16px;font-size:20px;letter-spacing:-.35px;font-weight:700}p{margin:12px 0}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:14px}.stats section{background:var(--paper);border:1px solid var(--line);padding:23px 20px;border-radius:16px;box-shadow:var(--shadow);position:relative}.stats section:before{content:"";display:block;width:26px;height:4px;border-radius:3px;background:#bad1ae;margin-bottom:16px}.stats section:nth-child(3):before{background:#e5c179}.stats strong{display:block;font-size:35px;letter-spacing:-1px;font-weight:700;line-height:1.2;margin-bottom:8px}.stats span{color:var(--muted);font-size:13px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.button,button{font:inherit;display:inline-flex;align-items:center;justify-content:center;background:var(--lime);color:#263219;border:1px solid #c6db59;padding:11px 19px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;line-height:1.5;text-decoration:none;min-height:44px;transition:background .15s,box-shadow .15s}.button:hover,button:hover{background:#cce355;text-decoration:none;box-shadow:0 3px 10px rgba(70,90,35,.1)}.button.secondary{background:#fff;color:#3e503a;border:1px solid #d4ddca}.button.secondary:hover{background:#edf1e7}.tablewrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}table{border-collapse:collapse;width:100%;min-width:720px}th,td{text-align:left;padding:16px;border-bottom:1px solid #e8ece3;vertical-align:top;font-size:14px}th{font-size:11px;color:#67705e;text-transform:uppercase;letter-spacing:.8px;font-weight:700;background:#eef2e6}tr:last-child td{border-bottom:0}tr:hover td{background:#fafbf7}td a{font-weight:600}td small{margin-top:4px}form{background:#fff;padding:26px;border:1px solid var(--line);border-radius:16px;max-width:1120px;margin:20px 0;box-shadow:var(--shadow)}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}.wide{grid-column:1/-1}label{display:block;color:#46513f;font-size:13px;font-weight:600}input,select,textarea{font:inherit;display:block;width:100%;margin-top:8px;padding:12px 13px;background:#fbfcf8;color:#263020;border:1px solid #cdd6c4;border-radius:9px;min-height:46px;line-height:1.5}input::placeholder,textarea::placeholder{color:#798273}input:hover,select:hover,textarea:hover{border-color:#9dab91}input:focus,select:focus,textarea:focus{outline:2px solid #829b59;outline-offset:2px;background:white}a:focus-visible,button:focus-visible{outline:3px solid #567441;outline-offset:3px}textarea{min-height:120px;resize:vertical}fieldset{border:1px solid #dce3d3;background:#f8faf4;border-radius:11px;padding:16px 20px}legend{font-size:12px;font-weight:700;color:#566449;padding:0 7px}.check{display:flex;align-items:center;gap:10px;margin:10px}.check input,input[type=checkbox]{width:auto;min-height:auto;margin:0;accent-color:#547940}input[type=hidden]{display:none}.notice{background:#eaf2df;border:1px solid #c8dab4;color:#344b29;padding:18px 22px;border-radius:12px;margin:18px 0}.notice small{color:#516447}.error{background:#fff0ed;border:1px solid #e6b2a7;color:#8a3025;padding:16px;border-radius:12px}.activity{padding:21px 24px;margin:14px 0;background:#fff;border-radius:13px;border:1px solid var(--line);border-left:4px solid #c0d69f;box-shadow:var(--shadow)}.activity strong{font-size:14px}.activity small{margin-top:6px}.activity p{color:#4b5645}.search{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.search input{margin:0}.search label{flex:1;min-width:180px}.inlinehint{font-size:12px;align-self:center}.formgrid>button{align-self:end;min-height:46px}.formgrid>small{align-self:center}
@media(max-width:850px){header{gap:14px;padding:18px 20px}nav{order:3;width:100%}header>small{margin-left:auto}main{padding:28px 20px 60px}.stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}h1{font-size:28px}}
@media(max-width:560px){main{padding:24px 14px 60px}header{padding:16px 14px}nav{gap:3px}nav a{font-size:12px;padding:8px}nav a.button{margin-left:0}.formgrid{display:block}.formgrid>label,.formgrid>fieldset,.formgrid>.inlinehint{margin-bottom:20px}form{padding:20px 16px}.formgrid>button{width:100%;margin-top:12px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats section{padding:18px 16px}.stats strong{font-size:30px}.search{display:flex}.activity{padding:18px}h1{font-size:27px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.report-intro{color:var(--muted);margin-top:-12px;margin-bottom:22px}.report-filters{display:flex;align-items:end;gap:18px;flex-wrap:wrap;max-width:none;background:transparent;border:0;box-shadow:none;padding:0;margin:0 0 26px}.report-filters label{min-width:190px}.report-filters input,.report-filters select{background:#fff}.weekly-hero{display:grid;grid-template-columns:1fr 220px;gap:28px;border:1px solid #cdddb2;background:#eaf1da;padding:30px;border-radius:18px;margin-bottom:24px}.weekly-hero h2{font-size:44px;line-height:1.15;margin:12px 0 20px;letter-spacing:-1.5px}.weekly-hero h2 span{font-size:22px;font-weight:500;color:#60714b;letter-spacing:-.5px}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:800;color:#52673d}.weekly-hero progress{display:block;width:100%;height:12px;border:0;border-radius:8px;overflow:hidden;background:#d5e0c4;accent-color:#54783c}.weekly-hero progress::-webkit-progress-bar{background:#d5e0c4;border-radius:8px}.weekly-hero progress::-webkit-progress-value{background:#54783c;border-radius:8px}.weekly-hero progress::-moz-progress-bar{background:#54783c;border-radius:8px}.today-target{border-left:1px solid #cddab9;padding-left:28px;display:flex;flex-direction:column;justify-content:center}.today-target>span{font-size:12px;color:#5c6f48}.today-target strong{font-size:54px;line-height:1.4;font-weight:700;letter-spacing:-2px}.report-note{font-size:13px;color:var(--muted);max-width:950px}.count-pill{display:inline-block;background:#e8eddc;color:#526544;border-radius:30px;font-size:12px;padding:3px 10px;vertical-align:middle;margin-left:8px}.empty-task{background:#fff;border:1px dashed #d5ddc9;border-radius:12px;color:#647057;font-size:14px;padding:18px 22px}
@media(max-width:650px){.weekly-hero{grid-template-columns:1fr;padding:22px}.today-target{border-left:0;border-top:1px solid #cddab9;padding:18px 0 0}.today-target strong{font-size:40px}.weekly-hero h2{font-size:38px}.report-filters{display:flex}.report-filters label{flex:1;min-width:140px}}

.fan-goals { padding: 10px 14px; border: 1px solid currentColor; border-radius: 10px; }
.fan-metrics { display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto auto; gap: 8px 24px; margin: 6px 0 0; }
.fan-metrics dt { font-size: .82rem; font-weight: 600; }
.fan-metrics dd { margin: 0; font-size: .92rem; }
.fan-metrics progress { display: block; width: 100%; max-width: 100px; height: 6px; }
.fan-call-heading { margin: 16px 0 8px; }
@media (max-width: 740px) { .fan-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.fan-queue-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}
.fan-log fieldset{margin:0;min-width:0;background:#f5f8eb}
.fan-log legend{font-weight:800}
.fan-picks{display:flex;flex-wrap:wrap;gap:.65rem;margin:.4rem 0}
.fan-picks label{display:flex;align-items:center;gap:.5rem;padding:.65rem .85rem;background:white;border:1px solid #bfcab1;border-radius:.75rem;cursor:pointer}
.fan-picks label:has(input:checked){background:#e2f49b;border-color:#829e35;color:#243419}
.fan-picks label:focus-within{outline:2px solid #4f692e;outline-offset:2px}
.fan-picks input{width:auto;min-height:0;margin:0;accent-color:#527022}
.fan-score{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin:.25rem 0 .75rem}
.fan-score progress{width:8rem;accent-color:#527022}
#log-interaction{scroll-margin-top:1rem}

.fan-call-table th a{display:inline-block;color:inherit;padding:.25rem 0}
.fan-phone-links,.fan-queue-pages{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem 1rem}
.fan-phone-links a{white-space:nowrap}
.fan-phone-links a:last-child{font-size:.85em}
.fan-queue-pages{margin:1rem 0}
#todays-picks,#all-call-contacts{scroll-margin-top:1rem}
.fan-contact-search{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:0 0 .5rem;padding:0;background:transparent;border:0;box-shadow:none}
.fan-contact-search input[type=search]{width:min(15rem,100%);margin:0}

.contact-in-interaction {
  border: 1px solid #dddfe4;
  border-radius: 8px;
  padding: 12px 16px;
}
.contact-in-interaction summary {
  cursor: pointer;
  font-weight: 600;
}
.contact-in-interaction[open] summary {
  margin-bottom: 12px;
}

.campaign-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr));
  gap: 18px;
}
.campaign-card {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: clamp(18px, 3vw, 32px);
  background: #fff;
  border: 1px solid var(--line);
  border-top: 5px solid var(--lime);
  border-radius: 14px;
  box-shadow: var(--shadow);
}
.campaign-card h2 { margin: 0; font-size: clamp(22px, 3vw, 30px); overflow-wrap: anywhere; }
.campaign-dates, .campaign-counts {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin: 0;
}
.campaign-card dt { color: var(--muted); font-size: .82rem; }
.campaign-card dd { margin: 2px 0 0; font-weight: 650; }
.campaign-counts { padding: 12px 0; border-block: 1px solid var(--line); }
.campaign-counts > div { flex: 1; }
.campaign-counts dd { font-size: 1.5rem; }
.campaign-card-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
}
.campaign-create { margin-top: 28px; }
.campaign-create summary { cursor: pointer; font-weight: 650; }
.campaign-delete { color: #922e2a; }
.campaign-delete-button, .campaign-delete-button:hover {
  background: #922e2a;
  border-color: #922e2a;
  color: #fff;
}
