@font-face{font-family:Inter;src:url('assets/InterVariable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--navy:#173e59;--navy-dark:#102942;--ink:#101c31;--muted:#738095;--paper:#f7f7f5;--gold:#ae8d56;--border:#ebedf0;--good:#24895b;--bad:#d94f5b;--surface:#fff;--radius:15px}
*{box-sizing:border-box}body{margin:0;background:#eeede9;color:var(--ink);font:13px/1.5 Inter,Arial,sans-serif;font-variant-numeric:tabular-nums;font-optical-sizing:auto;-webkit-font-smoothing:antialiased}a{color:inherit}button,select,input{font:inherit}button,select{cursor:pointer}button{border:0}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #356689;outline-offset:3px}.skip{position:fixed;top:-100px;z-index:10;background:white;padding:16px}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:none}
.shell{display:grid;grid-template-columns:208px minmax(0,1fr);max-width:1600px;min-height:calc(100vh - 40px);margin:20px auto;border-radius:22px;overflow:clip;background:var(--paper);box-shadow:0 10px 50px #28334706}.sidebar{background:linear-gradient(110deg,#fff,#fcfcfb);border-right:1px solid #eeeef0;padding:31px 14px 16px;display:flex;flex-direction:column;min-height:calc(100vh - 40px);position:sticky;top:20px;align-self:start}.brand{display:block;margin:3px 16px 42px;text-decoration:none}.brand-mark{display:block;width:148px;height:50px;background:var(--navy);mask:url('assets/logo-nomade.png') center/contain no-repeat;-webkit-mask:url('assets/logo-nomade.png') center/contain no-repeat}nav{display:grid;gap:5px}nav a{position:relative;display:flex;gap:15px;align-items:center;text-decoration:none;padding:13px 15px;border-radius:11px;font-weight:450;min-height:46px}nav a:hover{background:#f4f5f5}nav a[aria-current=page]{background:#f6f2e9;color:var(--navy-dark);font-weight:650}nav a[aria-current=page]:before{content:'';position:absolute;left:1px;top:12px;bottom:12px;width:2px;border-radius:2px;background:var(--gold)}.support-card{margin:60px 2px 0;padding:15px;border:1px solid #efefee;border-radius:15px;background:#fff;box-shadow:0 4px 15px #12304c03}.sidebar .support-card{margin-top:auto}.support-symbol{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#f8efde;margin-bottom:10px;color:#152536}.support-symbol svg{width:19px;height:19px;fill:currentColor;stroke:none}.support-card h2{font-size:13px;font-weight:650;margin:0}.support-card p{font-size:11px;color:#657084;margin:7px 0 12px;line-height:1.6}.support-card button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:9px 10px;border:1px solid #eff0f1;background:#f8f9fa;border-radius:9px;font-size:11px;color:var(--ink)}.support-card button span{font-size:20px;line-height:1}
.workspace{min-width:0}.topbar{display:flex;justify-content:flex-end;align-items:center;gap:12px;min-height:74px;padding:14px 24px;border-bottom:1px solid #f0f0ef;background:#fafaf9}input::placeholder{color:#7c8798}.date-trigger{display:flex;align-items:center;justify-content:center;gap:9px;background:white;border:1px solid #e1e5e9;border-radius:11px;padding:10px 13px;color:var(--ink);min-height:40px;font-size:11px;white-space:nowrap}.date-trigger svg{width:16px;height:16px}.chevron{margin-left:12px;font-size:17px;line-height:1}.notification-trigger{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border:1px solid #e1e5e9;border-radius:10px;background:white}.notification-trigger svg{width:19px;height:19px}.profile{display:flex;align-items:center;gap:10px;padding-left:14px;border-left:1px solid #e1e5e9;min-width:148px}.avatar{display:flex;align-items:center;justify-content:center;width:35px;height:35px;flex:none;background:var(--navy);color:white;border-radius:50%;font-size:12px}.profile strong{font-size:12px;font-weight:500;display:block}.profile small{display:block;color:var(--muted);font-size:10px}.profile>span:last-child{margin-left:16px}
main{padding:20px 24px 10px;min-width:0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:7px}.heading h1{font-size:34px;line-height:1.2;letter-spacing:-1.1px;font-weight:720;margin:0}.greeting-hand{display:inline-block;font-size:30px;margin-left:7px;vertical-align:1px}.heading p{font-size:12px;color:#69768a;margin:5px 0 0}.toolbar{flex:none}.period-tabs{display:flex;gap:2px;padding:3px;background:white;border:1px solid #edf0f2;border-radius:12px;box-shadow:0 3px 9px #173e5904}.period-tabs button{padding:8px 15px;border-radius:9px;min-height:33px;background:transparent;color:var(--ink);font-size:11px;white-space:nowrap}.period-tabs button[aria-pressed=true]{background:linear-gradient(145deg,#143b57,#1c405a);color:white;box-shadow:0 2px 4px #14304c10}.context{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#67758a;font-size:10px;margin:0 0 12px}.context p{margin:0}.context>div{display:flex;align-items:center;gap:10px}.demo-label{font-size:9px;color:#6d786f}.branch-control select{font-size:10px;color:#667185;background:transparent;border:0;padding:5px 16px 5px 6px;max-width:160px}
.kpis{display:grid;grid-template-columns:1.15fr 1fr 1.12fr 1fr .85fr;gap:12px;margin-bottom:15px}.kpi{border:1px solid #f1f2f2;background:white;border-radius:14px;padding:16px 18px 14px;min-width:0;box-shadow:0 3px 14px #233a4903}.kpi.primary{background:linear-gradient(135deg,#153c57,#1d3b52);color:white;border-color:#1a405b;box-shadow:inset 0 0 0 1px #46677b16}.kpi-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px}.kpi-head p{font-size:11px;margin:0;font-weight:500;color:var(--navy)}.kpi.primary p{color:white}.kpi-icon{display:flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:7px;background:#f5f6f8;color:#47617a}.kpi-icon svg{width:16px;height:16px}.kpi:nth-child(3) .kpi-icon{color:#947a4b;background:#faf7f0}.kpi.primary .kpi-icon{background:#365b72;color:#b5c5d0}.kpi strong{display:block;white-space:nowrap;font-size:clamp(21px,1.98vw,29px);line-height:1.2;letter-spacing:-.8px;font-weight:720}.kpi small{display:block;min-height:16px;font-size:10px;color:#758194;margin-top:9px}.trend.up{color:#228255}.trend.down{color:#ce4552}.kpi.primary small{color:#c2d0db}.kpi.primary .trend.up{color:#98d4b3}.kpi.primary .trend.down{color:#ff9298}.trend{font-weight:450;font-size:10px}.negative{color:#d84955}.positive{color:#278058}.muted{color:#758197}
.dashboard-grid{display:grid;grid-template-columns:1.03fr 1.1fr .97fr;gap:14px;margin-bottom:14px;align-items:stretch}.panel{background:white;border:1px solid #f0f1f2;border-radius:var(--radius);padding:18px;min-width:0;box-shadow:0 3px 18px #1d3e5503}.panel-header{display:flex;justify-content:space-between;align-items:start;gap:8px;margin-bottom:14px}.panel-title{display:flex;align-items:start;gap:10px;min-width:0}.panel-title>svg{width:19px;height:19px;margin-top:1px;color:#122238}.panel h2{font-size:13px;line-height:1.3;letter-spacing:-.3px;font-weight:620;margin:0}.panel-header p{font-size:10px;color:#6c798e;margin:5px 0 0;line-height:1.4}.panel-chip{white-space:nowrap;font-size:9px;border:1px solid #e8edf1;background:#fff;border-radius:7px;padding:5px 8px;color:#3d4a60;line-height:1.3}.payments-panel,.branches-panel,.passport-panel{min-height:224px}.payments{margin-top:15px}.payment{display:grid;grid-template-columns:70px minmax(20px,1fr) auto;align-items:center;gap:9px;padding:14px 0;border-bottom:1px solid #edf0f3;font-size:11px}.payment:last-child{border:0}.payment strong{font-size:10px;font-weight:550;white-space:nowrap}.payment strong span{font-weight:400}.bar{background:#f1f3f6;height:9px;overflow:hidden;border-radius:10px}.fill{height:100%;width:var(--width);border-radius:10px;background:var(--navy)}.fill-1{background:var(--gold)}.fill-2{background:#a7b8c5}.branch-columns{display:flex;gap:12px;margin:0 -1px}.branch-detail{flex:1;min-width:0}.branch-detail+article{border-left:1px solid #e8edf1;padding-left:12px}.branch-detail h3{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:550;margin:0 0 9px;white-space:nowrap}.branch-detail h3 strong{margin-left:auto;font-size:10px;font-weight:600}.branch-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none;background:var(--navy)}.branch-dot.diagonal{background:var(--gold)}.branch-detail dl{margin:0}.branch-detail dl>div{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:8px 0;border-top:1px solid #eef1f4;font-size:9px}.branch-detail dt{color:#6b778c;white-space:nowrap}.branch-detail dd{margin:0;text-align:right;font-weight:500;white-space:nowrap}.cash{background:#edf4eb;border-radius:14px;padding:3px 7px;color:#36586a}.cash.diagonal{background:#f6f1e7;color:#927744}.footnote{font-size:8px;color:#69788b;margin:8px 0 0}.loyalty-stats{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:9px;margin:24px 0 17px}.loyalty-stats>div+div{border-left:1px solid #f0f2f4;padding-left:10px}.loyalty-stats span{display:block;color:#6d798d;font-size:9px;line-height:1.3;min-height:23px}.loyalty-stats strong{display:block;font-size:19px;letter-spacing:-.4px;font-weight:680;margin:4px 0 4px}.loyalty-stats small{display:block;font-size:8px;color:#27885a;white-space:nowrap}.insight-link{display:flex;align-items:center;gap:9px;padding:13px 11px;background:#fcf8f0;border-radius:10px;font-size:9px;line-height:1.5;text-decoration:none}.insight-link svg{width:22px;height:22px;color:#927744}.insight-link b{font-size:21px;margin-left:auto;font-weight:400}
.chart-panel,.heatmap-panel,.goals-panel{min-height:286px}.chart{display:block;width:100%;height:204px;fill:none;stroke:none}.chart .grid{stroke:#e5eaf0;stroke-width:1}.chart text{fill:#748096;font:10px Inter,sans-serif;stroke:none}.chart .line{fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.chart .line.c6{stroke:var(--navy)}.chart .line.d74{stroke:var(--gold)}.chart .area.c6{fill:#173e5910;stroke:none}.chart .area.d74{fill:#ae8d5620;stroke:none}.chart circle{stroke:none}.legend{display:flex;justify-content:center;gap:20px;font-size:10px;margin:3px 0 0;color:#243c56}.legend span:before{content:'';display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--navy);margin-right:7px;vertical-align:-1px}.legend span.diagonal:before{background:var(--gold)}.heatmap-columns{display:flex;gap:12px}.heatmap-columns>div{flex:1;min-width:0}.heatmap-columns>div+div{border-left:1px solid #e8edf1;padding-left:12px}.heatmap-columns h3{display:flex;align-items:center;gap:7px;font-size:11px;margin:0 0 12px;font-weight:550}.heatmap{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center;font-size:8px}.weekday{padding:2px 0 6px;color:#7a889b}.heat-day{display:flex;justify-content:center;align-items:center;height:23px;border-radius:4px;background:#f6f3ed;color:#6b7180}.heat-empty{background:transparent}.heat-1{background:#cad8e1;color:#25465d}.heat-2{background:#8fa9bb;color:#fff}.heat-3{background:#53768e;color:#fff}.heat-4{background:#254f6b;color:#fff}.heatmap-panel .footnote{margin-top:12px}.goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.goal-grid>div{background:#f8f4eb;border-radius:9px;padding:12px 11px;min-width:0}.goal-grid span{display:block;font-size:9px;margin-bottom:6px}.goal-grid strong{display:block;font-size:18px;font-weight:680;letter-spacing:-.5px;white-space:nowrap}.goal-grid small{display:block;font-size:8px;color:#738095;margin-top:4px}.goal-grid .goal-navy{background:linear-gradient(135deg,#153c57,#1d3b52);color:white}.goal-grid .goal-gold{background:#ae8d56;color:white}.goal-grid .goal-navy strong,.goal-grid .goal-gold strong{font-size:18px}.goal-note{display:flex;gap:9px;padding:10px 11px;border-radius:9px;background:#fcf8f0;margin-top:10px}.goal-note svg{width:18px;height:18px;color:#927744}.goal-note strong{font-size:9px;font-weight:550;display:block}.goal-note p{font-size:8px;color:#6f7786;margin:3px 0 0;line-height:1.5}
.costs-panel{padding:14px 18px}.costs-panel .panel-header{margin-bottom:2px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px}th{text-align:left;color:#758398;font-size:9px;font-weight:500;padding:4px 12px 7px 0;white-space:nowrap}td{border-top:1px solid #ecf0f4;padding:7px 12px 7px 0;white-space:nowrap}td:last-child,th:last-child{padding-right:0}.numeric{text-align:right}td strong{font-weight:550}.pill{display:inline-block;min-width:65px;text-align:center;padding:2px 9px;border-radius:6px;background:#f0f3f7;font-size:9px;text-transform:uppercase}.pill.variable{background:#f7f1e5}.definition{font-size:11px;color:var(--muted);margin-top:12px}.health{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}.health h3{margin:0;font-size:12px;font-weight:500}.health strong{font-size:26px;display:block;margin:10px 0}.health p{font-size:11px;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:14px;margin-bottom:14px}.detail-grid .chart{height:260px}.search-label{font-size:11px;color:var(--muted);display:block;margin-bottom:6px}.search{padding:11px 13px;border:1px solid #dfe5eb;border-radius:10px;width:100%;max-width:400px;font-size:12px}.list-total{font-size:10px;color:var(--muted);margin:12px 0 16px}.empty{padding:26px;text-align:center;white-space:normal;color:var(--muted)}footer{display:flex;justify-content:space-between;gap:12px;color:#758095;font-size:9px;margin-top:14px;padding:8px 0}
 dialog{border:1px solid #e2e7ed;border-radius:17px;width:min(370px,calc(100vw - 32px));padding:24px;color:var(--ink);box-shadow:0 15px 70px #16304b20}dialog::backdrop{background:#1b2d4326;backdrop-filter:blur(3px)}.date-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}dialog h2{font-size:16px;font-weight:600;margin:0}.date-close{background:#f3f5f7;border-radius:7px;width:32px;height:32px;font-size:22px}.date-help,dialog p{font-size:11px;color:#67768b;margin:16px 0;line-height:1.6}dialog label{display:block;font-size:12px;margin:12px 0 6px}dialog input{width:100%;padding:10px;border:1px solid #dce3eb;border-radius:8px;min-height:44px}.date-actions{display:flex;justify-content:space-between;margin-top:24px;gap:12px}.date-actions button{padding:11px 18px;background:#f3f5f7;border-radius:10px;font-size:12px}.date-actions #apply-dates{background:var(--navy);color:white}.date-error{color:var(--bad);font-size:11px;margin:12px 0}
@media(min-width:1640px){.shell{margin:20px auto}.panel{padding:20px}.chart{height:215px}.branch-detail dl>div{font-size:10px}.goal-grid strong{font-size:20px}}
@media(max-width:1640px){.shell{margin:20px}}
@media(max-width:1250px){.shell{grid-template-columns:174px minmax(0,1fr);margin:14px}.sidebar{padding:28px 10px 16px;top:14px;min-height:calc(100vh - 28px)}.brand{margin:2px 10px 35px}.brand-mark{width:130px;height:44px}nav a{gap:11px;font-size:12px;padding:12px}.topbar{padding:12px 18px}.profile{min-width:110px}.profile>span:last-child{display:none}main{padding:20px 18px 10px}.kpi{padding:14px 12px}.kpi-head{gap:5px}.kpi-head p{font-size:10px}.kpi strong{font-size:22px}.kpi-icon{width:22px;height:22px}.trend{font-size:9px}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payments-panel{order:0}.branches-panel{order:1}.passport-panel{order:2}.chart-panel{order:3}.heatmap-panel{order:4}.goals-panel{order:5}.heading h1{font-size:30px}.period-tabs button{padding:8px 10px}}
@media(max-width:1000px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi.primary{grid-column:span 2}.profile{min-width:0;padding-left:10px}.profile>div{display:none}.page-heading{align-items:start;flex-direction:column;gap:16px;margin-bottom:12px}.topbar{gap:8px}.date-trigger{padding:9px;font-size:10px}.date-trigger .chevron{margin-left:0}.heatmap{font-size:9px}.heat-day{height:25px}.payment{font-size:10px;grid-template-columns:65px minmax(20px,1fr) auto}.panel{padding:16px}.panel-chip{font-size:8px}}
@media(max-width:780px){.shell{display:block;margin:10px;border-radius:17px}.sidebar{position:static;min-height:0;padding:15px 14px 10px;border-right:0;border-bottom:1px solid #edf0f3}.brand{margin:0 2px 15px}.brand-mark{width:122px;height:41px}.support-card{display:none}nav{display:flex;overflow:auto;gap:4px;padding-bottom:4px}nav a{padding:10px 12px;white-space:nowrap;font-size:11px;min-height:42px;gap:8px}nav svg{width:16px;height:16px}nav a[aria-current=page]:before{display:none}.topbar{flex-wrap:wrap;padding:12px 14px;gap:8px}.notification-trigger{width:38px;height:38px;order:1}.date-trigger{order:2;min-height:40px;font-size:11px}.profile{margin-left:auto;order:3}.profile>div{display:block}.avatar{width:30px;height:30px}.profile strong{font-size:11px}main{padding:18px 13px 8px}.heading h1{font-size:30px}.heading p{font-size:11px}.greeting-hand{font-size:27px}.page-heading{gap:14px}.toolbar{width:100%}.period-tabs{width:100%}.period-tabs button{flex:1;min-height:40px;font-size:11px}.context{align-items:start;font-size:9px;margin-bottom:12px}.context>div{flex-direction:column;align-items:end;gap:0}.context p{max-width:180px}.demo-label{font-size:8px}.branch-control select{font-size:9px;padding:4px 8px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.kpi.primary{grid-column:1/-1}.kpi{padding:16px 14px}.kpi-head p{font-size:11px}.kpi-icon{width:27px;height:27px}.kpi strong{font-size:23px}.kpi.primary strong{font-size:31px}.kpi small,.trend{font-size:9px;white-space:normal}.dashboard-grid,.detail-grid{grid-template-columns:1fr;gap:12px}.panel{padding:18px 15px}.panel h2{font-size:13px}.panel-chip{font-size:9px}.payments-panel,.branches-panel,.passport-panel{min-height:0}.passport-panel .loyalty-stats{margin-top:20px}.branch-detail dl>div{font-size:10px}.branch-detail h3{font-size:12px}.branch-detail h3 strong{font-size:10px}.branch-columns{gap:11px}.payment{font-size:11px;grid-template-columns:70px minmax(25px,1fr) auto}.payment strong{font-size:10px}.chart{height:218px}.heatmap{font-size:10px;gap:4px}.heat-day{height:27px}.heatmap-columns h3{font-size:12px}.goal-grid strong{font-size:21px}.goal-grid .goal-navy strong,.goal-grid .goal-gold strong{font-size:20px}.goal-grid span{font-size:10px}.goal-grid small{font-size:9px}.goal-note strong{font-size:10px}.goal-note p{font-size:9px}.loyalty-stats strong{font-size:21px}.loyalty-stats span{font-size:9px}.chart-panel,.heatmap-panel,.goals-panel{min-height:0}.health{grid-template-columns:1fr}.health .panel{display:grid;grid-template-columns:1fr 1fr}.health strong{margin:0;text-align:right}.health p{grid-column:1/-1}.table-wrap{padding-bottom:3px}footer{flex-direction:column;font-size:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.dashboard-bottom{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:14px;align-items:stretch}.dashboard-bottom>.panel{min-width:0}.business-health-panel{padding:16px 18px}.business-health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.business-health-card{background:#f7f8fa;border:1px solid #edf0f3;border-radius:10px;padding:12px;min-width:0}.business-health-card:nth-child(3){background:#faf6ee;border-color:#f3ede1}.business-health-title{display:flex;align-items:center;justify-content:space-between;gap:6px}.business-health-title h3{font-size:11px;font-weight:550;margin:0;line-height:1.4}.business-health-title svg{width:16px;height:16px;color:var(--navy)}.business-health-card strong{display:block;font-size:23px;letter-spacing:-.6px;font-weight:650;line-height:1.3;margin:8px 0 5px;overflow-wrap:anywhere}.business-health-card:last-child strong{color:var(--bad)}.business-health-card p{font-size:10px;line-height:1.4;color:#65748a;margin:0 0 4px}.business-health-card small{font-size:9px;color:#65748a;display:block;line-height:1.4}
@media(max-width:1250px){.dashboard-bottom{grid-template-columns:1fr}.business-health-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:780px){.business-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.business-health-panel{padding:18px 15px}.business-health-card{padding:12px 10px}.business-health-card strong{font-size:21px}.business-health-title h3{font-size:11px}}
.personnel-controls{display:flex;gap:16px;flex-wrap:wrap;margin:20px 0 10px}.personnel-controls label{display:grid;gap:6px;font-size:11px;color:var(--muted);flex:1;min-width:180px}.personnel-controls input,.personnel-controls select{width:100%;padding:10px 12px;border:1px solid #dce4ec;border-radius:8px;background:#fff;color:var(--ink);min-height:44px}.personnel-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.personnel-kpis p{margin:0 0 10px;font-size:12px}.personnel-kpis strong{font-size:28px}.personnel-kpis small{display:block;font-size:11px}.definitions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.definition-card h3{font-size:12px;font-weight:500;color:var(--gold);margin:9px 0}.definition-card p{font-size:12px;color:#65748a;line-height:1.8;margin:0}.definition-card[hidden]{display:none}
@media(max-width:780px){.personnel-kpis,.definitions-grid{grid-template-columns:1fr}.personnel-kpis strong{font-size:28px}}
.toolbar[hidden]{display:none}.date-trigger:disabled,.branch-control select:disabled{cursor:default;opacity:.5}

/* Calibración final contra el concepto de 1448 px. */
nav a{font-size:14px}.page-heading{margin-bottom:20px}.heading h1{font-size:36px}.heading p{font-size:13px}.date-trigger{font-size:12px}.context{margin:10px 0 0;padding:0 2px}.demo-label{font-size:10px}.topbar .branch-control select{font-size:11px;border:1px solid #e1e5e9;border-radius:10px;background:white;min-height:40px;padding:8px;max-width:142px;color:var(--ink)}.kpi-head p{font-size:12px}.kpi strong{font-size:28px}.kpi.primary strong{font-size:30px}.kpi small,.trend{font-size:11px}.panel h2{font-size:14px}.panel-header p{font-size:11px}.panel-chip{font-size:10px}.payment{font-size:12px}.payment strong{font-size:11px}.branch-detail h3{font-size:12px}.branch-detail h3 strong{font-size:11px}.branch-detail dl>div{font-size:10px}.loyalty-stats span{font-size:10px}.loyalty-stats small{font-size:9px}.insight-link{font-size:10px}.chart text{font-size:11px}.heatmap-columns h3{font-size:12px}.goal-grid span{font-size:10px}.goal-grid strong,.goal-grid .goal-navy strong,.goal-grid .goal-gold strong{font-size:19px}.goal-note strong{font-size:10px}.goal-note p{font-size:9px}table{font-size:12px}th{font-size:9px}.payments-panel,.branches-panel,.passport-panel{min-height:232px}
@media(max-width:1250px){nav a{font-size:12px}.kpi strong,.kpi.primary strong{font-size:23px}.kpi-head p{font-size:11px}.kpi small,.trend{font-size:10px}.topbar .branch-control select{max-width:130px;font-size:10px}.profile{min-width:0}.profile>div{display:none}.heading h1{font-size:32px}.panel-chip{font-size:9px}}
@media(max-width:1000px){.topbar .date-trigger{font-size:10px}.topbar .branch-control select{max-width:110px}.topbar .profile{display:none}}
@media(max-width:780px){.heading h1{font-size:30px}.heading p{font-size:12px}.page-heading{margin-bottom:15px}.topbar .date-trigger{font-size:11px}.topbar .branch-control{order:2;margin-left:auto}.topbar .branch-control select{max-width:160px;font-size:11px;min-height:40px}.topbar .profile{display:none}.kpi.primary strong{font-size:31px}.kpi strong{font-size:22px}.kpi-head p{font-size:11px}.kpi small,.trend{font-size:10px}.panel-chip{font-size:9px}.branch-detail h3{font-size:11px}.branch-detail h3 strong{font-size:10px}.branch-detail dl>div{font-size:9px}.loyalty-stats span{font-size:9px}.loyalty-stats small{font-size:8px}.payment strong{font-size:10px}.goal-grid strong,.goal-grid .goal-navy strong,.goal-grid .goal-gold strong{font-size:20px}.panel h2{font-size:13px}.panel-header p{font-size:10px}.context{font-size:9px}.context .demo-label{font-size:9px}.context>div{justify-content:end}.payments-panel,.branches-panel,.passport-panel{min-height:0}}

/* Densidad de los módulos y lectura de tablas. */
.loyalty-stats{margin-top:18px;margin-bottom:12px}.insight-link{padding:10px 11px}.passport-panel .panel-header{margin-bottom:10px}.costs-panel td{padding-top:4px;padding-bottom:4px}.topbar .branch-control select{max-width:160px}.heat-2{color:#183b54}
@media(max-width:1000px){.topbar .branch-control select{max-width:115px}}
@media(max-width:780px){.topbar .branch-control select{max-width:160px}.costs-panel td{padding-top:7px;padding-bottom:7px}.passport-panel .loyalty-stats{margin-top:18px}}

@media(min-width:781px){main{padding-top:16px}.page-heading{margin-bottom:16px}.kpi{padding-top:14px;padding-bottom:12px}.kpi-head{margin-bottom:7px}}

.date-presets{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.date-presets button{background:#f2f5f7;border:1px solid #e4e9ef;border-radius:7px;color:var(--navy);padding:7px 9px;font-size:10px}.date-presets button:hover{background:#e6edf3}.date-trigger{max-width:275px}.expense-overview,.passport-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}.passport-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.expense-overview .kpi>p,.passport-kpis .kpi>p{font-size:12px;margin:0 0 12px;color:var(--muted)}.expense-overview .kpi.primary>p,.passport-kpis .kpi.primary>p{color:white}.expense-overview .kpi strong,.passport-kpis .kpi strong{font-size:27px}.expense-overview .kpi small,.passport-kpis .kpi small{font-size:10px}.list-panel,.redemption-panel,.member-panel{margin-top:14px}.feature-note{font-size:11px;color:#67758b;line-height:1.6;margin:10px 0 14px}.ranking-context{margin-bottom:14px}.ranking-context .panel-header{margin-bottom:0}.rank-change{display:inline-flex;gap:5px;align-items:center;white-space:nowrap;padding:4px 7px;border-radius:6px;font-size:11px}.rank-change.up{color:#247849;background:#edf7f0}.rank-change.down{color:#be3a46;background:#fceef0}.rank-change.neutral{color:#69788c;background:#f3f5f7}.rank-change.new{color:#8c6b36;background:#f8f1e5}.rank-change>span{font-size:17px;line-height:1}.redemption-types{display:grid;gap:24px;margin:24px 0 12px}.reward-type>div:first-child{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:10px;gap:10px}.reward-type strong{font-size:14px;font-weight:600}.reward-type strong small{font-size:11px;color:var(--muted);font-weight:400}.reward-type:nth-child(2) .fill{background:var(--gold)}.reward-type:nth-child(3) .fill{background:#849dae}.member-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.member-tabs button{background:#f2f4f6;color:#57687e;padding:9px 12px;border-radius:8px;font-size:11px;border:1px solid #e8edf2;min-height:38px}.member-tabs button[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}.redemption-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:20px}.redemption-filters label{font-size:10px;color:var(--muted);display:grid;gap:6px}.redemption-filters label:first-child{flex:1;min-width:180px}.redemption-filters input,.redemption-filters select{padding:10px 12px;background:white;border:1px solid #dce4ec;border-radius:8px;color:var(--ink);font-size:12px;min-height:40px;width:100%}.pagination{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:15px}.pagination p{font-size:11px;color:var(--muted);margin:0}.pagination>div{display:flex;gap:8px}.pagination button{background:#f3f5f7;border:1px solid #e4e9ef;border-radius:8px;color:var(--navy);font-size:11px;padding:9px 13px;min-height:38px}.pagination button:disabled{color:#8e98a4;background:#f8f9fa;cursor:default}.costs-panel tfoot td,.costs-panel tfoot th{font-weight:600;border-top:1px solid #dde5ed;padding-top:10px}.passport-details .table-wrap table{font-size:11px}.passport-details .table-wrap td{padding-top:6px;padding-bottom:6px}
@media(max-width:1000px){.passport-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-overview{grid-template-columns:1fr}.expense-overview .kpi strong{font-size:26px}.topbar{flex-wrap:wrap}.date-trigger{max-width:260px}}
@media(max-width:780px){.passport-kpis{gap:9px}.passport-kpis .kpi{padding:16px 12px}.passport-kpis .kpi strong{font-size:27px}.passport-kpis .kpi>p{font-size:11px}.passport-kpis .kpi small{font-size:9px}.pagination{flex-direction:column;align-items:start;gap:10px}.pagination button{min-height:44px}.redemption-filters input,.redemption-filters select{min-height:44px}.member-tabs button{min-height:44px;font-size:10px}.date-trigger{max-width:100%;font-size:10px}.date-trigger .chevron{margin-left:2px}.passport-details{grid-template-columns:1fr}}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(430px,100%);padding:36px}.login-card .brand-mark{margin:0 0 34px}.login-card h1{font-size:28px;letter-spacing:-1px;line-height:1.2}.login-card p{color:var(--muted);font-size:13px;line-height:1.7}.login-button{display:block;background:var(--navy);color:white;text-align:center;text-decoration:none;border-radius:10px;padding:13px 20px;margin:28px 0 16px;font-weight:550}.login-card small{font-size:11px;color:var(--muted)}.profile strong{max-width:150px;overflow:hidden;text-overflow:ellipsis;display:block}

.login-card label{display:block;font-size:12px;margin-top:20px;margin-bottom:7px}.login-card #password{width:100%;border:1px solid #dce4ec;border-radius:9px;padding:12px;background:white;min-height:44px}.login-card button.login-button{width:100%;font:inherit;cursor:pointer}.login-card p.login-message{color:var(--bad);font-size:11px;margin:10px 0;min-height:16px}
.login-card label.show-password{display:flex;align-items:center;gap:9px;margin:8px 0 0;min-height:44px;cursor:pointer;color:var(--muted);font-size:12px}.show-password input{width:16px;height:16px;margin:0;accent-color:var(--navy)}

/* Collapsed navigation on small screens. */
.navigation-toggle{display:none;width:46px;height:46px;align-items:center;justify-content:center;border:1px solid #e5e9eb;border-radius:12px;background:#fff;color:#25352c;flex:none;cursor:pointer}.navigation-toggle svg{width:25px;height:25px;stroke-width:2;stroke-linecap:round}.navigation-toggle:hover{background:#f7f8f7}
@media(max-width:780px){.sidebar{padding:16px 18px}.sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.sidebar-heading .brand{margin:0}.navigation-toggle{display:flex}.sidebar #page-navigation{display:none}.sidebar.navigation-open #page-navigation{display:grid;grid-template-columns:1fr;overflow-x:hidden;overflow-y:auto;max-height:70vh;gap:4px;margin-top:16px;padding:12px 0 0;border-top:1px solid #edf0f3}.sidebar #page-navigation a{font-size:13px;min-height:44px;padding:12px}.sidebar #page-navigation svg{width:18px;height:18px}}

/* Real-data panels reuse the approved Nómade design. */
.dashboard-grid{margin-bottom:14px}.pending-panel{display:flex;flex-direction:column;min-height:232px}.pending-panel .insight-link{margin-top:auto}.pending-state{color:var(--muted);font-size:14px;padding:20px 0}.expense-bar{margin:18px 0}.expense-bar>div:first-child{display:flex;justify-content:space-between;gap:14px;font-size:11px;margin-bottom:8px}.expense-bar strong{font-weight:550;white-space:nowrap}.expense-bar:nth-child(odd) .fill{background:var(--gold)}.chart-legend{display:flex;justify-content:center;gap:20px;margin:6px 0 14px;font-size:11px}.chart-legend span{display:flex;align-items:center;gap:7px}details summary{font-size:11px;color:var(--navy);cursor:pointer;padding:8px 0}.business-health-card h3{font-size:11px;font-weight:550;margin:0}.heat-day:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.payment{margin:22px 0}.payment strong{white-space:normal}.business-health-card strong{font-size:22px}@media(max-width:780px){.pending-panel{min-height:170px}.expense-bar>div:first-child{flex-wrap:wrap}.branch-columns{flex-direction:column}.branch-detail+article{border-left:0;padding-left:0;border-top:1px solid #e8edf1;padding-top:14px}.profile{display:none}.payment{grid-template-columns:65px minmax(20px,1fr) minmax(85px,auto)}.payment strong{max-width:135px}}

.real-progress{appearance:none;width:100%;height:8px;border:0;border-radius:9px;overflow:hidden;background:#f0f2f5}.real-progress::-webkit-progress-bar{background:#f0f2f5;border-radius:9px}.real-progress::-webkit-progress-value{background:var(--navy);border-radius:9px}.payment:nth-of-type(2) .real-progress::-webkit-progress-value,.expense-bar:nth-child(odd) .real-progress::-webkit-progress-value{background:var(--gold)}

.goal-settings{margin-bottom:16px}.goal-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.goal-fields label{display:grid;gap:8px;font-size:12px;color:var(--navy)}.goal-fields label[hidden]{display:none}.goal-fields input,.goal-fields select{width:100%;min-height:44px;border:1px solid #dce4ec;background:#fff;border-radius:9px;padding:10px;color:var(--ink);font:inherit}.goal-actions{display:flex;flex-wrap:wrap;gap:10px}.goal-actions button{min-height:44px;border:1px solid #dce4ec;border-radius:9px;padding:10px 16px;background:#f5f7f8;color:var(--navy);font:inherit;font-size:12px}.goal-actions button[type=submit]{background:var(--navy);color:white}.goal-actions button:disabled{opacity:.5;cursor:wait}.goal-preview{font-size:13px;color:var(--navy);line-height:1.6}.goals-panel .goal-grid small{white-space:normal;line-height:1.5}.goal-settings .panel-header p{line-height:1.6}@media(max-width:780px){.goal-fields{grid-template-columns:1fr}.goal-actions button{flex:1}.goal-settings{padding:18px 15px}}

.allocation-note{padding:12px 15px;background:#faf6ee;border:1px solid #eee5d5;border-radius:10px;font-size:12px;color:var(--navy);line-height:1.6;margin:0 0 14px}

/* Page title, access controls and period filters share the content header. */
.page-heading{display:grid;grid-template-columns:minmax(180px,1fr) auto;align-items:center;gap:18px 16px;margin-bottom:20px}
.heading{min-width:0}.view-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}
.view-controls .branch-control{margin:0;order:initial}.view-controls .branch-control select{font-size:11px;border:1px solid #e1e5e9;border-radius:10px;background:white;min-height:40px;padding:8px;max-width:170px;color:var(--ink)}
.view-controls .profile{display:flex;margin:0;order:initial}.view-controls .profile>div{display:block}
.page-heading .toolbar{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;min-width:0}
.page-heading .period-tabs{width:auto}.page-heading .date-trigger{max-width:none;min-height:40px}
@media(max-width:1150px){.page-heading{grid-template-columns:1fr}.view-controls{justify-self:end}.page-heading .toolbar{grid-column:1}}
@media(max-width:640px){.page-heading{gap:14px}.view-controls{justify-self:stretch;justify-content:flex-start;flex-wrap:wrap;gap:8px}.view-controls .profile{display:none}.view-controls .branch-control{flex:1}.view-controls .branch-control select{width:100%;max-width:none;font-size:11px}.page-heading .toolbar{justify-content:flex-start;gap:8px}.page-heading .period-tabs{flex:1;min-width:0}.page-heading .period-tabs button{padding:8px 9px;font-size:10px}.page-heading .date-trigger{font-size:11px}.page-heading .toolbar .date-trigger{flex:1}}

/* Current-month section: a quiet divider and a calendar beside the goals. */
.monthly-divider{display:flex;align-items:center;gap:18px;position:relative;margin:26px 0 18px;min-height:44px}
.monthly-rule{flex:1;min-width:20px;border-top:1px dashed #c8d2dc}
.monthly-divider h2{margin:0;color:var(--navy);font-size:12px;font-weight:650;letter-spacing:.65px;text-transform:uppercase;white-space:nowrap}
.monthly-month{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--surface);border:1px solid var(--border);border-radius:24px;box-shadow:0 2px 4px #173e5904;flex:none}
.monthly-month>span{color:var(--muted);font-size:10px;font-weight:550;white-space:nowrap}
.monthly-month svg{width:16px;height:16px;color:var(--navy)}
.monthly-month strong{font-size:12px;font-weight:650;color:var(--navy-dark);white-space:nowrap}
.monthly-overview{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:14px;margin-bottom:14px;align-items:stretch}
.monthly-overview>.panel{min-width:0}
.monthly-overview .heatmap-panel{container-type:inline-size;container-name:monthly-calendar}
.monthly-overview .heatmap-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.monthly-overview .heatmap-columns>div+div{border-left:1px solid #e8edf1;padding-left:16px;border-top:0;padding-top:0}
.heat-day{height:48px;flex-direction:column;gap:5px;padding:4px 2px}
.heat-date{font-size:9px}
.heat-value,.heat-value-compact{font-size:10px;font-weight:550;white-space:nowrap}
.heat-value-compact{display:none}
.heat-day.no-data .heat-value{color:var(--muted)}
.heat-2{color:#173e59}
.monthly-overview .goals-panel .goal-grid strong{font-size:18px;overflow-wrap:anywhere}
.monthly-dashboard .dashboard-bottom{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:stretch;margin-bottom:14px}
.monthly-dashboard .business-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@container monthly-calendar (max-width:900px){.heat-value{display:none}.heat-value-compact{display:block;font-size:10px}}
@media(max-width:1279px){.monthly-overview{grid-template-columns:1fr}.monthly-dashboard .dashboard-bottom{grid-template-columns:1fr}.monthly-overview .goals-panel .goal-grid strong{font-size:20px}}
@media(max-width:640px){.monthly-overview .goals-panel .goal-grid strong{font-size:clamp(14px,4.2vw,18px)}.monthly-divider{flex-wrap:wrap;gap:12px;margin-top:22px}.monthly-divider h2{font-size:11px}.monthly-month{justify-content:center;width:100%;padding:9px 14px}.monthly-overview .heatmap-columns{grid-template-columns:1fr}.monthly-overview .heatmap-columns>div+div{border-left:0;padding-left:0;border-top:1px solid #e8edf1;padding-top:16px}.heat-value{display:none}.heat-value-compact{display:block;font-size:10px}.heat-day{height:46px}}

/* Keep date and branch filters together in reading and keyboard order. */
.view-filters{display:flex;align-items:center;gap:12px;min-width:0}
.view-filters .date-trigger{flex:none;order:initial}
@media(max-width:1150px){.view-controls{flex-wrap:wrap}}
@media(max-width:640px){.view-controls .view-filters{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:8px;flex:0 0 100%;width:100%}.view-filters .date-trigger{width:100%;font-size:10px;padding:8px;gap:5px;min-height:44px}.view-filters .date-trigger .chevron{margin-left:0}.view-filters .branch-control{min-width:0}.view-filters .branch-control select{font-size:10px;min-height:44px;padding:8px 4px}}

/* Two independent surfaces: navigation and the dashboard workspace. */
.shell{width:calc(100% - 40px);max-width:1600px;margin:20px auto;gap:18px;background:transparent;border-radius:0;overflow:visible;box-shadow:none;align-items:start}
.sidebar{border:1px solid #e8e9e7;border-radius:22px;background:linear-gradient(110deg,#fff,#fcfcfb);box-shadow:0 4px 20px #173e5904}
.workspace{background:var(--paper);border:1px solid #e8e9e7;border-radius:22px;overflow:clip;min-height:calc(100vh - 40px);box-shadow:0 4px 20px #173e5904}
@media(max-width:1000px){.shell{width:calc(100% - 28px);margin:14px auto;gap:14px}.sidebar,.workspace{border-radius:20px}.workspace{min-height:calc(100vh - 28px)}}
@media(max-width:780px){.shell{display:grid;grid-template-columns:minmax(0,1fr);width:calc(100% - 20px);margin:10px auto;gap:12px;min-height:calc(100vh - 20px)}.sidebar{position:static;min-height:0;border:1px solid #e8e9e7;border-radius:18px}.workspace{border-radius:18px;min-height:0}}

.waste-detail{margin-top:16px;border-top:1px solid var(--border);padding-top:12px}.waste-detail summary{font-size:11px;color:var(--navy);cursor:pointer}.waste-detail .table-wrap{margin-top:12px}.waste-detail table{font-size:11px}
