/* Lifted verbatim from templates/base.html. Edit here, not there.
   Load position in base.html is load-bearing: see the note at the
   <link> that pulls this file in. */
/* --- base.html line 2521 --- */
.rt-toast{
        pointer-events:auto;display:flex;align-items:flex-start;gap:12px;
        padding:16px 18px;background:#ffffff;
        border-radius:16px;border-left:4px solid #3b82f6;border-top:1px solid #e2e8f0;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;
        box-shadow:0 12px 40px rgba(59,130,246,.18),0 4px 12px rgba(0,0,0,.08);
        animation:rtSlideIn .4s cubic-bezier(.22,1,.36,1),rtHighlight 1.5s ease-in-out;
        cursor:pointer;transition:opacity .3s,transform .3s,box-shadow .2s;
    }
    .rt-toast:hover{box-shadow:0 16px 48px rgba(59,130,246,.24),0 6px 16px rgba(0,0,0,.1);transform:translateY(-2px);}
    .rt-toast.hiding{opacity:0;transform:translateX(80px);pointer-events:none;}
    .rt-toast.dm-toast{border-left-color:#2563eb;background:#ffffff;}
    .rt-toast-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.9rem;box-shadow:0 2px 8px rgba(0,0,0,.06);}
    .rt-toast-body{flex:1;min-width:0;}
    .rt-toast-title{font-size:.85rem;font-weight:700;color:#0f172a;margin:0 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
    .rt-toast-msg{font-size:.78rem;color:#475569;margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
    .rt-toast-time{font-size:.65rem;color:#94a3b8;margin-top:4px;display:flex;align-items:center;gap:4px;}
    .rt-toast-close{background:none;border:none;color:#94a3b8;font-size:.8rem;cursor:pointer;padding:4px 6px;border-radius:8px;flex-shrink:0;transition:color .15s,background .15s;margin:-4px -6px 0 0;}
    .rt-toast-close:hover{color:#1e293b;background:rgba(0,0,0,.06);}
    .rt-toast-progress{position:absolute;bottom:0;left:0;height:3px;border-radius:0 0 16px 16px;animation:rtProgress 5s linear forwards;}
    .rt-toast-progress.notif{background:#10b981;}
    .rt-toast-progress.dm{background:#10b981;}
    @keyframes rtSlideIn{from{opacity:0;transform:translateX(80px) scale(.92);}to{opacity:1;transform:translateX(0) scale(1);}}
    @keyframes rtHighlight{0%{box-shadow:0 12px 40px rgba(59,130,246,.18),0 4px 12px rgba(0,0,0,.08);}30%{box-shadow:0 12px 40px rgba(59,130,246,.35),0 4px 12px rgba(0,0,0,.08),0 0 0 3px rgba(59,130,246,.15);}100%{box-shadow:0 12px 40px rgba(59,130,246,.18),0 4px 12px rgba(0,0,0,.08);}}
    @keyframes rtProgress{from{width:100%;}to{width:0;}}
    @media(max-width:640px){
        #realtime-toasts{top:auto;bottom:70px;right:10px;left:10px;max-width:100%;width:auto;}
        .rt-toast{padding:14px 14px;}
        .rt-toast-icon{width:36px;height:36px;}
    }

/* --- base.html line 3120 --- */
/* ── overlay ── */
#qrm-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);z-index:10100;align-items:center;justify-content:center;padding:1rem;}
#qrm-overlay.qrm-open{display:flex;}
/* ── panel ── */
#qrm-panel{background:#fff;border-radius:20px;width:100%;max-width:480px;box-shadow:0 24px 64px rgba(0,0,0,.22);display:flex;flex-direction:column;overflow:hidden;max-height:90vh;}
[data-theme="dark"] #qrm-panel{background:#1e293b;}
/* ── header ── */
#qrm-header{display:flex;align-items:center;gap:.75rem;padding:1.1rem 1.25rem;border-bottom:1px solid #e2e8f0;flex-shrink:0;}
[data-theme="dark"] #qrm-header{border-color:#334155;}
#qrm-back-btn{display:none;background:none;border:none;cursor:pointer;color:#64748b;font-size:.9rem;padding:4px 6px;border-radius:6px;line-height:1;}
#qrm-back-btn:hover{background:#f1f5f9;color:#0f172a;}
[data-theme="dark"] #qrm-back-btn:hover{background:#0f172a;color:#f1f5f9;}
#qrm-title{flex:1;margin:0;font-size:1rem;font-weight:700;color:#0f172a;text-align:center;}
[data-theme="dark"] #qrm-title{color:#f1f5f9;}
#qrm-close-btn{background:none;border:none;cursor:pointer;color:#94a3b8;font-size:1.1rem;padding:4px 6px;border-radius:6px;line-height:1;}
#qrm-close-btn:hover{background:#f1f5f9;color:#0f172a;}
[data-theme="dark"] #qrm-close-btn:hover{background:#0f172a;color:#f1f5f9;}
/* ── body ── */
#qrm-body{padding:1.25rem;overflow-y:auto;flex:1;}
/* ── search step ── */
#qrm-search-wrap{position:relative;margin-bottom:1rem;}
#qrm-search-wrap i.qrm-search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:.82rem;pointer-events:none;}
#qrm-search-input{width:100%;padding:.7rem .75rem .7rem 2.4rem;border:2px solid #e2e8f0;border-radius:12px;font-size:.875rem;font-family:inherit;color:#334155;box-sizing:border-box;transition:border-color .15s;background:#fff;outline:none;}
#qrm-search-input:focus{border-color:#2563eb;}
[data-theme="dark"] #qrm-search-input{background:#0f172a;border-color:#334155;color:#f1f5f9;}
[data-theme="dark"] #qrm-search-input:focus{border-color:#3b82f6;}
#qrm-search-input::placeholder{color:#94a3b8;}
/* search results list */
#qrm-results-list{max-height:340px;overflow-y:auto;}
.qrm-biz-row{display:flex;align-items:center;gap:.75rem;padding:.65rem .75rem;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:.5rem;cursor:pointer;transition:all .15s;text-decoration:none;color:inherit;background:#fff;}
.qrm-biz-row:hover{border-color:#2563eb;background:#eff6ff;}
[data-theme="dark"] .qrm-biz-row{background:#0f172a;border-color:#334155;color:#f1f5f9;}
[data-theme="dark"] .qrm-biz-row:hover{border-color:#3b82f6;background:#1e3a5f;}
.qrm-biz-avatar{width:42px;height:42px;border-radius:10px;object-fit:cover;background:#f1f5f9;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:.9rem;}
[data-theme="dark"] .qrm-biz-avatar{background:#1e293b;}
.qrm-biz-info{flex:1;min-width:0;}
.qrm-biz-name{font-size:.875rem;font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
[data-theme="dark"] .qrm-biz-name{color:#f1f5f9;}
.qrm-biz-sub{font-size:.72rem;color:#64748b;margin-top:1px;}
.qrm-result-empty{text-align:center;padding:2rem 1rem;color:#94a3b8;font-size:.82rem;}
.qrm-result-empty i{font-size:1.75rem;display:block;margin-bottom:.5rem;color:#cbd5e1;}
/* ── review step ── */
#qrm-step-review{display:none;}
/* selected biz card */
#qrm-selected-card{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f8fafc;border-radius:12px;margin-bottom:1.25rem;}
[data-theme="dark"] #qrm-selected-card{background:#0f172a;}
#qrm-selected-avatar{width:48px;height:48px;border-radius:10px;object-fit:cover;background:#e2e8f0;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:1rem;}
[data-theme="dark"] #qrm-selected-avatar{background:#1e293b;}
#qrm-selected-name{font-size:.9rem;font-weight:700;color:#0f172a;display:flex;align-items:center;gap:.4rem;}
[data-theme="dark"] #qrm-selected-name{color:#f1f5f9;}
#qrm-selected-sub{font-size:.72rem;color:#64748b;margin-top:2px;}
/* star rating */
.qrm-stars-label{font-size:.8125rem;font-weight:600;color:#334155;margin-bottom:.6rem;display:block;}
[data-theme="dark"] .qrm-stars-label{color:#cbd5e1;}
#qrm-stars{display:flex;gap:.35rem;margin-bottom:1rem;}
#qrm-stars .qrm-star{font-size:2rem;cursor:pointer;color:#e2e8f0;transition:color .1s,transform .1s;line-height:1;}
#qrm-stars .qrm-star:hover,#qrm-stars .qrm-star.active{color:#f59e0b;transform:scale(1.15);}
#qrm-rating-hint{font-size:.72rem;color:#64748b;margin-top:-.5rem;margin-bottom:.75rem;min-height:1em;}
/* textarea */
.qrm-field-label{font-size:.8125rem;font-weight:600;color:#334155;margin-bottom:.4rem;display:block;}
[data-theme="dark"] .qrm-field-label{color:#cbd5e1;}
#qrm-content{width:100%;padding:.65rem .75rem;border:1.5px solid #e2e8f0;border-radius:10px;font-size:.8125rem;font-family:inherit;color:#334155;resize:vertical;min-height:110px;box-sizing:border-box;transition:border-color .15s;background:#fff;outline:none;line-height:1.5;}
#qrm-content:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.08);}
[data-theme="dark"] #qrm-content{background:#0f172a;border-color:#334155;color:#f1f5f9;}
[data-theme="dark"] #qrm-content:focus{border-color:#3b82f6;}
#qrm-content::placeholder{color:#94a3b8;}
/* anon toggle */
#qrm-anon-row{display:flex;align-items:center;gap:.5rem;margin:.75rem 0;}
#qrm-anon-chk{accent-color:#2563eb;width:15px;height:15px;cursor:pointer;}
#qrm-anon-label{font-size:.775rem;color:#64748b;cursor:pointer;}
[data-theme="dark"] #qrm-anon-label{color:#94a3b8;}
/* char counter */
#qrm-char-count{font-size:.68rem;color:#94a3b8;text-align:right;margin-top:.25rem;margin-bottom:.75rem;}
/* error */
#qrm-error{display:none;padding:.6rem .9rem;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:.8rem;margin-bottom:.75rem;}
[data-theme="dark"] #qrm-error{background:#450a0a;border-color:#7f1d1d;color:#fca5a5;}
/* submit btn */
#qrm-submit-btn{width:100%;padding:.7rem 1.5rem;background:#2563eb;color:#fff;border:none;border-radius:10px;font-size:.875rem;font-weight:700;cursor:pointer;transition:background .15s,transform .1s;display:flex;align-items:center;justify-content:center;gap:.5rem;}
#qrm-submit-btn:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px);}
#qrm-submit-btn:disabled{opacity:.65;cursor:not-allowed;transform:none;}
/* success screen */
#qrm-step-success{display:none;text-align:center;padding:2rem 1rem;}
#qrm-step-success i.qrm-success-icon{font-size:3rem;color:#10b981;display:block;margin-bottom:.75rem;}
#qrm-step-success h4{font-size:1.1rem;font-weight:700;color:#0f172a;margin:0 0 .4rem;}
[data-theme="dark"] #qrm-step-success h4{color:#f1f5f9;}
#qrm-step-success p{font-size:.875rem;color:#64748b;margin:0 0 1.25rem;}
#qrm-view-biz-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.25rem;background:#2563eb;color:#fff;border-radius:8px;text-decoration:none;font-size:.8125rem;font-weight:600;}
/* loading spinner */
.qrm-spin{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:qrm-rotate .6s linear infinite;}
@keyframes qrm-rotate{to{transform:rotate(360deg)}}
/* hint labels */
.qrm-hint-label{font-size:.72rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;margin:.25rem 0 .5rem;padding:0 2px;}

/* --- base.html line 3782 --- */
#ckc{
  position:fixed;bottom:24px;left:50%;z-index:99999;
  transform:translateX(-50%) translateY(24px) scale(.98);
  opacity:0;pointer-events:none;
  background:#ffffff;color:#475569;
  border:1px solid #e7ebf0;
  padding:14px 16px;border-radius:16px;
  font-size:.8125rem;line-height:1.5;
  max-width:560px;width:calc(100% - 32px);
  display:flex;align-items:center;gap:14px;
  box-shadow:0 12px 40px rgba(15,23,42,.16),0 3px 10px rgba(15,23,42,.07);
  transition:opacity .34s ease,transform .42s cubic-bezier(.22,.68,0,1.10);
}
#ckc.ckc--on{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0) scale(1)}
.ckc-ico{
  flex-shrink:0;width:38px;height:38px;border-radius:11px;
  display:flex;align-items:center;justify-content:center;font-size:1.15rem;line-height:1;
  background:rgba(16,185,129,.10);box-shadow:inset 0 0 0 1px rgba(16,185,129,.18);
}
.ckc-msg{flex:1;min-width:0}
#ckc strong{display:block;color:#0f172a;font-weight:600;font-size:.875rem;margin-bottom:1px}
#ckc a{color:#059669;text-decoration:none;font-weight:600}
#ckc a:hover{text-decoration:underline}
#ckc-btns{display:flex;gap:8px;flex-shrink:0;margin-left:auto}
.ckc-decline,.ckc-accept{
  padding:9px 16px;border-radius:9px;cursor:pointer;font-size:.75rem;font-weight:600;
  white-space:nowrap;font-family:inherit;
  transition:transform .12s ease,background .15s,box-shadow .15s,border-color .15s,color .15s;
}
.ckc-decline{background:transparent;color:#64748b;border:1px solid #e2e8f0}
.ckc-decline:hover{background:#f1f5f9;color:#334155}
.ckc-accept{background:linear-gradient(180deg,#10b981,#059669);color:#fff;border:1px solid #059669;
  box-shadow:0 1px 2px rgba(5,150,105,.35)}
.ckc-accept:hover{box-shadow:0 4px 12px rgba(5,150,105,.40);transform:translateY(-1px)}
.ckc-accept:active,.ckc-decline:active{transform:translateY(0)}
.ckc-decline:focus-visible,.ckc-accept:focus-visible{outline:2px solid #10b981;outline-offset:2px}
/* Dark theme: adapt the whole banner */
[data-theme="dark"] #ckc{background:#1b2535;color:#cbd5e1;border-color:#2c3a4f;
  box-shadow:0 12px 44px rgba(0,0,0,.55),0 3px 10px rgba(0,0,0,.30)}
[data-theme="dark"] .ckc-ico{background:rgba(52,211,153,.13);box-shadow:inset 0 0 0 1px rgba(52,211,153,.22)}
[data-theme="dark"] #ckc strong{color:#f1f5f9}
[data-theme="dark"] #ckc a{color:#34d399}
[data-theme="dark"] .ckc-decline{color:#94a3b8;border-color:#3a4a60}
[data-theme="dark"] .ckc-decline:hover{background:rgba(255,255,255,.06);color:#e2e8f0}
[data-theme="dark"] .ckc-accept{border-color:#0e7c5a}
@media(max-width:560px){
  #ckc{bottom:10px;left:10px;right:10px;width:auto;max-width:none;border-radius:16px;
    transform:translateY(24px) scale(.98);flex-wrap:wrap;gap:12px;padding:16px}
  #ckc.ckc--on{transform:translateY(0) scale(1)}
  #ckc-btns{width:100%;gap:10px}
  .ckc-decline,.ckc-accept{flex:1;padding:12px 16px;font-size:.8125rem}
}
