:root{--plaster:#F3ECDD;--ink:#2A2521;--terra:#C1592C;--azure:#2B5C73;--olive:#6B7A4F;--line:#d8cfba}
*{box-sizing:border-box}
body{margin:0;background:var(--plaster);color:var(--ink);font:15px/1.5 system-ui,Arial,sans-serif}
a{color:var(--azure)}
.topbar{display:flex;gap:20px;align-items:center;background:var(--ink);color:#fff;padding:12px 24px}
.topbar a{color:#eadfca;text-decoration:none;font-size:.95rem}
.topbar a:hover{color:#fff}
.topbar .brand{display:flex;align-items:center;gap:8px;font-family:Georgia,serif;font-size:1.15rem;margin-right:12px}
.topbar .brand-logo{height:34px;width:auto;display:block}
.topbar .brand em{color:var(--terra);font-style:normal}
.topbar .right{margin-left:auto}
.wrap{max-width:1150px;margin:24px auto;padding:0 24px}
h1{font-family:Georgia,serif;font-weight:600}h1 small{color:var(--olive);font-size:.6em}
.head-row{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.filters{display:flex;gap:8px}
input,select,textarea,button{font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}
textarea{width:100%}
.btn{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:6px;padding:8px 14px;text-decoration:none;color:var(--ink);cursor:pointer}
.btn:hover{background:#faf6ec}
.btn-sm{padding:4px 9px;font-size:.85rem}
.btn-primary{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-danger{background:#fff;color:var(--terra);border-color:#e3b9a6}
.btn-danger:hover{background:#fbeee8}
.grid{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);margin:16px 0;border-radius:8px;overflow:hidden}
.grid th,.grid td{border-bottom:1px solid var(--line);padding:9px 11px;text-align:left;vertical-align:top}
.grid th{background:#eae0c8;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.grid tr:nth-child(even) td{background:#faf6ec}
.grid .r{text-align:right}.nowrap{white-space:nowrap}.msg{max-width:320px}
.actions{display:flex;gap:6px;align-items:center}.actions form{display:inline}
.empty{color:#999;font-style:italic;text-align:center;padding:24px}
.pill{border:none;border-radius:999px;padding:3px 10px;font-size:.8rem;text-transform:capitalize}
.pill-new,.pill-draft,.pill-unpaid{background:#eef2e6;color:var(--olive)}
.pill-contacted,.pill-sent{background:#e2eef3;color:var(--azure)}
.pill-booked,.pill-accepted,.pill-paid,.pill-invoiced{background:#e4f0e0;color:#3d6b2f}
.pill-spam,.pill-declined,.pill-void,.pill-archived{background:#f3e2da;color:var(--terra)}
.cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin:14px 0}
.cols label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:#555}
label{display:block;margin:10px 0;font-size:.85rem;color:#555}
label input,label textarea{margin-top:4px}
#docform>label input,#docform>label select,#docform>label textarea{width:100%;display:block}
.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin:12px 0}
.card h3{margin:0 0 8px}
.toolbar,.formactions{display:flex;gap:8px;align-items:center}.toolbar form{display:inline}

/* line-item cards (one field per line, mobile friendly) */
#itemsBody{display:flex;flex-direction:column;gap:12px;margin:12px 0}
.item{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.item label{margin:0 0 10px}
.item label:last-of-type{margin-bottom:10px}
.item input,.item textarea{width:100%}
.item-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px dashed var(--line);padding-top:10px;margin-top:2px}
.line-label{color:#777;font-size:.85rem}.line-label .line{color:var(--ink);font-size:1rem}
.grandbar{display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:#fff;border-radius:8px;padding:12px 16px;margin:14px 0;font-size:1.1rem}
.grandbar strong{font-size:1.25rem}
.send-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:4px 0 10px}
.send-ch{display:flex;align-items:center;justify-content:space-between;gap:10px;
         background:#faf6ec;border:1px solid var(--line);border-radius:8px;padding:10px 12px}
.send-to{font-size:.92rem;word-break:break-word}
.send-ch .muted{color:#999}
.preview summary{cursor:pointer;color:var(--azure);font-size:.9rem;font-family:system-ui,sans-serif}
.preview .pv{background:#faf6ec;border-radius:6px;padding:9px 11px;font-size:.88rem;margin:10px 0}
@media(max-width:640px){.send-grid{grid-template-columns:1fr}}
.share .share-row{display:flex;gap:8px;align-items:center}
.share .share-row input{flex:1;font-family:ui-monospace,monospace;font-size:.9rem}
.code-chip{background:#eae0c8;border-radius:5px;padding:1px 7px;letter-spacing:.12em;font-family:ui-monospace,monospace}
@media(max-width:640px){.share .share-row{flex-wrap:wrap}.share .share-row input{flex:1 1 100%}}
.login-card{max-width:340px;margin:12vh auto;background:#fff;border:1px solid var(--line);border-radius:10px;padding:28px}
.login-card h1{margin-top:0}.login-card em{color:var(--terra);font-style:normal}
.login-card button{width:100%;background:var(--ink);color:#fff;border:none;margin-top:12px}
.flash{background:#f3e2da;color:var(--terra);padding:10px 14px;border-radius:6px;margin-bottom:14px}
/* status dots */
.dot{display:inline-block;width:12px;height:12px;border-radius:50%;flex:0 0 auto;vertical-align:middle;background:#b4b4b4}
.dot-new{background:#b4b4b4}
.dot-contacted{background:#E08A2B}
.dot-booked{background:#3f9d4f}
.dot-spam{background:#C1592C}
.dot-archived{background:#cbbf9f}

/* inquiry cards (mobile friendly) */
.inq-list{margin:16px 0;display:flex;flex-direction:column;gap:10px}
.inq-card{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;text-decoration:none;color:var(--ink)}
.inq-card:hover{background:#faf6ec;border-color:#cbbf9f}
.inq-top{display:flex;align-items:center;gap:9px}
.inq-name{font-weight:600;font-family:Georgia,serif;font-size:1.05rem}
.inq-date{margin-left:auto;color:var(--olive);font-size:.85rem;white-space:nowrap}
.inq-contact{color:var(--azure);font-size:.9rem;margin:3px 0 0 21px}
.inq-msg{color:#5a5248;font-size:.92rem;margin:5px 0 0 21px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* inquiry detail */
.backlink{margin:4px 0 12px}
.detail-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.detail-head h1{margin:0}
.inq-date.big{color:var(--olive);font-size:1rem}
.detail-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line)}
.detail-row .lbl,.detail-msg .lbl{flex:0 0 80px;color:#999;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.statusform{display:flex;align-items:center;gap:8px;margin:0}
.detail-msg{padding:12px 0 4px;border-top:1px solid var(--line)}
.detail-msg p{margin:8px 0 0;white-space:pre-wrap}
.detail .formactions{margin-top:18px;border-top:1px solid var(--line);padding-top:16px}

@media(max-width:800px){.cols{grid-template-columns:1fr}}
@media(max-width:640px){
  .wrap{padding:0 14px;margin:16px auto}
  .topbar{gap:12px;padding:10px 14px;flex-wrap:wrap}
  .topbar .brand{font-size:1rem}
  .head-row{align-items:stretch}
  .filters{flex-wrap:wrap}
  .filters input[type=search]{flex:1 1 100%}
  .detail-row .lbl,.detail-msg .lbl{flex-basis:64px}
}
