:root {
  color-scheme: light;
  --forest-950: #08232f;
  --forest-900: #08232f;
  --forest-800: #154559;
  --forest-700: #007f73;
  --forest-600: #009b8a;
  --forest-100: #e6f6f3;
  --paper: #f4f7f8;
  --paper-deep: #ebf1f3;
  --surface: #fff;
  --ink: #12303d;
  --ink-soft: #34505e;
  --muted: #5f7480;
  --quiet: #7a8d98;
  --line: #e0e9ec;
  --line-strong: #c9d9de;
  --teal: #007f73;
  --teal-soft: #e6f6f3;
  --coral: #b3404e;
  --coral-soft: #fcf0f1;
  --amber: #9b621d;
  --amber-soft: #fbf4e9;
  --blue: #426f9a;
  --blue-soft: #eef4f9;
  --radius: 12px;
  --shadow: 0 2px 5px rgba(26,46,34,.025);
  --font-display: "Aptos Display", "Segoe UI Variable Display", "Segoe UI", sans-serif;
  --font-body: "Aptos", "Segoe UI Variable Text", "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
.icon { width: 15px; height: 15px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; vertical-align: -2px; }
.button .icon { width: 14px; height: 14px; }
.metric-icon .icon { width: 13px; height: 13px; }
html { min-width: 320px; background: var(--paper); scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--font-body); font-size: 14px; line-height: 1.45; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { color: inherit; font: inherit; }
button, select { cursor: pointer; }
button:disabled { cursor: not-allowed; }
a { color: inherit; text-decoration: none; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #3fb9a8; outline-offset: 2px; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 100; transform: translateY(-150%); padding: 10px 14px; background: white; border-radius: 8px; box-shadow: var(--shadow); }
.skip-link:focus { transform: translateY(0); }

.app-shell { min-height: 100vh; display: flex; align-items: stretch; }
.sidebar { width: 240px; flex: 0 0 240px; display: flex; flex-direction: column; min-height: 100vh; padding: 20px 14px 14px; color: #edf2ee; background: var(--forest-950); }
.brand { display: flex; align-items: center; min-height: 50px; gap: 11px; padding: 0 9px; margin-bottom: 25px; }
.brand-mark { width: 36px; height: 36px; flex: 0 0 36px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 11px; color: #f6faf7; font-family: var(--font-display); font-size: 23px; font-weight: 600; }
.brand-copy { min-width: 0; display: flex; flex-direction: column; }
.brand-copy strong { font-family: var(--font-display); font-size: 16px; letter-spacing: .01em; line-height: 1.1; }
.brand-copy small { margin-top: 5px; color: #a5b7ac; font-size: 10px; }
.sidebar-label { padding: 0 11px; margin: 17px 0 7px; color: #93a79b; font-size: 9px; font-weight: 700; letter-spacing: .12em; }
.primary-nav { display: grid; gap: 3px; }
.nav-link { min-height: 40px; display: flex; align-items: center; gap: 10px; padding: 0 11px; border-radius: 8px; color: #dce6df; font-size: 12px; transition: background .15s ease, color .15s ease; }
.nav-link:hover { background: rgba(255,255,255,.075); color: #fff; }
.nav-link.is-active { color: #fff; background: rgba(113,164,132,.2); box-shadow: inset 2px 0 #92bda0; }
.nav-link-disabled { color: #bac8bf; cursor: default; }
.nav-link-disabled:hover { background: transparent; color: #bac8bf; }
.nav-future { margin-left: auto; color: #a5b7ac; font-size: 9px; }
.nav-icon { width: 18px; flex: 0 0 18px; text-align: center; color: #a9c2b0; font-size: 16px; line-height: 1; }
.nav-count { min-width: 22px; margin-left: auto; padding: 2px 6px; border-radius: 8px; color: #dcebe0; background: rgba(255,255,255,.11); font-size: 10px; text-align: center; }
.sidebar-bottom { min-height: 61px; display: flex; align-items: center; gap: 9px; margin-top: auto; padding: 10px 9px 2px; border-top: 1px solid rgba(255,255,255,.11); }
.sidebar-bottom > span:nth-child(2) { display: flex; flex-direction: column; gap: 3px; }
.sidebar-bottom strong { font-size: 10px; font-weight: 600; }
.sidebar-bottom small { color: #a5b7ac; font-size: 9px; }
.sidebar-more { margin-left: auto; color: #93a79b; letter-spacing: 2px; }
.connection-dot, .status-dot { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: #8eb499; }

.main-area { min-width: 0; flex: 1 1 auto; display: flex; flex-direction: column; }
.topbar { min-height: 70px; display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 0 34px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.85); }
.workspace-context { display: flex; flex-direction: column; gap: 4px; }
.context-kicker { color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .12em; }
.workspace-context strong { color: var(--ink); font-family: var(--font-display); font-size: 14px; }
.topbar-actions { display: flex; align-items: center; gap: 16px; }
.search-box { width: clamp(220px, 27vw, 335px); height: 36px; display: flex; align-items: center; gap: 8px; padding: 0 9px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--muted); }
.search-box > span { font-size: 19px; line-height: 1; }
.search-box input { width: 100%; min-width: 0; padding: 0; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 11px; }
.search-box input::placeholder { color: #8a9690; }
kbd { flex: 0 0 auto; padding: 2px 5px; border: 1px solid var(--line); border-radius: 4px; color: #77847d; background: #fafbfa; font: 9px var(--font-body); }
.icon-button { width: 35px; height: 35px; position: relative; display: inline-grid; place-items: center; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink-soft); font-size: 16px; }
.notification-button i { width: 6px; height: 6px; position: absolute; top: 7px; right: 7px; border: 1px solid white; border-radius: 50%; background: var(--coral); }
.user-menu { display: flex; align-items: center; gap: 8px; }
.user-name { display: flex; flex-direction: column; gap: 2px; white-space: nowrap; }
.user-name strong { font-size: 10px; font-weight: 650; }
.user-name small { color: var(--muted); font-size: 9px; }
.user-menu form { margin: 0 0 0 4px; }
.text-button { padding: 4px; border: 0; color: var(--muted); background: transparent; font-size: 10px; }
.mobile-menu { display: none; }
.messages { margin: 16px 34px 0; padding: 9px 13px; border: 1px solid #c7dccd; border-radius: 8px; background: var(--forest-100); }
.messages p { margin: 0; }

.page-content { width: min(100%, 1540px); padding: 25px 34px 40px; margin: 0 auto; }
.demo-notice { min-height: 39px; display: flex; align-items: center; gap: 9px; padding: 8px 11px; border: 1px solid #d9e5db; border-radius: 8px; background: #f0f6f1; color: #405c4a; font-size: 10px; }
.demo-notice strong { color: #294a36; }
.notice-icon { width: 15px; height: 15px; flex: 0 0 15px; display: grid; place-items: center; border: 1px solid #8dae96; border-radius: 50%; font-size: 10px; font-weight: 700; }
.notice-close { width: 24px; height: 24px; margin-left: auto; border: 0; background: transparent; color: #688471; font-size: 19px; }
.page-heading { margin-top: 26px; }
.heading-with-actions { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.eyebrow { color: #75837b; font-size: 9px; font-weight: 700; letter-spacing: .115em; line-height: 1.2; }
.eyebrow-dot { width: 4px; height: 4px; display: inline-block; vertical-align: 2px; margin: 0 4px; border-radius: 50%; background: #9caaa1; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin: 8px 0 4px; color: var(--ink); font-family: var(--font-display); font-size: clamp(24px, 2.4vw, 30px); font-weight: 600; letter-spacing: -.025em; line-height: 1.15; }
h2 { margin: 4px 0 0; color: var(--ink); font-family: var(--font-display); font-size: 17px; font-weight: 600; letter-spacing: -.012em; line-height: 1.25; }
.wave { display: inline-block; margin-left: 3px; color: #b88c48; font-size: 17px; vertical-align: 4px; }
.page-subtitle { margin: 6px 0 0; color: var(--muted); font-size: 12px; }
.heading-actions { display: flex; gap: 8px; }
.button { min-height: 36px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 0 12px; border: 1px solid transparent; border-radius: 7px; font-size: 11px; font-weight: 600; transition: background .15s ease, border-color .15s ease; }
.button-primary { color: #fff; border-color: var(--forest-700); background: var(--forest-700); box-shadow: 0 1px 2px rgba(15,48,34,.11); }
.button-primary:hover { border-color: var(--forest-800); background: var(--forest-800); }
.button-primary:disabled { border-color: #bed0c4; background: #bed0c4; }
.button-secondary { border-color: var(--line-strong); background: #fff; color: var(--ink-soft); }
.button-secondary:hover { border-color: #aab8af; background: #fafcfb; }
.button-quiet { min-height: 32px; padding: 0 8px; color: var(--muted); border-color: transparent; background: transparent; font-weight: 500; }
.button-quiet:hover { background: var(--paper); }
.button-wide { width: 100%; }

.context-row { min-height: 57px; display: flex; align-items: center; gap: 14px; margin-top: 20px; border-top: 1px solid var(--line); }
.select-context { position: relative; display: flex; flex-direction: column; gap: 2px; }
.select-context > span { color: var(--quiet); font-size: 8px; font-weight: 700; letter-spacing: .11em; }
.select-context select { min-width: 145px; padding: 0 16px 0 0; appearance: none; border: 0; outline: 0; background: transparent; font-size: 11px; font-weight: 650; }
.select-context b { position: absolute; right: 0; bottom: 0; color: #7d8b83; font-size: 14px; font-weight: 400; pointer-events: none; }
.context-divider { width: 1px; height: 25px; background: var(--line); }
.filter-context { min-height: 40px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 2px; padding: 4px 8px; border: 1px solid var(--line); border-radius: 6px; background: #fff; color: #47606d; font-size: 10px; }
.filter-context > span { color: #5f7480; font-size: 8px; font-weight: 700; letter-spacing: .06em; }
.filter-context select { max-width: 150px; padding: 0 12px 0 0; border: 0; appearance: none; background: transparent; color: #3e5046; font-size: 10px; font-weight: 600; }
.context-spacer { flex: 1; }
.updated-label { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 9px; white-space: nowrap; }
.updated-label .status-dot { width: 6px; height: 6px; flex-basis: 6px; background: #6eaa7c; }
.updated-label button { padding: 0; border: 0; color: var(--forest-700); background: transparent; font-size: 9px; font-weight: 650; }
.updated-separator { color: #9ca7a0; }

.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.metric-card { min-width: 0; display: block; padding: 14px 15px 13px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); text-align: left; box-shadow: var(--shadow); transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
.metric-card:hover { transform: translateY(-1px); border-color: #bdcbc1; box-shadow: 0 5px 15px rgba(25,52,37,.055); }
.metric-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.metric-label { overflow: hidden; color: #59695f; font-size: 10px; font-weight: 550; text-overflow: ellipsis; white-space: nowrap; }
.metric-icon { width: 27px; height: 27px; flex: 0 0 27px; display: grid; place-items: center; border-radius: 8px; font-size: 13px; }
.metric-icon-green { color: #377553; background: #e6f6f3; }
.metric-icon-amber { color: #a47531; background: #fbf4e9; }
.metric-icon-blue { color: #537ea4; background: #eef4f9; }
.metric-icon-red { color: #b0525d; background: #fcf0f1; font-weight: 700; }
.metric-value { display: block; margin-top: 9px; font-family: var(--font-display); font-size: 29px; font-weight: 600; letter-spacing: -.035em; line-height: 1; }
.metric-bottom { min-height: 16px; display: block; margin-top: 8px; color: var(--muted); font-size: 9px; }
.metric-trend { color: #3d8059; font-weight: 700; }
.metric-attention { color: #a06b2c; }
.dashboard-insights { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 13px; margin-top: 14px; }
.progress-panel, .client-summary-panel { min-width: 0; overflow: hidden; }
.progress-table-scroll { width: 100%; overflow-x: auto; }
.progress-table { width: 100%; table-layout: fixed; border-collapse: collapse; text-align: left; }
.progress-table th, .progress-table td { padding: 8px 7px; border-bottom: 1px solid #ebf1f3; color: #47606d; font-size: 10px; text-align: center; }
.progress-table thead th { color: #5f7480; font-size: 9px; font-weight: 650; line-height: 1.3; }
.progress-table th:first-child { width: 28%; text-align: left; }
.progress-table tbody th { color: #34505e; font-weight: 600; }
.progress-table tbody tr:last-child th, .progress-table tbody tr:last-child td { border-bottom: 0; }
.progress-footnote { padding: 8px 14px; border-top: 1px solid #ebf1f3; color: #5f7480; font-size: 10px; }
.client-summary-link { width: 100%; min-height: 61px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 14px; border: 0; border-top: 1px solid #ebf1f3; background: white; text-align: left; }
.client-summary-link:hover { background: #fafcfb; }
.client-summary-link > span:first-child, .sync-summary > span:last-child { display: flex; flex-direction: column; gap: 4px; }
.client-summary-link strong, .sync-summary strong { color: #34505e; font-size: 11px; }
.client-summary-link small, .sync-summary small { color: #5f7480; font-size: 10px; line-height: 1.4; }
.client-summary-link > span:last-child { color: var(--forest-700); }
.sync-summary { min-height: 59px; display: flex; align-items: center; gap: 9px; padding: 10px 14px; border-top: 1px solid #ebf1f3; }
.sync-summary .status-dot { background: #bd954e; }
.sync-summary > span:last-child { display: flex; }
.control-board { margin-top: 14px; overflow: hidden; }
.sample-badge { padding: 5px 8px; border: 1px solid #d9e5db; border-radius: 14px; color: #536b59; background: #f4f8f4; font-size: 10px; white-space: nowrap; }
.control-board-scroll { width: 100%; overflow-x: auto; }
.control-table { width: 100%; table-layout: fixed; border-collapse: collapse; text-align: left; }
.control-table th, .control-table td { padding: 9px 12px; border-top: 1px solid #ebf1f3; }
.control-table thead th { color: #5f7480; font-size: 9px; font-weight: 700; letter-spacing: .06em; text-align: center; }
.control-table thead th:first-child { width: 34%; text-align: left; }
.control-table tbody th { display: flex; flex-direction: column; gap: 2px; }
.control-table tbody th small { color: #5f7480; font-size: 9px; font-weight: 500; }
.control-table tbody th strong { color: #34505e; font-size: 11px; font-weight: 650; }
.control-table tbody td { text-align: center; }
.control-table td button { min-width: 29px; min-height: 25px; padding: 2px 7px; border: 1px solid #cbdccc; border-radius: 14px; color: #34744c; background: #e6f6f3; font-size: 10px; font-weight: 700; }
.control-table td:nth-child(3) button { border-color: #ead9b8; color: #936820; background: #fbf4e9; }
.control-table td:nth-child(4) button { border-color: #e6d5b5; color: #8d692f; background: #fbf6ed; }
.control-table td:nth-child(5) button { border-color: #d5e2d9; color: #4e7859; background: #f1f7f2; }
.control-table td button:disabled { border-color: transparent; color: #7b8981; background: #f3f5f3; }
.control-table td:nth-child(3) button:disabled, .control-table td:nth-child(4) button:disabled { color: #7b8981; background: #f3f5f3; }
.board-legend { display: flex; flex-wrap: wrap; gap: 10px 18px; padding: 11px 14px; border-top: 1px solid #ebf1f3; color: #47606d; font-size: 10px; }
.board-legend > span { display: inline-flex; align-items: center; gap: 6px; }
.board-legend i { width: 8px; height: 8px; border-radius: 50%; }
.legend-action { background: #5c9b6d; }
.legend-attention { background: #c9974e; }
.legend-pending { background: #9a7a4c; }
.legend-complete { background: #6d9977; }

.panel { border: 1px solid var(--line); border-radius: 10px; background: var(--surface); box-shadow: var(--shadow); }
.queue-panel { margin-top: 15px; overflow: hidden; }
.panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 17px 18px 13px; }
.panel-subtitle { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.panel-heading-actions { display: flex; align-items: center; gap: 11px; }
.text-link { display: inline-flex; align-items: center; gap: 5px; border: 0; background: transparent; color: var(--forest-700); font-size: 10px; font-weight: 650; white-space: nowrap; }
.text-link:hover { color: var(--forest-900); }
.queue-tabs { min-height: 42px; display: flex; align-items: stretch; gap: 20px; padding: 0 18px; border-bottom: 1px solid var(--line); }
.queue-tab { position: relative; display: inline-flex; align-items: center; gap: 7px; padding: 0 1px; border: 0; background: transparent; color: #78857e; font-size: 10px; white-space: nowrap; }
.queue-tab span { padding: 2px 5px; border-radius: 7px; color: #748179; background: #f0f3f1; font-size: 9px; }
.queue-tab.is-selected { color: var(--forest-800); font-weight: 650; }
.queue-tab.is-selected::after { height: 2px; position: absolute; right: 0; bottom: -1px; left: 0; content: ""; background: var(--forest-700); }
.table-scroll { width: 100%; overflow-x: auto; }
.work-table { width: 100%; border-collapse: collapse; text-align: left; }
.work-table th { height: 34px; padding: 0 10px; border-bottom: 1px solid #ebf1f3; color: #8497a1; font-size: 8px; font-weight: 700; letter-spacing: .075em; white-space: nowrap; }
.work-table th:first-child, .work-table td:first-child { padding-left: 18px; }
.work-table th:last-child, .work-table td:last-child { padding-right: 14px; }
.work-table td { min-height: 57px; padding: 9px 10px; border-bottom: 1px solid #ebf1f3; color: var(--ink-soft); font-size: 10px; white-space: nowrap; }
.work-table tbody tr:last-child td { border-bottom: 0; }
.work-table tbody tr:hover td { background: #fcfdfc; }
.company-cell { display: flex; align-items: center; gap: 9px; }
.company-cell > span:last-child { display: flex; flex-direction: column; gap: 3px; }
.company-cell strong { color: #2f4037; font-size: 10px; font-weight: 650; }
.company-cell small { color: #7b8981; font-size: 9px; }
.avatar { width: 30px; height: 30px; flex: 0 0 30px; display: inline-grid; place-items: center; border-radius: 9px; color: #486b52; background: #eaf2eb; font-size: 9px; font-weight: 700; }
.avatar-user { border-radius: 50%; color: #fff; background: #a7795b; }
.avatar-an { color: #497055; background: #e9f2ea; }
.avatar-hc { color: #586e95; background: #edf1f8; }
.avatar-vv { color: #987240; background: #f6f0e6; }
.avatar-small { width: 21px; height: 21px; flex-basis: 21px; border-radius: 50%; font-size: 8px; }
.avatar-owner { color: #496d53; background: #e9f2eb; }
.avatar-reviewer { color: #5a698c; background: #edf0f7; }
.avatar-substitute { color: #926c48; background: #f5efe7; }
.competence-text { color: #5f6d64; }
.stage-pill { display: inline-flex; align-items: center; gap: 5px; padding: 4px 7px; border-radius: 20px; font-size: 9px; }
.stage-pill i { width: 5px; height: 5px; flex: 0 0 5px; border-radius: 50%; background: currentColor; }
.stage-review { color: #4f7394; background: var(--blue-soft); }
.stage-client { color: #956a2d; background: var(--amber-soft); }
.stage-ready { color: #34744c; background: var(--teal-soft); }
.stage-progress { color: #695aa1; background: #f1eff8; }
.owner-cell { display: flex; align-items: center; gap: 6px; }
.next-action { color: #466e55; font-size: 9px; font-weight: 600; }
.next-action span { padding-left: 3px; color: #92a198; }
.deadline-cell { display: block; color: #47584e; font-size: 10px; font-weight: 650; }
.deadline-soon { color: #a44e52; }
.deadline-waiting { color: #a16e2d; }
.deadline-overdue { color: #a33d49; }
.deadline-note { display: block; margin-top: 2px; color: #829088; font-size: 8px; }
.deadline-soon + .deadline-note { color: #b35d61; }
.deadline-overdue + .deadline-note { color: #a84650; }
.row-open { width: 24px; height: 24px; display: grid; place-items: center; border: 1px solid transparent; border-radius: 6px; color: #85928a; font-size: 14px; }
.row-open:hover { border-color: var(--line); color: var(--forest-700); }
.empty-filter { padding: 28px; color: var(--muted); text-align: center; }
.empty-filter strong, .empty-filter span { display: block; }
.empty-filter span { margin-top: 4px; font-size: 10px; }
.table-footer { min-height: 39px; display: flex; align-items: center; justify-content: space-between; padding: 0 14px 0 18px; border-top: 1px solid #ebf1f3; color: #7a8d98; font-size: 9px; }
.table-footer > div { display: flex; gap: 4px; }
.table-footer button { width: 25px; height: 24px; display: grid; place-items: center; border: 1px solid transparent; border-radius: 5px; background: white; color: #75837b; font-size: 10px; }
.table-footer button:not(:disabled):hover { border-color: var(--line); }
.table-footer button:disabled { color: #bac2bc; }
.table-footer .page-number { border-color: #c9d9de; color: var(--forest-700); background: #f4f8f4; font-weight: 700; }

.lower-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 13px; margin-top: 14px; }
.lower-panel { min-width: 0; padding-bottom: 4px; }
.compact-heading { padding-top: 14px; padding-bottom: 11px; }
.compact-heading h2 { font-size: 15px; }
.subtle-icon { width: 28px; height: 28px; border-color: transparent; background: transparent; color: #85928a; }
.subtle-icon:hover { border-color: var(--line); background: #fafcfd; }
.attention-list { padding: 0 15px 5px; }
.attention-row { min-height: 52px; display: flex; align-items: center; gap: 9px; border-top: 1px solid #ebf1f3; }
.attention-symbol { width: 25px; height: 25px; flex: 0 0 25px; display: grid; place-items: center; border-radius: 7px; font-size: 12px; }
.symbol-amber { color: #a16e2d; background: var(--amber-soft); }
.symbol-red { color: #ae545b; background: var(--coral-soft); }
.symbol-blue { color: #4f7798; background: var(--blue-soft); }
.attention-row > span:nth-child(2) { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.attention-row strong { overflow: hidden; color: #3f5147; font-size: 10px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.attention-row small { color: #859189; font-size: 9px; }
.attention-arrow { margin-left: auto; color: #94a098; }
.week-list { display: grid; grid-template-columns: 38px minmax(0, 1fr) 8px; align-items: center; row-gap: 12px; padding: 0 18px 15px; }
.week-date { width: 33px; min-height: 36px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 7px; background: #f3f7f8; }
.week-date strong { font-size: 12px; line-height: 1.1; }
.week-date small { margin-top: 2px; color: #7a8d98; font-size: 7px; font-weight: 700; }
.week-info { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.week-info strong { overflow: hidden; color: #3e5046; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.week-info small { overflow: hidden; color: #8497a1; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.week-indicator { width: 7px; height: 7px; border-radius: 50%; }
.indicator-amber { background: #c9974e; }
.indicator-green { background: #68a77b; }
.app-footer { display: flex; justify-content: space-between; gap: 12px; padding: 0 34px 18px; margin-top: auto; color: #909b94; font-size: 9px; }

.breadcrumbs { display: flex; align-items: center; gap: 8px; margin: 17px 0 0; color: #819087; font-size: 10px; }
.breadcrumbs a:hover { color: var(--forest-700); }
.breadcrumbs strong { color: #52635a; font-weight: 600; }
.setup-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-top: 19px; }
.setup-layout { display: grid; grid-template-columns: 225px minmax(0, 1fr); align-items: start; gap: 19px; margin-top: 22px; }
.stepper { position: sticky; top: 16px; display: grid; gap: 4px; padding: 12px 0; }
.step-item { min-height: 54px; display: grid; grid-template-columns: 28px minmax(0, 1fr) 15px; align-items: center; gap: 9px; padding: 7px 9px; border: 1px solid transparent; border-radius: 8px; background: transparent; text-align: left; }
.step-item:hover { background: #eff3f0; }
.step-item.is-current { border-color: #dce8df; background: #e6f6f3; }
.step-number { width: 24px; height: 24px; display: grid; place-items: center; border: 1px solid #d0dde2; border-radius: 50%; color: #78867e; background: white; font-size: 10px; font-weight: 650; }
.step-item.is-current .step-number { border-color: var(--forest-700); color: white; background: var(--forest-700); }
.step-item > span:nth-child(2) { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.step-item strong { color: #46584d; font-size: 10px; font-weight: 650; }
.step-item small { color: #5f7480; font-size: 10px; }
.step-check { color: #5c9b6d; font-size: 12px; opacity: 0; }
.step-item.is-complete .step-check { opacity: 1; }
.step-item[aria-disabled=\"true\"] { opacity: .62; cursor: not-allowed; }
.stepper-note { display: flex; gap: 9px; padding: 12px 10px; margin-top: 11px; border-top: 1px solid var(--line); color: #9d783c; }
.stepper-note > span:first-child { font-size: 15px; }
.stepper-note > span:last-child { display: flex; flex-direction: column; gap: 4px; }
.stepper-note strong { color: #71582f; font-size: 9px; }
.stepper-note small { color: #5f7480; font-size: 9px; line-height: 1.5; }
.setup-main { min-width: 0; }
.setup-progress { display: flex; align-items: center; gap: 11px; margin: 0 2px 11px; color: #7c8981; font-size: 8px; letter-spacing: .08em; }
.setup-progress strong { color: var(--forest-700); }
.progress-track { height: 4px; flex: 1; overflow: hidden; border-radius: 4px; background: #e0e9ec; }
.progress-track i { width: 20%; height: 100%; display: block; border-radius: 4px; background: var(--forest-700); transition: width .2s ease; }
.setup-card { padding: 22px; }
.setup-card-heading { display: flex; align-items: flex-start; gap: 11px; margin-bottom: 18px; }
.section-icon { width: 34px; height: 34px; flex: 0 0 34px; display: grid; place-items: center; border-radius: 9px; color: var(--forest-700); background: var(--forest-100); font-size: 16px; }
.setup-card-heading h2 { margin: 0; font-size: 17px; }
.setup-card-heading p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.source-card { min-height: 52px; display: flex; align-items: center; gap: 9px; padding: 9px 10px; margin-bottom: 17px; border: 1px solid #e0e9ec; border-radius: 8px; background: #fafcfb; }
.source-icon, .domain-mark { width: 27px; height: 27px; flex: 0 0 27px; display: grid; place-items: center; border-radius: 8px; color: #fff; background: #5f8670; font-family: var(--font-display); font-weight: 650; }
.source-card > span:nth-child(2) { display: flex; flex-direction: column; gap: 2px; }
.source-card strong, .integration-title strong { color: #43554a; font-size: 10px; font-weight: 650; }
.source-card small, .integration-title small { color: #8497a1; font-size: 9px; }
.source-state { display: flex; align-items: center; gap: 5px; margin-left: auto; color: #8497a1; font-size: 8px; }
.source-state i, .integration-state i { width: 6px; height: 6px; border-radius: 50%; background: #c5a05c; }
.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 13px; }
.field { min-width: 0; display: flex; flex-direction: column; gap: 5px; color: #54655b; font-size: 9px; font-weight: 600; }
.field input, .field select, .field textarea, .login-card input { width: 100%; min-height: 37px; padding: 8px 10px; border: 1px solid #d9e4e7; border-radius: 6px; outline-color: #3fb9a8; background: #fff; color: #42534a; font-size: 10px; font-weight: 450; }
.field input[readonly] { color: #637168; background: #fafbfa; }
.field input[type="date"] { color-scheme: light; }
.field textarea { resize: vertical; }
.field > small { color: #86928b; font-size: 8px; font-weight: 400; line-height: 1.45; }
.inline-warning { display: flex; align-items: flex-start; gap: 9px; padding: 10px 11px; margin-top: 17px; border: 1px solid #eee4d2; border-radius: 7px; background: #fcf8f0; color: #9a732d; }
.inline-warning > span { width: 15px; height: 15px; flex: 0 0 15px; display: grid; place-items: center; border: 1px solid #c5a56d; border-radius: 50%; font-size: 9px; font-weight: 700; }
.inline-warning p { margin: 0; color: #6f6550; font-size: 9px; line-height: 1.55; }
.inline-warning strong { color: #655431; }
.form-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 20px; padding-top: 15px; border-top: 1px solid #ebf1f3; }
.form-hint { color: #8497a1; font-size: 8px; }
.service-list { display: grid; gap: 7px; margin-top: 17px; }
.service-option { display: grid; grid-template-columns: minmax(0, 1fr) repeat(2, minmax(135px, 170px)); align-items: center; gap: 10px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 7px; }
.service-option-heading { min-height: 30px; padding-top: 5px; padding-bottom: 5px; border-color: transparent; color: #5f7480; font-size: 10px; font-weight: 650; }
.service-name { min-width: 0; display: flex; align-items: center; gap: 9px; }
.service-name > input[type=\"checkbox\"] { width: 15px; height: 15px; flex: 0 0 15px; accent-color: var(--forest-700); }
.service-name > span { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.service-option strong { color: var(--ink-soft); font-size: 11px; }
.service-option small { color: #5f7480; font-size: 10px; }
.service-vigency { display: flex; flex-direction: column; gap: 3px; color: #5f7480; font-size: 9px; }
.service-vigency input { width: 100%; min-height: 34px; padding: 5px 7px; border: 1px solid #d9e4e7; border-radius: 6px; background: white; font-size: 10px; }
.source-audit { min-height: 54px; display: flex; align-items: center; gap: 9px; padding: 9px; margin-top: 17px; border: 1px solid var(--line); border-radius: 7px; }
.audit-mark { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 7px; color: #5c7f65; background: #eef5ef; font-size: 14px; }
.source-audit > span:nth-child(2) { display: flex; flex-direction: column; gap: 3px; }
.source-audit strong { color: #4b5d52; font-size: 9px; }
.source-audit small { color: #5f7480; font-size: 10px; }
.source-audit button { margin-left: auto; padding: 6px; border: 0; background: transparent; color: var(--forest-700); font-size: 9px; font-weight: 650; }
.preview-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-bottom: 14px; }
.preview-summary > div { display: flex; flex-direction: column; gap: 3px; padding: 10px; border: 1px solid var(--line); border-radius: 7px; }
.preview-summary strong { font-family: var(--font-display); font-size: 18px; line-height: 1; }
.preview-summary span { color: #75827a; font-size: 8px; }
.summary-pending strong { color: #a17938; }
.summary-excluded strong { color: #7b8b80; }
.rule-preview { display: grid; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.rule-row { min-height: 59px; display: grid; grid-template-columns: 68px minmax(0, 1fr) max-content; align-items: center; gap: 10px; padding: 9px 10px; border-bottom: 1px solid #ebf1f3; }
.rule-row:last-child { border-bottom: 0; }
.rule-row > span:nth-child(2) { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.rule-row strong { color: #34505e; font-size: 9px; font-weight: 650; }
.rule-row small { color: #5f7480; font-size: 10px; line-height: 1.45; }
.rule-status { width: fit-content; padding: 4px 6px; border-radius: 5px; font-size: 8px; font-weight: 650; }
.rule-status.included { color: #477553; background: #e6f6f3; }
.rule-status.pending { color: #94703a; background: #fbf4e9; }
.rule-status.excluded { color: #77847c; background: #f1f3f1; }
.rule-reason { color: #859188; font-size: 8px; text-align: right; }
.confirm-check { display: flex; align-items: flex-start; gap: 8px; margin-top: 15px; color: #58695f; font-size: 9px; }
.confirm-check input { margin: 1px 0 0; }
.setup-footer { display: flex; justify-content: space-between; gap: 12px; padding: 11px 3px; color: #89958e; font-size: 8px; }
.setup-footer a { color: var(--forest-700); }

.task-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-top: 20px; }
.task-title-row h1 { margin-top: 7px; font-size: 27px; }
.task-company { display: flex; align-items: center; gap: 7px; margin-top: 11px; color: #627169; font-size: 10px; }
.task-company strong { color: #44564c; font-weight: 650; }
.task-company .avatar { width: 24px; height: 24px; flex-basis: 24px; font-size: 8px; }
.muted-dot { color: #aab4ad; }
.task-title-actions { display: flex; align-items: center; gap: 8px; }
.task-tabs { display: flex; align-items: stretch; gap: 19px; margin-top: 21px; border-bottom: 1px solid var(--line); }
.task-tab { position: relative; min-height: 40px; display: flex; align-items: center; gap: 6px; padding: 0 1px; border: 0; background: transparent; color: #77847c; font-size: 10px; }
.task-tab span { padding: 2px 5px; border-radius: 7px; background: #ebf1f3; font-size: 8px; }
.task-tab.is-selected { color: var(--forest-800); font-weight: 650; }
.task-tab.is-selected::after { height: 2px; position: absolute; right: 0; bottom: -1px; left: 0; content: ""; background: var(--forest-700); }
.task-layout { display: grid; grid-template-columns: minmax(0, 1fr) 295px; align-items: start; gap: 14px; margin-top: 14px; }
.task-main-column, .task-side-column { min-width: 0; display: grid; gap: 13px; }
.task-progress-panel, .checklist-panel, .activity-panel, .detail-card, .publish-card, .integration-card { padding: 16px; }
.task-panel-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.task-panel-title h2 { font-size: 15px; }
.small-muted { color: #839087; font-size: 8px; }
.small-muted strong { color: #56735f; font-weight: 650; }
.process-flow { display: flex; align-items: center; margin-top: 20px; }
.flow-step { min-width: 0; position: relative; display: flex; flex: 1; flex-direction: column; align-items: center; gap: 6px; color: #5f7480; font-size: 10px; text-align: center; }
.flow-marker { width: 23px; height: 23px; z-index: 1; display: grid; place-items: center; border: 1px solid #d9e4e7; border-radius: 50%; color: #839088; background: #fff; font-size: 9px; }
.flow-step.is-done .flow-marker { border-color: #9dbda4; color: white; background: #6d9977; }
.flow-step.is-current { color: #426c4e; font-weight: 650; }
.flow-step.is-current .flow-marker { border: 2px solid #5d8d6b; color: #426c4e; background: #e6f6f3; }
.flow-step > i { width: calc(100% - 27px); height: 1px; position: absolute; top: 11px; left: calc(50% + 14px); background: #dfe6e0; }
.checklist-panel .task-panel-title { margin-bottom: 11px; }
.checklist-list { display: grid; }
.checklist-row { min-height: 41px; display: grid; grid-template-columns: 22px minmax(0, 1fr) max-content 25px; align-items: center; gap: 7px; border-top: 1px solid #ebf1f3; }
.check-icon { width: 17px; height: 17px; display: grid; place-items: center; border-radius: 50%; font-size: 9px; }
.check-done { color: #4d885d; background: #e6f6f3; }
.check-pending { color: #9f722f; background: #fbf4e9; }
.check-review { color: #4f7697; background: #eef4f9; }
.check-muted { color: #9aa49d; background: #f2f4f2; }
.check-title { color: #4a5a50; font-size: 9px; }
.check-state { color: #47606d; font-size: 10px; }
.text-amber { color: #9c712f; }
.text-blue { color: #52799a; }
.text-muted { color: #929d95; }
.badge-outline { padding: 4px 7px; border: 1px solid #d8e2da; border-radius: 12px; color: #64806a; font-size: 8px; }
.activity-panel .field { margin-top: 14px; }
.activity-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 8px; color: #8a968e; font-size: 8px; }
.publication-blocker { display: flex; flex-direction: column; gap: 5px; padding: 11px 12px; margin-top: 12px; border: 1px solid #eadfca; border-radius: 7px; color: #655431; background: #fcf8f0; }
.publication-blocker strong { font-size: 11px; }
.publication-blocker span { color: #5f594c; font-size: 10px; line-height: 1.5; }
.publication-blocker small { color: #5f7480; font-size: 10px; line-height: 1.4; }
.deadline-source { display: flex; flex-direction: column; gap: 3px; padding: 3px 0 8px; color: #58675e; font-size: 10px; line-height: 1.45; }
.deadline-source strong { color: #34505e; font-size: 10px; }
.deadline-source a { display: inline-block; margin-left: 3px; color: var(--forest-700); font-weight: 650; }
.establishment-list { display: grid; gap: 9px; margin-top: 16px; }
.establishment-card { padding: 11px 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.establishment-card > div:first-child { display: flex; flex-direction: column; gap: 3px; }
.establishment-card > div:first-child strong { color: #34505e; font-size: 11px; }
.establishment-card > div:first-child small { color: #5f7480; font-size: 10px; }
.establishment-card dl { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 9px; margin: 10px 0 0; }
.establishment-card dl div { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.establishment-card dt { color: #5f7480; font-size: 9px; }
.establishment-card dd { margin: 0; color: #34505e; font-size: 10px; overflow-wrap: anywhere; }
.establishment-pending { border-color: #e8dcc7; background: #fdfaf5; }
.side-panel-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 11px; }
.side-panel-heading h2 { font-size: 14px; }
.detail-row { min-height: 31px; display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #819087; font-size: 8px; }
.detail-row strong { color: #46584d; font-size: 9px; font-weight: 600; text-align: right; }
.detail-row strong a { color: var(--forest-700); }
.detail-row-legal strong { color: #9c553f; }
.detail-person { display: inline-flex; align-items: center; gap: 5px; }
.detail-card hr { height: 1px; margin: 8px 0; border: 0; background: #ebf1f3; }
.date-explanation { padding: 7px 8px; margin: 3px 0 7px; border-radius: 6px; color: #7a705e; background: #faf7f1; font-size: 8px; line-height: 1.45; }
.publish-icon { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 8px; color: #567e60; background: #e6f6f3; font-size: 14px; }
.publish-card h2 { margin-top: 9px; font-size: 14px; }
.publish-card p { margin: 5px 0 10px; color: #78867d; font-size: 9px; line-height: 1.55; }
.publish-status { display: flex; align-items: center; gap: 6px; padding: 8px 0 10px; color: #8497a1; font-size: 9px; }
.publish-status .status-dot { width: 6px; height: 6px; flex-basis: 6px; }
.status-waiting { background: #c2954b; }
.publish-card .button { min-height: 32px; font-size: 9px; }
.publish-card .button:disabled { color: #9ba69e; border-color: #ebf1f3; background: #f5f7f5; }
.publish-card > small { display: block; margin-top: 7px; color: #9aa49d; font-size: 8px; text-align: center; }
.integration-title { display: flex; align-items: center; gap: 8px; }
.domain-mark { width: 24px; height: 24px; flex-basis: 24px; border-radius: 6px; font-size: 11px; }
.integration-title > span:last-child { display: flex; flex-direction: column; gap: 2px; }
.integration-state { display: flex; align-items: center; gap: 5px; margin-top: 11px; color: #8d774c; font-size: 8px; }
.integration-card p { margin: 8px 0 0; color: #7e8a82; font-size: 8px; line-height: 1.55; }
.task-placeholder { min-height: 260px; display: flex; flex-direction: column; align-items: center; justify-content: center; margin-top: 14px; padding: 28px; text-align: center; }
.task-placeholder h2 { margin-top: 12px; }
.task-placeholder p { max-width: 450px; margin: 7px 0 0; color: var(--muted); font-size: 10px; }

.login-wrap { min-height: calc(100vh - 120px); display: grid; place-items: center; padding: 32px; }
.login-card { width: min(100%, 390px); padding: 28px; }
.login-brand { margin-bottom: 22px; color: var(--forest-700); border-color: #c9d9de; background: #eef6f6; }
.login-card h1 { font-size: 25px; }
.login-card form { display: grid; gap: 15px; margin-top: 22px; }
.login-card form .button { margin-top: 3px; }
.login-card .field { font-size: 10px; }
.login-return { display: inline-block; margin-top: 17px; color: var(--forest-700); font-size: 10px; }
.form-error { padding: 9px 10px; margin: 13px 0 0; border: 1px solid #efd6d9; border-radius: 6px; color: #9b454e; background: #fcf0f1; font-size: 10px; }

.toast { max-width: min(440px, calc(100% - 32px)); position: fixed; z-index: 120; right: 20px; bottom: 20px; padding: 11px 14px; border: 1px solid #dce7de; border-radius: 8px; color: #345541; background: white; box-shadow: 0 10px 30px rgba(25,47,34,.13); font-size: 11px; opacity: 0; pointer-events: none; transform: translateY(8px); transition: opacity .18s ease, transform .18s ease; }
.toast.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1180px) {
  .sidebar { width: 220px; flex-basis: 220px; }
  .topbar { padding-right: 24px; padding-left: 24px; }
  .page-content { padding-right: 24px; padding-left: 24px; }
  .app-footer { padding-right: 24px; padding-left: 24px; }
  .work-table th, .work-table td { padding-right: 7px; padding-left: 7px; }
  .work-table th:first-child, .work-table td:first-child { padding-left: 13px; }
  .task-layout { grid-template-columns: minmax(0, 1fr) 270px; }
  .setup-layout { grid-template-columns: 205px minmax(0,1fr); }
}

@media (max-width: 1040px) {
  .dashboard-insights { grid-template-columns: 1fr; }
  .context-row { flex-wrap: wrap; gap: 8px; padding: 9px 0; }
  .context-spacer { display: none; }
  .updated-label { margin-left: auto; }
}

@media (max-width: 940px) {
  .sidebar { width: 205px; flex-basis: 205px; }
  .topbar { min-height: 64px; gap: 13px; padding: 0 18px; }
  .topbar-actions { gap: 9px; }
  .search-box { width: min(29vw, 270px); }
  .user-name { display: none; }
  .page-content { padding-right: 18px; padding-left: 18px; }
  .app-footer { padding-right: 18px; padding-left: 18px; }
  .metric-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .lower-grid { grid-template-columns: 1fr; }
  .control-table th, .control-table td { padding-right: 7px; padding-left: 7px; }
  .task-layout { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .task-side-column { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .detail-card { grid-row: span 2; }
  .setup-layout { grid-template-columns: 180px minmax(0,1fr); gap: 12px; }
  .service-option { grid-template-columns: minmax(0,1fr) repeat(2, minmax(100px,130px)); }
  .step-item { grid-template-columns: 25px minmax(0, 1fr); gap: 7px; }
  .step-check { display: none; }
}

@media (max-width: 900px) {
  .queue-panel, .lower-grid, .lower-panel, .task-page, .task-layout, .setup-layout, .panel, .table-scroll { min-width: 0; }
  .table-scroll { overflow: visible; }
  .work-table, .work-table tbody, .work-table tr, .work-table td { width: 100%; display: block; }
  .work-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  .work-table tbody { display: grid; }
  .work-table tr { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 0 10px; padding: 10px 38px 10px 14px; border-bottom: 1px solid #ebf1f3; }
  .work-table tbody tr:last-child { border-bottom: 0; }
  .work-table td, .work-table td:first-child, .work-table td:last-child { min-height: 0; display: flex; align-items: center; padding: 4px 0; border: 0; white-space: normal; }
  .work-table td:first-child { grid-column: 1 / 3; padding-bottom: 7px; }
  .work-table td:nth-child(2) { grid-column: 1; grid-row: 2; color: #47606d; font-size: 10px; }
  .work-table td:nth-child(2)::before { content: "Competência: "; margin-right: 3px; color: #5f7480; }
  .work-table td:nth-child(3) { grid-column: 2; grid-row: 2; justify-self: end; }
  .work-table td:nth-child(4) { grid-column: 1; grid-row: 3; color: #47606d; font-size: 10px; }
  .work-table td:nth-child(5) { grid-column: 1; grid-row: 4; }
  .work-table td:nth-child(6) { grid-column: 2; grid-row: 3 / 5; align-self: center; justify-self: end; display: block; text-align: right; }
  .work-table td:nth-child(7) { position: absolute; top: 10px; right: 8px; }
  .work-table td:nth-child(4) .avatar { width: 20px; height: 20px; flex-basis: 20px; }
  .work-table td:nth-child(5) { min-width: 0; }
  .work-table .company-cell strong { font-size: 11px; }
  .work-table .company-cell small { color: #5f7480; font-size: 10px; }
  .work-table .deadline-note { color: #5f7480; font-size: 9px; }
  .filter-context { flex: 1 1 120px; }
  .flow-step { font-size: 9px; }
  .check-title, .check-state { font-size: 10px; }
  .service-option-heading { display: none; }
  .establishment-card dl { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .table-footer, .attention-row small, .week-info small, .app-footer { color: #5f7480; font-size: 10px; }
}

@media (max-width: 700px) {
  .sidebar { width: 265px; max-width: calc(100vw - 50px); position: fixed; z-index: 50; inset: 0 auto 0 0; min-height: 100vh; visibility: hidden; transform: translateX(-102%); transition: transform .2s ease, visibility .2s ease; box-shadow: 12px 0 30px rgba(18,40,28,.17); }
  .sidebar.is-open { visibility: visible; transform: translateX(0); }
  .app-shell.menu-open::after { position: fixed; z-index: 40; inset: 0; content: ""; background: rgba(13,29,21,.34); }
  .main-area { width: 100%; }
  .topbar { min-height: 58px; justify-content: flex-start; gap: 11px; padding: 0 14px; }
  .mobile-menu { width: 32px; height: 32px; display: grid; align-content: center; justify-content: center; gap: 4px; padding: 0; border: 1px solid var(--line); border-radius: 7px; background: white; }
  .mobile-menu span { width: 14px; height: 1.5px; display: block; border-radius: 2px; background: #47606d; }
  .workspace-context { min-width: 0; }
  .context-kicker { font-size: 7px; }
  .workspace-context strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
  .topbar-actions { margin-left: auto; }
  .search-box { width: 34px; justify-content: center; padding: 0; }
  .search-box input, .search-box kbd { display: none; }
  .search-box:focus-within { width: min(42vw, 200px); justify-content: flex-start; padding: 0 8px; }
  .search-box:focus-within input { display: block; }
  .icon-button.notification-button { width: 31px; height: 31px; }
  .user-menu { display: none; }
  .page-content { padding: 14px 13px 30px; }
  .demo-notice { align-items: flex-start; padding: 8px; font-size: 9px; line-height: 1.5; }
  .notice-icon { margin-top: 1px; }
  .notice-close { width: 19px; height: 19px; flex: 0 0 19px; font-size: 17px; }
  .page-heading { margin-top: 21px; }
  .heading-with-actions { align-items: flex-start; flex-direction: column; gap: 13px; }
  h1 { font-size: 25px; }
  .page-subtitle { font-size: 10px; }
  .heading-actions { width: 100%; }
  .heading-actions .button { flex: 1; }
  .context-row { min-height: 50px; flex-wrap: wrap; gap: 7px; padding: 8px 0; margin-top: 15px; }
  .select-context { margin-right: 4px; }
  .context-divider { display: none; }
  .select-context select { min-width: 125px; font-size: 10px; }
  .filter-context { min-height: 28px; padding: 0 7px; font-size: 8px; }
  .updated-label { width: 100%; justify-content: flex-end; font-size: 8px; }
  .filter-context { min-width: 125px; flex-basis: calc(50% - 5px); }
  .filter-context select { max-width: 100%; }
  .metric-grid { gap: 8px; }
  .metric-card { padding: 11px; }
  .metric-label { font-size: 8px; }
  .metric-icon { width: 23px; height: 23px; flex-basis: 23px; }
  .metric-value { margin-top: 8px; font-size: 25px; }
  .metric-bottom { font-size: 8px; }
  .queue-panel { margin-top: 10px; }
  .panel-heading { align-items: flex-start; padding: 13px 12px 10px; }
  .panel-heading-actions { gap: 4px; }
  .panel-heading h2 { font-size: 15px; }
  .panel-subtitle { max-width: 240px; font-size: 8px; line-height: 1.4; }
  .panel-heading-actions .text-link { font-size: 9px; }
  .queue-tabs { gap: 13px; overflow-x: auto; padding: 0 12px; scrollbar-width: thin; }
  .queue-tab { min-height: 39px; font-size: 9px; }
  .service-option { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; padding: 9px; }
  .service-name { grid-column: 1 / 3; }
  .service-vigency { min-width: 0; }
  .establishment-card dl { grid-template-columns: 1fr; gap: 7px; }
  .work-table td:nth-child(4) .avatar { width: 19px; height: 19px; flex-basis: 19px; }
  .company-avatar { width: 28px; height: 28px; flex-basis: 28px; }
  .company-cell strong { font-size: 10px; }
  .company-cell small { font-size: 9px; }
  .table-footer { padding-left: 11px; font-size: 9px; }
  .lower-grid { gap: 9px; margin-top: 10px; }
  .dashboard-insights { gap: 9px; margin-top: 10px; }
  .client-summary-panel .panel-heading { padding-bottom: 8px; }
  .progress-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  .progress-table, .progress-table tbody, .progress-table tr { width: 100%; display: block; }
  .progress-table tbody { display: grid; gap: 7px; padding: 0 10px 10px; }
  .progress-table tr { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px 9px; padding: 9px; border: 1px solid #ebf1f3; border-radius: 7px; }
  .progress-table th, .progress-table td { display: flex; justify-content: space-between; padding: 2px 0; border: 0; font-size: 10px; }
  .progress-table th:first-child { width: auto; grid-column: 1 / 3; justify-content: flex-start; padding-bottom: 5px; border-bottom: 1px solid #ebf1f3; text-align: left; }
  .progress-table td::before { content: attr(data-label); color: #5f7480; font-size: 9px; }
  .control-board { margin-top: 10px; }
  .control-board .panel-heading { flex-direction: column; gap: 8px; }
  .control-board-scroll { overflow: visible; }
  .control-table, .control-table tbody, .control-table tr { width: 100%; display: block; }
  .control-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  .control-table tbody { display: grid; gap: 7px; padding: 0 10px 10px; }
  .control-table tr { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px 10px; padding: 9px; border: 1px solid #ebf1f3; border-radius: 7px; }
  .control-table th, .control-table td { display: flex; align-items: center; justify-content: space-between; padding: 2px 0; border: 0; }
  .control-table th:first-child { width: auto; grid-column: 1 / 3; padding-bottom: 5px; border-bottom: 1px solid #ebf1f3; }
  .control-table td::before { content: attr(data-label); color: #5f7480; font-size: 9px; }
  .control-table td button { min-width: 27px; }
  .board-legend { gap: 7px 12px; font-size: 9px; }
  .app-footer { padding: 0 14px 15px; font-size: 8px; }
  .breadcrumbs { flex-wrap: wrap; gap: 5px; font-size: 8px; }
  .setup-heading { align-items: flex-start; flex-direction: column; }
  .setup-heading > .button { width: 100%; }
  .setup-layout { grid-template-columns: 1fr; gap: 7px; margin-top: 13px; }
  .stepper { position: static; display: flex; gap: 4px; overflow-x: auto; padding: 0 0 8px; }
  .step-item { width: 34px; min-width: 34px; height: 34px; min-height: 34px; display: grid; grid-template-columns: 1fr; justify-items: center; padding: 4px; }
  .step-item > span:nth-child(2), .step-check, .stepper-note { display: none; }
  .step-item.is-current { width: max-content; min-width: max-content; grid-template-columns: 23px auto; justify-items: start; gap: 7px; padding: 4px 9px; }
  .step-item.is-current > span:nth-child(2) { display: flex; }
  .step-number { width: 23px; height: 23px; }
  .setup-card { padding: 15px 13px; }
  .setup-card-heading { gap: 8px; }
  .section-icon { width: 30px; height: 30px; flex-basis: 30px; }
  .setup-card-heading h2 { font-size: 15px; }
  .setup-card-heading p { font-size: 9px; }
  .source-card { flex-wrap: wrap; }
  .source-state { width: 100%; margin-left: 36px; }
  .field-grid { grid-template-columns: 1fr; gap: 11px; }
  .field { font-size: 9px; }
  .field input, .field select, .field textarea { min-height: 40px; }
  .form-actions { align-items: stretch; flex-wrap: wrap; }
  .form-actions .button { min-height: 39px; }
  .form-hint { width: 100%; order: 2; }
  .service-option > i { max-width: 90px; text-align: right; }
  .preview-summary { gap: 5px; }
  .preview-summary > div { padding: 8px 6px; }
  .preview-summary span { font-size: 7px; line-height: 1.35; }
  .rule-row { grid-template-columns: 62px minmax(0,1fr); gap: 7px; padding: 9px 7px; }
  .rule-reason { display: none; }
  .setup-footer { font-size: 7px; }
  .task-title-row { flex-direction: column; margin-top: 15px; }
  .task-title-row h1 { font-size: 23px; }
  .task-title-actions { width: 100%; justify-content: space-between; }
  .task-tabs { gap: 15px; margin-top: 13px; }
  .task-tab { min-height: 38px; font-size: 9px; }
  .task-layout { grid-template-columns: 1fr; gap: 9px; margin-top: 10px; }
  .task-main-column { gap: 9px; }
  .task-side-column { grid-template-columns: 1fr; gap: 9px; }
  .detail-card { grid-row: auto; }
  .task-progress-panel, .checklist-panel, .activity-panel, .detail-card, .publish-card, .integration-card { padding: 13px; }
  .task-panel-title h2 { font-size: 13px; }
  .small-muted { display: none; }
  .process-flow { margin-top: 17px; }
  .flow-step { font-size: 9px; }
  .flow-marker { width: 21px; height: 21px; }
  .flow-step > i { top: 10px; }
  .checklist-row { grid-template-columns: 20px minmax(0,1fr) max-content 22px; gap: 5px; }
  .check-title { font-size: 10px; }
  .check-state { max-width: 105px; font-size: 9px; text-align: right; }
  .activity-actions { align-items: flex-start; }
  .activity-actions .button { flex: 0 0 auto; }
  .review-sim-controls { align-items: flex-start; flex-direction: column; }
  .detail-card { order: 0; }
  .publish-card { order: 1; }
  .integration-card { order: 2; }
  .login-wrap { min-height: calc(100vh - 90px); padding: 18px 12px; }
  .login-card { padding: 22px 18px; }
  .toast { right: 12px; bottom: 12px; font-size: 10px; }
}

@media (max-width: 380px) {
  .topbar { gap: 7px; padding: 0 9px; }
  .topbar-actions { gap: 5px; }
  .context-kicker { letter-spacing: .07em; }
  .filter-context { font-size: 7px; }
  .updated-label { font-size: 7px; }
  .metric-card { padding: 9px; }
  .metric-label { max-width: 100px; }
  .queue-tabs { gap: 10px; }
  .queue-tab { font-size: 8px; }
  .checklist-row { grid-template-columns: 19px minmax(0,1fr) minmax(74px,auto) 22px; gap: 4px; }
  .check-state { display: block; max-width: 88px; font-size: 9px; }
  .checklist-row .icon-button { grid-column: 4; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Dashboard: preserve the familiar G-Click map while reclaiming working space. */
.dashboard-shell .topbar { min-height: 50px; padding-right: 15px; padding-left: 15px; gap: 14px; }
.dashboard-shell .workspace-context { flex-direction: row; align-items: center; gap: 10px; }
.dashboard-shell .context-kicker { font-size: 8px; }
.dashboard-shell .workspace-context strong { font-size: 12px; }
.dashboard-shell .topbar-actions { gap: 9px; }
.dashboard-shell .search-box { height: 32px; }
.dashboard-content { width: 100%; max-width: none; padding: 8px 15px 24px; }
.dashboard-content .demo-notice { min-height: 27px; padding: 4px 8px; font-size: 9px; }
.dashboard-content .notice-icon { width: 13px; height: 13px; flex-basis: 13px; }
.dashboard-heading { align-items: center; gap: 12px; margin-top: 7px; }
.dashboard-heading h1 { margin: 3px 0 0; font-size: 21px; }
.dashboard-actions { flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.dashboard-actions .button { min-height: 30px; padding: 0 9px; font-size: 10px; }
.dashboard-filters { min-height: 43px; gap: 6px; margin-top: 6px; border-top-color: #e7eef0; }
.dashboard-filters .filter-context { min-height: 32px; padding: 3px 7px; }
.dashboard-filters .filter-context > span,
.dashboard-filters .select-context > span { font-size: 7px; }
.dashboard-filters .filter-context select { max-width: 128px; font-size: 9px; }
.dashboard-filters .select-context select { min-width: 108px; font-size: 10px; }
.dashboard-filters .updated-label { font-size: 8px; }
.gclick-metrics { gap: 8px; }
.gclick-metrics .metric-card { min-height: 59px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 8px 11px; border-radius: 9px; }
.gclick-metrics .metric-top { display: contents; }
.gclick-metrics .metric-label { color: #34505e; font-size: 10px; font-weight: 700; white-space: normal; }
.gclick-metrics .metric-value { grid-column: 2; grid-row: 1 / 3; margin: 0 2px 0 8px; font-size: 27px; }
.gclick-metrics .metric-icon { grid-column: 1; grid-row: 2; width: 19px; height: 19px; flex-basis: 19px; border-radius: 6px; font-size: 11px; }
.gclick-metrics .metric-card-due { border-left: 3px solid #b94d59; }
.gclick-metrics .metric-card-meta { border-left: 3px solid #c27a14; }
.gclick-metrics .metric-card-fines { border-left: 3px solid #78448a; }
.gclick-metrics .metric-card-pending { border-left: 3px solid #bd8b3f; }
.metric-icon-violet { color: #71417f; background: #f3edf5; }
.gclick-insights { grid-template-columns: minmax(0,1.35fr) minmax(210px,.9fr) minmax(220px,1fr); gap: 8px; margin-top: 8px; }
.gclick-insights .panel { min-height: 126px; }
.gclick-insights .panel-heading { padding: 10px 12px 7px; }
.gclick-insights .compact-heading h2 { margin-top: 3px; font-size: 13px; }
.gclick-progress th, .gclick-progress td { padding: 5px 6px; font-size: 10px; }
.gclick-progress thead th { font-size: 8px; }
.gclick-progress th:first-child { width: 27%; }
.gclick-progress tbody th { white-space: nowrap; }
.progress-state { width: 3px; height: 17px; display: inline-block; vertical-align: middle; margin-right: 7px; border-radius: 4px; background: #537d9e; }
.progress-state-due_today { background: #bf5157; }
.progress-state-attention { background: #9861a1; }
.progress-footnote { padding: 6px 10px; font-size: 8px; }
.performance-empty { min-height: 77px; display: grid; grid-template-columns: 40px 1fr; align-content: center; align-items: center; gap: 2px 9px; padding: 5px 13px 12px; }
.performance-dash { grid-row: span 2; color: #638b73; font-family: var(--font-display); font-size: 36px; line-height: 1; text-align: center; }
.performance-empty strong { color: #34505e; font-size: 10px; }
.performance-empty p { margin: 0; color: #5f7480; font-size: 9px; line-height: 1.35; }
.client-summary-link { min-height: 41px; padding: 6px 11px; }
.client-summary-link strong { font-size: 10px; }
.client-summary-link small { font-size: 9px; }
.client-summary-link b { display: inline-grid; min-width: 20px; height: 20px; place-items: center; margin-left: 4px; padding: 0 5px; border-radius: 6px; color: #fff; background: #236a93; font-size: 11px; }
.client-impeded b { background: #a04435; }
.control-board { margin-top: 8px; border-radius: 9px; }
.control-board-heading { min-height: 43px; padding: 8px 12px 7px; }
.control-board-heading h2 { margin-top: 2px; font-size: 14px; }
.control-board-tools { display: flex; align-items: center; gap: 5px; }
.control-board-tools .button { min-height: 27px; padding: 0 7px; font-size: 9px; }
.onvio-button:disabled { opacity: .64; }
.gclick-control-table { table-layout: fixed; }
.gclick-control-table thead th { height: 24px; padding: 4px 9px; border-top: 1px solid #e7eef0; color: #34505e; background: #f1f6f7; font-size: 9px; text-transform: none; }
.gclick-control-table thead th:first-child { width: 34%; }
.gclick-control-table tbody .board-section-row th { display: table-cell; height: 21px; padding: 3px 10px; border-top: 1px solid #e0e9ec; color: #52675a; background: #f4f7f5; font-size: 8px; font-weight: 750; letter-spacing: .06em; text-align: left; text-transform: uppercase; }
.gclick-control-table tbody th { display: table-cell; padding: 3px 10px; }
.gclick-control-table .board-department { display: block; overflow: hidden; color: #34505e; font-size: 9px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.gclick-control-table tbody td { height: 25px; padding: 2px 8px; }
.gclick-control-table td button { min-width: 38px; min-height: 24px; padding: 2px 9px; border: 1px solid transparent; border-radius: 8px; font-size: 12px; font-weight: 800; line-height: 1; box-shadow: 0 1px 2px rgba(25,46,33,.1); transition: transform .12s ease, filter .12s ease, box-shadow .12s ease; }
.gclick-control-table td button:not(:disabled):hover { transform: translateY(-1px); filter: brightness(1.06); box-shadow: 0 3px 7px rgba(25,46,33,.18); }
.gclick-control-table td:nth-child(2) button:not(:disabled) { color: #fff; border-color: #11734d; background: #11734d; }
.gclick-control-table td:nth-child(3) button:not(:disabled) { color: #fff; border-color: #b54708; background: #b54708; }
.gclick-control-table td:nth-child(4) button:not(:disabled) { color: #fff; border-color: #245d91; background: #245d91; }
.gclick-control-table td:nth-child(5) button:not(:disabled) { color: #fff; border-color: #347a49; background: #347a49; }
.gclick-control-table td:nth-child(2) button:disabled { color: #52675a; border-color: #cfe4d6; background: #e5f1e9; box-shadow: none; }
.gclick-control-table td:nth-child(3) button:disabled { color: #8b4a14; border-color: #ecd5bd; background: #f8eddf; box-shadow: none; }
.gclick-control-table td:nth-child(4) button:disabled { color: #385f7c; border-color: #d1e0eb; background: #eaf1f6; box-shadow: none; }
.gclick-control-table td:nth-child(5) button:disabled { color: #45694f; border-color: #d3e3d7; background: #eaf2ec; box-shadow: none; }
.gclick-control-table td button:focus-visible { outline: 3px solid #08232f; outline-offset: 3px; }
.gclick-control-table tbody tr[hidden], .gclick-control-table tbody[hidden] { display: none !important; }
.empty-board-message { display: none; padding: 12px; color: #47606d; font-size: 10px; text-align: center; }
.empty-board-message.is-visible { display: block; }
.board-visibility-tools { display: flex; justify-content: flex-end; min-height: 24px; padding: 2px 12px; }
.board-visibility-tools button { padding: 2px 0; border: 0; color: #426f9a; background: transparent; font-size: 9px; font-weight: 650; }
.board-visibility-tools button:hover { text-decoration: underline; }
.state-legend { border-top: 1px solid #e7eef0; }
.state-legend summary { min-height: 28px; display: flex; align-items: center; gap: 9px; padding: 5px 11px; color: #34505e; cursor: pointer; font-size: 9px; font-weight: 700; list-style: none; }
.state-legend summary::-webkit-details-marker { display: none; }
.state-legend summary::after { margin-left: auto; color: #68786e; content: "+"; font-size: 15px; }
.state-legend[open] summary::after { content: "−"; }
.state-legend summary span { color: #738078; font-size: 8px; font-weight: 450; }
.board-legend { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px 9px; padding: 8px 12px 10px; color: #47606d; font-size: 9px; }
.board-legend i { width: 9px; height: 9px; flex: 0 0 9px; box-shadow: 0 0 0 2px rgba(255,255,255,.95), 0 0 0 3px currentColor; }
.legend-next { color: #b98a00; background: #e0b52b; }
.legend-today { color: #ba4d43; background: #e56a5d; }
.legend-unscheduled { color: #87573c; background: #a47151; }
.legend-meta { color: #737c83; background: #979fa5; }
.legend-due { color: #b33d48; background: #d2525c; }
.legend-overdue { color: #513063; background: #67447a; }
.legend-retifying { color: #bd680d; background: #dc8b27; }
.legend-waiting { color: #927044; background: #c6a36d; }
.legend-client { color: #ae4776; background: #d05a8b; }
.legend-external { color: #a95116; background: #cf762b; }
.legend-dispensed { color: #3b6faf; background: #6b99de; }
.legend-cancelled { color: #7c858a; background: #aab0b4; }
.legend-finished { color: #348244; background: #64ae70; }
.legend-rectified { color: #2d7739; background: #4a9b53; }
.legend-on-time { color: #777a27; background: #a0a44b; }
.legend-after-meta { color: #6b387f; background: #9452ad; }
.board-footnote { margin: 0; padding: 4px 11px 7px; color: #66756c; font-size: 8px; }
.queue-scope { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 6px 12px; border-top: 1px solid #e6ebe7; color: #34505e; background: #f2f7f3; font-size: 9px; }
.queue-scope button { border: 0; color: #24694b; background: transparent; font-size: 9px; font-weight: 700; }
.dashboard-shell .app-footer { padding-top: 7px; padding-bottom: 12px; }

@media (max-width: 1150px) {
  .gclick-insights { grid-template-columns: minmax(0,1.2fr) minmax(200px,.9fr); }
  .client-summary-panel { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; }
  .client-summary-panel .panel-heading { grid-column: 1 / -1; }
  .client-summary-panel .client-summary-link { border-top: 1px solid #ebf1f3; }
  .client-summary-panel .client-impeded { border-left: 1px solid #ebf1f3; }
}
@media (max-width: 940px) {
  .dashboard-content { padding-right: 11px; padding-left: 11px; }
  .dashboard-filters { flex-wrap: wrap; padding: 5px 0; }
  .dashboard-filters .filter-context { flex: 1 1 120px; }
  .dashboard-filters .filter-context select { max-width: 100%; }
  .dashboard-actions .button { min-height: 29px; }
  .gclick-control-table thead th:first-child { width: 31%; }
}
@media (max-width: 700px) {
  .dashboard-shell .topbar { min-height: 52px; }
  .dashboard-shell .workspace-context { display: none; }
  .dashboard-content { padding: 7px 10px 20px; }
  .dashboard-heading { align-items: flex-start; flex-direction: column; }
  .dashboard-heading h1 { font-size: 20px; }
  .dashboard-actions { width: 100%; justify-content: flex-start; }
  .dashboard-actions .button { flex: 1 1 42%; }
  .dashboard-filters .filter-context { min-width: 125px; flex-basis: calc(50% - 5px); }
  .dashboard-filters .updated-label { width: 100%; justify-content: flex-end; }
  .gclick-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gclick-insights { grid-template-columns: 1fr; }
  .client-summary-panel { grid-column: auto; display: block; }
  .client-summary-panel .panel-heading { display: flex; }
  .client-summary-panel .client-impeded { border-left: 0; }
  .gclick-control-table, .gclick-control-table tbody, .gclick-control-table tr { display: block; width: 100%; }
  .gclick-control-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  .gclick-control-table tbody { display: grid; gap: 6px; padding: 0 8px 7px; }
  .gclick-control-table tbody .board-section-row { display: block; padding: 0; }
  .gclick-control-table tbody .board-section-row th { display: block; width: 100%; }
  .gclick-control-table tbody tr:not(.board-section-row) { display: grid; grid-template-columns: minmax(0,1fr) repeat(2,minmax(70px,.5fr)); gap: 5px 9px; padding: 7px; border: 1px solid #e7eef0; border-radius: 7px; }
  .gclick-control-table tbody tr:not(.board-section-row) th { grid-column: 1 / -1; padding: 2px; }
  .gclick-control-table tbody td { height: auto; display: flex; align-items: center; justify-content: space-between; padding: 2px; }
  .gclick-control-table tbody td::before { content: attr(data-label); color: #47606d; font-size: 9px; }
  .gclick-control-table tbody td button { min-width: 34px; min-height: 26px; }
  .board-legend { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .state-legend summary { align-items: flex-start; flex-wrap: wrap; }
  .state-legend summary span { flex-basis: 100%; }
  .board-footnote { font-size: 9px; line-height: 1.4; }
}

/* Full-width work area with a stable, expandable navigation rail. */
.dashboard-content { width: 100%; max-width: none; margin: 0; padding-right: clamp(14px, 1.25vw, 26px); padding-left: clamp(14px, 1.25vw, 26px); }

/* Keep dashboard labels and task counts readable at normal office zoom. */
.dashboard-shell .demo-notice { font-size: 10px; }
.dashboard-filters .filter-context > span,
.dashboard-filters .select-context > span { font-size: 9px; }
.dashboard-filters .filter-context select { font-size: 10px; }
.gclick-metrics .metric-label { font-size: 11px; }
.gclick-metrics .metric-value { font-size: 29px; font-weight: 750; font-variant-numeric: tabular-nums; }
.gclick-progress th, .gclick-progress td { font-size: 11px; }
.gclick-progress thead th { font-size: 9px; }
.progress-footnote, .performance-empty p { font-size: 9px; }
.performance-empty strong, .client-summary-link strong { font-size: 11px; }
.client-summary-link small { font-size: 10px; }
.gclick-control-table thead th { font-size: 10px; }
.gclick-control-table tbody .board-section-row th { font-size: 9px; }
.gclick-control-table .board-department { font-size: 10px; }
.gclick-control-table td button { min-width: 42px; min-height: 28px; font-size: 14px; font-variant-numeric: tabular-nums; }
.board-visibility-tools button, .state-legend summary, .board-legend { font-size: 10px; }
.state-legend summary span { font-size: 9px; }
.board-footnote { font-size: 9px; line-height: 1.4; }
.queue-tab { font-size: 11px; }
.dashboard-shell .work-table th { font-size: 9px; }
.dashboard-shell .work-table td { font-size: 11px; }
.dashboard-shell .company-cell strong { font-size: 12px; }
.dashboard-shell .company-cell small { font-size: 10px; }
.dashboard-shell .stage-pill { font-size: 10px; }
.dashboard-shell .next-action { font-size: 10px; }
.dashboard-shell .deadline-note { font-size: 9px; }
.dashboard-shell .table-footer { font-size: 10px; }
.dashboard-shell .queue-scope,
.dashboard-shell .queue-scope button { font-size: 10px; }

/* Chart hooks used by the operational summary; native meters stay labeled. */
.operational-chart { padding: 9px 12px 11px; border-top: 1px solid #e7eef0; background: #fafcfd; }
.operational-chart > strong { display: block; color: #34505e; font-size: 11px; }
.operational-chart-bars { display: grid; gap: 7px; margin-top: 8px; }
.operational-chart label { display: grid; grid-template-columns: minmax(110px, 1fr) minmax(80px, 3fr) auto; align-items: center; gap: 9px; color: #47606d; font-size: 10px; }
.operational-chart meter { width: 100%; height: 13px; accent-color: #007f73; }
.operational-chart meter::-webkit-meter-bar { border: 1px solid #d7e1da; border-radius: 8px; background: #edf2ee; }
.operational-chart meter::-webkit-meter-optimum-value { border-radius: 8px; background: #287451; }
.operational-chart meter::-moz-meter-bar { border-radius: 8px; background: #287451; }

.stage-blocked { color: #7a4e23; background: #f7efe3; }
.stage-blocked i { background: currentColor; }
.dashboard-shell [hidden] { display: none !important; }

@media (max-width: 700px) {
  .gclick-control-table td button { min-width: 40px; min-height: 28px; }
  .board-legend { font-size: 10px; }
  .dashboard-shell .work-table td { font-size: 10px; }
  .dashboard-shell .company-cell strong { font-size: 11px; }
  .dashboard-shell .company-cell small { font-size: 10px; }
  .operational-chart label { grid-template-columns: minmax(90px, 1fr) minmax(65px, 2fr) auto; gap: 6px; font-size: 10px; }
}

@media (max-width: 380px) {
  .dashboard-shell .queue-tab { font-size: 10px; }
  .dashboard-filters .filter-context > span,
  .dashboard-filters .select-context > span { font-size: 8px; }
  .gclick-metrics .metric-label { font-size: 10px; }
}

/* Inline G-Click style status counts: adjacent segments form one compact control. */
.status-segments {
  display: inline-flex;
  align-items: stretch;
  gap: 0;
  vertical-align: middle;
  isolation: isolate;
}
.status-segment {
  min-width: 32px;
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin: 0;
  padding: 0 8px;
  border: 1px solid rgba(27, 45, 35, .2);
  border-right-width: 0;
  border-radius: 0;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  transition: filter .12s ease, box-shadow .12s ease;
}
.status-segment:first-child { border-radius: 6px 0 0 6px; }
.status-segment:last-child { border-right-width: 1px; border-radius: 0 6px 6px 0; }
.status-segment:only-child { border-radius: 6px; }
.status-segment[data-status="upcoming"] { color: #382c08; border-color: #d4ab36; background: #f2cf59; }
.status-segment[data-status="scheduled"] { color: #4c211d; border-color: #d5665a; background: #ef8a7c; }
.status-segment[data-status="unscheduled"] { color: #fff; border-color: #70452f; background: #8b5a3d; }
.status-segment[data-status="after_meta"] { color: #fff; border-color: #59656d; background: #737f87; }
.status-segment[data-status="due_today"] { color: #fff; border-color: #a92c39; background: #c9404c; }
.status-segment[data-status="overdue"] { color: #fff; border-color: #40204e; background: #562c69; }
.status-segment[data-status="waiting"] { color: #40351e; border-color: #c4af84; background: #ddcca9; }
.status-segment[data-status="rectifying"] { color: #3d2108; border-color: #c86b0b; background: #ed922e; }
.status-segment[data-status="dispensed"] { color: #fff; border-color: #245c8c; background: #347ab4; }
.status-segment[data-status="cancelled"] { color: #fff; border-color: #626b71; background: #7b858c; }
.status-segment[data-status="finished"] { color: #fff; border-color: #00695f; background: #43895a; }
.status-segment[data-status="rectified"] { color: #fff; border-color: #104a33; background: #00695f; }
.status-segment[data-status="on_time"] { color: #fff; border-color: #17633f; background: #248255; }
.status-segment[data-status="completed_after_meta"] { color: #fff; border-color: #53570e; background: #6b701b; }
.status-segment[data-status="completed_late"] { color: #fff; border-color: #49215f; background: #673b83; }
.status-segment.is-zero,
.status-segment[data-empty="true"],
.status-segment:disabled {
  color: #68736d;
  border-color: #d8dfda;
  background: #edf1ee;
  box-shadow: none;
  filter: none;
  cursor: default;
}
.status-segment:not(:disabled):not(.is-zero):not([data-empty="true"]):hover { z-index: 2; filter: brightness(1.08); box-shadow: 0 2px 6px rgba(20,40,30,.25); }
.status-segment[data-empty="true"] { font-weight: 500; opacity: .75; }
.status-segment:not([data-empty="true"]) { box-shadow: 0 1px 3px rgba(20,40,30,.22); }
.status-segment:focus-visible { z-index: 3; outline: 3px solid #183d2b; outline-offset: 2px; }
.status-segment[title]::after {
  max-width: min(240px, 70vw);
  position: absolute;
  z-index: 10;
  bottom: calc(100% + 7px);
  left: 50%;
  padding: 6px 8px;
  border: 1px solid #d7e1da;
  border-radius: 5px;
  color: #fff;
  background: #243c30;
  box-shadow: 0 4px 12px rgba(18, 40, 28, .2);
  content: attr(title);
  font-size: 10px;
  font-weight: 550;
  line-height: 1.35;
  text-align: left;
  white-space: normal;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 3px);
  transition: opacity .12s ease, transform .12s ease, visibility 0s linear .12s;
}
.status-segment[title]:hover::after,
.status-segment[title]:focus-visible::after { opacity: 1; visibility: visible; transform: translate(-50%, 0); transition-delay: 0s; }

@media (max-width: 700px) {
  .status-segment { min-width: 30px; min-height: 28px; padding: 0 6px; font-size: 12px; }
}

/* Top indicators: solid color only when there is work; zero stays quiet. */
.gclick-metrics .metric-card { transition: background .18s ease, color .18s ease, transform .15s ease; }
.gclick-metrics .metric-card[data-zero="false"] { color: #fff; border-color: transparent; box-shadow: 0 4px 12px rgba(25,40,32,.18); }
.gclick-metrics .metric-card[data-zero="false"] .metric-label { color: rgba(255,255,255,.95); }
.gclick-metrics .metric-card[data-zero="false"] .metric-icon { color: #fff; background: rgba(255,255,255,.2); }
.gclick-metrics .metric-card-due[data-zero="false"] { background: linear-gradient(135deg, #d24552, #a92c39); }
.gclick-metrics .metric-card-fines[data-zero="false"] { background: linear-gradient(135deg, #7b4590, #512a63); }
.gclick-metrics .metric-card-pending[data-zero="false"] { background: linear-gradient(135deg, #d59a3d, #b57a1c); }
.gclick-metrics .metric-card[data-zero="true"] .metric-value { color: #9aa79f; font-weight: 600; }
.gclick-metrics .metric-card[data-zero="true"] { background: #fafbfa; }
.gclick-metrics .metric-card:disabled { opacity: .7; }

/* Rows with real work get a subtle accent so the eye lands on them first. */
.gclick-control-table tbody tr[data-board-row]:hover th, .gclick-control-table tbody tr[data-board-row]:hover td { background: #f6faf7; }
.gclick-control-table tbody tr[data-board-row][data-has-work="true"] .board-department { color: #08232f; font-weight: 750; }
.work-table tbody tr[data-priority="overdue"] td:first-child { box-shadow: inset 3px 0 #a33d49; }
.work-table tbody tr[data-stage="blocked"] td:first-child { box-shadow: inset 3px 0 #c27a14; }

/* Empty counters must stay neutral regardless of column color rules. */
.gclick-control-table td .status-segment[data-empty="true"] { color: #7c8982 !important; border-color: #dbe2dd !important; background: #eef2ef !important; box-shadow: none !important; opacity: 1; }

/* ---- Painel de controle: paridade visual com o G-Click (cápsulas, cabeçalho por seção) ---- */
.gclick-control-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.gclick-control-table tbody .board-section-row th { height: 30px; padding: 4px 10px; border-top: 0; color: #3f5147; background: #edf2f4; font-size: 11px; font-weight: 650; letter-spacing: 0; text-align: center; text-transform: none; }
.gclick-control-table tbody .board-section-row th:first-child { width: 34%; border-radius: 16px 0 0 16px; text-align: center; }
.gclick-control-table tbody .board-section-row th:last-child { border-radius: 0 16px 16px 0; }
.gclick-control-table tbody tr[data-board-row] th { text-align: left; }
.gclick-control-table .board-department { display: inline-block; max-width: calc(100% - 44px); vertical-align: middle; color: #566e7a; font-size: 11px; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; }
.gclick-control-table .department-shortcuts { float: right; position: relative; }
.gclick-control-table .department-shortcuts summary { width: 26px; height: 22px; display: grid; place-items: center; border-radius: 5px; color: #6b7a72; cursor: pointer; list-style: none; }
.gclick-control-table .department-shortcuts summary::-webkit-details-marker { display: none; }
.gclick-control-table .department-shortcuts summary:hover { color: #08232f; background: #edf2f4; }
.gclick-control-table .department-shortcut-list { position: absolute; z-index: 20; top: 100%; right: 0; min-width: 250px; display: grid; padding: 5px; border: 1px solid #d7e1da; border-radius: 8px; background: #fff; box-shadow: 0 8px 22px rgba(20,40,30,.16); }
.gclick-control-table .department-shortcut-list button, .gclick-control-table .department-shortcut-list a { padding: 7px 9px; border: 0; border-radius: 5px; background: transparent; color: #33463b; font-size: 11px; text-align: left; }
.gclick-control-table .department-shortcut-list button:not(:disabled):hover, .gclick-control-table .department-shortcut-list a:hover { background: #eef5ef; }
.gclick-control-table .department-shortcut-list button:disabled { color: #8a968e; }
.gclick-control-table tbody td { text-align: center; }
.status-segments { border-radius: 999px; }
.status-segment { min-width: 34px; min-height: 22px; padding: 0 8px; font-size: 11px; }
.status-segment:first-child { border-radius: 999px 0 0 999px; padding-left: 11px; }
.status-segment:last-child { border-radius: 0 999px 999px 0; padding-right: 11px; }
.status-segment:only-child { border-radius: 999px; }
.gclick-control-table td .status-segment[data-empty="true"] { color: #b3bcb6 !important; border-color: #e2e7e3 !important; background: #fff !important; box-shadow: none !important; font-weight: 500; }
.status-segment[data-status="requested"] { color: #fff; border-color: #8a6a35; background: #b08a4a; }
.status-segment[data-status="client_requested"] { color: #fff; border-color: #ae4776; background: #d05a8b; }
.status-segment[data-status="external_requested"] { color: #fff; border-color: #a95116; background: #cf762b; }

/* Cartões de topo: zerados ficam em tom claro da própria cor (como no G-Click), preenchidos em cor forte. */
.gclick-metrics .metric-card-due[data-zero="true"] { background: #f9e6e8; }
.gclick-metrics .metric-card-fines[data-zero="true"] { background: #efe7f2; }
.gclick-metrics .metric-card-pending[data-zero="true"] { background: #f5ead8; }
.gclick-metrics .metric-card-meta { background: #eceeef; }
.gclick-metrics .metric-card[data-zero="true"] .metric-value { color: #8b6f74; }

@media (max-width: 700px) {
  .gclick-control-table tbody .board-section-row th:not(:first-child) { display: none; }
  .gclick-control-table tbody .board-section-row th:first-child { border-radius: 8px; text-align: left; }
}

/* A cor do bloco vem da situação, nunca da coluna. */
.gclick-control-table td .status-segment[data-status="upcoming"][data-empty="false"] { color: #382c08; border-color: #d4ab36; background: #f2cf59; }
.gclick-control-table td .status-segment[data-status="scheduled"][data-empty="false"] { color: #4c211d; border-color: #d5665a; background: #ef8a7c; }
.gclick-control-table td .status-segment[data-status="unscheduled"][data-empty="false"] { color: #fff; border-color: #70452f; background: #8b5a3d; }
.gclick-control-table td .status-segment[data-status="after_meta"][data-empty="false"] { color: #fff; border-color: #6b7176; background: #858b90; }
.gclick-control-table td .status-segment[data-status="due_today"][data-empty="false"] { color: #fff; border-color: #a92c39; background: #d23f4c; }
.gclick-control-table td .status-segment[data-status="overdue"][data-empty="false"] { color: #fff; border-color: #3b1a45; background: #4d2458; }
.gclick-control-table td .status-segment[data-status="waiting"][data-empty="false"] { color: #40351e; border-color: #c4af84; background: #ddcca9; }
.gclick-control-table td .status-segment[data-status="rectifying"][data-empty="false"] { color: #3d2108; border-color: #c86b0b; background: #ed922e; }
.gclick-control-table td .status-segment[data-status="requested"][data-empty="false"] { color: #fff; border-color: #8a6a35; background: #b08a4a; }
.gclick-control-table td .status-segment[data-status="client_requested"][data-empty="false"] { color: #fff; border-color: #ae4776; background: #d05a8b; }
.gclick-control-table td .status-segment[data-status="external_requested"][data-empty="false"] { color: #fff; border-color: #a95116; background: #e07a24; }
.gclick-control-table td .status-segment[data-status="dispensed"][data-empty="false"] { color: #fff; border-color: #4f7fd0; background: #6f9be8; }
.gclick-control-table td .status-segment[data-status="cancelled"][data-empty="false"] { color: #fff; border-color: #626b71; background: #7b858c; }
.gclick-control-table td .status-segment[data-status="finished"][data-empty="false"] { color: #fff; border-color: #00695f; background: #43895a; }
.gclick-control-table td .status-segment[data-status="rectified"][data-empty="false"] { color: #fff; border-color: #104a33; background: #00695f; }
.gclick-control-table td .status-segment[data-status="on_time"][data-empty="false"] { color: #fff; border-color: #2f9a63; background: #45b87a; }
.gclick-control-table td .status-segment[data-status="completed_after_meta"][data-empty="false"] { color: #fff; border-color: #5f6419; background: #77802a; }
.gclick-control-table td .status-segment[data-status="completed_late"][data-empty="false"] { color: #fff; border-color: #7a2fa0; background: #9444bd; }
.gclick-metrics .metric-card-meta[data-zero="false"] { background: linear-gradient(135deg, #8b9196, #666c71); }
.gclick-metrics .metric-card-meta[data-zero="true"] { background: #eceeef; }

/* Guarda de programação: tarefa sem datas nunca fica invisível. */
.schedule-guard { width: 100%; display: flex; align-items: center; gap: 11px; margin-top: 8px; padding: 9px 14px; border: 1px solid #efc7a0; border-left: 4px solid #c86b0b; border-radius: 9px; background: #fff6ec; color: #6b3d10; text-align: left; }
.schedule-guard:hover { background: #ffefdd; }
.schedule-guard .icon { width: 18px; height: 18px; color: #c86b0b; }
.schedule-guard > span:nth-child(2) { display: flex; flex-direction: column; gap: 2px; }
.schedule-guard strong { font-size: 12px; }
.schedule-guard b { display: inline-grid; min-width: 22px; height: 20px; place-items: center; margin-right: 4px; padding: 0 6px; border-radius: 6px; color: #fff; background: #c86b0b; }
.schedule-guard small { color: #7d5a36; font-size: 10px; }
.schedule-guard > span:last-child { margin-left: auto; color: #a4540a; font-size: 11px; font-weight: 700; white-space: nowrap; }

/* Limpeza de ruído: títulos sem rótulo duplicado, alternância discreta, situação do prazo em destaque. */
.dashboard-content .compact-heading, .dashboard-content .control-board-heading { padding-top: 11px; padding-bottom: 8px; }
.heading-period { margin-left: 4px; color: #8a968e; font-size: 12px; font-weight: 500; }
.board-visibility-toggle { display: inline-flex; align-items: center; gap: 5px; padding: 0 6px; color: #566e7a; font-size: 10px; cursor: pointer; }
.board-visibility-toggle input { width: 13px; height: 13px; margin: 0; accent-color: #007f73; }
.board-status-note { font-weight: 650; cursor: help; text-decoration: underline dotted rgba(0,0,0,.25); text-underline-offset: 2px; }
.status-note-overdue { color: #4d2458; }
.status-note-due_today { color: #a92c39; }
.status-note-after_meta { color: #5f666b; }
.status-note-waiting, .status-note-rectifying { color: #8a6a35; }
.status-note-unscheduled { color: #70452f; }
.status-note-scheduled { color: #b4473a; }
.status-note-upcoming { color: #8a6d10; }
.status-note-unclassified { color: #a4540a; }
@media (max-width: 900px) {
  .work-table td:nth-child(7), .work-table td:last-child:nth-child(7) { width: auto; left: auto; right: 10px; padding: 0; }
}

/* Conferência de cobertura: um único alerta, só com o que precisa de ação. */
.schedule-guard { cursor: default; }
.schedule-guard .guard-body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.schedule-guard .guard-body > strong { font-size: 12px; }
.guard-items { display: flex; flex-wrap: wrap; gap: 6px; }
.guard-chip { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; padding: 3px 9px 3px 4px; border: 1px solid #efc7a0; border-radius: 999px; background: #fff; color: #6b3d10; font-size: 11px; text-align: left; }
button.guard-chip:hover { background: #ffefdd; }
.guard-chip b { min-width: 20px; height: 18px; display: inline-grid; place-items: center; padding: 0 5px; border-radius: 999px; color: #fff; background: #c86b0b; font-size: 10px; }
.guard-static { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Performance: um arco SVG leve, números legíveis e acesso ao mesmo recorte. */
.performance-panel { container-type: inline-size; overflow: hidden; }
.gclick-insights .performance-heading { align-items: center; gap: 8px; padding: 13px 16px 5px; }
.gclick-insights .performance-heading h2 { margin: 0; font-size: 13px; }
.performance-period { flex: 0 0 auto; padding: 3px 7px; border: 1px solid #e2eae5; border-radius: 5px; color: #586d61; background: #f6f9f7; font-size: 10px; font-weight: 650; letter-spacing: .035em; }
.performance-title { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.performance-controls { flex: 0 0 auto; display: flex; align-items: center; gap: 2px; }
.performance-control { width: 27px; height: 29px; display: grid; place-items: center; padding: 0; border: 1px solid transparent; border-radius: 6px; color: #647a6d; background: transparent; }
.performance-control:hover:not(:disabled) { border-color: #dce7df; color: #1e704b; background: #f1f7f3; }
.performance-control:disabled { opacity: .45; cursor: wait; }
.performance-control .icon { width: 14px; height: 14px; }
.performance-refresh { margin-right: 3px; }
.performance-status { margin: 0 16px 12px; color: #9b4d20; font-size: 11px; }
.performance-panel[aria-busy="true"] .performance-body { opacity: .55; }
.performance-body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(100px, 1.65fr) minmax(0, 1fr); align-items: end; gap: 2px; padding: 5px 12px 10px; }
.performance-figure { min-width: 0; min-height: 62px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; margin-bottom: 1px; padding: 6px 2px; border: 1px solid transparent; border-radius: 9px; background: transparent; transition: background .16s ease, border-color .16s ease; }
.performance-figure:hover:not(:disabled), .performance-figure[aria-pressed="true"] { border-color: #dce9e1; background: #f1f7f3; }
.performance-figure:disabled { cursor: default; }
.performance-figure strong { font-family: var(--font-display); font-size: clamp(23px, 8cqi, 32px); font-weight: 650; letter-spacing: -.025em; font-variant-numeric: tabular-nums; line-height: 1; }
.performance-figure span { display: flex; align-items: center; justify-content: center; gap: 5px; color: #53655b; font-size: 10px; line-height: 1.3; }
.performance-figure i { width: 5px; height: 5px; flex: 0 0 5px; border-radius: 50%; }
.performance-done strong { color: #007f73; }
.performance-done i { background: #00a896; }
.performance-open strong { color: #3b5766; }
.performance-open i { background: #9db3bd; }
.performance-meter { position: relative; width: 100%; max-width: 190px; justify-self: center; aspect-ratio: 200 / 112; }
.performance-gauge { display: block; width: 100%; height: 100%; overflow: visible; fill: none; stroke-width: 11; stroke-linecap: round; }
.performance-track { stroke: #e3eef0; }
.performance-arc { stroke: url(#gg-arc); filter: drop-shadow(0 1px 3px rgba(0,168,150,.35)); }
.performance-value { position: absolute; right: 0; bottom: 7%; left: 0; display: flex; flex-direction: column; align-items: center; gap: 2px; }
.performance-value strong { font-family: var(--font-display); color: #08232f; font-size: clamp(23px, 8.3cqi, 34px); font-weight: 650; line-height: 1.05; letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
.performance-value span { color: #5f7480; font-size: 10px; line-height: 1.2; }
.performance-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 10px; margin: 0 16px; padding: 10px 0 12px; border-top: 1px solid #e4edf0; }
.performance-context { display: flex; flex-direction: column; gap: 2px; }
.performance-context strong { color: #3b5766; font-size: 10px; font-weight: 650; }
.performance-context > span { color: #5f7480; font-size: 9px; }
.performance-detail { min-height: 30px; display: inline-flex; align-items: center; gap: 5px; padding: 4px 0 4px 6px; border: 0; border-radius: 5px; color: #007f73; background: transparent; font-size: 10px; font-weight: 650; white-space: nowrap; }
.performance-detail .icon { width: 12px; height: 12px; }
.performance-detail:hover:not(:disabled) { color: #00695f; text-decoration: underline; text-underline-offset: 3px; }
.performance-detail:disabled { color: #8497a1; cursor: default; }
.stage-done { color: #00695f; background: #e6f6f3; }
@container (max-width: 290px) {
  .performance-body { grid-template-columns: minmax(0, 1fr) minmax(90px, 1.5fr) minmax(0, 1fr); padding-right: 8px; padding-left: 8px; }
  .gclick-insights .performance-heading { padding-right: 12px; padding-left: 12px; }
  .performance-period { padding: 2px 4px; font-size: 9px; }
  .performance-figure i { display: none; }
  .performance-figure span, .performance-value span { font-size: 9px; }
  .performance-footer { margin-right: 12px; margin-left: 12px; }
}
@media (prefers-reduced-motion: reduce) { .performance-figure { transition: none; } }

/* Detalhe da obrigação (motor). */
.obligation-detail .task-title-row { align-items: center; }
.obligation-status { padding: 5px 10px; border-radius: 999px; background: #f1f6f7; font-size: 12px; }
.decision-banner { margin-top: 12px; }
.detail-text { margin: 8px 0 0; color: #34505e; font-size: 12px; line-height: 1.55; }
.date-trio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.date-trio div { display: flex; flex-direction: column; gap: 2px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 8px; }
.date-trio span { color: #5f7480; font-size: 10px; font-weight: 650; text-transform: uppercase; letter-spacing: .06em; }
.date-trio strong { font-size: 15px; font-variant-numeric: tabular-nums; }
.plain-list { margin: 10px 0 0; padding-left: 18px; color: #34505e; font-size: 12px; line-height: 1.8; }
.history-list { margin: 10px 0 0; padding: 0; list-style: none; }
.history-list li { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 10px; padding: 8px 0; border-top: 1px solid #ebf1f3; font-size: 12px; }
.history-list time { color: #5f7480; font-variant-numeric: tabular-nums; }
.history-list span { display: flex; flex-direction: column; gap: 2px; }
.history-list small { color: #5f7480; font-size: 11px; }
.obligation-detail .detail-row { font-size: 11px; }
.obligation-detail .detail-row strong { font-size: 12px; }
@media (max-width: 700px) { .date-trio { grid-template-columns: 1fr; } .history-list li { grid-template-columns: 1fr; gap: 2px; } }

/* Menu lateral travado em faixa de ícones (como no G-Click). Nunca expande ao passar o mouse;
   abre por cima do conteúdo ao clicar na foto do usuário, sem deslocar a tela. */
.sidebar { position: fixed; z-index: 70; inset: 0 auto 0 0; width: 64px; height: 100vh; min-height: 0; padding: 12px 8px; overflow: hidden; transition: width .18s ease, box-shadow .18s ease; }
.main-area { width: auto; margin-left: 64px; }
.sidebar .brand { justify-content: center; gap: 0; min-height: 40px; padding: 0; margin: 0 0 8px; }
.sidebar .brand-copy, .sidebar .sidebar-label, .sidebar .nav-link > span:not(.nav-icon),
.sidebar .sidebar-bottom > span:not(.connection-dot), .sidebar .rail-user-name { display: none; }
.sidebar .nav-link { justify-content: center; min-height: 42px; padding: 0; }
.sidebar .nav-icon { width: 26px; flex: 0 0 26px; }
.sidebar .sidebar-bottom { justify-content: center; padding: 12px 0; }
.rail-user { width: 100%; display: flex; align-items: center; justify-content: center; gap: 10px; margin: 2px 0 14px; padding: 4px; border: 0; border-radius: 10px; color: #edf2ee; background: transparent; text-align: left; }
.rail-user:hover { background: rgba(255,255,255,.08); }
.rail-user .avatar { width: 34px; height: 34px; flex: 0 0 34px; box-shadow: 0 0 0 2px rgba(255,255,255,.35); }
.rail-user-name strong { font-size: 12px; }
.rail-user-name small { color: #a5b7ac; font-size: 10px; }
.sidebar.is-open { width: 252px; padding: 14px 12px; overflow-y: auto; box-shadow: 12px 0 30px rgba(18,40,28,.22); }
.sidebar.is-open .brand { justify-content: flex-start; gap: 11px; padding: 0 9px; }
.sidebar.is-open .brand-copy, .sidebar.is-open .rail-user-name, .sidebar.is-open .sidebar-bottom > span:not(.connection-dot) { display: flex; }
.sidebar.is-open .rail-user-name { flex-direction: column; gap: 2px; }
.sidebar.is-open .sidebar-label { display: block; }
.sidebar.is-open .nav-link > span:not(.nav-icon) { display: block; }
.sidebar.is-open .nav-link { justify-content: flex-start; padding: 0 11px; }
.sidebar.is-open .rail-user { justify-content: flex-start; padding: 6px 9px; }
.sidebar.is-open .sidebar-bottom { justify-content: flex-start; padding: 10px 9px 2px; }
.app-shell.menu-open::after { position: fixed; z-index: 65; inset: 0; content: ""; background: rgba(13,29,21,.28); }
@media (max-width: 700px) {
  .main-area { margin-left: 0; }
  .sidebar { width: 265px; visibility: hidden; transform: translateX(-102%); transition: transform .2s ease, visibility .2s ease; }
  .sidebar.is-open { width: 265px; visibility: visible; transform: translateX(0); }
}
@media (prefers-reduced-motion: reduce) { .sidebar { transition: none; } }

/* Tarefa no padrão G-Click: cabeçalho com datas, atividades, histórico único e ações na lateral. */
.obligation-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-top: 18px; }
.obligation-header h1 { margin-top: 6px; }
.obligation-header-side { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.obligation-header .date-trio { margin: 0; }
.obligation-header .date-trio div { min-width: 118px; }
.obligation-header .date-trio dt { color: #5f7480; font-size: 10px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; }
.obligation-header .date-trio dd { margin: 0; font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; }
.obligation-status { padding: 5px 12px; border-radius: 999px; color: #fff; background: #566e7a; font-size: 12px; font-weight: 700; cursor: help; }
.status-chip-upcoming { color: #382c08; background: #f2cf59; } .status-chip-scheduled { color: #4c211d; background: #ef8a7c; }
.status-chip-unscheduled { background: #8b5a3d; } .status-chip-after_meta { background: #858b90; } .status-chip-due_today { background: #d23f4c; }
.status-chip-overdue { background: #4d2458; } .status-chip-waiting { color: #40351e; background: #ddcca9; } .status-chip-rectifying { color: #3d2108; background: #ed922e; }
.status-chip-dispensed { background: #6f9be8; } .status-chip-on_time { background: #45b87a; } .status-chip-completed_after_meta { background: #77802a; }
.status-chip-completed_late { background: #9444bd; } .status-chip-rectified { background: #00695f; }
.notice-bar { margin-top: 12px; padding: 9px 13px; border-radius: 8px; font-size: 12px; }
.notice-decision { border: 1px solid #efc7a0; background: #fff6ec; color: #6b3d10; }
.notice-blocked { border: 1px solid #e3d2ad; background: #faf4e6; color: #5c4a22; }
.notice-rectifying { border: 1px solid #f0c79a; background: #fff3e4; color: #6b3d10; }
.activity-meter { position: relative; display: inline-flex; align-items: center; gap: 8px; color: #34505e; font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
.activity-meter i { width: 120px; height: 8px; border-radius: 999px; background: linear-gradient(90deg, #1fb86f var(--done), #e0e9ec var(--done)); }
.activity-list { margin: 10px 0 0; padding: 0; list-style: none; }
.activity-row { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 9px 0; border-top: 1px solid #ebf1f3; }
.activity-check { width: 24px; height: 24px; display: grid; place-items: center; border: 1px solid #cbd6ce; border-radius: 50%; color: #5f7480; font-size: 11px; font-weight: 700; }
.activity-row.is-done .activity-check { border-color: #1f8a55; color: #fff; background: #1f8a55; }
.activity-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.activity-text strong { font-size: 13px; }
.activity-row.is-done .activity-text strong { color: #5f7480; }
.activity-text small { color: #5f7480; font-size: 11px; }
.activity-button { min-height: 30px; font-size: 11px; }
.activity-button:disabled { opacity: .55; }
.note-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: end; margin-top: 10px; }
.note-form textarea, .action-details textarea { width: 100%; padding: 8px 10px; border: 1px solid #d9e4e7; border-radius: 7px; font: inherit; font-size: 12px; resize: vertical; }
.history-note strong { color: #1f4d8a; }
.action-stack { display: flex; flex-direction: column; gap: 8px; }
.action-stack .button, .action-details summary { width: 100%; }
.action-details summary { list-style: none; cursor: pointer; }
.action-details summary::-webkit-details-marker { display: none; }
.action-details form { display: flex; flex-direction: column; gap: 6px; margin-top: 6px; }
.inline-action { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; }
.inline-action select, .actor-form select { min-height: 32px; padding: 4px 8px; border: 1px solid #d9e4e7; border-radius: 7px; background: #fff; font-size: 12px; }
.actor-form { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid #ebf1f3; color: #5f7480; font-size: 11px; }
.rule-details summary { cursor: pointer; color: #34505e; font-size: 12px; font-weight: 700; }
@media (max-width: 900px) { .obligation-header { flex-direction: column; align-items: flex-start; } .obligation-header-side { align-items: flex-start; } }
@media (max-width: 700px) { .note-form { grid-template-columns: 1fr; } .obligation-header .date-trio div { min-width: 0; } }

/* Lista de tarefas sobreposta (padrão G-Click): abre ao clicar em bloco, cartão ou atalho. */
.task-list-dialog { width: min(1360px, calc(100vw - 32px)); max-height: calc(100vh - 48px); padding: 0; border: 0; border-radius: 12px; box-shadow: 0 24px 60px rgba(12,30,22,.3); }
.task-list-dialog::backdrop { background: rgba(13,29,21,.4); }
.task-list-dialog[open] { display: flex; flex-direction: column; }
.task-list-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 18px 22px 10px; }
.task-list-head h2 { margin: 0; font-size: 20px; }
.task-list-crumbs { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; color: #47606d; font-size: 12px; }
.task-list-crumbs span + span::before { content: "›"; margin-right: 6px; color: #9aa7a0; }
.task-list-close { width: 34px; height: 34px; border: 0; border-radius: 50%; background: #edf2f4; color: #34505e; font-size: 20px; }
.task-list-close:hover { background: #e2e8e4; }
.task-list-tools { display: flex; align-items: center; gap: 14px; padding: 0 22px 10px; border-bottom: 1px solid #e0e9ec; }
.task-list-count { padding: 6px 0; border-bottom: 2px solid #007f73; color: #007f73; font-size: 12px; font-weight: 700; white-space: nowrap; }
.task-list-search { flex: 1; }
.task-list-search input { width: 100%; min-height: 36px; padding: 6px 12px; border: 1px solid #d0dde2; border-radius: 8px; font-size: 13px; }
.task-list-scroll { overflow: auto; }
.task-list-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.task-list-table th { position: sticky; top: 0; z-index: 1; padding: 9px 10px; background: #f1f6f7; color: #34505e; font-size: 11px; text-align: left; }
.task-list-table td { padding: 8px 10px; border-bottom: 1px solid #ebf1f3; vertical-align: middle; }
.task-list-table tbody tr { cursor: pointer; }
.task-list-table tbody tr:hover td, .task-list-table tbody tr:focus td { background: #f4f8f5; }
.task-list-table tbody tr:focus { outline: 2px solid #007f73; outline-offset: -2px; }
.task-list-table .obligation-status { display: inline-block; padding: 3px 9px; font-size: 11px; white-space: nowrap; cursor: pointer; }
.list-dates { white-space: nowrap; font-variant-numeric: tabular-nums; }
.list-dates span { display: block; line-height: 1.5; }
.fine-mark { color: #d4a017; font-weight: 800; }
.task-list-empty { padding: 24px; color: #5f7480; text-align: center; }
.task-list-note { margin: 0; padding: 8px 22px 14px; color: #5f7480; font-size: 11px; }
.task-list-note span { color: #d4a017; font-weight: 800; }
@media (max-width: 700px) { .task-list-table th:nth-child(4), .task-list-table td:nth-child(4), .task-list-table th:nth-child(8), .task-list-table td:nth-child(8) { display: none; } }
.activity-waiting { padding: 4px 9px; border: 1px dashed #c9d3cc; border-radius: 999px; color: #5f7480; font-size: 11px; white-space: nowrap; }
.activity-value-form { display: flex; gap: 6px; align-items: center; }
.activity-value-form input { width: 140px; min-height: 30px; padding: 4px 8px; border: 1px solid #d0dde2; border-radius: 7px; font-size: 12px; }

/* Caixa de informação dos blocos: flutua sobre a página, nunca é cortada, uma só (sem dica nativa). */
.status-segment[title]::after { display: none; }
.board-tip { position: fixed; z-index: 200; display: flex; padding: 3px 7px; border: 1px solid #767676; border-radius: 2px; color: #222; background: #fff; box-shadow: 0 2px 4px rgba(0,0,0,.18); font-size: 12px; line-height: 1.3; white-space: nowrap; pointer-events: none; }
.board-tip strong { color: #222; font-size: 12px; font-weight: 400; }
.board-tip span { white-space: normal; }
.board-tip .board-tip-hint { margin-top: 3px; color: #9fd2b5; font-size: 11px; }
.board-tip::after { display: none; position: absolute; left: var(--arrow-x, 50%); width: 10px; height: 10px; content: ""; background: #1f3329; transform: translateX(-50%) rotate(45deg); }
.board-tip[data-placement="above"]::after { bottom: -5px; }
.board-tip[data-placement="below"]::after { top: -5px; }
@media (prefers-reduced-motion: no-preference) { .board-tip:not([hidden]) { animation: board-tip-in .12s ease-out; } }
@keyframes board-tip-in { from { opacity: 0; } to { opacity: 1; } }
.search-form { margin: 0; }

/* Configuração de obrigações (lista + abas no padrão do G-Click, com relação de clientes explicada). */
.config-page h1 { margin-bottom: 2px; }
.config-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-top: 12px; }
.config-sub { margin: 4px 0 0; color: #47606d; font-size: 12px; }
.status-tag { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 11px; font-weight: 700; }
.status-tag.is-active { color: #007f73; background: #dff5f0; }
.status-tag.is-inactive { color: #7a5a1e; background: #f7ecd8; }
.config-filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; margin: 14px 0; }
.config-filters label { display: flex; flex-direction: column; gap: 3px; color: #47606d; font-size: 11px; font-weight: 700; }
.config-filters select, .config-filters input, .config-inline select, .config-reason, .config-form input:not([type=checkbox]), .config-form select, .config-form textarea, .dates-rule input, .dates-rule select {
  min-height: 34px; padding: 5px 9px; border: 1px solid #d0dde2; border-radius: 7px; background: #fff; font: inherit; font-size: 12px; }
.config-search { flex: 1; min-width: 200px; }
.config-search input { width: 100%; }
.config-count { padding: 12px 16px 6px; color: #47606d; font-size: 12px; font-weight: 700; }
.config-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.config-table th { padding: 9px 10px; background: #f1f6f7; color: #34505e; font-size: 11px; text-align: left; white-space: nowrap; }
.config-table td { padding: 9px 10px; border-top: 1px solid #ebf1f3; vertical-align: top; }
.config-table small { color: #5f7480; }
.config-link { color: #0b4f66; font-weight: 700; }
.config-link:hover { text-decoration: underline; }
.config-empty { padding: 18px; color: #5f7480; text-align: center; }
.config-note { margin: 0; padding: 8px 16px 12px; color: #5f7480; font-size: 11px; }
.config-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0 10px; }
.config-tabs a, .config-tabs span { flex: 1 1 130px; padding: 10px 12px; border-radius: 8px; background: #edf2f4; color: #34505e; font-size: 12px; font-weight: 600; text-align: center; }
.config-tabs a:hover { background: #e0e9ec; }
.config-tabs .is-current { color: #fff; background: #1f8a6a; }
.config-panel { padding: 16px 18px; }
.config-panel h2 { margin: 6px 0 8px; font-size: 15px; }
.config-panel h2 small { color: #5f7480; font-size: 11px; font-weight: 500; }
.config-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; }
.config-form .field { display: flex; flex-direction: column; gap: 4px; color: #34505e; font-size: 12px; font-weight: 600; }
.config-form textarea { width: 100%; resize: vertical; }
.config-checks { display: flex; flex-wrap: wrap; gap: 16px; margin: 12px 0; font-size: 12px; }
.config-checks label { display: inline-flex; align-items: center; gap: 6px; }
.config-help { margin: 8px 0; padding: 9px 12px; border-radius: 8px; color: #29485c; background: #eef5fa; font-size: 12px; line-height: 1.5; }
.config-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin-top: 10px; }
.config-reason { min-width: 260px; }
.config-inline { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.config-inline label { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; }
.config-inline small { color: #5f7480; font-size: 11px; }
.config-two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 20px; }
.condition-list { margin: 10px 0 0; padding: 0; list-style: none; }
.condition-list li { display: flex; align-items: center; gap: 8px; padding: 8px 0; border-top: 1px solid #ebf1f3; font-size: 12px; }
.condition-list li form { margin-left: auto; }
.condition-group { padding: 2px 8px; border-radius: 999px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.group-all { color: #0b4f66; background: #e4f0f8; } .group-any { color: #007f73; background: #dff5f0; } .group-except { color: #8a2d38; background: #f9e3e6; }
.icon-text-button { padding: 3px 8px; border: 1px solid #d0dde2; border-radius: 6px; background: #fff; color: #34505e; font-size: 11px; }
.icon-text-button:hover:not(:disabled) { background: #f1f6f7; }
.icon-text-button:disabled { opacity: .4; }
.icon-text-button.danger { color: #a3303d; border-color: #efc9ce; }
.audience-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0 10px; }
.aud { padding: 4px 10px; border-radius: 999px; background: #edf2f4; color: #34505e; font-size: 12px; font-weight: 700; }
.aud-in { color: #007f73; background: #dff5f0; } .aud-pending { color: #8a5a10; background: #fbeed7; } .aud-out { color: #566e7a; }
.audience-block { margin-bottom: 8px; border: 1px solid #e0e9ec; border-radius: 8px; }
.audience-block.is-pending { border-color: #efd29e; }
.audience-block summary { padding: 8px 12px; cursor: pointer; font-size: 12px; font-weight: 700; }
.audience-block ul { max-height: 320px; margin: 0; padding: 0 12px 8px; overflow: auto; list-style: none; }
.audience-block li { display: flex; flex-direction: column; gap: 1px; padding: 6px 0; border-top: 1px solid #f0f3f1; font-size: 12px; }
.audience-block li small { color: #5f7480; font-size: 11px; }
.dates-rule { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
.dates-rule fieldset { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; padding: 10px 12px; border: 1px solid #e0e9ec; border-radius: 8px; font-size: 12px; }
.dates-rule legend { padding: 0 4px; color: #34505e; font-weight: 700; }
.dates-rule input[type=number] { width: 70px; }
.dates-rule small { color: #5f7480; }
.order-cell { white-space: nowrap; }
.order-cell form { display: inline-flex; gap: 2px; margin-left: 6px; }
.activity-instructions { margin-top: 4px; padding: 6px 8px; border-left: 3px solid #cfe0d6; color: #34505e; background: #f8faf8; font-size: 11.5px; line-height: 1.5; }
.activity-instructions a { color: #0b4f66; text-decoration: underline; }
.add-activity { margin-top: 12px; }
.add-activity summary { display: inline-flex; list-style: none; cursor: pointer; }
.add-activity summary::-webkit-details-marker { display: none; }
.config-divider { margin: 16px 0; border: 0; border-top: 1px solid #e0e9ec; }
.field-error { color: #a3303d; font-size: 11px; }
.diff summary { cursor: pointer; color: #0b4f66; font-size: 11px; }
.diff-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.diff-grid pre { max-height: 240px; margin: 4px 0 0; padding: 8px; overflow: auto; border-radius: 6px; background: #f4f6f5; font-size: 10.5px; white-space: pre-wrap; }
.activity-instructions-task { margin-top: 4px; color: #34505e; font-size: 11.5px; }
@media (max-width: 900px) { .config-two, .diff-grid { grid-template-columns: 1fr; } }
.activity-row { grid-template-columns: 28px minmax(0, 1fr) auto auto; }
.activity-row.is-cancelled .activity-text strong { color: #8a968e; text-decoration: line-through; }
.activity-row.is-cancelled .activity-check { border-style: dashed; }
.activity-help summary { width: fit-content; margin-top: 3px; color: #0b4f66; cursor: pointer; font-size: 11px; }
.activity-cancel { position: relative; }
.activity-cancel summary { list-style: none; cursor: pointer; }
.activity-cancel summary::-webkit-details-marker { display: none; }
.activity-cancel[open] form { position: absolute; z-index: 5; right: 0; top: 30px; width: 280px; display: flex; flex-direction: column; gap: 6px; padding: 10px; border: 1px solid #d0dde2; border-radius: 8px; background: #fff; box-shadow: 0 10px 24px rgba(12,30,22,.16); }
.activity-cancel textarea, .activity-cancel input { width: 100%; padding: 6px 8px; border: 1px solid #d0dde2; border-radius: 6px; font: inherit; font-size: 12px; }
.config-secondary-actions { justify-content: space-between; margin-top: 16px; padding-top: 12px; border-top: 1px solid #ebf1f3; }
.config-secondary-actions small { color: #5f7480; font-size: 11px; }
.inline-confirm { position: relative; }
.inline-confirm summary { list-style: none; cursor: pointer; }
.inline-confirm summary::-webkit-details-marker { display: none; }
.inline-confirm[open] form { position: absolute; z-index: 5; right: 0; top: 28px; width: 280px; display: flex; flex-direction: column; gap: 6px; padding: 10px; border: 1px solid #d0dde2; border-radius: 8px; background: #fff; box-shadow: 0 10px 24px rgba(12,30,22,.16); }
.inline-confirm input { padding: 6px 8px; border: 1px solid #d0dde2; border-radius: 6px; font: inherit; font-size: 12px; }
.fixed-panel { margin-bottom: 14px; padding: 12px 14px; border: 1px solid #e0e9ec; border-radius: 10px; background: #fafcfd; }
.fixed-panel h2 { margin-top: 0; }
.source-tag { margin-left: 4px; padding: 1px 7px; border-radius: 999px; color: #34505e; background: #edf2f4; font-size: 10.5px; font-weight: 700; }

/* Ações em lote na lista de tarefas (seleciona → age), cada tarefa auditada. */
.task-list-table .select-cell { width: 34px; text-align: center; }
.task-list-table .select-cell input { width: 16px; height: 16px; accent-color: #007f73; cursor: pointer; }
.bulk-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 10px 22px; border-top: 1px solid #e0e9ec; background: #f4f8f5; }
.bulk-bar strong { color: #007f73; font-size: 12px; }
.bulk-bar select, .bulk-bar input { min-height: 32px; padding: 4px 8px; border: 1px solid #d0dde2; border-radius: 7px; background: #fff; font: inherit; font-size: 12px; }
.bulk-bar input[name=reason] { flex: 1; min-width: 220px; }
.bulk-fields { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.bulk-fields label { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 700; color: #34505e; }
.bulk-note { width: 100%; color: #5f7480; font-size: 11px; }

/* Ficha do cliente */
.tab-badge { display: inline-grid; min-width: 18px; height: 18px; place-items: center; margin-left: 4px; padding: 0 5px; border-radius: 999px; color: #fff; background: #c86b0b; font-size: 10px; font-weight: 800; }
.inline-check { flex-direction: row !important; align-items: center; gap: 6px !important; }
.check-group { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 12px 0 0; padding: 8px 12px; border: 1px solid #e0e9ec; border-radius: 8px; font-size: 12px; }
.check-group legend { padding: 0 4px; color: #34505e; font-weight: 700; }
.check-group label { display: inline-flex; align-items: center; gap: 5px; }
.impact-box { margin-bottom: 16px; padding: 12px 14px; border: 1px solid #efd29e; border-radius: 10px; background: #fffaf0; }
.impact-box h2 { margin-top: 0; }
.impact-list { max-height: 340px; margin: 8px 0; padding: 0; overflow: auto; list-style: none; }
.impact-list li { display: flex; gap: 10px; padding: 7px 0; border-top: 1px solid #f3e6c9; font-size: 12px; }
.impact-list li span:last-child { display: flex; flex-direction: column; gap: 1px; }
.impact-list small { color: #5f7480; font-size: 11px; }
.impact-tag { min-width: 112px; height: fit-content; padding: 2px 8px; border-radius: 999px; color: #34505e; background: #edf2f4; font-size: 11px; font-weight: 700; text-align: center; }
.impact-create .impact-tag { color: #007f73; background: #dff5f0; } .impact-dispense .impact-tag { color: #8a2d38; background: #f9e3e6; }
.impact-review .impact-tag { color: #8a5a10; background: #fbeed7; } .impact-update_dates .impact-tag { color: #0b4f66; background: #e4f0f8; }
a.guard-link { color: #6b3d10; text-decoration: none; }
a.guard-link:hover { background: #ffefdd; }

/* Sem menu: tela de login e ambiente sem sessão */
.app-shell.no-shell .main-area { margin-left: 0; }
.role-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; }
.role-card { padding: 10px 12px; border: 1px solid #e0e9ec; border-radius: 9px; font-size: 12px; }
.role-card ul { margin: 6px 0 0; padding-left: 16px; color: #34505e; line-height: 1.6; }
.user-name small a { color: var(--muted); text-decoration: underline; }
.plain-fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.plain-fieldset:disabled { opacity: .78; }

/* Blocos do painel de controle: todos com o MESMO tamanho; só a fonte encolhe conforme o conteúdo ("119 *"). */
.gclick-control-table td .status-segment { box-sizing: border-box; width: 46px; min-width: 46px; max-width: 46px; height: 26px; min-height: 26px;
  padding: 0; overflow: hidden; justify-content: center; font-size: 12px; letter-spacing: -.01em; white-space: nowrap; }
.gclick-control-table td .status-segment:first-child, .gclick-control-table td .status-segment:last-child { padding: 0; }
.gclick-control-table td .status-segment[data-size="4"] { font-size: 11px; }
.gclick-control-table td .status-segment[data-size="5"] { font-size: 10px; }
.gclick-control-table td .status-segment[data-size="6"], .gclick-control-table td .status-segment[data-size="7"] { font-size: 8.5px; letter-spacing: -.03em; }
.gclick-control-table td .status-segments { display: inline-flex; }
@media (max-width: 700px) { .gclick-control-table td .status-segment { width: 42px; min-width: 42px; max-width: 42px; } }

.table-footer .queue-more { width:auto; height:28px; padding:0 14px; border:1px solid var(--line); border-radius:6px; background:#fff; color:var(--forest-700); font-size:11px; font-weight:700; cursor:pointer; }
.table-footer .queue-more:hover { background:#f4f8f4; }

/* Busca do topo: menu de resultados por aba (Clientes · Tarefas · Responsáveis). */
.search-form { position: relative; }
.search-panel { position: absolute; top: calc(100% + 6px); left: 0; right: 0; min-width: 380px; max-width: 92vw; z-index: 60; background: #fff;
  border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 12px 32px rgba(20, 40, 30, .18); overflow: hidden; }
.search-tabs { display: flex; gap: 2px; padding: 6px 8px 0; border-bottom: 1px solid var(--line); }
.search-tab { border: 0; border-bottom: 2px solid transparent; background: none; padding: 7px 10px; font-size: 12px; color: #55645c; cursor: pointer; }
.search-tab.is-selected { color: var(--forest-700); border-bottom-color: var(--forest-700); font-weight: 700; }
.search-list { max-height: 340px; overflow-y: auto; }
.search-item { display: grid; gap: 1px; padding: 9px 14px; border-bottom: 1px solid #eef1ee; color: inherit; text-decoration: none; }
.search-item:hover, .search-item.is-active { background: #f1f7f3; }
.search-title { font-size: 12.5px; font-weight: 700; color: #1f3329; }
.search-line { font-size: 11px; color: #5f7480; }
.search-empty { display: block; padding: 16px 14px; font-size: 12px; color: #5f7480; }
.search-more { display: block; padding: 8px 14px; font-size: 11px; color: #5f7480; background: #f7f9f7; border-top: 1px solid var(--line); }
@media (max-width: 700px) { .search-panel { position: fixed; left: 12px; right: 12px; top: 60px; min-width: 0; } }

/* Fila de tarefas: fechada por padrão; abre ao clicar. */
.queue-toggle { display: inline-flex; align-items: center; gap: 9px; border: 0; background: none; padding: 0; font: inherit; color: inherit; cursor: pointer; }
.queue-total { padding: 2px 8px; border-radius: 9px; background: #f0f3f1; color: #55645c; font-size: 11px; font-weight: 600; }
.queue-caret { color: #75837b; transition: transform .15s; }
.queue-panel.is-open .queue-caret { transform: rotate(180deg); }
.queue-hint { color: #7a8d98; font-size: 11px; }
.queue-panel:not(.is-open) .panel-heading { padding-bottom: 14px; }
@media (max-width: 700px) { .queue-hint { display: none; } }
.role-hint { display:block; color:#8a5b12; font-size:11px; }
.config-table tr.is-muted td { color:#7a8d98; }
.check-line { display:flex; align-items:center; gap:8px; font-size:12.5px; margin:4px 0; }

/* Minha empresa: resumo no topo e seções que abrem quando precisa. */
.office-summary { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 4px 0 14px; }
.office-chip { padding: 6px 12px; border: 1px solid var(--line); border-radius: 999px; background: #fff; font-size: 12.5px; color: #33443a; text-decoration: none; }
.office-chip.is-ok { border-color: #bcdcc8; background: #f0f8f3; color: #1d6b3f; }
.office-chip.is-alert { border-color: #e6b8a8; background: #fdf1ec; color: #a4381a; }
.office-next { font-size: 12px; color: #5f7480; }
.fold > summary { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; cursor: pointer; list-style: none; }
.fold > summary::-webkit-details-marker { display: none; }
.fold > summary h2 { margin: 0; }
.fold > summary::after { content: "▾"; color: #75837b; margin-left: auto; padding-left: 8px; }
.fold[open] > summary::after { transform: rotate(180deg); }
.fold-hint { color: #7a8d98; font-size: 12px; }
.fold[open] > summary { margin-bottom: 10px; }
.fold-inner { margin: 10px 0; } .fold-inner > summary { cursor: pointer; font-size: 12.5px; color: var(--forest-700); font-weight: 600; }
.check-row { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 18px; margin: 10px 0; }
.check-title { font-size: 12.5px; color: #55645c; }
.row-action > summary { cursor: pointer; color: var(--forest-700); font-size: 12px; font-weight: 600; list-style: none; }
.row-action > summary::-webkit-details-marker { display: none; }
.row-action[open] > summary { margin-bottom: 6px; }

/* Telas de cadastro: tabelas compactas com barra de rolagem e cabeçalho fixo (o G-Click também rola dentro do quadro). */
.config-page .table-scroll { max-height: min(62vh, 620px); overflow: auto; }
.config-page .table-scroll thead th { position: sticky; top: 0; z-index: 1; background: #f3f7f8; }
.config-table.compact th, .config-table.compact td { padding: 6px 12px; font-size: 12.5px; }
.config-table .num { width: 56px; color: #7a8d98; }
.list-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding: 12px 16px; border-bottom: 1px solid var(--line); }
.list-tools .config-count { margin-left: auto; padding: 0; }
.list-filter input { min-width: 240px; padding: 7px 10px; border: 1px solid var(--line-strong); border-radius: 6px; font-size: 12.5px; }
.new-inline > summary { list-style: none; cursor: pointer; display: inline-flex; }
.new-inline > summary::-webkit-details-marker { display: none; }
.new-inline[open] { flex-basis: 100%; }
.new-inline .config-form { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.button-danger { border-color: #d9534f; background: #d9534f; color: #fff; }
.button-danger:hover { background: #c4433f; }

/* Telas de cadastro se encaixam como o Painel: largura total e tabela que ocupa a altura disponível (ajustada por app.js). */
.page-content.config-page { width: 100%; max-width: none; margin: 0; padding-right: clamp(14px, 1.25vw, 26px); padding-left: clamp(14px, 1.25vw, 26px); }
.config-page .config-help { max-width: 120ch; }
.config-page .panel + .panel, .config-page .panel + details.panel { margin-top: 12px; }

/* Enquete */
.survey-tree .row-group td { background: #dcecf4; }
.survey-tree .row-question td { background: #f3f7f8; }
.survey-tree td:nth-child(1) { width: 52px; text-align: center; color: #7a8d98; }
.survey-tree td:nth-child(2) { width: 110px; color: #55645c; }
.survey-tree .row-answer td:nth-child(3) { padding-left: 34px; }
.move-inline { display: inline-flex; gap: 2px; margin: 0; }
.icon-arrow { border: 1px solid transparent; background: none; color: #2b6cb0; cursor: pointer; padding: 0 6px; border-radius: 4px; }
.icon-arrow:not(:disabled):hover { border-color: var(--line); background: #fff; }
.move-inline .icon-arrow:disabled { color: #b5beb8; cursor: default; }
.survey-group { border: 1px solid var(--line); border-radius: 8px; margin: 12px 0; padding: 8px 14px 12px; }
.survey-group legend { font-weight: 700; padding: 0 6px; }
.survey-question { margin-top: 10px; }
.survey-question small { color: #7a8d98; margin-left: 6px; }
.survey-options { display: flex; flex-wrap: wrap; gap: 4px 18px; margin-top: 4px; }
.survey-options label { font-size: 12.5px; display: inline-flex; gap: 6px; align-items: center; }
.config-table .center, .config-table td.center { text-align: center; }
.link-button { border: 0; background: none; color: #2b6cb0; cursor: pointer; font-size: 11px; padding: 0; }
.inline-row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 16px; }
.form-foot { padding: 12px 16px; align-items: flex-end; flex-wrap: wrap; }
.pick-list { max-height: min(50vh, 420px); overflow: auto; border: 1px solid var(--line); border-radius: 6px; padding: 6px 10px; margin-top: 8px; }
.pick-list label { display: flex; gap: 8px; align-items: center; padding: 3px 0; font-size: 12.5px; }
.answer-list { list-style: none; padding: 0; margin: 6px 0; font-size: 12.5px; } .answer-list li { padding: 2px 0; }

/* Aba Perfil: enquete à esquerda, obrigações habilitadas à direita (como no G-Click). */
.profile-layout { display: grid; grid-template-columns: minmax(340px, 0.9fr) minmax(0, 1.3fr); gap: 16px; align-items: start; }
.profile-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.profile-head h2 { margin: 0; }
.survey-scroll { padding-right: 4px; } /* sem rolagem interna: perguntas escondidas no fim do bloco pareciam sem resposta */
.survey-question.is-child { display: none; margin-left: 18px; padding-left: 10px; border-left: 3px solid #e6d9a8; }
.survey-question.is-child.is-visible { display: block; }
.enabled-panel { position: sticky; top: 12px; }
.enabled-panel.is-loading { opacity: .6; }
.enabled-columns { display: flex; gap: 10px; overflow-x: auto; padding-bottom: 6px; }
.enabled-column { min-width: 180px; flex: 0 0 200px; border: 1px solid var(--line); border-radius: 8px; background: #fafcfd; padding: 8px; }
.enabled-column h3 { margin: 0 0 8px; font-size: 12.5px; }
.enabled-card { display: grid; gap: 3px; padding: 7px 9px; margin-bottom: 6px; border-left: 4px solid #5bc49a; border-radius: 6px; background: #fff; color: #1f3329; text-decoration: none; font-size: 12px; }
.enabled-card small { color: #5f7480; font-size: 11px; }
.enabled-card.status-pending { border-left-color: #e0a930; }
.enabled-card.status-not_applicable, .enabled-card.is-blocked { border-left-color: #aab6b0; }
.enabled-card.is-draft { border-left-style: dashed; opacity: .85; }
@media (max-width: 1000px) { .profile-layout { grid-template-columns: 1fr; } .enabled-panel { position: static; } }
.chip-list { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 10px; }
.chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border: 1px solid var(--line); border-radius: 999px; background: #f3f7f8; font-size: 12px; }
.chip:has(input:not(:checked)) { opacity: .5; text-decoration: line-through; }
.support-chip { display: inline-flex; align-items: center; gap: 4px; margin: 2px 6px 2px 0; padding: 2px 8px; border-radius: 999px; background: #eef4f0; font-size: 12px; }
.dept-support { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; font-size: 12.5px; }
.summary-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 12px; }
.summary-grid .summary-wide { grid-column: 1 / -1; }
@media print { .sidebar, .topbar, .config-tabs, .breadcrumbs, button, .app-footer { display: none !important; } .main-area { margin: 0 !important; } }

/* Flexibilidade (01/10/2026): apoio por departamento, anexos do Drive, extras de acesso, vigência e linha do tempo da regra */
.support-chip.is-department { background: #e7eefb; }
.support-chip small { color: var(--muted); font-size: 10px; }
.support-chips { display: flex; flex-wrap: wrap; gap: 2px; margin: 4px 0 6px; }
.attach-box { flex: 0 0 auto; }
.attach-box[open] { flex-basis: 100%; }
.attach-form { display: grid; gap: 8px; margin-top: 8px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: #fafcfd; }
.attach-form .field { margin: 0; }
.drive-hint { color: #1f7a4d; font-size: 12px; }
.drive-files ul { margin: 6px 0 0; padding-left: 16px; font-size: 12px; }
.drive-files summary { cursor: pointer; font-size: 12px; color: var(--muted); }
.extra-cell { min-width: 190px; }
.check-line.small { font-size: 11.5px; margin: 1px 0; }
.vigencia-field select { max-width: 100%; }
.vigencia-field { margin: 6px 0 4px; }
.rule-timeline { margin-bottom: 12px; }
.rule-timeline .history-list { margin: 0; }

/* Criar (como o "Criar tarefas" do G-Click), envio ao cliente e "buscar dados" */
.create-menu { position: relative; }
.create-menu > summary { list-style: none; cursor: pointer; }
.create-menu > summary::-webkit-details-marker { display: none; }
.create-menu-list { position: absolute; z-index: 30; top: calc(100% + 6px); left: 0; min-width: 300px; display: grid; gap: 2px; padding: 6px; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 10px 30px rgba(0,0,0,.12); }
.create-menu-list a { display: grid; gap: 2px; padding: 8px 10px; border-radius: 8px; color: var(--ink); text-decoration: none; }
.create-menu-list a:hover, .create-menu-list a:focus { background: var(--forest-100); }
.create-menu-list small { color: var(--muted); font-size: 11px; }
.send-panel .field, .send-panel fieldset { margin: 6px 0; }
.send-panel input, .send-panel textarea, .send-panel select { width: 100%; }
.facts-panel .is-different td { background: #fff8ec; }
.inline-form { display: inline; }

/* Integra Contador (clips) e organizador de documentos */
.integra-box { margin: 18px 0; padding: 14px 16px; border: 1px solid #dfe7e2; border-radius: 10px; background: #f8fbf9; }
.integra-box h3 { margin: 0 0 6px; font-size: 14px; }
.integra-chip, .integra-state { display: inline-block; margin-top: 4px; padding: 2px 8px; border-radius: 999px; font-size: 11px; font-weight: 700; background: #edf2f4; color: #34505e; }
.integra-chip.is-ok, .integra-state.is-ok { background: #dff5f0; color: #007f73; }
.integra-chip.is-paid, .integra-state.is-paid { background: #dcefff; color: #1d4f7a; }
.integra-chip.is-waiting, .integra-state.is-waiting { background: #f7ecd8; color: #7a5a1e; }
.integra-chip.is-error, .integra-state.is-error { background: #fbe4e4; color: #8a2626; }
.integra-actions { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }
.history-list.compact li { padding: 4px 0; font-size: 12px; }
.doc-drop { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.doc-drop-area { position: relative; flex: 1 1 360px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-height: 120px; padding: 18px; border: 2px dashed #9fb5a8; border-radius: 12px; background: #f8fbf9; text-align: center; cursor: pointer; }
.doc-drop-area input[type=file] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.doc-drop-area span { color: #5f7480; font-size: 12px; }
.doc-drop-area.is-over { border-color: #007f73; background: #e9f7f4; }
.doc-drop-info { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 10px; font-size: 12px; color: #34505e; align-items: center; }
.doc-status { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 10.5px; font-weight: 800; text-transform: uppercase; background: #edf2f4; color: #34505e; }
.doc-status.is-ready { background: #dff5f0; color: #007f73; }
.doc-status.is-attached, .doc-status.is-filed { background: #dcefff; color: #1d4f7a; }
.doc-status.is-review { background: #f7ecd8; color: #7a5a1e; }
.doc-status.is-error { background: #fbe4e4; color: #8a2626; }
.doc-edit { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.doc-edit select { max-width: 220px; }
@media (max-width: 720px) { .doc-edit select, .doc-edit input { max-width: 100%; flex: 1 1 140px; } }

/* Tarefa: próximo passo (assistente) e abas */
.assistant-card { margin: 14px 0 16px; padding: 14px 16px; border: 1px solid #cfe3d7; border-radius: 12px; background: linear-gradient(180deg, #f6fbf8, #fff); }
.assistant-card h2 { margin: 0 0 8px; font-size: 13px; letter-spacing: .02em; color: #007f73; }
.assistant-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.assistant-step { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 12px; border-radius: 9px; border: 1px solid var(--line); background: #fff; }
.assistant-step form { margin: 0; }
.assistant-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.assistant-text strong { font-size: 13px; }
.assistant-text small { color: var(--muted); font-size: 11.5px; }
.assistant-step.tone-do { border-left: 4px solid #007f73; }
.assistant-step.tone-warn { border-left: 4px solid #c97a10; background: #fffaf2; }
.assistant-step.tone-info { border-left: 4px solid #8aa196; }
.assistant-step.tone-ok { border-left: 4px solid #2f7fbf; background: #f4f9fd; }
.task-tabs { display: flex; gap: 4px; margin: 0 0 10px; padding: 4px; border: 1px solid var(--line); border-radius: 10px; background: #f3f7f8; overflow-x: auto; }
.task-tabs a { flex: 1 0 auto; padding: 8px 14px; border-radius: 7px; color: #34505e; font-size: 12.5px; font-weight: 600; text-align: center; text-decoration: none; white-space: nowrap; }
.task-tabs a small { margin-left: 4px; padding: 1px 6px; border-radius: 999px; background: #e3e8e4; font-size: 10.5px; }
.task-tabs a.is-current { background: #fff; color: #17321f; box-shadow: 0 1px 2px rgba(0,0,0,.08); }
.task-tabs .state-entregue { background: #dff5f0; color: #007f73; }
.task-tabs .state-falhou { background: #fbe4e4; color: #8a2626; }
[data-tabs-ready] [data-tab-panel]:not(.is-active) { display: none; }
.tab-plain > .panel { margin: 0; }
.note-quick { display: flex; gap: 8px; margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--line); }
.note-quick input { flex: 1; min-width: 0; }
.history-filter { display: inline-flex; gap: 2px; padding: 2px; border: 1px solid var(--line); border-radius: 8px; }
.history-filter button { padding: 4px 10px; border: 0; border-radius: 6px; background: transparent; color: var(--muted); font-size: 11.5px; cursor: pointer; }
.history-filter button.is-current { background: #eef4f0; color: #17321f; font-weight: 700; }
.history-list li.history-note strong { color: #1d4f7a; }
.doc-versions td { vertical-align: middle; }
@media (max-width: 720px) { .assistant-step { flex-direction: column; align-items: stretch; } .assistant-step .button { width: 100%; } }

/* Sino de avisos (conferência de cobertura saiu do meio do painel) */
.bell-wrap { position: relative; }
.notification-button .bell-count { position: absolute; top: -6px; right: -6px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: #c86b0b; color: #fff; font-size: 10px; font-weight: 800; line-height: 18px; text-align: center; }
.bell-popover { position: absolute; top: calc(100% + 8px); right: 0; z-index: 50; width: min(420px, calc(100vw - 32px)); padding: 6px; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 12px 32px rgba(20, 40, 30, .16); }
.bell-popover .schedule-guard { margin: 0; border: 0; border-radius: 9px; align-items: flex-start; }
.bell-popover .guard-items { display: flex; flex-direction: column; align-items: stretch; gap: 6px; }
.bell-popover .guard-chip { text-align: left; }
.bell-popover .guard-note { color: #7d5a36; font-size: 10.5px; }
.bell-popover .schedule-guard.is-clear .guard-items::after { content: "Nada para conferir agora."; color: #007f73; font-size: 12px; }
.bell-empty { margin: 8px 10px; color: var(--muted); font-size: 12px; }

/* Novo cliente */
.lookup-form { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
.lookup-form .field { flex: 1 1 260px; margin: 0; }
.lookup-result { margin: 10px 0 0; padding: 8px 12px; border-radius: 8px; font-size: 12.5px; }
.lookup-result.is-ok { background: #dff5f0; color: #007f73; }
.lookup-result.is-warn { background: #fff4e5; color: #7a4a10; }
.new-client-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 16px; align-items: start; }
.new-client-main > .panel { margin-bottom: 14px; }
.new-client-main h2, .preview-panel h2 { margin: 0 0 12px; font-size: 14px; }
.new-client-side { position: sticky; top: 16px; }
.type-switch { display: flex; gap: 8px; margin-bottom: 12px; }
.type-switch label { flex: 1; cursor: pointer; }
.type-switch input { position: absolute; opacity: 0; pointer-events: none; }
.type-switch span { display: flex; flex-direction: column; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 10px; }
.type-switch small { color: var(--muted); font-size: 11px; }
.type-switch input:checked + span { border-color: #007f73; background: #e9f7f4; box-shadow: inset 0 0 0 1px #007f73; }
.type-switch input:focus-visible + span { outline: 2px solid #007f73; outline-offset: 2px; }
.fee-days { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 12px 0 0; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; }
.fee-days legend { padding: 0 4px; font-size: 12px; font-weight: 700; }
.fee-days label { cursor: pointer; }
.fee-days input { position: absolute; opacity: 0; pointer-events: none; }
.fee-days span { display: inline-block; min-width: 38px; padding: 6px 10px; border: 1px solid var(--line-strong); border-radius: 999px; font-size: 12px; text-align: center; }
.fee-days input:checked + span { border-color: #007f73; background: #007f73; color: #fff; }
.fee-days input:focus-visible + span { outline: 2px solid #007f73; outline-offset: 2px; }
.fee-days small { flex-basis: 100%; color: var(--muted); font-size: 11px; }
.choice-row { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 10px 0; padding: 0; border: 0; }
.choice-row legend { width: 100%; margin-bottom: 4px; font-size: 12px; font-weight: 700; }
.preview-column h3 { margin: 10px 0 4px; font-size: 12px; color: #34505e; }
.preview-column ul { margin: 0; padding-left: 16px; }
.preview-column li { margin: 3px 0; font-size: 12.5px; }
.preview-column li small { display: block; color: var(--muted); font-size: 10.5px; }
.preview-column li.is-off { color: #9aa59f; }
.preview-column li.is-pending { color: #7a4a10; }
@media (max-width: 960px) { .new-client-grid { grid-template-columns: 1fr; } .new-client-side { position: static; } }

/* Ficha do cliente: notas no topo */
.client-notes { margin: 0 0 12px; }
.client-note { display: flex; justify-content: space-between; gap: 12px; margin: 0 0 6px; padding: 8px 12px; border-left: 4px solid #d4a017; border-radius: 8px; background: #fffbea; font-size: 13px; }
.client-note small { color: var(--muted); font-size: 11px; white-space: nowrap; }
.client-note-add summary { cursor: pointer; color: #007f73; font-size: 12px; font-weight: 700; }
.client-note-add .note-form { display: flex; gap: 8px; margin-top: 6px; }
.client-note-add input { flex: 1; min-width: 0; }
.lookup-sources { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 4px; font-size: 12.5px; }
.lookup-sources li { padding: 6px 12px; border-radius: 8px; }
.lookup-sources li.is-ok { background: #e9f7f4; color: #007f73; }
.lookup-sources li.is-warn { background: #fff4e5; color: #7a4a10; }
.lookup-result .inline-form { display: inline-block; margin-left: 8px; }

/* Cliente: formulário e prévia ocupam a tela, sem coluna vazia no cadastro eventual. */
.new-client-grid { grid-template-columns: minmax(0, 1fr) minmax(280px, 350px); }
.new-client-form.is-eventual .new-client-grid { grid-template-columns: minmax(0, 1fr); }
.new-client-form.is-eventual .new-client-main { max-width: 1040px; }
.new-client-form .field-wide { grid-column: 1 / -1; }
.new-client .lookup-form .field { font-size: 12px; }
.new-client .lookup-form input { font-size: 13px; min-height: 40px; }
.preview-panel { border-top: 3px solid var(--forest-700); }
.preview-panel [data-preview] { max-height: calc(100vh - 260px); overflow: auto; }
.preview-feedback { color: #7a4a10; }
.profile-layout { grid-template-columns: minmax(310px, 0.9fr) minmax(0, 1.3fr); }
.profile-layout > * { min-width: 0; }
.profile-layout .profile-form > .config-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 12px 0; }
.profile-intro { margin: 8px 0 12px; }
.enabled-panel .enabled-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); overflow-x: visible; max-height: min(62vh, 640px); overflow-y: auto; padding: 2px 0 4px; }
.enabled-panel .enabled-column { min-width: 0; }
.enabled-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 14px 0 10px; }
.enabled-summary > span { border-radius: 6px; padding: 8px 10px; background: #f3f7f8; color: var(--muted); font-size: 11px; }
.enabled-summary strong { display: block; color: #34505e; font-size: 20px; line-height: 1.3; }
.enabled-summary .is-ready { background: #e9f7f4; color: #007f73; }
.enabled-summary .is-ready strong { color: #007f73; }
.enabled-summary .is-pending { background: #fff7e8; color: #7a4a10; }
.enabled-summary .is-pending strong { color: #7a4a10; }
.enabled-actions .button { padding: 6px 9px; font-size: 11px; }
.audience-filter-controls { display: grid; grid-template-columns: minmax(0, 1fr) minmax(140px, 180px); gap: 8px; margin: 12px 0; }
.audience-filter-controls .field { font-size: 12px; }
.audience-filter-controls input, .audience-filter-controls select { font-size: 12px; }
[data-audience-filter] .audience-block ul { max-height: min(42vh, 360px); overflow: auto; }
@media (max-width: 1100px) { .profile-layout { grid-template-columns: 1fr; } .enabled-panel { position: static; } }
@media (max-width: 960px) { .new-client-grid { grid-template-columns: 1fr; } .new-client-side { position: static; } .preview-panel [data-preview] { max-height: 360px; } }
@media (max-width: 600px) { .profile-layout .profile-form > .config-grid, .audience-filter-controls { grid-template-columns: 1fr; } .enabled-summary > span { padding: 8px 6px; } }

/* Painel: menu Criar dentro da tela e filtros legíveis em janela estreita ou com zoom. */
.dashboard-content .create-menu-list { left: auto; right: 0; min-width: 0; width: min(320px, calc(100vw - 36px)); max-width: calc(100vw - 36px); }
.dashboard-content .create-menu-list a { overflow-wrap: anywhere; }
.dashboard-heading { flex-wrap: wrap; }
.dashboard-heading > div { min-width: 0; }
.dashboard-actions { margin-left: auto; flex-shrink: 0; }
.dashboard-filters { display: flex; flex-wrap: wrap; align-items: stretch; gap: 8px; padding: 8px 0; }
.dashboard-filters .filter-context, .dashboard-filters .select-context { flex: 1 1 145px; min-width: 0; max-width: 100%; }
.dashboard-filters .filter-context > span, .dashboard-filters .select-context > span { font-size: 10px; }
.dashboard-filters .filter-context select, .dashboard-filters .select-context select { min-width: 0; width: 100%; max-width: 100%; font-size: 12px; }
.dashboard-scope-form { display: flex; flex: 1 1 180px; min-width: 0; }
.dashboard-shell .topbar { flex-wrap: wrap; row-gap: 8px; padding-top: 8px; padding-bottom: 8px; }
.dashboard-shell .workspace-context { min-width: 0; max-width: 100%; }
.dashboard-shell .context-kicker { overflow-wrap: anywhere; }
.dashboard-shell .topbar-actions { min-width: 0; max-width: 100%; flex-wrap: wrap; margin-left: auto; }
.dashboard-shell .search-form { min-width: 0; }
.dashboard-content .panel, .dashboard-content .dashboard-insights > section { min-width: 0; }
.dashboard-content .control-board-scroll { max-width: 100%; }
@media (max-width: 900px) {
  .dashboard-content .dashboard-insights { grid-template-columns: minmax(0, 1fr); }
  .dashboard-shell .topbar-actions { width: 100%; justify-content: flex-end; }
  .dashboard-shell .search-form { flex: 1 1 140px; }
  .dashboard-shell .search-box { width: 100%; max-width: 100%; }
}
@media (max-width: 560px) {
  .dashboard-filters .filter-context, .dashboard-filters .select-context, .dashboard-scope-form { flex-basis: calc(50% - 8px); }
  .dashboard-content .create-menu-list { right: 0; }
}

/* Tarefa: contexto permanente, uma ação principal e abas no mesmo espaço. */
.task-workspace{max-width:1480px;padding-top:22px}
.task-workspace .workspace-heading{margin:12px 0 18px;align-items:center;gap:16px}
.task-workspace h1{margin:5px 0;font-size:clamp(22px,2.2vw,30px)}
.task-workspace .task-company{font-size:13px}
.task-workspace .task-company a{color:var(--ink);text-decoration:none;font-weight:600}
.task-workspace .task-company a:hover{text-decoration:underline}
.task-workspace .workspace-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;align-items:start}
.task-workspace .task-context,.task-workspace .task-main-column{min-width:0}
.task-workspace .task-context{display:grid;gap:12px}
.task-workspace .task-context-card{padding:18px;margin:0}
.task-workspace .task-due{display:grid;gap:5px;padding-bottom:15px;border-bottom:1px solid var(--line)}
.task-workspace .task-due>strong{font-size:26px;font-variant-numeric:tabular-nums;letter-spacing:-.5px}
.task-workspace .task-due>small{font-size:12px;color:#975315}
.task-workspace .date-trio{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 20px}
.task-workspace .date-trio>div{background:none;border:0;padding:0}
.task-workspace .date-trio dt{font-size:11px;color:var(--muted)}
.task-workspace .date-trio dd{margin-top:4px;font-size:14px;font-weight:600}
.task-workspace .context-person{display:grid;gap:7px;margin-bottom:8px}
.task-workspace .context-person>strong{font-size:14px}
.task-workspace .support-chips{margin:6px 0}
.task-workspace .task-context-states{display:grid;gap:12px;margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}
.task-workspace .task-context-states>a{display:grid;gap:4px;text-decoration:none;color:var(--ink)}
.task-workspace .task-context-states>a>span{font-size:11px;color:var(--muted)}
.task-workspace .task-context-states>a>strong{font-size:12px;justify-self:start}
.task-workspace .task-context-states>a:hover>strong{text-decoration:underline}
.task-workspace .task-fine{font-size:11px;color:var(--muted)}
.task-workspace .task-more-actions{margin:0;padding:0}
.task-workspace .task-more-actions>summary{cursor:pointer;padding:14px 16px;font-size:12px;font-weight:700}
.task-workspace .task-action-body{padding:0 14px 14px}
.task-workspace .task-action-body input,.task-workspace .task-action-body select,.task-workspace .task-action-body textarea{max-width:100%}
.task-workspace .task-action-body .inline-action{flex-wrap:wrap}
.task-workspace .task-focus{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:14px 16px;border:1px solid #d1e4d8;border-radius:10px;background:#f4faf6}
.task-workspace .task-focus-main{display:flex;flex:1;min-width:0;align-items:center;justify-content:space-between;gap:16px}
.task-workspace .task-focus-main>div{display:grid;gap:4px;min-width:0}
.task-workspace .task-focus-main strong{font-size:14px;line-height:1.4}
.task-workspace .task-focus-main small{font-size:12px;color:var(--muted)}
.task-workspace .task-focus-main form{flex-shrink:0;margin:0}
.task-workspace .task-focus-main .button{white-space:nowrap}
.task-workspace .task-notices{position:relative;margin-left:auto;flex-shrink:0}
.task-workspace .task-notices>summary{cursor:pointer;color:#875117;font-size:11px;white-space:nowrap}
.task-workspace .task-notices>ul{position:absolute;z-index:35;right:0;top:calc(100% + 10px);width:min(370px,calc(100vw - 60px));margin:0;padding:8px 16px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px #14281e20}
.task-workspace .task-notices li{display:grid;gap:5px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}
.task-workspace .task-notices li:last-child{border-bottom:0}
.task-workspace .task-notices li small{color:var(--muted)}
.task-workspace .task-tabs{padding:0 6px;gap:0;border-radius:10px 10px 0 0;margin:0;background:#fff;border-bottom:1px solid var(--line)}
.task-workspace .task-tabs a{flex:1 0 auto;padding:13px 14px;border-radius:0;font-size:12px;border-bottom:3px solid transparent}
.task-workspace .task-tabs a.is-current{box-shadow:none;border-color:#23634b;color:#00695f;background:#f8fbf9}
.task-workspace .task-tabs a:focus-visible{outline:2px solid #23634b;outline-offset:-3px}
.task-workspace .task-tabs a small{font-size:10px}
.task-workspace .task-progress-panel,.task-workspace .tab-plain>.panel{margin:0;border-radius:0;border-top:0;padding:18px}
.task-workspace [data-tabs-ready] .task-panel-viewport{height:clamp(360px,calc(100dvh - 330px),650px);border:1px solid var(--line);border-top:0;border-bottom:0;background:#fff}
.task-workspace [data-tabs-ready] .task-panel-viewport>[data-tab-panel]{height:100%;overflow:auto;overscroll-behavior:contain;scroll-padding:16px}
.task-workspace [data-tabs-ready] .task-panel-viewport>.panel{border:0;box-shadow:none}
.task-workspace [data-tabs-ready] .tab-plain>.panel{min-height:100%;border:0;box-shadow:none}.task-workspace .task-panel-title{margin-bottom:8px;align-items:center;gap:12px}
.task-workspace .task-panel-title h2{font-size:14px}
.task-workspace .activity-row{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:12px;align-items:start;padding:13px 0}
.task-workspace .activity-check{margin-top:2px}
.task-workspace .activity-text{min-width:0}
.task-workspace .activity-text>strong{font-size:13px;line-height:1.4}
.task-workspace .activity-text>small{font-size:11.5px;line-height:1.6}
.task-workspace .activity-controls{display:flex;justify-content:flex-end;align-items:start;gap:7px;flex-wrap:wrap;max-width:320px}
.task-workspace .activity-controls>form{margin:0}
.task-workspace .activity-controls .activity-cancel{margin:0}
.task-workspace .activity-controls .activity-cancel>summary{padding:8px 0;font-size:11px;color:var(--muted);border:0}
.task-workspace .activity-controls .activity-button{min-height:32px;padding:7px 11px;font-size:11.5px}
.task-workspace .activity-controls details[open]{width:100%;min-width:245px}
.task-workspace .activity-controls .attach-form{width:300px;max-width:100%}
.task-workspace .activity-controls .activity-value-form{flex-wrap:wrap;max-width:270px}
.task-workspace .task-composer{display:flex;gap:10px;margin:0;padding:12px 16px;border:1px solid var(--line);border-radius:0 0 10px 10px;background:#f8faf9}
.task-workspace .task-composer input{flex:1;min-width:0;padding:9px 11px;background:#fff;border:1px solid var(--line-strong);border-radius:6px;font-size:12px}
.task-workspace .rectified-upload{margin-bottom:18px;padding:12px 14px;background:#fffbf4;border:1px solid #e6d7b8;border-radius:8px}
.task-workspace .rectified-upload>summary{font-size:13px;font-weight:700;cursor:pointer}
.task-workspace .doc-versions{min-width:0}
@media(min-width:1080px){.task-workspace .task-context{position:sticky;top:20px}}
@media(max-width:1100px){.task-workspace .workspace-layout{grid-template-columns:210px minmax(0,1fr);gap:12px}.task-workspace .task-context-card{padding:14px}.task-workspace .task-focus{flex-wrap:wrap}.task-workspace .activity-controls{max-width:230px}.task-workspace .task-tabs a{padding:12px 9px}}
@media(max-width:800px){.task-workspace .workspace-layout{grid-template-columns:minmax(0,1fr)}.task-workspace .task-context{grid-template-columns:minmax(0,1fr)}.task-workspace .task-context-card{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}.task-workspace .task-due{padding:0;border:0}.task-workspace .date-trio{margin:4px 0}.task-workspace .context-person{margin:0}.task-workspace .task-context-states{grid-column:1 / -1;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding-top:10px}.task-workspace .task-fine{grid-column:1 / -1}.task-workspace [data-tabs-ready] .task-panel-viewport{height:auto;border:0}.task-workspace [data-tabs-ready] .task-panel-viewport>[data-tab-panel]{height:auto;max-height:none;overflow:visible}.task-workspace .activity-row{grid-template-columns:24px minmax(0,1fr);gap:9px}.task-workspace .activity-controls{grid-column:2;max-width:none;justify-content:flex-start}.task-workspace .task-focus-main{flex-wrap:wrap}.task-workspace .task-tabs{overflow-x:auto}.task-workspace .task-tabs a{flex:0 0 auto}.task-workspace .history-filter{flex-wrap:wrap}.task-workspace .task-panel-title{flex-wrap:wrap}}@media(max-width:800px){.task-workspace .task-context-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.task-workspace .task-context-card>*{min-width:0}.task-workspace .date-trio>div{min-width:0}.task-workspace .task-context-states{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.task-workspace .context-person strong{overflow-wrap:anywhere}}
/* Carteira: filtros compactos, resumo legível e paginação no servidor. */
.client-list-page { min-width: 0; }
.client-list-heading { justify-content: space-between; gap: 16px; }
.client-list-heading h1 { margin-bottom: 4px; }
.client-list-caption { margin: 0; color: var(--muted); font-size: 13px; }
.client-list-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.client-list-actions .button-primary { background: #15764e; border-color: #15764e; color: #fff; }
.client-list-actions .button-primary:hover { background: #105e3e; }
.client-type-tabs { display: flex; gap: 4px; flex-wrap: wrap; margin: 18px 0 16px; border-bottom: 1px solid var(--line); }
.client-type-tabs a { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-bottom: 2px solid transparent; text-decoration: none; color: var(--muted); font-size: 13px; font-weight: 600; }
.client-type-tabs a:hover { background: #f4f7f6; color: var(--ink); }
.client-type-tabs a.is-current { color: #146d49; border-bottom-color: #15764e; }
.client-type-tabs a span { padding: 2px 6px; border-radius: 4px; background: #eef2ef; color: #617268; font-size: 11px; }
.client-type-tabs a.is-current span { background: #e1eee7; color: #146d49; }
.client-list-filters { display: flex; gap: 10px; flex-wrap: wrap; align-items: flex-end; margin: 0 0 18px; }
.client-list-filters > label { display: flex; flex-direction: column; gap: 5px; flex: 0 1 150px; min-width: 120px; font-size: 12px; color: var(--muted); }
.client-list-filters > label.client-list-search { flex: 1 1 290px; min-width: 210px; }
.client-list-filters input[type="search"], .client-list-filters select { width: 100%; min-width: 0; height: 36px; border: 1px solid var(--line); border-radius: 5px; background: #fff; padding: 7px 10px; color: var(--ink); font-size: 13px; }
.client-list-filter-extra { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; flex-basis: 100%; font-size: 12px; }
.client-list-filter-extra .inline-check { font-size: 12px; }
.client-list-panel { min-width: 0; padding: 0; overflow: hidden; }
.client-list-table-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 8px 16px; padding: 14px 16px; font-size: 12px; }
.client-list-table-heading .config-count { padding: 0; font-size: 12px; }
.client-list-range { color: var(--muted); }
/* Auto layout accommodates every selected column; no residual zero-width cell. */
.client-list-table { width: 100%; min-width: 900px; table-layout: auto; }
.client-list-table th { background: #f7f9f8; font-size: 11px; padding: 10px 12px; }
.client-list-table th a { display: inline-flex; align-items: center; gap: 6px; }
.client-list-table th a span { color: var(--quiet); }
.client-list-table th[aria-sort] a { color: var(--forest-700); }
.client-list-table td { padding: 8px 12px; font-size: 12px; line-height: 1.4; vertical-align: middle; white-space: nowrap; }
.client-list-table tbody tr:hover { background: #f7faf8; }
.client-list-table td[data-column="number"] { color: var(--muted); width: 44px; }
.client-list-table td[data-column="display_name"] { min-width: 200px; max-width: 330px; }
.client-list-name-link { display: block; overflow: hidden; text-overflow: ellipsis; font-weight: 600; }
.client-list-table td[data-column="groups"] { white-space: normal; min-width: 120px; max-width: 220px; overflow-wrap: break-word; }
.client-list-column-picker { position: relative; }
.client-list-column-picker > summary { list-style: none; cursor: pointer; }
.client-list-column-picker > summary::-webkit-details-marker { display: none; }
.client-list-column-options { position: absolute; right: 0; top: calc(100% + 6px); z-index: 5; width: 250px; padding: 14px; border: 1px solid var(--line-strong); border-radius: 8px; background: #fff; box-shadow: 0 8px 24px rgba(24,47,38,.12); }
.client-list-column-options fieldset { display: grid; gap: 8px; border: 0; padding: 0; margin: 0 0 14px; }
.client-list-column-options legend { margin-bottom: 10px; font-size: 12px; font-weight: 600; }
.client-list-column-options .config-link { display: block; margin-top: 10px; font-size: 12px; }
.client-list-name > a { font-weight: 600; }
.client-list-table small { display: block; margin-top: 4px; color: var(--muted); line-height: 1.4; font-size: 11px; }
.client-list-meta { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 5px; color: var(--muted); font-size: 11px; }
.client-list-table small.client-list-groups { color: #607769; }
.client-list-particularities span { display: inline-block; color: #146d49; font-weight: 600; }
.client-list-muted { color: var(--muted); }
.client-list-table .aud { white-space: nowrap; }
.client-list-pagination { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding: 12px 16px; border-top: 1px solid var(--line); }
.client-list-page-size { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--muted); }
.client-list-page-size select { height: 30px; border: 1px solid var(--line); border-radius: 4px; background: #fff; padding: 3px 7px; }
.client-list-page-size button { min-height: 30px; padding: 4px 8px; font-size: 12px; }
.client-list-pages { display: flex; align-items: center; gap: 4px; font-size: 12px; }
.client-list-pages > a, .client-list-pages > span { padding: 6px 8px; text-decoration: none; color: var(--muted); border-radius: 4px; }
.client-list-pages > a:hover { background: #eef4f0; color: #146d49; }
.client-list-pages > span.is-current { background: #e1eee7; color: #146d49; font-weight: 700; }
@media (max-width: 760px) {
  .client-list-heading { align-items: flex-start; flex-direction: column; }
  .client-list-caption { font-size: 12px; }
  .client-list-filters > label.client-list-search { flex-basis: 100%; }
  .client-list-filters > label { flex: 1 1 120px; }
  .client-list-pages { flex-wrap: wrap; }
  .client-list-table th, .client-list-table td { padding-left: 12px; padding-right: 12px; }
}
.task-workspace{overflow-x:clip}
.task-workspace .task-context{grid-template-columns:minmax(0,1fr)}
.task-workspace .task-context-card,.task-workspace .task-more-actions{min-width:0;width:100%;max-width:100%}
.task-workspace .task-main-column{display:block}
.task-workspace [data-tabs-ready] .task-panel-viewport{height:clamp(360px,calc(100dvh - 430px),600px)}
@media(max-width:800px){.task-workspace [data-tabs-ready] .task-panel-viewport{height:auto}}
.task-workspace .date-trio dd{margin:4px 0 0}

/* Obrigação › Atividades: arrastar, editar, envio */
.activity-config tr[draggable="true"] { cursor: grab; }
.activity-config tr.is-dragging { opacity: .45; background: #e9f7f4; }
.drag-handle { display: inline-block; padding: 0 4px; color: #8aa196; font-size: 16px; cursor: grab; user-select: none; }
.order-arrows { display: inline-flex; gap: 2px; margin-left: 4px; }
.activity-edit { margin-top: 6px; }
.activity-edit[open] { padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fafcfd; }
.send-summary { margin-top: 4px; }
.send-settings { margin: 10px 0; padding: 10px 12px; border: 1px solid #cfe3d7; border-radius: 10px; background: #f6fbf8; }
.send-settings legend { padding: 0 6px; font-size: 12px; font-weight: 700; color: #007f73; }
.variables-help ul { columns: 2; margin: 6px 0; padding-left: 16px; font-size: 12px; }
.variables-help code { font-size: 11.5px; }
@media (max-width: 720px) { .variables-help ul { columns: 1; } }
.generate-tools { display: flex; gap: 10px; margin: 10px 0; }
.generate-tools .field { flex: 0 1 320px; margin: 0; }
.gen-status { display: inline-block; padding: 6px 10px; border-radius: 8px; font-size: 12px; background: #edf2f4; color: #34505e; }
.gen-status.is-new { background: #dff5f0; color: #007f73; }
.gen-status.is-done { background: #dcefff; color: #1d4f7a; }
.gen-status.is-warn { background: #f7ecd8; color: #7a5a1e; }
.inline-exception { margin: 8px 0; }
.inline-exception[open] { padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fafcfd; }
.client-exceptions { margin: 8px 0; font-size: 12.5px; }
.client-exceptions h3 { margin: 0 0 4px; font-size: 12px; }
.client-exceptions ul { margin: 0; padding-left: 0; list-style: none; display: grid; gap: 4px; }

/* Telas "à frente" (apps/core/modal.py + app.js) */
.app-modal { padding: 0; border: 0; border-radius: 14px; background: var(--surface); color: var(--ink); box-shadow: 0 24px 60px rgba(13,29,21,.28); display: flex; flex-direction: column; overflow: hidden; }
.app-modal:not([open]) { display: none; }
.app-modal::backdrop { background: rgba(13,29,21,.42); }
/* md/lg: largura fixa, altura = conteúdo (o quadro informa a altura), no máximo 90% da tela com rolagem interna */
.app-modal-md { width: min(820px, calc(100vw - 32px)); max-height: 90vh; }
.app-modal-lg { width: min(1060px, calc(100vw - 32px)); max-height: 92vh; }
.app-modal-md .app-modal-body, .app-modal-lg .app-modal-body { flex: 0 1 auto; overflow: auto; }
.app-modal-md .app-modal-frame, .app-modal-lg .app-modal-frame { height: 320px; max-height: calc(90vh - 56px); }
.app-modal-md.is-loading .app-modal-body, .app-modal-lg.is-loading .app-modal-body { min-height: 220px; }
.app-modal-drawer { width: min(1280px, 96vw); height: 100vh; max-height: 100vh; margin: 0 0 0 auto; border-radius: 14px 0 0 14px; }
.app-modal-head { display: flex; align-items: center; gap: 12px; padding: 10px 14px 10px 18px; border-bottom: 1px solid var(--line); background: var(--paper); }
.app-modal-title { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--font-display); font-size: 15px; }
.app-modal-full { color: var(--ink-soft); font-size: 12px; text-decoration: none; white-space: nowrap; }
.app-modal-full:hover { color: var(--forest-700); text-decoration: underline; }
.app-modal-close { width: 32px; height: 32px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--ink); font-size: 20px; line-height: 1; cursor: pointer; }
.app-modal-close:hover { background: var(--paper-deep); }
.app-modal-body { position: relative; flex: 1; min-height: 0; }
.app-modal-frame { display: block; width: 100%; height: 100%; border: 0; background: var(--paper); }
.app-modal.is-loading .app-modal-body::before { content: ""; position: absolute; inset: 0; background: var(--paper) url("../img/brand/gigiflow-loader.dd106be8f5f7.svg") center / 130px auto no-repeat; }
.app-modal.is-loading .app-modal-frame { visibility: hidden; }
body.modal-frame .main-area { margin-left: 0; padding-top: 0; min-height: 0; }
body.modal-frame .app-shell { min-height: 0; }
body.modal-frame .page-content { padding-bottom: 12px; }
body.modal-frame .page-heading h1, body.modal-frame .page-heading > div > h1 { display: none; }  /* o título já está na barra do modal */
body.modal-frame .page-content { padding-top: 14px; }
body.modal-frame .page-heading .eyebrow, body.modal-frame .back-link { display: none; }
@media (max-width: 700px) {
  .app-modal-md, .app-modal-lg, .app-modal-drawer { width: 100vw; height: 100vh; max-width: 100vw; max-height: 100vh; margin: 0; border-radius: 0; }
}
.dept-owner-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(440px, 100%), 1fr)); gap: 6px 18px; margin-top: 6px; }
.dept-owner { display: grid; grid-template-columns: minmax(120px, 1fr) minmax(130px, 1.1fr) minmax(130px, 1.1fr); align-items: center; gap: 8px; padding: 4px 0; border-bottom: 1px dashed var(--line); }
.dept-owner select { min-height: 32px; font-size: 13px; }
.dept-owner:not(:has(input:checked)) select { visibility: hidden; }

/* Tela da tarefa no modelo do G-Click: faixa, coluna de contexto, atividades com ações na linha, histórico à vista */
.task-gc .breadcrumbs { margin-bottom: 6px; }
.task-gc-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; margin-bottom: 14px; border-radius: 12px; background: var(--forest-800); color: #fff; }
.task-gc-bar h1 { margin: 0; font-size: 18px; color: #fff; }
.task-gc-comp { font-weight: 400; opacity: .8; }
.task-gc-bar .fine-mark { color: #f5c96b; }
.task-gc-tags { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.task-gc-dept { font-size: 12px; font-weight: 700; letter-spacing: .06em; padding: 4px 10px; border-radius: 999px; background: rgba(255,255,255,.14); }
.task-gc-layout { display: grid; grid-template-columns: minmax(250px, 300px) minmax(0, 1fr); gap: 16px; align-items: start; }
.task-gc-side { display: grid; gap: 12px; }
.task-gc-card { padding: 14px 16px; display: grid; gap: 8px; }
.task-gc-dates { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0; }
.task-gc-dates dt { font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; }
.task-gc-dates dd { margin: 2px 0 0; font-weight: 600; font-size: 13px; }
.task-gc-dates .is-deadline dd { color: var(--forest-700); font-size: 14px; }
.task-gc-hint { color: var(--muted); }
.task-gc-hint.is-late { color: var(--coral); font-weight: 600; }
.task-gc-line { display: flex; justify-content: space-between; margin: 0; }
.task-gc-client a { font-weight: 600; color: var(--ink); }
.task-gc-client small { display: block; color: var(--muted); }
.task-gc-client-links { display: flex; gap: 10px; flex-wrap: wrap; font-size: 12px; }
.task-gc-owner { font-size: 15px; }
.task-gc-sub { margin-top: 6px; }
.task-gc-add { display: flex; gap: 6px; }
.task-gc-add select { flex: 1; min-width: 0; min-height: 32px; }
.task-gc-edit > summary { list-style: none; cursor: pointer; font-size: 12px; }
.task-gc-form { display: grid; gap: 6px; margin-top: 6px; }
.task-gc-states { gap: 6px; }
.task-gc-states a { display: flex; justify-content: space-between; gap: 8px; color: var(--ink); text-decoration: none; padding: 4px 0; border-bottom: 1px dashed var(--line); }
.task-gc-states a span { color: var(--muted); font-size: 12px; }
.task-gc-main { display: grid; gap: 12px; min-width: 0; }
.task-gc-activities { padding: 14px 16px; }
.gc-activity-list { list-style: none; margin: 8px 0 0; padding: 0; border: 1px solid var(--line); border-radius: 10px; }
.gc-activity { display: grid; grid-template-columns: 30px 30px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px 12px; border-top: 1px solid var(--line); }
.gc-activity:first-child { border-top: 0; }
.gc-activity.is-done { background: #f7faf8; }
.gc-activity.is-done .activity-text strong { color: var(--ink-soft); }
.gc-activity.is-cancelled { opacity: .6; }
.gc-order { color: var(--muted); font-size: 12px; text-align: center; }
.gc-kind { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--line-strong); font-size: 13px; background: var(--surface); }
.gc-activity.is-done .gc-kind { background: var(--forest-700); border-color: var(--forest-700); color: #fff; font-weight: 700; }
.gc-actions { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; align-items: center; position: relative; }
.gc-btn { display: inline-flex; align-items: center; gap: 4px; min-height: 30px; padding: 4px 10px; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--surface); color: var(--ink); font: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer; text-decoration: none; white-space: nowrap; list-style: none; }
.gc-btn::-webkit-details-marker { display: none; }
.gc-btn:hover { border-color: var(--forest-600); color: var(--forest-700); }
.gc-btn.is-primary { background: var(--forest-700); border-color: var(--forest-700); color: #fff; }
.gc-btn.is-primary:hover { background: var(--forest-600); color: #fff; }
.gc-btn.is-view { border-color: var(--blue); color: var(--blue); }
.gc-btn.is-danger { color: var(--coral); border-color: #e7c3c8; }
.gc-btn[disabled] { opacity: .5; cursor: not-allowed; }
.gc-pop { position: relative; }
.gc-pop > form, .gc-pop > .attach-form { position: absolute; right: 0; top: calc(100% + 6px); z-index: 20; width: min(360px, 80vw); display: grid; gap: 8px; padding: 12px; border: 1px solid var(--line-strong); border-radius: 10px; background: var(--surface); box-shadow: 0 12px 30px rgba(13,29,21,.16); }
.gc-integra { display: block; margin-top: 2px; }
.inline-form { display: inline-flex; gap: 6px; align-items: center; margin: 0; }
.inline-form input { min-height: 30px; width: 120px; }
.task-gc-actionbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.task-gc-spacer { flex: 1; }
.task-gc-fold { border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.task-gc-fold > summary { cursor: pointer; padding: 12px 16px; display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; }
.task-gc-fold > summary small { color: var(--muted); }
.task-gc-fold > .send-panel { margin: 0 12px 12px; box-shadow: none; }
.task-gc-fold-body { padding: 0 16px 14px; display: grid; gap: 10px; }
.task-gc-history { padding: 14px 16px; }
.task-gc-history .history-list { max-height: 420px; overflow: auto; }
.task-gc-history .history-filter small { opacity: .7; }
/* Fase 1 G-Click — layout reorganizado: a janela mostra o que se usa o tempo todo; o resto fica em segundo plano */
.task-gc-bar { --gc-status: var(--forest-800); background: var(--gc-status); border-radius: 12px 12px 0 0; margin-bottom: 0; }
.task-gc-layout { --gc-status: var(--forest-800); padding: 14px; border: 1px solid var(--line); border-top: 0; border-radius: 0 0 12px 12px; background: var(--surface-soft, #f6f8f6); }
.task-gc-side { border-left: 4px solid var(--gc-status); padding-left: 10px; }
.task-gc-bar.is-upcoming, .task-gc-layout.is-upcoming { --gc-status: #c9a21f; }
.task-gc-bar.is-scheduled, .task-gc-layout.is-scheduled { --gc-status: #d9695a; }
.task-gc-bar.is-unscheduled, .task-gc-layout.is-unscheduled { --gc-status: #8b5a3d; }
.task-gc-bar.is-after_meta, .task-gc-layout.is-after_meta { --gc-status: #858b90; }
.task-gc-bar.is-due_today, .task-gc-layout.is-due_today { --gc-status: #d23f4c; }
.task-gc-bar.is-overdue, .task-gc-layout.is-overdue { --gc-status: #4d2458; }
.task-gc-bar.is-waiting, .task-gc-layout.is-waiting { --gc-status: #b79d63; }
.task-gc-bar.is-rectifying, .task-gc-layout.is-rectifying { --gc-status: #ed922e; }
.task-gc-bar.is-dispensed, .task-gc-layout.is-dispensed { --gc-status: #6f9be8; }
.task-gc-bar.is-on_time, .task-gc-layout.is-on_time { --gc-status: #45b87a; }
.task-gc-bar.is-completed_after_meta, .task-gc-layout.is-completed_after_meta { --gc-status: #77802a; }
.task-gc-bar.is-completed_late, .task-gc-layout.is-completed_late { --gc-status: #9444bd; }
.task-gc-bar.is-rectified, .task-gc-layout.is-rectified { --gc-status: #00695f; }
.task-gc-side-fold > summary { display: none; }
.task-gc-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 10px; padding: 14px; }
.gc-field { display: grid; gap: 3px; align-content: start; min-width: 0; }
.gc-field.is-wide, .gc-field.is-deadline { grid-column: 1 / -1; }
.gc-field > label { display: flex; align-items: center; justify-content: space-between; gap: 6px; font-size: 12.5px; font-weight: 700; color: var(--ink-soft, #44524a); }
.gc-field > label small { font-weight: 400; color: var(--muted); }
.gc-value { display: flex; align-items: center; justify-content: space-between; gap: 6px; min-height: 36px; padding: 4px 8px 4px 10px; border: 1px solid var(--line-strong); border-radius: 6px; background: var(--surface); font-size: 14px; }
.gc-value > span:first-child, .gc-client > a { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gc-client > a { font-weight: 600; color: var(--ink); text-decoration: none; }
.gc-value-actions { display: inline-flex; gap: 4px; }
.gc-icon-btn { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 6px; background: #1eb090; color: #fff; font-size: 14px; cursor: pointer; text-decoration: none; list-style: none; border: 0; }
.gc-icon-btn::-webkit-details-marker { display: none; }
.gc-icon-btn.is-blue { background: #0f6f88; }
.gc-inline-pop { display: inline-block; }
.gc-inline-pop .gc-icon-btn { width: 22px; height: 22px; font-size: 12px; }
.gc-pop.is-left > form { right: auto; left: 0; }
.task-gc-more { padding: 8px 12px; margin-top: 10px; }
.task-gc-more > summary { cursor: pointer; font-size: 13px; color: var(--muted); }
.task-gc-states { margin-top: 8px; display: grid; gap: 6px; }
.task-gc-more .actor-form { margin-top: 8px; display: grid; gap: 4px; }
.support-chip.is-guest { background: #f3eefb; }
.task-gc-time { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 8px 0 0; color: var(--muted); font-size: 13px; }
.task-gc-clock { font-variant-numeric: tabular-nums; margin-left: 4px; color: var(--ink-soft); }
.task-gc-time[data-running-since] .task-gc-clock { color: var(--forest-700); }
.task-gc-time-detail > summary { cursor: pointer; font-size: 12px; }
.task-gc-time-people { list-style: none; margin: 6px 0 0; padding: 0; font-size: 12px; display: grid; gap: 2px; }
.task-gc-time-people li { display: flex; justify-content: space-between; gap: 14px; }
.task-gc-time-people b { font-variant-numeric: tabular-nums; font-weight: 600; }
.task-gc-comp-nav { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; font-size: 13px; }
.task-gc-comp-nav a, .task-gc-comp-nav .is-off { display: inline-grid; place-items: center; min-width: 34px; height: 30px; padding: 0 8px; border-radius: 6px; background: #0f6f88; color: #fff; text-decoration: none; font-weight: 600; }
.task-gc-comp-nav .is-off { background: #c9d3d9; }
.task-gc-comp-nav strong { padding: 4px 10px; border: 1px solid var(--line-strong); border-radius: 6px; background: var(--surface); }
.task-gc-pendings { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.task-gc-pendings li { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; padding: 8px 10px; border-radius: 8px; background: #fbf7ec; }
.task-gc-pendings li.is-done { background: #f3f5f4; opacity: .8; }
.task-gc-pendings li.is-late { background: #fdecec; }
.task-gc-pendings span { display: grid; gap: 2px; }
.task-gc-pendings small { color: var(--muted); }
.task-gc-actionbar .gc-btn { min-height: 38px; padding: 6px 14px; }
.task-gc-history { padding: 0; overflow: hidden; }
.task-gc-history-body { display: grid; grid-template-columns: 150px minmax(0, 1fr); min-height: 220px; }
.history-filter.is-vertical { display: flex; flex-direction: column; gap: 0; border-right: 1px solid var(--line); background: var(--surface); }
.history-filter.is-vertical button { text-align: left; padding: 12px 14px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--muted); font: inherit; font-size: 13.5px; cursor: pointer; border-radius: 0; }
.history-filter.is-vertical button.is-current { color: var(--ink); font-weight: 700; background: var(--surface-soft, #f6f8f6); box-shadow: inset 3px 0 0 var(--gc-status); }
.task-gc-history .history-list { max-height: 360px; overflow: auto; margin: 0; padding: 10px 14px; background: #f2f3f3; }
.task-gc-composer { padding: 10px 14px 12px; border-top: 1px solid var(--line); display: grid; gap: 4px; }
.task-gc-composer-row { display: flex; gap: 0; align-items: stretch; }
.task-gc-composer textarea { flex: 1; min-width: 0; resize: vertical; min-height: 38px; border-radius: 0; }
.gc-square { display: grid; place-items: center; width: 40px; min-height: 38px; border: 0; color: #fff; font-size: 17px; font-weight: 700; cursor: pointer; position: relative; }
.gc-square.is-green { background: #1eb090; }
.gc-square.is-blue { background: #0f6f88; }
.gc-square.is-orange { background: #f3a847; border-radius: 0 6px 6px 0; }
.gc-square.is-eye { background: #fff; color: #566e7a; border: 1px solid var(--line-strong); border-right: 0; border-radius: 6px 0 0 6px; }
.gc-square:has(input:checked) { background: #c97a12; color: #fff; box-shadow: inset 0 0 0 2px #fff; }
.gc-square input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }
.task-gc-attach.has-file, .task-gc-link.has-file { background: #145f94; }
.task-gc-counter { text-align: right; font-variant-numeric: tabular-nums; }
.task-gc-secondary { display: grid; gap: 8px; }
.history-visible { color: var(--forest-700); }

@media (max-width: 900px) {
  .task-gc-layout { grid-template-columns: 1fr; padding: 10px; }
  .task-gc-side { border-left: 0; padding-left: 0; }
  .task-gc-side-fold > summary { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; flex-wrap: wrap; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); font-weight: 700; cursor: pointer; border-left: 4px solid var(--gc-status); }
  .task-gc-side-fold > summary small { color: var(--muted); font-weight: 400; }
  .task-gc-side-fold[open] > summary { border-radius: 10px 10px 0 0; }
  .task-gc-actionbar { gap: 6px; }
  .task-gc-actionbar .gc-btn, .task-gc-actionbar .inline-form, .task-gc-actionbar details { flex: 1 1 calc(50% - 6px); }
  .task-gc-actionbar .gc-btn { justify-content: center; min-height: 44px; }
  .task-gc-spacer { display: none; }
  .gc-activity { grid-template-columns: 26px minmax(0, 1fr); }
  .gc-activity .gc-order { display: none; }
  .gc-activity .gc-actions { grid-column: 1 / -1; justify-content: flex-start; }
  .task-gc-history-body { grid-template-columns: 1fr; }
  .history-filter.is-vertical { flex-direction: row; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .history-filter.is-vertical button { white-space: nowrap; border-bottom: 0; padding: 10px 12px; }
  .history-filter.is-vertical button.is-current { box-shadow: inset 0 -3px 0 var(--gc-status); }
  .gc-pop > form, .gc-pop > .attach-form { position: fixed; left: 12px; right: 12px; top: auto; bottom: 12px; width: auto; max-height: 70vh; overflow: auto; }
}
.is-flash { outline: 2px solid var(--forest-600); outline-offset: 2px; }
body.modal-frame .breadcrumbs { display: none; }
@media (max-width: 900px) {
  .task-gc-layout { grid-template-columns: 1fr; }
  .gc-activity { grid-template-columns: 26px minmax(0, 1fr); }
  .gc-activity .gc-order { display: none; }
  .gc-actions { grid-column: 1 / -1; justify-content: flex-start; }
  .gc-pop > form, .gc-pop > .attach-form { left: 0; right: auto; }
}
.list-company { display: block; }
.list-company-doc { display: block; color: var(--muted); font-size: 11.5px; }
.task-gc .task-composer { border-radius: 8px; margin-top: 10px; }
.task-gc.task-workspace { padding-top: 12px; }
.gc-actions { max-width: 58%; }

/* Seleção múltipla com etiquetas */
.chip-picker { position: relative; }
.chip-picker-field { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; min-height: 38px; padding: 4px 6px; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--surface); cursor: text; }
.chip-picker.is-invalid .chip-picker-field { border-color: var(--coral); }
.chip-picker-chips { display: contents; }
.chip { display: inline-flex; align-items: center; gap: 4px; padding: 2px 4px 2px 9px; border-radius: 999px; background: var(--forest-100); color: var(--forest-800); font-size: 12px; font-weight: 600; }
.chip button { border: 0; background: none; color: inherit; cursor: pointer; font-size: 14px; line-height: 1; padding: 0 4px; }
.chip-picker-input { flex: 1; min-width: 140px; border: 0 !important; outline: 0; padding: 4px !important; background: transparent; box-shadow: none !important; font: inherit; }
.chip-picker-menu { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 30; border: 1px solid var(--line-strong); border-radius: 10px; background: var(--surface); box-shadow: 0 12px 30px rgba(13,29,21,.16); }
.chip-picker-tools { display: flex; gap: 8px; align-items: center; padding: 6px 10px; border-bottom: 1px solid var(--line); }
.chip-picker-tools button { border: 0; background: none; color: var(--forest-700); font-weight: 600; cursor: pointer; padding: 2px 4px; }
.chip-picker-tools small { margin-left: auto; color: var(--muted); }
.chip-picker-menu ul { list-style: none; margin: 0; padding: 4px 0; max-height: 220px; overflow: auto; }
.chip-picker-menu li { padding: 6px 12px 6px 30px; cursor: pointer; position: relative; font-size: 13px; }
.chip-picker-menu li:hover { background: var(--paper); }
.chip-picker-menu li.is-selected::before { content: "✓"; position: absolute; left: 11px; color: var(--forest-700); font-weight: 700; }
.chip-picker-menu li.is-empty { color: var(--muted); cursor: default; }
.field-wide { grid-column: 1 / -1; }
body.modal-frame .config-heading h1 { display: none; }
body.modal-frame .config-heading { margin: 0 0 10px; }
body.modal-frame .config-page { padding-top: 12px; }
body.modal-frame .config-sub { margin-top: 0; }
body.modal-frame .chip-picker-menu { position: static; margin-top: 4px; }  /* dentro do modal o menu empurra o conteúdo (o modal cresce junto) */

/* Ficha do cliente: passos do fixo e abas que não se aplicam ao eventual */
.setup-steps { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 4px 0 12px; padding: 8px 12px; border: 1px solid #d1e4d8; border-radius: 10px; background: var(--forest-100); }
.setup-steps-title { font-size: 12px; font-weight: 700; color: var(--forest-800); margin-right: 6px; }
.setup-steps a { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; background: var(--surface); border: 1px solid var(--line-strong); color: var(--ink); text-decoration: none; font-size: 12.5px; }
.setup-steps a b { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: var(--paper-deep); font-size: 11px; }
.setup-steps a.is-done { color: var(--forest-700); border-color: #b8d5c3; }
.setup-steps a.is-done b { background: var(--forest-700); color: #fff; }
.setup-steps a.is-current { outline: 2px solid var(--forest-600); }
.config-tabs a.is-muted { color: var(--quiet); }
.eventual-block { padding: 16px 18px; border: 1px solid #ecd2d6; border-radius: 10px; background: var(--coral-soft); }
.eventual-block p { margin: 0 0 8px; }
.owners-support-form { display: flex; gap: 6px; align-items: flex-start; margin-top: 6px; }
.owners-support-form .chip-picker { flex: 1; min-width: 220px; }
.owners-table td { vertical-align: top; }
/* Novo cliente rápido (modal) */
.new-client.is-quick .quick-lookup { display: flex; gap: 8px; align-items: flex-end; margin-bottom: 8px; }
.new-client.is-quick .quick-lookup .field { flex: 1; margin: 0; }
.new-client.is-quick .new-client-form { display: grid; gap: 12px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.quick-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 700px) { .quick-grid { grid-template-columns: 1fr; } }
.lookup-profile { display: grid; gap: 6px; padding: 10px 12px; border: 1px solid #d1e4d8; border-radius: 10px; background: var(--forest-100); }
.lookup-profile .inline-field { display: flex; gap: 8px; align-items: center; margin: 0; font-size: 12px; }
.lookup-profile .inline-field select { width: auto; }
.quick-contact > summary { cursor: pointer; font-weight: 600; }
.quick-contact[open] > summary { margin-bottom: 8px; }
.quick-next { margin: 0; font-size: 12px; color: var(--muted); }
.type-tag { display: inline-block; padding: 2px 9px; border-radius: 999px; font-size: 11.5px; font-weight: 600; background: var(--forest-100); color: var(--forest-800); }
.type-tag.type-eventual { background: var(--amber-soft); color: var(--amber); }

/* Painel: janela das cores x consulta (02/10/2026) */
.dashboard-window-note { margin: 2px 0 10px; color: #6b7a70; font-size: 10px; }
.dashboard-consult { margin-bottom: 10px; }
.dashboard-consult .button { margin-left: auto; white-space: nowrap; }

/* Alteração feita numa janela de item (G-Click): a tela de trás oferece atualizar, sem recarregar sozinha */
.window-refresh { position: fixed; right: 18px; bottom: 18px; z-index: 60; display: flex; align-items: center; gap: 10px; padding: 9px 12px;
  border: 1px solid #d9e5db; border-radius: 10px; background: #fff; box-shadow: 0 8px 24px rgba(20, 40, 30, .16); font-size: 11px; color: #294a36; }

/* Configuração › Enquete: árvore como a do G-Click */
.survey-tools { flex-wrap: wrap; gap: 8px; }
.survey-order-note { margin: 8px 12px; }
.survey-order-note.is-error { color: #9d3542; }
.survey-page .tree-actions .row-action .config-sub { max-width: 28ch; white-space: normal; text-align: left; }
.survey-tree td:first-child { white-space: nowrap; }
.survey-tree .tree-toggle { width: 22px; height: 22px; margin-right: 4px; border: 1px solid var(--line-strong); border-radius: 6px; background: var(--surface); color: var(--ink); font-weight: 700; line-height: 1; cursor: pointer; }
.survey-tree .tree-toggle[hidden] { display: inline-block; visibility: hidden; }
.survey-tree .tree-name { padding-left: calc(10px + var(--depth, 0) * 18px); }
.survey-tree .tree-name small { display: block; color: var(--muted); font-size: 11.5px; }
.survey-tree .row-answer .tree-name { padding-left: calc(10px + var(--depth, 0) * 18px); }
.tree-actions { white-space: nowrap; text-align: right; }
.tree-actions .move-inline { display: inline-flex; gap: 2px; margin-left: 6px; }
.tree-add { font-size: 12px; color: var(--forest-700); text-decoration: none; padding: 2px 6px; border-radius: 6px; }
.tree-add:hover { background: var(--forest-100); }
.usage-chip { display: inline-block; padding: 2px 8px; border-radius: 999px; background: var(--forest-100); color: var(--forest-800); font-size: 11.5px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.usage-chip.is-zero { background: var(--paper-deep); color: var(--quiet); font-weight: 500; }
.usage-chip:hover { outline: 1px solid var(--forest-600); }
.survey-tree tr.is-moved td, #question-answers-region tr.is-moved td { background: #fff7d6; transition: background 1s; }
.survey-tree tr.is-edge td, #question-answers-region tr.is-edge td { background: var(--coral-soft); }
.new-answer-row { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) auto; gap: 8px; align-items: end; }
.new-answer-row .field { margin: 0; }
.link-existing > summary { cursor: pointer; font-size: 12.5px; color: var(--forest-700); margin: 6px 0; }
.usage-clients { columns: 2; margin: 0; padding-left: 18px; }
@media (max-width: 700px) { .new-answer-row { grid-template-columns: 1fr; } .usage-clients { columns: 1; } }

/* Respondendo enquete (em lote) */
.batch-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
.batch-filters .field { margin: 0; min-width: 160px; }
.batch-progress-wrap { width: 100%; display: grid; gap: 6px; margin-top: 12px; }
.batch-progress-label { display: flex; justify-content: space-between; gap: 10px; color: var(--muted); font-size: 12px; }
.batch-progress-label strong { color: var(--forest-700); font-variant-numeric: tabular-nums; }
.batch-progress-track { height: 6px; overflow: hidden; border-radius: 999px; background: #e5ece7; }
.batch-progress-track span { height: 100%; display: block; border-radius: inherit; background: var(--forest-700); transition: width .2s ease; }
.batch-question { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
.batch-question small { display: block; color: var(--muted); }
.batch-code { padding: 4px 10px; border-radius: 8px; background: var(--forest-800); color: #fff; font-weight: 700; font-size: 13px; }
.batch-nav { margin-left: auto; display: flex; gap: 8px; }
.batch-scroll { max-height: 62vh; overflow: auto; }
.batch-table thead th { position: sticky; top: 0; background: var(--surface); z-index: 1; }
.batch-client a { color: var(--ink); text-decoration: none; font-weight: 600; }
.batch-client small { display: block; color: var(--muted); font-size: 11.5px; }
.batch-cell:has(input:checked) { background: #cdebd9; }
.batch-intro { margin: 12px 16px; }

/* Enquete › Particularidade (como o G-Click: nº, categoria, nome, descrição, obrigações, resposta ✓/✗) */
.part-edit.is-closed { display: none; }
.part-form { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.4fr) minmax(0, 1fr); gap: 10px; align-items: end; }
.part-form .config-actions, .part-form .check-line { grid-column: 1 / -1; }
.part-tools { flex-wrap: wrap; gap: 10px; align-items: center; }
.part-tools .inline-field { display: flex; gap: 6px; align-items: center; margin: 0; font-size: 12.5px; }
.part-table td small { color: var(--muted); }
.answer-yes { color: var(--forest-700); font-weight: 700; text-decoration: none; }
.answer-no { color: var(--coral); font-weight: 700; }
.inline-rename > summary { cursor: pointer; list-style: none; }
.inline-rename > summary::after { content: " ✎"; color: var(--quiet); font-size: 11px; }
@media (max-width: 800px) { .part-form { grid-template-columns: 1fr; } }
.answer-off { color: var(--quiet); font-weight: 700; text-decoration: none; }

/* Lista de tarefas compacta e paginada (02/10/2026): 10 por página, ordenação no cabeçalho, datas numa linha */
.task-list-table th { padding: 0; }
.task-list-table th.select-cell { padding: 7px 8px; }
.task-list-table .sort-button { display: flex; align-items: center; gap: 4px; width: 100%; padding: 7px 8px; border: 0; background: none; color: inherit; font: inherit; font-weight: 700; text-align: left; cursor: pointer; white-space: nowrap; }
.task-list-table .sort-button:hover { color: #007f73; }
.task-list-table .sort-mark { color: #007f73; font-size: 12px; }
.task-list-table td { padding: 4px 8px; line-height: 1.3; }
.task-list-table .obligation-status { padding: 2px 8px; font-size: 10.5px; }
.task-list-table .list-num { color: #7a877f; font-variant-numeric: tabular-nums; }
.task-list-table .list-client .list-company-doc { font-size: 10.5px; line-height: 1.2; }
.list-dates span { display: inline; margin-right: 8px; line-height: 1.3; }
.list-dates span:last-child { margin-right: 0; }
.list-dates b { color: #6b7a70; font-weight: 700; }
.task-list-crumbs .crumb-link { padding: 0; border: 0; background: none; color: #007f73; font: inherit; cursor: pointer; }
.task-list-crumbs .crumb-link:hover { text-decoration: underline; }
.task-list-crumbs > * + *::before { content: "›"; margin-right: 6px; color: #9aa7a0; }
.task-list-crumbs span + span::before { content: none; }
.task-list-crumbs > span + span::before { content: "›"; }
.task-list-crumbs [aria-current] { color: #1d3a2b; font-weight: 700; }
.task-list-export { white-space: nowrap; }
.task-list-pager { display: flex; align-items: center; justify-content: flex-end; gap: 16px; padding: 7px 22px; border-top: 1px solid #e0e9ec; background: #f7f9f8; font-size: 12px; color: #34505e; }
.task-list-pager select { margin-left: 6px; padding: 3px 6px; border: 1px solid #d0dde2; border-radius: 6px; background: #fff; font: inherit; }
.task-list-range { font-weight: 700; font-variant-numeric: tabular-nums; }
.task-list-pages { display: inline-flex; gap: 2px; }
.task-list-pages button { min-width: 30px; height: 28px; border: 0; border-radius: 6px; background: none; color: #007f73; font-size: 15px; cursor: pointer; }
.task-list-pages button:hover:not(:disabled) { background: #e7efe9; }
.task-list-pages button:disabled { color: #b8c2bc; cursor: default; }
@media (max-width: 700px) { .task-list-pager { flex-wrap: wrap; justify-content: center; padding: 7px 10px; } .task-list-export { display: none; } }

/* Ficha: sequência de cadastro, perfil e execução. */
.client-workspace .config-tabs {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;border:0;margin:20px 0 12px}
.client-workspace .config-tabs a {background:#f0f2f2;border:0;border-radius:5px;padding:15px 18px;color:#36504a;text-align:left;font-weight:500}
.client-workspace .config-tabs a.is-current {background:#16876d;color:white}
.client-workspace .config-tabs a.is-muted {opacity:.65}
.client-secondary-actions {display:flex;gap:18px;justify-content:flex-end;margin:0 0 12px;font-size:12px}
.client-workspace .config-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
.client-workspace .profile-form .config-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.client-workspace .profile-layout {grid-template-columns:minmax(320px,42%) minmax(0,1fr);align-items:start;gap:20px}
.client-workspace .survey-scroll {max-height:56vh;overflow:auto;padding:12px;background:#dceff4;border:1px solid #bce0ea;border-radius:5px}
.client-workspace .survey-group {background:transparent;border:0;padding:0}
.client-workspace .survey-question {background:#fff9e5;border:1px solid #eee8cf;border-radius:4px;padding:16px;margin-bottom:14px}
.client-workspace .survey-options {display:flex;flex-direction:column;gap:5px;margin-top:14px}
.client-workspace .survey-options label {display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #e3e4df;background:white;border-radius:4px;min-height:38px}
.client-workspace .survey-options label:has(input:checked) {background:#dff0d6;border-color:#cee4c2;color:#216640}
.client-workspace .enabled-columns {max-height:56vh;overflow:auto}
.modal-frame .client-workspace .config-heading {display:flex}
body.modal-frame .client-workspace .config-heading h1 {display:block;font-size:20px}
.client-workspace .client-note-add {margin-bottom:8px}
@media(max-width:1000px){.client-workspace .config-tabs {gap:5px}.client-workspace .config-tabs a {padding:12px 7px}.client-workspace .config-grid {grid-template-columns:repeat(2,minmax(0,1fr))}.client-workspace .profile-layout {grid-template-columns:1fr}.client-workspace .survey-scroll {max-height:60vh}}
@media(max-width:600px){.client-workspace .config-tabs {grid-template-columns:repeat(3,minmax(0,1fr))}.client-workspace .config-grid {grid-template-columns:1fr}.client-secondary-actions {flex-wrap:wrap;justify-content:flex-start}}

/* G-Click: botões coloridos, diálogo da pendência, ferramentas do andamento */
.gc-btn.is-teal { background: #00a896; border-color: #00a896; color: #fff; }
.gc-btn.is-blue { background: #0f6f88; border-color: #0f6f88; color: #fff; }
.gc-btn.is-warn { background: #f3a847; border-color: #f3a847; color: #fff; }
.gc-btn.is-danger { background: #f0576a; border-color: #f0576a; color: #fff; }
.gc-btn.is-auto { background: #fff; color: #5aa6dc; border-color: #bcd9ef; }
.gc-btn.is-auto.is-on { background: #6cb4e8; border-color: #6cb4e8; color: #fff; }
.gc-btn.is-teal:hover, .gc-btn.is-blue:hover, .gc-btn.is-warn:hover, .gc-btn.is-danger:hover { filter: brightness(.94); color: #fff; }
.task-gc-wrench { color: #fff; text-decoration: none; opacity: .85; }
.gc-dialog { border: 0; padding: 0; width: min(560px, 94vw); max-height: 92vh; border-radius: 8px; box-shadow: 0 20px 60px rgba(0,0,0,.35); }
.gc-dialog::backdrop { background: rgba(20, 24, 22, .55); }
.gc-dialog > header { display: flex; justify-content: center; position: relative; padding: 22px 16px 14px; border-bottom: 1px solid var(--line); }
.gc-dialog > header h2 { margin: 0; font-size: 22px; color: #555; }
.gc-dialog-x { position: absolute; right: 12px; top: 10px; border: 0; background: transparent; font-size: 22px; cursor: pointer; color: #999; }
.gc-dialog-tabs { display: flex; gap: 0; padding: 14px 16px 0; background: #f8f9fa; }
.gc-dialog-tabs button { border: 1px solid transparent; border-bottom: 0; background: transparent; padding: 8px 16px; font: inherit; font-size: 13px; color: var(--muted); cursor: pointer; border-radius: 6px 6px 0 0; }
.gc-dialog-tabs button.is-current { background: #fff; border-color: var(--line); color: var(--ink); font-weight: 700; }
.gc-dialog-body { display: grid; gap: 10px; padding: 14px 16px; background: #fff; margin: 0 16px; border: 1px solid var(--line); border-top: 0; overflow: auto; max-height: 62vh; }
.gc-dialog-body[hidden] { display: none; }
.gc-dialog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.gc-dialog-check { border: 0; padding: 0; margin: 0; display: grid; gap: 4px; align-content: start; }
.gc-dialog-check legend { font-size: 13px; font-weight: 700; padding: 0; margin-bottom: 4px; }
.gc-dialog footer { display: flex; justify-content: space-between; gap: 8px; padding: 14px 0 4px; }
.gc-dialog > .gc-dialog-body + .gc-dialog-body { border-top: 0; }
.history-tools { display: inline-flex; gap: 8px; align-items: center; margin-left: 8px; }
.gc-icon-link { border: 0; background: transparent; cursor: pointer; font-size: 14px; padding: 0 2px; color: #1f5fcf; list-style: none; }
.gc-icon-link::-webkit-details-marker { display: none; }
.gc-icon-link.is-danger { color: #d23f4c; }
.task-gc-close { display: flex; justify-content: flex-end; padding: 6px 2px 0; }
.history-none[hidden] { display: none; }
.history-none { background: #f6dede; color: #9a3a3a; text-align: center; padding: 12px; border: 1px solid #ecc7c7; border-radius: 4px; }
@media (max-width: 600px) { .gc-dialog-grid { grid-template-columns: 1fr; } }

/* Revisão G-Click (13/10): campos em coluna, atividades enxutas, histórico em cartões, tudo secundário em janelas */
.task-gc-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 14px 12px; background: var(--surface); border-radius: 8px; }
.gc-field { grid-column: 1 / -1; }
.gc-field.is-half { grid-column: auto; }
.gc-field > label { font-size: 12px; }
.gc-value { border-radius: 4px; min-height: 34px; background: #fbfbfb; font-size: 13px; }
.gc-value.is-late span { color: var(--coral); font-weight: 600; }
.gc-icon-btn { border: 0; }
.gc-icon-btn.is-mini { width: 20px; height: 20px; font-size: 11px; }
.gc-chipbox { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; min-height: 34px; padding: 3px 6px; border: 1px solid var(--line-strong); border-radius: 4px; background: var(--surface); }
.gc-chipbox .support-chip { margin: 0; background: #eef0ef; }
.gc-chip-add { margin: 0; flex: 1; min-width: 90px; }
.gc-chip-add select { width: 100%; border: 0; background: transparent; min-height: 26px; font-size: 12.5px; padding: 0; color: var(--muted); }
.task-gc-info { position: relative; border: 0; background: transparent; color: #fff; font-size: 18px; cursor: pointer; opacity: .9; padding: 0 4px; }
.task-gc-info b { position: absolute; top: -6px; right: -6px; min-width: 16px; height: 16px; border-radius: 8px; background: #fff; color: var(--ink); font-size: 10px; line-height: 16px; text-align: center; }
.task-gc-activities { background: var(--surface); border-radius: 8px; padding: 0 0 8px; border: 1px solid var(--line); }
.task-gc-tabline { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 10px 14px; border-bottom: 1px solid var(--line); }
.task-gc-tabline h2 { margin: 0; font-size: 13px; }
.task-gc-note { margin: 4px 14px; font-size: 12px; color: var(--muted); }
.gc-activity-list { margin: 8px 12px 4px; border-radius: 4px; }
.gc-activity { grid-template-columns: 28px 34px minmax(0, 1fr) auto; padding: 8px 10px; }
.gc-activity .activity-text { display: grid; gap: 2px; }
.gc-activity .activity-text strong { font-weight: 500; font-size: 13px; }
.gc-activity .activity-help > summary { cursor: pointer; list-style: none; }
.gc-activity .activity-help > summary::before { content: "⌄ "; color: #0f6f88; }
.gc-activity .activity-help > summary strong { color: #0f6f88; }
.gc-kind { width: 26px; height: 26px; border: 0; background: transparent; font-size: 14px; color: #566e7a; }
.gc-activity.is-done .gc-kind { background: transparent; color: #566e7a; }
.gc-done-stamp { font-size: 11.5px; color: var(--muted); white-space: nowrap; }
.gc-done-stamp i { color: #1c8f4a; font-style: normal; font-weight: 700; }
.gc-btn.is-icon { min-width: 30px; justify-content: center; padding: 4px 8px; }
.gc-btn.is-ok { background: #1eb090; border-color: #1eb090; color: #fff; }
.gc-btn.is-ok:hover { background: #179a7d; color: #fff; }
.task-gc-actionbar { background: transparent; border: 0; padding: 0; }
.task-gc-history { border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.task-gc-history .history-list { background: #ededed; list-style: none; }
.task-gc-history .history-list > li { background: #fff; border-radius: 4px; padding: 8px 12px; margin-bottom: 8px; display: block; }
.hc-head { display: flex; justify-content: space-between; gap: 10px; font-size: 12px; }
.hc-user { color: #1f5fcf; }
.hc-head time { color: var(--muted); font-size: 11px; }
.hc-body { font-size: 13px; margin-top: 4px; display: grid; gap: 3px; }
.hc-body small { color: var(--muted); }
.hc-edit { display: grid; gap: 6px; margin-top: 6px; }
.hc-edit[hidden] { display: none; }
.history-tools { display: inline-flex; gap: 8px; margin-left: 0; }
.task-gc-composer { margin-top: 10px; }
.task-gc-counter { text-align: right; font-size: 11px; color: var(--muted); }
.gc-dialog-sm { width: min(440px, 94vw); }
.gc-dialog-lg { width: min(980px, 96vw); }
.gc-dialog-form, .gc-dialog-scroll { display: grid; gap: 10px; padding: 14px 18px 16px; overflow: auto; max-height: 74vh; }
.gc-dialog-form footer, .gc-dialog-scroll footer { display: flex; justify-content: space-between; gap: 8px; padding-top: 6px; }
.gc-dialog-scroll h3 { margin: 6px 0 2px; font-size: 14px; }
.gc-manual { border: 1px solid var(--line); border-radius: 8px; padding: 8px 12px; }
.gc-manual > summary { cursor: pointer; font-weight: 600; }
.gc-info-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.task-notices-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.task-notices-list li { padding: 8px 10px; border-radius: 8px; background: #f6f8f6; display: grid; gap: 4px; }
.task-gc-facts { display: grid; gap: 4px; margin: 0; }
.task-gc-facts div { display: flex; justify-content: space-between; gap: 10px; border-bottom: 1px dashed var(--line); padding: 4px 0; }
.task-gc-facts dt { color: var(--muted); }
.task-gc-facts dd { margin: 0; font-weight: 600; }
@media (max-width: 900px) {
  .task-gc-tabline { gap: 8px; }
  .gc-activity { grid-template-columns: 24px minmax(0, 1fr); }
  .gc-activity .gc-kind { display: none; }
  /* ordem e ícone escondidos: o nome ocupa a linha (senão cai na coluna de 24px e quebra letra a letra) */
  .gc-activity .activity-text { grid-column: 1 / -1; }
}
/* Linhas das atividades compactas como no G-Click: tudo numa linha, botões pequenos, sem quebrar */
.task-gc .gc-activity { grid-template-columns: 26px 26px minmax(0, 1fr) auto; gap: 8px; padding: 5px 10px; min-height: 36px; }
.task-gc .gc-activity .activity-text strong { font-size: 12.5px; }
.task-gc .gc-actions { flex-wrap: nowrap; gap: 4px; }
.task-gc .gc-actions > form, .task-gc .gc-actions > details { flex: none; }
.task-gc .gc-actions .gc-btn { min-height: 24px; padding: 2px 7px; font-size: 11.5px; border-radius: 4px; }
.task-gc .gc-actions .gc-btn.is-icon { min-width: 24px; padding: 2px 5px; }
.task-gc .gc-done-stamp { font-size: 11px; }
.task-gc .gc-order { font-size: 11px; }
.task-gc .gc-kind { width: 22px; height: 22px; font-size: 13px; }
.task-gc-actionbar .gc-btn { min-height: 32px; padding: 4px 12px; font-size: 12.5px; }
.task-gc-tabline .gc-btn.is-icon { min-height: 26px; min-width: 26px; padding: 2px 6px; }
.task-gc-comp-nav a, .task-gc-comp-nav .is-off { height: 26px; min-width: 28px; }
.task-gc-comp-nav strong { padding: 2px 10px; }
@media (max-width: 900px) { .task-gc .gc-actions { flex-wrap: wrap; } }
.gc-ret-tag { display: inline-block; justify-self: start; padding: 0 6px; border-radius: 3px; background: #e5484d; color: #fff; font-size: 10.5px; font-weight: 700; }
.task-gc .gc-actions .gc-btn.is-ret { background: #e5484d; color: #fff; border-color: #e5484d; padding: 1px 6px; font-weight: 700; }
.task-gc .gc-activity[id] .activity-text { grid-auto-flow: row; }
/* Perfil do cliente compacto como no G-Click: enquete em linhas baixas e obrigações por departamento em colunas */
.client-workspace .survey-question { padding: 8px 10px; margin-bottom: 8px; }
.client-workspace .survey-question > strong, .client-workspace .survey-question h3, .client-workspace .survey-question legend { font-size: 12.5px; }
.client-workspace .survey-options { gap: 3px; margin-top: 6px; }
.client-workspace .survey-options label { padding: 3px 8px; min-height: 26px; font-size: 12px; gap: 6px; }
.client-workspace .survey-options label input { margin: 0; }
.client-workspace .enabled-columns { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(140px, 1fr); gap: 0; overflow-x: auto; border: 1px solid var(--line); border-radius: 4px; background: #fff; }
.client-workspace .enabled-column { border-right: 1px solid var(--line); padding: 0 6px 8px; min-width: 140px; }
.client-workspace .enabled-column h3 { font-size: 12px; margin: 0 -6px 6px; padding: 8px; border-bottom: 1px solid var(--line); background: #fafafa; position: sticky; top: 0; }
.client-workspace .enabled-card { display: block; padding: 4px 6px 4px 8px; margin-bottom: 4px; border-left: 4px solid #4cc28f; border-radius: 3px; font-size: 11.5px; line-height: 1.3; background: #fff; box-shadow: 0 0 0 1px var(--line); }
.client-workspace .enabled-card strong { font-weight: 500; color: #1f5fcf; }
.client-workspace .enabled-card small { display: block; font-size: 10.5px; color: var(--muted); }
.client-workspace .enabled-card.is-blocked, .client-workspace .enabled-card.is-draft { border-left-color: #c9ced1; }
.client-workspace .enabled-card.status-pending { border-left-color: #f0b44c; }
.client-workspace .enabled-summary span { padding: 6px 10px; }

/* Configuração da obrigação › Responsáveis (layout do G-Click) */
.gc-resp { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 14px; align-items: start; }
.gc-resp-tools { display: flex; gap: 10px; align-items: center; margin-bottom: 8px; }
.gc-resp-tools input { max-width: 320px; }
.gc-resp-table td { vertical-align: top; padding: 6px 8px; font-size: 12.5px; }
.gc-resp-side { display: grid; gap: 6px; background: #f6f7f6; border: 1px solid var(--line); border-radius: 6px; padding: 10px; }
.gc-resp-side h3 { margin: 6px 0 2px; font-size: 13px; }
.gc-resp-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.gc-resp-list li { display: flex; align-items: center; gap: 6px; background: #fff; border: 1px solid var(--line); border-radius: 4px; padding: 4px 6px; }
.gc-resp-list li > form:last-child { margin-left: auto; }
.chip-tag { display: inline-block; padding: 0 6px; border-radius: 8px; background: #e5e8e6; font-size: 11px; color: #44524a; }
@media (max-width: 900px) { .gc-resp { grid-template-columns: 1fr; } }

/* Auditoria e Resumo (modais, como no G-Click) */
.gc-page-footer { display: flex; gap: 6px; margin: 10px 0 0; }
.gc-audit-search { width: 100%; margin: 0 0 10px; padding: 6px 10px; border: 1px solid var(--line-strong); border-radius: 8px; font: inherit; font-size: 12.5px; }
.gc-audit-feed { list-style: none; margin: 0; padding: 10px; background: #eef0ef; border-radius: 8px; display: grid; gap: 10px; }
.gc-audit-item { display: grid; grid-template-columns: 36px 1fr; gap: 10px; align-items: start; }
.gc-audit-avatar { width: 36px; height: 36px; border-radius: 6px; background: var(--forest-700); color: #fff; display: grid; place-items: center; font-weight: 700; }
.gc-audit-card { background: #f6f3d6; border-radius: 6px; padding: 8px 12px; font-size: 12px; line-height: 1.45; }
.gc-audit-card p { margin: 0; }
.gc-audit-head { display: flex; justify-content: space-between; gap: 8px; }
.gc-audit-head b { color: #0f6f88; font-weight: 600; }
.gc-audit-head time { color: #6b7570; font-size: 11px; }
.gc-audit-reason { color: #566e7a; }
.gc-summary-head { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 0 10px; }
.gc-summary-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.gc-summary-table th, .gc-summary-table td { border: 1px solid #e3e6e4; padding: 5px 8px; text-align: left; }
.gc-summary-table td:nth-child(-n+2) { width: 44px; text-align: center; }
.gc-summary-table tr.is-group td { background: #b9dfe9; font-weight: 700; }
.gc-summary-table tr.is-question td { font-weight: 600; }
@media (max-width: 600px) { .gc-summary-head { grid-template-columns: 1fr; } }

/* Janela da tarefa: campo longo (Cliente) não pode alargar a coluna nem invadir o quadro de atividades */
.task-gc-side, .task-gc-fields, .gc-field, .gc-value { min-width: 0; }
.gc-value-actions { flex: none; }
.gc-client { overflow: hidden; }

/* Aba Gerar Tarefas do cliente (modelo G-Click) */
.gen-filters { display: grid; grid-template-columns: 1.3fr 1fr 1.2fr 1.2fr auto; gap: 14px; align-items: end; margin: 0 0 14px; }
.gen-attention { background: #fff7de; border: 1px solid #f2e7c2; color: #6b5420; border-radius: 4px; padding: 10px 14px; font-size: 12px; margin: 0 0 12px; }
.gen-attention p { margin: 4px 0 0; }
.gen-only-ready { font-size: 12px; margin: 0 0 8px; }
.gen-table td.gen-dept { border-left: 4px solid #6fdcc4; }
.gen-table tr.is-blocked td.gen-dept { border-left-color: #f0644f; }
.gen-table td a { color: #0878b8; text-decoration: none; }
.gen-person { display: block; border: 1px solid #e4e8e5; border-left: 4px solid #6fdcc4; padding: 6px 10px; margin: 0 0 4px; font-size: 12px; background: #fff; }
.gen-status-box { display: block; padding: 10px; border-radius: 4px; font-size: 12px; text-align: center; }
.gen-status-box.is-error { background: #f6dcdc; border: 1px solid #ecc4c4; color: #a33a3a; }
.gen-status-box.is-warn { background: #fff7de; border: 1px solid #f2e7c2; color: #8a6a22; }
/* depois de gerar, como o G-Click: ✓ verde no lugar do quadradinho e caixa azul com geradas / existentes */
.gen-status-box.is-info { background: #d9edf7; border: 1px solid #bce8f1; color: #31708f; }
.gen-done { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background: #1f7a3a; color: #fff; font-weight: 700; font-size: 13px; }
.gen-confirm-body { padding: 18px 24px; text-align: center; color: #555; }
.gen-confirm-body mark { background: #fcf3c7; color: #555; padding: 1px 6px; border-radius: 3px; font-weight: 600; }
.gen-confirm-foot { display: flex; justify-content: space-between; padding: 12px 24px; border-top: 1px solid var(--line); background: #f7f8f9; }
@media (max-width: 900px) { .gen-filters { grid-template-columns: 1fr 1fr; } }

/* Ações em lote › Tarefas › Excluir (modelo G-Click) */
.del-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px 14px; }
.del-grid .del-wide { grid-column: span 2; }
.del-grid select[multiple] { min-height: 34px; }
.del-clear { font-size: 11px; color: #5f7480; justify-self: end; margin-top: 2px; }
.del-checks { display: flex; flex-wrap: wrap; gap: 6px 24px; margin-top: 10px; font-size: 12px; }
.del-buttons { display: flex; gap: 6px; margin: 0 0 10px; }
.del-impact { background: #f6dcdc; border: 1px solid #ecc4c4; color: #8a2b2b; padding: 10px 12px; border-radius: 4px; font-size: 12.5px; margin: 0 0 10px; }
.del-aware { display: grid; gap: 8px; max-width: 640px; margin: 0 0 12px; }
.del-count { font-size: 12px; color: #5f7480; margin: 0 0 6px; }
.del-table td.del-status { border-left: 4px solid #f5c518; }
.del-table td a { color: #0878b8; text-decoration: none; }
@media (max-width: 900px) { .del-grid { grid-template-columns: 1fr 1fr; } }

/* Obrigação › 5. Responsáveis (modelo G-Click) */
.gc-resp-table tr td.gc-resp-bar { border-left: 4px solid #6fdcc4; }
.gc-resp-table tr.is-unassigned td.gc-resp-bar { border-left-color: #f0644f; }
.gc-resp-person { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 7px 10px; border: 1px solid #e4e8e5; border-left: 4px solid #6fdcc4; background: #fff; font-size: 12.5px; }
.gc-resp-person + .gc-resp-person { border-top: 0; }
.gc-resp-person .icon { width: 15px; height: 15px; stroke: #e04848; fill: none; }
.gc-resp-empty { margin: 0; padding: 8px 10px; background: #fff7de; border: 1px solid #f2e7c2; color: #8a6a22; font-size: 12px; }
.gc-pin { display: inline-grid; place-items: center; width: 28px; height: 28px; border: 0; border-radius: 4px; background: #19b095; cursor: pointer; }
.gc-pin .icon { width: 14px; height: 14px; stroke: #fff; fill: #fff; }
#ob-fix { width: min(520px, 92vw); max-height: 90vh; overflow: auto; border: 1px solid #dbe6ea; border-radius: 8px; padding: 22px; }
#ob-fix::backdrop { background: rgba(20,40,35,.35); }
#ob-fix h2 { text-align: center; font-weight: 500; margin: 0 0 12px; }
#ob-fix .resp-fix-info { background: #dcf0f6; border: 1px solid #bde2ee; color: #36788c; font-size: 12px; padding: 10px; border-radius: 4px; }
#ob-fix .resp-fix-warning { background: #fff7de; border: 1px solid #f2e7c2; color: #8a6a22; font-size: 12px; padding: 10px; border-radius: 4px; text-align: center; }
.gc-resp [data-role].is-hl { background: #f0a04b !important; color: #fff !important; }
.gen-filters.is-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) auto; }
.gen-adjust { margin-top: 18px; border-top: 1px solid var(--line); padding-top: 10px; font-size: 13px; }
.gen-adjust > summary { cursor: pointer; color: #566e7a; }

/* Obrigação › 1. Info (modelo G-Click) */
.gc-info-form { background: #f4f5f4; border-radius: 6px; padding: 14px 18px; }
.gc-info-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px 18px; align-items: start; }
.gc-info-grid .gc-span-2 { grid-column: span 2; }
.gc-name { display: flex; }
.gc-name-id { display: inline-grid; place-items: center; min-width: 36px; padding: 0 8px; border: 1px solid var(--line-strong); border-right: 0; border-radius: 4px 0 0 4px; background: #eef0ef; color: #566e7a; font-size: 12px; }
.gc-name input, .gc-name textarea { flex: 1; min-width: 0; }
.gc-info-checks { display: grid; gap: 4px; font-size: 12px; padding-top: 4px; }
.gc-info-checks label { display: flex; gap: 6px; align-items: center; font-weight: 600; }
.gc-info-buttons { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0 4px; align-items: flex-start; }
.gc-info-buttons .gc-pop-body { display: grid; gap: 6px; padding: 8px; background: #fff; border: 1px solid var(--line); border-radius: 6px; min-width: 260px; }
.gc-more { margin-top: 12px; font-size: 13px; }
.gc-more > summary { cursor: pointer; color: #566e7a; }
@media (max-width: 900px) { .gc-info-grid { grid-template-columns: 1fr 1fr; } }

/* Obrigação › 2. Perfil (modelo G-Click) */
.gc-perfil { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px; align-items: start; }
.gc-info-box { background: #dcf0f6; border: 1px solid #bde2ee; color: #36788c; font-size: 12.5px; padding: 10px 12px; border-radius: 4px; margin: 0 0 12px; }
.gc-perfil-add { display: grid; grid-template-columns: 140px 1fr auto; gap: 10px; align-items: end; margin: 0 0 12px; }
.gc-perfil-plus { height: 34px; width: 34px; justify-content: center; font-size: 18px; }
.gc-perfil-list td.gc-perfil-group { width: 70px; font-weight: 600; }
.gc-perfil-list td:last-child { width: 36px; text-align: right; }
.gc-perfil-list .icon { width: 15px; height: 15px; stroke: #e04848; fill: none; }
.gc-perfil-title { font-size: 13px; margin: 0 0 8px; }
.gc-perfil-pending { font-size: 12px; margin: 6px 0 0; padding-left: 18px; }
@media (max-width: 900px) { .gc-perfil { grid-template-columns: 1fr; } }

/* Obrigação › 3. Datas (modelo G-Click) */
.gc-dates-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 12px 18px; align-items: end; margin: 0 0 14px; }
.gc-dates-form .gc-dates-more { grid-column: 1 / -1; }
.gc-pair { display: grid; grid-template-columns: minmax(0, 1fr) 24px 84px; align-items: center; gap: 4px; }
.gc-arrows { text-align: center; color: #5f7480; }
.gc-pair select, .gc-pair input { min-width: 0; }
.gc-date-cell { position: relative; padding-right: 40px; }
.gc-date-cell > span { display: block; text-align: center; font-size: 12.5px; }
.gc-pin.is-blue { background: #0f6f88; position: absolute; right: 8px; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; }
.gc-pin.is-blue .icon { width: 13px; height: 13px; fill: none; stroke: #fff; stroke-width: 2; }
#date-override { width: min(620px, 94vw); border: 1px solid #dbe6ea; border-radius: 8px; padding: 22px; }
#date-override::backdrop { background: rgba(20,40,35,.35); }
@media (max-width: 900px) { .gc-dates-form { grid-template-columns: 1fr; } }
.date-dialog { width: min(560px, 94vw); border: 1px solid #dbe6ea; border-radius: 8px; padding: 22px; }
.date-dialog::backdrop { background: rgba(20,40,35,.35); }
.date-dialog h2 { text-align: center; font-weight: 500; margin: 0 0 14px; }
.date-dialog-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 10px 0; }
.gc-dates-form .vigencia-field { grid-column: 1 / -1; }

/* Modal no padrão G-Click (Gerenciando as Metas / os Vencimentos): título centralizado com ×, corpo cinza, ✏ verde salva, rodapé só "Fechar" */
dialog.gc-modal { width: min(560px, calc(100vw - 32px)); padding: 0; border: 1px solid rgba(0, 0, 0, .2); border-radius: 6px; box-shadow: 0 5px 15px rgba(0, 0, 0, .5); background: #fff; color: #555; }
dialog.gc-modal::backdrop { background: rgba(0, 0, 0, .5); }
.gc-modal-head { position: relative; padding: 22px 40px 18px; border-bottom: 1px solid #e5e5e5; text-align: center; }
.gc-modal-head h2 { margin: 0; font-size: 22px; font-weight: 600; color: #555; }
.gc-modal-x { position: absolute; top: 10px; right: 14px; border: 0; background: none; font-size: 20px; line-height: 1; color: #bbb; cursor: pointer; }
.gc-modal-x:hover { color: #555; }
.gc-modal-body { padding: 18px 24px 22px; background: #f7f7f7; }
.gc-modal .gc-label { display: block; font-size: 12px; font-weight: 700; color: #555; }
.gc-modal .gc-label b { color: #e74c3c; }
.gc-modal .gc-input { display: block; width: 100%; margin-top: 6px; padding: 6px 10px; border: 1px solid #ccc; border-radius: 2px; background: #fff; font-size: 13px; color: #555; }
.gc-modal .gc-input[readonly] { background: #eee; color: #666; cursor: not-allowed; }
.gc-modal .gc-input:focus { outline: 0; border-color: #00a896; }
.gc-modal-row { display: flex; align-items: flex-end; gap: 24px; margin-top: 16px; }
.gc-modal-row .gc-day { flex: 0 0 125px; }
.gc-modal-row .gc-day .gc-input { text-align: right; }
.gc-modal-row .gc-config { flex: 0 1 205px; }
.gc-modal-save { flex: 0 0 auto; width: 32px; height: 30px; margin-left: 4px; border: 0; border-radius: 3px; background: #00a896; color: #fff; cursor: pointer; display: inline-grid; place-items: center; }
.gc-modal-save:hover { background: #18a689; }
.gc-modal-save .icon { width: 14px; height: 14px; }
.gc-modal-foot { display: flex; justify-content: flex-end; padding: 14px 20px; border-top: 1px solid #e5e5e5; }
@media (max-width: 480px) { .gc-modal-row { flex-wrap: wrap; gap: 12px; } .gc-modal-row .gc-day, .gc-modal-row .gc-config { flex: 1 1 100%; } }

/* ⚙ por particularidade (G-Click): engrenagem verde-água ao lado de Meta/Vencimento e modal com Particularidade + lista */
.gc-pin.is-teal { background: #00a896; color: #fff; border-color: #00a896; }
.gc-pin.is-red { background: #ed5565; color: #fff; border-color: #ed5565; }
.gc-modal-row .gc-part { flex: 1 1 180px; min-width: 0; }
.gc-modal .gc-profile-dates { width: 100%; margin-top: 14px; background: #fff; }
.gc-modal .gc-profile-dates form { margin: 0; }
.gc-modal-empty { margin: 14px 0 0; padding: 10px; border: 1px solid #ebccd1; border-radius: 3px; background: #f2dede; color: #a94442; text-align: center; font-size: 12px; }
.gc-pair:has(> .gc-pin) { grid-template-columns: 30px minmax(0, 1fr) 24px 84px; }
.gc-pair > .gc-pin { width: 30px; height: 30px; padding: 0; justify-content: center; }

/* Atividades (G-Click): barra de topo e modais "Atualizando Tarefas Abertas", Relatório e Incluir atividade */
.gc-toolbar { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.gc-btn.is-ok { background: #00a896; border-color: #00a896; color: #fff; }
dialog.gc-modal-wide { width: min(860px, calc(100vw - 32px)); }
.gc-modal-scroll { max-height: 46vh; overflow: auto; background: #fff; border: 1px solid #e5e5e5; }
.gc-notice { margin: 0 0 12px; padding: 10px 14px; border: 1px solid #faebcc; border-radius: 3px; background: #fcf8e3; color: #8a6d3b; text-align: center; font-size: 12.5px; }
.gc-modal-ask { margin: 14px 0 0; text-align: center; font-weight: 600; color: #555; }
.gc-modal-foot.is-split { justify-content: space-between; }
.gc-notice.is-error { border-color: #ebccd1; background: #f2dede; color: #a94442; }
.gc-progress-list { max-height: 30vh; overflow: auto; margin-top: 10px; }
.gc-progress-list .gc-notice { margin: 0 0 8px; }
.gc-progress { display: inline-flex; align-items: flex-end; gap: 3px; height: 22px; }
.gc-progress[hidden] { display: none; }
.gc-progress i { width: 6px; height: 100%; background: #00a896; animation: gc-bar 1s ease-in-out infinite; }
.gc-progress i:nth-child(2) { animation-delay: .15s; } .gc-progress i:nth-child(3) { animation-delay: .3s; } .gc-progress i:nth-child(4) { animation-delay: .45s; }
@keyframes gc-bar { 0%, 100% { transform: scaleY(.3); } 50% { transform: scaleY(1); } }
@media (prefers-reduced-motion: reduce) { .gc-progress i { animation: none; } }

/* ValidaPDF: resultado da conferência do anexo */
.gc-validation { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 999px; font-size: 11.5px; font-weight: 600; white-space: nowrap; cursor: help; }
.gc-validation.is-ok { background: #e3f3ea; color: #1f6b3d; }
.gc-validation.is-divergent { background: #fbe4e4; color: #a12929; }
.gc-validation.is-review { background: #fdf0d5; color: #8a5a00; }
.gc-validation.is-unknown { background: #e9ecef; color: #555; }

/* Configurações › ValidaPDF (G-Click): lista, passos e seleção de textos por linha */
.gc-page .gc-crumbs { margin: 0 0 14px; color: #555; font-size: 13px; }
.gc-page .gc-crumbs a { color: inherit; }
.gc-vp-filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; margin: 0 0 14px; }
.gc-vp-filters .gc-label { min-width: 220px; flex: 0 1 320px; }
.gc-vp-filters .check-line { flex-basis: 100%; }
.gc-vp-status { font-size: 12.5px; }
.gc-vp-status.is-ok { color: #1f8a3d; }
.gc-vp-status.is-link { color: #b07b00; }
.gc-vp-status.is-attach { color: #777; }
.gc-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 0 0 16px; }
.gc-step { padding: 14px 16px; border-radius: 3px; background: #f1f1f1; color: #555; font-size: 12.5px; text-decoration: none; }
.gc-step.is-active { background: #00a896; color: #fff; }
.gc-panel { position: relative; padding: 18px 20px; border-radius: 3px; background: #f3f3f4; }
.gc-vp-info { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; max-width: 920px; }
.gc-pair-inline { display: flex; align-items: stretch; gap: 0; margin-top: 6px; }
.gc-pair-inline .gc-input { margin-top: 0; }
.gc-pair-inline .gc-modal-save { margin-left: 0; height: auto; border-radius: 0 3px 3px 0; }
.gc-id { display: inline-grid; place-items: center; padding: 0 10px; border: 1px solid #ccc; border-right: 0; background: #eee; color: #666; font-size: 12px; }
.gc-vp-delete { position: absolute; top: 34px; right: 20px; }
.gc-vp-pdf { display: block; width: min(1060px, 100%); height: 70vh; margin: 18px auto 0; border: 1px solid #ddd; background: #fff; }
.gc-vp-upload { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; margin-top: 16px; }
.gc-dropzone { display: grid; place-items: center; width: min(820px, 100%); min-height: 160px; border: 2px dashed #ccc; border-radius: 4px; background: #fafafa; color: #777; text-align: center; cursor: pointer; }
.gc-dropzone input { margin-top: 10px; }
.gc-notice.is-left { text-align: left; line-height: 1.6; }
.gc-info { margin: 0 0 14px; padding: 10px 14px; border: 1px solid #bce8f1; border-radius: 3px; background: #d9edf7; color: #31708f; font-size: 12.5px; text-align: center; font-weight: 600; }
.gc-info.is-small { font-weight: 400; text-align: left; font-size: 12px; }
.gc-vp-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, 1fr); gap: 24px; }
.gc-vp-lines { padding: 12px; border: 1px solid #e5e5e5; background: #fff; }
.gc-vp-lines h3, .gc-vp-box h3 { margin: 0 0 10px; font-size: 13px; color: #555; }
.gc-vp-scroll { max-height: 70vh; overflow: auto; }
.gc-vp-n { width: 42px; color: #888; }
[data-line] { cursor: text; user-select: text; }
[data-line]::selection, [data-line] *::selection { background: #ffd700; }
.gc-vp-foot { text-align: center; font-size: 12px; margin: 8px 0 0; }
.gc-vp-box { margin: 0 0 16px; padding: 12px; border: 1px solid #e5e5e5; background: #fff; }
.gc-vp-pick { display: flex; align-items: flex-end; gap: 8px; margin: 0 0 8px; }
.gc-vp-pick .gc-label { flex: 1; }
.gc-vp-pick select { flex: 1; }
.gc-vp-hint { flex: 1; padding: 7px 10px; background: #eee; color: #777; font-size: 12px; }
.gc-vp-saved { display: flex; align-items: flex-start; gap: 10px; padding: 8px 10px; border: 1px solid #e5e5e5; margin-top: 6px; }
.gc-vp-saved > span:nth-child(2) { flex: 1; display: grid; gap: 4px; }
.gc-vp-saved b { font-weight: 500; font-size: 14px; color: #444; }
.gc-dot { width: 10px; height: 10px; margin-top: 4px; border-radius: 50%; background: #adff2f; flex: none; }
.gc-vp-saved.is-inscription .gc-dot { background: #ffd700; }
.gc-vp-saved.is-competence .gc-dot { background: #87ceeb; }
.gc-vp-actions { display: flex; gap: 12px; justify-content: space-between; margin-top: 10px; }
.gc-vp-actions form { flex: 1; }
.gc-vp-actions .gc-btn { width: 100%; justify-content: center; }
.gc-vp-test { margin-top: 12px; padding: 10px 12px; border: 1px solid #d6e9c6; background: #fff; }
.gc-vp-test p { margin: 4px 0; font-size: 12.5px; }
.gc-vp-test .is-ok { color: #1f8a3d; }
.gc-vp-test .is-bad { color: #a12929; }
.gc-vp-activity { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px; border-bottom: 1px solid #eee; background: #fff; }
.gc-vp-activity .chip-tag { margin-left: 4px; font-size: 10.5px; }
.gc-vp-activity .chip-tag.is-current { background: #f8ac59; color: #fff; }
.gc-btn.is-danger-solid { background: #ed5565; border-color: #ed5565; color: #fff; }
.gc-learn { background: #fcf8e3; }
@media (max-width: 900px) { .gc-vp-grid, .gc-vp-info, .gc-steps { grid-template-columns: 1fr; } }
/* campo salvo grifado na linha (cores vivas do G-Click: verde, amarelo, azul) */
.vp-mark { padding: 1px 2px; border-radius: 2px; color: #222; }
.vp-mark.is-keyword { background: #adff2f; }
.vp-mark.is-inscription { background: #ffd700; }
.vp-mark.is-competence { background: #87ceeb; }
.gc-vp-saved-ok { margin: 14px 0 0; padding: 12px 14px; border: 1px solid #d6e9c6; border-radius: 3px; background: #dff0d8; color: #3c763d; text-align: center; font-size: 12.5px; }
.gc-vp-hint.is-bad { color: #a12929; background: #f2dede; }
.gc-vp-box:nth-of-type(1) .gc-vp-hint:not(.is-bad) { box-shadow: inset 4px 0 0 #adff2f; }
.gc-dropzone.is-small { min-height: 90px; width: 100%; font-size: 12.5px; }
.gc-dropzone.is-over { border-color: #00a896; background: #e8f8f3; color: #1a7a63; }
.gc-dropzone input[type=file] { max-width: 100%; }

/* "Testando modelo" (G-Click): área cinza clicável/arrastável, cartões de arquivo e resultado vermelho/verde */
.gc-dropzone.is-test { display: block; width: 100%; min-height: 220px; padding: 22px; border: 0; background: #f3f3f4; color: #666; text-align: center; cursor: pointer; }
.gc-upload-mark { font-size: 15px; color: #555; }
.gc-file-cards { display: flex; flex-wrap: wrap; gap: 14px; justify-content: flex-start; margin-top: 10px; cursor: default; }
.gc-file-card { position: relative; display: grid; gap: 4px; width: 90px; min-height: 110px; padding: 6px; border: 1px solid #ccc; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.15); text-align: left; font-size: 11px; }
.gc-file-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-height: 54px; background: #eee; padding: 4px; }
.gc-file-ok { position: absolute; top: -10px; right: -10px; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #fff; color: #7ac142; font-weight: 700; box-shadow: 0 1px 2px rgba(0,0,0,.2); }
.gc-file-card .gc-btn { min-height: 20px; padding: 1px 6px; font-size: 10px; justify-self: center; }
.gc-vp-hintline { margin: 8px 0 0; font-size: 11.5px; }
.gc-vp-results td { vertical-align: top; }
.gc-vp-result { margin-top: 8px; padding: 10px 12px; border-radius: 3px; font-size: 12px; }
.gc-vp-result p { margin: 3px 0; }
.gc-vp-result.is-bad { border: 1px solid #ebccd1; background: #f2dede; color: #a94442; }
.gc-vp-result.is-ok { border: 1px solid #d6e9c6; background: #dff0d8; color: #3c763d; }

/* Obrigação › 4. Atividades como o G-Click */
.gc-activities td { vertical-align: top; }
.gc-act-order select { min-width: 110px; }
.gc-type-icon { display: inline-grid; place-items: center; width: 30px; height: 30px; border: 1px solid #ddd; border-radius: 3px; background: #fff; color: #666; font-size: 14px; cursor: default; }
button.gc-type-icon { cursor: pointer; }
.gc-type-icon.is-teal { background: #00a896; border-color: #00a896; color: #fff; }
.gc-act-head { display: flex; align-items: center; gap: 8px; }
.gc-tool { flex: none; min-width: 28px; height: 24px; padding: 0 6px; border: 0; border-radius: 3px; background: #0f6f88; color: #fff; font-size: 11px; font-weight: 700; cursor: pointer; }
.gc-tool.is-auto { background: #0f6f88; }
.gc-act-name { flex: 1; padding: 0; border: 0; background: none; color: #0f6f88; font: inherit; font-size: 13px; text-align: left; cursor: pointer; }
.gc-act-name:hover { text-decoration: underline; }
.gc-kebab { position: relative; }
.gc-kebab > summary { list-style: none; width: 22px; height: 26px; display: grid; place-items: center; border: 1px solid #ddd; border-radius: 3px; background: #fafafa; cursor: pointer; font-weight: 700; }
.gc-kebab > summary::-webkit-details-marker { display: none; }
.gc-kebab .gc-pop-menu { position: absolute; right: 0; top: 30px; z-index: 20; min-width: 190px; padding: 4px; border: 1px solid #ddd; background: #fff; box-shadow: 0 4px 12px rgba(0,0,0,.12); }
.gc-kebab .gc-pop-menu button { display: block; width: 100%; padding: 7px 10px; border: 0; background: none; text-align: left; font: inherit; font-size: 12.5px; cursor: pointer; }
.gc-kebab .gc-pop-menu button:hover { background: #f3f3f4; }
.gc-kebab .gc-pop-menu .is-danger { color: #c0392b; }
.gc-act-desc { margin-top: 6px; padding: 8px 10px; background: #f7f7f7; font-size: 12px; color: #555; }
.gc-act-bar { margin-top: 8px; padding: 6px 10px; border: 1px solid #f1e3a6; background: #fbf3cf; color: #8a6d1f; font-size: 12px; text-align: center; }
.gc-act-bar.is-blue { border-color: #bce8f1; background: #d9edf7; color: #31708f; text-align: left; }
.gc-chip-gear { display: inline-flex; align-items: center; gap: 4px; max-width: 260px; padding: 3px 8px; border: 0; border-radius: 3px; background: #00a896; color: #fff; font-size: 11.5px; text-align: left; cursor: pointer; }

.gc-type-icon .icon { width: 17px; height: 17px; }
.gc-tool.is-ok { background: #00a896; }
.gc-dollar { min-width: 22px; height: 24px; padding: 0 5px; border: 1px solid #ddd; border-radius: 3px; background: #fff; color: #777; font-weight: 700; cursor: pointer; }
.gc-dollar.is-on { background: #f8ac59; border-color: #f8ac59; color: #fff; }
.gc-kebab .gc-pop-menu button[disabled] { color: #999; cursor: not-allowed; }

/* Modal "Anexar" da atividade (arrastar e soltar) */
.gc-dialog.is-attach-open { width: min(620px, 94vw); }
.gc-dropzone.is-attach { display: grid; gap: 6px; place-items: center; width: 100%; min-height: 130px; margin: 0 0 12px; padding: 18px; border: 2px dashed #bbb; border-radius: 6px; background: #f6f6f7; color: #555; text-align: center; cursor: pointer; }
.gc-dropzone.is-attach.is-over { border-color: #00a896; background: #e8f8f3; }
.gc-dropzone.is-attach.has-file { border-style: solid; border-color: #00a896; background: #eefaf6; color: #146b58; font-weight: 600; }
.gc-attach-check { margin: 0 0 12px; padding: 8px 12px; border: 1px solid #d6e9c6; border-radius: 4px; background: #dff0d8; color: #3c763d; font-size: 12.5px; }
.gc-attach-files { margin: 0 0 12px; padding: 8px 10px; border: 1px solid #e0e0e0; border-radius: 4px; }
.gc-attach-files legend { padding: 0 6px; font-size: 12px; color: #666; }
.gc-attach-files ul { max-height: 190px; margin: 6px 0 0; padding: 0; overflow: auto; list-style: none; }
.gc-attach-files li label { display: flex; align-items: center; gap: 8px; padding: 5px 4px; cursor: pointer; font-size: 12.5px; }
.gc-attach-files li label:hover { background: #f3f3f4; }
.gc-attach-files em { padding: 1px 6px; border-radius: 999px; background: #00a896; color: #fff; font-size: 10.5px; font-style: normal; }
.gc-attach-search { width: 100%; padding: 6px 8px; border: 1px solid #ccc; border-radius: 3px; font-size: 12.5px; }

.gc-drive-btn .icon { width: 16px; height: 16px; }
.gc-attach-path { margin: 0 0 8px; font-size: 12.5px; color: #555; }
.gc-linkish { border: 0; background: none; color: #0f6f88; text-decoration: underline; cursor: pointer; font: inherit; padding: 0; }
.gc-drive-list { max-height: 260px; margin: 8px 0 12px; padding: 0; overflow: auto; list-style: none; border: 1px solid #e0e0e0; border-radius: 4px; }
.gc-drive-list li label { display: flex; align-items: center; gap: 8px; padding: 7px 10px; cursor: pointer; font-size: 12.5px; border-bottom: 1px solid #f0f0f0; }
.gc-drive-list li label:hover { background: #f3f3f4; }
.gc-drive-list li[hidden] { display: none; }
.gc-drive-status { margin-left: auto; font-size: 11px; color: #777; }
.gc-drive-status.is-ok { color: #1f8a3d; font-weight: 700; }
.gc-drive-status.is-divergent { color: #a12929; }
.gc-drive-status.is-review { color: #8a5a00; }
.gc-drive-list li { display: flex; align-items: center; }
.gc-drive-list li label { flex: 1; border-bottom: 0; }
.gc-drive-view { padding: 4px 10px; text-decoration: none; opacity: .75; }
.gc-drive-view:hover { opacity: 1; }

/* arrastar arquivo para o histórico: destaque "Solte aqui" */
.task-gc-history { position: relative; }
.task-gc-history.is-dropping::after { content: "Solte o arquivo aqui para anexar ao andamento"; position: absolute; inset: 0; display: grid; place-items: center; border: 3px dashed #00a896; background: rgba(232, 248, 243, .92); color: #146b58; font-weight: 700; font-size: 15px; z-index: 5; pointer-events: none; }
.gc-drive-logo { width: 18px; height: 16px; display: block; }
.gc-drive-btn { background: #fff; border: 1px solid #dadce0; }
.gc-drive-btn:hover { background: #f1f3f4; }

/* erro do anexo dentro do modal (G-Click) e linha da atividade em vermelho */
.gc-attach-error { margin: 0 0 12px; padding: 10px 14px; border: 1px solid #f1d98a; border-radius: 4px; background: #fff8e1; color: #8a6d1f; font-size: 12.5px; line-height: 1.45; }
.gc-attach-error[hidden] { display: none; }
li.has-error, tr.has-error { background: #fdecea; box-shadow: inset 4px 0 0 #ed5565; }

/* Anexar (um ícone só): selo do Drive no 📎 quando o arquivo já está na pasta; destaque "Encontrado no Drive" no modal */
.gc-attach-btn { position: relative; }
.gc-drive-badge { position: absolute; right: -6px; bottom: -6px; display: grid; place-items: center; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 1px #dadce0; }
.gc-drive-badge .gc-drive-logo { width: 11px; height: 10px; }
.gc-attach-dialog { width: min(620px, 94vw); }
.gc-found { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; padding: 10px 12px; border: 1px solid #b7e1cd; border-radius: 6px; background: #eefaf4; }
.gc-found[hidden] { display: none; }
.gc-found-logo .gc-drive-logo { width: 26px; height: 23px; }
.gc-found-text { flex: 1; display: grid; gap: 2px; min-width: 0; }
.gc-found-text b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gc-found-text small { color: #4a6b5a; font-size: 11.5px; }
.gc-found-searching { margin: 0 0 10px; font-size: 12px; color: #777; }
.gc-attach-more { margin: 0 0 10px; }
.gc-attach-more > summary { cursor: pointer; font-size: 12.5px; color: #0f6f88; }
.gc-attach-more[open] > summary { margin-bottom: 8px; }
.gc-guide-badge { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 999px; background: #f8ac59; color: #fff; font-size: 11.5px; font-weight: 700; white-space: nowrap; }

/* pasta do cliente no modal de anexo: expandida, com o Drive discreto e "Anexar" em um clique */
.gc-attach-folder { margin: 0 0 12px; }
.gc-attach-folder h3 { display: flex; align-items: center; gap: 6px; margin: 0 0 4px; font-size: 13px; color: #444; }
.gc-drive-mini { display: inline-grid; place-items: center; width: 15px; height: 14px; flex: none; }
.gc-drive-mini .gc-drive-logo { width: 14px; height: 12px; opacity: .85; }
.gc-drive-list li { gap: 4px; }
.gc-drive-list li label { gap: 6px; }
.gc-drive-list li:has(input:checked) { background: #eef6fd; }
.gc-row-attach { margin: 0 8px 0 2px; padding: 3px 10px; border: 1px solid #0f6f88; border-radius: 3px; background: #fff; color: #0f6f88; font-size: 11.5px; cursor: pointer; opacity: .55; }
.gc-drive-list li:hover .gc-row-attach, .gc-drive-list li:has(input:checked) .gc-row-attach { opacity: 1; background: #0f6f88; color: #fff; }
.gc-rectify-note { margin: 0 0 12px; padding: 9px 12px; border: 1px solid #f1d98a; border-radius: 4px; background: #fff8e1; color: #6b5413; font-size: 12.5px; }
.gc-drive-list li.is-attached { opacity: .55; background: #f6f6f6; }
.gc-row-attach.is-off { border-color: #bbb; background: transparent; color: #888; opacity: 1; cursor: default; }

/* linhas de atividade concluídas: carimbo e botões abaixo do nome (não espremem o texto; sem sobreposição) */
.gc-activity.is-done { grid-template-columns: 28px 34px minmax(0, 1fr); }
.gc-activity.is-done .gc-actions { grid-column: 3; justify-content: flex-start; max-width: none; margin-top: 2px; }
.gc-activity .gc-done-stamp { position: static; white-space: normal; }
.gc-activity .activity-text { min-width: 0; overflow-wrap: anywhere; }
.gc-activity .activity-text strong { overflow-wrap: anywhere; }
.gc-activity .gc-order { overflow: hidden; white-space: nowrap; }
.gc-drive-used { margin-left: 6px; padding: 1px 6px; border-radius: 999px; background: #fff3cd; color: #7a5a00; font-size: 10.5px; }

/* ícone do tipo da atividade: o mesmo da obrigação (PDF = ValidaPDF, clipe = anexo sem validação) */
.gc-kind .icon { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

.gc-multi-hint { margin: 6px 0; font-size: 12px; color: #566e7a; }
.gc-link-button { border: 0; background: none; padding: 0; color: #1b6fb5; cursor: pointer; text-decoration: underline; font-size: 12px; }

.gc-pop-text { margin: 0 0 8px; font-size: 12px; color: #34505e; max-width: 240px; }

/* atividade realizada: uma linha só, estreita como as pendentes (nome + "em nome de" à esquerda; data, Ret, validação e arquivos à direita) */
.task-gc .gc-activity.is-done, .gc-activity.is-done { grid-template-columns: 28px 30px minmax(0, 1fr) auto; padding-top: 5px; padding-bottom: 5px; min-height: 36px; }
.gc-activity.is-done .gc-actions { grid-column: auto; margin-top: 0; justify-content: flex-end; flex-wrap: wrap; gap: 4px 6px; align-items: center; }
.gc-activity.is-done .activity-text { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 10px; }
.gc-activity.is-done .activity-text small { font-size: 11px; color: #6b7a72; }
.gc-activity.is-done .gc-done-stamp { font-size: 11px; color: #566e7a; white-space: nowrap; }
@media (max-width: 760px) { .gc-activity.is-done { grid-template-columns: 24px minmax(0, 1fr); } .gc-activity.is-done .gc-actions { grid-column: 1 / -1; justify-content: flex-start; } }

.gc-robot-dialog { width: min(640px, 94vw); }
.gc-robot-body { padding: 12px 16px; max-height: 60vh; overflow: auto; }
.gc-robot-body h3 { margin: 12px 0 6px; font-size: 13px; }
.gc-robot-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.gc-robot-list li { padding: 6px 8px; border: 1px solid #d0dde2; border-radius: 6px; font-size: 12.5px; }
.gc-robot-list.is-problem li { border-color: #e0b4b4; background: #fbf1f1; }
.gc-robot-list small { color: #566e7a; }
.gc-btn.is-drive { gap: 3px; font-size: 13px; }
.gc-btn.is-drive .gc-drive-logo { width: 14px; height: 13px; }

.gc-ret-of { color: #8a2a2a; font-size: 11px; }
.gc-ret-by { color: #8a5a00; font-size: 11px; }
.gc-activity .gc-ret-tag { font-weight: 700; }

/* atividade realizada enxuta: carimbo curto, ValidaPDF só ícone (verde discreto quando confere) */
.gc-validation.is-icon { display: inline-flex; align-items: center; gap: 2px; padding: 1px 5px; border-radius: 10px; font-size: 11px; line-height: 1.4; }
.gc-validation.is-icon .icon { width: 13px; height: 13px; }
.gc-validation.is-icon.is-ok { background: transparent; color: #2f7d4f; border: 1px solid #cfe5d7; }
.gc-validation.is-icon.is-divergent { background: #fbeaea; color: #a33; border: 1px solid #e3b5b5; }
.gc-validation.is-icon.is-review, .gc-validation.is-icon.is-unknown { background: #fff6dd; color: #8a6d00; border: 1px solid #ecd9a0; }
.gc-activity.is-done .gc-ret-tag { opacity: .85; }

/* seleção com pesquisa (G-Click "Texto para ser adicionado") */
.gc-select2 { position: relative; }
.gc-select2-box { width: 100%; text-align: left; padding: 8px 28px 8px 10px; border: 1px solid #ccd3cf; border-radius: 4px; background: #fff; color: #566e7a; font: inherit; cursor: pointer; position: relative; }
.gc-select2-box::after { content: "▾"; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); font-size: 11px; color: #777; }
.gc-select2-panel { position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 2px); background: #fff; border: 1px solid #ccd3cf; border-radius: 4px; box-shadow: 0 6px 18px rgba(0,0,0,.12); }
.gc-select2-search { position: relative; padding: 6px; }
.gc-select2-search input { width: 100%; padding: 6px 28px 6px 8px; border: 1px solid #ccd3cf; border-radius: 3px; font: inherit; }
.gc-select2-search span { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); font-size: 12px; color: #777; }
.gc-select2-list { list-style: none; margin: 0; padding: 0; max-height: 220px; overflow: auto; }
.gc-select2-list li { padding: 6px 10px; cursor: pointer; }
.gc-select2-list li:hover { background: #1f6fd0; color: #fff; }
.gc-select2-list li.is-empty { color: #888; cursor: default; }
.gc-select2-list li.is-empty:hover { background: transparent; color: #888; }
.gc-select2-error { color: #b3261e; }

.gc-modal-row.is-waiting { opacity: .55; }
.gc-modal-row.is-waiting button, .gc-modal-row.is-waiting input { cursor: not-allowed; }

/* botão "Buscar anexos no Drive": logo colorido do Drive + atualizar */
[data-robot] .gc-drive-logo { width: 18px; height: 16px; flex: 0 0 auto; }
[data-robot] .gc-refresh { font-size: 15px; font-weight: 700; margin-left: 3px; color: #34505e; }

/* "Buscar anexos no Drive": ícone compacto, o ↻ sobre o canto do logo do Drive */
[data-robot] { position: relative; width: 32px; height: 32px; min-width: 0; padding: 0; display: inline-grid; place-items: center; }
[data-robot] .gc-drive-logo { width: 20px; height: 18px; }
[data-robot] .gc-refresh { position: absolute; right: -4px; bottom: -4px; width: 15px; height: 15px; margin: 0; border-radius: 50%;
  background: #fff; border: 1px solid #c5ccc8; display: grid; place-items: center; font-size: 11px; line-height: 1; font-weight: 700; color: #2f6f4f; }

.task-gc-state { display: inline-block; margin-right: 8px; padding: 3px 10px; border-radius: 999px; background: rgba(255,255,255,.22); color: #fff; font-size: 12px; font-weight: 600; white-space: nowrap; }

/* Lista de atividades como tabela (G-Click): ações em coluna fixa, alinhadas à direita em todas as linhas */
.task-gc .gc-activity { grid-template-columns: 26px 26px minmax(0, 1fr) 210px; }
.task-gc .gc-activity .gc-actions { width: 100%; max-width: none; justify-content: flex-end; }
.task-gc .gc-activity .gc-actions .gc-btn:not(.is-icon) { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.task-gc-tabline .task-gc-time { margin: 0; }
.task-gc-tabline > * { align-self: center; }
@media (max-width: 900px) { .task-gc .gc-activity { grid-template-columns: 26px minmax(0, 1fr); } }

/* Sistemas de Integração: cartões agrupados, como em Minha Empresa do G-Click */
.int-groups { display: flex; flex-wrap: wrap; gap: 16px 28px; }
.int-group h3 { margin: 0 0 6px; font-size: 12px; color: var(--muted); }
.int-cards { display: flex; gap: 0; }
.int-card { width: 112px; min-height: 104px; display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 6px; padding: 12px 6px 8px; border: 1px solid var(--line); background: #fff; color: var(--ink); text-align: center; text-decoration: none; font-size: 12px; }
.int-card:hover { background: #f3f8f4; }
.int-icon { font-size: 26px; line-height: 1; font-weight: 700; color: #1c7a5a; }
.int-badge { font-style: normal; padding: 2px 8px; border-radius: 10px; background: #e1e6e8; color: #5b6b73; font-size: 10px; }
.int-badge.is-on { background: #19b394; color: #fff; }

/* tela única como em Minha Empresa › Sistemas de Integração (G-Click) */
.int-panel { padding: 14px 16px; background: #f2f2f2; border-radius: 6px; display: flex; flex-wrap: wrap; gap: 14px 40px; }
.int-tabs a { text-align: left; font-weight: 500; }
.int-tabs a.is-current { background: #19b394; color: #fff; }
.int-card { width: 120px; min-height: 120px; padding: 18px 6px 8px; align-items: center; }
.int-logo, .int-card .gc-drive-logo { height: 40px; width: 40px; object-fit: contain; }
.int-glyph { height: 40px; display: grid; place-items: center; font-size: 28px; font-weight: 700; color: #1c7a5a; }
.int-badge { align-self: flex-end; }
.int-detail { display: none; }
.int-detail:target { display: block; }
.int-back { display: none; margin: 10px 0; }
.int-page:has(.int-detail:target) .int-overview { display: none; }
.int-page:has(.int-detail:target) .int-back { display: block; }

/* Minha empresa › Info, como no G-Click */
.office-info { display: block; }
.office-info-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 14px; margin-bottom: 14px; }
.office-info-grid .span-2 { grid-column: span 2; }
.office-info-grid .field { font-size: 11px; font-weight: 700; color: #555; }
.office-info-grid input { margin-top: 4px; background: #fff; }
.office-info .req { color: #d33; }
@media (max-width: 900px) { .office-info-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.int-badge.is-soon { background: #fdf0c9; color: #8a6d1f; }

/* Buscar anexos: cartões por tarefa, atividades verde/vermelho/amarelo (como o Onvio do G-Click) */
.gc-robot-info { padding: 8px 12px; border: 1px solid #bcdff1; background: #eaf6fc; color: #1a5276; font-size: 12px; text-align: center; }
[data-robot-status].is-done { padding: 8px 12px; background: #dff3e4; color: #1e6b36; border: 1px solid #b6e0c0; }
.gc-robot-card { margin: 10px 0; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.gc-robot-card-head { display: flex; justify-content: space-between; gap: 10px; padding: 8px 12px; background: #f4f4f4; font-size: 13px; }
.gc-robot-card-head small { display: block; color: #6b7a82; font-size: 11px; }
.gc-robot-card-link { color: inherit; text-decoration: none; }
.gc-robot-card-link:hover, .gc-robot-card-link:focus-visible { color: var(--teal, #0f766e); text-decoration: underline; }
.gc-robot-due { font-size: 11px; color: #5b6b73; white-space: nowrap; }
.gc-robot-act { margin: 8px 12px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 4px; background: #f7f7f7; font-size: 13px; }
.gc-robot-act small { display: block; margin-top: 2px; font-size: 12px; }
.gc-robot-act.is-ok { background: #dff3e4; border-color: #a9d8b5; color: #1e6b36; }
.gc-robot-act.is-miss { background: #f8d7da; border-color: #f0b4ba; color: #8a2330; }
.gc-robot-act.is-warn { background: #fdf0c9; border-color: #ecd68a; color: #8a6d1f; }

/* Cargo: formulário como o do G-Click (Nome, Tipo, Hora, Hora Fim, Sábado/Domingo) */
.cargo-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr auto; gap: 12px 14px; align-items: end; margin-bottom: 14px; }
.cargo-grid .field, .cargo-form .field { font-size: 11px; font-weight: 700; color: #555; }
.cargo-form input[type="text"], .cargo-form input[type="time"], .cargo-form select, .cargo-form input:not([type]) { margin-top: 4px; background: #fff; width: 100%; }
.cargo-days { display: flex; flex-direction: column; gap: 4px; }
.cargo-days .check-line, .cargo-form .check-line { display: flex; align-items: center; gap: 6px; font-weight: 600; }
.cargo-form input[type="checkbox"] { width: 16px; height: 16px; margin: 0; flex: none; }
.cargo-actions { display: flex; gap: 8px; margin-top: 12px; }
.cargo-yes { color: #1e8f3a; font-weight: 700; } .cargo-no { color: #d33; font-weight: 700; }
.cargo-search { display: inline-flex; flex-direction: column; font-size: 11px; margin-left: auto; }
@media (max-width: 900px) { .cargo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.cargo-form.int-panel { display: block; }

/* Buscar anexos: abre parado e só procura ao clicar (como o Onvio do G-Click); bolinhas enquanto procura */
.gc-robot-spinner { display: none; justify-content: center; gap: 8px; margin: 10px 0; }
.is-running .gc-robot-spinner { display: flex; }
.gc-robot-spinner .gg-loader { width: 110px; }
@keyframes gcrobot { from { transform: scale(.6); opacity: .5; } to { transform: scale(1); opacity: 1; } }
[data-robot-status].is-info { padding: 8px 12px; border: 1px solid #bcdff1; background: #eaf6fc; color: #1a5276; font-size: 12px; text-align: center; }
[data-robot-status].is-warn { padding: 8px 12px; border: 1px solid #f1e3a6; background: #fbf3cf; color: #8a6d1f; font-size: 12px; text-align: center; }
@media (prefers-reduced-motion: reduce) { .gc-robot-spinner i { animation: none; } }

/* Buscar anexos: rodapé simétrico (Fechar à esquerda, ações à direita) e um aviso só quando parado */
.gc-robot-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 16px; border-top: 1px solid var(--line); }
.gc-robot-actions { display: flex; align-items: center; gap: 8px; }
.gc-robot-dialog .gc-robot-body { padding: 14px 16px; }
.gc-robot-dialog.is-idle .gc-robot-info { display: none; }

/* Usuário: Info em grade simétrica e matriz de departamentos centralizada */
.member-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 14px; align-items: start; margin-bottom: 14px; }
.member-grid .span-2 { grid-column: span 2; }
.member-grid .field, .member-page .field { font-size: 11px; font-weight: 700; color: #555; }
.member-grid small { display: block; margin-top: 3px; font-weight: 400; color: #6b7a82; }
.member-page input[type="text"], .member-page input:not([type]), .member-page select { margin-top: 4px; width: 100%; background: #fff; }
.member-page input:disabled { background: #eee; }
.member-dept th:not(:first-child), .member-dept td:not(:first-child) { text-align: center; width: 28%; }
.member-dept input[type="checkbox"] { width: 16px; height: 16px; vertical-align: middle; }
@media (max-width: 900px) { .member-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Sócios: barra Associar + Registrar novo sócio numa linha (como o G-Click) */
.partner-bar { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.partner-bar .partner-link { display: flex; align-items: flex-end; gap: 8px; margin: 0; }
.partner-bar .partner-link .field { min-width: 260px; margin: 0; }
.partner-bar .button { white-space: nowrap; }

/* Ações em lote: painel da ação abaixo dos resultados */
.bulk-action-panel { margin-top: 14px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 6px; background: #f7f9f8; display: grid; gap: 10px; max-width: 760px; }
.bulk-action-panel h3 { margin: 0; font-size: 14px; }

/* Sócios idêntica ao G-Click: Associar + Registrar Novo Sócio, duas listas, janela Novo Cliente */
.partner-page .partner-bar { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 16px; }
.partner-page .partner-link { margin: 0; }
.partner-page .partner-link select { min-width: 280px; }
.button.button-info { background: #2f6fd6; border-color: #2f6fd6; color: #fff; }
.partner-lists { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: start; }
.partner-lists h3 { margin: 0 0 6px; font-size: 13px; }
.partner-dialog { width: min(560px, 92vw); padding: 0; }
.partner-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px; padding: 14px 18px; }
.partner-fields .field { font-size: 11px; font-weight: 700; color: #555; }
.partner-fields input { width: 100%; margin-top: 4px; background: #fff; }
@media (max-width: 900px) { .partner-lists, .partner-fields { grid-template-columns: 1fr; } }
.partner-dialog > form > header { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px 4px; }
.partner-dialog > form > header h2 { margin: 0; font-size: 18px; }
.partner-dialog .gc-robot-footer { padding: 12px 18px; }

/* Fluxos Cascata: editor com raias por departamento e caixas por processo (como no G-Click) */
.flow-info { margin: 10px 0; text-align: left; }
.flow-new { display: flex; gap: 10px; align-items: flex-end; margin-bottom: 12px; }
.flow-new .field { flex: 1; max-width: 520px; }
.flow-head { display: flex; gap: 16px; align-items: flex-end; flex-wrap: wrap; margin-bottom: 14px; }
.flow-name, .flow-initial { display: flex; gap: 8px; align-items: flex-end; margin: 0; }
.flow-name .field { min-width: 340px; }
.flow-initial select { min-width: 300px; }
.flow-board { background: #fff; border: 1px solid var(--line); border-radius: 6px; overflow-x: auto; }
.flow-lane { display: grid; grid-template-columns: 150px 1fr; border-bottom: 1px solid var(--line); background: #eef6fc; }
.flow-lane:nth-child(even) { background: #fff; }
.flow-lane-name { padding: 14px 12px; font-weight: 700; font-size: 13px; color: #445; }
.flow-lane-cells { display: flex; min-height: 92px; }
.flow-cell { width: 168px; flex: none; padding: 10px 8px; display: flex; flex-direction: column; gap: 8px; }
.flow-box { position: relative; min-height: 70px; padding: 22px 10px 8px; border: 1px solid #c9d3d9; border-radius: 4px; background: #fff; text-align: center; font-size: 12px; }
.flow-box a { color: #1c6fa8; display: block; }
.flow-box small { display: block; margin-top: 4px; color: #8a97a0; font-size: 10px; }
.flow-box.has-parent::before { content: "→"; position: absolute; left: -14px; top: 28px; color: #8a97a0; }
.flow-trash { position: absolute; left: 4px; top: 2px; margin: 0; }
.flow-trash button { border: 0; background: none; cursor: pointer; font-size: 12px; opacity: .75; }
.flow-trash button:disabled { opacity: .25; cursor: not-allowed; }
.flow-add { position: absolute; right: 4px; top: 2px; }
.flow-add summary { list-style: none; cursor: pointer; width: 18px; height: 18px; display: grid; place-items: center; border-radius: 3px; background: #2e9d43; color: #fff; font-weight: 700; }
.flow-add summary::-webkit-details-marker { display: none; }
.flow-add[open] form { position: absolute; z-index: 5; right: 0; top: 22px; width: 250px; padding: 8px; background: #fff; border: 1px solid var(--line); border-radius: 6px; box-shadow: 0 6px 18px rgba(0,0,0,.15); display: grid; gap: 6px; }

/* Relatórios Contatos e E-mails */
.report-filters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px 14px; align-items: end; }
.report-filters .field { font-size: 11px; font-weight: 700; color: #555; }
.report-filters input, .report-filters select { width: 100%; margin-top: 4px; background: #fff; }
.report-buttons { display: flex; gap: 8px; flex-wrap: wrap; grid-column: 1 / -1; }
.gc-btn.is-danger-outline { background: #fff; color: #d33; border: 1px solid #f0b4ba; }
.pager { display: flex; align-items: center; gap: 12px; justify-content: center; margin-top: 12px; font-size: 12px; }
@media (max-width: 900px) { .report-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Ações em lote: filtros em grade simétrica de 4 colunas, controles com a mesma altura e "limpar" dentro do campo */
.del-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px 12px; align-items: end; }
.del-grid .field { position: relative; margin: 0; font-size: 11px; font-weight: 700; color: #555; }
.del-grid input[type="date"], .del-grid select:not([multiple]) { height: 34px; }
.del-grid .del-clear { position: absolute; right: 6px; top: -1px; margin: 0; padding: 0; font-size: 10px; font-weight: 400; }
.del-filters { padding: 10px 14px; }
.del-checks { margin-top: 8px; }
.del-results { padding: 8px 14px; }
.del-buttons { margin: 0; }
.del-results:not(:has(table)) { padding-bottom: 8px; }
@media (max-width: 900px) { .del-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Ações em lote: a ação fica em cima (sempre à vista), em linha; barra da lista com pesquisa, CSV e impressão */
.bulk-action-panel { max-width: none; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); align-items: end; gap: 8px 12px; margin: 8px 0 10px; padding: 10px 12px; }
.bulk-action-panel > h3, .bulk-action-panel > p, .bulk-action-panel > .config-help { grid-column: 1 / -1; }
.bulk-action-panel h3 small { font-weight: 400; color: #6b7a82; }
.bulk-action-panel .config-grid { display: contents; }
.bulk-action-panel .field { font-size: 11px; font-weight: 700; color: #555; }
.bulk-action-panel input:not([type="radio"]), .bulk-action-panel select { width: 100%; margin-top: 4px; height: 34px; background: #fff; }
.bulk-action-panel .cargo-days { flex-direction: row; gap: 14px; align-items: center; }
.bulk-action-panel > button { align-self: end; height: 34px; }
.del-toolbar { display: flex; align-items: center; gap: 8px; margin: 4px 0 6px; flex-wrap: wrap; }
.del-toolbar input[type="search"] { width: 260px; height: 30px; }
.del-toolbar .del-count { margin: 0 0 0 auto; font-size: 12px; color: #6b7a82; }
@media print { .sidebar, .topbar, .del-filters, .bulk-action-panel, .del-toolbar, .del-buttons { display: none !important; } }

.del-grid .chip-picker-field { min-height: 34px; padding: 2px 6px; border-radius: 6px; }
.del-grid .chip-picker-input { min-height: 26px; height: 26px; margin: 0; padding: 0 4px !important; }
.del-grid .del-span3 { grid-column: span 3; align-self: end; margin: 0 0 6px; }

/* Painel da ação em lote: motivo ocupa o espaço livre, campo e botão com a mesma altura e alinhados pela base */
.bulk-action-panel .bulk-reason { grid-column: span 2; }
.bulk-action-panel input:not([type="radio"]):not([type="checkbox"]), .bulk-action-panel select, .bulk-action-panel > button { box-sizing: border-box; height: 36px; min-height: 36px; padding-top: 0; padding-bottom: 0; line-height: 34px; }
.bulk-action-panel > button { padding-left: 18px; padding-right: 18px; margin: 0; white-space: nowrap; }
@media (max-width: 700px) { .bulk-action-panel .bulk-reason { grid-column: 1 / -1; } }

/* ações só com motivo: o campo ocupa a linha e o botão fica ao lado, alinhado pela base */
.bulk-action-panel.bulk-simple { grid-template-columns: minmax(0, 1fr) auto; }
.bulk-action-panel.bulk-simple .bulk-reason { grid-column: 1; }

/* Aba Sócios idêntica ao G-Click: "Sócio" + Novo Sócio à esquerda, lista logo abaixo ("Sem sócios" em caixa vermelha); à direita só "Sou sócio da(s) empresa(s)" quando existir */
.partner-cols { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; }
.partner-cols.has-memberships { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.partner-left .partner-bar { display: flex; align-items: flex-end; gap: 12px; margin-bottom: 14px; }
.partner-left .partner-link .field { min-width: 260px; margin: 0; font-size: 11px; font-weight: 700; color: #555; }
.partner-left .partner-link select { width: 100%; margin-top: 4px; height: 34px; }
.partner-new { height: 34px; padding: 0 14px; white-space: nowrap; }
.partner-empty { margin: 0; padding: 18px; border-radius: 4px; background: #fbe9e9; color: #b94a48; text-align: center; font-size: 12px; }
.partner-doc { display: block; color: #6b7a82; font-size: 11px; }
.partner-table td .icon { width: 11px; height: 11px; vertical-align: -1px; }
.icon-button.is-danger { color: #d9534f; background: none; border: 0; cursor: pointer; padding: 2px 6px; }
.partner-dialog { width: min(640px, 94vw); }
.partner-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.partner-fields .span-2 { grid-column: span 2; }
.partner-fields .span-3 { grid-column: 1 / -1; }
.partner-fields select, .partner-fields input { width: 100%; margin-top: 4px; height: 34px; background: #fff; box-sizing: border-box; }
.partner-doc-row { grid-column: 1 / -1; display: block; }
.partner-doc-inputs { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 10px; margin-top: 4px; }
.partner-doc-inputs select, .partner-doc-inputs input { margin-top: 0; }
@media (max-width: 900px) { .partner-cols.has-memberships { grid-template-columns: 1fr; } .partner-fields { grid-template-columns: 1fr; } .partner-fields .span-2 { grid-column: auto; } }

.partner-left { max-width: 760px; }
.partner-cols.has-memberships .partner-left { max-width: none; }

.icon-button.is-danger .icon { width: 14px; height: 14px; }
.partner-table td:last-child { width: 36px; text-align: center; }

.profile-layout.is-single { grid-template-columns: minmax(0, 1fr); }

/* Relatório de Clientes: chips com caixas de seleção, como a barra do G-Click */
.rpt-filters { display: grid; gap: 8px; margin: 10px 0 14px; }
.rpt-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.rpt-chip, .rpt-pick { position: relative; }
.rpt-chip > summary { list-style: none; cursor: pointer; padding: 7px 12px; border-radius: 4px; background: #eef3f0; color: #34503f; font-size: 12px; }
.rpt-chip > summary::-webkit-details-marker, .rpt-pick > summary::-webkit-details-marker { display: none; }
.rpt-chip > summary::after { content: " ▾"; font-size: 10px; }
.rpt-chip.is-active > summary { background: #dcebe2; font-weight: 700; }
.rpt-chip summary b { background: #2d7152; color: #fff; border-radius: 9px; padding: 0 6px; font-size: 10px; margin-left: 4px; }
.rpt-pop { position: absolute; z-index: 30; top: calc(100% + 4px); left: 0; min-width: 220px; max-height: 280px; overflow: auto; background: #fff; border: 1px solid #cfdcd3; border-radius: 6px; box-shadow: 0 8px 24px #16392b26; padding: 8px; display: grid; gap: 2px; }
.rpt-pop-wide { min-width: 260px; }
.rpt-pop label { display: flex; align-items: center; gap: 6px; font-size: 12px; padding: 3px 4px; border-radius: 3px; }
.rpt-pop label:hover { background: #f1f5ee; }
.rpt-pop input[type="date"] { margin-left: auto; }
.rpt-none { margin: 4px; font-size: 11px; color: #6b7a82; }
.rpt-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.rpt-search input { width: 260px; height: 34px; }

.rpt-find { width: 100%; height: 30px; margin-bottom: 4px; box-sizing: border-box; }
.rpt-pop-actions { display: flex; gap: 6px; padding-top: 6px; border-top: 1px solid #e5ebe5; margin-top: 4px; position: sticky; bottom: 0; background: #fff; }
.rpt-opt[hidden] { display: none !important; }

.resp-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.resp-search { display: flex; align-items: center; gap: 6px; font-size: 12px; }
.resp-search input { width: 220px; height: 30px; }

.gen-count { margin: 4px 0; font-size: 11px; color: #6b7a82; }

.catalog-bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.catalog-add { display: flex; gap: 8px; }
.catalog-add input, .catalog-find input { height: 34px; width: 240px; }
.catalog-rename { display: flex; gap: 10px; align-items: center; margin: 0; }
.catalog-rename input { height: 30px; width: 280px; }

.extra-fields-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.extra-fields-head h2 { margin: 0; font-size: 14px; }
.field > .link-button[data-open-dialog] { align-self: flex-start; font-size: 11px; margin: 0 0 2px; padding: 0; }

.team-actions { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; }
.team-actions .team-status { margin: 0; }
.team-actions .field select { height: 34px; }
.member-links { display: flex; align-items: flex-end; }
.activity-filters { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; margin: 0; }
.activity-filters .field { margin: 0; }
.activity-filters select, .activity-filters input { height: 34px; }
.catalog-pager { display: flex; align-items: center; gap: 12px; justify-content: center; padding: 10px 0 2px; font-size: 12px; }
.act-type-cell { text-align: center; width: 64px; }
.act-type { width: 18px; height: 18px; color: #c9892b; vertical-align: middle; }

/* Marca GigiFlow */
.sidebar .brand .brand-icon { width: 40px; height: 40px; border-radius: 10px; flex: 0 0 40px; }
.sidebar .brand-wide { display: block; width: 150px; height: auto; }
.sidebar.is-open .brand-copy small { margin-top: 3px; }
.footer-brand { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: #08232f; }
.footer-brand img { width: 18px; height: 18px; object-fit: contain; }
.login-logo { display: block; width: 170px; height: auto; margin: 0 auto 8px; }
.gg-loader { display: block; width: 120px; height: auto; margin: 0 auto; }
.sidebar.is-open .brand .brand-icon { display: none; }

/* Identidade GigiFlow: azul-marinho #08232f, verde-água #00a896, menta #2ce0b1 */
:root { --navy: #08232f; --brand: #00a896; --mint: #2ce0b1; }
:focus-visible { outline: 2px solid var(--mint); outline-offset: 2px; }
.nav-link.is-active, .sidebar .nav-link.is-active { background: rgba(44,224,177,.14); box-shadow: inset 3px 0 0 var(--mint); }
.sidebar .nav-link:hover { background: rgba(255,255,255,.07); }
.button-primary { background: linear-gradient(135deg, #007f73, #00a896); border-color: #007f73; }
.button-primary:hover { background: linear-gradient(135deg, #00695f, #009484); }
a { color: #00796b; }
.breadcrumbs strong, .config-heading h1 { color: var(--navy); }
.panel, .config-panel { border-color: var(--line); }
::selection { background: rgba(44,224,177,.35); }
/* Menu aberto: só o logotipo principal, centralizado (o ícone fica só na faixa recolhida) */
.sidebar.is-open .brand { justify-content: center; padding: 6px 0 4px; margin-bottom: 14px; }
.sidebar.is-open .brand .brand-icon { display: none; }
.sidebar.is-open .brand-copy { align-items: center; text-align: center; }
.sidebar.is-open .brand-wide { width: 176px; margin: 0 auto; }
.sidebar.is-open .brand-copy small { margin-top: 2px; letter-spacing: .04em; color: #7fa7ad; }
/* Botões e destaques na paleta da marca (petróleo, verde-água, menta; sem azul vivo) */
.gc-btn.is-blue, .gc-icon-btn.is-blue, .gc-square.is-blue, .gc-pin.is-blue, .gc-tool, .gc-tool.is-auto { background: #0f6f88; border-color: #0f6f88; color: #fff; }
.gc-btn.is-ok { background: #00a896; border-color: #00a896; color: #fff; }
.gc-btn.is-teal { background: #08232f; border-color: #08232f; color: #fff; }
.gc-btn.is-warn { background: #e8a23a; border-color: #e8a23a; color: #fff; }
.gc-btn.is-blue:hover, .gc-btn.is-ok:hover, .gc-btn.is-teal:hover, .gc-btn.is-warn:hover { filter: brightness(1.08); }
.button-secondary { color: #08232f; border-color: #c9d9de; background: #fff; }
.button-secondary:hover { border-color: #00a896; color: #007f73; background: #f2fbf9; }
.gc-act-name, .gc-linkish { color: #007f73; }
.gc-kebab { flex: none; width: 24px; height: 24px; border: 1px solid var(--line-strong); border-radius: 6px; background: #fff; color: #5f7480; font-weight: 700; cursor: pointer; line-height: 1; }
.gc-kebab:hover { border-color: #00a896; color: #007f73; }
.gc-trigger-chip { flex: none; padding: 1px 7px; border-radius: 10px; background: rgba(44,224,177,.2); color: #00695f; font-size: 11px; font-weight: 700; }
.config-help.is-warn { padding: 8px 10px; border-radius: 6px; background: #fbf4e9; color: #7a4a10; }
.trg-form { align-items: end; flex-wrap: wrap; }
.office-switches { display: grid; gap: 8px; margin: 14px 0; }
.office-switches small { color: var(--muted); }
.office-signature { display: grid; gap: 14px; max-width: 560px; }
.signature-preview { display: grid; place-items: center; width: 150px; height: 150px; border: 1px dashed var(--line-strong); border-radius: 12px; background: #fff; overflow: hidden; }
.signature-preview.is-wide { width: 300px; }
.signature-preview img { max-width: 100%; max-height: 100%; object-fit: contain; }
.signature-empty { color: var(--muted); font-size: 12px; }
.signature-form { display: grid; gap: 12px; }
/* Arrastar e soltar */
.sort-handle { flex: none; width: 22px; height: 26px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: #9db3bd; font-size: 17px; line-height: 1; cursor: grab; touch-action: none; }
.sort-handle:hover, .sort-handle:focus-visible { background: rgba(0,168,150,.12); color: #007f73; }
.sort-handle:active { cursor: grabbing; }
.gc-act-order { white-space: nowrap; }
[data-sort-id].is-dragging { opacity: .45; background: #e9f7f4; outline: 2px dashed #00a896; outline-offset: -2px; }
[data-sortable].is-saving { opacity: .7; pointer-events: none; }
.pr-sub-list { display: grid; gap: 0; }
.pr-sub header { gap: 6px; justify-content: flex-start; }
.pr-sub header form { margin-left: auto; }
.pr-sub-acts li { display: flex; align-items: center; gap: 4px; }
.pr-sub-acts li form { margin-left: auto; }
/* Progresso atual: células clicáveis (abrem a lista, como no G-Click) e abas Obrigações/Solicitações da lista */
.gclick-progress td[data-stage-count] { cursor: pointer; transition: background .12s, box-shadow .12s; }
.gclick-progress td[data-stage-count]:hover { background: rgba(0,168,150,.14); box-shadow: inset 0 0 0 1px rgba(0,168,150,.5); border-radius: 6px; }
.gclick-progress td[data-stage-count]:focus-visible { outline: 2px solid #2ce0b1; outline-offset: -2px; border-radius: 6px; }
.gclick-progress td[data-zero="true"] { cursor: default; }
.gclick-progress td[data-zero="true"]:hover { background: transparent; box-shadow: none; }
.task-list-tabs { display: flex; gap: 4px; padding: 0 20px; border-bottom: 1px solid var(--line); }
.task-list-tab { padding: 10px 14px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--muted); font: inherit; font-size: 13px; cursor: pointer; }
.task-list-tab b { color: var(--navy, #08232f); margin-right: 2px; }
.task-list-tab[aria-selected="true"] { border-bottom-color: #00a896; color: #007f73; font-weight: 600; }
.list-activities { white-space: nowrap; }
.activity-squares { display: inline-flex; flex-wrap: wrap; gap: 2px; max-width: 96px; vertical-align: middle; }
.activity-squares i { width: 9px; height: 9px; border-radius: 2px; background: #f4c542; }
.activity-squares i.is-done { background: #00a896; }
.activity-squares i.is-cancelled { background: #b9c4c2; }
.list-activities small { margin-left: 6px; color: var(--muted); font-size: 11px; }
.task-list-status select { height: 34px; padding: 0 8px; border: 1px solid var(--line-strong); border-radius: 8px; background: #fff; font-size: 12px; }

/* legenda de tarefas do Painel: mesmas cores do G-Click */
.board-legend .status-swatch { width: 10px; height: 10px; flex: 0 0 10px; border-radius: 50%; display: inline-block; background: #93a69a; }
.board-legend .status-swatch[data-status='upcoming'] { background: #f4c542; }
.board-legend .status-swatch[data-status='scheduled'] { background: #ef8a7c; }
.board-legend .status-swatch[data-status='unscheduled'] { background: #8b5a3d; }
.board-legend .status-swatch[data-status='after_meta'] { background: #858b90; }
.board-legend .status-swatch[data-status='due_today'] { background: #d23f4c; }
.board-legend .status-swatch[data-status='overdue'] { background: #4d2458; }
.board-legend .status-swatch[data-status='waiting'] { background: #d9c39a; }
.board-legend .status-swatch[data-status='rectifying'] { background: #ed922e; }
.board-legend .status-swatch[data-status='requested'] { background: #d97a2b; }
.board-legend .status-swatch[data-status='client_requested'] { background: #e0507f; }
.board-legend .status-swatch[data-status='external_requested'] { background: #cf762b; }
.board-legend .status-swatch[data-status='dispensed'] { background: #6f9be8; }
.board-legend .status-swatch[data-status='cancelled'] { background: #c3c7c9; }
.board-legend .status-swatch[data-status='finished'] { background: #8bc34a; }
.board-legend .status-swatch[data-status='rectified'] { background: #0b5d1e; }
.board-legend .status-swatch[data-status='on_time'] { background: #5ec8a0; }
.board-legend .status-swatch[data-status='completed_after_meta'] { background: #7d7d3a; }
.board-legend .status-swatch[data-status='completed_late'] { background: #9444bd; }
.board-legend .status-swatch[data-status='unclassified'] { background: #b8c4c8; }
.board-legend .status-swatch[data-status='future'] { background: #dfe6e8; }
/* lista de tarefas do Progresso: cabe sem barra de rolagem */
.task-list-table th, .task-list-table td { padding-left: 6px; padding-right: 6px; }
.task-list-table .list-dates { font-size: 11.5px; }
.list-activities { white-space: nowrap; }
.list-activities .activity-squares { max-width: 84px; }
.task-list-table th, .task-list-table td { padding-left: 5px; padding-right: 5px; }
.list-activities { white-space: normal; min-width: 96px; }
.list-activities small { display: inline-block; margin-left: 4px; }

/* Cadastros › Usuários: Carteira, Transferência, Visibilidades */
.team-tabs { margin: 8px 0 14px; }
.sub-tabs { margin: 0 0 12px; }
.team-filters { display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: flex-end; margin: 10px 0 14px; }
.team-filters .field { min-width: 200px; }
.wallet-cols, .vis-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 14px; margin: 10px 0; align-items: start; }
.wallet-col, .vis-col { display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: #fbfdfd; }
.wallet-col h3, .vis-col h3 { margin: 0; font-size: 14px; }
.wallet-col h3 small, .vis-col h3 small { margin-left: 6px; color: var(--muted); font-weight: 500; }
.wallet-list { list-style: none; margin: 0; padding: 0; max-height: 360px; overflow: auto; border: 1px solid #ebf1f3; border-radius: 8px; background: #fff; }
.wallet-list li { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 10px; border-bottom: 1px solid #f0f4f5; font-size: 12.5px; }
.wallet-list li label { display: flex; align-items: flex-start; gap: 8px; cursor: pointer; flex: 1; min-width: 0; }
.wallet-list li small { display: block; color: var(--muted); font-size: 11px; }
.wallet-list li a { color: #007f73; text-decoration: none; }
.vis-search { width: 100%; padding: 6px 10px; border: 1px solid var(--line-strong); border-radius: 6px; font-size: 12.5px; }
.vis-buttons, .transfer-foot { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; }
.button-danger { border: 0; background: #d23f4c; color: #fff; border-radius: 8px; padding: 8px 14px; font-weight: 700; cursor: pointer; }
.button-danger:disabled, .wallet-col .button:disabled { opacity: .5; cursor: not-allowed; }
.member-phones { display: grid; gap: 6px; }
.member-phones .phone-row { display: grid; grid-template-columns: 1fr 1.4fr auto; gap: 8px; align-items: end; }
.member-info-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 14px; }
.team-filters .check-line { display: inline-flex; align-items: center; gap: 6px; margin-right: 12px; font-weight: 500; }
.team-filters .check-line input[type="checkbox"], .team-page .check-line input[type="checkbox"] { width: 16px; height: 16px; flex: 0 0 16px; padding: 0; }
.team-filters fieldset.plain-fieldset { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; border: 0; padding: 0; min-width: 0; }
.team-filters fieldset legend { width: 100%; padding: 0; font-size: 11px; font-weight: 700; color: #555; }
.team-filters select[multiple] { min-width: 280px; }
.perm-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; margin: 10px 0; }
.perm-group { border: 1px solid var(--line); border-radius: 10px; padding: 8px 12px 10px; background: #fbfdfd; min-width: 0; }
.perm-group legend { padding: 0 6px; font-size: 12px; font-weight: 800; color: #34505e; }
.perm-group .check-line { display: flex; align-items: center; gap: 8px; padding: 3px 0; font-size: 12.5px; }
.perm-group .check-line input { width: 16px; height: 16px; }
.perm-group .check-line.is-by-role { color: #0b5d4a; }
.access-link { width: 100%; min-width: 320px; font-size: 12px; }
.member-grid .span-4 { grid-column: 1 / -1; }
.member-info-actions.field { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 10px; }
.member-info-actions .button { width: auto; min-width: 150px; }

/* Assinatura de e-mail: modos Padrão/Personalizada e editor HTML */
.sig-modes { display: flex; gap: 24px; padding: 4px 0 12px; border-bottom: 1px solid var(--line); margin-bottom: 12px; }
.sig-modes label { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; cursor: pointer; }
.sig-preview { display: flex; align-items: center; gap: 18px; padding: 10px; border: 1px dashed var(--line-strong); border-radius: 8px; line-height: 1.7; overflow: auto; background: #fff; }
.sig-toolbar { display: flex; flex-wrap: wrap; gap: 4px; padding: 6px; border: 1px solid var(--line); border-radius: 8px 8px 0 0; background: #f3f7f8; }
.sig-toolbar button, .sig-color { min-width: 30px; height: 28px; padding: 0 8px; border: 1px solid var(--line-strong); border-radius: 6px; background: #fff; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 4px; font-size: 12px; }
.sig-toolbar button.is-on { background: #fff3b0; border-color: #d9b800; }
.sig-color input { width: 22px; height: 18px; padding: 0; border: 0; background: none; }
.sig-editor, .sig-source { width: 100%; min-height: 200px; max-height: 340px; overflow: auto; padding: 12px; border: 1px solid var(--line); border-top: 0; border-radius: 0 0 8px 8px; background: #fff; box-sizing: border-box; }
.sig-source { font-family: Consolas, monospace; font-size: 12px; background: #fffbe6; }
.sig-tokens { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }
.sig-tokens code { padding: 2px 8px; border-radius: 6px; background: #eef4f6; font-size: 12px; cursor: pointer; }
.gc-modal-wide { width: min(760px, calc(100vw - 32px)); }

.sig-howto { padding: 12px 16px; border-radius: 10px; background: #eef6f8; margin-bottom: 16px; }
.sig-howto h2 { margin: 0 0 6px; font-size: 18px; }
.sig-howto ol { margin: 0; padding-left: 20px; line-height: 1.7; }
.sig-howto code, .config-help code { background: #fff; padding: 1px 6px; border-radius: 5px; }
.signature-template, .sig-preview-box, .sig-logo-box { margin: 0 0 18px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.signature-template h3, .sig-preview-box h3 { margin: 0 0 8px; font-size: 15px; display: flex; align-items: center; gap: 10px; }
.sig-badge { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 999px; background: #f0f1f2; color: #666b72; }
.sig-badge.is-on { background: #e3f4ec; color: #1d6b43; }
.sig-logo-box summary { cursor: pointer; font-weight: 700; }
.sig-logo-box .signature-form { margin-top: 12px; }

.sig-replace { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 10px; margin: 8px 0; border: 1px dashed var(--line-strong); border-radius: 8px; background: #fbfdfd; }
.sig-replace input { flex: 1 1 260px; min-width: 200px; padding: 6px 10px; border: 1px solid var(--line-strong); border-radius: 6px; }
.sig-replace select { flex: 1 1 220px; padding: 6px 8px; }

.sig-frame { width: 100%; min-height: 330px; border: 0; background: #fff; }

.member-inactive { margin: 8px 0 12px; padding: 10px 14px; border: 1px solid #e6c9a0; border-left: 5px solid #b67b22; border-radius: 8px; background: #fcf2df; color: #5b3d10; line-height: 1.6; }
.muted-chip { display: inline-block; padding: 1px 8px; border-radius: 999px; background: #eef1f3; color: #66737b; font-size: 11px; font-weight: 600; }
.muted-chip.is-off { background: #f8e0dd; color: #8a2c22; }

/* Relatório Fluxo Cascata */
.flow-run { display: flex; flex-direction: column; gap: 6px; }
.flow-run-name { font-weight: 700; font-size: 13px; } .flow-run-name small { font-weight: 400; color: var(--muted); margin-left: 8px; }
.flow-run-cards { display: flex; align-items: flex-start; gap: 8px; flex-wrap: wrap; }
.flow-run-col { display: flex; flex-direction: column; gap: 6px; }
.flow-arrow { align-self: center; color: var(--muted); font-size: 18px; }
.flow-card { display: flex; flex-direction: column; justify-content: space-between; align-items: center; text-align: center; gap: 2px; width: 180px; height: 100px; padding: 6px 8px; border: 3px solid #dcdcdc; border-left: 5px solid #b8c4c8; border-radius: 7px; background: #fff; font-size: 12px; overflow: hidden; }
.flow-card small { text-transform: uppercase; font-size: 10px; letter-spacing: .04em; color: var(--muted); } .flow-card em { font-style: normal; color: var(--muted); font-size: 11px; }
.flow-card.is-waiting { border-style: dashed; border-left-style: dashed; justify-content: center; background: #fafcfc; color: var(--muted); }
.flow-pager { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 10px; flex-wrap: wrap; }
.flow-card[data-status='upcoming'] { border-left-color: #ffd700; }
.flow-card[data-status='scheduled'] { border-left-color: #ef8a7c; }
.flow-card[data-status='unscheduled'] { border-left-color: #8b5a3d; }
.flow-card[data-status='after_meta'] { border-left-color: #858b90; }
.flow-card[data-status='due_today'] { border-left-color: #d23f4c; }
.flow-card[data-status='overdue'] { border-left-color: #4d234e; }
.flow-card[data-status='waiting'] { border-left-color: #d9c39a; }
.flow-card[data-status='requested'] { border-left-color: #d97a2b; }
.flow-card[data-status='client_requested'] { border-left-color: #e0507f; }
.flow-card[data-status='external_requested'] { border-left-color: #cf762b; }
.flow-card[data-status='cancelled'] { border-left-color: #c0c0c0; }
.flow-card[data-status='finished'] { border-left-color: #8bc34a; }
.flow-card[data-status='on_time'] { border-left-color: #66cc99; }
.flow-card[data-status='completed_after_meta'] { border-left-color: #808041; }
.flow-card[data-status='completed_late'] { border-left-color: #963fb5; }
.flow-card[data-status='unclassified'] { border-left-color: #b8c4c8; }
.flow-card[data-status='future'] { border-left-color: #dfe6e8; }

/* Painel do fluxo cascata na solicitação */
.flow-panel .flow-nav { display: flex; gap: 6px; flex-wrap: wrap; margin: 8px 0; }
.flow-steps { list-style: none; margin: 8px 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.flow-steps li { display: flex; flex-direction: column; gap: 1px; padding: 5px 8px; border: 1px solid var(--line); border-left: 4px solid var(--line); border-radius: 6px; font-size: 12px; }
.flow-steps li.is-current { border-left-color: var(--teal, #0f9d8a); background: #f2fafa; font-weight: 600; }
.flow-steps li small { text-transform: uppercase; font-size: 10px; letter-spacing: .04em; color: var(--muted); }
.flow-steps li em { font-style: normal; color: var(--muted); font-size: 11px; }


/* Confirmação dentro da página (data-confirm) */
.confirm-dialog { border: 0; border-radius: 10px; padding: 20px 22px; max-width: 440px; width: calc(100% - 32px); box-shadow: 0 18px 50px rgba(9, 30, 45, .28); }
.confirm-dialog::backdrop { background: rgba(9, 30, 45, .45); }
.confirm-dialog p { margin: 0 0 16px; font-size: 14px; line-height: 1.45; }
.confirm-actions { display: flex; justify-content: flex-end; gap: 8px; }

/* Transferência › Solicitações: "Relação" como rótulo em cima e as três opções lado a lado (o legend em flex desalinhava) */
.team-filters fieldset.plain-fieldset { column-gap: 14px; }
.team-filters fieldset.plain-fieldset > legend { float: left; width: 100%; padding: 0; margin: 0 0 6px; font-size: 12px; font-weight: 600; }
.team-filters fieldset.plain-fieldset > legend + * { clear: left; }
.team-filters fieldset.plain-fieldset.field { flex-direction: row; align-items: center; width: auto; align-self: flex-end; }
.team-filters fieldset.plain-fieldset.field > .check-line { margin: 0; }
.field-warn { display: block; margin-top: 4px; color: #a3361f; font-size: 11px; font-weight: 600; }

/* Telas de lote: ação em janela (gc-dialog) aberta pelo botão ao lado do Buscar */
.del-buttons { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.gc-dialog-bulk { width: min(760px, 94vw); }
.gc-dialog-bulk h2 small { font-weight: 400; font-size: 12px; color: #6b7a82; margin-left: 6px; }
.gc-dialog-bulk .bulk-action-panel { margin: 0; border: 0; border-radius: 0 0 8px 8px; max-width: none; padding: 16px 18px; }
.gc-dialog-bulk .cargo-days { flex-wrap: wrap; row-gap: 6px; }
.gc-dialog-bulk .bulk-empty { margin: 0; font-size: 13px; grid-column: 1 / -1; }
.gc-dialog-bulk:not(.is-empty) .bulk-empty { display: none; }
.gc-dialog-bulk.is-empty .bulk-action-panel > :not(.bulk-empty):not(.bulk-close) { display: none; }

/* Integrações › ONVIO: situação em passos, conta, ações (27/10/2026) */
.onvio-panel .int-logo-inline { height: 26px; width: 26px; vertical-align: middle; margin-right: 6px; }
.onvio-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; list-style: none; padding: 0; margin: 12px 0 16px; counter-reset: onvio; }
.onvio-steps li { counter-increment: onvio; display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: 10px; border: 1px solid #e3eaee; background: #f7fafb; font-size: 12px; color: #4a6370; }
.onvio-steps li b { font-size: 13px; color: #1d3a49; }
.onvio-steps li b::before { content: counter(onvio) ". "; color: #8aa0ab; font-weight: 600; }
.onvio-steps li.is-ok { border-color: #bfe8de; background: #eefaf6; } .onvio-steps li.is-ok b::after { content: "  ✔"; color: #0a8a76; }
.onvio-steps li.is-wait { border-color: #f1dfb0; background: #fdf8ea; } .onvio-steps li.is-wait b::after { content: "  ⏳"; }
.onvio-steps li.is-todo b::after { content: "  ○"; color: #9fb1ba; }
.onvio-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.onvio-fields small { display: block; margin-top: 3px; color: #7a8d98; font-size: 11px; font-weight: 400; }
.onvio-switches { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; margin: 12px 0 4px; font-size: 13px; }
.onvio-switches label { display: inline-flex; align-items: center; gap: 6px; } .onvio-switches small { color: #7a8d98; }
.onvio-switches .button { margin-left: auto; }
.onvio-actions { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 12px; margin-top: 10px; border-top: 1px solid #eef2f4; }
.onvio-last { margin: 8px 0 0; font-size: 12px; color: #8a5a10; }
.onvio-more { margin-top: 12px; } .onvio-more > summary { cursor: pointer; font-size: 12.5px; color: #29485c; }
@media (max-width: 900px) { .onvio-steps, .onvio-fields { grid-template-columns: 1fr 1fr; } }
/* Modal "Sistemas de Integração Onvio" */
.onvio-dialog-logo { height: 22px; width: 22px; vertical-align: middle; margin-right: 6px; }
.onvio-dialog-warn { padding: 8px 12px; border: 1px solid #f1dfb0; background: #fdf8ea; color: #8a6d1f; font-size: 12px; text-align: center; border-radius: 4px; }
.control-board-tools .onvio-button { display: inline-flex; align-items: center; gap: 6px; color: #e46b1f; border: 1px solid #f0b98f; }
.control-board-tools .onvio-button img { height: 18px; width: 18px; }
/* Barra do arquivo da atividade (clicar no nome): nome do arquivo, origem e link do Onvio/Drive, como no G-Click */
.activity-clip { font-size: 12px; opacity: .75; }
.activity-file { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; margin: 6px 0 2px; padding: 7px 10px; border: 1px solid #d7e6ec; border-radius: 6px; background: #f3f9fb; font-size: 12.5px; }
.activity-file-name { font-weight: 600; color: #0b5d7a; text-decoration: none; } .activity-file-name:hover { text-decoration: underline; }
.activity-file small { color: #5b707b; } .activity-file-link { margin-left: auto; color: #e46b1f; font-size: 12px; text-decoration: none; }

/* Janelas Email e DIGISAC (envio livre, como o G-Click: rótulo à esquerda, campo à direita) */
.free-send-grid { display: grid; gap: 8px; }
.free-send-line { display: grid; grid-template-columns: 90px 1fr; gap: 10px; align-items: start; margin: 0; }
.free-send-line > span:first-child { text-align: right; padding-top: 7px; color: #556; font-size: .85rem; }
.free-send-line input, .free-send-line select, .free-send-line textarea { width: 100%; }
.free-send-warn { color: #8a5a00; background: #fff6e0; border-radius: 6px; padding: 6px 10px; margin: 0; font-size: .9rem; }
.free-send-editor { border: 1px solid var(--line, #dde3ea); border-radius: 6px; }
.free-send-tools { display: flex; gap: 4px; padding: 4px; border-bottom: 1px solid var(--line, #dde3ea); background: #f6f8fa; }
.free-send-tools button { border: 1px solid transparent; background: none; padding: 2px 8px; border-radius: 4px; cursor: pointer; }
.free-send-tools button:hover { border-color: var(--line, #dde3ea); background: #fff; }
.free-send-body { min-height: 160px; padding: 10px; outline: none; }
.free-send-signature { display: block; border-top: 1px dashed var(--line, #dde3ea); padding: 8px 10px; opacity: .85; }
.free-send-count { display: block; text-align: right; color: #667; }
.free-send-error { margin: 0 16px 6px; }
@media (max-width: 700px) { .free-send-line { grid-template-columns: 1fr; } .free-send-line > span:first-child { text-align: left; padding: 0; } }
.gc-dropzone .drop-file { display: block; font-size: .9rem; }
.free-send-line input:not([type=file]), .free-send-line select:not([multiple]), .free-send-line textarea { padding: 8px 10px; border: 1px solid var(--line, #dde3ea); border-radius: 6px; font: inherit; background: #fff; }
/* data de ação editável na janela da tarefa (G-Click: campo + lápis verde) */
.gc-action-date { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.gc-action-date input[type="date"] { flex: 1 1 auto; min-width: 0; border: 0; background: transparent; font: inherit; color: inherit; padding: 0; }
.gc-action-note { flex-basis: 100%; color: #a33a3a; font-size: 12px; }
.gc-action-note:empty { display: none; }

/* Lixeira do G-Click na linha da atividade: ícone vermelho solto, sem botão (desfaz em até 1 hora) */
.gc-btn.is-trash { background: none; border: 0; color: #e0403a; padding: 2px 4px; }
.gc-btn.is-trash:hover { color: #b8231e; }
.gc-btn.is-trash .icon { width: 14px; height: 14px; }

/* Janela do E-mail/DIGISAC aberta pelo ➤ da atividade: diz qual atividade fica realizada ao enviar */
.free-send-activity { margin: 0; padding: 6px 10px; border-radius: 6px; background: #e8f6f2; color: #0d5c4a; font-size: .9rem; }

/* Barra de formatação do e-mail (mesmos recursos do G-Click) */
.free-send-tools { flex-wrap: wrap; align-items: center; }
.free-send-tools select { width: auto; min-height: 0; height: 28px; padding: 0 22px 0 6px; font-size: .82rem; }
.free-tool-group { display: inline-flex; gap: 1px; padding-right: 4px; border-right: 1px solid var(--line, #dde3ea); }
.free-tool-group:last-child { border-right: 0; }
.free-tool-color { display: inline-flex; align-items: center; gap: 2px; padding: 0 4px; cursor: pointer; margin: 0; }
.free-tool-color.is-back b { background: #ffff00; padding: 0 3px; }
.free-tool-color input { width: 20px; height: 20px; padding: 0; border: 0; background: none; cursor: pointer; }
.free-tool-panel { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; padding: 8px; border-bottom: 1px solid var(--line, #dde3ea); background: #fbfcfd; }
.free-tool-panel[hidden] { display: none; }
.free-tool-panel label { display: flex; flex-direction: column; gap: 2px; font-size: .82rem; margin: 0; }
.free-send-code { width: 100%; font-family: Consolas, monospace; font-size: .82rem; border: 0; padding: 10px; }
.free-send-body[hidden] { display: none; }
.free-send [data-tool-error] { margin: 4px 8px; }
dialog.free-send.is-full { width: 100vw; max-width: 100vw; height: 100vh; max-height: 100vh; margin: 0; border-radius: 0; }
dialog.free-send.is-full .gc-dialog-scroll { max-height: calc(100vh - 150px); }
dialog.free-send.is-full .free-send-body { min-height: 50vh; }

/* Histórico como o do G-Click: andamento branco com lápis e lixeira à direita; arquivo e registros do sistema em cartão amarelo, compacto */
.task-gc-history .history-list > li { position: relative; }
.task-gc-history .history-list > li:not(.history-note), .task-gc-history .history-list > li.is-file-card { background: #f7f8d6; }
.task-gc-history .history-list .history-tools { position: absolute; top: 26px; right: 12px; flex-direction: row; gap: 8px; margin: 0; }
.task-gc-history .history-tools .icon { width: 14px; height: 14px; }
.task-gc-history .history-tools .gc-icon-link { color: #1f5fcf; background: none; border: 0; padding: 0; cursor: pointer; }
.task-gc-history .history-tools .gc-icon-link.is-danger { color: #e0403a; }
.hc-file { display: inline-flex; align-items: center; gap: 6px; color: #1f5fcf; text-decoration: none; }
.hc-file:hover { text-decoration: underline; }
.hc-file .icon { width: 22px; height: 22px; color: #d3262c; flex: none; }

/* Linha da atividade: o clipe abre o arquivo; Baixar e Ver no Onvio ficam nos detalhes */
a.activity-clip { text-decoration: none; opacity: 1; cursor: pointer; }
a.activity-clip:hover { filter: brightness(.8); }
.activity-file-links { display: inline-flex; gap: 12px; margin-left: auto; }
#onvio-dialog.is-refetch .gc-robot-info { display: none; }

/* Assinatura na janela do e-mail: só nome e escritório, como no G-Click; a completa abre com um clique */
details.free-send-signature { padding: 6px 10px; font-size: .82rem; color: var(--muted, #5f7480); border-top: 1px dashed var(--line, #dde3ea); }
details.free-send-signature > summary { cursor: pointer; }
details.free-send-signature > summary b { color: var(--ink, #1c2b33); }
.free-send-signature-full { margin-top: 8px; overflow-x: auto; }

/* Procurar pasta do cliente no Drive */
.folder-path { margin: 0; font-size: .85rem; font-weight: 600; word-break: break-all; }
.folder-list { list-style: none; margin: 0; padding: 0; max-height: 46vh; overflow: auto; border: 1px solid var(--line, #dde3ea); border-radius: 6px; }
.folder-list button { display: block; width: 100%; padding: 6px 10px; border: 0; border-bottom: 1px solid #eef2f5; background: none; text-align: left; cursor: pointer; font-size: .88rem; }
.folder-list button:hover { background: #f1f6f8; }
.folder-list button.is-suggested { background: #eef8f4; font-weight: 600; }
.folder-list button.is-up { color: var(--muted, #5f7480); }

/* Janela de anexo: outra pasta do mesmo cliente */
.gc-attach-browse { margin-top: 8px; font-size: .88rem; }
.gc-attach-browse > summary { cursor: pointer; color: var(--teal, #138a8a); }
.gc-attach-browse .folder-list { max-height: 34vh; margin-top: 6px; }
.gc-attach-browse .folder-list li.is-file { display: flex; align-items: center; gap: 10px; padding: 5px 10px; border-bottom: 1px solid #eef2f5; }
.gc-attach-browse .folder-list li.is-file span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.gc-attach-browse .folder-list li.is-file button { width: auto; padding: 0; border: 0; }
/* Uma lista só no mesmo modal: abrir as outras pastas troca a lista da competência no mesmo lugar */
.gc-attach-browse .when-open { display: none; }
.gc-attach-browse[open] .when-open { display: inline; }
.gc-attach-browse[open] .when-closed { display: none; }
.gc-attach-folder:has(.gc-attach-browse[open]) > :not(h3, .gc-attach-browse) { display: none; }
/* Navegando: a área de arrastar continua, só mais baixa; saem o total da pasta do mês e o que não ajuda ali */
.attach-form:has(.gc-attach-browse[open]) :is([data-found], .gc-attach-more, .gc-attach-folder > h3) { display: none; }
.attach-form:has(.gc-attach-browse[open]) [data-attach-drop] { padding-block: 10px; min-height: 0; }
.gc-attach-browse .folder-list li.is-file a { color: var(--muted, #5f7480); text-decoration: none; }
.gc-attach-browse .folder-list li.is-file a:hover { text-decoration: underline; }
.gc-attach-browse .folder-list li.is-file .gc-link-button { font-weight: 600; color: var(--teal, #138a8a); text-decoration: none; cursor: pointer; background: none; }

/* Aba Email: um cartão por envio */
.hc-send .hc-body { gap: 2px; }
.hc-send-stats b { color: var(--ink, #1c2b33); }
.hc-send-more { font-size: .82rem; margin-top: 4px; }
.hc-send-more > summary { cursor: pointer; color: var(--teal, #138a8a); }
.hc-send-steps { margin-top: 4px; display: grid; gap: 2px; }
.hc-send-steps p { margin: 0; }
.task-gc-history .hc-send .hc-body > span { display: block; }
.hc-send-more time { color: var(--muted, #5f7480); margin-right: 6px; }

/* Engenharia reversa do G-Click (painel-controle, 09/11): a LINHA reserva 35 px (min-height) e a célula de 30 px cresce para 35
   DENTRO dela ao passar o mouse (número de 11,7 → 16 px); nada em volta se mexe e a linha não muda de cor. Aqui: linha 35 px fixa,
   célula 28 → 33 px, número 12 → 15 px, com uma transição curta. */
.gclick-control-table tbody tr[data-board-row] > th, .gclick-control-table tbody tr[data-board-row] > td { height: 35px; padding-top: 0; padding-bottom: 0; }
.gclick-control-table td .status-segment { height: 28px; min-height: 28px; transition: height .12s ease, font-size .12s ease; }
.gclick-control-table td .status-segment:not(:disabled):not([data-empty="true"]):hover { height: 33px; min-height: 33px; font-size: 15px; filter: none; box-shadow: none; transform: none; }
.gclick-control-table td .status-segment[data-size="4"]:not(:disabled):not([data-empty="true"]):hover,
.gclick-control-table td .status-segment[data-size="5"]:not(:disabled):not([data-empty="true"]):hover { font-size: 13px; }
.gclick-control-table tbody tr[data-board-row]:hover th, .gclick-control-table tbody tr[data-board-row]:hover td { background: transparent; }
/* G-Click: o zero também cresce e mostra o nome ao passar o mouse (não abre nada: cursor normal); número bem apagado para não poluir */
.gclick-control-table td .status-segment[data-empty="true"] { color: #cdd4cf !important; }
.gclick-control-table td .status-segment[data-empty="true"]:hover { height: 33px; min-height: 33px; font-size: 15px; }
/* G-Click: as cores de um grupo formam UMA barra contínua — só as pontas arredondadas (15 px), as do meio retas e encostadas
   (margem -1 px para a borda não dobrar). Antes cada cor tinha canto próprio e parecia "pílula solta". */
.gclick-control-table td .status-segments { gap: 0; }
.gclick-control-table td .status-segments .status-segment { border-radius: 0; margin-left: -1px; }
.gclick-control-table td .status-segments .status-segment:first-child { border-radius: 15px 0 0 15px; margin-left: 0; }
.gclick-control-table td .status-segments .status-segment:last-child { border-radius: 0 15px 15px 0; }
/* Pré-tarefa por e-mail (G-Click "Solicitada (Externo)", laranja #d9661f) */
.pre-badge { display: inline-block; padding: 2px 8px; border-radius: 4px; background: #d9661f; color: #fff; font-size: 12px; font-weight: 700; }
.pre-task { border-left: 4px solid #d9661f; }
.pre-mail-head { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 6px 16px; margin: 0; }
.pre-mail-head dt { color: #5f7480; font-size: 11px; text-transform: uppercase; letter-spacing: .03em; }
.pre-mail-head dd { margin: 0; overflow-wrap: anywhere; }
.pre-clients { border: 1px solid #e2e8e4; border-radius: 8px; padding: 8px 12px; margin: 0 0 10px; }
.pre-clients select { width: 100%; }
.pre-mode { display: flex; gap: 16px; margin: 6px 0 10px; }
.pre-link-list { list-style: none; margin: 6px 0; padding: 0; max-height: 280px; overflow: auto; }
.pre-link-list li { padding: 3px 0; border-bottom: 1px solid #f0f3f1; }
.pre-scope { margin: 4px 0 8px; }
/* Pré-tarefa com o desenho da janela do G-Click (barra laranja, coluna de dados à esquerda, abas à direita) */
.gc-pre-bar { display: flex; justify-content: space-between; align-items: center; padding: 8px 14px; border-radius: 6px 6px 0 0; background: #d9661f; color: #fff; font-size: 13px; }
.gc-pre-bar span { font-size: 11px; letter-spacing: .03em; }
.gc-pre-body { display: grid; grid-template-columns: 280px 1fr; gap: 0 22px; padding: 14px 16px 0; border-left: 4px solid #d9661f; background: #fff; }
.gc-pre-left { display: flex; flex-direction: column; gap: 10px; }
.gc-pre-field { display: flex; flex-direction: column; gap: 4px; font-size: 12px; font-weight: 700; color: #333; }
.gc-pre-field input, .gc-pre-field select { width: 100%; min-height: 32px; padding: 4px 8px; border: 1px solid #d5d9dc; border-radius: 3px; font-size: 12px; font-weight: 400; background: #fff; }
.gc-pre-field input[readonly] { background: #fff; color: #555; }
.gc-pre-field select[multiple] { min-height: 64px; }
.gc-pre-field.grow { flex: 1; } .gc-pre-field.small { width: 110px; }
.gc-pre-split { display: flex; justify-content: space-between; } .gc-pre-split small { font-weight: 400; color: #777; }
.gc-req { color: #d33; } .gc-pre-hint { font-weight: 400; color: #b54708; }
.gc-pre-card { border: 1px solid #e6e8ea; border-radius: 4px; padding: 0 12px 12px; }
.gc-pre-tabs { display: flex; gap: 4px; border-bottom: 1px solid #e6e8ea; margin: 0 -12px 12px; padding: 0 12px; }
.gc-pre-tabs button { padding: 9px 16px; border: 1px solid transparent; border-bottom: 0; border-radius: 4px 4px 0 0; background: none; color: #8a9aa6; font-size: 12px; cursor: pointer; }
.gc-pre-tabs button.is-current { border-color: #e6e8ea; background: #fff; color: #333; font-weight: 700; margin-bottom: -1px; }
.gc-pre-row { display: flex; gap: 12px; align-items: flex-end; margin-bottom: 10px; flex-wrap: wrap; }
.gc-pre-radios { display: flex; flex-direction: column; gap: 2px; font-size: 12px; }
.gc-pre-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 32px; padding: 0 14px; border: 0; border-radius: 3px; background: #1abc9c; color: #fff; font-size: 12px; font-weight: 700; cursor: pointer; text-decoration: none; }
.gc-pre-btn.danger { background: #ef5361; } .gc-pre-btn.light { background: #fff; color: #333; border: 1px solid #d5d9dc; }
.gc-pre-check { font-size: 12px; font-weight: 700; }
.gc-pre-table { max-height: 290px; overflow: auto; margin-bottom: 10px; border: 1px solid #eef0f2; }
.gc-pre-table table { width: 100%; border-collapse: collapse; font-size: 11px; }
.gc-pre-table th { position: sticky; top: 0; background: #f5f6f7; text-align: left; padding: 6px; }
.gc-pre-table td { padding: 6px; border-top: 1px solid #eef0f2; white-space: pre-line; vertical-align: top; }
.gc-pre-table tr td:first-child { border-left: 4px solid #f2cf59; }
.gc-pre-empty { padding: 10px; color: #777; font-size: 12px; }
.gc-pre-lower { margin-left: 302px; padding: 0 16px 16px; border-left: 4px solid #d9661f; background: #fff; }
.gc-pre-actions { display: flex; justify-content: flex-end; padding: 10px 0; }
.gc-pre-delete summary { list-style: none; } .gc-pre-delete form { display: flex; gap: 6px; margin-top: 6px; } .gc-pre-delete input { min-width: 260px; padding: 4px 8px; }
.gc-pre-history { display: grid; grid-template-columns: 110px 1fr; border: 1px solid #e6e8ea; min-height: 220px; }
.gc-pre-histtabs { display: flex; flex-direction: column; padding: 6px 0; }
.gc-pre-histtabs button { padding: 8px 12px; border: 0; background: none; text-align: left; color: #8a9aa6; font-size: 12px; cursor: pointer; }
.gc-pre-histtabs button.is-current { color: #333; font-weight: 700; border: 1px solid #f2a65a; background: #fff; }
.gc-pre-feed { list-style: none; margin: 0; padding: 10px; background: #e9eaeb; display: flex; flex-direction: column; gap: 8px; }
.gc-pre-item { background: #fff; padding: 8px 12px; border-radius: 2px; font-size: 12px; max-width: 520px; }
.gc-pre-item.is-mail { background: #e4fbfb; } .gc-pre-item div:first-child { display: flex; justify-content: space-between; gap: 20px; } .gc-pre-item b { color: #2a7ab0; font-weight: 400; }
.gc-pre-item time { color: #888; font-size: 10px; } .gc-pre-item p { margin: 4px 0 0; }
.gc-pre-mail { display: flex; flex-direction: column; gap: 2px; margin-top: 4px; }
.gc-pre-note { display: flex; margin-top: 10px; } .gc-pre-note textarea { flex: 1; min-height: 34px; padding: 6px 8px; border: 1px solid #d5d9dc; font-size: 12px; }
.gc-pre-close { display: flex; justify-content: flex-end; margin-top: 10px; }
@media (max-width: 900px) { .gc-pre-body { grid-template-columns: 1fr; } .gc-pre-lower { margin-left: 0; } }
.gc-pre input[type=checkbox], .gc-pre input[type=radio] { width: auto; min-height: 0; margin: 0 4px 0 0; vertical-align: -2px; accent-color: #2a7ab0; }
.gc-pre-field > span { display: inline-flex; align-items: center; }
.gc-pre-body { padding-bottom: 16px; }
.gc-pre-right > .gc-pre-actions { padding: 10px 0; }
/* Cartão do e-mail recebido na tarefa (G-Click: aba Email, fundo azul-claro, ↩ ↩↩ ✉ à direita) */
.hc-mail { display: flex; flex-direction: column; gap: 1px; padding: 6px 10px; border-radius: 4px; background: #e4fbfb; }
.hc-mail-tools { align-self: flex-end; display: inline-flex; gap: 8px; margin-bottom: -16px; }
.hc-mail-tools a { color: #2a7ab0; text-decoration: none; font-size: 15px; }
/* Pré-tarefa: mesma moldura da tarefa (task-gc-*), na cor do status "Solicitada (Externo)" (laranja do painel) */
.task-gc-bar.is-external_requested, .task-gc-layout.is-external_requested { --gc-status: #d9661f; }
.gc-pre .task-gc-fields select[multiple] { width: 100%; }
.gc-pre .gc-value input[type=date], .gc-pre .gc-value select { width: 100%; border: 0; background: transparent; font: inherit; }
.gc-pre-card { padding: 0 12px 12px; }
.gc-pre .task-gc-actionbar { display: flex; align-items: flex-start; }
.gc-pre-delete[open] { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.gc-pre .gc-field > label:has(input[type=checkbox]) { justify-content: flex-start; gap: 6px; }
/* Solicitação na moldura da tarefa de obrigação */
.task-gc-bar.is-linked, .task-gc-layout.is-linked { --gc-status: #5f7480; }
.task-gc-bar.is-external_requested .task-gc-state, .task-gc-bar.is-linked .task-gc-state { background: rgba(255,255,255,.18); }
.gc-inline-form { display: flex; gap: 6px; align-items: center; }
.gc-inline-form select { flex: 1; min-width: 0; border: 0; background: transparent; font: inherit; }
.request-actionbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-start; }
.request-actionbar .action-details[open] { flex-basis: 100%; }
.request-actionbar .action-details form { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 6px; }
.request-actionbar summary { list-style: none; cursor: pointer; } .request-actionbar summary::-webkit-details-marker { display: none; }
.gc-btn.is-dark { background: #08232f; border-color: #08232f; color: #fff; }
.task-gc-fold { margin: 10px 0; padding: 10px 14px; }
.task-gc-fold > summary { display: flex; align-items: baseline; gap: 10px; cursor: pointer; list-style: none; }
.task-gc-fold > summary h2 { margin: 0; font-size: 14px; } .task-gc-fold > summary small { color: var(--muted, #5f7480); }
.task-gc-send { margin: 10px 0; }
.task-gc-main > .notice-bar { margin-bottom: 10px; }
.hc-mail-tools { flex-direction: row; align-items: center; margin-bottom: -18px; }
.hc-mail-tools a, .hc-mail-tools form, .hc-mail-tools button { display: inline-flex !important; width: auto; margin: 0; }
.hc-mail-tools button { padding: 0; border: 0; background: none; cursor: pointer; font-size: 14px; }
.hc-body.hc-mail > .hc-mail-tools { display: flex !important; flex-direction: row !important; gap: 10px; }
.hc-body.hc-mail > .hc-mail-tools { position: relative; z-index: 2; margin-bottom: -20px; }
.hc-mail-tools a, .hc-mail-tools button { min-width: 22px; min-height: 22px; justify-content: center; align-items: center; font-size: 15px; }
/* Cartão do e-mail: linhas de estatística (anexos, leituras, relacionados) e "mais informações" como no G-Click */
.hc-mail-stat { color: #33505d; }
.hc-mail-more summary { cursor: pointer; color: #33505d; list-style: none; } .hc-mail-more summary::-webkit-details-marker { display: none; }
.hc-mail-more small { display: block; margin-top: 2px; color: #5f7480; }
.hc-mail-tools svg { display: block; }
.hc-mail-tools .is-danger { color: #e0485a; }
.gc-linked { display: flex; flex-direction: column; gap: 10px; }
/* Respostas de cliente no sino e na tarefa (💬) */
.bell-replies { display: flex; flex-direction: column; gap: 4px; padding: 8px; margin-bottom: 8px; border-radius: 8px; background: #fff4e5; border: 1px solid #f5c58a; }
.bell-replies-title { color: #8a4b08; text-decoration: none; font-size: 13px; }
.bell-reply { display: flex; flex-direction: column; padding: 4px 6px; border-radius: 6px; color: #33463b; text-decoration: none; }
.bell-reply:hover { background: #ffe9cc; } .bell-reply small { color: #5f7480; }
.notification-button.has-replies .bell-count { background: #d9661f; }
.task-gc-reply-flag { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; border-radius: 999px; background: #fff; color: #b45309; font-size: 12px; font-weight: 700; text-decoration: none; }
.hc-reply { padding: 8px 10px; border-radius: 4px; background: #fff4e5; border-left: 3px solid #d9661f; }
.hc-reply.is-read { background: #f4f6f7; border-left-color: #b8c4cc; }
.hc-reply .reply-text { white-space: pre-wrap; margin: 4px 0; }
.hc-reply-tools { display: flex; gap: 8px; align-items: center; margin-top: 4px; flex-wrap: wrap; }
a.client-summary-link { text-decoration: none; color: inherit; }
.client-summary-link.client-replied.has-replies b { background: #d9661f; color: #fff; }
.hc-reply .reply-warn { color: #9a4b00; background: #fff3e0; border-radius: 4px; padding: 3px 6px; font-size: 12px; }
.mail-alert { position: relative; color: #0f766e; margin-right: 4px; }
.mail-alert .mail-count { position: absolute; top: -4px; right: -4px; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 8px; background: #d9661f; color: #fff; font-size: 10px; font-weight: 700; line-height: 16px; text-align: center; }

/* Relatórios › E-mails: compacto (milhares de linhas), uma linha por e-mail, clicar expande o cartão do G-Click */
.mail-filters { padding: 10px 14px; }
.mail-bar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.mail-period { display: flex; align-items: center; gap: 4px; font-size: 12px; color: #475569; }
.mail-period input { height: 30px; padding: 2px 6px; }
.mail-search { flex: 1 1 220px; min-width: 160px; height: 30px; padding: 2px 8px; }
.mail-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.mail-chip { font-size: 12px; padding: 4px 10px; border-radius: 14px; border: 1px solid #d5e0e4; color: #34505e; background: #fff; text-decoration: none; }
.mail-chip.is-on { background: #0f766e; border-color: #0f766e; color: #fff; }
.mail-chip.is-reply { border-color: #f0b072; color: #9a4b00; background: #fff7ed; }
.mail-chip.is-reply.is-on { background: #d9661f; color: #fff; }
.mail-more-filters { margin-top: 8px; }
.mail-more-filters > summary { cursor: pointer; font-size: 12px; color: #1d6fb8; }
.mail-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 8px 12px; margin: 8px 0; align-items: end; }
.mail-grid select[multiple] { min-height: 54px; }
.mail-list-head { display: flex; justify-content: space-between; font-size: 12px; color: #475569; padding: 2px 4px 6px; }
.mail-list { border-top: 1px solid #e5edf0; }
.mail-row { border-bottom: 1px solid #eef3f5; }
.mail-row > summary { list-style: none; display: grid; grid-template-columns: 10px 68px minmax(90px, 1.1fr) minmax(90px, 1.1fr) minmax(140px, 2.4fr) auto; gap: 10px; align-items: center; padding: 5px 8px; cursor: pointer; font-size: 12px; }
.mail-row > summary::-webkit-details-marker { display: none; }
.mail-row > summary:hover { background: #f6fafb; }
.mail-row[open] > summary { background: #eef6f7; }
.mail-row.has-unread > summary { box-shadow: inset 3px 0 0 #d9661f; background: #fffaf3; }
.mail-row > summary > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.mail-dot { width: 8px; height: 8px; border-radius: 50%; background: #cbd5e1; }
.mail-dot.is-delivered, .mail-dot.is-accepted { background: #2f80c3; }
.mail-dot.is-read, .mail-dot.is-read.is-delivered { background: #2fa36b; }
.mail-dot.is-failed { background: #c62828; }
.mail-dot.is-unknown_reconcile { background: #e0a100; }
.mail-when { color: #64748b; }
.mail-client { color: #1f3a48; font-weight: 600; }
.mail-task { color: #0f766e; }
.mail-task.is-done { color: #64748b; }
.mail-error { color: #c62828; font-style: normal; }
.mail-icons { display: flex; gap: 8px; color: #64748b; white-space: nowrap; }
.mail-reply-flag { border-radius: 10px; padding: 0 6px; }
.mail-reply-flag.is-unread { background: #d9661f; color: #fff; font-weight: 700; }
.mail-detail { padding: 6px 12px 10px 26px; font-size: 12px; display: flex; flex-direction: column; gap: 6px; background: #fbfdfd; }
.mail-head { display: flex; flex-direction: column; gap: 2px; color: #334155; }
.mail-stats { display: flex; gap: 14px; flex-wrap: wrap; color: #475569; }
.mail-sub > summary { cursor: pointer; color: #1d6fb8; }
.mail-sub small { display: block; color: #475569; }
.mail-body { background: #fff; border: 1px solid #eef3f5; border-radius: 4px; padding: 6px 8px; max-height: 200px; overflow: auto; }
.mail-reply { border-left: 3px solid #cbd5e1; padding: 4px 8px; background: #fff; border-radius: 4px; }
.mail-reply.is-unread { border-left-color: #d9661f; background: #fff7ed; }
.mail-reply-tools { display: flex; gap: 8px; align-items: center; margin-top: 4px; }
@media (max-width: 900px) { .mail-row > summary { grid-template-columns: 10px 58px 1fr auto; } .mail-row > summary .mail-task, .mail-row > summary .mail-subject { display: none; } }
@media print { .mail-filters, .app-sidebar, .topbar { display: none !important; } }
.mail-alert { color: #64748b; }
.mail-alert.has-unread { color: #0f766e; }
.mail-gc-panel > summary { list-style: none; display: flex; justify-content: space-between; cursor: pointer; font-size: 13px; color: #34505e; padding-bottom: 6px; border-bottom: 1px solid #eef3f5; }
.mail-gc-panel > summary::-webkit-details-marker { display: none; }
.mail-gc-panel:not([open]) .mail-gc-chevron { transform: rotate(180deg); }
.mail-gc-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px 14px; margin: 10px 0; align-items: end; }
.mail-gc-grid .field { font-size: 11px; font-weight: 600; color: #34505e; }
.mail-gc-grid input, .mail-gc-grid select { height: 32px; }
.mail-gc-grid select[multiple] { height: auto; min-height: 32px; max-height: 70px; }
.mail-gc-check { align-self: center; }
.mail-list-head { align-items: center; gap: 10px; flex-wrap: wrap; }
.mail-tools input { height: 26px; padding: 2px 8px; width: 180px; }
@media (max-width: 900px) { .mail-gc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* tabela igual ao G-Click: cabeçalho fixo que ordena, barra de cor do status na tarefa, cartão do e-mail enxuto */
.mail-table-wrap { max-height: calc(100vh - 230px); overflow: auto; border: 1px solid #e5edf0; border-radius: 4px; }
.mail-gc-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.mail-gc-table thead th { position: sticky; top: 0; z-index: 2; background: #f1f5f7; text-align: left; padding: 7px 8px; border-bottom: 1px solid #dfe7ea; white-space: nowrap; }
.mail-sort { color: #34505e; text-decoration: none; font-weight: 700; }
.mail-sort::after { content: " ⇅"; color: #b6c4ca; font-weight: 400; }
.mail-sort.is-asc::after { content: " ▲"; color: #0f766e; }
.mail-sort.is-desc::after { content: " ▼"; color: #0f766e; }
.mail-gc-table td { padding: 6px 8px; border-bottom: 1px solid #eef3f5; vertical-align: top; }
.mail-gc-table tr:hover td { background: #fafcfd; }
.mail-gc-table tr.has-unread td { background: #fff8f0; }
.mail-gc-table tr.has-unread td:first-child { box-shadow: inset 3px 0 0 #d9661f; }
.mail-gc-table .mail-dep { width: 12%; color: #334155; }
.mail-gc-table .mail-task { width: 15%; text-align: center; border-left: 4px solid #cbd5e1; }
.mail-gc-table .mail-task.is-open { border-left-color: #2f80c3; }
.mail-gc-table .mail-task.is-done { border-left-color: #4cc38a; }
.mail-gc-table .mail-task.is-late { border-left-color: #d64545; }
.mail-gc-table .mail-task.is-off { border-left-color: #9aa5ad; }
.mail-gc-table .mail-task a { color: #1d6fb8; }
.mail-gc-table .mail-card { display: table-cell; }
.mail-gc-table .mail-card > span { display: block; line-height: 1.5; }
.mail-gc-table .mail-card small { color: #475569; }
.mail-stats-line { display: flex !important; gap: 12px; flex-wrap: wrap; color: #475569; }
.mail-status { border-radius: 8px; padding: 0 6px; background: #eef2f5; color: #475569; }
.mail-status.is-delivered, .mail-status.is-accepted { background: #e6f0fa; color: #1d6fb8; }
.mail-status.is-read { background: #e3f6ec; color: #1f7a4f; }
.mail-status.is-failed { background: #fde8e8; color: #b42318; }
.mail-gc-table .mail-sent { width: 10%; color: #475569; }
.mail-gc-table .mail-client { width: 16%; color: #1f3a48; }
.mail-gc-table details.mail-reply > summary { cursor: pointer; font-weight: 600; color: #475569; }
.mail-gc-table details.mail-reply.is-unread > summary { color: #b45309; }
.mail-client-search { display: flex; gap: 4px; }
.mail-client-search input { flex: 1; min-width: 0; }
.mail-client-search .gc-btn { padding: 0 8px; height: 32px; }
.int-advanced { margin-top: 10px; } .int-advanced > summary { cursor: pointer; color: #1d6fb8; font-size: 12px; }
.int-badge.is-alert { background: #fde8e8; color: #b42318; }
.int-history { margin-top: 12px; border-top: 1px solid #eef3f5; padding-top: 8px; } .int-history > summary { cursor: pointer; font-size: 12px; color: #475569; }
.int-history-all > summary, .int-ready > summary { display: flex; justify-content: space-between; align-items: center; cursor: pointer; list-style: none; }
.int-history-all > summary::-webkit-details-marker, .int-ready > summary::-webkit-details-marker { display: none; } .int-history-all > summary h2, .int-ready > summary h2 { margin: 0; }
.password-wrap { position: relative; display: block; } .password-wrap input { width: 100%; padding-right: 40px; } .password-eye { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); border: 0; background: transparent; color: #64748b; cursor: pointer; padding: 4px; } .password-eye[aria-pressed=true] { color: #0f766e; }
