:root{--ink:#020b10;--navy:#04141c;--navy2:#08242e;--panel:#0a2029;--panel2:#0d2934;--line:#1d3b46;--text:#f7fafb;--muted:#91a5ad;--red:#d90f24;--yellow:#f2ba18;--blue:#1f43d2;--green:#33d18f;--danger:#ff6474;--sidebar:250px;color-scheme:dark;font-family:Manrope,system-ui,sans-serif}
/* Sales comparison: semantic icons and compact product ranking. */
.sales-monthly-panel,.sales-summary-panel{margin-bottom:16px}
.ranking-cutoff{padding:13px 16px;margin:12px 0;border:1px solid rgba(84,216,241,.35);border-left:3px solid #54d8f1;background:rgba(84,216,241,.07);border-radius:6px;color:#d4f5fc;font-size:.76rem;line-height:1.65}
.ranking-ranges{font-size:.73rem;color:#b7cbd3;margin-bottom:12px}
.ranking-ranges summary{cursor:pointer;color:#54d8f1;padding:7px 0}
.ranking-ranges summary:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
.ranking-ranges p{white-space:pre-line;line-height:1.8}
.sales-kpi{position:relative;border-top-width:3px!important;padding-top:18px!important}
.sales-kpi-icon{width:38px;height:38px;display:grid;place-items:center;margin-bottom:12px;border:1px solid currentColor;border-radius:10px;background:rgba(255,255,255,.03)}
.sales-kpi-icon svg{width:23px;height:23px}
.sales-kpi-0{border-top-color:#54d8f1!important}.sales-kpi-0 .sales-kpi-icon{color:#54d8f1}
.sales-kpi-1{border-top-color:#f2ba18!important}.sales-kpi-1 .sales-kpi-icon{color:#f2ba18}
.sales-kpi-2{border-top-color:#45db92!important}.sales-kpi-2 .sales-kpi-icon{color:#45db92}
.sales-kpi-3{border-top-color:#a99bff!important}.sales-kpi-3 .sales-kpi-icon{color:#a99bff}
.ranking-panel{margin-bottom:16px;border-top:3px solid #54d8f1!important}
.ranking-heading .muted{font-size:.76rem;line-height:1.6}
.ranking-metric{min-width:205px;font-size:.72rem;color:#c0d2d8;display:grid;gap:7px}
.ranking-table-wrap{max-height:550px;margin-top:16px;border:1px solid var(--line);border-radius:8px}
.ranking-table-wrap:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
.ranking-table{min-width:800px}
.ranking-table thead th{position:sticky;top:0;background:#0d2934;z-index:1;font-size:.65rem}
.ranking-table thead th:nth-child(2){text-align:left}
.ranking-table tbody th{white-space:normal;min-width:200px;max-width:330px;text-align:left;font:700 .76rem/1.5 Manrope,sans-serif;color:#e5f0f3;text-transform:none;letter-spacing:0}
.ranking-table tbody tr:hover{background:rgba(84,216,241,.05)}
.ranking-table .rank-current{color:#54d8f1;font-weight:800;font-size:.83rem}
.rank-position{display:inline-grid;place-items:center;min-width:26px;min-height:26px;border:1px solid var(--line);border-radius:6px;color:#a9bec6}
.ranking-table tbody tr:first-child .rank-position{color:var(--yellow);border-color:var(--yellow)}
@media(max-width:760px){.ranking-heading{flex-direction:column}.ranking-metric{width:100%}}
/* Employee preview and readable payroll detail; no database changes. */
.expense-items .expense-item{align-items:center;padding:16px 20px}
.expense-items .expense-item>div{min-width:0}
.expense-items .expense-item strong{font:800 .95rem/1.5 Manrope,sans-serif;color:#f7fafb;overflow-wrap:anywhere}
.expense-items .expense-item small{font-size:.72rem;line-height:1.6;color:#a9bdc5}
.expense-items .expense-item>span{font-size:1.1rem;color:#f7fafb}
.employee-nav{flex-wrap:wrap;column-gap:9px;row-gap:4px}
.employee-nav small{margin-left:26px;font-size:.58rem;font-weight:600;color:#c7bcff}
.live-dot.demo-status:before{background:#a99bff;box-shadow:0 0 0 4px rgba(169,155,255,.13)}
.employee-demo-notice{padding:18px 22px;margin-bottom:16px;background:rgba(169,155,255,.09);border:1px solid #584b88;border-left:4px solid #a99bff;border-radius:10px}
.employee-demo-notice strong{font:800 .75rem Manrope,sans-serif;letter-spacing:.08em;color:#d2caff}
.employee-demo-notice p{color:#c2ccd4;font-size:.8rem;line-height:1.65;margin:7px 0 0}
.employee-directory{border-top:3px solid #a99bff}
.employee-directory .muted{font-size:.78rem;line-height:1.6}
.employee-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.employee-card{min-width:0;padding:22px;background:#03151d;border:1px solid var(--line);border-radius:12px}
.employee-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.employee-avatar{display:grid;place-items:center;width:42px;height:42px;background:rgba(169,155,255,.12);border:1px solid #584b88;border-radius:10px;font:700 1.2rem Rajdhani;color:#d2caff}
.employee-example{color:#c7bcff;font-size:.63rem;border:1px solid #584b88;border-radius:20px;padding:5px 9px}
.employee-card h3{font:800 1.02rem/1.5 Manrope,sans-serif;margin:18px 0 5px;color:#fff}
.employee-role{color:#54d8f1;font-size:.85rem;font-weight:700;margin:0 0 20px}
.employee-card dl{margin:0;border-top:1px solid var(--line);padding-top:14px}
.employee-card dt{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:#95aeb8;margin-top:12px}
.employee-card dd{margin:4px 0 0;font-size:.78rem;line-height:1.65;color:#dae6eb}
.nav-item:focus-visible,.expense-group summary:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
@media(max-width:760px){.app-shell .sidebar{flex-wrap:wrap;gap:8px}.app-shell .sidebar nav{order:3;width:100%;justify-content:space-between}.app-shell .nav-item{width:auto;flex:1;justify-content:center}.employee-nav small{margin:0;width:100%;text-align:center}.employee-grid{grid-template-columns:1fr}.employee-directory .panel-heading{flex-direction:column}.expense-items .expense-item{flex-wrap:wrap;gap:8px}.expense-items .expense-item>div{flex:1 1 220px}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--ink);color:var(--text)}button,input,select{font:inherit}.hidden{display:none!important}.muted{color:var(--muted)}h1,h2,strong{font-family:Rajdhani,Manrope,sans-serif}.eyebrow{margin:0 0 7px;color:var(--yellow);font-size:.69rem;font-weight:800;letter-spacing:.18em}.primary-button,.secondary-button,.ghost-button{cursor:pointer;border-radius:9px;font-weight:800}.primary-button{border:0;padding:13px 18px;background:var(--red);color:white;box-shadow:0 10px 28px rgba(217,15,36,.22)}.secondary-button{padding:10px 14px;border:1px solid var(--line);background:var(--panel2);color:var(--text)}.ghost-button{border:1px solid var(--line);background:transparent;color:var(--yellow);padding:0 14px}.primary-button:disabled,.secondary-button:disabled{opacity:.5;cursor:wait}
.login-view{min-height:100vh;display:grid;grid-template-columns:minmax(390px,.75fr) 1.25fr;background:var(--navy)}.login-card{width:min(100%,520px);align-self:center;justify-self:center;padding:52px}.login-logo{width:min(100%,330px);height:auto;margin-bottom:48px}.login-card h1{margin:0;font-size:clamp(2.65rem,5vw,4.8rem);line-height:.9;letter-spacing:-.035em;text-transform:uppercase}.login-card h1 span{color:var(--red)}.login-card>.muted{margin:20px 0 27px}.login-form{display:grid;gap:8px}.login-form label,.filter-grid label{font-size:.77rem;font-weight:800;color:#dbe5e8}.login-form label{margin-top:9px}input,select{width:100%;min-height:45px;border:1px solid var(--line);border-radius:9px;background:#031117;color:var(--text);padding:12px 13px;outline:0}input:focus,select:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(242,186,24,.12)}.password-wrap{display:flex;gap:8px}.login-form .primary-button{margin-top:15px}.form-error{min-height:1.2em;margin:4px 0 0;color:var(--danger);font-size:.82rem}.login-photo{position:relative;min-height:100vh;background:linear-gradient(90deg,var(--navy),transparent 45%),linear-gradient(0deg,rgba(2,11,16,.72),rgba(2,11,16,.08)),url('assets/karts-grupo.jpg') center 43%/cover}.login-photo:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 14px,rgba(255,255,255,.018) 14px 15px)}.login-photo span{position:absolute;right:7%;bottom:6%;z-index:1;font:700 clamp(4rem,11vw,10rem)/.75 Rajdhani;color:rgba(255,255,255,.12);letter-spacing:-.04em}
.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);z-index:10;display:flex;flex-direction:column;padding:28px 20px;background:linear-gradient(180deg,#03141c,#020b10);border-right:1px solid var(--line)}.sidebar-logo{width:185px;height:auto;margin:3px auto 44px}.nav-caption{margin:0 12px 10px;color:#56717b;font-size:.64rem;font-weight:800;letter-spacing:.18em}.sidebar nav{display:grid;gap:7px}.nav-item{display:flex;gap:11px;align-items:center;width:100%;padding:12px 13px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);text-align:left;font-weight:800;cursor:pointer}.nav-item span{color:var(--yellow);font-size:1rem}.nav-item:hover,.nav-item.active{border-color:rgba(217,15,36,.3);background:rgba(217,15,36,.13);color:#fff}.branch-card{display:grid;gap:5px;margin-top:28px;padding:15px;background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:11px}.branch-card span,.branch-card small{color:var(--muted);font-size:.66rem;line-height:1.45}.branch-card strong{font-size:1.2rem}.sidebar-bottom{margin-top:auto;display:grid;gap:10px}.user-email{overflow-wrap:anywhere;color:var(--muted);font-size:.68rem}.dashboard-main{margin-left:var(--sidebar);max-width:1680px;padding:34px clamp(20px,4vw,54px) 28px}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:25px}.topbar h1{margin:0;font-size:clamp(2rem,4vw,3.4rem);line-height:.94;text-transform:uppercase;letter-spacing:-.03em}.topbar .muted{margin:10px 0 0}.topbar-actions{display:flex;gap:12px;align-items:center}.live-dot{font-size:.71rem;color:var(--muted)}.live-dot:before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(51,209,143,.1)}
.filter-panel,.panel,.kpi-card,.goal-hero{border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,rgba(13,41,52,.9),rgba(6,25,33,.96))}.filter-panel{padding:21px;margin-bottom:15px}.filter-heading,.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.filter-heading{margin-bottom:16px}.filter-heading h2,.panel h2{margin:0;font-size:1.18rem}.filter-summary{align-self:center;color:#dbe6e9;font-size:.74rem;font-weight:700}.filter-grid{display:grid;gap:11px}.filter-grid label{display:grid;gap:7px}.sales-filters{grid-template-columns:.7fr .7fr 1.15fr 2fr}.goal-filters{grid-template-columns:1.25fr 1fr 1.4fr;max-width:760px}.compact-panel{background:linear-gradient(110deg,rgba(217,15,36,.13),var(--panel) 48%)}.filter-help,.data-note{margin:13px 0 0;color:var(--muted);font-size:.7rem;line-height:1.5}.months-fieldset{margin:17px 0 0;padding:0;border:0}.months-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.months-heading legend{font-size:.74rem;font-weight:800}.months-heading>div{display:flex;gap:12px}.text-button{padding:0;border:0;background:transparent;color:var(--yellow);font-size:.69rem;font-weight:800;cursor:pointer}.months-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px}.month-option{position:relative;cursor:pointer}.month-option input{position:absolute;opacity:0;pointer-events:none}.month-option span{display:grid;place-items:center;min-height:39px;border:1px solid var(--line);border-radius:8px;background:#031218;color:var(--muted);font-size:.66rem;font-weight:800;text-transform:uppercase}.month-option input:checked+span{border-color:var(--yellow);background:var(--yellow);color:#151000}.month-option:hover span{border-color:#4d6872;color:#fff}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.kpi-card{min-height:152px;padding:20px;display:flex;flex-direction:column;justify-content:space-between}.kpi-card.featured{border-color:rgba(217,15,36,.55);background:linear-gradient(145deg,rgba(217,15,36,.17),var(--panel) 66%)}.kpi-card>span{color:var(--muted);font-size:.76rem;font-weight:700}.kpi-card>strong{margin:10px 0;font-size:clamp(1.65rem,2.7vw,2.45rem);letter-spacing:-.035em}.kpi-card.featured>strong{color:#fff}.kpi-card small{color:#68808a;font-size:.66rem}.variation{align-self:flex-start;padding:4px 8px;border-radius:999px;font-size:.66rem}.variation.positive{background:rgba(51,209,143,.12);color:var(--green)}.variation.negative{background:rgba(255,100,116,.12);color:var(--danger)}.variation.neutral{background:rgba(255,255,255,.06);color:var(--muted)}.chart-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;margin-bottom:14px}.panel{min-width:0;padding:21px}.panel-heading{margin-bottom:16px}.chart-wrap{position:relative;height:285px}.chart-wrap.tall{height:350px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.73rem}th,td{padding:12px 8px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}th{color:var(--muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.05em}th:first-child,td:first-child{text-align:left}td strong,td small{display:block}td small{margin-top:3px;color:var(--muted);font-size:.62rem}.product-analysis{margin-top:14px}.product-heading{align-items:center}.product-heading .muted{margin:6px 0 0;font-size:.72rem}.metric-toggle{display:flex;padding:4px;border:1px solid var(--line);border-radius:9px;background:#031218}.metric-button{padding:7px 9px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:.68rem;font-weight:800;cursor:pointer}.metric-button.active{background:var(--red);color:#fff}.empty-state{min-height:220px;display:grid;place-items:center;color:var(--muted);text-align:center;font-size:.78rem}.empty-state.small{min-height:90px}
.goal-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:14px;padding:25px 28px;background:linear-gradient(105deg,rgba(217,15,36,.2),rgba(242,186,24,.08),var(--panel) 62%)}.goal-hero>div{width:min(760px,78%)}.goal-hero h2{margin:0 0 13px;font-size:1.55rem}.goal-hero>strong{font-size:clamp(3rem,7vw,6rem);color:var(--yellow);letter-spacing:-.06em}.progress-track{height:11px;border-radius:999px;background:#031218;overflow:hidden}.progress-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--red),var(--yellow));border-radius:inherit;transition:width .5s ease}.goal-hero .muted{margin:9px 0 0;font-size:.7rem}.goals-grid{grid-template-columns:1.4fr 1fr}.three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.mini-kpi{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.mini-kpi:last-child{border:0}.mini-kpi span{color:var(--muted);font-size:.7rem}.mini-kpi strong{font-size:1.25rem}.expense-detail-panel{margin-top:14px}.expense-detail-panel .panel-heading>strong{color:var(--yellow);font-size:1.65rem}.expense-detail-panel .muted{margin:6px 0 0;font-size:.7rem}.expense-table-wrap{max-height:520px}.expense-category-row td{padding-top:16px;background:rgba(242,186,24,.055);color:var(--yellow);font-weight:800}.expense-category-row td:last-child{font-family:Rajdhani,Manrope,sans-serif;font-size:1rem}.expense-detail-row td:first-child{padding-left:22px}.expense-detail-row .expense-source{display:block;margin-top:3px;color:#5f7780;font-size:.59rem}.expense-type{display:inline-block;padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--muted);font-size:.6rem;text-transform:capitalize}.comments-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.comments-list li{padding:10px 12px;border-left:3px solid var(--yellow);background:rgba(255,255,255,.035);border-radius:0 8px 8px 0;font-size:.72rem;line-height:1.5}.comments-list small{display:block;color:var(--muted);margin-top:4px}.status-panel{min-height:450px;display:grid;place-content:center;justify-items:center;gap:13px;color:var(--muted)}.error-panel{text-align:center}.error-panel h2{margin:0;color:#fff}.spinner{width:36px;height:36px;border:3px solid var(--line);border-top-color:var(--red);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}footer{display:flex;justify-content:space-between;gap:20px;margin-top:20px;padding-top:17px;border-top:1px solid var(--line);color:#5d747d;font-size:.67rem}.toast{position:fixed;right:20px;top:20px;z-index:30;padding:11px 15px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);transform:translateY(-90px);transition:.25s}.toast.show{transform:translateY(0)}
.goals-kpis .goal-kpi{position:relative;overflow:hidden;border-top-width:3px}.goals-kpis .goal-kpi:after{content:"";position:absolute;right:-35px;bottom:-55px;width:125px;height:125px;border-radius:50%;opacity:.08;background:currentColor}.goals-kpis .target-kpi{color:#45db92;border-color:rgba(69,219,146,.5);background:linear-gradient(145deg,rgba(69,219,146,.13),var(--panel) 68%)}.goals-kpis .sales-kpi{color:#54d8f1;border-color:rgba(84,216,241,.5);background:linear-gradient(145deg,rgba(84,216,241,.13),var(--panel) 68%)}.goals-kpis .gap-kpi{color:#ff6377;border-color:rgba(255,99,119,.5);background:linear-gradient(145deg,rgba(255,99,119,.14),var(--panel) 68%)}.goals-kpis .pace-kpi{color:#f2ba18;border-color:rgba(242,186,24,.5);background:linear-gradient(145deg,rgba(242,186,24,.12),var(--panel) 68%)}.goals-kpis .goal-kpi>strong{color:#fff}.kpi-title{display:flex;align-items:center;gap:9px;color:#dce9ec;font-size:.76rem;font-weight:800}.kpi-icon{display:grid;place-items:center;width:28px;height:28px;border:1px solid currentColor;border-radius:8px;color:inherit;font:bold 1rem Rajdhani}
.profitability-panel{margin-bottom:14px;border-top:3px solid var(--red);padding:26px}.theoretical-badge{align-self:flex-start;padding:6px 9px;border:1px solid rgba(242,186,24,.45);border-radius:5px;background:rgba(242,186,24,.1);color:var(--yellow);font-size:.58rem;font-weight:900;letter-spacing:.08em}.profitability-panel .panel-heading .muted{max-width:690px;margin:7px 0 0;font-size:.72rem}.profitability-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.profit-stat{display:grid;gap:5px;padding:16px;border:1px solid var(--line);border-left-width:4px;background:#03151d}.profit-stat.current{border-left-color:#54d8f1}.profit-stat.minimum{border-left-color:#f2ba18}.profit-stat.target{border-left-color:#45db92}.profit-stat span{color:#82a0aa;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.profit-stat strong{font-size:1.7rem}.profit-stat small{color:#64808a;font-size:.62rem}.profit-stat.target small{color:#45db92;font-weight:800}.profit-track-wrap{margin:40px 6px 0}.profit-track{position:relative;height:16px;border:1px solid #31505b;border-radius:3px;background:#162f39}.profit-track>span{display:block;height:100%;width:0;background:linear-gradient(90deg,#d90f24,#ff3150 70%,#54d8f1);transition:width .55s ease}.current-marker{position:absolute;top:50%;left:0;width:18px;height:18px;border:4px solid white;border-radius:50%;background:#54d8f1;box-shadow:0 0 0 4px rgba(84,216,241,.18);transform:translate(-50%,-50%);transition:left .55s ease}.threshold-marker{position:absolute;top:-14px;width:3px;height:44px}.minimum-marker{left:84.8%;background:#f2ba18}.target-marker{right:0;background:#45db92}.profit-labels{position:relative;display:flex;justify-content:flex-end;gap:28px;margin-top:13px;color:#45db92;font-size:.6rem;font-weight:900}.profit-labels span:first-child{color:#f2ba18}.profit-narrative{margin:25px 0 0;padding:14px 16px;border-left:3px solid #54d8f1;background:#03151d;color:#d5e4e8;font-size:.73rem;line-height:1.55}
.chart-panel-sales{border-top:3px solid #54d8f1}.chart-panel-weekly{border-top:3px solid #45db92}.chart-explanation{margin:6px 0 0;font-size:.65rem;line-height:1.45}.visual-legend{display:flex;flex-wrap:wrap;gap:8px}.visual-legend span{padding:5px 8px;border-radius:999px;font-size:.58rem;font-weight:800}.visual-legend span:before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:currentColor}.legend-sales{background:rgba(84,216,241,.1);color:#54d8f1}.legend-goal{background:rgba(69,219,146,.1);color:#45db92}
.overview-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:14px;margin-top:14px}.overview-card{position:relative;overflow:hidden}.expense-overview{border-top:3px solid #f2ba18}.notes-overview{border-top:3px solid #8b79ff}.heading-with-icon{display:flex;align-items:center;gap:12px}.section-icon{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:10px;font:bold 1.2rem Rajdhani}.expense-icon{background:rgba(242,186,24,.12);color:#f2ba18;border:1px solid rgba(242,186,24,.28)}.notes-icon{background:rgba(139,121,255,.12);color:#a99bff;border:1px solid rgba(139,121,255,.28)}
.expense-detail-panel{border-top:3px solid #f2ba18;padding:25px}.expense-total-banner{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:16px;margin-bottom:14px;padding:14px 16px;border-left:3px solid var(--yellow);background:#03151d}.expense-total-banner span{color:#81a0a9;font-size:.63rem;text-transform:uppercase}.expense-total-banner strong{font-size:1.55rem}.expense-total-banner small{justify-self:end;color:#64808a;font-size:.62rem}.expense-coverage-list{display:grid;gap:8px}.expense-group{border:1px solid var(--line);border-radius:9px;background:rgba(3,17,23,.58);overflow:hidden}.expense-group summary{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(180px,1.35fr) minmax(125px,.45fr);gap:20px;align-items:center;padding:14px 16px;cursor:pointer;list-style:none}.expense-group summary::-webkit-details-marker{display:none}.expense-group summary:hover{background:rgba(255,255,255,.025)}.expense-summary-copy{display:grid;gap:3px}.expense-summary-copy strong{font-size:.9rem}.expense-summary-copy small,.expense-summary-value small{color:#63808a;font-size:.59rem}.expense-progress{height:10px;border-radius:2px;background:#163640;overflow:hidden}.expense-progress span{display:block;height:100%;width:0;background:#244c58}.expense-group.done .expense-progress span{background:#45db92}.expense-group.progress .expense-progress span{background:#ff3150}.expense-summary-value{display:grid;gap:2px;text-align:right}.expense-summary-value strong{font-size:1rem}.expense-group.done .expense-summary-value small{color:#45db92}.expense-group.progress .expense-summary-value small{color:#ff6377}.expense-items{border-top:1px solid var(--line);background:#021016}.expense-item{display:flex;justify-content:space-between;gap:20px;padding:11px 17px 11px 28px;border-bottom:1px solid rgba(29,59,70,.65)}.expense-item:last-child{border-bottom:0}.expense-item>div{display:grid;gap:3px}.expense-item strong{font:700 .72rem Manrope}.expense-item small{color:#607b84;font-size:.58rem}.expense-item>span{font:700 .85rem Rajdhani;white-space:nowrap}.coverage-legend{display:flex;gap:18px;margin-top:16px;color:#6e8a94;font-size:.6rem}.coverage-legend span{display:flex;align-items:center;gap:6px}.coverage-legend i{width:9px;height:9px;border-radius:50%}.coverage-legend .done{background:#45db92}.coverage-legend .progress{background:#ff3150}.coverage-legend .pending{background:#244c58}
@media(max-width:1100px){.sales-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.months-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-grid,.three-grid,.overview-grid{grid-template-columns:1fr}.profitability-cards{grid-template-columns:1fr}.expense-group summary{grid-template-columns:minmax(150px,.8fr) 1fr minmax(115px,.4fr)}}
@media(max-width:760px){:root{--sidebar:0px}.login-view{grid-template-columns:1fr}.login-photo{display:none}.login-card{padding:34px 23px}.sidebar{position:sticky;width:100%;height:auto;flex-direction:row;align-items:center;padding:10px 14px;border-right:0;border-bottom:1px solid var(--line)}.sidebar-logo{width:100px;margin:0 16px 0 0}.nav-caption,.branch-card,.user-email{display:none}.sidebar nav{display:flex}.nav-item{padding:8px 9px;font-size:.75rem}.sidebar-bottom{margin:0 0 0 auto}.sidebar-bottom .secondary-button{padding:8px;font-size:.65rem}.dashboard-main{margin-left:0;padding:22px 14px}.topbar{flex-direction:column}.topbar-actions{width:100%;justify-content:space-between}.sales-filters,.goal-filters{grid-template-columns:1fr}.months-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-grid{grid-template-columns:1fr}.filter-heading,.product-heading,.profitability-panel .panel-heading,.expense-detail-panel .panel-heading{flex-direction:column}.filter-summary{align-self:flex-start}.goal-hero{align-items:flex-start;padding:21px}.goal-hero>div{width:70%}.goal-hero>strong{font-size:3rem}.metric-toggle{align-self:flex-start}.expense-group summary{grid-template-columns:1fr}.expense-summary-value{text-align:left}.expense-total-banner{grid-template-columns:1fr}.expense-total-banner small{justify-self:start}.visual-legend{margin-top:8px}footer{flex-direction:column}}

/* Weekly and daily goal detail; scoped to preserve existing dashboard styles. */
.weekly-detail-panel{margin-top:24px}.weekly-detail-heading{align-items:flex-end;gap:20px;flex-wrap:wrap}.weekly-select-label{display:grid;gap:8px;min-width:270px;font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:#91a5ad}.weekly-select-label select{width:100%;font-size:13px;letter-spacing:0;text-transform:none}.weekly-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0 16px}.weekly-stats article{padding:18px;border:1px solid #23414c;border-radius:12px;background:#0b242e;min-width:0}.weekly-stats article>span{display:block;color:#a7bbc3;font-size:12px}.weekly-stats strong{display:block;margin:10px 0 8px;font-size:clamp(19px,2vw,29px);line-height:1.25;overflow-wrap:anywhere;color:#eef7fa}.weekly-stats article:nth-child(2) strong{color:#54d8f1}.weekly-stats article:nth-child(3) strong{color:#ffd18c}.weekly-stats small{color:#91a5ad;font-size:11px;line-height:1.5}.weekly-progress{height:8px}.weekly-progress span{background:#45db92}.weekly-day-counts{font-size:13px;color:#bfd0d7;margin:14px 0 20px}.weekly-daily-table{min-width:920px;width:100%}.weekly-daily-table th,.weekly-daily-table td{white-space:nowrap}.weekly-daily-table td:nth-child(n+3),.weekly-daily-table thead th:nth-child(n+3){text-align:right}.weekly-daily-table td:last-child{min-width:135px}.weekly-daily-table .variation{display:inline-block;font-size:11px;white-space:nowrap}.weekly-daily-table tfoot{background:#12343e;font-weight:700;border-top:2px solid #45db92}.weekly-daily-table tfoot th{text-align:left}.weekly-daily-table tfoot td{padding-top:18px;padding-bottom:18px}.weekly-daily-table tr.goal-day-positive td:first-child{border-left:3px solid #45db92}.weekly-daily-table tr.goal-day-negative td:first-child{border-left:3px solid #ff627b}.weekly-daily-table tr.goal-day-neutral td:first-child{border-left:3px solid #486471}.weekly-positive{color:#45db92}.weekly-negative{color:#ff627b}.weekly-table-caption{text-align:left;color:#91a5ad;font-size:11px;padding:0 0 12px}.weekly-detail-panel .data-note{line-height:1.7;margin-top:18px}
@media(max-width:1000px){.weekly-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.weekly-detail-heading{display:block}.weekly-select-label{margin-top:18px;min-width:0;width:100%}.weekly-stats{gap:8px}.weekly-stats article{padding:13px}.weekly-stats strong{font-size:20px}.weekly-day-counts{line-height:1.7}}

/* Explicit budget scenario in Sales; no changes to Goals or the historical ranking. */
.estimated-cost-panel{margin-bottom:16px;border-top:3px solid #f2ba18!important}.estimated-cost-panel .panel-heading{gap:18px;flex-wrap:wrap}.estimated-cost-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.estimated-cost-kpis article{background:#0b242e;border:1px solid #23414c;border-radius:10px;padding:18px;min-width:0}.estimated-cost-kpis article>span{font-size:12px;color:#a7bbc3}.estimated-cost-kpis strong{display:block;margin:9px 0 6px;font-size:clamp(22px,2.2vw,32px);overflow-wrap:anywhere;line-height:1.2}.estimated-cost-kpis small{font-size:12px;color:#9ab2bb}.estimated-table-wrap{border:1px solid #23414c;border-radius:8px;overflow:auto;margin-top:18px}.estimated-cost-table{min-width:1110px;width:100%}.estimated-cost-table caption{text-align:left;color:#a7bbc3;padding:14px;font-size:12px}.estimated-cost-table th,.estimated-cost-table td{white-space:nowrap}.estimated-cost-table td{text-align:right}.estimated-cost-table th:first-child{text-align:left}.estimated-cost-table thead th:not(:first-child){text-align:right}.estimated-cost-table td small,.estimated-cost-table th small{display:block;font:400 11px Manrope,sans-serif;color:#9ab2bb;margin-top:6px;white-space:normal;max-width:210px;line-height:1.4}.estimated-cost-table td small{margin-left:auto}.estimated-cost-table tfoot{background:#17313c;border-top:2px solid #f2ba18;font-weight:700}.estimated-cost-table tbody .estimated-bonus-row{background:rgba(242,186,24,.055)}.estimated-bonus-row th:first-child{border-left:3px solid #f2ba18}.estimate-number.positive{color:#45db92}.estimate-number.negative{color:#ff627b}.estimate-number.neutral{color:#9ab2bb}.estimated-method{margin-top:20px;border-top:1px solid #23414c;padding-top:16px}.estimated-method summary{cursor:pointer;color:#f2ba18;font-size:13px;font-weight:700}.estimated-method p{font-size:12px;line-height:1.8;color:#b8cbd2}.estimated-method a{color:#54d8f1;text-decoration:underline}.estimated-cost-panel .data-note{line-height:1.7}
@media(max-width:760px){.estimated-cost-kpis{grid-template-columns:1fr}.estimated-cost-panel .theoretical-badge{white-space:normal}.estimated-cost-kpis article{padding:16px}}

/* Publicidad: same typography and surfaces as the existing dashboard. */
.ads-filter-grid{grid-template-columns:1fr 1fr}.ads-notice{padding:18px;border:1px solid #2f5360;border-radius:9px;background:#0c2732;color:#c4dbe2;line-height:1.7}.ads-error{border-color:#c65568;color:#ffc2cc}.ads-source{font-weight:700;font-size:13px;color:#54d8f1;line-height:1.7;overflow-wrap:anywhere}.ads-kpis{margin-top:20px}.ads-kpis article:nth-child(2){border-top:3px solid #f2ba18}.ads-kpis article:nth-child(3){border-top:3px solid #a99bff}.ads-kpis strong{font-size:clamp(20px,2vw,32px);overflow-wrap:anywhere}.ads-kpis small{line-height:1.6}.ads-relationship{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;margin-bottom:18px}.ads-relationship p{font-size:12px;line-height:1.8}.ads-ratios{display:grid;grid-template-columns:1fr 1fr;gap:15px}.ads-ratios article{border-left:2px solid #54d8f1;padding-left:16px}.ads-ratios span,.ads-ratios small{display:block;font-size:11px;color:#97b0b9;line-height:1.5}.ads-ratios strong{display:block;font-size:26px;margin:8px 0}.ads-objectives{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ads-objective{border:1px solid #2b4550;background:#0a222c;padding:18px;border-radius:10px;min-width:0}.ads-objective h3{font-size:15px;margin:10px 0;color:#eaf3f7}.ads-objective>strong{font-size:29px;color:#54d8f1}.ads-objective p{font-size:12px;line-height:1.65}.ads-objective small{font-size:10px;color:#97b0b9;line-height:1.5}.ads-table-wrap{overflow:auto}.ads-table{min-width:1300px;width:100%}.ads-table th:first-child{width:340px;min-width:290px;text-align:left}.ads-table td,.ads-table thead th:not(:first-child){text-align:right;white-space:nowrap}.ads-table tbody th>small{display:block;font-size:10px;color:#8ca5b0;line-height:1.7;margin-top:7px;font-weight:400}.ads-campaign-detail summary{cursor:pointer;white-space:normal;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.ads-campaign-detail dl{font-size:11px;font-weight:400;line-height:1.5;white-space:normal}.ads-campaign-detail dt{color:#8ca5b0;margin-top:9px}.ads-campaign-detail dd{margin:2px 0;color:#d9e9ef}.ads-recommendations{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ads-recommendation{display:flex;align-items:flex-start;gap:14px;background:#0b2530;border:1px solid #254651;border-radius:10px;padding:20px}.ads-recommendation>span{font:700 22px Rajdhani;color:#f2ba18}.ads-recommendation h3{font-size:14px;margin:0 0 8px}.ads-recommendation p{font-size:12px;line-height:1.75;margin:0;color:#b8ccd3;overflow-wrap:anywhere}.ads-import-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.ads-import-fields label{display:grid;gap:9px;font-size:12px;color:#a8c0c9}.ads-import-fields input{width:100%;min-width:0;background:#041a23;border:1px solid #2a4b57;padding:11px;border-radius:8px}.ads-import-preview{padding:20px;margin-top:18px;border:1px solid #45db92;border-radius:9px;background:#0b2b29;font-size:13px;line-height:1.7}.ads-help{margin-top:18px;border-top:1px solid #2a4b57;padding-top:16px;font-size:12px;line-height:1.8;color:#a8c0c9}.ads-help summary{color:#f2ba18;cursor:pointer;font-weight:700}#publicidadModule>.panel,#adsContent>.panel{margin-bottom:18px}#publicidadModule .data-note{line-height:1.75}#publicidadModule a{color:#54d8f1;text-decoration:underline}#publicidadModule .panel-heading{gap:14px;flex-wrap:wrap}.ads-import-panel{border-top:3px solid #45db92}
@media(max-width:1050px){.ads-objectives{grid-template-columns:1fr 1fr}.ads-relationship{grid-template-columns:1fr}.ads-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.ads-filter-grid,.ads-objectives,.ads-recommendations,.ads-import-fields{grid-template-columns:1fr}.ads-ratios{grid-template-columns:1fr;gap:18px}.ads-kpis{grid-template-columns:1fr}.ads-kpis strong{font-size:29px}}

/* Dashboard exports: print the active report as a clean, readable PDF. */
.export-button{white-space:nowrap}
@page{size:A4 landscape;margin:9mm}
@media print{
  :root{color-scheme:light}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.printing-dashboard{background:#fff!important;color:#101820!important}
  body.printing-dashboard .sidebar,
  body.printing-dashboard .topbar-actions,
  body.printing-dashboard .toast,
  body.printing-dashboard footer,
  body.printing-dashboard .ads-import-panel{display:none!important}
  body.printing-dashboard .dashboard-main{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  body.printing-dashboard .topbar{margin-bottom:12px!important;padding-bottom:10px;border-bottom:2px solid #d90f24}
  body.printing-dashboard .topbar h1{color:#101820!important;font-size:28px!important}
  body.printing-dashboard .topbar .muted{color:#43545b!important}
  body.printing-dashboard .module-view{background:#fff!important}
  body.printing-dashboard .panel,
  body.printing-dashboard .filter-panel,
  body.printing-dashboard .goal-hero,
  body.printing-dashboard .kpi-card,
  body.printing-dashboard .profit-stat,
  body.printing-dashboard .weekly-stats article,
  body.printing-dashboard .ads-objective,
  body.printing-dashboard .ads-recommendation,
  body.printing-dashboard .ads-cost-cards article{background:#fff!important;color:#101820!important;border-color:#aebbc0!important;box-shadow:none!important}
  body.printing-dashboard h2,
  body.printing-dashboard h3,
  body.printing-dashboard strong,
  body.printing-dashboard .kpi-title{color:#101820!important}
  body.printing-dashboard .muted,
  body.printing-dashboard small,
  body.printing-dashboard .data-note,
  body.printing-dashboard .chart-explanation{color:#43545b!important}
  body.printing-dashboard .panel,
  body.printing-dashboard .goal-hero,
  body.printing-dashboard .kpi-card,
  body.printing-dashboard .profitability-panel{break-inside:avoid;page-break-inside:avoid}
  body.printing-dashboard .table-wrap,
  body.printing-dashboard .ads-table-wrap,
  body.printing-dashboard .estimated-table-wrap{max-height:none!important;overflow:visible!important;border-color:#aebbc0!important}
  body.printing-dashboard table{width:100%!important;min-width:0!important;font-size:8px!important;color:#101820!important}
  body.printing-dashboard th,
  body.printing-dashboard td{padding:6px!important;white-space:normal!important;border-color:#c8d0d3!important}
  body.printing-dashboard thead th,
  body.printing-dashboard tfoot{background:#eaf0f2!important;color:#101820!important}
  body.printing-dashboard .chart-wrap{height:230px!important}
  body.printing-dashboard input,
  body.printing-dashboard select{background:#fff!important;color:#101820!important;border-color:#9eabb0!important}
  body.printing-dashboard details:not([open])>*:not(summary){display:none!important}
}

/* Fee commitments remain distinct from Meta delivery metrics. */
.ads-costs-panel{border-top:3px solid #45db92}.ads-fee-label{display:grid;gap:8px;font-size:12px;color:#b8ccd3;min-width:250px}.ads-cost-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.ads-cost-cards article{padding:19px;background:#09222c;border:1px solid #294951;border-radius:10px;min-width:0}.ads-cost-cards span,.ads-cost-cards small{display:block;font-size:12px;color:#a8c0c9;line-height:1.6}.ads-cost-cards strong{display:block;font-size:clamp(23px,2vw,32px);margin:10px 0;overflow-wrap:anywhere}.ads-cost-cards .ads-cost-total{border-color:#45db92;background:#0a2a29}.ads-cost-total strong{color:#45db92}.ads-cost-bar{display:flex;height:13px;border-radius:7px;overflow:hidden;margin-top:20px}.ads-cost-bar span{transition:width .25s ease}.ads-cost-bar span:first-child{background:#54d8f1}.ads-cost-bar span:last-child{background:#f2ba18}.ads-fee-table{overflow:auto}.ads-fee-table table{min-width:700px;width:100%}.ads-fee-table td:nth-child(n+3){text-align:right}.ads-fee-table th:first-child{text-align:left}.ads-costs-panel .ads-help p{line-height:1.8}@media(max-width:760px){.ads-cost-cards{grid-template-columns:1fr}.ads-fee-label{min-width:0;width:100%}}@media(prefers-reduced-motion:reduce){.ads-cost-bar span{transition:none}}
