/* P-220 stage 1b (TC site only, 10 Oct 2026): black-and-gold look for the TC pages: client profile, TC dashboard, lead list and the pages around them. LOOK ONLY: colours and borders, no layout, no script, no ids.
   Loaded last in the head of index.html (one line; remove the line and rebuild to take it away). portal.css, shared.css and board.css are untouched.
   The board is left alone (it was drawn black and gold in P-237/P-238): nothing here reaches .board-layout, .board-state or the side navigation.
   Red (late, alert) and green (done) keep their meaning. */
:root{--lkp-gold-deep:#af7c28;--lkp-gold-soft:#f3e7c8;--lkp-gold-line:#e0cf9f;--lkp-cream:#fbf4e4}

/* Cards: white with a gold top edge */
body[data-audience="tc"] .card:not(.board-layout .card):not(.board-state){background:var(--white);border:1px solid #e6d9b8;border-top:3px solid var(--gold);box-shadow:0 2px 10px rgba(20,20,22,.07)}
body[data-audience="tc"] .card .card:not(.board-layout .card){background:var(--ivory);border-top-width:1px;box-shadow:none}
body[data-audience="tc"] .eyebrow{color:#8a5b12}

/* Dashboard: figures in ink, gold edge on each tile and on each stage group */
body[data-audience="tc"] .metrics button{display:flex;flex-direction:column;gap:2px;padding:12px;background:#fff;border:1px solid #dfd4bd;border-top:4px solid #b6842d;border-radius:10px;box-shadow:0 2px 10px #0000000c;color:#6d5d3e;text-align:left;cursor:pointer;transition:transform .12s,box-shadow .12s}
body[data-audience="tc"] .metrics button span{font:800 11px/1.25 system-ui,sans-serif;text-transform:uppercase;color:#6d5d3e}
body[data-audience="tc"] .metrics button strong{margin:3px 0;font-size:27px;font-weight:700;color:#101d3e}
body[data-audience="tc"] .metrics button:hover{background:#fff;transform:translateY(-1px);box-shadow:0 5px 14px #0001}
body[data-audience="tc"] .metrics button.on{border-color:#dfd4bd;border-top-color:#b6842d;box-shadow:inset 0 0 0 2px #b6842d}
body[data-audience="tc"] .pipeline-group{border-left:4px solid var(--gold);border-color:#e6d9b8;border-left-color:var(--gold)}

/* Lists and tables: gold rule under the header, soft gold on hover */
body[data-audience="tc"] th{border-bottom:2px solid var(--gold);color:#3a3326}
body[data-audience="tc"] tbody tr:hover{background:var(--lkp-cream)}
body[data-audience="tc"] .match:hover{background:var(--lkp-cream)}

/* Buttons: black with a gold edge and gold text; the lighter ones (.secondary) are white with a gold edge.
   Side navigation, client bar, tiles, calendar and board keep their own buttons. */
body[data-audience="tc"] button:not([class]):not(.side-nav *):not(.client-bar *):not(.metrics *):not(.board-layout *):not(.cal-modes *):not(.month *):not(.week *){background:#141416;border-color:var(--gold);color:#e6c46e}
body[data-audience="tc"] button:not([class]):not(.side-nav *):not(.client-bar *):not(.metrics *):not(.board-layout *):not(.cal-modes *):not(.month *):not(.week *):hover{background:#26231c}
body[data-audience="tc"] .secondary:not(.board-layout *):not(.side-nav *):not(.client-bar *){background:var(--white);border-color:var(--gold);color:#141416}
body[data-audience="tc"] .secondary:not(.board-layout *):not(.side-nav *):not(.client-bar *):hover{background:#f4ecd8}

/* The stage pill is gold; section titles carry a gold rule; tags are soft gold */
body[data-audience="tc"] .client-head .stage{background:linear-gradient(180deg,#e6c46e,#af7c28);color:#141416}
body[data-audience="tc"] .section-panel>h3{padding-bottom:8px;border-bottom:2px solid var(--gold)}
body[data-audience="tc"] .tag:not(.board-layout *){background:var(--lkp-gold-soft);border-color:#d8bd7c;color:#684500}
body[data-audience="tc"] .tag.late:not(.board-layout *){background:#f6ddd6;border-color:var(--alert);color:var(--alert)}

/* Fields and focus */
body[data-audience="tc"] input:focus,body[data-audience="tc"] select:focus,body[data-audience="tc"] textarea:focus{border-color:var(--gold);outline:2px solid var(--gold);outline-offset:1px}
body[data-audience="tc"] :focus-visible{outline-color:var(--gold)}

/* P-275 skin (12 Oct 2026): the banner across the top of the page, the small mark for small placements, and the team badges.
   Look only. Remove the header image line, the script line and this block (and rebuild) to take it away. */
header.lkp-banner{display:block;padding:0;border-bottom:2px solid var(--gold);background:#0b0b0c;text-align:center;letter-spacing:0}
header.lkp-banner img{display:block;margin:0;width:100%;max-width:none;height:auto}
.lkp-opening{display:flex;align-items:center;gap:12px}
.lkp-opening img{width:44px;height:44px;border-radius:8px}
.lkp-badge{display:inline-grid;place-items:center;flex:none;width:34px;height:34px;margin-right:10px;border-radius:50%;overflow:hidden;background:#141416;border:1px solid var(--gold,#d6b873);color:#e6c46e;font-size:13px;font-weight:700;letter-spacing:0;vertical-align:middle}
.lkp-badge img{display:block;width:100%;height:100%;object-fit:cover}

/* P-275b: tiny round photo by a name on the board and in the inbox, a larger one on the member's own heading and on a Manage access row. */
.lkp-badge.lkp-tiny{width:22px;height:22px;margin-right:6px;font-size:10px}
.lkp-badge.lkp-medium{width:44px;height:44px;margin-right:0;font-size:15px}
.lkp-badge.lkp-large{width:64px;height:64px;margin-right:0;font-size:22px}
.lkp-me{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.lkp-adminrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%}
.lkp-photo-tools{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.lkp-crop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483000;display:grid;place-items:center;background:rgba(0,0,0,.72)}
.lkp-crop-card{display:grid;gap:12px;justify-items:center;max-width:calc(100vw - 32px);padding:16px;background:#141416;border:1px solid var(--gold,#d6b873);border-radius:12px;color:#f3efe6}
.lkp-crop-card p{margin:0;max-width:260px;text-align:center;font-size:13px}
.lkp-crop-cv{width:240px;height:240px;max-width:100%;border-radius:50%;border:2px solid var(--gold,#d6b873);cursor:grab;touch-action:none;background:#fff}
.lkp-crop-card input[type=range]{width:240px;max-width:100%}
.lkp-crop-row{display:flex;gap:8px}
/* P-282 (12 Oct 2026): the duplicate check sits at the top of the intake page with its answer right under it. */
.lkp-dupbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 12px;padding:10px 14px;background:var(--white,#fff);border:1px solid var(--gold,#d6b873);border-top:4px solid var(--bronze,#7a5c1e);border-radius:10px}
.lkp-dupbar>button{margin:0}
.lkp-dupbar .muted{flex:1 1 260px;font-size:13px}

/* P-293: the task numbers on the Tasks page are the same tiles as the Dashboard (the .metrics rules above); only their spacing is set here. */
body[data-audience="tc"] .lkp-task-tiles{margin:12px 0}
body[data-audience="tc"] .lkp-tile-title{margin:14px 0 6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#6d5d3e}

/* P-297: task alerts per CRM stage: the number is the alert count, in the alert colour. */
.lkp-alert-tiles button strong{color:#9b2c1d}
/* B5 · P-220c LKP-PALETTE (Sonnet B, 13 Oct 2026): the colors from PALETTE-VISUAL. Look only: no layout, no data. Black frame, beige forward, gold borders; status, Send / Post, channels and bubbles carry meaning. BEGIN-PALETTE */
:root{--p-black:#0d0c0a;--p-ink:#1d1a15;--p-beige:#f6f1e6;--p-paper:#fffdf8;--p-gold:#b8955a;--p-soft:#efe3c8;--p-sendblue:#1556c9;--p-postblue:#0f3f99;--p-lightblue:#dbe7fb;--p-yellow:#fbe7a1;--p-yellowtx:#5c4600;--p-green:#2e7d32;--p-lightgreen:#d6eed8;--p-greentx:#1f5c25;--p-orange:#fde3cf;--p-orangetx:#8a3b00;--p-red:#c62828;--p-gray:#ece7dc;--p-graytx:#4a4336}
/* status chips on a board message */
#hub-feed .st-chip{font-weight:700;border-width:1px;border-style:solid}
#hub-feed .st-open{background:var(--p-yellow);color:var(--p-yellowtx);border-color:#d9b62b}
#hub-feed .st-requested,#hub-feed .st-pending{background:var(--p-lightblue);color:var(--p-postblue);border-color:var(--p-sendblue)}
#hub-feed .st-acknowledged,#hub-feed .st-returned{background:var(--p-lightgreen);color:var(--p-greentx);border-color:var(--p-green)}
#hub-feed .st-delayed{background:var(--p-orange);color:var(--p-orangetx);border-color:#e07a1f}
#hub-feed .st-blocked{background:var(--p-red);color:#fff;border-color:#8c1c1c}
#hub-feed .b-alert{background:var(--p-orange);color:var(--p-orangetx);border-left:3px solid #e07a1f;border-radius:6px;padding:4px 8px}
/* Send = bright blue (leaves the system), Post = deeper blue (team only); hover lifts, press darkens */
.mail-form .mail-actions>button:not(.secondary):not(.mail-post):not([data-mail-post]){background:var(--p-sendblue);color:#fff;border:0;border-radius:8px;font-weight:700}
.mail-form .mail-actions>button.mail-post,.mail-form .mail-actions>button[data-mail-post]{background:var(--p-postblue);color:#fff;border:0;border-radius:8px;font-weight:700}
.mail-form .mail-actions>button:not(.secondary):not([disabled]):hover{filter:brightness(1.12);transform:translateY(-1px)}
.mail-form .mail-actions>button:not(.secondary):not([disabled]):active{filter:brightness(.88);transform:none}
.mail-form .mail-actions>button[disabled]{opacity:.55}
/* channels: each in its own color; the chosen one is filled */
.mail-form .mail-channels .mail-ch{background:var(--p-paper);color:var(--p-ink);border:2px solid var(--p-ink);border-radius:8px;font-weight:700}
.mail-form .mail-channels .mail-ch.email{border-color:var(--p-sendblue);color:var(--p-sendblue)}
.mail-form .mail-channels .mail-ch.text{border-color:var(--p-ink);color:var(--p-ink)}
.mail-form .mail-channels .mail-ch.whatsapp{border-color:#25d366;color:#0b3d1e}
.mail-form .mail-channels .mail-ch.email.on{background:var(--p-sendblue);color:#fff}
.mail-form .mail-channels .mail-ch.text.on{background:var(--p-ink);color:#fff}
.mail-form .mail-channels .mail-ch.whatsapp.on{background:#25d366;color:#0b3d1e}
.mail-form .mail-channels .mail-ch .mail-ch-tick{color:inherit}
/* message bubbles: ours blue with white text, theirs white with a gold edge, replies a lighter shade of the same side, new yellow, hidden gray */
#hub-feed .post.side-ours,#hub-feed .post.side-ours.sent-msg{background:var(--p-sendblue);color:#fff;border-color:var(--p-sendblue)}
#hub-feed .post.side-ours .b-head,#hub-feed .post.side-ours .b-from,#hub-feed .post.side-ours .b-when,#hub-feed .post.side-ours .b-body p,#hub-feed .post.side-ours small,#hub-feed .post.side-ours a{color:#fff}
#hub-feed .post.side-ours .b-linkchip{color:#fff;border-color:#dbe7fb}
#hub-feed .post.side-out{background:var(--p-paper);color:var(--p-ink);border:1px solid var(--p-gold)}
#hub-feed .b-reply.side-ours{background:var(--p-lightblue);color:var(--p-postblue);border:0;border-left:3px solid var(--p-sendblue)}
#hub-feed .b-reply.side-ours .b-head,#hub-feed .b-reply.side-ours .b-from,#hub-feed .b-reply.side-ours .b-when,#hub-feed .b-reply.side-ours .b-body p,#hub-feed .b-reply.side-ours small{color:var(--p-postblue)}
#hub-feed .b-reply.side-out{background:var(--p-beige);color:var(--p-ink);border:1px solid var(--p-gold)}
#hub-feed .post.side-out.for-me,#hub-feed .b-reply.side-out.for-me{background:var(--p-yellow);color:var(--p-yellowtx);border-color:#d9b62b}
#hub-feed .is-hidden{background:var(--p-gray);color:var(--p-graytx);border-color:#b9b0a0}
#hub-feed .is-hidden .b-head,#hub-feed .is-hidden .b-from,#hub-feed .is-hidden .b-when,#hub-feed .is-hidden .b-body p,#hub-feed .is-hidden small{color:var(--p-graytx)}
#hub-feed .b-chan{background:var(--p-soft);color:var(--p-ink);border:1px solid var(--p-gold);border-radius:999px;padding:1px 8px;font-weight:700}
#hub-feed .b-chan.bad{background:var(--p-red);color:#fff;border-color:#8c1c1c}
#hub-feed .b-chan.hid{background:var(--p-gray);color:var(--p-graytx);border-color:#b9b0a0}
#hub-feed .board-bar .bb-chip.plain,.board-bar .bb-chip.plain{color:#fff}
/* gold borders around the message box and the board sections */
.mail-form,.client-card,.board-bar{border-color:var(--p-gold)}
/* END-PALETTE */

/* P-300: the Tasks page's per-task controls (status, assign, Question tag, archive, restore). */
body[data-audience="tc"] .task-ctl-row{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:flex-end;margin:8px 0}
body[data-audience="tc"] form.task-ctl{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-end;margin:0}
body[data-audience="tc"] form.task-ctl label{display:flex;flex-direction:column;gap:2px;font-size:13px}
body[data-audience="tc"] form.task-ctl label.consent{flex-direction:row;align-items:center;gap:6px}
body[data-audience="tc"] .agenda-item.archived{opacity:.9}
/* P-308c: the call center transfer note, in its own light brown */
.note-card.note-transfer{background:#e9d8c0;border-left:6px solid #a97c50;color:#2b1d0e}.note-card.note-transfer small{color:#5b3d1e}
