/* Caretips Consultancy — Client Portal */
.caretips_consultancy-portal { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:#1d2327; max-width:1100px; margin:0 auto; }
.caretips_consultancy-portal * { box-sizing:border-box; }
/* ── Tabs ─────────────────────── */
.caretips_consultancy-tabs { display:flex; gap:4px; border-bottom:2px solid #e5e7eb; margin-bottom:24px; flex-wrap:wrap; }
.caretips_consultancy-tab { padding:10px 20px; font-size:14px; font-weight:500; color:#6b7280; text-decoration:none; border-radius:6px 6px 0 0; transition:color .15s,background .15s; position:relative; }
.caretips_consultancy-tab:hover { color:#1e3a5f; background:#f0f4f8; }
.caretips_consultancy-tab.active { color:#1e3a5f; background:#fff; border:2px solid #e5e7eb; border-bottom:2px solid #fff; font-weight:700; }
.caretips_consultancy-tab-badge { display:inline-flex; align-items:center; justify-content:center; background:#d63638; color:#fff; font-size:10px; font-weight:700; border-radius:10px; min-width:18px; height:18px; padding:0 5px; margin-left:5px; vertical-align:middle; line-height:1; }
/* ── Overview ─────────────────── */
.caretips_consultancy-overview-header h2 { font-size:1.5em; margin:0 0 4px; color:#1e3a5f; }
.caretips_consultancy-org-name { color:#6b7280; font-size:14px; margin:0 0 24px; }
.caretips_consultancy-stats-row { display:flex; gap:16px; margin-bottom:24px; flex-wrap:wrap; }
.caretips_consultancy-stat-card { flex:1; min-width:120px; background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:20px; text-align:center; text-decoration:none; color:inherit; transition:box-shadow .15s,border-color .15s; }
.caretips_consultancy-stat-card:hover { box-shadow:0 4px 12px rgba(0,0,0,.08); border-color:#1e3a5f; }
.caretips_consultancy-stat-num { display:block; font-size:2em; font-weight:700; color:#1e3a5f; }
.caretips_consultancy-stat-label { display:block; font-size:12px; color:#9ca3af; margin-top:4px; }
.caretips_consultancy-stat-warn .caretips_consultancy-stat-num { color:#d97706; }
/* ── Cards ────────────────────── */
.caretips_consultancy-contract-card { background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:20px; margin-bottom:16px; }
.caretips_consultancy-contract-header { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:12px; }
.caretips_consultancy-contract-header h3 { margin:0 0 4px; font-size:1em; color:#1e3a5f; }
.caretips_consultancy-service-tag { display:inline-block; background:#eff6ff; color:#1e40af; font-size:11px; padding:2px 8px; border-radius:10px; }
.caretips_consultancy-consultant-chip { background:#f0fdf4; color:#166534; border:1px solid #bbf7d0; border-radius:20px; padding:4px 12px; font-size:13px; white-space:nowrap; }
.caretips_consultancy-caseload-item { margin-bottom:12px; padding:12px; background:#f9fafb; border-radius:6px; }
.caretips_consultancy-cl-title { font-weight:600; font-size:13px; margin-bottom:6px; }
.caretips_consultancy-cl-meta { font-size:11px; color:#9ca3af; margin-top:4px; }
/* ── Progress ─────────────────── */
.caretips_consultancy-progress-bar { height:6px; background:#e5e7eb; border-radius:3px; overflow:hidden; }
.caretips_consultancy-progress-fill { height:100%; background:linear-gradient(90deg,#1e3a5f,#3b82f6); border-radius:3px; transition:width .4s ease; }
/* ── Requests ─────────────────── */
.caretips_consultancy-request-card { background:#fff; border:1px solid #e5e7eb; border-radius:8px; padding:16px; margin-bottom:12px; }
.caretips_consultancy-req-pending { border-left:4px solid #d97706; }
.caretips_consultancy-req-done { border-left:4px solid #16a34a; opacity:.8; display:flex; justify-content:space-between; align-items:center; }
.caretips_consultancy-req-header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:8px; }
.caretips_consultancy-due-badge { background:#fef3c7; color:#92400e; font-size:11px; padding:2px 8px; border-radius:10px; white-space:nowrap; }
.caretips_consultancy-status-badge { background:#dcfce7; color:#166534; font-size:11px; padding:2px 8px; border-radius:10px; }
/* ── Invoices ─────────────────── */
.caretips_consultancy-invoice-card { background:#fff; border:1px solid #e5e7eb; border-radius:8px; padding:16px; margin-bottom:12px; }
.caretips_consultancy-inv-link { display:block; text-decoration:none; color:inherit; transition:box-shadow .15s,border-color .15s; }
.caretips_consultancy-inv-link:hover { box-shadow:0 4px 12px rgba(0,0,0,.08); border-color:#1e3a5f; }
.caretips_consultancy-inv-outstanding { border-left:4px solid #d97706; }
.caretips_consultancy-inv-paid { opacity:.85; }
.caretips_consultancy-inv-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.caretips_consultancy-inv-num { font-weight:700; font-size:15px; }
.caretips_consultancy-inv-total { font-size:1.1em; margin:4px 0; }
.caretips_consultancy-inv-due { font-size:13px; color:#d97706; }
.caretips_consultancy-inv-view-link { display:inline-block; margin-top:10px; font-size:13px; color:#1e3a5f; font-weight:600; }
.caretips_consultancy-status-draft { color:#6b7280; font-weight:700; }
.caretips_consultancy-status-sent { color:#2271b1; font-weight:700; }
.caretips_consultancy-status-overdue { color:#d63638; font-weight:700; }
.caretips_consultancy-status-paid { color:#16a34a; font-weight:700; }
.caretips_consultancy-status-cancelled { color:#9ca3af; font-weight:700; }
.caretips_consultancy-bank-details { background:#f0f7ff; border:1px solid #bfdbfe; border-radius:8px; padding:16px; margin-top:16px; }
.caretips_consultancy-bank-details h4 { margin:0 0 8px; font-size:13px; color:#1d4ed8; }
.caretips_consultancy-bank-details pre { margin:0; font-size:13px; white-space:pre-wrap; color:#1e3a5f; font-family:inherit; }
/* ── Invoice Detail ───────────── */
.caretips_consultancy-inv-detail-bar { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; flex-wrap:wrap; gap:10px; }
.caretips_consultancy-inv-detail { background:#fff; border:1px solid #e5e7eb; border-radius:10px; overflow:hidden; margin-bottom:24px; }
.caretips_consultancy-inv-detail-head { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; padding:24px; background:#1e3a5f; flex-wrap:wrap; }
.caretips_consultancy-inv-detail-num { font-size:1.4em; font-weight:800; color:#fff; margin:0 0 6px; }
.caretips_consultancy-inv-detail-head .caretips_consultancy-inv-status { background:rgba(255,255,255,.2); border-radius:20px; padding:3px 14px; font-size:12px; color:#fff; font-weight:700; }
.caretips_consultancy-inv-detail-dates { display:flex; gap:24px; flex-wrap:wrap; }
.caretips_consultancy-inv-meta-item { display:flex; flex-direction:column; gap:2px; }
.caretips_consultancy-inv-meta-item span { font-size:11px; color:rgba(255,255,255,.65); text-transform:uppercase; letter-spacing:.05em; }
.caretips_consultancy-inv-meta-item strong { font-size:14px; color:#fff; }
.caretips_consultancy-inv-items-table { width:100%; border-collapse:collapse; }
.caretips_consultancy-inv-items-table thead tr { background:#f9fafb; }
.caretips_consultancy-inv-items-table th { padding:10px 20px; text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:#6b7280; font-weight:600; border-bottom:1px solid #e5e7eb; }
.caretips_consultancy-inv-items-table th:nth-child(n+2),.caretips_consultancy-inv-items-table td:nth-child(n+2) { text-align:right; }
.caretips_consultancy-inv-items-table td { padding:14px 20px; border-bottom:1px solid #f3f4f6; font-size:14px; }
.caretips_consultancy-inv-items-table tbody tr:last-child td { border-bottom:none; }
.caretips_consultancy-inv-items-table tfoot { border-top:2px solid #e5e7eb; }
.caretips_consultancy-inv-sub td { padding:8px 20px; font-size:13px; color:#6b7280; }
.caretips_consultancy-inv-total-row td { padding:12px 20px; font-size:16px; color:#1e3a5f; background:#f0f7ff; }
.caretips_consultancy-inv-notes { padding:16px 20px; border-top:1px solid #f3f4f6; font-size:14px; color:#4b5563; line-height:1.6; }
.caretips_consultancy-inv-detail .caretips_consultancy-bank-details { border-radius:0; border:none; border-top:1px solid #e5e7eb; margin-top:0; }
/* ── Staff Caseload Detail ─────── */
.caretips_consultancy-cl-list-link { display:block; text-decoration:none; color:inherit; transition:box-shadow .15s,border-color .15s; cursor:pointer; }
.caretips_consultancy-cl-list-link:hover { box-shadow:0 4px 12px rgba(0,0,0,.08); border-color:#1e3a5f; }
.caretips_consultancy-cl-detail-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; padding:20px; background:#1e3a5f; border-radius:10px; margin-bottom:20px; flex-wrap:wrap; }
.caretips_consultancy-cl-detail-head h3 { color:#fff; }
.caretips_consultancy-cl-detail-head span { color:rgba(255,255,255,.75); }
.caretips_consultancy-cl-progress-wrap { margin-bottom:24px; }
.caretips_consultancy-ms-card { background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:20px; margin-bottom:16px; }
.caretips_consultancy-ms-card-done { border-left:4px solid #16a34a; opacity:.85; }
.caretips_consultancy-ms-card-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:14px; flex-wrap:wrap; }
.caretips_consultancy-ms-due { font-size:12px; color:#d97706; margin-left:8px; }
.caretips_consultancy-ms-desc-small { font-size:12px; color:#6b7280; margin:4px 0 0; }
.caretips_consultancy-ms-count-badge { background:#f3f4f6; color:#374151; border-radius:20px; padding:2px 10px; font-size:12px; font-weight:600; white-space:nowrap; }
/* ── Task Cards (staff portal) ── */
.caretips_consultancy-task-card { display:flex; justify-content:space-between; align-items:center; background:#f9fafb; border:1px solid #e5e7eb; border-radius:8px; padding:12px 14px; margin-bottom:8px; gap:10px; }
.caretips_consultancy-task-card-done { opacity:.7; background:#f0fdf4; border-color:#bbf7d0; }
.caretips_consultancy-task-overdue { border-left:4px solid #d63638 !important; background:#fff5f5 !important; }
.caretips_consultancy-task-card-main { display:flex; align-items:flex-start; gap:10px; flex:1; min-width:0; }
.caretips_consultancy-task-meta { font-size:11px; color:#9ca3af; margin-top:2px; }
.caretips_consultancy-add-link { cursor:pointer; color:#1e3a5f; font-size:13px; font-weight:600; }
.caretips_consultancy-add-link:hover { text-decoration:underline; }
/* ── Button variants ──────────── */
.caretips_consultancy-btn-complete { background:#1e3a5f; color:#fff; }
.caretips_consultancy-btn-complete:hover { background:#152d4a; color:#fff; }
.caretips_consultancy-btn-reopen { background:#f3f4f6; color:#374151; border:1px solid #e5e7eb; }
.caretips_consultancy-btn-reopen:hover { background:#e5e7eb; color:#374151; }
/* ── Caseload progress detail (client portal) ── */
.caretips_consultancy-caseload-link { display:block; text-decoration:none; color:inherit; border-radius:8px; border:1px solid #e5e7eb; padding:14px 16px; margin-bottom:10px; transition:box-shadow .15s,border-color .15s; }
.caretips_consultancy-caseload-link:hover { border-color:#1e3a5f; box-shadow:0 3px 10px rgba(0,0,0,.07); }
.caretips_consultancy-cl-link-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.caretips_consultancy-cl-pct-badge { background:#1e3a5f; color:#fff; border-radius:20px; padding:2px 10px; font-size:13px; font-weight:700; }
.caretips_consultancy-cl-progress-head { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; background:#1e3a5f; color:#fff; border-radius:12px; padding:24px; margin-bottom:20px; flex-wrap:wrap; }
.caretips_consultancy-cl-progress-head h3 { margin:0 0 4px; color:#fff; font-size:20px; }
.caretips_consultancy-cl-progress-head p { margin:0; color:rgba(255,255,255,.75); font-size:13px; }
.caretips_consultancy-cl-progress-info { flex:1; min-width:200px; }
.caretips_consultancy-cl-ring-wrap { position:relative; width:90px; height:90px; flex-shrink:0; }
.caretips_consultancy-ring { width:90px; height:90px; transform:rotate(-90deg); }
.caretips_consultancy-ring-bg { fill:none; stroke:rgba(255,255,255,.2); stroke-width:3; }
.caretips_consultancy-ring-fill { fill:none; stroke:#60a5fa; stroke-width:3; stroke-linecap:round; transition:stroke-dasharray .6s ease; }
.caretips_consultancy-ring-label { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.caretips_consultancy-ring-pct { font-size:18px; font-weight:700; color:#fff; line-height:1; }
.caretips_consultancy-ring-sub { font-size:10px; color:rgba(255,255,255,.7); margin-top:2px; }
.caretips_consultancy-cl-progress-stats { display:flex; gap:12px; margin-bottom:24px; flex-wrap:wrap; }
.caretips_consultancy-cl-pstat { background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:14px 20px; display:flex; flex-direction:column; align-items:center; flex:1; min-width:100px; }
.caretips_consultancy-cl-pstat-num { font-size:20px; font-weight:700; color:#1e3a5f; }
.caretips_consultancy-cl-pstat-lbl { font-size:12px; color:#9ca3af; margin-top:2px; }
.caretips_consultancy-status-chip { border-radius:20px; padding:3px 10px; font-size:12px; font-weight:600; }
.caretips_consultancy-status-in_progress { background:#dbeafe; color:#1d4ed8; }
.caretips_consultancy-status-on_hold { background:#fef3c7; color:#92400e; }
.caretips_consultancy-status-completed { background:#dcfce7; color:#166534; }
.caretips_consultancy-ms-progress-card { background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:20px; margin-bottom:14px; }
.caretips_consultancy-ms-progress-done { border-left:4px solid #16a34a; }
.caretips_consultancy-ms-progress-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; flex-wrap:wrap; }
.caretips_consultancy-ms-progress-title { display:flex; gap:12px; align-items:flex-start; flex:1; }
.caretips_consultancy-ms-tick { width:24px; height:24px; border-radius:50%; background:#1e3a5f; color:#fff; display:flex; align-items:center; justify-content:center; font-size:13px; flex-shrink:0; margin-top:2px; }
.caretips_consultancy-ms-progress-done .caretips_consultancy-ms-tick { background:#16a34a; }
.caretips_consultancy-ms-progress-right { display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
.caretips_consultancy-ms-due-chip { background:#fef3c7; color:#92400e; border-radius:20px; padding:2px 10px; font-size:12px; }
.caretips_consultancy-ms-task-count { background:#f3f4f6; color:#374151; border-radius:20px; padding:2px 10px; font-size:12px; font-weight:600; }
.caretips_consultancy-fill-done { background:#16a34a !important; }
.caretips_consultancy-task-list-client { display:flex; flex-direction:column; gap:6px; }
.caretips_consultancy-task-row-client { display:flex; align-items:center; gap:8px; padding:8px 12px; background:#f9fafb; border-radius:6px; font-size:14px; flex-wrap:wrap; }
.caretips_consultancy-task-row-done { background:#f0fdf4; }
.caretips_consultancy-task-check { width:18px; height:18px; border-radius:50%; background:#16a34a; color:#fff; display:flex; align-items:center; justify-content:center; font-size:11px; flex-shrink:0; }
.caretips_consultancy-task-row-client:not(.caretips_consultancy-task-row-done) .caretips_consultancy-task-check { background:#e5e7eb; color:transparent; }
.caretips_consultancy-task-row-title { flex:1; }
.caretips_consultancy-task-assignee { font-size:12px; color:#9ca3af; margin-left:auto; }
/* ── Milestone comment threads ── */
.caretips_consultancy-ms-comments { margin-top:16px; }
.caretips_consultancy-comment-thread { display:flex; flex-direction:column; gap:8px; margin-bottom:12px; }
.caretips_consultancy-comment { border-radius:8px; padding:10px 14px; font-size:14px; }
.caretips_consultancy-comment-staff { background:#eff6ff; border-left:3px solid #1e3a5f; }
.caretips_consultancy-comment-client { background:#f9fafb; border-left:3px solid #9ca3af; }
.caretips_consultancy-comment-meta { display:flex; justify-content:space-between; align-items:center; margin-bottom:4px; flex-wrap:wrap; gap:4px; }
.caretips_consultancy-comment-author { font-weight:600; font-size:13px; color:#1e3a5f; }
.caretips_consultancy-comment-client .caretips_consultancy-comment-author { color:#374151; }
.caretips_consultancy-comment-time { font-size:11px; color:#9ca3af; }
.caretips_consultancy-comment-body { margin:0; color:#374151; line-height:1.6; }
.caretips_consultancy-comment-form { display:flex; flex-direction:column; gap:6px; }
.caretips_consultancy-comment-form textarea { resize:vertical; min-height:64px; }
/* ── Payment Recording ─────────── */
.caretips_consultancy-pay-form-wrap { background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:24px; margin-top:20px; }
.caretips_consultancy-pay-form-title { margin:0 0 8px; font-size:1em; color:#1e3a5f; }
.caretips_consultancy-pay-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:16px; }
.caretips_consultancy-pay-field { display:flex; flex-direction:column; gap:5px; }
.caretips_consultancy-pay-field label { font-size:13px; font-weight:600; color:#374151; }
.caretips_consultancy-pay-field-full { grid-column:1 / -1; }
.caretips_consultancy-pay-record-pending { display:flex; gap:16px; align-items:flex-start; background:#fefce8; border:1px solid #fde68a; border-radius:10px; padding:20px; margin-top:20px; }
.caretips_consultancy-pay-pending-icon { font-size:28px; line-height:1; flex-shrink:0; }
.caretips_consultancy-pay-record-pending strong { display:block; color:#92400e; margin-bottom:4px; }
.caretips_consultancy-pay-record-pending p { font-size:13px; color:#78350f; margin:0; }
/* ── Tickets ─────────────────── */
.caretips_consultancy-ticket-view { background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:20px; }
.caretips_consultancy-ticket-view h3 { margin-top:0; }
.caretips_consultancy-ticket-row { display:flex; justify-content:space-between; align-items:center; background:#fff; border:1px solid #e5e7eb; border-radius:8px; padding:12px 16px; margin-bottom:8px; gap:8px; }
.caretips_consultancy-tk-closed { opacity:.7; }
.caretips_consultancy-tk-status { font-size:13px; color:#6b7280; margin:4px 0; }
.caretips_consultancy-tk-status-badge { font-size:11px; font-weight:600; padding:2px 8px; border-radius:10px; background:#f3f4f6; color:#374151; }
.caretips_consultancy-messages { display:flex; flex-direction:column; gap:12px; margin:16px 0; }
.caretips_consultancy-message { padding:14px 16px; border-radius:10px; max-width:75%; }
.caretips_consultancy-msg-staff  { background:#eff6ff; border:1px solid #bfdbfe; align-self:flex-end; }
.caretips_consultancy-msg-client { background:#f9fafb; border:1px solid #e5e7eb; align-self:flex-start; }
.caretips_consultancy-msg-meta { font-size:11px; color:#9ca3af; margin-bottom:6px; }
.caretips_consultancy-msg-body { font-size:14px; line-height:1.5; }
.caretips_consultancy-msg-time { font-size:11px; color:#d1d5db; margin-top:6px; text-align:right; }
.caretips_consultancy-staff-badge { background:#1e3a5f; color:#fff; font-size:10px; padding:1px 6px; border-radius:3px; margin-left:4px; }
.caretips_consultancy-reply-box { background:#f9fafb; border:1px solid #e5e7eb; border-radius:8px; padding:16px; margin-top:16px; }
.caretips_consultancy-reply-box h4 { margin-top:0; }
/* ── New ticket form ─────────── */
.caretips_consultancy-new-ticket { background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:20px; margin-bottom:24px; }
.caretips_consultancy-new-ticket h3 { margin-top:0; }
/* ── Ticket status badge colours */
.caretips_consultancy-tks-open           { background:#dbeafe; color:#1d4ed8; }
.caretips_consultancy-tks-in_progress    { background:#fef3c7; color:#92400e; }
.caretips_consultancy-tks-waiting_client { background:#fff7ed; color:#c2410c; }
.caretips_consultancy-tks-resolved       { background:#dcfce7; color:#166534; }
.caretips_consultancy-tks-closed         { background:#f3f4f6; color:#6b7280; }
/* ── Stats row ──────────────── */
.caretips_consultancy-tk-stats     { display:flex; gap:12px; margin-bottom:20px; flex-wrap:wrap; }
.caretips_consultancy-tk-stat      { background:#fff; border:1px solid #e5e7eb; border-radius:8px; padding:12px 18px; text-align:center; flex:1; min-width:80px; }
.caretips_consultancy-tk-stat-n    { display:block; font-size:22px; font-weight:700; color:#1e3a5f; }
.caretips_consultancy-tk-stat > span:last-child { font-size:12px; color:#6b7280; }
.caretips_consultancy-tk-stat-open .caretips_consultancy-tk-stat-n { color:#1d4ed8; }
.caretips_consultancy-tk-stat-done .caretips_consultancy-tk-stat-n { color:#166534; }
/* ── Filter bar ─────────────── */
.caretips_consultancy-tk-filter-bar   { display:flex; flex-wrap:wrap; gap:10px; align-items:flex-start; margin:16px 0; }
.caretips_consultancy-tk-filter-pills { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.caretips_consultancy-tk-pill         { background:#f3f4f6; color:#374151; border:1px solid #e5e7eb; border-radius:20px; padding:5px 14px; font-size:13px; cursor:pointer; line-height:1.4; transition:background .15s,color .15s,border-color .15s; }
.caretips_consultancy-tk-pill:hover   { background:#e5e7eb; }
.caretips_consultancy-tk-pill.active  { background:#1e3a5f; color:#fff; border-color:#1e3a5f; }
.caretips_consultancy-tk-search-wrap  { display:flex; gap:6px; align-items:center; flex:1; min-width:220px; }
.caretips_consultancy-tk-search-input { flex:1; }
/* ── Ticket list row ─────────── */
.caretips_consultancy-tk-row-link        { text-decoration:none; color:inherit; display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; }
.caretips_consultancy-tk-row-link:hover  { background:#f0f7ff; border-color:#bfdbfe; }
.caretips_consultancy-tk-row-main        { display:flex; flex-direction:column; gap:3px; min-width:0; }
.caretips_consultancy-tk-subject-link    { font-weight:600; color:#1e3a5f; font-size:14px; }
.caretips_consultancy-tk-row-meta        { font-size:12px; color:#9ca3af; }
.caretips_consultancy-tk-row-badges      { display:flex; gap:6px; align-items:center; flex-shrink:0; }
/* ── Resolve / reopen ────────── */
.caretips_consultancy-tk-resolve-btn       { background:#f0fdf4; color:#166534; border:1px solid #bbf7d0; font-size:13px; }
.caretips_consultancy-tk-resolve-btn:hover { background:#dcfce7; }
.caretips_consultancy-tk-closed-note       { background:#f9fafb; border:1px solid #e5e7eb; border-radius:8px; padding:14px 18px; margin-top:16px; }
.caretips_consultancy-tk-closed-note p     { margin:0 0 10px; font-size:14px; color:#6b7280; }
/* ── Staff portal ─────────────── */
.caretips_consultancy-task-item { background:#fff; border:1px solid #e5e7eb; border-radius:8px; padding:10px 14px; margin-bottom:8px; font-size:14px; }
.caretips_consultancy-task-overdue { border-left:4px solid #d63638; }
.caretips_consultancy-priority-badge { font-size:10px; font-weight:700; padding:2px 6px; border-radius:3px; text-transform:uppercase; margin-right:6px; }
.caretips_consultancy-p-low    { background:#f3f4f6; color:#6b7280; }
.caretips_consultancy-p-normal { background:#dbeafe; color:#1d4ed8; }
.caretips_consultancy-p-high   { background:#fef3c7; color:#92400e; }
.caretips_consultancy-p-urgent { background:#fee2e2; color:#991b1b; }
.caretips_consultancy-org-tag { background:#f0fdf4; color:#166534; font-size:11px; padding:2px 8px; border-radius:10px; margin-left:8px; }
/* ── Shared ───────────────────── */
/* ── Appointments ─────────────── */
.caretips_consultancy-appt-card { background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:16px 20px; margin-bottom:12px; }
.caretips_consultancy-appt-past { opacity:.7; }
.caretips_consultancy-appt-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; gap:8px; flex-wrap:wrap; }
.caretips_consultancy-appt-meta { font-size:13px; color:#6b7280; margin-bottom:4px; }
.caretips_consultancy-appt-location { font-size:13px; color:#374151; margin-bottom:4px; }
.caretips_consultancy-appt-desc { font-size:13px; color:#6b7280; margin:8px 0 0; }
/* ── Knowledge Base ───────────── */
.caretips_consultancy-kb-category { margin-bottom:28px; }
.caretips_consultancy-kb-cat-title { font-size:16px; color:#1e3a5f; border-bottom:1px solid #e5e7eb; padding-bottom:8px; margin-bottom:8px; }
.caretips_consultancy-kb-cat-desc { font-size:13px; color:#6b7280; margin:0 0 8px; }
.caretips_consultancy-kb-list { list-style:none; margin:0; padding:0; }
.caretips_consultancy-kb-list li { padding:6px 0; border-bottom:1px solid #f3f4f6; }
.caretips_consultancy-kb-list a { color:#1e3a5f; text-decoration:none; font-size:14px; }
.caretips_consultancy-kb-list a:hover { text-decoration:underline; }
.caretips_consultancy-kb-result { background:#fff; border:1px solid #e5e7eb; border-radius:8px; padding:14px 16px; margin-bottom:10px; }
.caretips_consultancy-kb-result a { color:#1e3a5f; font-size:15px; }
.caretips_consultancy-kb-result p { font-size:13px; color:#6b7280; margin:4px 0 0; }
.caretips_consultancy-kb-article h3 { font-size:22px; color:#1e3a5f; margin-bottom:16px; }
.caretips_consultancy-kb-body { font-size:15px; line-height:1.7; }
.caretips_consultancy-kb-body h2,.caretips_consultancy-kb-body h3 { color:#1e3a5f; }
.caretips_consultancy-kb-body pre { background:#f6f7f7; border-radius:6px; padding:12px 16px; overflow-x:auto; font-size:13px; }
/* ── Shared ───────────────────── */
.caretips_consultancy-notice-box { background:#fff3cd; border:1px solid #ffc107; border-radius:8px; padding:16px; }
.caretips_consultancy-flash-success { background:#d1fae5; border:1px solid #6ee7b7; border-radius:8px; padding:12px 16px; margin-bottom:16px; color:#065f46; font-weight:500; }
.caretips_consultancy-back-link { display:inline-block; margin-bottom:16px; color:#1e3a5f; text-decoration:none; font-size:14px; }
.caretips_consultancy-back-link:hover { text-decoration:underline; }
.caretips_consultancy-form-control { border:1px solid #e5e7eb; border-radius:6px; padding:8px 12px; font-size:14px; width:100%; }
.caretips_consultancy-form-control:focus { outline:none; border-color:#1e3a5f; box-shadow:0 0 0 3px rgba(30,58,95,.1); }
.caretips_consultancy-btn { display:inline-flex; align-items:center; gap:6px; padding:8px 18px; border:none; border-radius:6px; font-size:14px; font-weight:600; cursor:pointer; text-decoration:none; transition:background .15s; }
.caretips_consultancy-btn-primary { background:#1e3a5f; color:#fff; }
.caretips_consultancy-btn-primary:hover { background:#152d4a; color:#fff; }
.caretips_consultancy-btn-sm { padding:4px 10px; font-size:12px; }
@media (max-width:640px) {
    .caretips_consultancy-stats-row { flex-direction:column; }
    .caretips_consultancy-contract-header { flex-direction:column; }
    .caretips_consultancy-message { max-width:95%; }
    .caretips_consultancy-ticket-row { flex-direction:column; align-items:flex-start; }
    .caretips_consultancy-inv-detail-head { flex-direction:column; gap:16px; }
    .caretips_consultancy-inv-detail-dates { gap:16px; }
    .caretips_consultancy-inv-detail-bar { flex-direction:column; align-items:flex-start; }
    .caretips_consultancy-inv-items-table th,.caretips_consultancy-inv-items-table td { padding:10px 12px; font-size:13px; }
    .caretips_consultancy-pay-form-grid { grid-template-columns:1fr; }
    .caretips_consultancy-ms-card-head { flex-direction:column; align-items:flex-start; gap:10px; }
    .caretips_consultancy-task-card { flex-wrap:wrap; }
    .caretips_consultancy-cl-progress-head { flex-direction:column; align-items:center; text-align:center; }
    .caretips_consultancy-cl-progress-stats { gap:8px; }
    .caretips_consultancy-cl-pstat { padding:10px 14px; }
    .caretips_consultancy-ms-progress-head { flex-direction:column; gap:8px; }
    .caretips_consultancy-ms-progress-right { flex-direction:row; align-items:center; }
    .caretips_consultancy-task-row-client { font-size:13px; }
}
/* ── File Manager ─────────────────── */
.caretips_consultancy-file-card { display:flex; gap:14px; align-items:flex-start; background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:16px; text-decoration:none; color:inherit; transition:box-shadow .15s,border-color .15s; }
.caretips_consultancy-file-card:hover { box-shadow:0 4px 16px rgba(30,58,95,.10); border-color:#1e3a5f; }
.caretips_consultancy-file-icon { font-size:32px; line-height:1; flex-shrink:0; }
.caretips_consultancy-file-info { display:flex; flex-direction:column; gap:3px; min-width:0; }
.caretips_consultancy-file-info strong { font-size:14px; color:#1e3a5f; word-break:break-word; }
.caretips_consultancy-file-info span { font-size:12px; color:#6b7280; }
/* ── Drop zone (file manager) ─────── */
.caretips_consultancy-drop-zone { position:relative; border:2px dashed #cbd5e1; border-radius:10px; background:#f8fafc; padding:32px 20px; text-align:center; cursor:pointer; transition:border-color .2s,background .2s; }
.caretips_consultancy-drop-zone.caretips_consultancy-drop-active,.caretips_consultancy-drop-zone:hover { border-color:#1e3a5f; background:#eff6ff; }
.caretips_consultancy-drop-zone input[type=file] { position:absolute; inset:0; opacity:0; width:100%; height:100%; cursor:pointer; }
.caretips_consultancy-drop-icon { font-size:36px; display:block; margin-bottom:8px; pointer-events:none; }
.caretips_consultancy-drop-label { font-size:14px; color:#374151; pointer-events:none; display:block; }
.caretips_consultancy-drop-sub { font-size:12px; color:#9ca3af; margin-top:4px; display:block; pointer-events:none; }
.caretips_consultancy-drop-files-list { margin:10px 0 0; list-style:none; padding:0; font-size:12px; color:#374151; pointer-events:none; }
.caretips_consultancy-drop-files-list li { padding:3px 0; border-bottom:1px solid #f0f0f0; }
/* ── Ticket attachments ───────── */
.caretips_consultancy-msg-attachments { margin-top:10px; padding-top:10px; border-top:1px solid #e5e7eb; display:flex; flex-wrap:wrap; gap:6px; }
.caretips_consultancy-attachment-link { display:inline-flex; align-items:center; gap:5px; background:#f9fafb; border:1px solid #e5e7eb; border-radius:6px; padding:5px 12px; font-size:12px; color:#1e3a5f; text-decoration:none; transition:background .15s,border-color .15s; }
.caretips_consultancy-attachment-link:hover { background:#eff6ff; border-color:#2271b1; }
.caretips_consultancy-att-size { color:#9ca3af; font-size:11px; margin-left:2px; }
/* ── Ticket drag-drop attach ─── */
.caretips_consultancy-tk-attach-input { margin-top:12px; border:2px dashed #d1d5db; border-radius:8px; padding:14px 16px; cursor:pointer; transition:border-color .2s,background .2s; }
.caretips_consultancy-tk-attach-input label { display:block; font-size:13px; font-weight:600; color:#374151; margin-bottom:6px; }
.caretips_consultancy-tk-attach-input label span { font-weight:400; color:#9ca3af; font-size:12px; }
.caretips_consultancy-tk-attach-input input[type=file] { display:block; font-size:13px; width:100%; cursor:pointer; }
.caretips_consultancy-tk-attach-input:hover, .caretips_consultancy-dz-over { border-color:#1e3a5f; background:#f0f7ff; }
.caretips_consultancy-dz-files { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.caretips_consultancy-dz-file { background:#eff6ff; border:1px solid #bfdbfe; border-radius:4px; padding:2px 8px; font-size:12px; color:#1e3a5f; }
/* ── Dashboard charts row (admin) ─── */
.caretips_consultancy-dash-charts-row { display:flex; gap:20px; flex-wrap:wrap; margin-top:20px; align-items:flex-start; }
.caretips_consultancy-dash-chart-card { background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:20px; min-width:220px; }
.caretips_consultancy-dash-chart-card h3 { margin:0 0 14px; font-size:14px; color:#1e3a5f; }
.caretips_consultancy-chart-legend { display:flex; flex-wrap:wrap; gap:6px 14px; margin-top:12px; font-size:12px; color:#374151; }
.caretips_consultancy-chart-legend span { display:flex; align-items:center; gap:5px; }
.caretips_consultancy-chart-legend i { display:inline-block; width:10px; height:10px; border-radius:2px; flex-shrink:0; }
/* ── Portal dashboard row ──── */
.caretips_consultancy-portal-dash-row { display:flex; gap:16px; flex-wrap:wrap; margin-top:20px; align-items:flex-start; }
.caretips_consultancy-portal-chart-card { background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:16px; flex:1; min-width:180px; }
.caretips_consultancy-portal-chart-card h3 { margin:0 0 12px; font-size:14px; color:#1e3a5f; }
/* ── Staff dashboard ─────────────── */
.caretips_consultancy-metric-card { background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:16px 18px; display:flex; flex-direction:column; gap:4px; }
.caretips_consultancy-metric-icon { width:36px; height:36px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:18px; margin-bottom:6px; }
.caretips_consultancy-metric-val { font-size:26px; font-weight:800; color:#1e3a5f; line-height:1; }
.caretips_consultancy-metric-lbl { font-size:12px; color:#6b7280; font-weight:500; }
.caretips_consultancy-metric-link { font-size:11px; color:#2563eb; text-decoration:none; margin-top:4px; }
.caretips_consultancy-metric-link:hover { text-decoration:underline; }
.caretips_consultancy-dash-panel { background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:16px 18px; }
.caretips_consultancy-dash-row { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:7px 0; border-bottom:1px solid #f3f4f6; }
.caretips_consultancy-dash-row:last-child { border-bottom:none; }
.caretips_consultancy-quick-btn { background:rgba(255,255,255,.15); color:#fff; border:1px solid rgba(255,255,255,.3); border-radius:6px; padding:7px 14px; font-size:12px; font-weight:600; text-decoration:none; white-space:nowrap; transition:background .2s; }
.caretips_consultancy-quick-btn:hover { background:rgba(255,255,255,.28); color:#fff; }
@media(max-width:700px){ .caretips_consultancy-dash-panel canvas { display:none; } }
/* ── Frontend CRUD forms ─────────── */
.caretips_consultancy-form-card { background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:20px 24px; margin-top:4px; }
.caretips_consultancy-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media(max-width:600px){ .caretips_consultancy-form-grid { grid-template-columns:1fr; } }
.caretips_consultancy-form-label { display:block; font-size:12px; font-weight:600; color:#374151; margin-bottom:4px; }
.caretips_consultancy-form-actions { margin-top:18px; display:flex; gap:10px; flex-wrap:wrap; }
.caretips_consultancy-btn-danger { background:#ef4444; color:#fff; border-color:#ef4444; }
.caretips_consultancy-btn-danger:hover { background:#dc2626; border-color:#dc2626; color:#fff; }
.caretips_consultancy-inv-item-row input { font-size:13px; }
/* ── Kanban board ─────────── */
.caretips_consultancy-kanban-card { background:#fff; border:1px solid #e5e7eb; border-radius:6px; padding:10px 12px; margin-bottom:8px; box-shadow:0 1px 3px rgba(0,0,0,.06); cursor:grab; transition:box-shadow .15s; }
.caretips_consultancy-kanban-card:hover { box-shadow:0 4px 12px rgba(0,0,0,.1); }
/* ── Signature pad ─────────── */
.caretips_consultancy-sig-clear-btn { margin-top:6px; font-size:12px; }
/* ── BBB join button ─────────── */
.caretips_consultancy-bbb-join-btn { background:#1e40af; color:#fff; border:none; padding:9px 20px; border-radius:6px; font-size:13px; font-weight:600; text-decoration:none; display:inline-flex; align-items:center; gap:6px; }
.caretips_consultancy-bbb-join-btn:hover { background:#1e3a5f; color:#fff; }
/* ── Staff availability ──────── */
.caretips_consultancy-avail-form { max-width:540px; }
.caretips_consultancy-avail-section { max-width:540px; margin-top:28px; border-top:1px solid #e5e7eb; padding-top:20px; }
.caretips_consultancy-avail-grid { display:flex; flex-direction:column; gap:8px; }
.caretips_consultancy-avail-row { display:flex; align-items:center; gap:14px; background:#fff; border:1px solid #e5e7eb; border-radius:8px; padding:10px 14px; flex-wrap:wrap; opacity:.6; transition:opacity .15s,border-color .15s; }
.caretips_consultancy-avail-row.active { opacity:1; border-color:#1e3a5f; }
.caretips_consultancy-avail-day { display:flex; align-items:center; gap:8px; width:130px; font-weight:600; font-size:14px; cursor:pointer; flex-shrink:0; }
.caretips_consultancy-avail-day input[type=checkbox] { width:16px; height:16px; cursor:pointer; }
.caretips_consultancy-avail-times { display:flex; align-items:center; gap:8px; flex:1; min-width:200px; }
.caretips_consultancy-avail-times input { width:110px; }
.caretips_consultancy-avail-sep { font-size:12px; color:#6b7280; }
.caretips_consultancy-days-off-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:6px; }
.caretips_consultancy-day-off-item { display:flex; align-items:center; justify-content:space-between; gap:10px; background:#fff5f5; border:1px solid #fecaca; border-radius:6px; padding:8px 12px; font-size:13px; }
.caretips_consultancy-bh-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:5px; font-size:13px; color:#374151; }
.caretips_consultancy-bh-list li { padding:5px 0; border-bottom:1px solid #f3f4f6; }