:root{
  --paper:#F5F1E8;
  --card:#FFFDF8;
  --ink:#15120C;
  --line:#DED5C4;
  --hair:#EDE6D8;
  --muted:#7C7364;
  --gold:#9C7C22;
  --gold-soft:#F0E7CE;
  --live:#2E6249;
  --warn:#9E3B22;
  --r:2px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--paper);color:var(--ink);
  font-family:'Instrument Sans',system-ui,sans-serif;
  font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;
}
.wrap{max-width:1040px;margin:0 auto;padding:34px 22px 90px}

/* masthead */
header.mast{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;
  border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:26px;flex-wrap:wrap}
.mast img{height:34px;width:auto;display:block;margin-bottom:14px}
h1{font-family:'Lora',Georgia,serif;font-size:30px;font-weight:500;letter-spacing:-.01em;margin:0 0 5px}
.sub{color:var(--muted);font-size:14px;margin:0;max-width:56ch}
nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
nav a{font-size:13px;font-weight:600;color:var(--muted);text-decoration:none;
  padding:7px 13px;border:1px solid var(--line);border-radius:var(--r)}
nav a:hover{border-color:var(--gold);color:var(--gold)}
nav a.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.who{font-size:12px;color:var(--muted)}

/* forms */
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;margin-bottom:20px}
label{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);margin-bottom:8px;font-weight:600}
textarea,input[type=password],input[type=text],select{
  width:100%;background:var(--paper);color:var(--ink);
  border:1px solid var(--line);border-radius:var(--r);
  padding:12px;font-family:'Instrument Sans',sans-serif;font-size:14px;line-height:1.8;
  font-variant-numeric:tabular-nums;
}
textarea{min-height:150px;resize:vertical}
textarea:focus,input:focus,select:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:transparent}

.row{display:flex;gap:11px;align-items:flex-end;flex-wrap:wrap;margin-top:16px}
button{font-family:'Instrument Sans',sans-serif;font-size:14px;font-weight:600;
  padding:12px 22px;border-radius:var(--r);border:1px solid transparent;cursor:pointer;
  background:var(--ink);color:var(--paper)}
button:hover{background:#2A2417}
button:disabled{opacity:.35;cursor:not-allowed}
button.ghost{background:transparent;border-color:var(--line);color:var(--ink)}
button.ghost:hover{background:var(--gold-soft);border-color:var(--gold)}
button.small{font-size:12px;padding:7px 13px}
button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.counter{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}

/* mode toggle */
.modes{display:flex;gap:0;margin-bottom:16px;border:1px solid var(--line);border-radius:var(--r);width:fit-content;overflow:hidden}
.modes button{background:transparent;color:var(--muted);border:none;border-radius:0;padding:10px 20px;font-size:13px}
.modes button.on{background:var(--ink);color:var(--paper)}

/* results */
.site{border:1px solid var(--line);border-radius:var(--r);margin-bottom:15px;overflow:hidden;background:var(--card)}
.site-head{display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:12px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.site-url{font-size:13.5px;font-weight:600;word-break:break-all}
.status{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:600}
.status.run{color:var(--gold)}
.status.done{color:var(--live)}
.status.fail{color:var(--warn)}

.hit{display:flex;align-items:center;gap:11px;padding:13px 18px;border-bottom:1px solid var(--hair);flex-wrap:wrap}
.hit:last-child{border-bottom:none}
.num{font-family:'Instrument Sans',sans-serif;font-weight:600;font-size:20px;
  font-variant-numeric:tabular-nums;color:var(--ink);background:none;border:none;padding:0;cursor:pointer}
.num:hover{color:var(--gold)}
.tag{font-size:10px;letter-spacing:.11em;text-transform:uppercase;font-weight:600;
  padding:4px 8px;border-radius:2px;border:1px solid var(--line);color:var(--muted);white-space:nowrap}
.tag.mob{border-color:var(--gold);color:var(--gold);background:var(--gold-soft)}
.tag.wa{border-color:var(--live);color:var(--live)}
.spacer{flex:1}
.src{font-size:11.5px;color:var(--muted);word-break:break-all}

.strip{padding:12px 18px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted);
  word-break:break-word;background:#FBF8F1}
.strip b{color:var(--ink);font-weight:600}
.strip .dim{color:var(--muted);font-weight:400}
.dir-name{font-family:'Instrument Sans',sans-serif;font-size:12.5px;font-weight:600;
  cursor:pointer;background:none;border:none;padding:0;color:var(--ink)}
.dir-name:hover{color:var(--gold)}
.empty{padding:14px 18px;color:var(--muted);font-size:13.5px}
.savebar{padding:12px 18px;border-top:1px solid var(--line);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.saved{color:var(--live);font-size:12.5px;font-weight:600}

/* table */
table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line)}
th{text-align:left;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);
  font-weight:600;padding:11px 13px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:12px 13px;border-bottom:1px solid var(--hair);vertical-align:top;font-size:13.5px}
tr:last-child td{border-bottom:none}
td.brand{font-weight:600}
td .meta{color:var(--muted);font-size:11.5px}
.pill{font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;
  padding:4px 8px;border:1px solid var(--line);border-radius:2px;color:var(--muted);white-space:nowrap}
.pill.s-New{border-color:var(--line)}
.pill.s-Contacted{border-color:var(--gold);color:var(--gold);background:var(--gold-soft)}
.pill.s-Replied{border-color:var(--live);color:var(--live)}
.pill.s-Callbooked{border-color:var(--live);color:var(--live);background:#E7F0EA}
.pill.s-Client{background:var(--live);border-color:var(--live);color:#fff}
.pill.s-Dead{color:#A79E8D}
select.st{padding:6px 8px;font-size:12px;min-width:120px;width:auto}

.filters{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:18px}
.filters > div{min-width:150px}
.stat{display:flex;gap:26px;flex-wrap:wrap;margin-bottom:20px}
.stat div{min-width:70px}
.stat .n{font-family:'Lora',Georgia,serif;font-size:27px;line-height:1;display:block}
.stat .c{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}

.note{color:var(--muted);font-size:12.5px;margin-top:24px;line-height:1.7;
  border-top:1px solid var(--line);padding-top:16px}
.note b{color:var(--ink)}
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);
  background:var(--ink);color:var(--paper);padding:11px 20px;border-radius:var(--r);
  font-size:13px;opacity:0;pointer-events:none;transition:.25s;z-index:50}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* login */
.login{max-width:380px;margin:70px auto;text-align:center}
.login img{height:30px;margin-bottom:26px}
.login .panel{text-align:left}
.err{color:var(--warn);font-size:13px;margin:12px 0 0}
@media (max-width:640px){
  .wrap{padding:24px 16px 70px}
  table{font-size:12.5px}
  th,td{padding:9px 8px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* save bar */
.savebar{padding:14px 18px;border-top:1px solid var(--line);background:#FBF8F1;
  display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;justify-content:space-between}
.savefields{display:flex;gap:20px;align-items:flex-end;flex-wrap:wrap;flex:1}
.savefields .grow{flex:1;min-width:170px}
.savefields label{margin-bottom:7px}
.mkwrap{flex:1 1 100%}
.mkgroup{display:flex;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap}
.mkg{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
  font-weight:600;min-width:82px}
.mkts{display:flex;gap:4px;flex-wrap:wrap}
.mk{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;
  padding:5px 8px;border:1px solid var(--line);border-radius:2px;cursor:pointer;
  background:var(--card);text-transform:none;letter-spacing:0;color:var(--ink);margin:0}
.mk:hover{border-color:var(--gold)}
.mk input{accent-color:var(--gold);margin:0;cursor:pointer}
.mk:has(input:checked){border-color:var(--gold);background:var(--gold-soft);color:var(--gold)}
.savefields input[type=text]{padding:8px 10px;font-size:13px}
.saveacts{display:flex;gap:8px;flex-wrap:wrap}


/* personal stats board */
.board{display:flex;align-items:stretch;margin-bottom:22px;
  border:1px solid var(--line);background:var(--card);overflow:hidden}
.board-lead{background:var(--ink);color:var(--paper);padding:22px 28px;
  display:flex;flex-direction:column;justify-content:center;min-width:200px}
.board-eyebrow{font-size:9px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);font-weight:600;margin-bottom:12px;line-height:1.4}
.board-big{font-family:'Lora',Georgia,serif;font-size:52px;line-height:.85;font-weight:500}
.board-cap{font-size:9px;letter-spacing:.2em;text-transform:uppercase;
  color:#8C8474;font-weight:600;margin-top:12px}
.board-rest{display:flex;flex:1}
.board-rest > div{flex:1;padding:22px 20px;border-left:1px solid var(--hair);
  display:flex;flex-direction:column;justify-content:center;text-align:left}
.board-rest > div:first-child{border-left:none}
.board-rest .n{font-family:'Lora',Georgia,serif;font-size:28px;line-height:.9;color:var(--ink)}
.board-rest .c{font-size:9px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--muted);font-weight:600;margin-top:11px;line-height:1.4}

.creed{margin-top:30px;padding-top:26px;border-top:1px solid var(--line);
  font-family:'Lora',Georgia,serif;font-size:17px;color:var(--ink);
  text-align:center;line-height:1.6;letter-spacing:-.005em}
.fineprint{text-align:center;font-size:11.5px;color:var(--muted);margin:12px 0 0}

@media (max-width:700px){
  .board{flex-direction:column}
  .board-lead{min-width:0;padding:18px 20px;flex-direction:row;align-items:baseline;gap:14px}
  .board-eyebrow{margin-bottom:0}
  .board-big{font-size:36px}
  .board-cap{margin-top:0}
  .board-rest{flex-wrap:wrap}
  .board-rest > div{flex:1 1 50%;border-top:1px solid var(--hair);padding:14px 18px}
  .board-rest > div:nth-child(odd){border-left:none}
}
