:root{--ink: #15202b;--ink-2: #2b3b4a;--plaster: #f6f7f8;--brass: #2f6fed;--mist: #dbe4ee;--muted: #5b6b7a}*{box-sizing:border-box}body{margin:0;background:var(--plaster);color:var(--ink);font:16px/1.5 Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}h1,h2,h3,.brand,.admin-rail a,.btn-primary{font-family:Plus Jakarta Sans,Inter,-apple-system,sans-serif}a{color:var(--brass);text-decoration:none}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1rem;border-radius:8px;border:1px solid var(--mist);background:#fff;color:var(--ink);font-weight:600;transition:transform .12s ease,box-shadow .12s ease}.btn-primary{background:linear-gradient(135deg,var(--brass),color-mix(in srgb,var(--brass) 80%,#000 10%));color:#fff;border-color:var(--brass);font-weight:700;box-shadow:0 4px 14px color-mix(in srgb,var(--brass) 35%,transparent)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px color-mix(in srgb,var(--brass) 45%,transparent)}.btn:disabled{opacity:.5;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.9rem}.field label{font-size:.85rem;color:var(--muted);font-weight:600}.field input,.field select,.field textarea{padding:.6rem .7rem;border:1px solid var(--mist);border-radius:8px;background:#fff;color:var(--ink)}.card{background:#fff;border:1px solid var(--mist);border-radius:12px;padding:1rem}.error-text{color:#b42318;font-size:.85rem}.admin-shell{display:flex;min-height:100vh}.admin-rail{width:220px;flex-shrink:0;background:var(--ink);color:#fff;padding:1.25rem 1rem;display:flex;flex-direction:column;gap:.25rem}.admin-rail .brand{font-weight:800;margin-bottom:1rem;color:#fff}.admin-rail a{color:var(--mist);padding:.55rem .7rem;border-radius:8px;display:block;font-weight:600;border-left:3px solid transparent;transition:background .12s ease,border-color .12s ease}.admin-rail a:hover{background:var(--ink-2);color:#fff}.admin-rail a.active{background:var(--ink-2);color:#fff;border-left-color:var(--brass)}.rail-foot{margin-top:auto;padding-top:1rem;border-top:1px solid var(--ink-2)}.rail-who{font-size:.8rem;color:var(--mist);padding:0 .7rem .4rem}.admin-main{flex:1;padding:1.5rem;max-width:1100px}.board{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.board-col{background:#fff;border:1px solid var(--mist);border-radius:12px;padding:.75rem;min-height:120px}.board-col h3{margin:0 0 .5rem;font-size:.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.job-card{background:var(--plaster);border:1px solid var(--mist);border-radius:8px;padding:.6rem;margin-bottom:.5rem;font-size:.9rem}.job-card .name{font-weight:700}.job-card .muted{color:var(--muted);font-size:.8rem}table.list{width:100%;border-collapse:collapse}table.list th,table.list td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--mist);font-size:.9rem}table.list th{color:var(--muted);font-weight:600;font-size:.8rem;text-transform:uppercase}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;background:var(--mist);font-size:.75rem;font-weight:700}.badge.st-new{background:#e3f0ff;color:#1a4f8a}.badge.st-quoted{background:#fff3d6;color:#8a5a00}.badge.st-scheduled{background:#e3f7ea;color:#146c3a}.badge.st-en_route{background:#e0f4f7;color:#0b5c6b}.badge.st-completed,.badge.st-invoiced{background:#ebe7ff;color:#4b2f9e}.badge.st-paid{background:#d9f2e3;color:#0f5c32}.badge.st-closed{background:#e6e6e6;color:#444}.badge.st-lost,.badge.st-reply{background:#fde8e8;color:#9b1c1c}table.list tbody tr:hover{background:#f1f5fa}table.list td{padding:.7rem .6rem;font-size:.95rem}.call-list{display:grid;gap:1rem}.call-card{padding:1.1rem 1.25rem;border-left:6px solid #9aa7ba;box-shadow:0 2px 6px #15202b0f}.call-card.oc-booked{border-left-color:#1f9d55}.call-card.oc-lead,.call-card.oc-callback{border-left-color:#2f6fed}.call-card.oc-no_message{border-left-color:#c5cedb}.call-name{font-size:1.15rem}.call-card>p{margin-top:.75rem}.transcript{display:grid;gap:.5rem;margin-top:.75rem}.t-line{display:flex;flex-direction:column;max-width:82%;padding:.55rem .8rem;border-radius:14px;line-height:1.45}.t-janet{align-self:flex-start;background:#e9f0fd;border-bottom-left-radius:4px}.t-caller{align-self:flex-end;background:#eef1f4;border-bottom-right-radius:4px}.t-note{align-self:center;background:none;color:var(--muted);font-size:.85rem}.t-who{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.15rem}.t-janet .t-who{color:#2f6fed}.t-caller .t-who{color:#5b6b7a}.contact-row td{border-bottom:2px solid #94a3b8}.contact-row:last-child td{border-bottom:2px solid #94a3b8}.contact-name{font-weight:600;color:#111827}.num-col{width:2.5rem;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;padding-right:.4rem}.msg-row td{vertical-align:top}.msg-row:nth-child(2n){background:#f8fafc}.msg-when{white-space:nowrap;color:#1f2a37}.msg-when .muted{font-size:.82rem}.msg-to{color:#1f2a37;font-variant-numeric:tabular-nums;word-break:break-all}.msg-subject{font-weight:600;color:#111827;margin-bottom:.15rem}.msg-text{color:#5b6573;font-size:.9rem;line-height:1.35}.badge.ch-sms{background:#dbeafe;color:#1e3a8a}.badge.ch-email{background:#ede9fe;color:#4c1d95}.badge.ms-sent{background:#dcfce7;color:#14532d}.badge.ms-failed{background:#fee2e2;color:#991b1b}.badge.ms-queued,.badge.ms-pending{background:#fef3c7;color:#92400e}.user-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem;margin-bottom:.6rem}.user-form input,.user-form select{padding:.6rem .7rem;border:1px solid var(--mist);border-radius:8px;font:inherit;min-height:44px}.tabbar,.tabsheet{display:none}@media (max-width: 767px){.admin-shell{flex-direction:column}.admin-rail{display:none}.admin-main{padding:1rem 1rem calc(84px + env(safe-area-inset-bottom));max-width:100%;width:100%}.admin-main h1{font-size:1.5rem;margin:.25rem 0 .75rem}.btn,.chip{min-height:44px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;align-items:stretch;gap:0;background:var(--ink);border-top:1px solid var(--ink-2);padding:4px 4px calc(4px + env(safe-area-inset-bottom))}.tab-link{flex:1 1 0;min-width:0;min-height:52px;border:0;background:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 2px;font:inherit;font-size:10.5px;font-weight:600;line-height:1.15;text-align:center;color:var(--mist);border-radius:10px;text-decoration:none}.tab-ico{font-size:19px}.tab-link.on{background:var(--ink-2);color:#fff}.tabsheet{position:fixed;inset:0;background:#00000073;z-index:60;display:flex;align-items:flex-end}.tabsheet-card{width:100%;background:var(--ink);border-radius:1rem 1rem 0 0;padding:.6rem .6rem calc(5.5rem + env(safe-area-inset-bottom));max-height:70vh;overflow-y:auto;display:grid;gap:2px}.tabsheet-link{display:flex;align-items:center;gap:.7rem;width:100%;min-height:52px;border:0;background:none;cursor:pointer;padding:.6rem .9rem;border-radius:.7rem;color:#f2efec;font:inherit;font-size:1rem;font-weight:600;text-align:left;text-decoration:none}.tabsheet-link.on{background:var(--ink-2)}table.list thead{display:none}table.list,table.list tbody{display:block;width:100%}table.list tr{display:flex;flex-wrap:wrap;gap:.25rem .75rem;align-items:center;padding:.75rem .25rem;border-bottom:1px solid var(--mist)}table.list td{display:inline-block;border:0;padding:0;font-size:.95rem}table.list td:first-child{flex:1 1 100%;font-weight:700;font-size:1.05rem}table.list td[data-l]:before{content:attr(data-l) ": ";color:var(--muted);font-size:.8rem}table.list td[data-l="Needs reply"]:before{content:none}.contact-row{border-bottom:2px solid #94a3b8}.contact-row td.num-col{flex:0 0 auto;width:auto;font-size:1.05rem;font-weight:700;color:var(--muted);padding:0}.contact-row td.contact-name{flex:1 1 auto;font-weight:700;font-size:1.05rem}.contact-row td.contact-name:before{content:none}.board{grid-template-columns:1fr}.board-col{min-height:auto}.toolbar-search{flex:1 1 100%!important;max-width:none!important;min-height:44px;font-size:16px}.toolbar .btn{margin-left:auto}.t-line{max-width:92%}.call-card{padding:.9rem .9rem .9rem 1rem}.card{padding:.9rem}textarea,input,select{font-size:16px}}.linkish{background:none;border:none;padding:0;margin-top:.25rem;color:var(--brass);font-size:.85rem;font-weight:600;cursor:pointer;text-decoration:underline}.chips{display:flex;flex-wrap:wrap;gap:.4rem}.chip{border:1px solid var(--mist);background:#fff;color:var(--ink);border-radius:999px;padding:.4rem .8rem;font-size:.9rem;cursor:pointer}.chip.on{border-color:var(--brass);background:color-mix(in srgb,var(--brass) 10%,#fff);font-weight:600}.pay-pick{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:.75rem}.pay-pick button{border:2px solid var(--mist);background:#fff;color:var(--ink);border-radius:12px;padding:.85rem .75rem;font-size:1.05rem;font-weight:700;cursor:pointer;text-align:center}.pay-pick button small{display:block;font-weight:400;font-size:.8rem;opacity:.75;margin-top:.15rem}.pay-pick button.on{border-color:var(--brass);background:color-mix(in srgb,var(--brass) 8%,#fff)}.wf-group{display:flex;gap:.75rem;align-items:flex-start;width:100%;text-align:left;padding:1.1rem 1.25rem;border:2px solid var(--ink);margin-bottom:.75rem;color:var(--ink)}.wf-group.open{background:var(--ink);color:#fff}.wf-group.open .wf-when{color:var(--mist)}.wf-group-title{font-size:1.2rem}.wf-group.open .badge{background:#fff;color:var(--ink)}.wf-list{margin:0 0 1.25rem .75rem;padding-left:.9rem;border-left:3px solid var(--mist);display:grid;gap:.85rem}.wf-rule{border:2px solid #b9c4d4;border-left:6px solid #9aa7ba;padding:1.1rem 1.25rem;box-shadow:0 2px 6px #070a140f}.wf-rule.on{border-color:#1f9d55;border-left-color:#1f9d55}.wf-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}.wf-head{flex:1 1 280px;display:flex;gap:.75rem;align-items:flex-start;text-align:left;background:none;border:0;padding:0;color:inherit}.wf-arrow{font-size:.95rem;line-height:1.7;width:1.1rem;flex-shrink:0}.wf-title{font-size:1.1rem}.wf-when{display:block;margin-top:.4rem;font-size:.98rem;line-height:1.5;color:var(--muted)}.wf-state{font-size:.8rem;padding:.2rem .65rem;background:#e3e8ef;color:#3b475c;vertical-align:middle}.wf-state.on{background:#1f9d55;color:#fff}
