/* Loyalty & POS — additions on top of the shared financial-system styles */
[hidden]{display:none !important;}
.hide-sm{}
@media (max-width:760px){.hide-sm{display:none;}}
.inline-form{display:inline;margin:0;}
.btn-block{width:100%;justify-content:center;}
.ph-btns{display:flex;gap:6px;flex-wrap:wrap;}
.chip.orange{color:#f2a65a;background:rgba(240,140,50,.12);border-color:rgba(240,140,50,.32);}
html.light .chip.orange{color:#b4570d;background:rgba(230,120,30,.10);border-color:rgba(230,120,30,.30);}
.modal-sm{max-width:460px;}
.modal-lg{max-width:760px;}
.modal{max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);display:flex;flex-direction:column;}
.modal>form{display:flex;flex-direction:column;min-height:0;flex:1 1 auto;}
.modal-body{overflow-y:auto;min-height:0;flex:1 1 auto;}
.modal-head,.modal-foot{flex:none;}
.field textarea{width:100%;padding:12px 14px;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border-2);color:var(--text);font-family:inherit;font-size:14px;resize:vertical;}
.field textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft);}
.empty{text-align:center;color:var(--text-mute);padding:26px 14px;}
.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;padding:12px 14px;}
.filters .field{margin:0;}
.filters .field.grow{flex:1 1 240px;}

.dash-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;}
@media (max-width:1000px){.dash-grid{grid-template-columns:1fr;}}
.rate-track{height:8px;border-radius:6px;background:var(--surface-3);overflow:hidden;}
.rate-fill{display:block;height:100%;width:0;background:var(--green);}
.hp{position:absolute;inset-inline-start:0;top:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.row-acts{display:flex;gap:6px;align-items:center;}

/* ---------- complaints: shared ---------- */
.tiny{font-size:12px;}
.center{text-align:center;}
.mt{margin-top:12px;}
.req{color:var(--green);}
.row-muted{opacity:.55;}
[data-tab-panel]{display:none;}
[data-tab-panel].active{display:block;}
.nav-count{margin-inline-start:auto;min-width:22px;height:20px;padding:0 6px;border-radius:10px;background:var(--green);color:#fff;font-size:11px;display:inline-flex;align-items:center;justify-content:center;}
.me-tag{display:inline-flex;align-items:center;gap:6px;color:var(--text-dim);font-weight:700;font-size:13px;margin-inline-end:6px;}
.panel.narrow{max-width:720px;}
.panel-body.tight{padding-top:0;}

/* photo picker */
.drop{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;min-height:64px;padding:12px 14px;border:1.5px dashed var(--border-2);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;font-size:13.5px;text-align:center;transition:border-color .2s,background-color .2s;}
.drop:hover,.drop.has{border-color:var(--green);background:var(--surface-2);}
.drop svg{width:20px;height:20px;flex:none;}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;}
.drop.sm{min-height:42px;padding:8px 12px;}
.thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}
.thumbs:empty{display:none;}
.thumbs img{width:64px;height:64px;object-fit:cover;border-radius:8px;border:1px solid var(--border);}
.count-line{display:block;text-align:end;margin-top:4px;}

/* conversation */
.thread{display:grid;gap:10px;}
.msg{border:1px solid var(--border);border-radius:12px;padding:12px 14px;background:var(--surface-2);max-width:92%;}
.msg p{margin:6px 0 0;line-height:1.85;color:var(--text);white-space:normal;word-break:break-word;}
.msg .mh{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;color:var(--text-mute);}
.msg .mh b{color:var(--text);font-size:13.5px;}
.msg .mh .mono-keep{margin-inline-start:auto;}
.msg.cust{justify-self:start;}
.msg.us{justify-self:end;border-color:var(--green);background:var(--green-soft);}
.msg.note{justify-self:end;border-style:dashed;background:transparent;}
.msg.sys{justify-self:center;max-width:100%;background:transparent;border:0;padding:2px 8px;font-size:12px;color:var(--text-mute);display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:center;}
.gal{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.gal img{width:96px;height:96px;object-fit:cover;border-radius:8px;border:1px solid var(--border);display:block;}

/* ---------- public pages ---------- */
.pub-body{min-height:100vh;display:flex;flex-direction:column;}
.pub-stage{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;padding:86px 16px 26px;gap:14px;}
.pub-card{width:100%;max-width:460px;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:26px 24px;}
.pub-card.wide{max-width:720px;}
.pub-card h1{font-size:24px;margin:0 0 6px;color:var(--text);}
.pub-card>.sub{color:var(--text-dim);margin:0 0 16px;line-height:1.8;}
.pub-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--border);}
.pub-brand .brand-logo img{height:42px;width:auto;}
.pub-brand .name{font-weight:800;color:var(--text);}
.pub-brand .tg{font-size:12px;color:var(--text-mute);}
.pub-steps{display:flex;align-items:center;gap:8px;margin:0 0 18px;font-size:12.5px;color:var(--text-dim);flex-wrap:wrap;}
.pub-steps span{display:inline-flex;align-items:center;gap:6px;}
.pub-steps b{width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11.5px;}
.pub-steps i{flex:1;min-width:14px;height:1px;background:var(--border-2);}
.pub-sec{border:0;padding:0;margin:0 0 18px;}
.pub-sec legend{font-weight:800;color:var(--text);margin-bottom:10px;font-size:14.5px;padding:0;}
.pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;}
.pick{position:relative;cursor:pointer;}
.pick input{position:absolute;opacity:0;width:1px;height:1px;}
.pick span{display:flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--border-2);border-radius:10px;font-size:13.5px;font-weight:700;color:var(--text-dim);transition:border-color .15s,background-color .15s,color .15s;}
.pick:hover span{border-color:var(--green);}
.pick input:checked+span{border-color:var(--green);background:var(--green-soft);color:var(--text);}
.pick input:focus-visible+span{outline:2px solid var(--green);outline-offset:2px;}
.pub-alt{display:flex;align-items:center;gap:12px;margin-top:18px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);}
.pub-alt>svg{width:22px;height:22px;color:var(--green);flex:none;}
.pub-alt div{flex:1;display:flex;flex-direction:column;min-width:0;}
.pub-alt b{color:var(--text);font-size:14px;}
.pub-alt span{font-size:12.5px;color:var(--text-dim);}
.pub-moci{max-width:720px;text-align:center;font-size:12px;color:var(--text-mute);margin:0;display:flex;gap:6px;align-items:center;justify-content:center;}
.ref-hero{text-align:center;padding:6px 0 18px;}
.ref-hero>svg{width:48px;height:48px;color:var(--green);}
.ref-hero h1{margin:8px 0 4px;}
.ref-hero p{color:var(--text-dim);margin:0;}
.ref-big{display:inline-block;margin:12px 0 14px;padding:10px 22px;border:2px dashed var(--green);border-radius:12px;font-size:32px;font-weight:800;letter-spacing:.06em;color:var(--text);}
.ref-acts{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;}
.trk-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;}
.trk-head small{color:var(--text-mute);font-size:12px;}
.trk-head h1{margin:0;font-size:26px;}
.trk-steps{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;counter-reset:s;}
.trk-steps li{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;position:relative;font-size:12px;color:var(--text-mute);}
.trk-steps li::before{content:"";position:absolute;top:15px;inset-inline-start:calc(-50% + 18px);width:calc(100% - 36px);height:2px;background:var(--border-2);}
.trk-steps li:first-child::before{display:none;}
.trk-steps li.done::before{background:var(--green);}
.trk-steps .dot{width:32px;height:32px;border-radius:50%;border:2px solid var(--border-2);display:flex;align-items:center;justify-content:center;font-weight:800;background:var(--surface);position:relative;z-index:1;}
.trk-steps .dot svg{width:16px;height:16px;}
.trk-steps li.done .dot{background:var(--green);border-color:var(--green);color:#fff;}
.trk-steps li.cur b{color:var(--text);}
.trk-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:16px;}
.trk-meta div{background:var(--surface);padding:10px 12px;}
.trk-meta small{display:block;font-size:11.5px;color:var(--text-mute);}
.trk-meta b{font-size:13px;color:var(--text);}
.trk-reply{margin-top:16px;padding-top:16px;border-top:1px solid var(--border);}
.trk-reply-bar{display:flex;gap:10px;align-items:stretch;}
.trk-reply-bar .drop{flex:1;}
@media (max-width:560px){
  .pub-card{padding:20px 16px;}
  .trk-meta{grid-template-columns:1fr;}
  .trk-steps b{font-size:11px;}
  .ref-big{font-size:26px;}
  .msg{max-width:100%;}
}

/* ---------- staff panel ---------- */
.stat-link{text-decoration:none;transition:border-color .2s;}
.stat-link:hover{border-color:var(--green);}
.stat.is-late .v{color:#e5484d;}
.seg-wrap{display:flex;}
.chk-inline{align-self:center;font-size:13px;color:var(--text-dim);}
.tk-list{display:grid;gap:10px;}
.tk{display:block;text-decoration:none;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:14px 16px;transition:border-color .2s,transform .2s;}
.tk:hover{border-color:var(--green);transform:translateY(-1px);}
.tk.unread{border-inline-start:3px solid var(--green);}
.tk.late{border-inline-start:3px solid #e5484d;}
.tk-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.tk-ref{font-weight:800;color:var(--text);letter-spacing:.03em;}
.tk-when{margin-inline-start:auto;font-size:12px;color:var(--text-mute);}
.tk-mid{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-top:8px;}
.tk-mid b{color:var(--text);}
.tk-cat{font-size:12.5px;color:var(--text-dim);}
.tk-msg{margin:6px 0 0;color:var(--text-dim);font-size:13.5px;line-height:1.7;}
.tk-agent{margin-top:6px;font-size:12px;display:flex;gap:5px;align-items:center;}
.cat-row{display:grid;grid-template-columns:minmax(0,1.3fr) 1fr 28px;gap:10px;align-items:center;margin-bottom:10px;font-size:13px;color:var(--text-dim);text-decoration:none;}
.cat-row:hover span:first-child{color:var(--text);}
.cat-row b{color:var(--text);text-align:end;}
.share-links{display:grid;gap:12px;}
.share-links div{display:grid;grid-template-columns:1fr auto;gap:4px 8px;align-items:center;}
.share-links small{grid-column:1/-1;color:var(--text-mute);}
.share-links code{font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tk-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.tk-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start;}
@media (max-width:1000px){.tk-grid{grid-template-columns:1fr;}}
.tk-grid aside .kv{grid-template-columns:1fr;gap:10px;}
.kv small{display:block;font-size:11.5px;color:var(--text-mute);}
.kv b{color:var(--text);font-weight:700;word-break:break-word;}
.kv-acts{display:flex;gap:8px;flex-wrap:wrap;}
.tabs-head{gap:6px;padding-block:8px;}
.tab-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid transparent;color:var(--text-dim);font:inherit;font-weight:700;font-size:13px;padding:7px 12px;border-radius:9px;cursor:pointer;}
.tab-btn svg{width:16px;height:16px;}
.tab-btn.active{background:var(--surface-2);border-color:var(--border-2);color:var(--text);}
.note .btn{margin-inline-start:auto;flex:none;}
.flip{transform:scaleX(-1);}
[dir="rtl"] .flip{transform:none;}
