/* Categoria 04 - experiencia e coesao do produto */
.global-search-trigger {
    width:min(430px, 100%); display:flex; align-items:center; gap:10px; margin:7px auto 0;
    padding:9px 12px; border:1px solid #cbd5e1; border-radius:12px; background:#fff;
    color:#526174; cursor:pointer; box-shadow:0 3px 12px rgba(15,23,42,.07); text-align:left;
}
.global-search-trigger:hover { border-color:#5b84d4; color:#243a61; }
.global-search-trigger .ph { font-size:19px; color:#3b7d87; }
.global-search-trigger span { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.global-search-trigger kbd { padding:2px 7px; border:1px solid #d8dee8; border-bottom-width:2px; border-radius:6px; background:#f8fafc; font:600 11px/1.5 system-ui,sans-serif; }
.global-search-trigger-mobile { display:none; width:42px; height:42px; border:0; border-radius:50%; background:#eef6f7; color:#2f6f79; font-size:21px; }

.global-search-overlay, .onboarding-overlay {
    position:fixed; inset:0; z-index:11000; display:none; place-items:start center;
    padding:8vh 18px 24px; background:rgba(15,23,42,.56); backdrop-filter:blur(4px);
}
.global-search-overlay.is-open, .onboarding-overlay.is-open { display:grid; }
.global-search-dialog {
    width:min(720px,100%); max-height:min(720px,84vh); overflow:hidden; display:flex; flex-direction:column;
    border:1px solid rgba(255,255,255,.7); border-radius:22px; background:#fff; color:#172033;
    box-shadow:0 28px 70px rgba(15,23,42,.3);
}
.global-search-input-wrap { display:flex; align-items:center; gap:12px; padding:17px 19px; border-bottom:1px solid #e2e8f0; }
.global-search-input-wrap .ph { color:#3b7d87; font-size:23px; }
.global-search-input { flex:1; min-width:0; border:0; outline:0; background:transparent; font:600 18px/1.4 inherit; color:#172033; }
.global-search-close { border:0; border-radius:10px; padding:7px 9px; background:#f1f5f9; color:#526174; cursor:pointer; }
.global-search-results { overflow:auto; padding:10px; }
.global-search-section-title { margin:9px 10px 5px; color:#7b8798; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.global-search-result { width:100%; display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:11px; align-items:center; padding:10px; border:0; border-radius:12px; background:transparent; color:#172033; text-align:left; cursor:pointer; }
.global-search-result:hover, .global-search-result.is-active { background:#edf6f7; }
.global-search-result-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:#e7effc; color:#416cac; font-size:20px; }
.global-search-result[data-kind="cliente"] .global-search-result-icon { background:#e8f8ee; color:#0e8b3d; }
.global-search-result strong, .global-search-result small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.global-search-result small { margin-top:2px; color:#6b7387; }
.global-search-result-tag { color:#718096; font-size:11px; font-weight:700; }
.global-search-empty { padding:34px 16px; text-align:center; color:#6b7387; }
.global-search-footer { display:flex; gap:18px; padding:10px 18px; border-top:1px solid #e2e8f0; color:#7b8798; font-size:11px; }

.onboarding-overlay { place-items:center; padding:18px; }
.onboarding-dialog { width:min(570px,100%); border-radius:24px; background:#fff; color:#172033; box-shadow:0 28px 70px rgba(15,23,42,.34); overflow:hidden; }
.onboarding-progress { height:5px; background:#e7edf4; }
.onboarding-progress span { display:block; height:100%; background:linear-gradient(90deg,#5b84d4,#14b54f); transition:width .25s ease; }
.onboarding-body { padding:30px 30px 20px; }
.onboarding-icon { display:grid; place-items:center; width:58px; height:58px; border-radius:18px; margin-bottom:18px; background:linear-gradient(135deg,#e8f0ff,#dcf8e7); color:#3974a9; font-size:30px; }
.onboarding-kicker { margin:0 0 6px; color:#0e8b3d; font-size:12px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.onboarding-dialog h2 { margin:0 0 10px; font-size:27px; line-height:1.15; }
.onboarding-dialog p { margin:0; color:#667085; line-height:1.65; }
.onboarding-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:18px 30px 26px; }
.onboarding-actions-right { display:flex; gap:9px; }
.onboarding-btn { border:0; border-radius:11px; padding:11px 16px; font-weight:800; cursor:pointer; }
.onboarding-btn.secondary { background:#eef2f7; color:#526174; }
.onboarding-btn.primary { background:linear-gradient(90deg,#5b84d4,#14b54f); color:#fff; }
.onboarding-skip { border:0; background:transparent; color:#718096; cursor:pointer; }
.fab-help-btn { display:grid; place-items:center; width:42px; height:42px; border:0; border-radius:50%; background:#fff; color:#3b7d87; box-shadow:0 8px 20px rgba(15,23,42,.17); cursor:pointer; font-size:21px; }

.context-surface {
    border:1px solid rgba(203,213,225,.95); border-radius:14px;
    background:rgba(255,255,255,.94); color:#172033;
    box-shadow:0 7px 20px rgba(15,23,42,.09); backdrop-filter:blur(8px);
}
.app-breadcrumb-host:empty { display:none; }
.app-breadcrumb-host { width:100%; border-bottom:1px solid #dbe3ec; background:rgba(255,255,255,.96); box-shadow:0 4px 11px rgba(15,23,42,.06); }
.app-breadcrumb {
    display:flex; align-items:center; flex-wrap:wrap; gap:5px; width:100%; min-height:38px;
    margin:0; padding:6px clamp(14px,2.2vw,32px); font-size:12px;
}
.app-breadcrumb-link {
    border:0; border-radius:7px; padding:5px 6px; background:transparent;
    color:#24768b; font-family:inherit; font-size:12px; font-weight:800; line-height:1.2; cursor:pointer;
}
.app-breadcrumb-link:hover, .app-breadcrumb-link:focus-visible { background:#e8f3f5; color:#174d64; outline:none; }
.app-breadcrumb-separator { color:#8b98aa; font-size:12px; }
.app-breadcrumb-current { color:#172033; font-weight:900; }
.work-section-head.context-surface { align-items:center; padding:14px 16px; }
.work-section-head.context-surface h2 { color:#172033; }
.work-section-head.context-surface p { color:#526174; }
.work-home { display:grid; gap:18px; }
.work-hero { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px; border-radius:20px; background:linear-gradient(120deg,#173a63,#237f91 60%,#11a34a); color:#fff; box-shadow:0 13px 30px rgba(25,70,91,.18); }
.work-hero:after { content:""; position:absolute; width:210px; height:210px; border-radius:50%; right:-70px; top:-105px; background:rgba(255,255,255,.11); }
.work-hero h1 { margin:0 0 7px; font-size:clamp(24px,3vw,36px); }
.work-hero p { margin:0; color:rgba(255,255,255,.82); }
.work-hero-actions { position:relative; z-index:1; display:flex; gap:9px; flex-wrap:wrap; }
.work-btn { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:42px; padding:9px 14px; border:0; border-radius:11px; font-weight:800; text-decoration:none; cursor:pointer; }
.work-btn.primary { background:#fff; color:#173a63; }
.work-btn.secondary { background:rgba(255,255,255,.14); color:#fff; border:1px solid rgba(255,255,255,.32); }
.work-section-head { display:flex; align-items:end; justify-content:space-between; gap:16px; }
.work-section-head h2 { margin:0; color:#152238; font-size:21px; }
.work-section-head p { margin:4px 0 0; color:#6b7387; }
.work-task-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.work-task { display:flex; flex-direction:column; min-height:176px; padding:17px; border:1px solid #dbe3ec; border-radius:16px; background:rgba(255,255,255,.96); box-shadow:0 7px 18px rgba(15,23,42,.06); }
.work-task-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:#e8f0ff; color:#416cac; font-size:21px; }
.work-task.is-alert .work-task-icon { background:#fff0ec; color:#d24f32; }
.work-task.is-success .work-task-icon { background:#e8f8ee; color:#0e8b3d; }
.work-task h3 { margin:13px 0 5px; color:#172033; font-size:16px; }
.work-task p { margin:0 0 14px; color:#6b7387; font-size:13px; line-height:1.45; }
.work-task-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; }
.work-task-count { min-width:28px; padding:4px 8px; border-radius:999px; background:#edf2f7; color:#364152; text-align:center; font-size:12px; font-weight:900; }
.work-task-action { border:0; background:transparent; color:#24768b; font-weight:850; cursor:pointer; }
.work-panels { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr); gap:15px; align-items:start; }
.work-panel { padding:17px; border:1px solid #dbe3ec; border-radius:17px; background:rgba(255,255,255,.96); box-shadow:0 7px 18px rgba(15,23,42,.05); }
.work-panel h2 { margin:0 0 12px; color:#172033; font-size:18px; }
.work-pulse-list { display:grid; gap:9px; }
.work-pulse-category { overflow:hidden; border:1px solid #e0e7ef; border-radius:13px; background:#f8fafc; }
.work-pulse-summary { width:100%; display:grid; grid-template-columns:34px minmax(150px,.8fr) minmax(360px,1.5fr) 18px; align-items:center; gap:10px; padding:10px 12px; border:0; background:transparent; color:#172033; text-align:left; cursor:pointer; }
.work-pulse-summary:hover, .work-pulse-summary:focus-visible { background:#eef5f7; outline:none; }
.work-pulse-icon { display:grid; place-items:center; width:32px; height:32px; border-radius:9px; background:#e8f8ee; color:#0e8b3d; font-size:18px; }
.work-pulse-title strong, .work-pulse-title small { display:block; }
.work-pulse-title strong { font-size:14px; }
.work-pulse-title small { margin-top:2px; color:#7b8798; font-size:10px; }
.work-pulse-statuses { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); align-items:stretch; gap:5px; width:100%; min-width:0; }
.work-pulse-status { box-sizing:border-box; display:grid; grid-template-rows:auto 1fr; align-content:center; min-width:0; min-height:38px; padding:5px 6px; border-radius:9px; background:#edf2f7; text-align:center; }
.work-pulse-status small, .work-pulse-status strong { display:block; }
.work-pulse-status small { overflow:hidden; color:#758195; font-size:8px; font-weight:800; text-overflow:ellipsis; text-transform:uppercase; }
.work-pulse-status strong { margin-top:2px; color:#364152; font-size:12px; }
.work-pulse-status.is-recebida { background:#e7effc; }
.work-pulse-status.is-lida { background:#e4f5e9; }
.work-pulse-status.is-respondida { background:#d8f0e1; }
.work-pulse-status.is-falha { background:#fff0ec; }
.work-pulse-status.is-falha strong { color:#b83f2a; }
.work-pulse-caret { color:#7b8798; transition:transform .2s ease; }
.work-pulse-summary[aria-expanded="true"] .work-pulse-caret { transform:rotate(180deg); }
.work-pulse-details { display:grid; gap:7px; padding:9px 12px 12px 56px; border-top:1px solid #dfe7ef; background:#fff; }
.work-pulse-details[hidden] { display:none; }
.work-pulse-item { display:grid; grid-template-columns:minmax(150px,.8fr) minmax(360px,1.5fr) 18px; align-items:center; gap:10px; padding:8px 0; border-radius:10px; background:#f8fafc; }
.work-pulse-item > strong { overflow:hidden; color:#273449; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.work-pulse-empty { margin:0; padding:10px; color:#667085; font-size:12px; }
.work-checklist { display:grid; gap:9px; }
.work-check { display:grid; grid-template-columns:32px minmax(0,1fr) auto; align-items:center; gap:10px; padding:10px; border-radius:12px; background:#f7f9fc; }
.work-check .ph { color:#0e8b3d; font-size:20px; }
.work-check strong, .work-check small { display:block; }
.work-check small { color:#6b7387; margin-top:2px; }
.work-check button { border:0; background:transparent; color:#24768b; font-weight:800; cursor:pointer; }

.client360 { display:grid; gap:16px; }
.client360-back { display:inline-flex; align-items:center; gap:6px; border:0; background:transparent; color:#24768b; font-weight:800; cursor:pointer; }
.client360-hero { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:16px; padding:21px; border-radius:19px; background:linear-gradient(120deg,#193c65,#258195); color:#fff; }
.client360-avatar { display:grid; place-items:center; width:58px; height:58px; border-radius:17px; background:rgba(255,255,255,.16); font-size:27px; font-weight:900; }
.client360-hero h1 { margin:0 0 5px; font-size:26px; }
.client360-hero p { margin:0; color:rgba(255,255,255,.78); }
.client360-badges { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }
.client360-badge { padding:5px 9px; border-radius:999px; background:rgba(255,255,255,.15); font-size:11px; font-weight:800; }
.client360-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.client360-kpi { padding:15px; border:1px solid #dbe3ec; border-radius:15px; background:#fff; }
.client360-kpi span { display:block; color:#6b7387; font-size:12px; }
.client360-kpi strong { display:block; margin-top:5px; color:#172033; font-size:22px; }
.client360-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(270px,.65fr); gap:15px; align-items:start; }
.client360-panel { padding:18px; border:1px solid #dbe3ec; border-radius:17px; background:#fff; }
.client360-panel h2 { margin:0 0 14px; font-size:18px; color:#172033; }
.client360-timeline { display:grid; gap:0; }
.client360-event { position:relative; display:grid; grid-template-columns:34px minmax(0,1fr); gap:11px; padding:0 0 18px; }
.client360-event:not(:last-child):before { content:""; position:absolute; left:16px; top:31px; bottom:0; width:2px; background:#dde6ef; }
.client360-event-icon { z-index:1; display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:#e7effc; color:#416cac; }
.client360-event[data-type="compra"] .client360-event-icon { background:#e8f8ee; color:#0e8b3d; }
.client360-event[data-type="lembrete"] .client360-event-icon { background:#fff5df; color:#a96a08; }
.client360-event h3 { margin:1px 0 3px; font-size:14px; color:#172033; }
.client360-event p { margin:0; color:#6b7387; font-size:12px; }
.client360-profile { display:grid; gap:10px; }
.client360-field { padding:10px; border-radius:11px; background:#f7f9fc; }
.client360-field span, .client360-field strong { display:block; word-break:break-word; }
.client360-field span { color:#7b8798; font-size:11px; }
.client360-field strong { margin-top:3px; color:#273449; font-size:13px; }

@media (max-width:1080px) {
    .work-task-grid, .client360-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .work-panels, .client360-layout { grid-template-columns:1fr; }
}
@media (max-width:760px) {
    .global-search-trigger { display:none; }
    .global-search-trigger-mobile { display:grid; place-items:center; }
    .global-search-overlay { padding:4vh 10px 12px; }
    .global-search-dialog { max-height:92vh; }
    .global-search-footer { display:none; }
    .work-hero { align-items:flex-start; flex-direction:column; }
    .work-pulse-summary { grid-template-columns:34px minmax(0,1fr) 18px; }
    .work-pulse-summary > .work-pulse-statuses { grid-column:1/-1; }
    .work-pulse-details { padding-left:10px; padding-right:10px; }
    .work-pulse-item { grid-template-columns:1fr; }
    .work-pulse-item > .work-pulse-statuses { margin-top:4px; }
    .app-breadcrumb { padding-left:12px; padding-right:12px; }
    .work-section-head.context-surface { align-items:flex-start; }
    .work-task-grid, .client360-kpis { grid-template-columns:1fr; }
    .client360-hero { grid-template-columns:auto minmax(0,1fr); }
    .client360-hero-actions { grid-column:1/-1; }
    .onboarding-body { padding:25px 21px 16px; }
    .onboarding-actions { padding:14px 21px 22px; }
    .work-pulse-statuses { grid-template-columns:repeat(5,minmax(48px,1fr)); }
}
@media (prefers-reduced-motion:reduce) {
    .onboarding-progress span { transition:none; }
}