/* CRM pages (Hub and Manager Desk) and the public booking page. Self-contained, so it looks the same in both apps. */
.crm{--cr-line:var(--line,#D9DDD6);--cr-surface:var(--surface,#fff);--cr-ink:var(--ink,#18211E);--cr-muted:var(--muted,#5B6661);--cr-accent:var(--accent,#1B2A41);--cr-soft:var(--accent-soft,#E6E9EF);--cr-gold:#B8935A;display:flex;flex-direction:column;gap:14px}
.crm-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.crm-head h1{margin:0;font-size:24px}
.crm-n{font-size:14px;color:var(--cr-muted);font-weight:500}
.crm-actions,.crm-inline{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0}
.crm-btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border-radius:6px;border:1px solid var(--cr-accent);background:var(--cr-accent);color:var(--accent-ink,#fff);font:600 14px system-ui,sans-serif;text-decoration:none;cursor:pointer;white-space:nowrap}
.crm-btn.ghost{background:transparent;color:var(--cr-accent)}.crm-btn.small{min-height:30px;padding:0 10px;font-size:13px}.crm-btn.danger{background:#A3302A;border-color:#A3302A;color:#fff}
.crm-card{background:var(--cr-surface);border:1px solid var(--cr-line);border-radius:10px;padding:16px;min-width:0}.crm-card.flush{padding:0}.crm-card h2{font-size:17px;margin:0 0 10px}.crm-card .pad{padding:16px 16px 0}
.crm-tabcard{display:grid;gap:10px}
.crm-tabs{display:flex;flex-wrap:wrap;gap:6px}.crm-tabs a{text-decoration:none;font-size:14px;padding:4px 12px;border-radius:999px;border:1px solid var(--cr-line);color:var(--cr-ink);background:var(--cr-surface)}
.crm-tabs a[aria-current]{background:var(--cr-ink);color:var(--cr-surface);border-color:var(--cr-ink)}
.crm-search{display:flex;gap:8px}.crm-search input{flex:1;min-height:44px;font-size:17px;padding:0 14px;border:1px solid var(--cr-line);border-radius:10px;background:var(--cr-surface);color:var(--cr-ink)}
.crm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 16px;align-items:start}
.crm-grid label{display:grid;gap:4px;font-size:13px;font-weight:600;color:var(--cr-muted)}
.crm-grid label.check{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--cr-ink);padding-top:22px}
.crm-grid .wide{grid-column:1/-1}
.crm input:not([type=checkbox]),.crm select,.crm textarea,.crm-pub input,.crm-pub select{font:15px system-ui,sans-serif;color:var(--cr-ink,#18211E);background:var(--paper,#fff);border:1px solid var(--cr-line,#D9DDD6);border-radius:6px;padding:8px 10px;min-height:38px;width:100%;min-width:0;box-sizing:border-box}
.crm-inline input,.crm-inline select{width:auto}
.crm-profile{display:grid;gap:18px}.crm-profile fieldset{border:0;padding:0;margin:0;min-width:0}.crm-profile legend{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--cr-muted);font-weight:700;margin-bottom:8px}
.crm-save{display:flex;align-items:center;gap:12px;position:sticky;bottom:0;background:var(--cr-surface);padding:10px 0 0;border-top:1px solid var(--cr-line)}
.crm-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.crm-facts div{display:flex;flex-direction:column;gap:2px}.crm-facts .wide{grid-column:1/-1}
.crm-facts b{font-size:17px}.crm-facts span{font-size:12px;color:var(--cr-muted)}
.crm-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch}@media (max-width:860px){.crm-two{grid-template-columns:minmax(0,1fr)}}
.crm-table-wrap{overflow-x:auto}.crm-table{width:100%;border-collapse:collapse;font-size:14px}
.crm-table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--cr-muted);text-align:left;padding:10px 12px;border-bottom:1px solid var(--cr-line);font-weight:600}
.crm-table td{padding:10px 12px;border-bottom:1px solid var(--cr-line);vertical-align:top}.crm-table tr:last-child td{border-bottom:0}
.crm-table .empty{color:var(--cr-muted);text-align:center;padding:24px}.crm .muted{color:var(--cr-muted)}.crm .small{font-size:13px}.crm .nowrap{white-space:nowrap}
.crm-table tr.reverted td{opacity:.55}.crm-table .old{text-decoration:line-through;color:var(--cr-muted)}
.crm-table tr.st-cancelled td,.crm-table tr.st-no_show td{opacity:.6}
.crm-pill{display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--cr-soft);color:var(--cr-ink);white-space:nowrap}
.crm-pill.gold{background:rgba(184,147,90,.2);color:#7A5A22}.crm-pill.ok,.crm-pill.st-arrived{background:#E1F2E6;color:#1F7A3E}.crm-pill.st-confirmed{background:#E6E9EF}.crm-pill.st-no_show,.crm-pill.st-cancelled{background:#F8E1DF;color:#A3302A}
details.addbox>summary{list-style:none;display:inline-flex}details.addbox>summary::-webkit-details-marker{display:none}details.addbox[open]>summary{margin-bottom:14px}details.addbox:not([open]){display:none}
.crm .hp,.crm-pub .hp{position:absolute;left:-9999px}
.crm.hub .crm-head h1{font-size:22px}
@media (prefers-color-scheme: dark){.crm-pill.gold{color:#E0C38E}.crm-pill.ok,.crm-pill.st-arrived{background:#17301F;color:#7FD69A}.crm-pill.st-no_show,.crm-pill.st-cancelled{background:#3B1C1A;color:#F2928B}}
/* Public booking page */
body.crm-public{margin:0;background:#F6F1E9;color:#1D1D1F;font:16px/1.5 system-ui,-apple-system,sans-serif}
.crm-pub{max-width:620px;margin:0 auto;padding:40px 16px 64px;display:grid;gap:16px}.crm-pub h1{margin:0;font-size:30px}.crm-pub .muted{color:#6E6E73;margin:0}
.crm-pub .crm-card{background:#fff;border:1px solid #E3DCCF;border-radius:14px;padding:20px}.crm-pub .crm-grid label{color:#6E6E73}
.crm-pub .crm-btn{background:#1B2A41;border-color:#1B2A41;color:#fff;min-height:44px;font-size:16px}
/* Phones: each row becomes a small card, nothing scrolls sideways */
@media (max-width:640px){
  .crm-table thead{display:none}
  .crm-table tr{display:block;padding:10px 12px;border-bottom:1px solid var(--cr-line)}
  .crm-table td{display:inline-block;border:0;padding:2px 10px 2px 0;vertical-align:middle}
  .crm-table td:first-child{display:block;padding-bottom:4px}
  .crm-table td .crm-inline{margin-top:6px}
}
.crm-table th,.crm-table td{text-align:left}
/* POS */
.pos-bills{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.pos-bill{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:inherit;min-height:130px}.pos-bill:hover{border-color:var(--cr-accent)}
.pos-table{font-size:26px}.pos-total{margin-top:auto;font-size:18px}
.pos-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:14px;align-items:start}@media (max-width:860px){.pos-layout{grid-template-columns:minmax(0,1fr)}}
.pos-menu{display:grid;gap:12px}
.pos-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.pos-items form{margin:0}
.pos-item{width:100%;min-height:72px;display:flex;flex-direction:column;justify-content:space-between;gap:4px;text-align:left;padding:10px;border:1px solid var(--cr-line);border-radius:10px;background:var(--paper,#fff);color:var(--cr-ink);font:14px system-ui,sans-serif;cursor:pointer}
.pos-item:hover{border-color:var(--cr-accent)}.pos-item b{font-size:13px;color:var(--cr-muted)}
.pos-sum{display:flex;justify-content:space-between;align-items:baseline;padding:14px 16px;border-top:2px solid var(--cr-line);font-size:20px}
.pos-pay{display:grid;gap:10px;padding:0 16px 16px}
.pos-warn{margin:6px 0 0;color:#A3302A;font-weight:700}
.pos-guest p{margin:4px 0 0}
details.pos-more{position:relative}details.pos-more>summary{list-style:none}details.pos-more>summary::-webkit-details-marker{display:none}
.pos-pop{position:absolute;right:0;top:calc(100% + 4px);z-index:5;display:grid;gap:8px;background:var(--cr-surface);border:1px solid var(--cr-line);border-radius:10px;padding:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);width:max-content;max-width:90vw}
.pos-lines .old{text-decoration:line-through}
body.pos-receipt{font:14px ui-monospace,Menlo,monospace;max-width:320px;margin:20px auto;color:#000;background:#fff}.pos-receipt h1{font-size:18px;text-align:center;margin:0}.pos-receipt p{text-align:center}
.pos-receipt table{width:100%;border-collapse:collapse}.pos-receipt td{padding:3px 0}.pos-receipt td:last-child{text-align:right}.pos-receipt .tot{display:flex;justify-content:space-between;border-top:1px dashed #000;padding-top:6px;font-size:16px}
.crm-sort{color:inherit;text-decoration:none;white-space:nowrap}.crm-sort:hover{text-decoration:underline}.crm-sort.on{color:var(--cr-ink)}
details.crm-filters>summary{cursor:pointer}details.crm-filters[open]>summary{margin-bottom:12px}
/* Calendar period picker (rangepick.js) */
details.crm-period{position:relative;display:inline-block}
details.crm-period>summary{list-style:none;cursor:pointer}details.crm-period>summary::-webkit-details-marker{display:none}
.crm-period .rp-pop{position:absolute;z-index:20;top:calc(100% + 8px);left:0;background:var(--cr-surface,#fff);border:1px solid var(--cr-line,#ddd);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.14);padding:16px;width:min(600px,calc(100vw - 32px))}
.crm-rp{width:280px;max-width:calc(100vw - 64px)}
.crm-rp .rp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.crm-rp .rp-title{font-weight:600;margin:0}
.crm-rp .rp-head button{border:0;background:none;font-size:22px;line-height:1;cursor:pointer;color:var(--cr-ink,#18211E);padding:2px 10px;border-radius:6px}
.crm-rp .rp-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px 0}.crm-rp .rp-h{font-size:11px;color:var(--cr-muted,#5B6661);text-align:center;padding-bottom:4px}
.crm-rp .rp-d{border:0;background:none;height:34px;font:inherit;font-size:14px;cursor:pointer;color:var(--cr-ink,#18211E)}
.crm-rp .rp-d:hover:not(.off){background:var(--cr-soft,#E6E9EF);border-radius:8px}.crm-rp .rp-d.in{background:var(--cr-soft,#E6E9EF)}
.crm-rp .rp-d.a,.crm-rp .rp-d.b{background:var(--cr-ink,#18211E);color:var(--cr-surface,#fff);border-radius:8px;font-weight:600}.crm-rp .rp-d.off{opacity:.3;cursor:default}
.crm-rp .rp-step{margin:10px 0 0;font-size:12px;color:var(--cr-muted,#5B6661)}
.crm-period .rp-quick{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.crm-period .rp-quick a{font-size:13px;padding:4px 10px;border:1px solid var(--cr-line,#ddd);border-radius:999px;text-decoration:none;color:var(--cr-ink,#18211E)}
/* Guest card: short summary, orders, details on request (2026-10-24) */
.crm-summary{display:grid;gap:10px}.crm-summary p{margin:0}.crm-badges{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.crm-summary .crm-facts{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}
.crm-warn{color:#A3302A;font-weight:700}
.crm-orders-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:12px}.crm-orders-head h2{margin:0}
.crm-orders .o-items{max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
details.crm-more>summary{list-style:none;display:inline-flex}details.crm-more>summary::-webkit-details-marker{display:none}details.crm-more[open]>summary{margin-bottom:14px}
details.crm-more .crm-two .crm-card{box-shadow:none}
@media (max-width:640px){.crm-orders .o-items{white-space:normal;max-width:none}}
/* POS services (co-working): hourly / agreed-price items open a small form */
details.pos-svc>summary{list-style:none}details.pos-svc>summary::-webkit-details-marker{display:none}
details.pos-svc[open]>summary{border-color:var(--cr-accent)}
.pos-svc-form{display:grid;gap:6px;margin-top:6px;padding:8px;border:1px solid var(--cr-line);border-radius:10px;background:var(--cr-surface)}
.pos-svc-form label{display:grid;gap:2px;font-size:12px;color:var(--cr-muted)}
/* Co-working bill: choose a service from one dropdown */
.pos-pick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:8px 10px;align-items:end;padding-bottom:12px;border-bottom:1px solid var(--cr-line)}
.pos-pick .wide{grid-column:1/-1}.pos-pick label{display:grid;gap:3px;font-size:12px;font-weight:600;color:var(--cr-muted)}
@media (max-width:640px){.pos-pick{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-pick .crm-btn{grid-column:1/-1}}
