:root{
  --cream:#FBF6EE;
  --cream-2:#F3ECDE;
  --ink:#2B2520;
  --ink-soft:#6B6358;
  --line:#E7DDCB;
  --card:#FFFFFF;
  --pistachio:#8FAE7D;
  --pistachio-dk:#5F7B52;
  --strawberry:#E8829A;
  --strawberry-dk:#C45C76;
  --sky:#7FA8C9;
  --sky-dk:#4F7A9C;
  --amber:#E3A857;
  --amber-dk:#B9823A;
  --grey:#B6AFA2;
}
:root[data-theme="dark"]{
  --cream:#1E1B17;
  --cream-2:#262220;
  --ink:#F3ECE3;
  --ink-soft:#B7AFA2;
  --line:#3A342E;
  --card:#2A2521;
  --pistachio:#8FAE7D;
  --pistachio-dk:#9BC189;
  --strawberry:#E8829A;
  --strawberry-dk:#F0A3B6;
  --sky:#7FA8C9;
  --sky-dk:#9BC3E0;
  --amber:#E3A857;
  --amber-dk:#F0C27E;
  --grey:#8A8277;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  background:var(--cream);
  color:var(--ink);
  transition:background-color .15s ease, color .15s ease;
}
a{color:inherit;text-decoration:none;}

.topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 28px;background:var(--card);border-bottom:1px solid var(--line);
}
.brand{display:flex;align-items:center;gap:10px;}
.brand .mark{font-size:26px;color:var(--pistachio-dk);display:flex;align-items:center;}
.brand .mark svg{display:block;}
.brand h1{font-size:19px;margin:0;font-weight:700;letter-spacing:-0.01em;}
.brand .sub{font-size:12px;color:var(--ink-soft);margin-top:1px;}
.topbar-right{display:flex;align-items:center;gap:14px;}
.view-tabs{display:flex;gap:4px;background:var(--cream-2);padding:4px;border-radius:9px;}
.view-tabs a{padding:6px 14px;font-size:12.5px;font-weight:600;color:var(--ink-soft);border-radius:7px;}
.view-tabs a.active{background:var(--card);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.06);}

.btn-primary{background:var(--pistachio-dk);color:#fff;border:none;padding:9px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;display:inline-block;}
.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--ink-soft);padding:8px 14px;border-radius:8px;font-size:12.5px;font-weight:600;cursor:pointer;}
.btn-danger{background:#FBEAEA;color:var(--strawberry-dk);border:1px solid #F2C9D2;padding:9px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;}

.theme-toggle{
  background:transparent;border:1px solid var(--line);color:var(--ink-soft);
  width:34px;height:34px;border-radius:8px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  padding:0;
}
.theme-toggle:hover{background:var(--cream-2);}
.theme-toggle .icon-moon{display:none;}
:root[data-theme="dark"] .theme-toggle .icon-sun{display:none;}
:root[data-theme="dark"] .theme-toggle .icon-moon{display:block;}
.theme-toggle-floating{position:fixed;top:16px;right:16px;background:var(--card);z-index:10;}

.page{padding:4px 0 36px;}

.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:22px 28px 6px;max-width:900px;}
.stat{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px;}
.stat .label{font-size:11.5px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-weight:600;}
.stat .value{font-size:26px;font-weight:700;margin-top:4px;letter-spacing:-0.02em;}

.board{display:grid;grid-template-columns:repeat(5,minmax(230px,1fr));gap:14px;padding:16px 28px 36px;overflow-x:auto;}
.column{background:var(--cream-2);border-radius:14px;padding:12px;min-height:200px;}
.column-head{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 10px;}
.column-title{font-size:12.5px;font-weight:700;letter-spacing:.01em;}
.column-count{font-size:11.5px;color:var(--ink-soft);background:var(--card);border-radius:20px;padding:1px 8px;font-weight:600;}

.card{background:var(--card);border:1px solid var(--line);border-radius:11px;padding:12px 13px;margin-bottom:10px;}
.card .name{font-size:13.5px;font-weight:700;line-height:1.3;}
.card .loc{font-size:12px;color:var(--ink-soft);margin-top:2px;}
.card .dates{font-size:11.5px;color:var(--ink-soft);margin-top:6px;}
.card .note{font-size:11.5px;color:var(--ink-soft);margin-top:8px;line-height:1.4;border-top:1px dashed var(--line);padding-top:8px;}
.card .bottom-row{display:flex;align-items:center;justify-content:space-between;margin-top:10px;gap:6px;}
.status-switch select{font-size:11px;border:1px solid var(--line);border-radius:6px;padding:3px 4px;background:var(--card);color:var(--ink);}

.tag{font-size:10px;font-weight:700;padding:3px 8px;border-radius:20px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;}
.tag.high{background:#FBEAEA;color:var(--strawberry-dk);}
.tag.medium{background:#FDF3E3;color:var(--amber-dk);}
.tag.low{background:#EFEDE8;color:var(--ink-soft);}
.tag.booked{background:#EAF2E4;color:var(--pistachio-dk);}
.tag.prospecting,.tag.contacted,.tag.applied,.tag.not_a_fit{background:#EFEDE8;color:var(--ink-soft);}

:root[data-theme="dark"] .tag.high{background:#4A2630;color:var(--strawberry-dk);}
:root[data-theme="dark"] .tag.medium{background:#4A3A20;color:var(--amber-dk);}
:root[data-theme="dark"] .tag.low{background:#33302B;color:var(--ink-soft);}
:root[data-theme="dark"] .tag.booked{background:#243424;color:var(--pistachio-dk);}
:root[data-theme="dark"] .tag.prospecting,
:root[data-theme="dark"] .tag.contacted,
:root[data-theme="dark"] .tag.applied,
:root[data-theme="dark"] .tag.not_a_fit{background:#33302B;color:var(--ink-soft);}
:root[data-theme="dark"] .btn-danger{background:#4A2630;color:var(--strawberry-dk);border-color:#5A3038;}
:root[data-theme="dark"] .flash-error{background:#4A2630;color:var(--strawberry-dk);}
:root[data-theme="dark"] .flash-success{background:#243424;color:var(--pistachio-dk);}

.login-wrap{display:flex;align-items:center;justify-content:center;min-height:90vh;padding:20px;}
.login-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:32px;width:100%;max-width:360px;}
.flash-error{background:#FBEAEA;color:var(--strawberry-dk);border-radius:8px;padding:10px 12px;font-size:13px;margin-bottom:14px;}
.flash-success{background:#EAF2E4;color:var(--pistachio-dk);border-radius:8px;padding:10px 12px;font-size:13px;margin-bottom:14px;}

label{display:block;font-size:12px;font-weight:600;color:var(--ink-soft);margin:12px 0 4px;}
input,select,textarea{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:8px;font-size:13.5px;background:var(--card);color:var(--ink);font-family:inherit;}
textarea{resize:vertical;}

.form-wrap{max-width:720px;padding:22px 28px;}
.form-wrap h2{font-size:18px;margin-bottom:4px;}
.form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.form-actions{display:flex;gap:10px;align-items:center;margin-top:20px;}

.data-table{width:calc(100% - 56px);margin:20px 28px;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.data-table th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-soft);background:var(--cream-2);padding:10px 14px;border-bottom:1px solid var(--line);}
.data-table td{padding:10px 14px;font-size:13px;border-bottom:1px solid var(--line);}
.data-table tr:last-child td{border-bottom:none;}

@media (max-width:900px){
  .stats{grid-template-columns:repeat(2,1fr);}
  .board{grid-template-columns:repeat(5,230px);}
  .form-row{grid-template-columns:1fr;}
}
