:root{--ink:#182033;--muted:#64748b;--line:#e7eaf0;--paper:#fff;--background:#f7f8fc;--purple:#5e0d96;--purple-dark:#21083d;--teal:#0f8a78;--danger:#c43354}*{box-sizing:border-box}body{background:var(--background);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer}.login-page{background:radial-gradient(circle at 5% 90%,#e6d3fa 0,#0000 28%),radial-gradient(circle at 85% 5%,#e0f6ee 0,#0000 26%),#f7f8fc;place-items:center;min-height:100vh;padding:30px;display:grid}.login-card{border:1px solid var(--line);background:#fff;border-radius:24px;grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr);width:min(1080px,100%);min-height:620px;display:grid;overflow:hidden;box-shadow:0 24px 70px #230a3d26}.login-form-panel{flex-direction:column;justify-content:center;padding:48px clamp(32px,5vw,66px);display:flex}.login-logo{object-fit:contain;object-position:left center;width:auto;max-width:220px;height:76px;margin:0 0 24px}.eyebrow{color:var(--purple);letter-spacing:.14em;margin:0 0 8px;font-size:11px;font-weight:800}h1,h2,p{margin-top:0}.login-form-panel h1{color:#35105f;letter-spacing:-.035em;white-space:nowrap;margin-bottom:20px;padding-bottom:13px;font-size:27px;font-weight:800;line-height:1.1;position:relative}.login-form-panel h1:after{content:"";background:linear-gradient(90deg,#5e0d96,#a21caf);border-radius:99px;width:40px;height:3px;position:absolute;bottom:0;left:0}.muted,.page-header p,.panel-header p,.report-card small,.metric-card small{color:var(--muted);line-height:1.5}.login-form-panel form{gap:16px;margin-top:30px;display:grid}.login-form-panel label{gap:7px;font-size:13px;font-weight:700;display:grid}.login-form-panel input,.search-input{background:#fff;border:1px solid #dce1eb;border-radius:10px;outline:none;width:100%;padding:12px 13px}.login-form-panel input:focus,.search-input:focus{border-color:var(--purple);box-shadow:0 0 0 3px #5e0d9616}.login-form-panel small{color:#94a3b8;margin-top:24px}.button{border:1px solid var(--line);min-height:39px;color:var(--ink);background:#fff;border-radius:9px;padding:9px 15px;font-size:13px;font-weight:700}.button:disabled{opacity:.55;cursor:not-allowed}.button.primary{border-color:var(--purple);color:#fff;background:linear-gradient(135deg,#6e18ab,#4d087d)}.button.secondary:hover{color:var(--purple);border-color:#ba9cd0}.form-error,.notice.error{color:var(--danger);margin:0;font-size:13px}.login-showcase{color:#fff;background:linear-gradient(142deg,#260343,#5e0d96 62%,#9026b7);flex-direction:column;justify-content:flex-end;padding:65px;display:flex;position:relative;overflow:hidden}.login-showcase:before{content:"";border:1px solid #fff2;border-radius:50%;width:440px;height:440px;position:absolute;top:-190px;right:-130px;box-shadow:-200px 430px 0 -120px #ffffff12}.login-showcase>*{position:relative}.login-showcase .eyebrow{color:#e8ccff}.login-showcase h2{letter-spacing:-.05em;max-width:370px;margin-bottom:13px;font-size:43px;line-height:1.05}.login-showcase p:last-child{color:#f1e8f8;max-width:365px;line-height:1.7}.portal{grid-template-columns:272px 1fr;min-height:100vh;transition:grid-template-columns .22s;display:grid}.sidebar-collapsed{grid-template-columns:82px 1fr}.sidebar{z-index:1;color:#efe8f8;background:radial-gradient(300px 160px at 110% 0,#7b26a933,#0000 65%),linear-gradient(155deg,#280548,#1a052f 68%,#101527);flex-direction:column;gap:10px;height:100vh;padding:16px 12px;display:flex;position:sticky;top:0;overflow:hidden}.brand{white-space:nowrap;background:#ffffff0d;border:1px solid #ffffff19;border-radius:13px;align-items:center;gap:10px;min-height:55px;padding:8px;display:flex}.brand-mark{width:35px;height:35px;color:var(--purple);background:#fff;border-radius:10px;flex:0 0 35px;place-items:center;font-weight:900;display:grid}.brand-name{flex:1;font-size:13px;font-weight:800;overflow:hidden}.icon-button{color:#fff;background:#ffffff14;border:0;border-radius:7px;flex:0 0 25px;padding:2px;font-size:25px;line-height:1}.nav-heading{color:#bca8cc;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;margin:16px 10px 3px;font-size:10px;font-weight:800}.sidebar nav{gap:4px;display:grid}.nav-link{color:#e9e2ef;text-align:left;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:12px;min-height:45px;padding:10px 12px;font-size:14px;text-decoration:none;display:flex}.nav-link>span:first-child{place-items:center;width:20px;font-size:20px;display:grid}.nav-link:hover{background:#ffffff12}.nav-link.active{color:#fff;background:linear-gradient(135deg,#8c24b2,#5e0d96);border-color:#ebd4ff3d;box-shadow:0 8px 20px #0003}.sidebar-bottom{gap:8px;margin-top:auto;display:grid}.user-chip{white-space:nowrap;border-top:1px solid #ffffff1a;align-items:center;gap:9px;padding:10px;display:flex}.avatar{color:#4d087d;background:#e9ccff;border-radius:50%;flex:0 0 29px;place-items:center;width:29px;height:29px;font-size:12px;font-weight:900;display:grid}.user-chip strong,.user-chip small{text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.user-chip small{color:#bca8cc;margin-top:2px;font-size:10px}.logout{border:0;width:100%}.sidebar-collapsed .brand-name,.sidebar-collapsed .nav-label,.sidebar-collapsed .nav-heading{display:none}.sidebar-collapsed .brand{justify-content:center}.sidebar-collapsed .brand .icon-button{transform:rotate(180deg)}.sidebar-collapsed .nav-link,.sidebar-collapsed .user-chip{justify-content:center;padding-left:8px;padding-right:8px}.portal-content{min-width:0}.page{max-width:1440px;margin:0 auto;padding:42px clamp(24px,5vw,70px)}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.page-header h1{letter-spacing:-.04em;margin-bottom:7px;font-size:29px}.page-header p{margin-bottom:0;font-size:14px}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.metric-card,.panel{border:1px solid var(--line);background:var(--paper);border-radius:15px;box-shadow:0 4px 14px #1a093809}.metric-card{flex-direction:column;min-height:178px;padding:20px;display:flex}.metric-card>span{color:var(--muted);font-size:13px}.metric-card strong{letter-spacing:-.04em;margin:11px 0 4px;font-size:26px}.metric-card small{margin-top:auto;font-size:12px}.metric-card.purple{background:#fcf9ff;border-color:#e3c9f3}.metric-card.teal{background:#f7fffd;border-color:#c8eee8}.progress{background:#e9e8ee;border-radius:20px;height:6px;margin-top:10px;overflow:hidden}.progress i{border-radius:inherit;background:var(--purple);height:100%;display:block}.teal .progress i{background:var(--teal)}.content-grid{grid-template-columns:1.7fr 1fr;gap:16px;margin-top:16px;display:grid}.panel{padding:23px}.panel-header{justify-content:space-between;align-items:start;gap:18px;margin-bottom:20px;display:flex}.panel h2{margin-bottom:5px;font-size:16px}.panel-header p{margin:0;font-size:13px}.panel-header a{color:var(--purple);font-size:13px;font-weight:700;text-decoration:none}.comparison{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.comparison div{background:#f8f8fb;border-radius:10px;padding:13px}.comparison span{color:var(--muted);font-size:11px;display:block}.comparison strong{margin-top:6px;font-size:17px;display:block}.insight{background:linear-gradient(135deg,#fdf7ff,#fbf8fd)}.insight-icon{color:#fff;background:var(--purple);border-radius:10px;place-items:center;width:35px;height:35px;margin-bottom:18px;font-size:22px;display:grid}.insight p{color:var(--muted);font-size:14px;line-height:1.55}.table-panel{margin-top:16px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{border-bottom:1px solid var(--line);color:var(--muted);text-align:left;letter-spacing:.02em;text-transform:uppercase;padding:12px 10px;font-size:11px}td{border-bottom:1px solid #f0f1f4;padding:14px 10px}td strong,td small{display:block}td small{color:var(--muted);margin-top:3px;font-size:11px}.badge{color:#5e0d96;background:#f3e8fc;border-radius:99px;padding:4px 8px;font-size:11px;font-weight:800;display:inline-block}.badge.success{color:#087d63;background:#dff8ee}.badge.danger{color:#b12443;background:#fde8ee}.loading-state,.empty-state{color:var(--muted);text-align:center;padding:30px 0}.notice{color:#785d10;background:#fffbeb;border:1px solid #eadca3;border-radius:10px;padding:14px 16px;font-size:13px}.report-grid,.setup-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.report-card{border:1px solid var(--line);min-height:158px;color:var(--ink);text-align:left;background:#fff;border-radius:14px;flex-direction:column;align-items:flex-start;gap:8px;padding:18px;display:flex}.report-card:hover,.report-card.selected{border-color:#ad78cc;box-shadow:0 6px 18px #5e0d9614}.report-card strong{font-size:14px}.report-card small{font-size:12px}.report-icon{width:35px;height:35px;color:var(--purple);background:#f3e8fc;border-radius:9px;place-items:center;font-size:20px;display:grid}.report-result .search-input{max-width:450px;margin-bottom:20px}.setup-grid{grid-template-columns:repeat(3,1fr)}.setup-grid .panel{min-height:184px}.setup-grid p{min-height:42px;color:var(--muted);font-size:14px;line-height:1.5}@media (max-width:980px){.metrics-grid,.report-grid{grid-template-columns:repeat(2,1fr)}.content-grid,.login-card{grid-template-columns:1fr}.login-showcase{min-height:270px;padding:42px}.login-showcase h2{font-size:33px}.portal{grid-template-columns:82px 1fr}.sidebar .brand-name,.sidebar .nav-label,.sidebar .nav-heading{display:none}.sidebar .brand,.sidebar .nav-link,.sidebar .user-chip{justify-content:center;padding-left:8px;padding-right:8px}.sidebar .brand .icon-button{display:none}}@media (max-width:620px){.login-page{padding:0}.login-card{border:0;border-radius:0;min-height:100vh}.login-form-panel{padding:42px 25px}.login-showcase{min-height:220px;padding:28px 25px}.login-showcase h2{font-size:29px}.portal{grid-template-columns:1fr}.sidebar{flex-direction:row;align-items:center;height:auto;padding:8px;position:static}.sidebar nav{flex:1;display:flex}.sidebar .brand,.sidebar .sidebar-bottom{display:none}.sidebar .nav-link{flex:1;min-height:42px}.page{padding:25px 16px}.page-header{margin-bottom:21px}.page-header h1{font-size:25px}.metrics-grid,.report-grid,.setup-grid,.comparison{grid-template-columns:1fr}.metric-card{min-height:135px}.page-header .button{display:none}.report-card{min-height:124px}.panel{padding:16px}}.import-panel{max-width:690px}.import-panel>p{color:var(--muted);font-size:14px;line-height:1.55}.import-panel form{gap:16px;margin:24px 0;display:grid}.import-panel label{color:var(--ink);gap:7px;font-size:13px;font-weight:700;display:grid}.import-panel select,.import-panel input{background:#fff;border:1px solid #dce1eb;border-radius:9px;width:100%;padding:11px}.import-panel small{color:var(--muted);line-height:1.45}.campaign-page{max-width:1400px;margin:0 auto;padding:28px clamp(18px,4vw,54px)}.campaign-hero{color:#fff;background:linear-gradient(135deg,#4d087d,#7b0596);border-radius:16px;justify-content:space-between;align-items:flex-start;gap:24px;padding:25px 28px;display:flex;box-shadow:0 12px 30px #5e0d9630}.campaign-hero .eyebrow{color:#ead7ff}.campaign-hero h1{letter-spacing:-.04em;margin:0 0 7px;font-size:27px}.campaign-hero p:last-child{color:#f0e8f7;margin:0;font-size:14px}.campaign-period{color:#f8edff;white-space:nowrap;border:1px solid #ffffff4d;border-radius:99px;padding:8px 11px;font-size:12px}.goal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0 25px;display:grid}.goal-card{--ring-color:#0a9a72;--ring-empty:#e3f3ed;background:#fff;border:1px solid #d9ebe5;border-radius:15px;padding:20px;position:relative;overflow:hidden;box-shadow:0 4px 18px #1a09380a}.goal-card:before{content:"";background:#0a9a72;height:4px;position:absolute;inset:0 0 auto}.goal-card.mix{--ring-color:#3279e7;--ring-empty:#e3efff;border-color:#d9e5fa}.goal-card.mix:before{background:#3279e7}.goal-header,.goal-body{justify-content:space-between;gap:18px;display:flex}.goal-header{align-items:center;margin-bottom:18px}.goal-header h2{margin:0;font-size:16px}.goal-header span{color:var(--ring-color);background:var(--ring-empty);border-radius:99px;padding:5px 9px;font-size:12px;font-weight:800}.goal-values{flex:1;align-content:center;gap:12px;display:grid}.goal-values div{flex-direction:column;gap:2px;display:flex}.goal-values small{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:700}.goal-values strong{color:#263449;font-size:15px}.donut{border-radius:50%;flex:0 0 152px;place-items:center;width:152px;height:152px;display:grid}.donut>div{text-align:center;background:#fff;border-radius:50%;place-items:center;width:118px;height:118px;display:grid}.donut strong{color:var(--ring-color);letter-spacing:-.06em;font-size:24px}.donut small{color:var(--muted);font-size:11px}.goal-progress{background:var(--ring-empty);border-radius:8px;height:8px;margin-top:16px;overflow:hidden}.goal-progress i{border-radius:inherit;background:var(--ring-color);height:100%;transition:width .5s;display:block}.campaign-tabs{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 4px 18px #1a09380a}.tab-list{border-bottom:1px solid var(--line);gap:3px;padding:0 13px;display:flex}.tab-list button{color:var(--muted);background:0 0;border:0;padding:15px 17px;font-size:14px;font-weight:800;position:relative}.tab-list button:hover{color:var(--purple);background:#faf6fd}.tab-list button.active{color:var(--purple)}.tab-list button.active:after{content:"";background:var(--purple);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px;left:10px;right:10px}.tab-content{padding:21px}.tab-toolbar{justify-content:space-between;align-items:start;gap:16px;margin-bottom:16px;display:flex}.tab-toolbar h2{margin:0 0 4px;font-size:16px}.tab-toolbar p,.tab-toolbar span{color:var(--muted);margin:0;font-size:13px}.rank{color:var(--muted);font-weight:800}.percent{border-radius:99px;padding:5px 9px;font-size:12px;font-weight:800;display:inline-block}.percent.success{color:#087b5d;background:#dff8ee}.percent.warning{color:#2762ba;background:#e2edff}.percent.danger{color:#c02f4d;background:#fee8ee}@media (max-width:760px){.campaign-hero{flex-direction:column}.campaign-period{white-space:normal}.goal-grid{grid-template-columns:1fr}.tab-content{padding:15px}.goal-values strong{font-size:13px}.donut{flex-basis:118px;width:118px;height:118px}.donut>div{width:91px;height:91px}.donut strong{font-size:19px}}.campaign-data-table{min-width:940px}.table-pagination{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;font-size:13px;display:flex}.table-pagination label{align-items:center;gap:8px;font-weight:700;display:flex}.table-pagination select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:7px 9px}.table-pagination div{gap:8px;display:flex}.table-pagination .button{min-height:auto;padding:7px 11px}.table-pagination strong{color:var(--ink)}.table-detail-button{color:#174b99;font:inherit;white-space:nowrap;cursor:pointer;background:#e8f0ff;border:0;border-radius:7px;padding:7px 10px;font-size:.82rem;font-weight:800}.table-detail-button:hover{background:#d7e5ff}.tab-toolbar-actions{justify-content:flex-end;align-items:center;gap:16px;display:flex}.group-suppliers-toggle{color:#374151;white-space:nowrap;cursor:pointer;align-items:center;gap:7px;font-size:.9rem;font-weight:700;display:flex}.group-suppliers-toggle input{accent-color:#1b5fbf;cursor:pointer;width:16px;height:16px}.dashboard-search{align-items:center;gap:12px;margin-bottom:16px;display:flex}.dashboard-search input{border:1px solid var(--line);min-width:0;font:inherit;color:var(--ink);border-radius:10px;flex:1;padding:10px 14px}.dashboard-search .group-suppliers-toggle{margin-left:4px}.sort-header{color:inherit;font:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:3px;padding:0;display:inline-flex}.sort-header:hover{color:var(--purple)}.sort-header span{color:#9aa7b9;font-size:10px}.users-header-actions,.users-toolbar,.users-actions{align-items:center;gap:10px;display:flex}.users-toolbar{flex-wrap:wrap;margin-bottom:20px}.users-toolbar input{border:1px solid var(--line);min-width:220px;font:inherit;border-radius:10px;flex:1;padding:10px 14px}.users-toolbar select,.user-modal select,.user-modal input{border:1px solid var(--line);color:var(--ink);font:inherit;background:#fff;border-radius:10px;padding:10px 12px}.users-toolbar select{min-width:165px}.user-type{border-radius:999px;align-items:center;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.user-type.type-adm{color:#6d28d9;background:#ede9fe}.user-type.type-matriz{color:#075985;background:#e0f2fe}.user-type.type-associado{color:#a16207;background:#fef3c7}.user-type.type-fornecedor{color:#047857;background:#d1fae5}.users-actions{white-space:nowrap}.user-action{color:#40506a;font:inherit;cursor:pointer;background:#f5f7fb;border:1px solid #0000;border-radius:8px;align-items:center;gap:5px;padding:6px 9px;font-size:12px;font-weight:700;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.user-action:hover{background:#eef3fb;border-color:#ced8e8;transform:translateY(-1px)}.user-action.edit span{color:#2563eb;font-size:15px;line-height:10px}.user-action.delete{color:#b4233d;background:#fff5f6}.user-action.delete span{font-size:16px;line-height:10px}.user-action.delete:hover{background:#ffe7ea;border-color:#fecdd3}.notice.success{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.danger-action{color:#b4233d;background:#fee8ee}.user-modal{background:#fff;border-radius:16px;width:min(540px,100%);max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 24px 70px #0000004d}.user-modal>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:22px 24px 16px;display:flex}.user-modal>header h2{margin:0;font-size:20px}.user-modal>p,.user-modal>label{margin:18px 24px}.user-modal form{gap:14px;padding:22px 24px;display:grid}.user-modal form label,.user-modal>label{gap:6px;font-size:14px;font-weight:700;display:grid}.user-modal form input,.user-modal form select,.user-modal>label select{width:100%}.user-modal form small{color:var(--muted);font-size:12px;font-weight:400}.user-modal footer{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding:20px 24px;display:flex}.user-modal form footer{margin:6px -24px -22px}.auto-preview{color:var(--muted);font-size:13px}.auto-preview-list{border:1px solid var(--line);background:#fafbfc;border-radius:10px;gap:8px;max-height:210px;margin:0 24px 20px;padding:12px;display:grid;overflow:auto}.auto-preview-list div{gap:2px;display:grid}.auto-preview-list small{color:var(--muted)}@media (max-width:620px){.users-header-actions{width:100%}.users-header-actions .button{flex:1;justify-content:center}.users-toolbar{align-items:stretch}.users-toolbar input,.users-toolbar select,.users-toolbar .button{width:100%}.users-actions{flex-wrap:wrap}}.login-showcase{isolation:isolate;background:linear-gradient(145deg,#310455f5,#5e0d96e6 54%,#7b0596d6);padding:52px clamp(38px,6vw,76px)}.login-showcase:before{z-index:0;width:auto;height:auto;box-shadow:none;opacity:.95;background-image:linear-gradient(135deg,#1d00364d,#5e0d9638),url(/logo.png);background-position:50%;background-repeat:no-repeat;background-size:cover,68%;border:0;border-radius:0;position:absolute;inset:0}.login-showcase:after{content:"";z-index:0;background:#ffffff1c;border-radius:50%;width:430px;height:430px;position:absolute;top:-170px;right:-190px;box-shadow:-110px 280px #ffffff0f}.login-showcase-content{z-index:1;flex-direction:column;justify-content:flex-end;width:100%;min-height:340px;display:flex;position:relative}.login-slides{min-height:205px;position:relative}.login-slide{opacity:0;pointer-events:none;flex-direction:column;justify-content:flex-end;transition:opacity .45s,transform .45s;display:flex;position:absolute;inset:0;transform:translate(18px)}.login-slide.active{opacity:1;pointer-events:auto;transform:translate(0)}.login-showcase .eyebrow{color:#ead7ff;letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px;font-size:12px;font-weight:700}.login-showcase h2{letter-spacing:-.03em;max-width:440px;margin:0 0 12px;font-size:clamp(29px,3.3vw,42px);line-height:1.1}.login-showcase .login-slide p:last-child{color:#ffffffd6;max-width:440px;margin:0;font-size:15px;line-height:1.65}.login-dots{gap:8px;margin-top:30px;display:flex}.login-dots button{appearance:none;cursor:pointer;background:#fff6;border:0;border-radius:50%;width:9px;height:9px;padding:0;transition:width .2s,background .2s}.login-dots button.active{background:#fff;border-radius:8px;width:28px}@media (max-width:980px){.login-showcase-content{min-height:200px}.login-slides{min-height:150px}}.password-field,.field-with-icon{display:block;position:relative}.field-with-icon svg{z-index:1;width:18px;height:18px;color:var(--purple);stroke:currentColor;stroke-width:2px;pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.field-with-icon input{padding-left:40px!important}.password-field input{padding-right:64px!important}.password-field button{color:#94a3b8;font:inherit;text-transform:uppercase;letter-spacing:.02em;cursor:pointer;background:0 0;border:0;padding:2px;font-size:10px;font-weight:600;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.password-field button:hover{color:var(--purple)}.remember-password{color:var(--muted);cursor:pointer;align-items:center;gap:8px;font-weight:600!important;display:flex!important}.remember-password input{height:16px;accent-color:var(--purple);margin:0;width:16px!important}.grouped-store-count{color:#2563eb;font-size:11px;font-weight:700}.goal-card .goal-values{justify-content:space-between;gap:16px;margin-bottom:12px;display:flex}.goal-card .goal-values div{text-align:center;flex:1;display:block}.goal-card .goal-values small{margin-bottom:4px;display:block}.goal-card .goal-values strong{color:var(--ring-color);font-size:18px}.goal-card .donut{width:180px;height:180px;margin:0 auto;display:grid}.goal-card .donut>div{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:140px;height:140px;padding:0;display:flex}.goal-card .donut>div strong,.goal-card .donut>div small{text-align:center;width:100%;margin:0;display:block}.modal-product-identification{color:#66758a;margin:7px 0 0;font-size:.88rem}.detail-modal-backdrop{z-index:100;background:#0c182c8c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.detail-modal{background:#fff;border-radius:16px;width:min(1240px,100%);max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 24px 70px #0000004d}.detail-modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:18px;padding:24px 26px 18px;display:flex}.detail-modal-header h2{color:var(--ink);margin:4px 0 0;font-size:1.35rem}.modal-close{color:#526071;cursor:pointer;background:0 0;border:0;font-size:2rem;line-height:1}.detail-table-wrap{max-height:calc(100vh - 260px);margin:20px 26px}.detail-modal-footer{justify-content:flex-end;gap:8px;padding:0 26px 24px;display:flex}.detail-group-list{gap:10px;padding:24px 26px;display:grid}.detail-group-list>p{color:#526071;margin:0 0 4px}.detail-group-item{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:10px;grid-template-columns:minmax(230px,1fr) minmax(145px,auto) minmax(240px,auto);align-items:center;gap:22px;padding:14px 16px;display:grid}.detail-group-item:hover{background:#f7faff;border-color:#83a9e6}.detail-group-item span{gap:3px;display:grid}.detail-group-item small{color:#66758a}.detail-group-metric{grid-template-columns:auto auto;align-items:center;column-gap:8px}.detail-group-metric small{letter-spacing:.04em;text-transform:uppercase;grid-column:1/-1;font-size:11px;font-weight:700}.detail-group-metric strong{white-space:nowrap;font-size:13px}.detail-group-metric .percent{padding:4px 7px;font-size:11px}.stores-detail-modal{flex-direction:column;display:flex;overflow:hidden}.stores-detail-modal .detail-table-wrap{flex:auto;min-height:0;max-height:none;overflow:auto}.store-links-modal{flex-direction:column;width:min(1080px,100%);display:flex;overflow:hidden}.store-links-description{color:#66758a;margin:18px 24px 0;font-size:13px;line-height:1.5}.store-links-modal>.notice{margin:14px 24px 0}.store-links-form{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;padding-bottom:18px!important}.store-links-form .button{white-space:nowrap}.store-links-table{flex:auto;min-height:0;max-height:calc(100vh - 390px);margin:0 24px;overflow:auto}.store-links-table table{min-width:760px}@media (max-width:720px){.store-links-form{grid-template-columns:1fr}.store-links-form .button{width:100%}.store-links-table{max-height:calc(100vh - 440px)}}.campaign-loading-page{place-items:center;min-height:calc(100vh - 100px);display:grid}.campaign-loader{background:linear-gradient(135deg,#fff,#fbf7fe);border:1px solid #e5d4f1;border-radius:18px;align-items:center;gap:22px;min-width:min(100%,510px);padding:26px 30px;display:flex;box-shadow:0 12px 32px #4f0b7612}.campaign-loader-mark{background:conic-gradient(from 20deg,#79109e,#c86ae6,#f0e4f7,#79109e);border-radius:50%;flex:0 0 64px;place-items:center;width:64px;height:64px;animation:1.8s linear infinite campaign-loader-spin;display:grid;position:relative}.campaign-loader-mark:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:8px}.campaign-loader-mark i{z-index:1;background:#7c149d;border-radius:50%;width:5px;height:5px;display:block;position:relative;box-shadow:0 0 0 4px #f5eafe}.campaign-loader-mark i:first-child{transform:translateY(-11px)}.campaign-loader-mark i:nth-child(2){transform:translate(-9px,8px)}.campaign-loader-mark i:nth-child(3){transform:translate(9px,8px)}.campaign-loader .eyebrow{color:#8c4ba7;margin:0 0 4px;font-size:10px}.campaign-loader strong{color:#2a1837;font-size:17px;display:block}.campaign-loader small{color:#6d6176;margin-top:6px;font-size:12px;display:block}.campaign-loader-dots i{background:#8a39aa;border-radius:50%;width:4px;height:4px;margin-left:2px;animation:1.1s ease-in-out infinite campaign-loader-dot;display:inline-block}.campaign-loader-dots i:nth-child(2){animation-delay:.15s}.campaign-loader-dots i:nth-child(3){animation-delay:.3s}.campaign-loader-track{background:#eadff0;border-radius:999px;width:min(100%,330px);height:4px;margin-top:15px;display:block;overflow:hidden}.campaign-loader-track i{border-radius:inherit;background:linear-gradient(90deg,#7a109f,#c66ce4);width:42%;height:100%;animation:1.35s ease-in-out infinite campaign-loader-progress;display:block}@keyframes campaign-loader-spin{to{transform:rotate(360deg)}}@keyframes campaign-loader-dot{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}@keyframes campaign-loader-progress{0%{transform:translate(-115%)}to{transform:translate(265%)}}@media (prefers-reduced-motion:reduce){.campaign-loader-mark,.campaign-loader-dots i,.campaign-loader-track i{animation:none}}@media (max-width:680px){.detail-modal-backdrop{padding:10px}.detail-modal{max-height:calc(100vh - 20px)}.detail-modal-header,.detail-table-wrap,.detail-modal-footer,.detail-group-list{margin-left:14px;margin-right:14px;padding-left:0;padding-right:0}.detail-group-item{grid-template-columns:1fr;gap:8px}}.import-reports-page{gap:18px;display:grid}.import-reports-page .page-header{margin-bottom:4px}.report-parameters{grid-template-columns:minmax(220px,.8fr) minmax(610px,2fr) 92px auto;align-items:end;gap:16px;padding:20px 22px;display:grid}.report-parameters h2,.reports-section h2,.import-card h2{margin:0 0 5px;font-size:16px}.report-parameters p,.import-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.period-list{letter-spacing:.04em;color:var(--muted);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;font-size:10px;font-weight:800;display:grid}.period-list label{white-space:nowrap;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;display:grid}.period-list span{align-items:center;gap:6px;min-width:0;display:flex}.period-list b{color:#9aa6b8;text-transform:lowercase;font-size:10px;font-weight:600}.period-list input{width:120px;min-width:0;color:var(--ink);font:inherit;letter-spacing:0;background:#fbfcfe;border:1px solid #dfe4ec;border-radius:7px;padding:7px 8px;font-size:12px;font-weight:600}.meta-field{color:#8a96a7;letter-spacing:.02em;gap:4px;font-size:10px;font-weight:700;display:grid}.meta-field input{color:#536173;width:86px;font:inherit;text-align:center;background:#fbfcfe;border:1px solid #e1e5ec;border-radius:7px;padding:7px 8px;font-size:12px}.import-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.import-danger-zone{justify-content:flex-end;margin-top:-5px;display:flex}.header-danger-zone{align-self:center;margin-top:0}.clear-imports{color:#b4233f!important;background:#fff7f8!important;border-color:#f4c2c8!important}.clear-imports:hover:not(:disabled){background:#fff0f2!important;border-color:#df7180!important}.import-card{border-top:4px solid #4374d5;gap:18px;padding:22px;display:grid}.import-card.campanha{border-top-color:#189477}.import-card form{gap:13px;display:grid}.file-picker{color:#536276;border:1px dashed #b7c1d2;border-radius:9px;align-items:center;min-height:43px;padding:0 13px;font-size:13px;font-weight:600;display:flex;position:relative;overflow:hidden}.file-picker input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.import-status{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.import-status span{background:#f7f9fc;border-radius:9px;gap:4px;min-width:0;padding:10px;display:grid}.import-status small{color:var(--muted);text-transform:uppercase;font-size:10px}.import-status strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.reports-section{gap:12px;display:grid}.legacy-report-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.report-tone-blue .report-icon{color:#1769c2;background:#e6f0ff}.report-tone-green .report-icon{color:#087a5b;background:#e4f8ee}.report-tone-red .report-icon{color:#c13745;background:#ffeaed}.report-tone-amber .report-icon{color:#a76805;background:#fff3d6}.report-modal{flex-direction:column;width:min(1320px,100%);display:flex;overflow:hidden}.report-modal-body{flex:auto;min-height:0;padding:20px 26px;overflow:auto}.report-modal-body .table-wrap{max-height:none;overflow:auto visible}.report-toolbar{gap:10px;margin:18px 0;display:flex}.report-toolbar .search-input{border:1px solid var(--line);min-width:0;font:inherit;border-radius:9px;flex:1;padding:10px 12px}.notes-source{border:1px solid var(--line);min-width:220px;color:var(--ink);font:inherit;background:#fff;border-radius:9px;padding:10px 12px}.nested-modal{z-index:110}.stores-modal{width:min(900px,100%)}.stores-period{margin:0 0 20px}.stores-period h3{margin:0 0 9px;font-size:14px}.stores-period.base h3{color:#2563eb}.stores-period.campanha h3{color:#15803d}.stores-action{white-space:nowrap;font-size:12px}.report-info{color:#854d0e;background:#fef9c3;border:1px solid #fde68a;border-radius:9px;margin:0 0 16px;padding:12px 14px;font-size:13px;line-height:1.55}.report-info b{color:#0284c7}.report-info em{color:#ca8a04;font-style:normal}.report-info.supplier{color:#1e40af;background:#eff6ff;border-color:#bfdbfe}.report-totals{flex-wrap:wrap;gap:10px;display:flex}.report-totals span{background:#f9fafc;border:1px solid #e5e8ef;border-radius:9px;gap:3px;min-width:145px;padding:10px 12px;display:grid}.report-totals small{color:var(--muted);text-transform:uppercase;font-size:10px}.report-totals strong{font-size:14px}.report-pagination{align-items:center}.report-pagination span{color:var(--muted);margin-right:auto;font-size:13px}.report-danger-note{color:#9f1239;background:#fff1f2;border:1px solid #fecaca;border-radius:9px;margin:0 0 14px;padding:10px 12px;font-size:13px}.danger-action{font-size:12px;color:#b4233f!important;background:#fff!important;border-color:#fecaca!important}.report-cell-oracle{background:#f0f9ff}.report-modal th.report-cell-oracle{color:#075985;background:#e0f2fe}.report-cell-sheet{background:#fefce8}.report-modal th.report-cell-sheet{color:#92400e;background:#fef3c7}.report-cell-total{color:#15803d;background:#f0fdf4;font-size:14px;font-weight:800}.report-modal th.report-cell-total{color:#166534;background:#dcfce7}.report-cell-good{color:#15803d;font-weight:800}.report-cell-mid{color:#2563eb;font-weight:800}.report-cell-low{color:#dc2626;font-weight:800}.report-cell-ean{color:#b91c1c;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700}.legacy-report-grid .report-card{transition:transform .2s,border-color .2s,box-shadow .2s}.legacy-report-grid .report-card:hover{border-color:#ad78cc;transform:translateY(-2px);box-shadow:0 8px 30px #5e0d961f}@media (max-width:980px){.report-parameters{grid-template-columns:1fr 1fr}.report-parameters .period-list{grid-column:1/-1}.legacy-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.report-parameters,.import-cards,.legacy-report-grid,.period-list{grid-template-columns:1fr}.period-list input{width:100%}.import-status{grid-template-columns:1fr}.report-modal-body{padding:16px 14px}.report-toolbar{flex-direction:column;align-items:stretch}.report-totals{grid-template-columns:1fr 1fr;display:grid}.report-pagination{flex-wrap:wrap}.report-pagination span{width:100%}}.nav-link .nav-icon{width:20px;height:20px;font-size:inherit}.nav-link .nav-icon svg{width:18px;height:18px;display:block}.nav-heading-admin{margin-top:18px}.sidebar nav{gap:5px}.nav-link{letter-spacing:.01em;border-radius:14px;min-height:46px;padding:11px 12px;font-weight:600;transition:background .18s,border-color .18s,transform .18s,box-shadow .18s}.nav-link:hover{background:#ffffff17;border-color:#ffffff14;transform:translate(2px)}.nav-link.active{background:linear-gradient(135deg,#7b0596f5,#5e0d96e0);border-color:#e9d5ff40;box-shadow:0 8px 18px #0003}.nav-link .nav-icon,.nav-link .nav-icon svg{width:22px;height:22px}.portal{transition:grid-template-columns .52s cubic-bezier(.22,1,.36,1)}.brand{background:linear-gradient(135deg,#ffffff1c,#ffffff09);border-radius:16px;gap:10px;min-height:52px;padding:9px 10px;transition:padding .52s cubic-bezier(.22,1,.36,1),gap .35s}.brand-logo{object-fit:contain;filter:drop-shadow(0 3px 7px #0003);flex:0 0 30px;width:30px;min-width:0;height:30px;transition:width .28s,flex-basis .28s,opacity .2s,transform .28s}.brand-name{letter-spacing:.01em;opacity:1;max-width:170px;font-size:14px;font-weight:700;transition:max-width .35s,opacity .18s,transform .28s;transform:translate(0)}.icon-button{color:#e9d5ff;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:11px;width:32px;height:32px;padding:0;transition:background .2s,transform .52s cubic-bezier(.22,1,.36,1),margin .35s}.icon-button svg{width:18px;height:18px}.icon-button:hover{background:#ffffff24;transform:translate(1px)}.nav-heading{max-height:18px;transition:max-height .28s,opacity .18s,margin .35s;overflow:hidden}.nav-label{opacity:1;max-width:180px;transition:max-width .35s,opacity .18s,transform .28s;display:block;overflow:hidden;transform:translate(0)}.sidebar-collapsed .brand{justify-content:center;gap:0;padding:8px}.sidebar-collapsed .brand-logo{opacity:0;flex-basis:0;width:0;transform:scale(.7)}.sidebar-collapsed .brand-name{flex:0 0 0}.sidebar-collapsed .brand-name,.sidebar-collapsed .nav-label{opacity:0;max-width:0;display:block;transform:translate(-8px)}.sidebar-collapsed .nav-heading{opacity:0;max-height:0;margin:0 9px;display:block}.sidebar-collapsed .icon-button{margin-left:0;transform:rotate(180deg)}.sidebar-collapsed .icon-button:hover{transform:rotate(180deg)translate(1px)}.sidebar-collapsed .nav-link{gap:0;min-height:48px;padding:10px}.base-reports-page .page-header{margin-bottom:18px}.base-reports-info{background:#f8fafc;margin-bottom:24px;padding:20px}.base-reports-info h2{margin:0 0 8px;font-size:16px}.base-reports-info p{color:var(--muted);margin:0;font-size:14px;line-height:1.6}@media (min-width:1300px){.campaign-page{max-width:1640px;padding-left:clamp(30px,4vw,72px);padding-right:clamp(30px,4vw,72px)}}.goal-card{min-height:320px;padding:24px}.goal-progress i{position:relative;overflow:hidden}.goal-progress i:after{content:"";will-change:transform;background:linear-gradient(90deg,#0000,#ffffff9c,#0000);width:28%;animation:2.4s linear infinite goal-progress-shine;position:absolute;top:0;bottom:0;transform:translate(-110%)skew(-18deg)}@keyframes goal-progress-shine{0%{transform:translate(-110%)skew(-18deg)}to{transform:translate(470%)skew(-18deg)}}.restricted-goal-card{min-height:320px}.restricted-goal-result{text-align:center;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0;display:grid}.restricted-goal-result>div{background:var(--ring-empty);border-radius:12px;padding:12px 10px}.restricted-goal-result small,.restricted-goal-result span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:700;display:block}.restricted-goal-result strong{color:var(--ring-color);letter-spacing:-.05em;margin:5px 0 2px;font-size:28px;display:block}.restricted-goal-result span{color:#7b8797;letter-spacing:0;text-transform:none;font-size:10px;font-weight:500}.portal{background:#f8f9fc;min-height:100vh;display:block}.portal .sidebar{display:none}.portal-topbar{z-index:50;isolation:isolate;background:linear-gradient(104deg,#180126 0%,#35075b 42%,#531080 72%,#260440 100%);border-bottom:1px solid #d8b4fe38;align-items:center;gap:22px;min-height:76px;padding:10px clamp(18px,3.4vw,58px);display:flex;position:sticky;top:0;overflow:hidden;box-shadow:0 8px 24px #18012642}.portal-topbar:before{z-index:-1;content:"";border:1px solid #e9d5ff2e;border-radius:50%;width:520px;height:520px;animation:15s ease-in-out infinite alternate topbar-orbit;position:absolute;top:-390px;right:11%;box-shadow:0 0 0 58px #a855f70e,0 0 0 125px #c084fc09}.portal-topbar:after{z-index:-1;content:"";background:linear-gradient(105deg,#0000,#ffffff1f,#0000);width:28%;animation:9s ease-in-out infinite topbar-sheen;position:absolute;top:0;bottom:0;left:-20%;transform:skew(-22deg)translate(-170%)}.portal-topbar>*{z-index:1;position:relative}.topbar-brand{color:#fff;flex:0 390px;align-items:center;gap:11px;min-width:255px;text-decoration:none;display:flex}.topbar-brand .brand-logo{object-fit:contain;filter:drop-shadow(0 3px 7px #0000003d);flex:0 0 40px;width:40px;height:40px;transition:filter .25s,transform .25s}.topbar-brand:hover .brand-logo{filter:drop-shadow(0 5px 11px #00000052);transform:translateY(-2px)rotate(-3deg)}.topbar-campaign{gap:2px;min-width:0;display:grid}.topbar-campaign em{color:#d8b4fe;letter-spacing:.14em;font-size:9px;font-style:normal;font-weight:800;line-height:1.1}.topbar-campaign strong{color:#fff;letter-spacing:-.035em;text-overflow:ellipsis;text-shadow:0 1px 8px #00000029;white-space:nowrap;font-size:18px;font-weight:850;line-height:1.15;overflow:hidden}.topbar-campaign small{color:#eadcf4;letter-spacing:.005em;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500;overflow:hidden}.topbar-menu{flex:1;justify-content:center;align-items:center;gap:12px;min-width:0;display:flex}.topbar-nav{align-items:center;gap:5px;display:flex}.topbar-menu .nav-link{color:#eadff3;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:7px;min-height:40px;padding:8px 12px;font-size:12px;font-weight:750;text-decoration:none;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;display:inline-flex;position:relative;overflow:hidden}.topbar-menu .nav-link:before{content:"";background:linear-gradient(90deg,#0000,#ffffff3b,#0000);width:38%;transition:left .45s;position:absolute;top:0;bottom:0;left:-50%;transform:skew(-24deg)}.topbar-menu .nav-link .nav-icon,.topbar-menu .nav-link>span:last-child{z-index:1;position:relative}.topbar-menu .nav-link .nav-icon{place-items:center;width:17px;height:17px;display:grid}.topbar-menu .nav-link .nav-icon svg{width:17px;height:17px}.topbar-menu .nav-link:hover{color:#fff;background:#ffffff1f;border-color:#ffffff2d;transform:translateY(-2px);box-shadow:0 7px 16px #0a00122e}.topbar-menu .nav-link:hover:before{left:125%}.topbar-menu .nav-link.active{color:#fff;background:linear-gradient(135deg,#b562e5b3,#7123acc7);border-color:#f0daff85;box-shadow:inset 0 1px #ffffff38,0 7px 17px #09001345}.topbar-divider{background:#ffffff35;width:1px;height:24px}.topbar-user{flex:none;align-items:center;gap:10px;display:flex}.topbar-user .user-chip{color:#fff;white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:14px;align-items:center;gap:8px;padding:4px 8px 4px 4px;display:flex}.topbar-user .avatar{color:#4d087d;background:linear-gradient(135deg,#fff,#e9d5ff);width:31px;height:31px;box-shadow:0 2px 7px #00000026}.topbar-user strong,.topbar-user small{text-overflow:ellipsis;max-width:120px;display:block;overflow:hidden}.topbar-user strong{font-size:12px}.topbar-user small{color:#dfcaef;margin-top:1px;font-size:10px}.topbar-logout{color:#fff;cursor:pointer;background:#ffffff17;border:1px solid #ffffff35;border-radius:10px;min-height:36px;padding:7px 12px;font-size:12px;font-weight:750;transition:background .2s,transform .2s}.topbar-logout:hover{background:#fff3;transform:translateY(-1px)}.topbar-user .user-chip{cursor:default;position:relative}.topbar-user .user-chip:after{z-index:10;color:#f8f4ff;content:attr(data-user-tooltip);opacity:0;pointer-events:none;white-space:nowrap;background:#1d092f;border:1px solid #ffffff26;border-radius:8px;max-width:280px;padding:7px 9px;font-size:11px;font-weight:700;transition:opacity .16s,transform .16s;position:absolute;top:50%;right:calc(100% + 10px);transform:translate(5px,-50%);box-shadow:0 8px 18px #00000047}.topbar-user .user-chip:hover:after{opacity:1;transform:translateY(-50%)}.campaign-page .goal-grid{margin-top:0}@media (max-width:1180px){.portal-topbar{flex-wrap:wrap;gap:10px 18px;padding-top:11px;padding-bottom:11px}.topbar-brand{flex:1}.topbar-menu{flex-basis:100%;order:3;justify-content:flex-start}.topbar-user{margin-left:auto}}@media (max-width:620px){.portal-topbar{gap:9px;min-height:60px;padding:8px 14px}.topbar-brand{gap:8px;min-width:0}.topbar-brand .brand-logo{flex-basis:33px;width:33px;height:33px}.topbar-campaign strong{font-size:14px}.topbar-campaign em,.topbar-campaign small,.topbar-user .user-chip>span:last-child{display:none}.topbar-menu{border-top:1px solid #ffffff1f;order:3;width:calc(100% + 28px);margin:0 -14px -8px;padding:7px 14px 8px;overflow-x:auto}.topbar-nav{flex:none}.topbar-menu .nav-link{min-height:34px;padding:7px 9px;font-size:11px}.topbar-divider{flex:0 0 1px}.topbar-logout{min-height:32px;padding:6px 9px}}@keyframes topbar-orbit{0%{transform:translate(-24px,8px)scale(.98)}to{transform:translate(34px,-14px)scale(1.05)}}@keyframes topbar-sheen{0%,58%{transform:skew(-22deg)translate(-170%)}77%,to{transform:skew(-22deg)translate(620%)}}@media (prefers-reduced-motion:reduce){.portal-topbar:before,.portal-topbar:after{animation:none}.topbar-brand .brand-logo,.topbar-menu .nav-link,.topbar-logout{transition:none}}.theme-toggle{color:#fff;cursor:pointer;background:#ffffff17;border:1px solid #ffffff59;border-radius:10px;align-items:center;gap:6px;min-height:36px;padding:7px 10px;font-size:12px;font-weight:750;transition:background .2s,transform .2s;display:inline-flex}.theme-toggle svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.theme-toggle:hover{background:#fff3;transform:translateY(-1px)}body.dark-mode{--ink:#e7edf8;--muted:#a9b6c9;--line:#2a3850;--paper:#151f30;--background:#0b1220;--purple:#c084fc;--purple-dark:#e6d4ff;--teal:#47c9af;--danger:#fb7185;background:#0b1220}.dark-mode .portal{background:radial-gradient(circle at 88% 0,#35225255,#0000 29%),#0b1220}.dark-mode .portal-content{background:0 0}.dark-mode .page-header h1,.dark-mode .page-header h2,.dark-mode .campaign-page h1,.dark-mode .campaign-page h2{color:var(--ink)}.dark-mode .panel,.dark-mode .metric-card,.dark-mode .report-card,.dark-mode .goal-card,.dark-mode .campaign-tabs,.dark-mode .detail-modal,.dark-mode .user-modal,.dark-mode .report-modal,.dark-mode .store-links-modal,.dark-mode .campaign-loader{background:#151f30;border-color:#2b3a52;box-shadow:0 12px 28px #00000038}.dark-mode .metric-card.purple,.dark-mode .metric-card.teal,.dark-mode .insight,.dark-mode .base-reports-info{background:#182439;border-color:#30415d}.dark-mode .report-card:hover,.dark-mode .report-card.selected{background:#1a2940;border-color:#9264c6;box-shadow:0 12px 28px #0000004d}.dark-mode .campaign-tabs,.dark-mode .tab-list{background:#151f30}.dark-mode .tab-list{border-bottom-color:var(--line)}.dark-mode .tab-list button{color:#aebbd0}.dark-mode .tab-list button:hover{color:#e8d7ff;background:#222b43}.dark-mode .tab-list button.active{color:#d8b4fe}.dark-mode .goal-card{--ring-empty:#1b3c38;border-color:#24534c}.dark-mode .goal-card.mix{--ring-empty:#1d304d;border-color:#30466b}.dark-mode .goal-values strong{color:#e8eef8}.dark-mode .donut>div{background:#151f30}.dark-mode .goal-header span,.dark-mode .restricted-goal-result>div{background:var(--ring-empty)}.dark-mode td{border-bottom-color:#26354c}.dark-mode th{border-bottom-color:var(--line)}.dark-mode .table-pagination select,.dark-mode .dashboard-search input,.dark-mode .search-input,.dark-mode .import-panel select,.dark-mode .import-panel input,.dark-mode .users-toolbar input,.dark-mode .users-toolbar select,.dark-mode .user-modal select,.dark-mode .user-modal input,.dark-mode .report-toolbar .search-input,.dark-mode .notes-source{color:var(--ink);background:#101927;border-color:#33445f}.dark-mode .dashboard-search input::placeholder,.dark-mode input::placeholder{color:#7f8ca1}.dark-mode .button:not(.primary),.dark-mode .table-detail-button{color:#dce6f5;background:#1b2940;border-color:#3a4a64}.dark-mode .button.secondary:hover,.dark-mode .table-detail-button:hover{color:#f0e7ff;background:#283653;border-color:#7650aa}.dark-mode .group-suppliers-toggle{color:#d6dfed}.dark-mode .comparison div,.dark-mode .auto-preview-list,.dark-mode .import-status span{background:#101927}.dark-mode .detail-group-item{color:var(--ink);background:#172238;border-color:#34445e}.dark-mode .detail-group-item:hover{background:#202e46}.dark-mode .percent.success,.dark-mode .badge.success{color:#56dfb8;background:#123d35}.dark-mode .percent.warning{color:#9bc5ff;background:#1c3555}.dark-mode .percent.danger,.dark-mode .badge.danger{color:#ff9cac;background:#4a2130}.dark-mode .badge{color:#dbbaff;background:#35204e}.dark-mode .notice{color:#f5d66a;background:#352d13;border-color:#6d581d}.dark-mode .notice.success{color:#73e6c4;background:#123e34;border-color:#236b58}.dark-mode .report-info{color:#f1d371;background:#3b3110;border-color:#765d21}.dark-mode .report-info.supplier{color:#b8d7ff;background:#172e51;border-color:#315b9b}.dark-mode .report-danger-note{color:#ffb1be;background:#421d2a;border-color:#7e3044}.dark-mode .clear-imports{color:#ffbac5!important;background:#3b1d28!important;border-color:#804151!important}.dark-mode .report-cell-oracle{background:#123044}.dark-mode .report-cell-sheet{background:#3c3512}.dark-mode .report-cell-total{color:#79e4b8;background:#133d31}.dark-mode .report-modal th.report-cell-oracle{color:#b9e6ff;background:#15415d}.dark-mode .report-modal th.report-cell-sheet{color:#ffed99;background:#564a14}.dark-mode .report-modal th.report-cell-total{color:#b4f6d7;background:#1a523f}.dark-mode .login-page{background:radial-gradient(circle at 5% 90%,#3d2260 0,#0000 28%),radial-gradient(circle at 85% 5%,#123f3a 0,#0000 26%),#0b1220}.dark-mode .login-card,.dark-mode .login-form-panel{background:#151f30}.dark-mode .login-form-panel h1{color:#eadbff}.dark-mode .login-form-panel input{color:var(--ink);background:#101927;border-color:#33445f}@media (max-width:620px){.theme-toggle span{display:none}.theme-toggle{justify-content:center;min-width:32px;padding:7px}.topbar-user .user-chip:after{display:none}}.first-access-page{background:radial-gradient(circle at 8% 12%,#ead5fb 0,#0000 28%),radial-gradient(circle at 90% 90%,#d6f3eb 0,#0000 27%),#f7f8fc;place-items:center;min-height:100vh;padding:24px;display:grid}.first-access-card{border:1px solid var(--line);background:var(--paper);border-radius:20px;width:min(460px,100%);padding:34px;box-shadow:0 22px 60px #26054924}.first-access-card>img{object-fit:contain;width:56px;height:56px;margin:0 0 24px;display:block}.first-access-card h1{color:#4d087d;letter-spacing:-.035em;margin-bottom:10px;font-size:25px}.first-access-card>p{color:var(--muted);font-size:14px;line-height:1.6}.first-access-card form{gap:15px;margin-top:24px;display:grid}.first-access-card label{color:var(--ink);gap:7px;font-size:13px;font-weight:750;display:grid}.first-access-card input{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--paper);border-radius:10px;outline:none;padding:11px 12px}.first-access-card input:focus{border-color:var(--purple);box-shadow:0 0 0 3px #7e22ce1a}.first-access-card form>div:last-child{grid-template-columns:1fr 1fr;gap:10px;margin-top:4px;display:grid}.dark-mode .first-access-page{background:radial-gradient(circle at 8% 12%,#3d2260 0,#0000 28%),radial-gradient(circle at 90% 90%,#123f3a 0,#0000 27%),#0b1220}.dark-mode .first-access-card{background:#151f30;border-color:#2b3a52}.dark-mode .first-access-card h1{color:#e4c7ff}.dark-mode .first-access-card input{background:#101927;border-color:#33445f}.dark-mode .first-access-card .button.secondary{color:#dce6f5;background:#1b2940}@media (max-width:480px){.first-access-card{padding:26px 21px}.first-access-card form>div:last-child{grid-template-columns:1fr}}
