:root{font-family:Plus Jakarta Sans,DM Sans,sans-serif;--fidel-primary: #6c5ce7;--fidel-primary-light: #a29bfe;--fidel-primary-dark: #5a4bd1;--fidel-primary-bg: #f0eeff;--fidel-accent: #00b894;--fidel-accent-light: #55efc4;--fidel-accent-dark: #00997b;--fidel-accent-bg: #e8fbf5;--fidel-black: #2d3436;--fidel-dark-gray: #636e72;--fidel-gray: #b2bec3;--fidel-light-gray: #dfe6e9;--fidel-off-white: #f8f9fa;--fidel-white: #ffffff;--fidel-warning: #fdcb6e;--fidel-gradient-primary: linear-gradient(135deg, #6c5ce7 0%, #a29bfe 100%);--fidel-gradient-accent: linear-gradient(135deg, #00b894 0%, #55efc4 100%);--fidel-gradient-hero: linear-gradient(135deg, #6c5ce7 0%, #a29bfe 50%, #55efc4 100%);--bg: var(--fidel-off-white);--paper: rgba(255, 255, 255, .9);--paper-strong: #ffffff;--ink: var(--fidel-black);--muted: var(--fidel-dark-gray);--line: rgba(108, 92, 231, .12);--primary: var(--fidel-primary);--primary-deep: var(--fidel-primary-dark);--accent: var(--fidel-accent);--soft: var(--fidel-primary-bg);--warn: #fff3d9;--shadow: 0 18px 48px rgba(108, 92, 231, .1);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--bottom-nav-h: 0px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%}body{margin:0;color:var(--ink);background:radial-gradient(circle at top left,rgba(108,92,231,.14),transparent 28%),radial-gradient(circle at bottom right,rgba(0,184,148,.12),transparent 32%),linear-gradient(180deg,#fcfbff,#f8f9fa 48%,#eef8f5);-webkit-overflow-scrolling:touch}button,input,select,textarea{font:inherit}button{border:none;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease,border-color .16s ease;padding:13px 18px;border-radius:999px;background:var(--fidel-gradient-primary);color:#fff;font-weight:700;box-shadow:0 12px 24px #6c5ce72e;min-height:44px}button:active{transform:scale(.97)}@media (hover: hover){button:hover{transform:translateY(-1px);box-shadow:0 16px 28px #6c5ce738}}input,select,textarea{width:100%;padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:var(--paper-strong);color:var(--ink);min-height:44px;font-size:16px}textarea{min-height:116px;resize:vertical}.eyebrow{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.muted-copy{color:var(--muted)}.fidel-mark{display:inline-flex;align-items:center;margin-bottom:12px}.fidel-logo{display:block;width:min(220px,100%);height:auto}.fidel-logo--white{width:min(180px,100%)}.ghost{background:transparent;color:var(--primary-deep);border:1px solid rgba(108,92,231,.2);box-shadow:none}.ghost.solid{background:#6c5ce714}.panel-login-shell{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px;padding:max(24px,var(--safe-top)) max(24px,var(--safe-right)) max(24px,var(--safe-bottom)) max(24px,var(--safe-left))}.panel-login-card,.hero-card,.stat,.card,.side-nav{border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.panel-login-card{width:min(980px,100%);display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden;background:var(--paper)}.login-brand{padding:42px;background:var(--fidel-gradient-hero);color:#fff}.login-brand h1{margin:14px 0 10px;font-size:clamp(2.3rem,5vw,4.2rem);max-width:9ch}.login-brand p{max-width:42ch;line-height:1.6}.login-form{display:grid;gap:18px;padding:42px;align-content:center;background:#ffffffeb}.field{display:grid;gap:8px}.field label,.field-label{font-weight:700}.field-error{display:block;margin-top:-4px;color:#c0392b;font-size:13px;font-weight:700}.password-field{position:relative}.password-field input{padding-right:46px}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;min-height:26px;min-width:30px;padding:0;justify-content:center;border-radius:999px;border:1px solid var(--line);background:#ffffffeb;color:var(--primary-deep);font-weight:700;font-size:.8rem;box-shadow:none;transition:border-color .16s ease,background .16s ease,color .16s ease}.password-toggle-icon{font-size:12px;line-height:1}.password-toggle:hover{transform:translateY(-50%);box-shadow:none}.password-toggle:active{transform:translateY(-50%)}.input-invalid{border-color:#c0392b8c;box-shadow:0 0 0 3px #c0392b14}.live-status{margin:0;padding:12px 14px;border-radius:16px;background:var(--warn);color:var(--primary-deep);font-weight:700;font-size:13px;word-break:break-word}.panel-shell{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;padding:18px}.side-nav{position:sticky;top:18px;align-self:start;display:grid;gap:24px;padding:24px 20px;background:linear-gradient(180deg,#5a4bd1,#6c5ce7 58%,#a29bfe 118%);color:#fff}.brand-stack h1{margin:10px 0 8px;font-size:2rem;line-height:1.05}.brand-stack p{margin:0;color:#ffffffc7}.menu-list{display:grid;gap:10px}.menu-link{text-align:left;padding:14px 16px;border-radius:18px;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.12)}.menu-link-content{display:flex;align-items:center;justify-content:space-between;gap:12px}.menu-link.active{background:#ffffff24;border-color:#ffffff3d}.menu-alert-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;min-height:22px;padding:0 6px;border-radius:999px;background:linear-gradient(180deg,#ff6b6b,#f03e3e);color:#fff;font-size:11px;font-weight:800;line-height:1;border:2px solid #ffffff;box-shadow:0 8px 16px #f03e3e59}.menu-alert-badge--inline{margin-left:8px}.side-footer{display:grid;gap:12px}.side-branch-picker{display:grid;gap:8px;padding:14px;border-radius:18px;background:#ffffff1a;border:1px solid rgba(255,255,255,.14)}.side-branch-picker label{font-size:12px;font-weight:700;color:#ffffffd6}.side-branch-picker select{background:#fffffff5}.side-branch-picker small{color:#ffffffc2;line-height:1.4}.side-footer small{color:#ffffffc7}.bottom-nav{display:none}.panel-main{display:grid;gap:18px}.branch-switcher{display:flex;justify-content:space-between;align-items:end;gap:18px}.branch-switcher h3{margin:6px 0 4px}.branch-switcher p{margin:0;color:var(--muted)}.branch-switcher select{max-width:320px}.card,.stat{background:var(--paper)}.nav-toggle,.menu-backdrop,.menu-close,.mobile-menu-button{display:none}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stack-sections{display:grid;gap:18px}.stat{padding:20px;display:grid;gap:10px}.stat span{color:var(--muted);font-size:13px}.stat strong{font-size:clamp(1.4rem,4vw,2.6rem);word-break:break-word}.stats--report{grid-template-columns:repeat(5,minmax(0,1fr))}.stat--report strong{font-size:clamp(1rem,2vw,1.4rem)}.stat--report-campaign strong{font-size:clamp(.85rem,1.5vw,1.1rem)}.overview-grid,.content-grid,.reports-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.reports-grid{align-items:start}.wide-card{grid-column:1 / -1}.report-filters-card{position:relative;z-index:2;overflow:visible}.report-filters-card--open{z-index:80}.card{padding:24px}.card h3{margin-top:0;margin-bottom:12px}.card-emphasis{background:linear-gradient(180deg,#6c5ce714,#ffffffeb)}.form-stack,.list,.entity-list,.compact-table{display:grid;gap:12px}.compact-stats{margin-bottom:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.today-banner{padding:14px 18px;border-radius:18px;background:linear-gradient(135deg,#6c5ce71a,#a29bfe24);border:1px solid var(--line);display:grid;gap:14px}.today-banner strong{display:block;font-size:1rem;font-weight:800;color:var(--primary-deep)}.today-banner p{margin:0;color:var(--muted)}.today-banner .compact-stats{margin-bottom:0}.pending-whatsapp-stats{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pending-whatsapp-stats--invitation{grid-template-columns:repeat(3,minmax(0,1fr))}.pending-whatsapp-header{margin-bottom:10px}.pending-whatsapp-header h3{margin:0}.pending-whatsapp-stat{padding:16px 18px;border-radius:18px;background:linear-gradient(180deg,#6c5ce712,#fffffff2);border:1px solid var(--line)}.pending-whatsapp-stat span{color:var(--muted)}.pending-whatsapp-stat strong{font-size:clamp(1.2rem,3vw,2rem)}.pending-whatsapp-stat--combined{display:none;margin-top:12px}.pending-whatsapp-list-head{margin-top:18px}.file-stack{display:grid;gap:10px}.campaign-preview{display:grid;place-items:start}.campaign-preview img,.campaign-thumb{width:100%;max-width:220px;aspect-ratio:16 / 9;object-fit:cover;border-radius:18px;border:1px solid var(--line);background:#f3eee4}.campaign-thumb--detail{margin-bottom:12px}.inline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.money-input{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}.money-input-prefix{padding:0 16px;align-self:stretch;display:grid;place-items:center;color:var(--primary-deep);font-weight:800;background:linear-gradient(180deg,#6c5ce712,#ffffffeb);border-right:1px solid var(--line);white-space:nowrap}.money-input input{border:0;box-shadow:none;background:transparent}.money-input input:focus{box-shadow:none}.list-row,.entity-card,.compact-row{display:grid;gap:6px;padding:14px 16px;border-radius:18px;background:#f7f4ef}.button-row{display:flex;gap:10px;flex-wrap:wrap}.compact-actions{gap:8px}.compact-action-button{min-height:38px;padding:0 16px;font-size:.95rem;border-radius:16px}.invitation-action-button{position:relative}.invitation-resend-count{position:absolute;top:-8px;right:-8px;min-width:22px;height:22px;border-radius:999px;background:linear-gradient(180deg,#ff6b6b,#f03e3e);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;border:2px solid #ffffff;box-shadow:0 8px 16px #f03e3e59;line-height:1}.client-directory-search,.client-directory-level-filter{margin-bottom:8px}.client-count{white-space:nowrap}.client-directory-card{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px}.client-directory-copy{min-width:0;display:grid;gap:4px}.client-card-actions{flex-direction:column;align-items:flex-end;flex-wrap:nowrap}.client-import-card{display:grid;gap:12px}.client-import-actions{align-items:center}.client-import-file-input{display:none}.client-import-file-name{margin:0}.client-import-mappings{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.client-import-mapping-row{display:grid;gap:6px}.client-import-mapping-row span{color:var(--muted);font-size:.92rem}.client-import-summary{display:flex;flex-wrap:wrap;gap:10px}.client-import-summary span{border:1px solid var(--line);border-radius:999px;padding:6px 12px;background:#f7f4ef;font-size:.86rem;color:var(--muted)}.client-import-preview-table{display:grid;margin-top:4px}.client-import-preview-row{display:grid;grid-template-columns:minmax(70px,.5fr) minmax(120px,1.1fr) minmax(120px,1fr) minmax(100px,.8fr) minmax(120px,1fr) minmax(120px,.9fr) minmax(190px,1.4fr);gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid var(--line)}.client-import-preview-row.header{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}.client-import-preview-row>span{min-width:0;word-break:break-word}.client-import-ok-pill,.client-import-error-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 10px;font-size:.8rem;line-height:1.2}.client-import-ok-pill{background:#2ecc712e;color:#207a42}.client-import-error-pill{background:#e74c3c24;color:#a63429}.list-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.recipient-copy{min-width:0;display:grid;gap:6px}.recipient-copy strong,.recipient-copy span{display:block}.recipient-phone{margin-top:1px}.recipient-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px}.recipient-action-button{min-width:132px;min-height:40px;padding:0 16px;white-space:nowrap}.reminder-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.reminder-copy{min-width:0}.reminder-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reminder-action{white-space:nowrap}.list-row span,.entity-card span,.compact-row span{color:var(--muted)}.section-head{display:flex;justify-content:space-between;gap:14px;align-items:center}.history-table{margin-top:12px;display:grid}.history-row{display:grid;grid-template-columns:1fr 1.2fr 1fr 1fr .9fr 1fr 1fr;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}.whatsapp-history-table,.summary-history-table{margin-top:18px}.whatsapp-history-row{grid-template-columns:minmax(132px,.9fr) minmax(160px,1.15fr) minmax(150px,1fr) minmax(190px,1.35fr) minmax(110px,.7fr);align-items:start;gap:12px;padding:16px 0}.summary-history-row{grid-template-columns:minmax(132px,.95fr) minmax(150px,1.1fr) minmax(180px,1.35fr) minmax(110px,.8fr) minmax(100px,.75fr) minmax(120px,.95fr);align-items:start;gap:12px;padding:16px 0}.summary-history-row:not(.header){border-bottom:1px solid rgba(108,92,231,.1)}.summary-history-row>span{min-width:0}.summary-history-row>span:not(.stack-cell){line-height:1.45}.whatsapp-history-row:not(.header){border-bottom:1px solid rgba(108,92,231,.1)}.whatsapp-history-row>span{min-width:0}.whatsapp-history-row>span:not(.stack-cell){line-height:1.45}.history-action-cell{min-width:0}.history-action-pill{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:34px;padding:0 12px;border-radius:999px;background:#6c5ce71a;color:var(--primary-deep);font-weight:700;font-size:13px}.history-row.header{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.14em;align-items:center}.history-sort-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(108,92,231,.12);background:linear-gradient(180deg,#6c5ce714,#6c5ce708);color:var(--primary-deep);font:inherit;letter-spacing:.08em;text-transform:uppercase;padding:8px 12px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:30px;box-shadow:none;font-weight:800;vertical-align:middle}.history-sort-button:hover{transform:none;box-shadow:none;border-color:#6c5ce738;background:linear-gradient(180deg,#6c5ce71a,#6c5ce70d)}.history-sort-button:active{transform:none}.history-sort-button-label{display:inline-flex;align-items:center;line-height:1}.history-sort-button-indicator{width:18px;height:18px;border-radius:999px;display:inline-grid;place-items:center;background:#ffffffc7;color:var(--primary-deep);font-size:10px;line-height:1;box-shadow:inset 0 0 0 1px #6c5ce714}.table-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:14px}.table-pagination-copy{color:var(--muted);font-size:.94rem}.table-pagination-actions{display:flex;gap:10px}.validation-actions{justify-content:flex-start;flex-wrap:wrap}.pagination-button{min-height:38px;padding:0 14px}.voucher-link{display:inline-flex;align-items:center;gap:10px;color:var(--fidel-primary-dark);font-weight:700;text-decoration:none}.voucher-link-button{background:transparent;border:0;box-shadow:none;padding:0;min-height:auto;border-radius:0}.voucher-link-button:hover,.voucher-link-button:active{transform:none;box-shadow:none}.voucher-thumb{width:58px;height:58px;object-fit:cover;border-radius:14px;border:1px solid var(--line);background:var(--paper-strong);box-shadow:0 8px 24px #16211c14}.report-value{font-size:2.4rem;line-height:1}.preview-box{margin:16px 0 0;padding:16px;border-radius:18px;background:#f4efe6;white-space:pre-wrap;word-break:break-word}.preview-stack{display:grid;gap:12px}.whatsapp-filter-bar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:end}.validation-filter-bar,.validation-filter-dates{margin-bottom:14px}.history-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end}.history-filter-grid--dates{grid-template-columns:repeat(2,minmax(0,1fr))}.whatsapp-count-text{font-weight:600}.stack-cell{display:grid;gap:4px}.stack-cell small,.filter-hint{color:var(--muted)}.whatsapp-link{display:inline-flex;width:fit-content;padding:12px 16px;border-radius:999px;background:var(--fidel-gradient-accent);color:#fff;text-decoration:none;font-weight:700}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c14116b;display:grid;place-items:center;padding:18px;z-index:30;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-card{width:min(760px,100%);background:var(--paper-strong);border:1px solid var(--line);border-radius:28px;box-shadow:0 28px 70px #0c141129;padding:24px;display:grid;gap:18px;max-height:90vh;max-height:90dvh;overflow-y:auto}.wide-modal-card,.client-detail-modal,.review-modal{width:min(960px,100%)}.review-modal-body{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.review-modal-image-col{position:sticky;top:0}.review-modal-image{width:100%;border-radius:12px;object-fit:contain;max-height:520px}.review-modal-frame{width:100%;height:480px;border:none;border-radius:12px}.review-modal-no-image{display:flex;align-items:center;justify-content:center;height:200px;border:1px dashed var(--line);border-radius:12px}.review-modal-form-col{display:grid;gap:16px}.review-info-row{display:grid;gap:4px}.review-info-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}.review-amount-field{display:grid;gap:6px}.review-modal-actions{display:flex;gap:12px;margin-top:8px}.review-modal-actions button{flex:1}.voucher-preview-modal{width:min(920px,100%)}.voucher-modal-content{border-radius:24px;background:#f8f9ff;border:1px solid var(--line);overflow:hidden;min-height:320px;display:grid;place-items:center}.voucher-modal-image{display:block;max-width:100%;max-height:70vh;object-fit:contain}.voucher-modal-frame{width:100%;min-height:70vh;border:0;background:#fff}.voucher-open-link{text-decoration:none;display:inline-flex;align-items:center}.client-detail-actions{align-items:flex-start}.client-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.client-detail-stat{min-width:0}.client-detail-stat strong{font-size:clamp(1.1rem,2vw,1.9rem);line-height:1.18;word-break:break-word}.client-detail-stat--phone strong,.client-detail-stat--email strong,.client-detail-stat--amount strong{font-size:clamp(1rem,1.7vw,1.6rem)}.client-detail-stat--phone,.client-detail-stat--email,.client-detail-stat--amount{grid-column:span 1}.client-detail-meta{gap:12px}.client-detail-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}.client-detail-meta-grid span{color:var(--ink)}.campaign-detail-modal{width:min(920px,100%)}.campaign-detail-top{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:18px;align-items:start}.campaign-detail-visual{display:grid;align-items:start;justify-items:start}.campaign-detail-image{width:100%;max-width:280px;aspect-ratio:1 / 1;object-fit:cover;border-radius:22px;box-shadow:0 14px 30px #5a4bd124}.campaign-detail-summary{align-content:start;gap:10px;width:100%}.campaign-detail-stats{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}.campaign-detail-stat{min-width:0}.campaign-detail-stat strong{font-size:clamp(1.15rem,1.9vw,2rem);line-height:1.15;word-break:break-word}.campaign-detail-stat small{color:var(--muted)}.modal-actions{display:flex;gap:12px;flex-wrap:wrap}.evidence-preview{display:grid;place-items:center;padding:16px;border-radius:22px;border:1px solid var(--line);background:#f4efe6}.evidence-preview img{display:block;width:auto;max-width:100%;max-height:240px;object-fit:contain;border-radius:16px}.brand-preview{display:grid;gap:18px;align-items:start}.business-brand-preview{gap:20px}.business-info-stack{display:grid;gap:16px}.brand-preview img,.brand-placeholder{width:100%;max-width:220px;aspect-ratio:1 / 1;object-fit:cover;border-radius:26px;border:1px solid var(--line);background:#f3eee4}.brand-placeholder{display:grid;place-items:center;color:var(--muted);font-weight:700}.business-info-card{display:grid;gap:10px;padding:22px 24px;border:1px solid var(--line);border-radius:24px;background:#fbf7ef}.business-info-card strong{font-size:1.1rem}.business-info-card span,.business-info-card p{color:var(--muted)}.business-info-card p{margin:4px 0 0}.business-branch-card{background:#fff}.branch-qr-card{justify-items:start}.ocr-mode-editor{margin-top:6px;display:grid;gap:12px}.ocr-mode-grid{display:grid;gap:10px}.ocr-mode-option{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:18px;background:#f7f5ff;color:var(--muted)}.ocr-mode-option.is-active{border-color:#5f50e538;background:#675cf217;color:var(--ink)}.ocr-mode-option input{width:18px;height:18px}.ocr-mode-option span{color:inherit;font-weight:600}.branch-qr-image,.branch-qr-placeholder{width:100%;max-width:220px;aspect-ratio:1 / 1;border-radius:20px;border:1px solid var(--line);background:#fff}.branch-qr-image{object-fit:contain;padding:10px}.branch-qr-placeholder{display:grid;place-items:center;color:var(--muted);font-weight:700}.branch-qr-link{margin-top:4px}.campaign-card-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:18px;align-items:start}.campaign-card-main{display:grid;gap:10px}.campaign-card-qr{display:grid;gap:10px;justify-items:start;padding:14px;border:1px solid var(--line);border-radius:22px;background:#ffffffbd}.campaign-card-qr strong{font-size:.98rem}.campaign-qr-image,.campaign-qr-placeholder{width:100%;max-width:180px;aspect-ratio:1 / 1;border-radius:18px;border:1px solid var(--line);background:#fff}.campaign-qr-image{object-fit:contain;padding:8px}.campaign-qr-placeholder{display:grid;place-items:center;color:var(--muted);font-weight:700;text-align:center;padding:10px}.campaign-qr-placeholder--error{color:#c0392b;border-color:#c0392b66;background:#c0392b14}.qr-metrics{display:grid;gap:4px;font-size:.82rem;color:var(--muted)}.qr-metrics span{line-height:1.35}.level-badge{width:72px;height:72px;object-fit:cover;border-radius:18px;border:1px solid var(--line);background:#f3eee4}.info-list{margin:0;padding-left:18px;display:grid;gap:10px}.check-row{display:flex;gap:10px;align-items:center;min-height:44px}.check-row input{width:22px;height:22px}.branch-checkbox-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.branch-checkbox-card{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:#fff}.branch-checkbox-card input{width:20px;height:20px;margin-top:2px}.branch-checkbox-card strong,.branch-checkbox-card span{display:block}.branch-checkbox-card span{color:var(--muted);margin-top:4px}.detail-button{justify-self:start}.detail-panel{display:grid;gap:8px;padding:18px;border-radius:22px}.client-search-wrap{position:relative;z-index:4}.client-search-wrap:focus-within{z-index:90}.client-search-wrap input[type=search]{width:100%}.client-selected-badge{margin-top:6px;padding:8px 12px;border-radius:12px;background:var(--soft);color:var(--primary-deep);font-weight:700;font-size:14px}.client-selected-badge--placeholder{opacity:.82}.client-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:50;background:var(--paper-strong);border:1px solid var(--line);border-radius:18px;box-shadow:0 16px 40px #16211c21;list-style:none;margin:0;padding:6px;max-height:280px;overflow-y:auto;-webkit-overflow-scrolling:touch}.client-option{display:grid;gap:2px;padding:12px 14px;border-radius:12px;cursor:pointer;transition:background .12s}.client-option strong{font-size:14px}.client-option span{font-size:12px;color:var(--muted)}.client-option:hover,.client-option:active{background:var(--soft)}.client-option.selected{background:var(--soft);color:var(--primary-deep)}.client-option--empty{color:var(--muted);font-size:14px;cursor:default;text-align:center}.tab-item{display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;box-shadow:none;color:#ffffff8c;font-size:10px;font-weight:600;padding:6px 4px 2px;min-height:auto;border-radius:0;flex:1;min-width:0}.tab-item.active{color:#fff}.tab-icon{font-size:22px;line-height:1}.tab-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.mobile-header{display:none}@media (max-width: 1080px){.panel-shell{grid-template-columns:1fr;padding-bottom:calc(var(--bottom-nav-h) + 8px)}.side-nav{position:static;display:none}.side-nav.is-open{display:grid}.nav-toggle{display:inline-flex}.stats,.overview-grid,.content-grid,.reports-grid,.panel-login-card{grid-template-columns:1fr}.branch-switcher{flex-direction:column;align-items:stretch}.branch-switcher select{max-width:none}.whatsapp-filter-bar,.history-filter-grid,.history-filter-grid--dates,.campaign-card-layout{grid-template-columns:1fr}}@media (max-width: 760px){:root{--bottom-nav-h: 0px}.panel-shell{grid-template-columns:1fr;padding:0;gap:0}.panel-login-shell{padding:16px;padding:max(16px,var(--safe-top)) max(16px,var(--safe-right)) max(16px,var(--safe-bottom)) max(16px,var(--safe-left))}.panel-login-card{grid-template-columns:1fr;border-radius:22px}.login-brand{padding:28px 24px}.login-brand h1{font-size:2rem;max-width:none}.login-brand p{display:none}.login-form{padding:24px}.side-nav{display:grid!important;position:fixed;top:0;left:0;bottom:0;width:min(84vw,320px);height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;z-index:40;border-radius:0 28px 28px 0;padding-top:calc(18px + var(--safe-top));padding-left:calc(20px + var(--safe-left));padding-right:20px;padding-bottom:calc(28px + var(--safe-bottom));transform:translate(-108%);transition:transform .24s ease;box-shadow:0 22px 48px #5a4bd142;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.side-nav.is-open{transform:translate(0)}.mobile-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;padding-top:calc(12px + var(--safe-top));padding-left:calc(16px + var(--safe-left));padding-right:calc(16px + var(--safe-right));background:linear-gradient(135deg,#5a4bd1,#6c5ce7 62%,#a29bfe);color:#fff;position:sticky;top:0;z-index:20}.mobile-header--compact{padding-top:calc(8px + var(--safe-top));padding-bottom:8px}.mobile-header .fidel-mark{margin-bottom:0}.mobile-header .fidel-logo{width:108px}.mobile-menu-button,.menu-close{display:inline-flex;align-items:center;justify-content:center}.mobile-menu-button{min-width:44px;min-height:44px;padding:0;font-size:20px;line-height:1;background:#ffffff24;color:#fff;border:1px solid rgba(255,255,255,.18)}.menu-close{justify-self:end;margin-bottom:4px;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.16);box-shadow:none}.mobile-header-section{font-size:15px;font-weight:700;opacity:.85;line-height:1.1;display:inline-flex;align-items:center}.mobile-header-center{display:grid;gap:6px;min-width:0;flex:1;padding:0 10px}.mobile-header--compact .mobile-header-center{gap:4px}.mobile-branch-picker{position:relative}.mobile-branch-trigger{width:100%;min-height:36px;padding:8px 12px;border-radius:14px;background:#ffffffeb;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--ink)}.mobile-header--compact .mobile-branch-trigger{min-height:32px;padding:6px 10px;border-radius:12px}.mobile-branch-trigger span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-branch-menu{position:absolute;top:calc(100% + 8px);left:0;right:0;display:grid;gap:6px;padding:8px;border-radius:18px;background:#291f74f5;border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 34px #1a144a57;z-index:8}.mobile-branch-option{width:100%;padding:12px 14px;border-radius:14px;background:transparent;border:1px solid rgba(255,255,255,.08);box-shadow:none;color:#fff;text-align:left;display:grid;gap:2px}.mobile-branch-option small{color:#ffffffad}.mobile-branch-option.is-active{background:#6c5ce7c7;border-color:#ffffff2e}.menu-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;background:#2d343647;opacity:0;pointer-events:none;transition:opacity .2s ease;border:none;padding:0;border-radius:0;box-shadow:none}.menu-backdrop.is-open{opacity:1;pointer-events:auto}.topbar{display:none}.hero-card{border-radius:0;border-left:none;border-right:none;padding:20px 16px;padding-left:calc(16px + var(--safe-left));padding-right:calc(16px + var(--safe-right));flex-direction:column;gap:12px}.hero-card h3{font-size:1.4rem;max-width:none;margin-bottom:4px}.hero-card p{font-size:13px;line-height:1.4;margin:0}.hero-card .fidel-mark{display:none}.card{border-radius:0;border-left:none;border-right:none;padding:20px 16px;padding-left:calc(16px + var(--safe-left));padding-right:calc(16px + var(--safe-right))}.card--validation{margin-top:-74px;padding-top:16px;border-top-left-radius:24px;border-top-right-radius:24px;position:relative;z-index:1}.stat{border-radius:16px;padding:14px}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:0 16px;padding-left:calc(16px + var(--safe-left));padding-right:calc(16px + var(--safe-right))}.stack-sections{gap:2px}.overview-grid,.content-grid,.reports-grid{grid-template-columns:1fr;gap:2px}.section-head{flex-direction:column;align-items:flex-start;gap:8px}.section-head select{align-self:stretch}.inline-grid{grid-template-columns:1fr}.history-row.header{display:none}.history-row{grid-template-columns:1fr 1fr;gap:4px 10px;padding:12px 0}.whatsapp-history-row,.summary-history-row{grid-template-columns:1fr 1fr;gap:12px 18px;padding:18px 0}.summary-history-row>span{display:grid;gap:4px}.summary-history-row>span:before{content:attr(data-label);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.summary-history-row .stack-cell strong{font-size:1.05rem}.whatsapp-history-row>span{display:grid;gap:4px}.whatsapp-history-row>span:before{content:attr(data-label);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.whatsapp-history-row .stack-cell strong{font-size:1.05rem}.whatsapp-history-row .history-action-cell{display:grid;gap:6px;justify-items:start}.whatsapp-history-row .history-action-cell:before{content:attr(data-label);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.whatsapp-history-row .history-action-pill:before{content:none}.whatsapp-history-row .history-action-pill{justify-self:start}.table-pagination{flex-direction:column;align-items:flex-start}.list-row{grid-template-columns:1fr;gap:8px}.recipient-row,.reminder-row{grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.list-row button,.entity-card button{width:100%}.recipient-row .recipient-action-button{width:auto;min-width:116px;min-height:36px;padding:0 12px;font-size:.92rem;justify-self:end}.reminder-row .reminder-action{width:auto;min-width:142px;justify-self:end}.button-row{flex-direction:column}.pending-whatsapp-stats{display:none}.pending-whatsapp-stat--combined{display:grid}.button-row button{width:100%}.compact-actions{flex-direction:row;flex-wrap:nowrap}.client-directory-card{grid-template-columns:1fr;gap:12px}.client-import-mappings{grid-template-columns:1fr}.client-import-preview-row.header{display:none}.client-import-preview-row{grid-template-columns:1fr;gap:6px;padding:12px 0}.client-import-preview-row>span{display:grid;gap:4px}.client-import-preview-row>span:before{content:attr(data-label);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.client-card-actions{flex-direction:column;align-items:stretch}.review-modal-body{grid-template-columns:1fr}.review-modal-image-col{position:static}.review-modal-actions{flex-direction:column}.compact-actions .compact-action-button{width:auto;min-width:118px;flex:0 0 auto;padding:0 14px;min-height:36px;font-size:.92rem}.client-card-actions .compact-action-button{width:100%}.voucher-thumb{width:44px;height:44px;border-radius:10px}.bottom-nav{display:none!important}.tab-item.active{background:#ffffff1f;border-radius:12px}.modal-backdrop{padding:0;align-items:flex-end}.modal-card{width:100%;max-height:92vh;max-height:92dvh;border-radius:22px 22px 0 0;padding:20px 16px;padding-bottom:calc(20px + var(--safe-bottom));padding-left:calc(16px + var(--safe-left));padding-right:calc(16px + var(--safe-right));animation:slide-up .25s ease-out}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-card .stats{padding:0}.client-detail-modal,.voucher-preview-modal,.campaign-detail-modal{width:100%}.voucher-modal-content{min-height:260px}.voucher-modal-frame{min-height:58vh}.campaign-detail-top{grid-template-columns:1fr}.campaign-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-detail-history{gap:14px}.client-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.client-detail-meta-grid{grid-template-columns:1fr}.client-detail-actions{flex-direction:column}.client-detail-actions button{width:100%}.modal-actions{flex-direction:column}.modal-actions button{width:100%}.evidence-preview img{max-height:180px}.brand-preview img,.brand-placeholder{max-width:160px}}@media (max-width: 400px){.stats{grid-template-columns:1fr}.tab-label{font-size:9px}.tab-icon{font-size:20px}}.qr-clickable{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.qr-clickable:hover{transform:scale(1.04);box-shadow:0 8px 24px #6c5ce72e}.qr-customizer-modal{width:min(880px,100%)}.qr-customizer-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px;align-items:start}.qr-customizer-preview{display:grid;place-items:center;background:#f8f9ff;border:1px solid var(--line);border-radius:20px;padding:24px;position:sticky;top:0}.qr-canvas{width:100%;max-width:280px;height:auto;border-radius:8px}.qr-customizer-controls{display:grid;gap:16px}.qr-fieldset{border:1px solid var(--line);border-radius:18px;padding:14px 16px;margin:0;display:grid;gap:10px}.qr-fieldset legend{font-weight:800;font-size:.85rem;color:var(--primary);padding:0 8px}.qr-control{display:flex;align-items:center;justify-content:space-between;gap:12px}.qr-control span{font-size:.88rem;color:var(--muted);font-weight:500}.qr-control input[type=color]{width:36px;height:36px;border:2px solid var(--line);border-radius:10px;padding:2px;cursor:pointer;background:none}.qr-control input[type=range]{flex:1;max-width:180px;accent-color:var(--primary)}.qr-control input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary);cursor:pointer}.qr-control input[type=file]{font-size:.82rem;max-width:180px}@media (max-width: 760px){.qr-customizer-layout{grid-template-columns:1fr}.qr-customizer-preview{position:static}}
