:root{--ink:#2a2420;--ink-soft:#66584c;--paper:#fffdf8;--gold:#b8873a;--gold-bright:#d4a856;--wine:#6b2737;--bg:#efe8d9;--line:rgba(184,135,58,.34);}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{margin:0;min-height:100%;height:auto;overflow-x:hidden;overflow-y:scroll;-webkit-overflow-scrolling:touch}
body{margin:0;min-height:100%;min-height:100dvh;height:auto;overflow-x:hidden;overflow-y:visible;background:radial-gradient(circle at 92% 0,rgba(212,168,86,.13),transparent 28%),var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}
.brand{font-size:11px;letter-spacing:.2em;color:#8a6423;font-weight:800}
.auth-page{display:grid;place-items:center}
.auth-shell,.dashboard-shell{width:min(100%,520px);margin:0 auto;padding:22px 20px 44px}
.back-link{display:inline-block;margin-bottom:18px;color:var(--ink-soft);font-size:14px;font-weight:700;text-decoration:none}
.auth-card,.detail-card,.hero-card{background:var(--paper);border:1.5px solid var(--line);border-radius:22px;box-shadow:0 18px 45px rgba(42,36,32,.08)}
.auth-card{padding:28px 22px}
.lock-mark{display:grid;place-items:center;width:54px;height:54px;margin:24px 0 16px;border-radius:17px;background:linear-gradient(145deg,#2a2420,#49392f);color:var(--gold-bright);font-size:30px}
.auth-card h1{font-size:27px;margin:0 0 8px}
.muted{color:var(--ink-soft);font-size:14px;line-height:1.7}
.auth-card form{display:grid;gap:9px;margin-top:24px}
.auth-card label{font-size:14px;font-weight:700;margin-top:5px}
.auth-card input,.staff-switcher select{width:100%;min-height:50px;border:1.5px solid var(--line);border-radius:12px;background:#fff;padding:10px 13px;color:var(--ink);font-size:16px}
.auth-card input:focus,.staff-switcher select:focus{outline:3px solid rgba(212,168,86,.24);border-color:var(--gold)}
button{min-height:52px;margin-top:13px;border:0;border-radius:13px;background:linear-gradient(135deg,var(--wine),#823b4f);color:#fff;font-size:16px;font-weight:800;cursor:pointer}
.security-note{margin:18px 0 0;color:var(--ink-soft);font-size:12px;text-align:center}
.error{margin-top:18px;padding:12px;border:1px solid #b55353;border-radius:11px;background:#fff3f3;color:#8d2727;font-size:14px;line-height:1.5}
.dashboard-header{display:flex;align-items:center;justify-content:space-between;width:min(100%,520px);margin:0 auto;padding:24px 20px 0}
.dashboard-header h1{margin:4px 0 0;font-size:20px}
.logout{color:var(--ink-soft);font-size:13px;font-weight:700}
button.logout{background:none;margin:0;padding:10px 0 10px 12px;min-height:44px;text-decoration:underline}
.staff-switcher{margin-bottom:10px}
.staff-switcher label{display:block;margin:0 0 7px;font-size:13px;font-weight:700;color:var(--ink-soft)}
.switcher-row{display:grid;grid-template-columns:1fr 72px;gap:8px}
.switcher-row button{min-height:50px;margin:0}
.owner-overview-link{display:block;margin:0 2px 20px;color:var(--wine);font-size:13px;font-weight:800;text-align:right}
.welcome{display:flex;align-items:center;justify-content:space-between;margin:8px 0 18px}
.welcome h2{font-size:25px;margin:4px 0 0}
.period{font-size:12px;color:var(--ink-soft)}
.private-badge{padding:4px 8px;border:1px solid var(--gold);border-radius:999px;color:#8a6423;font-size:9px;font-weight:800;letter-spacing:.1em}
.hero-card{padding:22px;background:linear-gradient(145deg,#2a2420,#49392f);color:#fff}
.hero-card>span{font-size:13px;color:rgba(255,255,255,.7)}
.hero-card>strong{display:block;margin:8px 0 18px;font-size:32px;letter-spacing:.01em}
.hero-card p{margin:13px 0 0;color:#e9c881;font-size:14px;font-weight:700}
.hero-sales-meter{position:relative;height:100px;margin:12px 0 2px}.hero-meter-segments{display:flex;width:100%;height:58px;overflow:hidden;border-radius:13px;background:rgba(255,255,255,.12);box-shadow:inset 0 1px 3px rgba(0,0,0,.28)}.hero-meter-segments>span{display:flex;align-items:center;justify-content:center;height:100%;min-width:0;overflow:hidden}.named-segment{background:linear-gradient(90deg,#9b3853,#c65f7a)}.free-segment{background:repeating-linear-gradient(135deg,#bd8834 0,#bd8834 9px,#dfb45f 9px,#dfb45f 17px)}.segment-label{display:block!important;width:100%;height:auto!important;padding:4px;color:#fff;text-align:center;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.25)}.segment-label b,.segment-label small{display:block}.segment-label b{font-size:11px}.segment-label small{margin-top:3px;font-size:12px;font-weight:800}.hero-meter-segments>span.compact .segment-label{display:none!important}.hero-meter-marker{position:absolute;top:-4px;z-index:3;transform:translateX(-50%);text-align:center}.hero-meter-marker i{display:block;width:2px;height:68px;margin:0 auto 2px;background:rgba(255,255,255,.62)}.hero-meter-marker b,.hero-meter-marker small{display:block;white-space:nowrap;color:rgba(255,255,255,.72);text-shadow:0 1px 2px rgba(0,0,0,.4)}.hero-meter-marker b{font-size:10px}.hero-meter-marker small{font-size:8px}.hero-meter-marker.reached i{width:3px;background:#fff}.hero-meter-marker.reached b,.hero-meter-marker.reached small{color:#fff}.hero-sales-legend{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}.hero-sales-legend>div{display:grid;grid-template-columns:9px 1fr;gap:3px 6px}.hero-sales-legend i{width:8px;height:8px;margin-top:3px;border-radius:50%}.hero-sales-legend span{font-size:10px;color:rgba(255,255,255,.68)}.hero-sales-legend b{grid-column:2;color:#fff;font-size:12px}.hero-flat-rate{display:inline-block;margin-top:10px;padding:4px 8px;border:1px solid rgba(233,200,129,.48);border-radius:999px;color:#e9c881;font-size:10px;font-weight:800}
.progress-track{display:block;width:100%;height:8px;border:0;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.14);appearance:none}
.progress-track::-webkit-progress-bar{background:rgba(255,255,255,.14);border-radius:999px}
.progress-track::-webkit-progress-value{background:linear-gradient(90deg,var(--gold),#e9c881);border-radius:999px}
.progress-track::-moz-progress-bar{background:linear-gradient(90deg,var(--gold),#e9c881);border-radius:999px}
.progress-row{display:flex;justify-content:space-between;margin-top:7px;color:rgba(255,255,255,.68);font-size:11px}
.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.metric-grid article{min-height:92px;padding:15px;border:1px solid var(--line);border-radius:16px;background:rgba(255,253,248,.78)}
.metric-grid span{display:block;margin-bottom:8px;color:var(--ink-soft);font-size:12px}
.metric-grid strong{font-size:17px}
.detail-card{margin-top:12px;padding:20px}
.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.section-title span{font-size:9px;letter-spacing:.16em;color:#8a6423;font-weight:800}
.section-title h3{margin:4px 0 0;font-size:19px}
.section-title small{padding:3px 7px;border-radius:999px;background:#f4efe3;color:var(--ink-soft)}
.salary-total{display:flex;align-items:end;justify-content:space-between;padding:15px;border-radius:14px;background:#f4efe3}
.salary-total span{font-size:13px;color:var(--ink-soft)}
.salary-total strong{font-size:23px}
.breakdown{margin:12px 0 0}
.breakdown div{display:flex;justify-content:space-between;gap:20px;padding:11px 2px;border-bottom:1px solid rgba(184,135,58,.15)}
.breakdown div:last-child{border-bottom:0}
.breakdown dt{color:var(--ink-soft);font-size:13px}
.breakdown dd{margin:0;font-size:14px;font-weight:700;text-align:right}
.breakdown .accent dt,.breakdown .accent dd{color:var(--wine);font-weight:800}
.yoy-composition div{align-items:center;padding:13px 2px}.yoy-composition dd{display:grid;justify-items:end;gap:4px}.yoy-composition dd strong{font-size:17px}.yoy-composition dd small{color:var(--ink-soft);font-size:10px;font-weight:600;line-height:1.35}.yoy-composition dd small span{margin-left:5px;font-weight:800}
.owner-shell{width:min(100%,760px);min-height:100dvh;height:auto;margin:0 auto;padding:22px 20px calc(120px + env(safe-area-inset-bottom));overflow:visible}
.owner-topline{display:flex;align-items:end;justify-content:space-between;margin-bottom:16px}
.owner-topline h2{margin:4px 0 0}
.owner-topline a{color:var(--wine);font-size:13px;font-weight:800}
.owner-total-row{display:flex;gap:16px;color:rgba(255,255,255,.72);font-size:12px}
.owner-list{margin-top:12px;overflow:hidden;border:1.5px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:0 18px 45px rgba(42,36,32,.06)}
.owner-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto 14px;align-items:center;gap:10px;padding:14px 12px;border-bottom:1px solid rgba(184,135,58,.15);color:inherit;text-decoration:none}
.owner-row:last-child{border-bottom:0}
.rank{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#f4efe3;color:#8a6423;font-size:12px;font-weight:800}
.owner-name strong,.owner-name span,.owner-pay span,.owner-pay strong{display:block}
.owner-name span,.owner-pay span{margin-top:3px;color:var(--ink-soft);font-size:11px}
.owner-pay{text-align:right}
.owner-pay strong{font-size:14px}
.row-arrow{color:var(--gold);font-size:22px}
.payroll-summary{margin-top:12px}
.payroll-rate{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:10px;padding:12px 15px;border:1px solid rgba(184,135,58,.24);border-radius:14px;background:#fff}
.payroll-rate span{color:var(--ink-soft);font-size:13px}.payroll-rate strong{color:var(--wine);font-size:21px}
.next-step{display:grid;grid-template-columns:1fr auto;align-items:end;padding:15px;border-radius:14px;background:#f4efe3}
.next-step span{font-size:13px;color:var(--ink-soft)}
.next-step strong{font-size:23px;color:var(--wine)}
.next-step small{grid-column:1/-1;margin-top:5px;color:var(--ink-soft);font-size:11px}
.menu-simulation{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}
.menu-simulation article{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}
.menu-simulation span,.menu-simulation strong,.menu-simulation small{display:block}
.menu-simulation span{font-size:12px;color:var(--ink-soft)}
.menu-simulation strong{margin:6px 0;font-size:18px}
.menu-simulation small{font-size:10px;color:var(--ink-soft)}
.goal-done{color:var(--wine);font-weight:800}
.advice-list{display:grid;gap:9px}
.advice-item{padding:13px 14px;border-radius:14px;border-left:4px solid var(--gold);background:#f8f3e9}
.advice-item.focus{border-left-color:var(--wine)}
.advice-item.chance{border-left-color:#487e74}
.advice-item>span{font-size:14px;font-weight:800}
.advice-item p{margin:5px 0 0;color:var(--ink-soft);font-size:13px;line-height:1.65}
.analysis-note{margin:14px 2px 0;color:var(--ink-soft);font-size:11px;line-height:1.5}
.menu-ranking{display:grid;gap:8px}
.menu-ranking article{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border:1px solid rgba(184,135,58,.2);border-radius:14px;background:#fff}
.menu-ranking b{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#f4efe3;color:#8a6423;font-size:12px}
.menu-ranking strong,.menu-ranking span{display:block}.menu-ranking strong{font-size:13px}.menu-ranking span{margin-top:3px;color:var(--ink-soft);font-size:11px}
.menu-ranking em{font-size:13px;font-style:normal;font-weight:800;color:var(--wine);text-align:right}
.attach-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}
.attach-summary div{padding:11px 6px;border-radius:12px;background:#f4efe3;text-align:center}
.attach-summary span,.attach-summary strong{display:block}.attach-summary span{color:var(--ink-soft);font-size:10px}.attach-summary strong{margin-top:5px;font-size:16px}
.annual-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.annual-summary article{padding:11px 8px;border-radius:12px;background:#f4efe3}.annual-summary span,.annual-summary strong{display:block}.annual-summary span{color:var(--ink-soft);font-size:10px}.annual-summary strong{margin-top:5px;font-size:13px}
.up{color:#337569!important}.down{color:var(--wine)!important}.subheading{margin:18px 0 9px;font-size:13px}
.category-bars{display:grid;gap:8px}.category-bars>div{display:grid;grid-template-columns:88px 1fr 34px;align-items:center;gap:8px;font-size:11px}.category-bars progress{width:100%;height:7px;accent-color:var(--gold)}.category-bars b{text-align:right}
.comparison-list{display:grid;gap:0}.comparison-list div{display:flex;justify-content:space-between;gap:12px;padding:9px 2px;border-bottom:1px solid rgba(184,135,58,.15);font-size:12px}.comparison-list div:last-child{border:0}
.history-warning{margin:10px 0 0;padding:10px 12px;border-radius:11px;background:#fff4dd;color:#765416;font-size:11px;line-height:1.55}
.monthly-change-list{display:grid;gap:0}.monthly-change-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 2px;border-bottom:1px solid rgba(184,135,58,.15)}.monthly-change-list article:last-child{border:0}.monthly-change-list span,.monthly-change-list small{display:block}.monthly-change-list span{font-size:13px;font-weight:700}.monthly-change-list small{margin-top:4px;color:var(--ink-soft);font-size:10px}.monthly-change-list strong{font-size:13px;text-align:right}
.repeat-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.repeat-summary article{padding:12px 8px;border-radius:13px;background:#f4efe3;text-align:center}.repeat-summary span,.repeat-summary strong,.repeat-summary small{display:block}.repeat-summary span{font-size:10px;color:var(--ink-soft)}.repeat-summary strong{margin:5px 0;font-size:20px;color:var(--wine)}.repeat-summary small{font-size:9px;color:var(--ink-soft);line-height:1.4}.repeat-advice{margin-top:10px}
.sales-mix-bar{display:flex;width:100%;height:16px;overflow:hidden;border-radius:999px;background:#e7dfd1;box-shadow:inset 0 1px 2px rgba(42,36,32,.12)}.sales-mix-bar span{display:block;min-width:0}.sales-mix-bar .named{background:linear-gradient(90deg,var(--wine),#9d5266)}.sales-mix-bar .free{background:linear-gradient(90deg,var(--gold),var(--gold-bright))}.sales-mix-legend{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.sales-mix-legend>div{display:grid;grid-template-columns:10px 1fr;gap:4px 7px;padding:11px;border-radius:12px;background:#f4efe3}.sales-mix-legend i{width:9px;height:9px;margin-top:3px;border-radius:50%}.named-dot{background:var(--wine)}.free-dot{background:var(--gold)}.sales-mix-legend span{font-size:11px;color:var(--ink-soft)}.sales-mix-legend strong{grid-column:2;font-size:14px}.commission-scale{position:relative;height:70px;margin:18px 15px 4px;border-top:9px solid #e5dccd;border-radius:999px}.commission-fill{position:absolute;left:0;top:-9px;height:9px;border-radius:999px;background:linear-gradient(90deg,var(--gold),var(--wine))}.commission-marker{position:absolute;top:-15px;transform:translateX(-50%);text-align:center}.commission-marker i{display:block;width:3px;height:24px;margin:0 auto 2px;border-radius:2px;background:#b8aa98}.commission-marker b,.commission-marker small{display:block;white-space:nowrap}.commission-marker b{font-size:12px;color:var(--ink-soft)}.commission-marker small{font-size:9px;color:var(--ink-soft)}.commission-marker.reached i{background:var(--wine)}.commission-marker.reached b{color:var(--wine)}.commission-status{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.commission-status>div{padding:10px 7px;border:1px solid rgba(184,135,58,.22);border-radius:11px;background:#fff;text-align:center}.commission-status span,.commission-status strong{display:block}.commission-status span{font-size:10px;color:var(--ink-soft)}.commission-status strong{margin-top:4px;font-size:11px}.commission-status .reached{background:#f7efe6;border-color:rgba(107,39,55,.28)}.commission-status .reached strong{color:var(--wine)}.flat-rate-note{display:grid;grid-template-columns:1fr auto;align-items:center;margin-top:16px;padding:14px;border-radius:13px;background:#f4efe3}.flat-rate-note span{font-size:12px;color:var(--ink-soft)}.flat-rate-note strong{font-size:20px;color:var(--wine)}.flat-rate-note small{grid-column:1/-1;margin-top:5px;color:var(--ink-soft);font-size:10px}
.pace-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pace-panel{padding:14px;border:1.5px solid var(--line);border-radius:16px;background:#fff}
.pace-panel.good{border-color:rgba(51,117,105,.42);background:#f1faf7}.pace-panel.bad{border-color:rgba(107,39,55,.35);background:#fff6f7}.pace-panel.even,.pace-panel.neutral{background:#faf7f0}
.pace-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.pace-panel-head span,.pace-panel-head small{display:block}.pace-panel-head span{font-size:13px;font-weight:800}.pace-panel-head small{margin-top:3px;color:var(--ink-soft);font-size:9px}.pace-panel-head>strong{flex:0 0 auto;padding:4px 7px;border-radius:999px;font-size:10px}.pace-panel.good .pace-panel-head>strong{background:#dcefe9;color:#286b5e}.pace-panel.bad .pace-panel-head>strong{background:#f4dfe4;color:var(--wine)}.pace-panel.even .pace-panel-head>strong,.pace-panel.neutral .pace-panel-head>strong{background:#eee7d9;color:var(--ink-soft)}
.pace-rate{margin:12px 0 10px;font-size:25px;font-weight:900;letter-spacing:-.02em}.pace-row{display:grid;grid-template-columns:34px minmax(70px,1fr) auto;align-items:center;gap:7px;margin-top:8px}.pace-row span{color:var(--ink-soft);font-size:10px}.pace-row svg{display:block;width:100%;height:10px}.pace-row b{font-size:10px;text-align:right}.pace-track{fill:#e8e0d3}.pace-current.good{fill:#3d8b7c}.pace-current.bad{fill:#8a3549}.pace-current.even{fill:#b8873a}.pace-baseline{fill:#aa9e8d}.pace-empty{min-height:63px;margin:14px 0 0;color:var(--ink-soft);font-size:12px;line-height:1.55}
@media(max-width:520px){.pace-grid{grid-template-columns:1fr}.owner-shell{padding-left:14px;padding-right:14px}
.owner-row{grid-template-columns:30px minmax(0,1fr) auto 10px;gap:7px;padding:13px 9px}
.owner-pay strong{font-size:12px}
}
@media(max-width:360px){.metric-grid,.menu-simulation{grid-template-columns:1fr}
.attach-summary,.annual-summary,.repeat-summary,.sales-mix-legend{grid-template-columns:1fr}
.hero-card>strong{font-size:27px}
}

/* BOB_SALES_METER_V4_CSP_SAFE — SVG attributes work with strict style-src CSP. */
.bob-sales-v4{margin:30px 0 0}
.bob-sales-v4__scale{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;color:rgba(255,255,255,.62);font-size:10px;line-height:1}
.bob-sales-v4__scale b{color:#fff;font-size:12px;letter-spacing:.02em}
.bob-sales-v4__svg{display:block;width:100%;height:68px;overflow:visible}
.bob-sales-v4__track{fill:rgba(255,255,255,.1);stroke:rgba(255,255,255,.24);stroke-width:3}
.bob-sales-v4__named{fill:#b44764}.bob-sales-v4__free{fill:#d2a348}
.bob-sales-v4__line{stroke-width:5}.bob-sales-v4__line.tier-1{stroke:#f0c46b}.bob-sales-v4__line.tier-2{stroke:#e98ba4}.bob-sales-v4__line.tier-3{stroke:#81d5c4}.bob-sales-v4__line.is-reached{stroke-width:8;filter:drop-shadow(0 0 4px rgba(255,255,255,.75))}
.bob-sales-v4__rate-labels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:3px}
.bob-sales-v4__rate-labels .tier-link{display:grid;grid-template-columns:7px auto;min-width:0;align-items:center;justify-content:center;gap:3px 4px;padding:6px 3px;border:1px solid rgba(255,255,255,.16);border-top:3px solid var(--tier-color);border-radius:9px;background:rgba(255,255,255,.06);white-space:nowrap}
.bob-sales-v4__rate-labels .tier-1{--tier-color:#f0c46b}.bob-sales-v4__rate-labels .tier-2{--tier-color:#e98ba4}.bob-sales-v4__rate-labels .tier-3{--tier-color:#81d5c4}
.bob-sales-v4__rate-labels i{grid-row:1/3;width:7px;height:20px;border-radius:999px;background:var(--tier-color);box-shadow:0 0 5px color-mix(in srgb,var(--tier-color) 55%,transparent)}
.bob-sales-v4__rate-labels b,.bob-sales-v4__rate-labels small{grid-column:2;color:rgba(255,255,255,.82);font-size:10px;line-height:1}
.bob-sales-v4__rate-labels b{font-weight:700}.bob-sales-v4__rate-labels small{font-weight:800}
.bob-sales-v4__rate-labels .tier-link.is-reached{border-color:var(--tier-color);background:rgba(255,255,255,.13);box-shadow:0 0 0 1px color-mix(in srgb,var(--tier-color) 35%,transparent)}
.bob-sales-v4__rate-labels .tier-link.is-reached b,.bob-sales-v4__rate-labels .tier-link.is-reached small{color:#fff}

.owner-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 12px}.owner-actions a{white-space:nowrap}.owner-actions .payroll-jump{padding:5px 8px;border:1px solid rgba(107,39,55,.28);border-radius:999px;background:#fff;color:var(--wine);text-decoration:none}.payroll-summary{scroll-margin-top:18px}.upload-success{margin-top:18px;padding:12px;border:1px solid #3f7b62;border-radius:11px;background:#effaf4;color:#285c47;font-size:14px;line-height:1.5}

.salary-forecast{margin-bottom:10px;padding:18px;border:1px solid rgba(184,135,58,.38);border-radius:16px;background:linear-gradient(145deg,#2a2420,#49392f);color:#fff;box-shadow:0 12px 28px rgba(42,36,32,.12)}
.salary-forecast>span,.salary-forecast>strong,.salary-forecast>small{display:block}.salary-forecast>span{color:#e9c881;font-size:12px;font-weight:800}.salary-forecast>strong{margin:6px 0 7px;font-size:24px;letter-spacing:.01em}.salary-forecast>small{color:rgba(255,255,255,.68);font-size:10px;line-height:1.5}.salary-forecast>div{display:flex;justify-content:space-between;gap:12px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.12)}.salary-forecast em,.salary-forecast b{font-size:10px;font-style:normal}.salary-forecast em{color:rgba(255,255,255,.72)}.salary-forecast b{color:#e9c881;text-align:right}.salary-total.current-pay{background:#f7f3ea}


/* BOB_TEAM_COMPARISON_V1 */
.team-position-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.team-position-card{padding:13px;border:1px solid rgba(184,135,58,.22);border-radius:14px;background:linear-gradient(145deg,#fff,#faf6ee)}
.team-position-card>div{display:flex;align-items:flex-start;justify-content:space-between;gap:7px}
.team-position-card span{font-size:11px;font-weight:800;color:var(--ink-soft)}
.team-position-card em{flex:0 0 auto;padding:3px 6px;border-radius:999px;background:#f4ead8;color:#7d5b23;font-size:9px;font-style:normal;font-weight:800}
.team-position-card strong{display:block;margin:8px 0 7px;font-size:17px;color:var(--wine)}
.team-position-card progress{display:block;width:100%;height:7px;accent-color:#3d8b7c}
.team-position-card small{display:block;margin-top:7px;color:var(--ink-soft);font-size:9px;line-height:1.45}
.coaching-position{margin-bottom:12px}
.annual-summary article small{display:block;margin-top:4px;font-size:10px}
@media(max-width:520px){.team-position-grid{grid-template-columns:1fr}}


/* BOB_MONTHLY_HISTORY_V1 */
.period-history{margin:0 0 14px;padding:14px;border:1px solid rgba(184,135,58,.22);border-radius:16px;background:#fff;box-shadow:0 8px 20px rgba(42,36,32,.05)}
.period-history>span{display:block;margin-bottom:9px;color:var(--ink-soft);font-size:11px;font-weight:800;letter-spacing:.08em}
.period-history>div{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}
.period-history a{flex:0 0 auto;padding:8px 12px;border:1px solid #ded4c4;border-radius:999px;background:#faf7f0;color:var(--ink);font-size:11px;font-weight:800;text-decoration:none}
.period-history a.active{border-color:var(--wine);background:var(--wine);color:#fff}
.period-history>small{display:block;margin-top:9px;color:var(--ink-soft);font-size:10px;line-height:1.5}
.owner-period-history{margin-top:2px}

/* BOB_SALON_DEEP_ANALYSIS_V1 */
.salon-kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.salon-kpi-grid article{padding:14px;border:1px solid #e8dfd1;border-radius:14px;background:#fbf8f2}
.salon-kpi-grid article.good{border-color:#bddfd5;background:#f1faf7}.salon-kpi-grid article.bad{border-color:#e8c8d0;background:#fff6f7}
.salon-kpi-grid span,.salon-kpi-grid strong,.salon-kpi-grid small{display:block}
.salon-kpi-grid span{color:var(--ink-soft);font-size:10px;font-weight:800}.salon-kpi-grid strong{margin:6px 0 4px;font-size:19px;color:var(--ink)}.salon-kpi-grid small{color:var(--ink-soft);font-size:9px;line-height:1.45}
.driver-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.driver-grid article{padding:14px;border-radius:14px}.driver-grid article.positive{background:#eef8f5;color:#286b5e}.driver-grid article.negative{background:#fff2f4;color:var(--wine)}
.driver-grid span,.driver-grid strong,.driver-grid small{display:block}.driver-grid span{font-size:10px;font-weight:800}.driver-grid strong{margin:5px 0;font-size:21px}.driver-grid small{font-size:9px;opacity:.78}
.salon-composition{margin-top:0}
.salon-contributors{display:grid;gap:8px}
.salon-contributors article{display:grid;grid-template-columns:26px minmax(90px,1fr) minmax(70px,1fr) 34px;align-items:center;gap:8px;padding:10px;border:1px solid #ece3d6;border-radius:12px;background:#fff}
.salon-contributors article>b{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:#f0e3ca;color:#7d5b23;font-size:11px}
.salon-contributors article div strong,.salon-contributors article div span{display:block}.salon-contributors article div strong{font-size:12px}.salon-contributors article div span{margin-top:2px;color:var(--ink-soft);font-size:9px}
.salon-contributors progress{width:100%;height:7px;accent-color:#b8873a}.salon-contributors em{font-size:10px;font-style:normal;font-weight:800;text-align:right}
.staff-pace-heading{display:flex;align-items:end;justify-content:space-between;gap:12px}.staff-pace-heading .subheading{margin-bottom:10px}.staff-pace-heading>div{display:flex;gap:5px;margin-bottom:9px}.staff-pace-heading span{padding:4px 7px;border-radius:999px;font-size:9px;font-weight:800}.staff-pace-heading span.good{background:#e8f6f1;color:#286b5e}.staff-pace-heading span.bad{background:#fff0f2;color:var(--wine)}
.staff-pace-list{display:grid;gap:8px}.staff-pace-row{display:block;padding:12px;border:1px solid #e9dfd1;border-left-width:4px;border-radius:13px;background:#fff;color:inherit;text-decoration:none}.staff-pace-row.good{border-left-color:#3d8b7c}.staff-pace-row.bad{border-left-color:#b44764}.staff-pace-top,.staff-pace-numbers{display:flex;align-items:center;justify-content:space-between;gap:10px}.staff-pace-top strong{font-size:13px}.staff-pace-top span{padding:4px 7px;border-radius:999px;font-size:9px;font-weight:800}.staff-pace-row.good .staff-pace-top span{background:#e8f6f1;color:#286b5e}.staff-pace-row.bad .staff-pace-top span{background:#fff0f2;color:var(--wine)}.staff-pace-numbers{margin-top:8px}.staff-pace-numbers span{font-size:11px;font-weight:800}.staff-pace-numbers small{flex:1;color:var(--ink-soft);font-size:9px}.staff-pace-numbers b{font-size:13px}.staff-pace-bar{display:block;width:100%;height:7px;margin-top:8px;border:0;overflow:hidden;border-radius:999px;background:#eee7db}.staff-pace-row.good .staff-pace-bar{accent-color:#3d8b7c}.staff-pace-row.bad .staff-pace-bar{accent-color:#b44764}
.new-pace-summary{display:flex;align-items:center;gap:6px;margin:-2px 0 10px;padding:9px 10px;border-radius:11px;background:#f7f3eb}.new-pace-summary span{margin-right:auto;color:var(--ink-soft);font-size:10px;font-weight:800}.new-pace-summary b{padding:3px 6px;border-radius:999px;font-size:9px}.new-pace-summary b.good{background:#e8f6f1;color:#286b5e}.new-pace-summary b.bad{background:#fff0f2;color:var(--wine)}.new-pace-summary small{color:var(--ink-soft);font-size:8px}
.staff-sales-mix{margin-top:9px}.staff-sales-mix>div{display:flex;justify-content:space-between;margin-bottom:5px}.staff-sales-mix span{font-size:9px;font-weight:800}.staff-sales-mix span.named{color:#8f3149}.staff-sales-mix span.free{color:#8a6423}.staff-sales-mix svg{display:block;width:100%;height:8px}.mix-track{fill:#eee7db}.mix-named{fill:#b44764}.mix-free{fill:#d2a348}
.new-client-pace{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:9px 10px;border-radius:10px}.new-client-pace.good{background:#eef8f5}.new-client-pace.bad{background:#fff2f4}.new-client-pace.neutral{background:#f2eee7}.new-client-pace span,.new-client-pace small{display:block}.new-client-pace span{font-size:10px;font-weight:800}.new-client-pace small{margin-top:3px;color:var(--ink-soft);font-size:8px}.new-client-pace b{font-size:10px;white-space:nowrap}.new-client-pace.good b{color:#286b5e}.new-client-pace.bad b{color:var(--wine)}.new-client-pace.neutral b{color:var(--ink-soft)}
@media(max-width:520px){.salon-kpi-grid,.driver-grid{grid-template-columns:1fr}.period-history{margin-left:0;margin-right:0}}
@media(max-width:420px){.staff-pace-numbers{display:grid;grid-template-columns:1fr auto}.staff-pace-numbers small{grid-column:1/-1;grid-row:2}.staff-pace-numbers b{grid-column:2;grid-row:1}}
@media(max-width:380px){.salon-contributors article{grid-template-columns:24px minmax(90px,1fr) 34px}.salon-contributors progress{display:none}}
