:root{--bg:#f7f4f1;--surface:#fffcfa;--text:#1c1612;--text-soft:#6b5c4e;--muted:#6b5c4eb8;--border:#5a483829;--border-strong:#5a483857;--accent:#8e0800;--accent-dark:#6a0600;--accent-soft:#8e080014;--danger:#c41e1e;--taupe:#bfac98;--font:"Raleway", "Segoe UI", sans-serif;--mono:ui-monospace, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}.app-page{background:var(--bg);min-height:100dvh}.app-header{z-index:5;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0}.header-bar{align-items:center;gap:1.25rem;min-height:4rem;padding:0 clamp(1rem,3vw,2rem);display:flex}.header-bar-nav{border-top:1px solid var(--border);align-items:stretch;gap:1rem;min-height:3rem}.header-status{align-items:baseline;gap:.5rem;min-width:0;margin-left:auto;display:flex}.header-kicker{color:var(--text-soft);letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;font-weight:700}.header-status strong{font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:700}.header-rule{background:var(--border-strong);align-self:stretch;width:1px;margin:.2rem .35rem}.header-nav{flex-wrap:wrap;flex:auto;align-items:stretch;min-width:0;display:flex}.header-tools{border-left:1px solid var(--border);align-items:center;gap:.45rem;margin-left:auto;padding-left:1rem;display:flex}.header-month{color:var(--text-soft);letter-spacing:.14em;text-transform:uppercase;flex-direction:row;align-items:center;gap:.5rem;font-size:.68rem;font-weight:700;display:flex}.header-month .select{width:12.5rem}.header-month .select-trigger{background:0 0;min-height:2rem;padding-left:.45rem}.header-status strong,.header-kicker{white-space:nowrap}.header-tools .btn{min-height:2rem;padding:0 .7rem;font-size:.82rem}.brand{align-items:center;gap:.75rem;min-width:0;display:flex}.brand-logo{width:auto;height:1.85rem;color:var(--text);display:block}.store-names{flex-wrap:wrap;align-items:center;gap:.35rem .85rem;display:flex}.store-name{align-items:center;min-width:0;display:inline-flex}.franchisee-grid{grid-template-columns:repeat(auto-fill,minmax(17.5rem,1fr));gap:.85rem;margin-top:1rem;display:grid}.franchisee{background:var(--surface);border:1px solid var(--border-strong);border-radius:2px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.franchisee-bar{background:var(--accent);height:3px}.franchisee-body{padding:.9rem 1rem 1rem}.franchisee h2{margin:0;font-size:1rem;line-height:1.35}.franchisee-meta{flex-wrap:wrap;align-items:center;gap:.35rem .6rem;margin:.4rem 0 0;display:flex}.franchisee .store-list{border-top:1px solid var(--border);flex-wrap:wrap;gap:.4rem;margin-top:.85rem;padding-top:.85rem;display:flex}.franchisee .store-list>p{color:var(--text-soft);margin:0}.franchisee .store-name{border:1px solid var(--border);background:#bfac9824;border-radius:2px;padding:.28rem .55rem;font-size:.82rem;line-height:1.35}.brand-sub{border-left:1px solid var(--border-strong);color:var(--text-soft);letter-spacing:.14em;text-transform:uppercase;margin:0;padding-left:.75rem;font-size:.68rem;font-weight:700}.header-nav .view-tab{min-height:3rem}.app-main{width:min(1340px,100%);margin:0 auto;padding:clamp(1.25rem,3vw,2.25rem) clamp(1rem,3vw,2rem) 4rem}.eyebrow{color:var(--text-soft);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .45rem;font-size:.68rem;font-weight:700}.page-title{margin:0;font-size:clamp(1.625rem,4vw,2.125rem);font-weight:700;line-height:1.15}.lead{max-width:46rem;color:var(--text-soft);margin:.7rem 0 0;font-size:clamp(.94rem,2vw,1rem);line-height:1.6}.period-row{grid-template-columns:minmax(16rem,22rem) 1fr;align-items:end;gap:1rem;margin-top:1.25rem;display:grid}.period-row label{color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;flex-direction:column;gap:.35rem;font-size:.72rem;font-weight:600;display:flex}.filters-accordion{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-top:.35rem}.filters-toggle{width:100%;min-height:2.75rem;color:var(--text);letter-spacing:.12em;text-transform:uppercase;background:0 0;border:0;align-items:center;padding:0;font-size:.72rem;font-weight:700;display:flex}.filters-chevron{color:var(--text-soft);letter-spacing:0;text-transform:none;margin-left:auto;font-size:1.05rem;font-weight:500}.filters{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:.75rem 1rem;margin-top:0;padding-bottom:1rem;display:grid}.filters label{min-width:0;color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;flex-direction:column;gap:.35rem;font-size:.72rem;font-weight:600;display:flex}.filters .field,.select-trigger{width:100%;color:var(--text);letter-spacing:0;text-transform:none;font-size:.9rem;font-weight:500}.select{width:100%;min-width:0;position:relative}.select-trigger{text-align:left;border:1px solid var(--border);cursor:pointer;background:#bfac9824;border-radius:2px;justify-content:space-between;align-items:center;gap:.6rem;min-height:2.5rem;padding:0 .7rem;display:flex}.select-trigger:hover{border-color:var(--border-strong)}.select-trigger:focus,.select-trigger[aria-expanded=true]{border-color:var(--accent);outline:none}.select-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-chevron{border-right:1.5px solid var(--text-soft);border-bottom:1.5px solid var(--text-soft);flex:none;width:.4rem;height:.4rem;transform:translateY(-2px)rotate(45deg)}.select-trigger[aria-expanded=true] .select-chevron{transform:translateY(1px)rotate(225deg)}.select-menu{z-index:40;background:var(--surface);border:1px solid var(--border-strong);border-radius:2px;margin:0;padding:0;position:fixed;overflow:auto}.select-menu::-webkit-scrollbar{width:8px}.select-menu::-webkit-scrollbar-thumb{background:#8e0800a6}.select-option{text-align:left;border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text);background:0 0;padding:.55rem .75rem;font-size:.9rem;font-weight:500;line-height:1.35;display:block}.select-option:last-child{border-bottom:0}.select-option:hover,.select-option.is-active{background:var(--accent-soft)}.select-option[aria-selected=true]{color:var(--accent);font-weight:700}.filter-count{color:var(--text-soft);margin:0;font-size:.9rem}.toolbar{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1rem;display:flex}.btn{border-radius:2px;min-height:2.5rem;padding:0 .95rem;font-size:.9rem;font-weight:600}.btn-primary{background:var(--accent);color:#fff;border:1px solid var(--accent)}.btn-primary:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.btn-secondary{border:1px solid var(--border-strong);color:var(--text);background:0 0}.btn-secondary:hover{border-color:var(--text)}.field{border:1px solid var(--border);background:#bfac9824;border-radius:2px;min-height:2.5rem;padding:0 .7rem}.field:focus{border-color:var(--accent);outline:none}.search{flex:16rem}.group-toggle{white-space:nowrap;flex:none}.group-toggle.is-on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.group-head td{border-bottom:1px solid var(--border-strong);padding-top:1.15rem;padding-bottom:.4rem}.group-head-sub td{border-bottom-color:var(--border);padding-top:.65rem}.group-head-sub .group-head-line{padding-left:1rem}.group-head-sub strong{font-size:.9rem;font-weight:600}.group-head-line{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;align-items:baseline;gap:.4rem .7rem;padding:0;display:flex}.group-chevron{color:var(--text-soft);font-size:1.05rem;line-height:1}.group-head-line strong{font-size:.95rem}.group-head-meta{color:var(--text-soft);margin-left:auto;font-size:.85rem;font-weight:600}.page-status{margin-top:.75rem}.view-tab{min-height:2.5rem;color:var(--text-soft);background:0 0;border:0;border-bottom:2px solid #0000;padding:0 .9rem;font-weight:600}.view-tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}.count{font-family:var(--mono);margin-left:.35rem;font-size:.72rem}.sort-btn{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:0;padding:0;font-weight:700}.notice{border-left:2px solid var(--accent);background:var(--accent-soft);margin:.9rem 0 0;padding:.65rem .75rem}.note{color:var(--text-soft);letter-spacing:0;text-transform:none;margin-top:.15rem;font-size:.8rem;font-weight:500;display:block}.btn:disabled,.btn-text:disabled{opacity:.45;cursor:not-allowed}.metrics,.home-metrics{border-top:1px solid var(--border);grid-template-columns:repeat(3,1fr);margin-top:1rem;display:grid}.home-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.home-metrics .metric:nth-child(4n+1){border-left:0;padding-left:0}@media (width<=900px){.home-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.home-metrics .metric:nth-child(4n+1){border-left:1px solid var(--border);padding-left:1rem}.home-metrics .metric:nth-child(odd){border-left:0;padding-left:0}}.home-metrics .metric:nth-child(n+5){border-top:1px solid var(--border)}.home-charts{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;margin-top:.25rem;display:grid}.chart{min-width:0;padding:1.15rem 0 .4rem}.chart h2{margin:0 0 .85rem;font-size:.95rem}.chart-wide{border-bottom:1px solid var(--border);grid-column:1/-1;padding-bottom:1.15rem}.home-charts .chart:nth-child(3){border-left:1px solid var(--border);padding-left:1.25rem}.chart-columns{align-items:flex-end;gap:.4rem;display:flex}.chart-col{flex-direction:column;flex:1 1 0;align-items:center;gap:.3rem;min-width:0;display:flex}.chart-col-track{justify-content:center;align-items:flex-end;width:100%;height:8rem;display:flex}.chart-col-bar{background:var(--taupe);border-radius:2px 2px 0 0;width:min(100%,1.7rem)}.chart-col.is-current .chart-col-bar{background:var(--accent)}.chart-col-value,.chart-col-label{color:var(--text-soft);text-align:center;font-size:.68rem;line-height:1.2}.chart-col.is-current .chart-col-label{color:var(--text);font-weight:700}.chart-list{margin:0;padding:0;list-style:none}.chart-row{grid-template-columns:minmax(8rem,14rem) minmax(0,1fr) auto;align-items:center;gap:.55rem;margin-top:.42rem;display:grid}.chart-label{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.chart-track{background:#bfac9859;border-radius:2px;height:.5rem}.chart-fill{background:var(--accent);border-radius:2px;height:100%;display:block}.chart-value{min-width:5.2rem;color:var(--text-soft);font-variant-numeric:tabular-nums;text-align:right;font-size:.78rem}.metric{padding:.85rem 1rem .85rem 0}.metric+.metric{border-left:1px solid var(--border);padding-left:1rem}.metric-label{color:var(--text-soft);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:700}.metric-value{margin:.2rem 0 0;font-size:1.35rem;font-weight:700}.catalog-block{border-bottom:1px solid var(--border);margin-top:1.15rem}.catalog-toggle{min-height:2.85rem;padding:.35rem 0}.catalog-note{color:var(--text-soft);margin:0 0 .35rem}.catalog-item{border-top:1px solid var(--border)}.catalog-item .group-head-line{min-height:2.6rem;padding:.45rem 0 .45rem 1rem}.catalog-item.is-outside .group-head-line{color:var(--text-soft)}.catalog-item-body{color:var(--text-soft);flex-direction:column;align-items:flex-start;gap:.35rem;padding:0 0 .9rem 1rem;display:flex}.catalog-item-body p{margin:0}.catalog-history{flex-direction:column;gap:.2rem;margin:.15rem 0 .35rem;display:flex}tr.is-outside td{color:var(--text-soft)}.span-3{grid-column:1/-1}.section-block{margin-top:1.5rem}.section-block h2{margin:0 0 .35rem;font-size:1.05rem}.section-block>p,.change p{color:var(--text-soft);margin:.15rem 0 0}.change{border-bottom:1px solid var(--border);padding:.7rem 0}.change h3{margin:0;font-size:.95rem}.issue{border-bottom:1px solid var(--border);border-left:2px solid var(--taupe);padding:.8rem 0 .8rem .8rem}.issue-error{border-left-color:var(--danger)}.issue h3{margin:0;font-size:.95rem}.issue p{color:var(--text-soft);margin:.2rem 0 0}.issue-kicker{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);margin:0 0 .15rem;font-size:.68rem}.editor{margin:0}.mv-layer{z-index:20;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.mv-overlay{background:#1c16128c;position:absolute;inset:0}.mv-modal{border:1px solid var(--border-strong);background:#fffcfa;border-radius:2px;flex-direction:column;width:min(440px,100%);max-height:min(90dvh,760px);display:flex;position:relative;overflow:hidden}.mv-modal-wide{width:min(760px,100%)}.mv-modal-service{width:min(640px,100%)}.mv-modal-service .mv-modal-body{flex-direction:column;display:flex;overflow:hidden}.mv-dept-bar{background:var(--accent);height:3px}.mv-modal-header{padding:1.1rem 1.25rem 0}.mv-modal-header.is-split{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.mv-close{border:1px solid var(--border);width:2.25rem;height:2.25rem;color:var(--text);cursor:pointer;background:0 0;border-radius:2px;flex:none;font-size:1.25rem;line-height:1}.mv-close:hover{border-color:var(--border-strong)}.mv-modal-header h2{margin:0;font-size:clamp(1.25rem,3vw,1.5rem);font-weight:700;line-height:1.2}.mv-modal-body{min-height:0;padding:1rem 1.25rem 1.25rem;overflow:auto}.mv-modal-body::-webkit-scrollbar{width:8px}.mv-modal-body::-webkit-scrollbar-thumb{background:#8e0800a6}.confirm-name{margin:.8rem 0 .2rem;font-weight:700}.confirm-copy{color:var(--text-soft);margin:0}.editor-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem 1rem;display:grid}.span-2{grid-column:span 2}.span-all{grid-column:1/-1}.service-form{flex-direction:column;flex:1;min-height:0;display:flex}.service-form-scroll{min-height:0;overflow:auto}.form-section{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:.85rem 1rem;padding:1.05rem 0;display:grid}.form-section:first-child{border-top:0;padding-top:.2rem}.form-section>h3,.form-note{grid-column:1/-1}.form-section>h3{color:var(--text-soft);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:700}.form-note{color:var(--text-soft);margin:0;font-size:.9rem;line-height:1.5}.cobro-mode{flex-wrap:wrap;gap:.5rem;display:flex}.cobro-mode .is-on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.month-add{align-items:flex-end;display:flex}.month-picks{flex-wrap:wrap;grid-column:1/-1;gap:.4rem;display:flex}.month-pick{border:1px solid var(--border-strong);border-radius:2px;align-items:center;gap:.35rem;min-height:2rem;padding:0 .35rem 0 .65rem;display:inline-flex}.month-pick button{color:var(--text-soft);cursor:pointer;background:0 0;border:0;font-size:1rem;line-height:1}.form-actions{border-top:1px solid var(--border);background:var(--surface);flex:none;justify-content:flex-end;gap:.6rem;padding-top:1rem;display:flex}.editor label{color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;flex-direction:column;gap:.35rem;font-size:.72rem;font-weight:600;display:flex}.editor .field{width:100%;color:var(--text);letter-spacing:0;text-transform:none;font-size:.95rem;font-weight:500}.form-alert{border-left:2px solid var(--accent);background:var(--accent-soft);margin:.9rem 0 0;padding:.65rem .75rem}.row-actions{gap:.35rem;display:flex}.btn-text{border:1px solid var(--border);background:0 0;border-radius:2px;min-height:2rem;padding:0 .55rem;font-size:.8rem;font-weight:600}.btn-text:hover{border-color:var(--border-strong)}.btn-danger{color:var(--danger)}.sr{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.table-wrap{margin-top:1rem;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th{color:var(--text-soft);letter-spacing:.1em;text-align:left;text-transform:uppercase;border-bottom:1px solid var(--border-strong);white-space:nowrap;padding:.55rem .7rem .55rem 0;font-size:.68rem;font-weight:700}td{vertical-align:top;border-bottom:1px solid var(--border);padding:.7rem .85rem .7rem 0}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.store{max-width:22rem}.tag{letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft);font-size:.75rem;font-weight:600}.empty{color:var(--text-soft);margin-top:1rem}@media (width<=980px){.editor-grid,.filters{grid-template-columns:1fr 1fr}}@media (width<=640px){.editor-grid,.form-section,.filters,.period-row,.metrics,.home-metrics,.home-charts{grid-template-columns:1fr}.home-charts .chart:nth-child(3){border-left:0;border-top:1px solid var(--border);padding-left:0}.span-2{grid-column:auto}.metric+.metric{border-left:0;border-top:1px solid var(--border);padding-left:0}.header-bar,.header-bar-nav,.header-tools,.header-status{flex-wrap:wrap}.header-status,.header-tools{width:100%;margin-left:0}.header-tools{border-left:0;border-top:1px solid var(--border);padding:.45rem 0 .65rem}.header-bar-nav{padding-bottom:0}}@media (width<=1180px){.header-bar-nav{flex-wrap:wrap}.header-tools{border-left:0;border-top:1px solid var(--border);flex-wrap:wrap;width:100%;margin-left:0;padding:.4rem 0 .55rem}}.login-screen{place-items:center;min-height:100dvh;padding:2rem 1rem;display:grid}.login-card{width:min(100%,26rem)}.login-lead{max-width:36ch;color:var(--text-soft)}.login-alert{border-left:2px solid var(--accent);background:var(--accent-soft);color:var(--danger);margin:0 0 1rem;padding:.75rem .9rem}.btn-microsoft{border:1px solid var(--border-strong);width:100%;min-height:3rem;color:var(--text);background:#fff;border-radius:2px;justify-content:center;align-items:center;gap:.75rem;margin-top:1.25rem;font-weight:600;text-decoration:none;display:flex}.btn-microsoft:hover{border-color:var(--text)}.header-user{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;max-width:12rem;font-size:.85rem;overflow:hidden}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
