/* INTEIRE: acabamento da composição aprovada, sem alterar sua arquitetura. */
:root {
  --finish-paper: #f4ebdd;
  --finish-canvas: #f7f2e9;
  --finish-card: #fcf9f4;
  --finish-rail: #eee7dc;
  --finish-line: #dfd9cf;
  --finish-ink: #24231f;
  --finish-secondary: #68635c;
  --finish-hover: #f2ece3;
  --finish-selected: #fffdf9;
  --finish-shadow: 0 1px 2px rgb(36 35 31 / 4%);
  --finish-card-shadow: 0 1px 2px rgb(36 35 31 / 3%);
  --finish-ease: cubic-bezier(.2, 0, 0, 1);
}
html[data-theme=dark] {
  --finish-paper: #24231f;
  --finish-canvas: #252420;
  --finish-card: #302e29;
  --finish-rail: #201f1c;
  --finish-line: #49463e;
  --finish-ink: #f4ebdd;
  --finish-secondary: #bdb6ab;
  --finish-hover: #39362f;
  --finish-selected: #403b34;
  --finish-shadow: 0 1px 2px rgb(0 0 0 / 12%);
  --finish-card-shadow: 0 1px 2px rgb(0 0 0 / 10%);
}
html[data-route] {
  --canvas: var(--finish-canvas);
  --surface: var(--finish-card);
  --rail: var(--finish-rail);
  --ink: var(--finish-ink);
  --muted: var(--finish-secondary);
  --line: var(--finish-line);
}
body { font-optical-sizing: auto; }
.sidebar {
  background: var(--finish-rail);
  border-right: 1px solid var(--finish-line);
  padding: 24px 12px 12px;
}
.sk-brand-row { margin: 0 9px 24px; min-height: 34px; }
.sk-brand-row .brand img { width: 107px; }
.sk-brand-row .icon-button { color: var(--finish-secondary); border-radius: 6px; }
.sk-company {
  border-color: var(--finish-line);
  background: var(--finish-card);
  box-shadow: var(--finish-shadow);
  padding: 10px 12px;
  min-height: 42px;
  border-radius: 8px;
  margin-bottom: 22px;
}
.sk-company strong { font-size: 13px; font-weight: 550; letter-spacing: -.1px; }
.sk-company small { color: var(--finish-secondary); border-color: var(--finish-line); font-size: 9px; font-weight: 550; }
.sk-nav-group { margin-top: 23px; }
.sk-nav-label { font-size: 10px; font-weight: 550; letter-spacing: .065em; color: var(--finish-secondary); margin-bottom: 7px; }
.sidebar .nav-item { font-size: 13px; font-weight: 450; min-height: 38px; padding: 9px 11px; margin: 2px 0; color: var(--finish-secondary); border-radius: 7px; }
.sidebar .nav-item svg { width: 17px; height: 17px; stroke-width: 1.65; }
.sidebar .nav-item.active {
  color: var(--link);
  background: var(--finish-selected);
  box-shadow: 0 1px 2px rgb(36 35 31 / 3%);
  font-weight: 600;
}
.sidebar-foot { border-color: var(--finish-line); padding-top: 10px; }
.sk-profile { padding: 9px 8px; gap: 10px; border-radius: 8px; }
.sk-profile-label strong { font-size: 13px; font-weight: 550; }
.sk-profile .sk-avatar { width: 31px; height: 31px; background: var(--finish-card); border-color: var(--finish-line); font-size: 10px; }
.sk-founder { opacity: .8; }
.sk-profile-menu { background: var(--finish-card); border-color: var(--finish-line); padding: 7px; box-shadow: 0 8px 28px rgb(36 35 31 / 12%); border-radius: 12px; }
#profile-content > a, #profile-content > button { border-radius: 6px; }

html[data-route=crm] main { padding: 23px 28px 24px; }
.pcrm-root { color: var(--finish-ink); }
.pcrm-primary-nav { min-height: 42px; gap: 25px; }
.pcrm-picker { min-width: 174px; max-width: 260px; }
.pcrm-picker summary {
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid var(--finish-line);
  background: var(--finish-card);
  box-shadow: var(--finish-shadow);
  border-radius: 8px;
  font-size: 14px;
  font-weight: 550;
  letter-spacing: -.15px;
}
.pcrm-picker summary > span:last-child { font-size: 17px; opacity: .8; }
.pcrm-picker-menu { border-color: var(--finish-line); background: var(--finish-card); padding: 7px; border-radius: 11px; box-shadow: 0 8px 28px rgb(36 35 31 / 12%); transform-origin: top left; }
.pcrm-picker-menu > button { min-height: 38px; font-size: 13px; border-radius: 6px; }
.pcrm-sections { gap: 26px; }
.pcrm-sections button { min-height: 40px; font-size: 13px; font-weight: 450; color: var(--finish-secondary); }
.pcrm-sections button[aria-pressed=true] { color: var(--finish-ink); font-weight: 600; }
.pcrm-sections button[aria-pressed=true]::after { height: 2px; bottom: 0; background: var(--link); }
.pcrm-view-toolbar { min-height: 42px; margin: 18px 0 24px; gap: 20px; }
.pcrm-views {
  gap: 2px;
  padding: 3px;
  border: 1px solid var(--finish-line);
  border-radius: 9px;
  background: color-mix(in srgb, var(--finish-ink) 3%, var(--finish-canvas));
}
.pcrm-views button { flex-shrink: 0; min-height: 31px; padding: 6px 12px; color: var(--finish-secondary); border-radius: 6px; font-size: 12px; line-height: 18px; font-weight: 450; }
.pcrm-views button[aria-pressed=true] {
  background: var(--finish-selected);
  color: var(--finish-ink);
  box-shadow: 0 1px 3px rgb(36 35 31 / 9%), 0 0 0 .5px rgb(36 35 31 / 4%);
  font-weight: 550;
}
.pcrm-views button[aria-pressed=true]::after { display: none; }
.pcrm-view-toolbar > .pcrm-button {
  min-height: 37px;
  padding: 8px 17px;
  font-size: 12px;
  font-weight: 550;
  letter-spacing: .02em;
  border-radius: 8px;
  box-shadow: inset 0 1px rgb(255 255 255 / 10%), 0 1px 2px rgb(36 35 31 / 10%);
}
.pcrm-board { gap: 16px; padding: 0 1px 18px; max-height: calc(100dvh - 151px); scroll-padding-top: 39px; }
.pcrm-column { border: 0; }
.pcrm-column > header { padding: 0 2px 13px; min-height: 35px; background: var(--finish-canvas); }
.pcrm-column > header h3 { font-size: 13px; line-height: 20px; font-weight: 600; letter-spacing: -.1px; color: color-mix(in srgb, var(--finish-ink) 83%, var(--finish-canvas)); }
.pcrm-cards { gap: 12px; }
.pcrm-card {
  padding: 10px 13px 6px;
  background: var(--finish-card);
  border: 1px solid var(--finish-line);
  border-radius: 11px;
  box-shadow: var(--finish-card-shadow);
  transition: border-color 160ms var(--finish-ease), background-color 160ms var(--finish-ease), box-shadow 160ms var(--finish-ease);
}
.pcrm-card-top { min-height: 32px; margin-bottom: 3px; gap: 10px; }
.pcrm-card-title { font-size: 14px; line-height: 20px; font-weight: 600; letter-spacing: -.18px; color: var(--finish-ink); min-height: 32px; }
.pcrm-card-title.is-empty { font-size: 12px; font-weight: 400; letter-spacing: 0; color: var(--finish-secondary); }
.pcrm-score { width: 32px; height: 32px; min-width: 32px; min-height: 32px; border: 1px solid transparent; background: none; color: var(--finish-secondary); }
.pcrm-score.has-estimate { border-color: color-mix(in srgb, var(--link) 16%, var(--finish-card)); background: color-mix(in srgb, var(--link) 7%, var(--finish-card)); }
.pcrm-score strong { color: var(--finish-ink); font-size: 11.5px; line-height: 1; font-weight: 600; font-variant-numeric: tabular-nums; }
.pcrm-score > span { font-size: 10px; margin-top: 0; line-height: 1; }
.pcrm-score:not(.has-estimate) > span { font-size: 16px; margin: 0; }
.pcrm-card-line { min-height: 32px; font-size: 12.5px; line-height: 19px; gap: 9px; color: var(--finish-secondary); border-radius: 4px; }
.pcrm-card-line.pcrm-card-source { min-height: 25px; }
.pcrm-card-line.pcrm-person-name { font-size: 13.5px; font-weight: 500; letter-spacing: -.1px; color: var(--finish-ink); }
.pcrm-card-line .pcrm-avatar { width: 21px; height: 21px; border: 1px solid color-mix(in srgb, var(--finish-ink) 6%, transparent); background: color-mix(in srgb, var(--finish-ink) 5%, var(--finish-card)); color: var(--finish-secondary); font-size: 8px; font-weight: 550; }
.pcrm-person-name .pcrm-avatar { background: color-mix(in srgb, var(--finish-ink) 9%, var(--finish-card)); color: var(--finish-ink); }
.pcrm-card-line .pcrm-avatar.unassigned { background: transparent; border-style: dashed; }
.pcrm-field-icon { width: 21px; height: 21px; opacity: .8; }
.pcrm-field-icon svg { width: 14px; height: 14px; stroke-width: 1.6; }
.pcrm-card-amount { min-height: 32px; margin: 1px 0 0; color: var(--finish-ink); font-size: 14px; line-height: 20px; letter-spacing: -.15px; font-weight: 550; font-variant-numeric: tabular-nums; }
.pcrm-card-task { border-color: var(--finish-line); margin-top: 7px; padding-top: 3px; min-height: 36px; gap: 6px; }
.pcrm-task-link { font-size: 12px; line-height: 18px; color: var(--finish-secondary); min-height: 32px; gap: 7px; }
.pcrm-task-status { width: 16px; font-size: 15px; opacity: .9; }
.pcrm-task-when.today { color: var(--link); font-weight: 550; }
.pcrm-task-when.overdue { color: var(--danger); font-weight: 550; }
.pcrm-task-status svg { width: 15px; height: 15px; display: block; fill: none; stroke: currentColor; stroke-width: 1.7; }
.pcrm-task-status.overdue { color: var(--danger); font-size: 12px; font-weight: 650; border: 1px solid currentColor; border-radius: 50%; width: 15px; height: 15px; display: grid; place-items: center; }
.pcrm-grip { border-radius: 5px; width: 32px; min-width: 32px; min-height: 32px; margin-right: -5px; font-size: 17px; color: var(--finish-secondary); cursor: grab; }
.pcrm-grip:active { cursor: grabbing; }
.pcrm-card.dragging { box-shadow: 0 8px 22px rgb(36 35 31 / 14%); opacity: .6; }
.pcrm-card:focus-within { border-color: color-mix(in srgb, var(--focus) 45%, var(--finish-line)); }
.pcrm-root :focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
.pcrm-views button:focus-visible { outline-offset: -2px; }
.pcrm-card-source:hover { color: var(--finish-secondary); background: transparent; }
.pcrm-card button:active { transform: none; }
.pcrm-button:active, .pcrm-picker summary:active { transform: scale(.985); }
.pcrm-card button, .pcrm-views button, .pcrm-sections button { transition: color 160ms var(--finish-ease), background-color 160ms var(--finish-ease), border-color 160ms var(--finish-ease), opacity 160ms var(--finish-ease); }
.pcrm-view-caption h2 { font-size: 21px; line-height: 1.3; font-weight: 550; }
.pcrm-root .data-table { background: var(--finish-card); }
.pcrm-root .data-table th { background: var(--finish-canvas); color: var(--finish-secondary); }
.pcrm-root .data-table td { padding-top: 14px; padding-bottom: 14px; font-size: 13px; }
.pcrm-root .data-table :is(th, td):first-child { padding-left: 16px; }
.pcrm-root .data-table :is(th, td):last-child { padding-right: 16px; }
html[data-density=compact] .pcrm-root .data-table td { padding-top: 9px; padding-bottom: 9px; }
html[data-density=compact] .sidebar .nav-item { min-height: 34px; padding-top: 7px; padding-bottom: 7px; }
.pcrm-setting-card { background: var(--finish-card); border-color: var(--finish-line); border-radius: 11px; box-shadow: var(--finish-card-shadow); }
.pcrm-gantt-wrap, .pcrm-calendar { background: var(--finish-card); border-color: var(--finish-line); }

.sk-panorama .sk-page-heading { margin-bottom: 26px; }
.sk-page-heading h1 { font-size: 28px; font-weight: 550; letter-spacing: -.8px; }
.sk-date { color: var(--finish-secondary); font-size: 12px; text-transform: none; }
.sk-focus { background: var(--finish-card); border-color: var(--finish-line); box-shadow: var(--finish-card-shadow); border-radius: 11px; padding: 27px; min-height: 260px; }
.sk-focus h2 { font-size: 29px; line-height: 1.2; font-weight: 550; letter-spacing: -.65px; margin: 18px 0 9px; max-width: 20ch; }
.sk-eyebrow { font-size: 10px; letter-spacing: .1em; font-weight: 600; }
.sk-focus-actions { margin-top: 22px; gap: 9px; }
.sk-focus-actions > .button { border-radius: 7px; padding: 8px 13px; font-size: 12px; }
.sk-priorities { padding: 7px 0 0; }
.sk-section-head h2 { font-size: 15px; line-height: 21px; font-weight: 550; letter-spacing: -.15px; }
.sk-priority-open strong { font-size: 13px; font-weight: 500; }
.sk-priority-open span { margin-top: 6px; font-size: 12px; line-height: 17px; }
.sk-priority-open { padding: 13px 8px 13px 0; }
.sk-metrics { padding: 24px 0; margin: 28px 0; }
.sk-metrics strong { font-size: 30px; letter-spacing: -.85px; font-weight: 500; margin: 8px 0; }
.sk-metrics small { font-size: 12px; }
.sk-bottom-grid { gap: 30px; }
.sk-investigation-row { padding: 17px 0; }
.sk-investigation-row > strong { font-size: 14px; line-height: 21px; font-weight: 550; }
.sk-investigation-row p { font-size: 13px; line-height: 20px; margin-top: 8px; margin-bottom: 10px; }
.sk-investigation-footer { font-size: 12px; }

@media (hover:hover) and (pointer:fine) {
  .pcrm-card:hover { border-color: color-mix(in srgb, var(--finish-ink) 21%, var(--finish-card)); box-shadow: var(--finish-card-shadow); }
  button.pcrm-card-line:hover, .pcrm-task-link:hover { color: var(--link); background: var(--finish-hover); }
  .pcrm-views button:hover:not([aria-pressed=true]) { background: color-mix(in srgb, var(--finish-ink) 4%, transparent); color: var(--finish-ink); }
  .pcrm-picker summary:hover { border-color: color-mix(in srgb, var(--finish-ink) 25%, var(--finish-card)); background: var(--finish-card); }
  .sidebar .nav-item:hover:not(.active), .sk-profile:hover { background: color-mix(in srgb, var(--finish-ink) 4%, transparent); color: var(--finish-ink); }
}
@media (min-width:721px) {
  html[data-rail=compact] .sk-brand-row .brand img { width: 110px; }
}
@media (max-width:720px) {
  html[data-route=crm] main { padding: 16px; }
  .pcrm-primary-nav { gap: 11px; }
  .pcrm-picker { min-width: 146px; max-width: 220px; }
  .pcrm-picker summary { min-height: 40px; }
  .pcrm-primary-nav .pcrm-sections button { min-height: 42px; font-size: 13px; }
  .pcrm-view-toolbar { margin: 13px 0 22px; gap: 11px; min-height: 42px; }
  .pcrm-view-toolbar .pcrm-views { gap: 2px; padding: 3px; }
  .pcrm-views button { min-height: 34px; padding: 7px 10px; font-size: 12px; }
  .pcrm-view-toolbar > .pcrm-button { min-height: 42px; padding: 8px 13px; font-size: 12px; }
  .pcrm-board { gap: 14px; grid-template-columns: repeat(var(--pcrm-columns), minmax(258px, 78vw)); max-height: calc(100dvh - 165px); }
  .pcrm-card { padding: 13px 14px 8px; }
  .pcrm-card-top { min-height: 36px; margin-bottom: 8px; }
  .pcrm-card-title { min-height: 36px; font-size: 14px; }
  .pcrm-card-line { min-height: 31px; font-size: 13px; }
  .pcrm-card-line.pcrm-person-name { font-size: 14px; }
  .pcrm-score { width: 36px; min-width: 36px; height: 36px; min-height: 36px; }
  .pcrm-card-amount { min-height: 30px; margin-top: 5px; }
  .pcrm-card-task { margin-top: 10px; min-height: 38px; padding-top: 6px; }
  .pcrm-task-link { min-height: 32px; font-size: 12px; }
  .pcrm-grip { min-width: 30px; min-height: 32px; }
  .sk-focus { padding: 23px; }
  .sk-focus h2 { font-size: 27px; }
}
@media (max-width:499px) {
  .pcrm-board { max-height: calc(100dvh - 211px); }
}
/* The legacy global mobile rule uses !important. A narrow mouse window is
   not a touch device: keep its cards compact without shrinking touch targets. */
@media (max-width:720px) and (pointer:fine) {
  html[data-route=crm] main .pcrm-card button { min-height: 31px !important; min-width: 0 !important; }
  html[data-route=crm] main .pcrm-card-title { min-height: 36px !important; }
  html[data-route=crm] main .pcrm-score { min-height: 36px !important; min-width: 36px !important; }
  html[data-route=crm] main .pcrm-grip { min-width: 28px !important; }
  html[data-route=crm] main .pcrm-views button { min-height: 34px !important; min-width: 0 !important; }
}
@media (pointer:coarse) {
  html .sidebar .nav-item, html[data-density=compact] .sidebar .nav-item, html .sk-company, html .sk-brand-row .icon-button { min-height: 44px; }
  html .sk-brand-row .icon-button { min-width: 44px; }
  .pcrm-score, .pcrm-grip, .pcrm-card-line, .pcrm-task-link, .pcrm-views button, .pcrm-card-title, .pcrm-card-amount { min-height: 44px; }
  .pcrm-score, .pcrm-grip { min-width: 44px; }
  .pcrm-grip { opacity: 1; }
}
@media (prefers-reduced-motion:reduce) {
  .pcrm-root *, .sidebar *, .sk-panorama *, .sk-profile-menu { animation: none !important; transition: none !important; transform: none !important; }
}
html[data-motion=reduced] :is(.pcrm-root, .sidebar, .sk-panorama) *, html[data-motion=reduced] .sk-profile-menu { animation: none !important; transition: none !important; transform: none !important; }

/* Temporal refinement: same drawing, clearer reading and tangible interaction. */
html[data-route=crm] {
  --finish-canvas: #f5efe5;
  --finish-card: #fffcf7;
  --finish-line: #dcd4c8;
  --finish-secondary: #625e57;
  --finish-card-shadow: 0 1px 2px rgb(36 35 31 / 4%);
}
html[data-theme=dark][data-route=crm] {
  --finish-canvas: #24231f;
  --finish-card: #302e29;
  --finish-line: #514c43;
  --finish-secondary: #c6beb1;
  --finish-card-shadow: 0 1px 2px rgb(0 0 0 / 14%);
}
.pcrm-root { container-type: inline-size; container-name: pcrm; }
.pcrm-column { border-radius: 11px; transition: background-color 160ms var(--finish-ease), box-shadow 160ms var(--finish-ease); }
.pcrm-column.drop-ready {
  border: 0;
  background: color-mix(in srgb, var(--focus) 7%, var(--finish-canvas));
  box-shadow: inset 0 0 0 1.5px var(--focus);
}
.pcrm-column.drop-ready > header { background: transparent; color: var(--link); }
.pcrm-column.drop-ready .pcrm-cards { min-height: 94px; }
.pcrm-card.dragging { opacity: .48; border-style: dashed; box-shadow: none; }
.pcrm-card[data-attention=overdue] .pcrm-card-task { border-top-color: color-mix(in srgb, var(--danger) 32%, var(--finish-line)); }
.pcrm-score.has-estimate { border-color: var(--finish-line); background: color-mix(in srgb, var(--finish-ink) 4%, var(--finish-card)); }
.pcrm-score:hover { border-color: var(--finish-secondary); }
.pcrm-card-title:focus-visible, .pcrm-task-link:focus-visible,
.pcrm-card-line:focus-visible, .pcrm-card-amount:focus-visible { outline-offset: 1px; border-radius: 4px; }
.pcrm-grip:focus-visible { opacity: 1; outline-offset: -2px; }
.pcrm-views button[aria-pressed=true] { box-shadow: 0 1px 3px rgb(36 35 31 / 9%), 0 0 0 .5px color-mix(in srgb, var(--finish-ink) 14%, transparent); }
.pcrm-feedback { border-color: var(--finish-line); background: var(--finish-card); }
@media (max-width:720px) and (pointer:fine) {
  .pcrm-card { padding: 10px 13px 6px; }
  .pcrm-card-top { min-height: 32px; margin-bottom: 3px; }
  html[data-route=crm] main .pcrm-card button { min-height: 32px !important; }
  html[data-route=crm] main .pcrm-card-title { min-height: 32px !important; }
  html[data-route=crm] main .pcrm-score { width: 32px; height: 32px; min-height: 32px !important; min-width: 32px !important; }
  html[data-route=crm] main .pcrm-grip { min-width: 32px !important; }
  .pcrm-card-line { min-height: 32px; }
  .pcrm-card-line.pcrm-card-source { min-height: 25px; }
  .pcrm-card-task { margin-top: 7px; padding-top: 3px; min-height: 36px; }
  .pcrm-card-amount { min-height: 32px; margin-top: 1px; }
}
@media (pointer:coarse) {
  .pcrm-card { padding-top: 9px; }
  .pcrm-card-top { min-height: 44px; margin-bottom: 0; }
  .pcrm-card button, .pcrm-card-task { min-height: 44px; }
  .pcrm-card-line.pcrm-card-source { min-height: 28px; }
  .pcrm-grip, .pcrm-score { min-width: 44px; }
}
