/* ══ Dashboard.css — Кабінет клієнта — спільне (обгортка, заголовки, тости).
   Правити тут; сторінка підключає чанк через site_css() у шаблоні. ══ */

.cab-wide { max-width:640px; margin:0 auto; padding:36px 15px 90px; }
.cab-h1 { font-size:26px; margin:0 0 8px; }
.cab-h2 { font-size:19px; margin:30px 0 14px; }
.cab-err { color:#d82b2b; font-size:14px; margin:0 0 12px; }
.cab-head { display:flex; align-items:center; justify-content:space-between; }
.cab-btn-line { background:#fff; color:var(--ink); border:1px solid var(--line); }
.cab-card { display:block; border:1px solid var(--line); border-radius:12px;
            padding:15px 17px; margin-bottom:12px; text-decoration:none;
            color:var(--ink); transition:border-color .15s; }
.cab-card:hover { border-color:var(--green); }
.cab-card-top { display:flex; align-items:flex-start; gap:10px;
                justify-content:space-between; }
.cab-card-title { font-size:16px; font-weight:700; }
.cab-card-meta { color:#6b7280; font-size:13px; margin-top:5px; }
.cab-card-last { color:#414141; font-size:13px; margin-top:8px;
                 display:flex; align-items:center; gap:8px; }
.cab-status-new { background:#ECFDF5; color:#059669; }
.cab-status-in_progress { background:#EFF6FF; color:#2563eb; }
.cab-status-done { background:#F3F4F6; color:#414141; }
.cab-status-cancelled { background:#FEF2F2; color:#d82b2b; }
.cab-badge { background:#d82b2b; color:#fff; font-size:11px; font-weight:800;
             border-radius:999px; padding:1px 7px; }
.cab-empty { text-align:center; color:#6b7280; font-size:15px; padding:34px 20px;
             border:1px dashed var(--line); border-radius:12px; margin:16px 0; }
.cab-empty-ico { font-size:40px; margin-bottom:8px; }
.cab-more { text-align:center; margin-top:20px; }
.cab-actions { display:flex; gap:10px; margin:16px 0 4px; flex-wrap:wrap; }
.cab-order-head { display:flex; align-items:flex-start; gap:12px;
                  justify-content:space-between; }
.cab-order-meta { color:#6b7280; font-size:13px; margin:2px 0 10px; }
.cab-order-desc { color:#414141; font-size:15px; line-height:1.55; margin:0; }
.cab-tabs { display:flex; gap:8px; margin-bottom:14px; flex-wrap:wrap; }
.cab-tab { display:flex; align-items:center; gap:7px; border:1px solid var(--line);
           border-radius:999px; padding:8px 16px; font-size:14px; font-weight:600;
           color:var(--ink); text-decoration:none; }
.cab-tab.on { background:var(--green); border-color:var(--green); color:#fff; }
.cab-worker { border:1px solid var(--line); border-radius:14px; padding:18px; }
.cab-worker-top { display:flex; gap:14px; }
.cab-ava { width:64px; height:64px; border-radius:50%; object-fit:cover;
           flex:0 0 auto; }
.cab-ava-txt { background:#C08BA6; color:#fff; display:flex; align-items:center;
               justify-content:center; font-size:26px; font-weight:800; }
.cab-worker-name { font-size:17px; font-weight:800; display:flex; gap:8px;
                   align-items:center; }
.cab-new { background:#2563eb; color:#fff; font-size:11px; font-weight:700;
           border-radius:6px; padding:2px 8px; }
.cab-worker-stars { display:flex; align-items:center; gap:3px; font-size:14px;
                    margin-top:3px; }
.cab-worker-about { color:#414141; font-size:14px; line-height:1.5;
                    margin:12px 0 0; }
.cab-worker-rows { margin-top:12px; display:flex; flex-direction:column; }
.cab-worker-row { display:block; padding:11px 0; border-top:1px solid var(--line);
                  color:var(--ink); text-decoration:none; font-size:14px; }
.cab-chat { border:1px solid var(--line); border-radius:14px; margin-top:14px;
            display:flex; flex-direction:column; }
.cab-msg { max-width:78%; border-radius:14px; padding:9px 13px; font-size:14px;
           line-height:1.4; }
.cab-msg-my { align-self:flex-end; background:var(--green); color:#fff;
              border-bottom-right-radius:4px; }
.cab-msg-their { align-self:flex-start; background:#F3F4F6; color:var(--ink);
                 border-bottom-left-radius:4px; }
.cab-msg-event { align-self:center; background:#F3F4F6; color:#6b7280;
                 font-size:12px; font-style:italic; border-radius:999px;
                 padding:7px 15px; }
.cab-msg-time { display:block; font-size:10px; opacity:.7; margin-top:3px;
                text-align:right; }
.cab-msg img { max-width:200px; border-radius:8px; display:block; }
.cab-tile-hot { background:#FFFDF3; border-color:#F1E9C8; }
.cab-msg-chip { display:inline-block; margin-top:16px; border:1.4px solid #E8C84D;
                background:#fff; border-radius:6px; padding:7px 12px;
                font-size:11px; font-weight:700; color:var(--ink);
                letter-spacing:.3px; }
.cab-pop-head { margin-top:36px; }
.cab-pop-row { display:grid; grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));
               gap:12px; margin-top:14px; }
.cab-two { max-width:1080px; margin:0 auto; padding:28px 15px 90px;
           display:grid; grid-template-columns:1fr 430px; gap:26px;
           align-items:start; }
@media (max-width: 900px) {
  .cab-two { grid-template-columns:1fr; }
}
.cab-cancel-link { background:none; border:0; color:#0071BC; font-size:14px;
                   cursor:pointer; padding:0; margin:4px 0 10px; }
.cab-answer { border:1.4px solid #0071BC; color:#0071BC; border-radius:6px;
              padding:9px 16px; font-size:12px; font-weight:700;
              letter-spacing:.4px; flex:0 0 auto; }
.cab-vphone { display:inline-block; margin-top:13px; color:var(--ink);
              font-weight:700; font-size:15px; text-decoration:none; }
#cabChatMsgs { display:flex; flex-direction:column; gap:8px; margin-top:12px; }
.cab-two { --fx-blue:#0071BC; --fx-ink:#414141; --fx-txt:#676767;
           --fx-gold:#FFBC00; }
.cab-answer { border:1px solid var(--fx-blue); color:var(--fx-blue);
              border-radius:2px; padding:10px 14px; font-size:9px;
              font-weight:900; letter-spacing:.6px; }
.cab-rec-inline { background:var(--accent-color); }
.cab-msg-chip { border-color:#E8C84D; font-size:10px; font-weight:900; }
.cab-answer, .cab-vname, .cab-back, .cab-rate {  }
.cab-cancel-link, .cab-tab { color:#0071BC; }
.cab-two { max-width:985px; grid-template-columns:460px 1fr; gap:20px;
           padding:24px 15px 90px; }
@media (max-width: 900px) {
  .cab-two { grid-template-columns:1fr; }
}
.cab-two { max-width:1285px; grid-template-columns:625px 1fr; gap:0; padding:0 0 0;
           align-items:stretch; }
@media (max-width: 1000px) {
  .cab-two { grid-template-columns:1fr; }
}
.cab-others { background:#fff; padding:24px 20px 30px; }
.cab-cancel-link { font-size:18px; color:#0071BC; margin:12px 0 22px; }
.cab-answer { font-size:11px; padding:12px 16px; border-radius:2px; }
.cab-rec-inline { font-size:12px; padding:4px 8px; }
.cab-two { max-width:970px; grid-template-columns:460px 485px; gap:0; padding:35px 0 0;
           justify-content:center; min-height:calc(100vh - 70px); }
@media (max-width: 1000px) {
  .cab-two { grid-template-columns:1fr; }
}
.cab-cancel-link { font-size:15px; margin:0 0 18px; }
.cab-answer { font-size:9px; padding:10px; }
.cab-others { padding:22px 33px 26px; }
#cabChatMsgs { padding:0 0 10px; }
body.cab-order-page .nav { position:static; }
body.cab-order-page .cab-two { min-height:calc(100vh - 70px); }
.cab-wide2 .cab-h1 { font-family:'Poppins','Lato',sans-serif; font-size:19px;
                     line-height:32px; font-weight:600; color:#414141;
                     margin:0 0 30px; }
.cab-tile .cab-answer, .cab-tile .cab-msg-chip { align-self:flex-start; }
.cab-tile .cab-answer, .cab-tile .cab-msg-chip { margin-top:12px;
                                                 margin-bottom:0; }
.cab-tile .cab-answer { width:auto; height:38px; display:inline-flex;
                        align-items:center; justify-content:center; padding:0 18px;
                        font-size:11px; font-weight:700; letter-spacing:.4px;
                        border:1px solid #0071BC; border-radius:4px;
                        align-self:flex-start; }
.cab-tile .cab-answer { margin-top:14px; }
.cab-wrow .cab-answer { font-size:9px; font-weight:900; letter-spacing:.6px; padding:10px;
              border:1px solid #0071BC; border-radius:2px; color:#0071BC; }
body.cab-order-page .cab-answer { font-size:9px; padding:9px; }
