:root{--portal-navy:#142e3c;--portal-ink:#19384a;--portal-muted:#617483;--portal-teal:#167d84;--portal-line:#dce5ea;--portal-page:#f3f6f8;--portal-sidebar:248px}
body.management-portal{margin:0;background:var(--portal-page);color:var(--portal-ink);font:15px/1.55 'Segoe UI',system-ui,sans-serif}
.portal-symbols{position:absolute;width:0;height:0;overflow:hidden}
.portal-skip{position:fixed;top:-100px;left:270px;z-index:2000;background:white;padding:12px}.portal-skip:focus{top:8px}
.portal-sidebar{position:fixed;inset:0 auto 0 0;width:var(--portal-sidebar);background:var(--portal-navy);color:#d2e1e7;padding:30px 18px;display:flex;flex-direction:column;overflow-y:auto;z-index:1100}
.portal-brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none;font-size:14px;font-weight:600;line-height:1.4}.portal-brand:hover{color:white}.portal-brand>span>span{display:block;font-size:9px;letter-spacing:.18em;color:#b5c9d2;margin-top:4px}.portal-crest{width:48px;height:48px;background:white;border-radius:12px;display:grid;place-items:center;flex-shrink:0}.portal-crest img{width:40px;height:40px;object-fit:contain}
.portal-sidebar-title{font-size:12px;color:#9db6c2;margin:24px 10px 30px;padding-bottom:22px;border-bottom:1px solid #ffffff18}
.portal-nav-label{font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#9db6c2;margin:24px 12px 10px}
.portal-nav-link{display:flex;align-items:center;gap:12px;padding:8px 12px;margin:1px 0;border-radius:8px;color:#cfdee5;text-decoration:none;font-size:14px;position:relative}.portal-nav-link svg{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.portal-nav-link:hover{background:#ffffff0c;color:white}.portal-nav-link.is-active{background:#255060;color:white;font-weight:600}.portal-nav-link.is-active:before{content:'';position:absolute;left:0;top:13px;bottom:13px;width:3px;background:#72c9bf;border-radius:3px}
.portal-sidebar-footer{margin-top:auto;padding:40px 12px 0;font-size:11px;color:#a8bec9}.portal-sidebar-footer a{color:#a8bec9;display:block;margin-top:8px}.portal-sidebar-footer p{margin:0}
.portal-workspace{margin-left:var(--portal-sidebar);min-height:100dvh;display:flex;flex-direction:column;min-width:0}.portal-topbar{background:white;min-height:76px;border-bottom:1px solid var(--portal-line);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 36px}.portal-breadcrumb{display:flex;gap:12px;align-items:center;font-size:12px;color:var(--portal-muted)}.portal-breadcrumb strong{color:var(--portal-ink);font-weight:600}.portal-account{display:flex;align-items:center;gap:14px;font-size:12px}.portal-account form{margin:0}.portal-email{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-access{border:1px solid #c8e2db;border-radius:20px;background:#edf7f3;color:#367263;padding:4px 10px;font-size:11px;white-space:nowrap}
.portal-content{width:100%;max-width:1850px;padding:28px 36px 48px;margin:0 auto;flex:1;min-width:0;outline:none}.portal-content h1{font-size:clamp(1.75rem,2.4vw,2.3rem);font-weight:650;letter-spacing:-.04em;margin-bottom:18px}.portal-content h2{font-weight:600;letter-spacing:-.02em}.portal-content h3{font-weight:600}.portal-access-note{font-size:11px;color:var(--portal-muted);margin-bottom:20px;padding:0 0 12px;border-bottom:1px solid var(--portal-line)}.portal-access-note p{margin:0}.portal-footer{padding:18px 36px;border-top:1px solid var(--portal-line);font-size:11px;color:var(--portal-muted);display:flex;justify-content:space-between;gap:16px}.portal-footer a{color:inherit}
.portal-content .btn,.portal-account .btn{border-radius:7px;font-size:13px}.portal-content .btn-primary{background:var(--portal-teal);border-color:var(--portal-teal)}.portal-content .btn-primary:hover{background:#11686e;border-color:#11686e}.portal-content input,.portal-content select{border-radius:6px}.portal-content .form-control,.portal-content .form-select{border-color:#cbd8df}.portal-content .sales-panel,.portal-content .fb-secondary-panel,.portal-content .metric-card,.portal-chart-card{background:white;border:1px solid var(--portal-line);border-radius:12px;box-shadow:0 2px 6px #17384904}.portal-chart-card{padding:24px;margin:24px 0;break-inside:avoid}.portal-chart-card h2{font-size:1.15rem;margin:0 0 20px}.portal-chart-card canvas{max-height:440px}.portal-content .five-year-report .chart-section:not(.sales-panel){background:white;padding:24px;border:1px solid var(--portal-line);border-radius:12px}.portal-content .metric-grid{grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:16px}.portal-content .metric-card{padding:20px}.portal-content .fb-tab-list{background:transparent;gap:6px;padding:8px 0;border-bottom:1px solid var(--portal-line);margin-bottom:24px}.portal-content .fb-tab-list button{border-radius:7px;font-size:12px}.portal-content .fb-tab-list button[aria-selected=true]{background:var(--portal-navy);color:white}.portal-content table{font-variant-numeric:tabular-nums}.portal-content th,.portal-content td{border-color:var(--portal-line)}.portal-content details{border-color:var(--portal-line);border-radius:8px}.portal-content summary{padding:12px}.portal-content :focus-visible{outline:3px solid #1898a0;outline-offset:3px}.portal-sidebar :focus-visible{outline:2px solid #72c9bf;outline-offset:3px}
.portal-menu-toggle,.portal-close{display:none}.portal-backdrop{position:fixed;inset:0;background:#10263180;z-index:1090}.portal-backdrop[hidden]{display:none}
@media screen{.portal-content .print-wrap{max-width:none;padding:0;margin:0}.portal-content>.container,.portal-content>.container-md{max-width:none;padding:0}}
@media(max-width:1100px){:root{--portal-sidebar:224px}.portal-topbar,.portal-footer{padding-left:24px;padding-right:24px}.portal-content{padding:24px}.portal-email{max-width:150px}}
@media(max-width:900px){.portal-workspace{margin-left:0}.portal-sidebar{position:relative;width:100%;padding:20px}.portal-sidebar nav{display:grid;grid-template-columns:1fr 1fr;gap:4px}.portal-nav-label{grid-column:1/-1;margin-top:12px}.portal-sidebar-title,.portal-sidebar-footer{display:none}.portal-ready .portal-sidebar{position:fixed;width:min(300px,86vw);transform:translateX(-100%);visibility:hidden;transition:transform .2s ease,visibility .2s}.portal-ready.portal-nav-open .portal-sidebar{transform:translateX(0);visibility:visible}.portal-ready .portal-sidebar nav{display:block}.portal-ready .portal-sidebar-title,.portal-ready .portal-sidebar-footer{display:block}.portal-ready .portal-menu-toggle{display:flex;align-items:center;gap:8px;border:1px solid var(--portal-line);border-radius:7px;background:white;color:var(--portal-ink);padding:7px 10px;font-size:12px}.portal-menu-toggle svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}.portal-ready .portal-close{display:block;position:absolute;right:12px;top:87px;background:transparent;border:0;color:white;font-size:24px}.portal-nav-open{overflow:hidden}.portal-topbar{min-height:64px;padding:12px 18px}.portal-content{padding:22px 18px}.portal-email,.portal-breadcrumb>span{display:none}.portal-breadcrumb{margin-right:auto}.portal-footer{padding:18px}.portal-chart-card,.portal-content .five-year-report .chart-section:not(.sales-panel){padding:18px}.portal-skip{left:15px}}
@media(max-width:480px){.portal-breadcrumb{display:none}.portal-account{margin-left:auto}.portal-content{padding:20px 12px}.portal-chart-card,.portal-content .five-year-report .chart-section:not(.sales-panel){padding:14px}.portal-footer{flex-direction:column;gap:4px}}
@media(prefers-reduced-motion:reduce){.portal-ready .portal-sidebar{transition:none}}
.portal-capture .portal-sidebar,.portal-capture .portal-topbar,.portal-capture .portal-footer,.portal-capture .portal-access-note{display:none}.portal-capture .portal-workspace{margin:0}.portal-capture .portal-content{padding:16px;max-width:none}
@media print{body.management-portal{background:white;font-size:11pt}.portal-sidebar,.portal-topbar,.portal-footer,.portal-backdrop,.portal-access-note,.portal-skip{display:none!important}.portal-workspace{margin:0;display:block;min-height:0}.portal-content{padding:0;max-width:none}.portal-content .print-wrap{max-width:180mm}.portal-chart-card,.portal-content .sales-panel,.portal-content .fb-secondary-panel,.portal-content .five-year-report .chart-section:not(.sales-panel){box-shadow:none;border:0;padding:0;border-radius:0}.portal-chart-card canvas{max-height:none}}
.portal-content #management-pack .pack-controls{background:white;border-color:var(--portal-line);border-radius:12px;box-shadow:0 2px 6px #17384904}
@media screen{.portal-chart-area{position:relative;height:clamp(340px,35vw,440px)}.portal-chart-area canvas{max-height:none}}
@media print{.portal-chart-area{position:relative;height:90mm}}
.portal-nav-group{border:0;margin:1px 0}.portal-nav-group>summary{list-style:none;cursor:pointer;font-weight:600}.portal-nav-group>summary::-webkit-details-marker{display:none}.portal-nav-group>summary:after{content:'›';margin-left:auto;font-size:18px;transform:rotate(0deg)}.portal-nav-group[open]>summary:after{transform:rotate(90deg)}
.portal-subnav{margin:0 0 18px 21px;padding-left:12px;border-left:1px solid #ffffff26}.portal-subnav-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#9db6c2;margin:14px 8px 6px}.portal-subnav-link{display:block;padding:7px 10px;margin:2px 0;border-radius:6px;color:#cfdee5;text-decoration:none;font-size:12px;line-height:1.45}.portal-subnav-link:hover{background:#ffffff0c;color:white}.portal-subnav-link.is-active{background:#255060;color:white;font-weight:600;box-shadow:inset 3px 0 #72c9bf}
.portal-sidebar-title{margin-bottom:12px}.portal-sidebar .portal-nav-label{margin-top:16px}.portal-sidebar-footer{padding-top:24px}.portal-section-controls{margin-bottom:24px}.portal-analysis-controls{margin-bottom:24px}.portal-period-picker{display:flex;align-items:center;gap:12px;margin:18px 0;font-weight:600}.portal-period-picker select{padding:8px 12px;border:1px solid var(--portal-line);background:white;color:var(--portal-ink);font-weight:400}
[data-portal-hidden=true]{display:none!important}.portal-period-tabs{display:none!important}.fb-section-page>details[open]>summary{display:none}.fb-section-page>details{border:0;padding:0}.fb-section-page{min-width:0}.portal-content h1:focus{outline:none}
@media(max-width:900px){.portal-sidebar nav .portal-nav-group{grid-column:1/-1}.portal-subnav-link{padding:9px 10px}.portal-period-picker{flex-wrap:wrap}.portal-sidebar-title{padding-bottom:14px;margin-bottom:8px}}
@media print{[data-portal-hidden=true]{display:block!important}.portal-period-picker{display:none!important}}

.portal-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.portal-admin-card{background:white;border:1px solid var(--portal-line);border-radius:12px;padding:22px;margin-bottom:20px}
.portal-content .portal-admin-card h2{font-size:1.15rem;margin:0 0 10px;padding:0;border:0}.portal-admin-card p{color:var(--portal-muted);font-size:.9rem}
.portal-admin-card>summary{font-weight:600;cursor:pointer;padding:0}.portal-admin-card[open]>summary{margin-bottom:16px}
#fb-administration>.epos-data-table{background:white;border:1px solid var(--portal-line);padding:20px;margin:20px 0}
#fb-administration .statement-settings-trigger{margin-left:0}
#admin-price-settings .epos-price-toolbar{position:static;box-shadow:none;background:transparent;padding:0;margin-bottom:0}
#admin-price-settings .epos-price-toolbar>strong{display:none}
#admin-wake-settings-status:empty{display:none}
#admin-price-notes{margin-top:16px}#admin-price-notes>summary{padding:0;cursor:pointer;font-size:.9rem}
@media(max-width:760px){.portal-admin-grid{grid-template-columns:1fr;gap:0}.portal-admin-card{padding:18px}}
body[data-portal-section^="admin-"] #print-report,body[data-portal-section^="admin-"] #export-weeks{display:none}
#fb-page-admin-data>details>summary{display:list-item}
@media print{#fb-page-admin-settings,#fb-page-admin-data{display:none!important}}

.tracker-controls { display:flex; flex-wrap:wrap; align-items:end; gap:1rem; margin:0 0 1.2rem; }
.tracker-controls label { display:flex; flex-direction:column; gap:.35rem; }
.tracker-controls label.epos-inline { flex-direction:row; align-items:center; padding-bottom:.5rem; }
.tracker-controls select { padding:.5rem; border:1px solid #bac8d4; border-radius:5px; }
.tracker-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem; }
.tracker-card { padding:1.2rem; border:1px solid #d7e2eb; background:#fff; border-radius:10px; }
.epos-report .tracker-card h2 { margin:0 0 .6rem; padding:0; border:0; font-size:1.2rem; }
.tracker-chart { position:relative; height:300px; }
.tracker-note { font-size:.85rem; color:#526b82; margin:1rem 0 0; }
.tracker-result { font-weight:600; }
@media(max-width:900px) { .tracker-grid { grid-template-columns:1fr; } }
/* Shared page introductions and section bookmarks. */
.report-guide{margin:18px 0 30px;min-width:0}
.portal-content .report-guide-label{margin:0 0 10px;color:var(--portal-muted);font-size:.78rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}
.report-guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.report-guide-card{position:relative;display:flex;flex-direction:column;gap:8px;min-width:0;padding:18px 36px 18px 18px;background:#fff;border:1px solid var(--portal-line);border-top:3px solid #62a9ad;border-radius:10px;color:var(--portal-ink);text-decoration:none;transition:border-color .15s,box-shadow .15s}
.report-guide-card strong{font-size:.98rem;font-weight:650;line-height:1.35}
.report-guide-card>span:not(.report-guide-arrow){font-size:.85rem;line-height:1.5;color:#526977}
.report-guide-card:hover{color:var(--portal-ink);border-color:var(--portal-teal);box-shadow:0 3px 12px #17384912;text-decoration:none}
.report-guide-arrow{position:absolute;right:15px;top:16px;color:var(--portal-teal);font-size:1.2rem}
.report-guide-target{scroll-margin-top:24px}
.report-guide-target:focus{outline:none}.report-guide-target:focus-visible{outline:3px solid #1898a0;outline-offset:5px}
.portal-content .report-period,.portal-content .print-wrap>h1+h2,.portal-content .tab-panel>h4{display:block;font-size:.88rem;font-weight:500;line-height:1.6;color:var(--portal-muted);margin:12px 0 18px;padding:0;border:0;background:transparent}
.portal-content #supporting-analysis{background:transparent;border:0;box-shadow:none;padding:0;margin:0}
#supporting-analysis>summary{display:none}
.portal-content #supporting-analysis #report-content>section{margin:0 0 32px}
.portal-content #supporting-analysis .chart-section{background:#fff;border:1px solid var(--portal-line);border-radius:12px;padding:24px;margin:20px 0;box-shadow:0 2px 6px #17384904}
.portal-content #supporting-analysis .chart-section h3{margin:0 0 10px;padding:0;font-size:1.12rem}
.portal-content .sales-panel,.portal-content .golf-panel,.portal-content .staffing-demand{border-color:var(--portal-line);border-radius:12px;background:#fff}
.portal-content .statement-heading{gap:20px;flex-wrap:wrap;margin-bottom:18px}
.portal-content .portal-section-controls .epos-controls,.portal-content .portal-analysis-controls .epos-controls,.portal-content .golf-controls,.portal-content .tracker-controls{padding:18px;background:#fff;border:1px solid var(--portal-line);border-radius:10px;gap:14px;align-items:end}
.portal-content .portal-analysis-controls{margin-bottom:0}
.portal-content .portal-analysis-controls #report-period{border-left:3px solid #62a9ad;padding:6px 12px;margin:12px 0}
@media(min-width:1600px){.report-guide-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}}
@media(max-width:640px){.report-guide-grid{grid-template-columns:1fr}.report-guide-card{padding:15px 36px 15px 15px}.portal-content #supporting-analysis .chart-section{padding:16px}.portal-content .tracker-controls,.portal-content .golf-controls{padding:14px}}
@media(prefers-reduced-motion:reduce){.report-guide-card{transition:none}}
@media print{.report-guide{display:none!important}.portal-content #supporting-analysis .chart-section{border:0;box-shadow:none;padding:0}}
