@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Public+Sans:wght@400;500;600;700&display=swap');

:root{
  --brass:#a8842f; --brass-strong:#8a6d1f; --brass-soft:rgba(168,132,47,.12);
  --bg:#f6f3ec; --surface:#ffffff; --surface-2:#faf8f3; --border:#e4ddcc;
  --text:#1c1810; --text-muted:#5e5646; --text-faint:#8d8470;
  --ok:#2f7a45; --warn:#a06a12; --danger:#a1524a;
  --font-head:'Fraunces', Georgia, serif; --font-body:'Public Sans', system-ui, sans-serif;
}
*{box-sizing:border-box;}
html,body{margin:0;}
body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.45;}
h1,h2,h3{font-family:var(--font-head);font-weight:600;margin:0;}
label{display:block;font-size:13px;font-weight:600;color:var(--text-muted);margin-bottom:5px;}
input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font:inherit;background:#fff;color:var(--text);}
input:focus,select:focus,textarea:focus{outline:2px solid var(--brass-soft);border-color:var(--brass);}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border-radius:8px;border:1px solid transparent;font:inherit;font-weight:600;cursor:pointer;}
.btn.primary{background:var(--brass);color:#fff;border-color:var(--brass);}
.btn.primary:hover{background:var(--brass-strong);}
.btn.ghost{background:transparent;border-color:var(--border);color:var(--text-muted);}
.btn.danger{background:transparent;border-color:rgba(161,82,74,.4);color:var(--danger);}
.btn.small{padding:6px 12px;font-size:13px;}
.btn:disabled{opacity:.5;cursor:not-allowed;}
.note{font-size:13px;color:var(--text-faint);}
.hidden{display:none !important;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
.field-row.three{grid-template-columns:1fr 1fr 1fr;}
.field-row.single{grid-template-columns:1fr;}
@media (max-width:640px){ .field-row, .field-row.three{grid-template-columns:1fr;} }
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#1c1810;color:#f1e6c8;padding:11px 18px;border-radius:8px;font-size:14px;z-index:999;max-width:90vw;box-shadow:0 8px 30px rgba(0,0,0,.25);}
.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);}
.badge.pending{background:#fbf1dc;color:#8a5a0c;border-color:#efd9a8;}
.badge.confirmed,.badge.assigned,.badge.accepted{background:#e8f1ea;color:var(--ok);border-color:#c7ddcc;}
.badge.enroute,.badge.arrived{background:#e7eff5;color:#2f5f82;border-color:#c5d8e6;}
.badge.completed{background:#eee;color:#555;}
.badge.declined,.badge.cancelled{background:#f6e6e3;color:var(--danger);border-color:#e6c6c1;}
