.conv-layout{display:grid;grid-template-columns:340px 1fr;height:calc(100vh - 300px);min-height:480px;background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--border)}.conv-list{border-right:1px solid var(--border);overflow-y:auto}.conv-list-header{padding:12px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#fff;z-index:2}.conv-list-title{font-size:13px;font-weight:700}.conv-list-count{font-size:11px;font-family:var(--font-mono);background:var(--play-pink-soft);color:var(--play-pink);padding:1px 7px;border-radius:8px;font-weight:700}.conv-item{padding:12px 14px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s;display:flex;gap:10px}.conv-item:hover{background:#07093c08}.conv-item.active{background:var(--play-pink-soft);border-left:3px solid var(--play-pink)}.conv-item.unread{background:#2563eb0a}.conv-item-avatar{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}.conv-item-avatar.whatsapp{background:#e8f9f0}.conv-item-avatar.email{background:var(--play-pink-soft)}.conv-item-avatar.web{background:var(--info-soft)}.conv-item-body{flex:1;min-width:0;overflow:hidden}.conv-item-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:2px}.conv-item-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-item-time{font-size:10.5px;font-family:var(--font-mono);color:var(--play-navy-40);flex-shrink:0}.conv-item-preview{font-size:12px;color:var(--play-navy-60);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-item-meta{display:flex;gap:6px;align-items:center;margin-top:4px}.conv-channel-badge{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:3px}.conv-channel-badge.whatsapp{background:#e8f9f0;color:#25d366}.conv-channel-badge.email{background:var(--play-pink-soft);color:var(--play-pink)}.conv-channel-badge.web{background:var(--info-soft);color:var(--info)}.conv-status-badge{font-size:9.5px;font-weight:700;padding:1px 6px;border-radius:3px}.conv-status-badge.open{background:var(--success-soft);color:var(--success)}.conv-status-badge.resolved{background:var(--play-navy-10);color:var(--play-navy-60)}.conv-status-badge.pending{background:var(--warning-soft);color:var(--warning)}.conv-unread-dot{width:8px;height:8px;border-radius:50%;background:var(--info);flex-shrink:0}.conv-chat{display:flex;flex-direction:column;height:100%}.conv-chat-header{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.conv-chat-info{display:flex;align-items:center;gap:10px}.conv-chat-name{font-size:14px;font-weight:700}.conv-chat-channel{font-size:11px;color:var(--play-navy-60)}.conv-chat-actions{display:flex;gap:6px}.conv-chat-action-btn{padding:5px 10px;font-size:11.5px;border-radius:6px;border:1px solid var(--border);color:var(--play-navy-60);font-family:inherit;font-weight:600;transition:all .15s}.conv-chat-action-btn:hover{border-color:var(--play-pink);color:var(--play-pink)}.conv-chat-action-btn.resolve{background:var(--success-soft);color:var(--success);border-color:var(--success)}.conv-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px}.conv-msg{max-width:72%;padding:10px 14px;border-radius:12px;font-size:13px;line-height:1.5;position:relative;word-wrap:break-word}.conv-msg.incoming{align-self:flex-start;background:var(--play-navy-05);border-bottom-left-radius:4px}.conv-msg.outgoing{align-self:flex-end;background:var(--play-pink);color:#fff;border-bottom-right-radius:4px}.conv-msg.private{align-self:flex-end;background:var(--warning-soft);color:var(--play-navy);border:1px dashed var(--warning);border-bottom-right-radius:4px}.conv-msg-time{font-size:10px;margin-top:4px;opacity:.6;font-family:var(--font-mono)}.conv-msg-sender{font-size:10.5px;font-weight:700;margin-bottom:3px;opacity:.7}.conv-msg-private-badge{font-size:9px;font-weight:700;text-transform:uppercase;color:var(--warning);display:flex;align-items:center;gap:3px}.conv-composer{padding:12px 16px;border-top:1px solid var(--border);background:var(--play-navy-05)}.conv-composer-row{display:flex;gap:8px;align-items:flex-end}.conv-composer-input{flex:1;border:1px solid var(--border);border-radius:10px;padding:10px 14px;font-family:inherit;font-size:13px;resize:none;min-height:42px;max-height:120px;outline:none;background:#fff}.conv-composer-input:focus{border-color:var(--play-pink)}.conv-composer-send{background:var(--play-pink);color:#fff;padding:10px 18px;border-radius:10px;font-weight:700;font-size:13px;font-family:inherit;white-space:nowrap;flex-shrink:0}.conv-composer-send:disabled{opacity:.5;cursor:default}.conv-composer-options{display:flex;align-items:center;gap:10px;margin-top:8px}.conv-composer-private-toggle{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--play-navy-60);cursor:pointer}.conv-composer-private-toggle input{cursor:pointer}.conv-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--play-navy-40);gap:8px;padding:40px;text-align:center}.conv-empty-icon{font-size:40px;opacity:.4}.conv-empty-title{font-size:15px;font-weight:600}.conv-empty-desc{font-size:12.5px}.conv-readonly-bar{padding:8px 16px;background:var(--info-soft);color:var(--info);font-size:12px;font-weight:600;text-align:center}:root{--play-pink: #EC0A64;--play-pink-soft: #FFE8F1;--play-navy: #07093C;--play-navy-80: rgba(7, 9, 60, .8);--play-navy-60: rgba(7, 9, 60, .6);--play-navy-40: rgba(7, 9, 60, .4);--play-navy-20: rgba(7, 9, 60, .2);--play-navy-10: rgba(7, 9, 60, .1);--play-navy-05: rgba(7, 9, 60, .05);--success: #0E9F6E;--success-soft: #D1FAE5;--warning: #D97706;--warning-soft: #FEF3C7;--danger: #DC2626;--danger-soft: #FEE2E2;--info: #2563EB;--info-soft: #DBEAFE;--bg: #FAFAFC;--surface: #FFFFFF;--border: #E8E9F0;--font-sans: "Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", Menlo, monospace;--shadow-sm: 0 1px 2px rgba(7, 9, 60, .05);--shadow-md: 0 4px 12px rgba(7, 9, 60, .08);--shadow-lg: 0 10px 30px rgba(7, 9, 60, .12);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px}:root{--play-pink: #EC0A64;--play-pink-soft: #FFE5EF;--play-pink-hover: #C00852;--play-navy: #07093C;--play-navy-80: #1E2056;--play-navy-60: #4A4C7A;--play-navy-40: #8586A8;--play-navy-20: #C7C8D6;--play-navy-10: #E8E9F0;--play-navy-05: #F5F5F9;--bg: #FAFAFC;--white: #FFFFFF;--success: #0E9F6E;--success-soft: #E3F9EF;--warning: #D97706;--warning-soft: #FEF3E2;--danger: #DC2626;--danger-soft: #FEE4E4;--info: #2563EB;--info-soft: #E0ECFF;--border: #E8E9F0;--shadow-sm: 0 1px 2px rgba(7, 9, 60, .04);--shadow-md: 0 4px 12px rgba(7, 9, 60, .06);--shadow-lg: 0 12px 32px rgba(7, 9, 60, .08);--shadow-xl: 0 24px 48px rgba(7, 9, 60, .12)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Outfit,sans-serif;background:var(--bg);color:var(--play-navy);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.mono{font-family:JetBrains Mono,monospace}.ico{width:16px;height:16px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.ico-sm{width:13px;height:13px}.ico-lg{width:20px;height:20px}.topbar{background:var(--play-navy);color:#fff;padding:0 24px;height:56px;display:flex;align-items:center;gap:16px;position:sticky;top:0;z-index:100}.topbar-brand{display:flex;align-items:center;gap:8px;flex-shrink:0}.logo{font-weight:800;font-size:18px;letter-spacing:-.02em;display:flex;align-items:center;gap:8px;color:#fff;text-decoration:none;cursor:pointer}.logo-dot{width:8px;height:8px;background:var(--play-pink);border-radius:50%}.nav-menu{display:flex;gap:2px;margin-left:8px;flex-shrink:0}.nav-item{padding:7px 12px;font-size:13px;color:#ffffffb3;cursor:pointer;border-radius:6px;transition:all .15s;display:flex;align-items:center;gap:6px;white-space:nowrap;border:none;background:transparent;font-family:inherit}.nav-item:hover{background:#ffffff14;color:#fff}.nav-item.active{background:#ec0a6426;color:#fff;font-weight:500}.nav-item-badge{background:var(--play-pink);color:#fff;font-size:10px;padding:1px 6px;border-radius:8px;font-weight:700;font-family:JetBrains Mono,monospace}.topbar-search{flex:1;max-width:540px;position:relative;margin:0 12px}.topbar-search-input{width:100%;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#fff;padding:8px 36px 8px 38px;border-radius:8px;font-family:inherit;font-size:13px;outline:none;transition:all .15s}.topbar-search-input::placeholder{color:#ffffff80}.topbar-search-input:focus{background:#ffffff24;border-color:var(--play-pink)}.topbar-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#ffffff80}.topbar-search-kbd{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:#ffffff1a;padding:2px 6px;border-radius:4px;font-size:10px;font-family:JetBrains Mono,monospace;color:#fff9;font-weight:600;pointer-events:none}.search-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-xl);overflow:hidden;display:none;max-height:480px;overflow-y:auto;color:var(--play-navy)}.search-dropdown.show{display:block}.search-section{padding:8px 0;border-bottom:1px solid var(--border)}.search-section:last-child{border-bottom:none}.search-section-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--play-navy-40);font-weight:700;padding:6px 14px}.search-result{padding:10px 14px;cursor:pointer;display:flex;align-items:center;gap:10px;transition:background .1s}.search-result:hover{background:var(--play-navy-05)}.search-result-logo{width:32px;height:32px;border-radius:8px;background:var(--play-navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}.search-result-body{flex:1;min-width:0}.search-result-name{font-size:13px;font-weight:600}.search-result-meta{font-size:11px;color:var(--play-navy-60)}.search-result-action{font-size:11px;color:var(--play-navy-40);font-family:JetBrains Mono,monospace}.topbar-right{display:flex;align-items:center;gap:4px;margin-left:auto;flex-shrink:0}.topbar-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;position:relative;color:#ffffffb3;transition:all .15s;background:transparent;border:none}.topbar-btn:hover{background:#ffffff14;color:#fff}.topbar-btn.active{background:#ffffff1f;color:#fff}.topbar-btn-badge{position:absolute;top:4px;right:4px;min-width:16px;height:16px;padding:0 4px;background:var(--play-pink);border-radius:8px;font-size:10px;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid var(--play-navy);font-family:JetBrains Mono,monospace}.user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--play-pink),#FF5B96);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;color:#fff;cursor:pointer;margin-left:6px;border:none}.panel-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-xl);min-width:360px;max-width:420px;overflow:hidden;color:var(--play-navy);z-index:200;display:none}.panel-dropdown.show{display:block}.panel-header{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background:var(--play-navy-05)}.panel-title{font-weight:700;font-size:14px;letter-spacing:-.01em}.panel-action{font-size:11.5px;color:var(--play-pink);font-weight:500;cursor:pointer;background:none;border:none;font-family:inherit}.panel-body{max-height:480px;overflow-y:auto}.notif-time{font-size:10.5px;color:var(--play-navy-40);font-family:JetBrains Mono,monospace}.quick-create-kbd{font-size:10.5px;font-family:JetBrains Mono,monospace;background:var(--play-navy-05);padding:2px 6px;border-radius:4px;color:var(--play-navy-60);border:1px solid var(--border)}.user-menu-header{padding:16px;text-align:center;border-bottom:1px solid var(--border)}.user-menu-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--play-pink),#FF5B96);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:22px;color:#fff;margin:0 auto 8px}.user-menu-name{font-weight:700;font-size:15px}.user-menu-role{font-size:12px;color:var(--play-navy-60);margin-top:2px}.user-menu-email{font-size:11.5px;color:var(--play-navy-40);font-family:monospace;margin-top:4px}.user-menu-list{padding:6px}.user-menu-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:7px;cursor:pointer;font-size:13px;transition:background .1s;color:var(--play-navy)}.user-menu-item:hover{background:var(--play-navy-05)}.user-menu-item.danger{color:var(--danger)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#07093c80;z-index:300;display:none;align-items:flex-start;justify-content:center;padding:80px 20px 20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-overlay.show{display:flex}.modal{background:#fff;border-radius:16px;width:100%;max-width:640px;max-height:calc(100vh - 100px);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xl)}.modal-title{font-weight:700;font-size:17px;letter-spacing:-.02em}.modal-close{background:none;border:none;color:var(--play-navy-60);cursor:pointer;padding:6px;border-radius:6px}.modal-close:hover{background:var(--play-navy-05)}.modal-body{padding:20px 24px;overflow-y:auto;flex:1}.modal-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px;background:var(--play-navy-05)}.form-label{display:block;font-size:12px;font-weight:600;color:var(--play-navy);margin-bottom:6px}.form-label .required{color:var(--danger)}.form-input,.form-select,.form-textarea{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:13px;outline:none;background:#fff;color:var(--play-navy);transition:all .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--play-pink);box-shadow:0 0 0 3px #ec0a6414}.form-textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.btn{padding:8px 14px;border-radius:8px;border:none;font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .15s;white-space:nowrap}.btn-primary{background:var(--play-pink);color:#fff}.btn-primary:hover{background:var(--play-pink-hover)}.btn-secondary{background:#fff;color:var(--play-navy);border:1px solid var(--border)}.btn-secondary:hover{background:var(--play-navy-05);border-color:var(--play-navy-20)}.btn-ghost{background:transparent;color:var(--play-navy-60);border:1px solid transparent}.btn-ghost:hover{background:var(--play-navy-05);color:var(--play-navy)}.btn-danger{background:var(--danger);color:#fff}.btn-sm{padding:5px 10px;font-size:12px}.page{display:none}.page.active{display:block;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.page-header{background:#fff;border-bottom:1px solid var(--border);padding:24px 32px}.page-header-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.page-title{font-size:22px;font-weight:700;letter-spacing:-.02em}.page-subtitle{font-size:13px;color:var(--play-navy-60);margin-top:4px}.page-actions{display:flex;gap:8px}.content-wrap{padding:20px 32px;max-width:1600px;margin:0 auto}.card{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden}.card-header{padding:14px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.card-title{font-size:14px;font-weight:600;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}.card-title-accent{width:3px;height:14px;background:var(--play-pink);border-radius:2px}.card-title-count{background:var(--play-pink);color:#fff;font-size:10px;padding:2px 7px;border-radius:10px;font-weight:700}.card-body{padding:20px}.kpi-row{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:20px}.kpi-big{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px 16px;position:relative;overflow:hidden}.kpi-big.highlight{background:linear-gradient(135deg,var(--play-navy) 0%,var(--play-navy-80) 100%);color:#fff;border-color:var(--play-navy)}.kpi-big-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--play-navy-40);font-weight:600;margin-bottom:6px}.kpi-big.highlight .kpi-big-label{color:#fff9}.kpi-big-value{font-size:22px;font-weight:700;font-family:JetBrains Mono,monospace;letter-spacing:-.02em;margin-bottom:2px}.kpi-big-sub{font-size:11px;color:var(--play-navy-60)}.kpi-big.highlight .kpi-big-sub{color:#ffffffb3}.kpi-trend{font-weight:600}.kpi-trend.up{color:var(--success)}.kpi-trend.down{color:var(--danger)}.kpi-big.highlight .kpi-trend.up{color:#5eead4}.meta-progress{height:4px;background:var(--play-navy-10);border-radius:2px;margin-top:6px;overflow:hidden}.meta-progress-fill{height:100%;background:var(--play-pink);border-radius:2px}.status-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;white-space:nowrap}.badge-ok{background:var(--success-soft);color:var(--success)}.badge-attn{background:var(--warning-soft);color:var(--warning)}.badge-risk{background:var(--danger-soft);color:var(--danger)}.badge-impl{background:var(--info-soft);color:var(--info)}.badge-paid{background:var(--success-soft);color:var(--success)}.badge-overdue{background:var(--danger-soft);color:var(--danger)}.badge-pending{background:var(--warning-soft);color:var(--warning)}.badge-open{background:var(--info-soft);color:var(--info)}.badge-closed{background:var(--play-navy-10);color:var(--play-navy-60)}.badge-high{background:var(--danger-soft);color:var(--danger)}.badge-med{background:var(--warning-soft);color:var(--warning)}.badge-low{background:var(--info-soft);color:var(--info)}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:var(--play-navy-05)}.data-table th{text-align:left;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--play-navy-40);padding:10px 16px;border-bottom:1px solid var(--border);white-space:nowrap}.data-table td{padding:12px 16px;font-size:13px;border-bottom:1px solid var(--border);vertical-align:middle}.data-table tbody tr:hover{background:var(--play-navy-05);cursor:pointer}.data-table tbody tr:last-child td{border-bottom:none}.data-table td.mono{font-family:JetBrains Mono,monospace;font-size:12.5px}.client-cell{display:flex;align-items:center;gap:10px}.client-cell-logo{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--play-navy),var(--play-navy-80));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}.client-cell-info{min-width:0}.client-cell-name{font-weight:600;font-size:13px;color:var(--play-navy)}.client-cell-loc{font-size:11px;color:var(--play-navy-40)}.health-cell{display:flex;align-items:center;gap:8px}.health-bar{width:50px;height:5px;background:var(--play-navy-10);border-radius:3px;overflow:hidden}.health-bar-fill{height:100%}.health-score{font-size:12px;font-family:JetBrains Mono,monospace;font-weight:700;min-width:28px}.filters-row{padding:12px 20px;border-bottom:1px solid var(--border);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.filter-chip{padding:5px 12px;background:#fff;border:1px solid var(--border);border-radius:14px;font-size:12px;color:var(--play-navy-60);cursor:pointer;font-family:inherit;transition:all .15s}.filter-chip.active{background:var(--play-pink);color:#fff;border-color:var(--play-pink)}.filter-chip:hover:not(.active){border-color:var(--play-pink);color:var(--play-pink)}.search-input-wrap{position:relative;margin-left:auto}.search-input{padding:6px 12px 6px 32px;border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:12.5px;outline:none;width:240px;background:#fff}.search-input:focus{border-color:var(--play-pink)}.search-input-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--play-navy-40)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--play-navy-20);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--play-navy-40)}.global-search-big{position:relative;max-width:720px;margin-top:16px}.global-search-big-input{width:100%;padding:14px 20px 14px 48px;font-size:14px;font-family:inherit;background:#fff;border:1.5px solid var(--border);border-radius:12px;outline:none;box-shadow:var(--shadow-sm)}.global-search-big-input:focus{border-color:var(--play-pink);box-shadow:0 0 0 4px #ec0a6414}.global-search-big-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--play-navy-40)}.page-tabs{background:#fff;border-bottom:1px solid var(--border);padding:0 32px;display:flex;gap:0;overflow-x:auto}.page-tab{padding:12px 16px;font-size:13px;font-weight:500;color:var(--play-navy-60);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;display:flex;align-items:center;gap:8px;white-space:nowrap;border-left:none;border-right:none;border-top:none;background:none;font-family:inherit}.page-tab:hover{color:var(--play-navy)}.page-tab.active{color:var(--play-pink);border-bottom-color:var(--play-pink)}.page-tab-count{background:var(--play-navy-10);color:var(--play-navy-60);font-size:10px;font-weight:600;padding:2px 6px;border-radius:10px}.page-tab.active .page-tab-count{background:var(--play-pink-soft);color:var(--play-pink)}.dash-greeting-wrap{display:flex;align-items:center;gap:16px}.dash-greeting-avatar{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,var(--play-pink),#FF5B96);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:20px;box-shadow:0 8px 24px #ec0a6440}.dash-greeting h1{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-bottom:2px}.dash-greeting h1 span{color:var(--play-pink)}.dash-greeting-meta{color:var(--play-navy-60);font-size:12.5px;display:flex;gap:8px}.dash-day-summary{display:flex;gap:10px}.dash-day-stat{background:#fff;border:1px solid var(--border);border-radius:10px;padding:8px 14px;min-width:96px}.dash-day-stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--play-navy-40);font-weight:600}.dash-day-stat-value{font-size:20px;font-weight:700;font-family:JetBrains Mono,monospace;margin-top:1px}.dash-day-stat.danger .dash-day-stat-value{color:var(--danger)}.dash-day-stat.warning .dash-day-stat-value{color:var(--warning)}.dash-day-stat.success .dash-day-stat-value{color:var(--success)}.main-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:16px}.sub-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.map-container{position:relative;background:linear-gradient(135deg,#f5f5f9,#e8e9f0);height:400px;overflow:hidden}.map-svg{width:100%;height:100%}.map-state{fill:#e2e4ec;stroke:#fff;stroke-width:1.2;transition:fill .15s}.map-state.active{fill:#ffd5e5}.map-pin{cursor:pointer}.map-pin-pulse{opacity:.4;animation:mapPulse 2s ease-out infinite}@keyframes mapPulse{0%{r:6;opacity:.5}to{r:18;opacity:0}}.map-legend{position:absolute;bottom:12px;left:12px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:10px 12px;box-shadow:var(--shadow-md);font-size:11.5px}.map-legend-title{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--play-navy-40);font-weight:700;margin-bottom:6px}.map-legend-row{display:flex;align-items:center;gap:6px;margin-bottom:3px}.map-legend-row:last-child{margin-bottom:0}.map-legend-dot{width:9px;height:9px;border-radius:50%}.map-stats{position:absolute;top:12px;right:12px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:10px 12px;box-shadow:var(--shadow-md);min-width:170px}.map-stat-row{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid var(--border);font-size:11.5px}.map-stat-row:last-child{border-bottom:none}.map-stat-count{font-family:JetBrains Mono,monospace;font-weight:600;color:var(--play-navy-60)}.map-tooltip{position:absolute;background:var(--play-navy);color:#fff;padding:10px 14px;border-radius:8px;font-size:12px;pointer-events:none;opacity:0;transition:opacity .15s;z-index:10;min-width:200px;box-shadow:var(--shadow-lg)}.map-tooltip.show{opacity:1}.map-tooltip-title{font-weight:700;font-size:13px;margin-bottom:4px}.map-tooltip-row{display:flex;justify-content:space-between;color:#fffc;font-size:11.5px}.map-tooltip-row span:last-child{font-family:JetBrains Mono,monospace;color:#fff;font-weight:600}.action-item{display:flex;gap:10px;padding:12px 20px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s}.action-item:hover{background:var(--play-navy-05)}.action-item:last-child{border-bottom:none}.action-check{width:18px;height:18px;border:1.5px solid var(--play-navy-20);border-radius:5px;flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center}.action-check.done{background:var(--play-pink);border-color:var(--play-pink)}.action-body{flex:1;min-width:0}.action-title{font-size:13px;font-weight:500;margin-bottom:3px}.action-check.done+.action-body .action-title{text-decoration:line-through;color:var(--play-navy-40)}.action-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--play-navy-40)}.action-client{color:var(--play-pink);font-weight:500;cursor:pointer}.action-client:hover{text-decoration:underline}.action-prio{font-size:10px;font-weight:700;padding:1px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.04em}.action-prio.urgent{background:var(--danger-soft);color:var(--danger)}.action-prio.high{background:var(--warning-soft);color:var(--warning)}.action-prio.med{background:var(--info-soft);color:var(--info)}.action-due{font-family:JetBrains Mono,monospace}.action-due.overdue{color:var(--danger);font-weight:700}.inbox-item{display:flex;gap:10px;padding:11px 20px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s}.inbox-item:hover{background:var(--play-navy-05)}.inbox-item.unread{background:linear-gradient(90deg,rgba(236,10,100,.03) 0%,transparent 30%)}.inbox-item.unread .inbox-title{font-weight:600}.inbox-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative}.inbox-icon.email{background:var(--play-pink-soft);color:var(--play-pink)}.inbox-icon.wa{background:#e8f9f0;color:#25d366}.inbox-icon.call{background:var(--info-soft);color:var(--info)}.inbox-icon-dot{position:absolute;top:-2px;right:-2px;width:8px;height:8px;background:var(--play-pink);border-radius:50%;border:2px solid white}.inbox-body{flex:1;min-width:0}.inbox-top{display:flex;justify-content:space-between;margin-bottom:1px}.inbox-sender{font-size:12px;color:var(--play-navy-60)}.inbox-sender strong{color:var(--play-navy);font-weight:600}.inbox-sender-company{color:var(--play-pink);font-weight:500}.inbox-time{font-size:10.5px;color:var(--play-navy-40);font-family:monospace;flex-shrink:0}.inbox-title{font-size:12.5px;margin-bottom:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inbox-preview{font-size:11.5px;color:var(--play-navy-60);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.time-legend{display:flex;gap:12px;padding:10px 20px;background:var(--play-navy-05);border-bottom:1px solid var(--border);font-size:10.5px}.time-legend-item{display:flex;align-items:center;gap:4px;color:var(--play-navy-60)}.time-legend-bar{width:12px;height:7px;border-radius:2px}.time-bar-wa{background:#25d366}.time-bar-call{background:var(--info)}.time-bar-email{background:var(--play-pink)}.time-bar-meeting{background:var(--play-navy)}.time-row{display:flex;align-items:center;gap:10px;padding:9px 20px;border-bottom:1px solid var(--border);cursor:pointer}.time-row:hover{background:var(--play-navy-05)}.time-rank{font-size:11px;font-weight:700;color:var(--play-navy-40);font-family:monospace;min-width:20px}.time-client{flex:1;min-width:0}.time-name{font-size:12.5px;font-weight:500;margin-bottom:3px}.time-bars{display:flex;height:5px;border-radius:3px;overflow:hidden;gap:1px;background:var(--play-navy-05)}.time-bar-seg{height:100%}.time-total{font-size:12px;font-family:monospace;font-weight:600;min-width:52px;text-align:right}.time-change{font-size:10.5px;font-weight:600;min-width:42px;text-align:right}.time-change.up{color:var(--success)}.time-change.down{color:var(--danger)}.neglected-wrap{padding:12px 20px;background:var(--danger-soft);border-top:1px solid var(--border)}.neglected-title{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--danger);font-weight:700;margin-bottom:8px}.neglected-item{display:flex;align-items:center;gap:10px;padding:6px 0;cursor:pointer}.neglected-item+.neglected-item{border-top:1px dashed rgba(220,38,38,.3)}.neglected-avatar{width:30px;height:30px;border-radius:8px;background:var(--play-navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex-shrink:0}.neglected-info{flex:1;min-width:0}.neglected-name{font-size:12.5px;font-weight:600}.neglected-meta{font-size:10.5px;color:var(--play-navy-60)}.neglected-days{text-align:right}.neglected-days-num{font-size:16px;font-weight:700;font-family:monospace;color:var(--danger);line-height:1}.neglected-days-label{font-size:9.5px;color:var(--play-navy-40);text-transform:uppercase;font-weight:600}.pria-header-mini{background:linear-gradient(135deg,#0a0c2e,#1a1d4a,#2d0a4e);padding:12px 20px;color:#fff;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.pria-header-mini:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 90% 50%,rgba(236,10,100,.25),transparent 50%)}.pria-mini-brand{display:flex;align-items:center;gap:10px;position:relative}.pria-mini-brain{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--play-pink),#FF5B96);display:flex;align-items:center;justify-content:center;box-shadow:0 0 16px #ec0a6466}.pria-mini-title{font-weight:700;font-size:13.5px;letter-spacing:-.01em;background:linear-gradient(90deg,#fff,#ffb6d5);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.pria-mini-sub{font-size:10.5px;color:#fff9;font-family:monospace}.pria-mini-status{font-size:10.5px;color:#5eead4;font-weight:600;display:flex;gap:5px;align-items:center;position:relative}.pria-mini-dot{width:5px;height:5px;background:#5eead4;border-radius:50%;box-shadow:0 0 0 3px #5eead433}.pria-alert{padding:12px 20px;border-bottom:1px solid var(--border);display:flex;gap:10px;cursor:pointer;transition:background .15s;position:relative}.pria-alert:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}.pria-alert.critical:before{background:var(--danger)}.pria-alert.warning:before{background:var(--warning)}.pria-alert.positive:before{background:var(--success)}.pria-alert:hover{background:var(--play-navy-05)}.pria-alert:last-child{border-bottom:none}.pria-alert-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.pria-alert.critical .pria-alert-icon{background:var(--danger-soft);color:var(--danger)}.pria-alert.warning .pria-alert-icon{background:var(--warning-soft);color:var(--warning)}.pria-alert.positive .pria-alert-icon{background:var(--success-soft);color:var(--success)}.pria-alert-body{flex:1;min-width:0}.pria-alert-title{font-size:12.5px;font-weight:600;margin-bottom:2px}.pria-alert-desc{font-size:11.5px;color:var(--play-navy-60);line-height:1.5}.pria-alert-desc .client-link{color:var(--play-pink);font-weight:600;cursor:pointer}.pria-alert-time{font-size:10px;color:var(--play-navy-40);font-family:monospace;margin-top:4px}.agenda-item{display:flex;gap:10px;padding:10px 20px;border-bottom:1px solid var(--border);cursor:pointer}.agenda-item:hover{background:var(--play-navy-05)}.agenda-item:last-child{border-bottom:none}.agenda-time{background:var(--play-navy-05);border:1px solid var(--border);border-radius:8px;padding:5px 9px;text-align:center;min-width:58px;flex-shrink:0}.agenda-time.current{background:var(--play-pink);border-color:var(--play-pink);color:#fff}.agenda-time-hour{font-size:12.5px;font-weight:700;font-family:monospace}.agenda-time-dur{font-size:9.5px;color:var(--play-navy-40);text-transform:uppercase;font-weight:600}.agenda-time.current .agenda-time-dur{color:#fffc}.agenda-body{flex:1;min-width:0}.agenda-title{font-size:12.5px;font-weight:600;margin-bottom:2px}.agenda-meta{font-size:11px;color:var(--play-navy-60);display:flex;gap:7px;align-items:center}.agenda-type{font-size:9.5px;padding:1px 5px;border-radius:3px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.agenda-type.meet{background:var(--info-soft);color:var(--info)}.agenda-type.call{background:var(--success-soft);color:var(--success)}.pipeline{display:grid;grid-template-columns:repeat(4,1fr);background:var(--play-navy-05)}.pipeline-col{background:#fff;border-right:1px solid var(--border);padding:12px 14px}.pipeline-col:last-child{border-right:none}.pipeline-col-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:7px;border-bottom:2px solid var(--border)}.pipeline-col.hot .pipeline-col-header{border-bottom-color:var(--play-pink)}.pipeline-col.warm .pipeline-col-header{border-bottom-color:var(--warning)}.pipeline-col.cold .pipeline-col-header{border-bottom-color:var(--info)}.pipeline-col.won .pipeline-col-header{border-bottom-color:var(--success)}.pipeline-col-title{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--play-navy-60)}.pipeline-col-total{font-size:11px;font-family:monospace;font-weight:600;color:var(--play-navy)}.pipeline-item{background:var(--play-navy-05);border:1px solid var(--border);border-radius:7px;padding:8px 10px;margin-bottom:6px;cursor:pointer}.pipeline-item:hover{border-color:var(--play-pink);background:#fff}.pipeline-item-client{font-size:11.5px;font-weight:600;margin-bottom:1px}.pipeline-item-title{font-size:10.5px;color:var(--play-navy-60);margin-bottom:4px}.pipeline-item-value{font-size:11px;font-family:monospace;font-weight:700;color:var(--success)}.stats-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:0;background:#fff;border-bottom:1px solid var(--border);padding:16px 32px}.stats-strip-item{padding:0 20px;border-right:1px solid var(--border)}.stats-strip-item:last-child{border-right:none}.stats-strip-item:first-child{padding-left:0}.stats-strip-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--play-navy-40);font-weight:600;margin-bottom:4px}.stats-strip-value{font-size:20px;font-weight:700;font-family:monospace;letter-spacing:-.02em}.stats-strip-sub{font-size:11px;color:var(--play-navy-60);margin-top:2px}.progress-bar{display:flex;align-items:center;gap:6px}.progress-bar-track{flex:1;height:5px;background:var(--play-navy-10);border-radius:3px;overflow:hidden;min-width:50px}.progress-bar-fill{height:100%;border-radius:3px}.sla-good{color:var(--success);font-weight:600}.sla-warn{color:var(--warning);font-weight:600}.sla-bad{color:var(--danger);font-weight:700}.fin-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.fin-card{border:1px solid var(--border);border-radius:10px;padding:16px;background:#fff}.fin-card.danger{border-color:var(--danger);background:var(--danger-soft)}.fin-card.success{border-color:var(--success);background:var(--success-soft)}.fin-card.warning{border-color:var(--warning);background:var(--warning-soft)}.fin-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--play-navy-60);font-weight:600;margin-bottom:6px}.fin-value{font-size:22px;font-weight:700;font-family:monospace;letter-spacing:-.02em}.fin-sub{font-size:11.5px;color:var(--play-navy-60);margin-top:2px}.pria-hub-hero{background:linear-gradient(135deg,#0a0c2e,#1a1d4a,#2d0a4e);border-radius:16px;padding:32px;color:#fff;position:relative;overflow:hidden;margin-bottom:16px}.pria-hub-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 15% 30%,rgba(236,10,100,.25) 0%,transparent 45%),radial-gradient(circle at 85% 70%,rgba(99,102,241,.18) 0%,transparent 45%);pointer-events:none}.pria-hub-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:32px 32px}.pria-hub-content{position:relative;z-index:2}.pria-hub-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}.pria-hub-brand{display:flex;align-items:center;gap:16px}.pria-hub-brain{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,var(--play-pink),#FF5B96);display:flex;align-items:center;justify-content:center;box-shadow:0 0 40px #ec0a6473,inset 0 0 0 1px #fff3;position:relative}.pria-hub-brain:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:18px;border:1px solid rgba(236,10,100,.4);animation:priaPulse 2s ease-in-out infinite}@keyframes priaPulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.1);opacity:.3}}.pria-hub-name{font-size:26px;font-weight:800;letter-spacing:-.03em;background:linear-gradient(90deg,#fff,#ffb6d5);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.pria-hub-sub{font-size:13px;color:#ffffffa6;margin-top:2px}.pria-hub-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}.pria-hub-metric-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:#ffffff80;font-weight:600;margin-bottom:8px}.pria-hub-metric-value{font-size:28px;font-weight:800;letter-spacing:-.02em;font-family:monospace;margin-bottom:4px}.pria-hub-metric-desc{font-size:11px;color:#ffffff8c}.pria-hub-chat{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:14px 16px;display:flex;align-items:center;gap:12px;margin-top:24px;position:relative;z-index:2}.pria-hub-chat-input{flex:1;background:transparent;border:none;outline:none;color:#fff;font-family:inherit;font-size:13.5px}.pria-hub-chat-input::placeholder{color:#fff6}.pria-hub-chat-btn{background:var(--play-pink);color:#fff;padding:7px 14px;border-radius:8px;font-size:12px;font-weight:600;border:none;cursor:pointer}.pria-hub-insight{background:#fff;border:1px solid var(--border);border-radius:10px;padding:14px 16px;display:flex;gap:12px;align-items:flex-start;cursor:pointer;transition:all .15s;position:relative;border-left-width:3px}.pria-hub-insight.critical{border-left-color:var(--danger)}.pria-hub-insight.warning{border-left-color:var(--warning)}.pria-hub-insight.positive{border-left-color:var(--success)}.pria-hub-insight:hover{box-shadow:var(--shadow-md)}.pria-insight-icon-big{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pria-hub-insight.critical .pria-insight-icon-big{background:var(--danger-soft);color:var(--danger)}.pria-hub-insight.warning .pria-insight-icon-big{background:var(--warning-soft);color:var(--warning)}.pria-hub-insight.positive .pria-insight-icon-big{background:var(--success-soft);color:var(--success)}.pria-insight-content{flex:1;min-width:0}.pria-insight-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:4px}.pria-insight-heading{font-size:13.5px;font-weight:700}.pria-insight-stamp{font-size:11px;color:var(--play-navy-40);font-family:monospace;flex-shrink:0}.pria-insight-text{font-size:12.5px;color:var(--play-navy-60);line-height:1.5}.pria-insight-text .client-link{color:var(--play-pink);font-weight:600;cursor:pointer}.pria-insight-actions{display:flex;gap:6px;margin-top:10px}.empty-state{text-align:center;padding:48px 24px;color:var(--play-navy-60)}.empty-state-icon{width:56px;height:56px;border-radius:14px;background:var(--play-navy-05);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;color:var(--play-navy-40)}.empty-state-title{font-size:15px;font-weight:600;color:var(--play-navy);margin-bottom:4px}.empty-state-desc{font-size:13px;max-width:320px;margin:0 auto}.toast-wrap{position:fixed;bottom:24px;right:24px;z-index:400;display:flex;flex-direction:column;gap:8px}.toast{background:var(--play-navy);color:#fff;padding:12px 16px;border-radius:10px;font-size:13px;font-weight:500;box-shadow:var(--shadow-xl);display:flex;align-items:center;gap:10px;min-width:280px;animation:toastIn .3s}@keyframes toastIn{0%{transform:translate(120%)}to{transform:translate(0)}}.toast.success{background:var(--success)}.toast.danger{background:var(--danger)}`; grid.style.display = "none"; setTimeout(() => {output.innerHTML = generateReportContent(reportId); exportBtn.style.display = "inline-flex";},1400); } function generateReportContent(reportId){const visible = getVisibleClients();if (reportId === "churn_risk"){const atRisk = visible.filter(c => c.status === "risk" || c.lastContactDays >= 20);return ` <div class="pria-report-output"> <div class="pria-report-output-header"> <div class="pria-report-output-title">⚠ Relatório de Risco de Churn</div> <div style="font-size:11px;color:var(--play-navy-40);font-family:monospace;">Gerado: ${new Date().toLocaleString("pt-BR")}</div> </div> <div class="pria-report-output-content"> <p><strong>Resumo:</strong> Analisei os 47 clientes da carteira cruzando health score,tempo sem contato,variação de consumo e presença em conversas de risco.</p> <p><strong>Clientes em risco alto:</strong> <span class="report-metric danger">${atRisk.length}clientes</span> · MRR total em risco <span class="report-metric danger">${fmtMoneyK(atRisk.reduce((s,c)=>s+c.mrr,0))}</span></p> <h4>Top 5 prioridades:</h4> <ul> ${atRisk.slice(0,5).map(c => `<li><strong>${c.name}</strong> (${c.city}/${c.state}) — Health <span class="report-metric danger">${c.health}</span>,${c.lastContactDays} dias sem contato,MRR ${fmtMoneyK(c.mrr)}. <em>Recomendação: contato direto em 48h,oferta de retenção.</em></li>`).join("")}</ul> <h4>Padrões detectados:</h4> <ul> <li>3 clientes em Tocantins com queda de consumo (&gt;30%) nos últimos 30 dias — possível problema de cobertura.</li> <li>Concorrência da Vivo ativa em 2 contas da carteira — ameaça imediata.</li> <li>Correlação: clientes sem ligação há mais de 20 dias têm 2.3x maior probabilidade de churn.</li> </ul> <h4>Ações recomendadas (próximos 7 dias):</h4> <ul> <li>Agendar call de retenção com os 5 clientes listados</li> <li>Revisar cobertura técnica em Tocantins (chamado para NOC)</li> <li>Preparar proposta de contra-oferta para ameaças Vivo</li> </ul> </div> </div> `}if (reportId === "portfolio_health"){const totalMrr = visible.reduce((s,c)=>s+c.mrr,0);const avgHealth = Math.round(visible.reduce((s,c)=>s+c.health,0) / visible.length);return ` <div class="pria-report-output"> <div class="pria-report-output-header"> <div class="pria-report-output-title">📊 Saúde geral da carteira</div> <div style="font-size:11px;color:var(--play-navy-40);font-family:monospace;">Gerado: ${new Date().toLocaleString("pt-BR")}</div> </div> <div class="pria-report-output-content"> <p><strong>Panorama:</strong> A carteira tem <span class="report-metric">${visible.length}clientes ativos</span> gerando <span class="report-metric success">${fmtMoneyK(totalMrr)}de MRR</span>. Health médio: <span class="report-metric ${avgHealth>=75?'success':'danger'}">${avgHealth}</span>.</p> <h4>Distribuição por status:</h4> <ul> <li>🟢 Saudáveis (health ≥ 80): <strong>${visible.filter(c=>c.health>=80).length}</strong> clientes (${Math.round(visible.filter(c=>c.health>=80).length/visible.length*100)}%)</li> <li>🟡 Atenção (60-79): <strong>${visible.filter(c=>c.health>=60&&c.health<80).length}</strong> clientes</li> <li>🔴 Risco (&lt;60): <strong>${visible.filter(c=>c.health<60).length}</strong> clientes</li> </ul> <h4>Tendências (30 dias):</h4> <ul> <li>MRR cresceu 8.4% (+R$ 65k)</li> <li>Health médio caiu 2 pontos (de 80 para 78)</li> <li>2 novos clientes,1 churn (Araguaia em risco crítico)</li> <li>287 linhas ativadas (+14% vs mês anterior)</li> </ul> <h4>Concentração de receita:</h4> <p>Top 5 clientes representam <span class="report-metric">34% do MRR</span>. Concentração considerada <strong>moderada</strong>. Risco elevado em Mega Telecom (R$ 48.7k MRR) que está com status de atenção.</p> </div> </div> `}// Generic fallback for other reports const template = PRIA_REPORT_TEMPLATES.find(t => t.id === reportId);return ` <div class="pria-report-output"> <div class="pria-report-output-header"> <div class="pria-report-output-title">${template?.title || "Relatório"}</div> <div style="font-size:11px;color:var(--play-navy-40);font-family:monospace;">Gerado: ${new Date().toLocaleString("pt-BR")}</div> </div> <div class="pria-report-output-content"> <p>Análise gerada para ${visible.length}clientes visíveis na carteira atual.</p> <p style="padding:14px;background:var(--info-soft);border-radius:8px;color:var(--info);margin:10px 0;"> ℹ <strong>Demo:</strong> Em produção,este relatório é gerado em tempo real pela Pr.IA via OpenRouter (modelo <span class="mono">${SYSTEM_CONFIG.openRouterModel}</span>) usando dados reais do PostgreSQL,incluindo cálculos de ${reportId === "upsell_ops" ? "probabilidade de upsell, match de perfil e valor potencial" : reportId === "competition" ? "menções competitivas em conversas WhatsApp/email" : reportId === "manager_perf" ? "ranking por MRR gerenciado, churn rate e tempo médio de resposta" : reportId === "neglected" ? "dias desde último contato ponderado por health score" : "análises financeiras com projeção"}. </p> <h4>Principais achados:</h4> <ul> <li>Métrica 1: <span class="report-metric">valor calculado em runtime</span></li> <li>Métrica 2: <span class="report-metric">valor calculado em runtime</span></li> <li>Correlação identificada em X% dos casos analisados</li> </ul> <h4>Recomendações:</h4> <ul> <li>Ação 1 — priorizada pelo modelo</li> <li>Ação 2 — priorizada pelo modelo</li> </ul> </div> </div> `}</script> </body> </html> .settings-layout{display:grid;grid-template-columns:240px 1fr;gap:24px}.settings-nav{background:#fff;border:1px solid var(--border);border-radius:12px;padding:8px;align-self:flex-start;position:sticky;top:72px}.settings-nav-item{padding:9px 12px;display:flex;align-items:center;gap:10px;font-size:13px;color:var(--play-navy);cursor:pointer;border-radius:8px;transition:all .15s;margin-bottom:2px;background:none;border:none;width:100%;text-align:left;font-family:inherit}.settings-nav-item:hover{background:var(--play-navy-05)}.settings-nav-item.active{background:var(--play-pink-soft);color:var(--play-pink);font-weight:600}.settings-card{background:#fff;border:1px solid var(--border);border-radius:12px;margin-bottom:16px;overflow:hidden}.settings-card-header{padding:16px 20px;border-bottom:1px solid var(--border)}.settings-card-title{font-size:15px;font-weight:700;letter-spacing:-.01em}.settings-card-desc{font-size:12.5px;color:var(--play-navy-60);margin-top:2px}.settings-card-body{padding:20px}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;gap:20px;border-bottom:1px solid var(--border)}.settings-row:last-child{border-bottom:none}.settings-row-info{flex:1;min-width:0}.settings-row-label{font-size:13px;font-weight:600;margin-bottom:2px}.settings-row-desc{font-size:12px;color:var(--play-navy-60)}.form-group{margin-bottom:16px}.form-label{display:block;font-size:12px;font-weight:600;color:var(--play-navy-60);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.form-input{width:100%;background:#fff;border:1.5px solid var(--border);border-radius:8px;padding:9px 12px;font-size:14px;font-family:inherit;color:var(--play-navy);outline:none;transition:border-color .15s;box-sizing:border-box}.form-input:focus{border-color:var(--play-pink)}.form-textarea{width:100%;background:#fff;border:1.5px solid var(--border);border-radius:8px;padding:9px 12px;font-size:14px;font-family:inherit;color:var(--play-navy);outline:none;resize:vertical;transition:border-color .15s;box-sizing:border-box}.form-textarea:focus{border-color:var(--play-pink)}.form-row{display:flex;gap:12px}.form-row .form-group{flex:1}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#07093c80;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:#fff;border-radius:16px;width:100%;max-width:540px;box-shadow:var(--shadow-xl);overflow:hidden}.modal-header{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.modal-title{font-size:17px;font-weight:700;letter-spacing:-.01em}.modal-close{width:32px;height:32px;border-radius:8px;border:none;background:var(--play-navy-05);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--play-navy-60);transition:background .15s}.modal-close:hover{background:var(--border)}.modal-body{padding:24px}.modal-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}.portfolio-switcher{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;color:#ffffffd9;font-size:12.5px;transition:all .15s;white-space:nowrap;line-height:1.3}.portfolio-switcher:hover{background:#ffffff1a;border-color:#ffffff2e}.portfolio-switcher-chip{width:18px;height:18px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:700;color:#fff;flex-shrink:0}.portfolio-switcher-label{font-size:10px;color:#ffffff80;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.portfolio-switcher-value{font-weight:600;font-size:12.5px}.quick-create-list{padding:8px}.quick-create-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background .1s}.quick-create-item:hover{background:var(--play-navy-05)}.quick-create-icon{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.quick-create-body{flex:1;min-width:0}.quick-create-title{font-size:13px;font-weight:600;margin-bottom:1px}.quick-create-desc{font-size:11.5px;color:var(--play-navy-60)}.quick-create-kbd{font-size:10.5px;font-family:var(--font-mono);background:var(--play-navy-05);padding:2px 6px;border-radius:4px;color:var(--play-navy-60);border:1px solid var(--border)}.notif-item{padding:12px 16px;border-bottom:1px solid var(--border);cursor:pointer;display:flex;gap:10px;transition:background .15s;position:relative}.notif-item:hover{background:var(--play-navy-05)}.notif-item.unread:before{content:"";position:absolute;left:6px;top:50%;transform:translateY(-50%);width:4px;height:4px;background:var(--play-pink);border-radius:50%}.notif-item.unread{padding-left:20px}.notif-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.notif-icon.danger{background:var(--danger-soft);color:var(--danger)}.notif-icon.warning{background:var(--warning-soft);color:var(--warning)}.notif-icon.success{background:var(--success-soft);color:var(--success)}.notif-icon.info{background:var(--info-soft);color:var(--info)}.notif-icon.pink{background:var(--play-pink-soft);color:var(--play-pink)}.notif-body{flex:1;min-width:0}.notif-title{font-size:13px;font-weight:600;margin-bottom:2px;line-height:1.35}.notif-desc{font-size:12px;color:var(--play-navy-60);line-height:1.4;margin-bottom:4px}.notif-time{font-size:10.5px;color:var(--play-navy-40);font-family:var(--font-mono)}
