/* Approved Morrow presentation. Source: eb4d9c4 bread.css (palette, type,
   buttons, illustration) and original shared rhythm in de3e354. Jeker branding.
   Product behavior remains in the current modules, not in this stylesheet. */
:root{--green:#344b3d;--deep:#263f32;--muted:#828176;--line:#e9e6de;--gold:#e9bd75;--red:#a44936;--paper:#f7f5ef;--surface:#fffefb;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:48px;--section-gap:28px;--card-radius:16px;--workspace-width:260px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#302f28;background:var(--paper)}
body,body.workplace-layout,body.access-surface{background:var(--paper);color:#302f28;--green:#344b3d;--deep:#263f32;--line:#e9e6de}
body h1,.account-main h1,.staff-access-page .access-intro h1,.management-main .management-toolbar h1,.team-main>h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-1.9px;line-height:1.13;color:#302f28;font-size:clamp(34px,3.6vw,48px)}
body h2,body h3{color:#302f28}body p{line-height:1.65}body .muted,body .field-hint{color:#716f63}
body .eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:700;color:#8b795c}
body .button,body .account-main .button,body .staff-main .button{min-height:48px;padding:12px 20px;border-radius:10px;font:500 15px/1.4 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-shadow:none;touch-action:manipulation}
body .button.primary,body .button.reward-button,body .account-tabs button[aria-current=true]{background:var(--green);color:#f4f0df;border:1px solid var(--green)}
body .button.primary:hover{background:#263f32}body .button.outline,body .button.subtle,.management-main .button.outline,.team-main .button.outline{background:var(--surface);color:#5d6154;border:1px solid #dedbd0}
body .button.outline:hover,body .button.subtle:hover{background:#f1f1e7;border-color:#a4ad97}
body .password-toggle{min-height:44px;padding:8px 12px;border:0;border-radius:8px;background:#efede5;color:#344b3d;font-size:14px;box-shadow:none}
body input:not([type=checkbox]),body select,body textarea,.account-main input:not([type=checkbox]),.staff-main input:not([type=checkbox]),.staff-access-page input:not([type=checkbox]){min-height:48px;padding:12px;border:1px solid #b6baab;border-radius:8px;background:var(--surface);color:#263f32;font:inherit;font-size:16px;box-shadow:none}
body input[type=checkbox]{width:22px;height:22px;accent-color:var(--green)}body :focus-visible{outline:3px solid #c58c41;outline-offset:4px}
body .panel,body .employee-card,body .account-main .panel,.account-main.management-main>.panel,.team-grid>.panel,.staff-access-page .panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--card-radius);box-shadow:none}
body .notice{padding:16px 20px;background:#eff2e9;border:1px solid #bac7af;border-radius:10px;color:#344b3d;font-size:15px;line-height:1.6}
body .notice.error{background:#fcf1eb;border-color:#d9a28d;color:#873b2b}
body .account-main .panel>p{color:#69695b}body .recovery-save,body #registration-next{background:#f4edda;border-color:#d8c799;color:#635336}
body .account-tabs{background:#eeece2;border-radius:12px}body .account-tabs button{color:#53614e;min-height:48px}
body .staff-access-page .access-intro h1{color:#302f28}body .registration-steps li:before{background:#e7dfbd;color:#344b3d}
.jeker-brand-header>a,.account-header>a:has(.jeker-logo){display:inline-flex;align-items:center;border:0;background:transparent;padding:0}
body .jeker-logo{display:block;width:200px;max-width:100%;height:auto;object-fit:contain;flex-shrink:0}
body .workspace-sidebar .jeker-logo{width:200px}
body .pass-top>.jeker-logo{width:120px;padding:8px;background:var(--surface);border-radius:8px}
@media(max-width:999px){body .workspace-sidebar .jeker-logo{width:140px}}
@media(max-width:599px){body .jeker-brand-header .jeker-logo,body .account-header .jeker-logo,body .mobile-header .jeker-logo{width:160px}}
.workspace-sidebar{background:var(--surface);border-right:1px solid var(--line);padding:36px 24px 28px;display:flex;flex-direction:column}
body .workspace-sidebar .workplace-brand{display:flex;justify-content:flex-start;align-items:center;padding:0;gap:10px;font-size:33px}
.workspace-sidebar .sidebar-label{font-size:10px;letter-spacing:1.5px;color:#817f72;margin-top:18px}
.workspace-menu{margin-top:42px}.workspace-menu>summary{cursor:pointer;min-height:48px;padding:12px 16px;border:1px solid var(--line);border-radius:8px;color:var(--green)}
body .workspace-sidebar .workplace-nav{position:static;display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:0;background:transparent;border:0;backdrop-filter:none}
body .workspace-sidebar .workplace-nav>a{display:flex;gap:14px;align-items:center;padding:15px 14px;min-height:54px;border-radius:10px;color:#716f63;font-size:15px;font-weight:400;box-shadow:none}
body .workspace-sidebar .workplace-nav>a[aria-current=page]{background:#eff2e9;color:var(--green);font-weight:600}
body .workspace-sidebar .workplace-nav>a:hover{background:#f2f3ea;color:var(--green)}
.nav-symbol{font-size:21px;width:24px;text-align:center;color:#8b8068;flex-shrink:0}
.workspace-support{display:grid;gap:4px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.workspace-support>a{display:flex;align-items:center;min-height:44px;padding:8px 14px;font-size:13px;color:#716f63;border-radius:8px}.workspace-support>a:hover{background:#eff2e9;color:var(--green)}
.workspace-signature{margin-top:auto;padding-top:32px}.workspace-signature p{font:24px/1.4 Georgia,serif;color:#302f28}.workspace-signature small{display:block;margin-top:14px;font-size:12px;color:#777669}
body .workplace-header{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 42px;min-height:85px;background:var(--paper);border-bottom:1px solid var(--line);flex-wrap:wrap}
.workplace-breadcrumb{display:flex;gap:16px;align-items:center;font-size:14px;color:#77766c}.workplace-breadcrumb>a{padding:10px 0}.workplace-current{color:#77766c;font-size:14px}
body .workplace-header .workplace-account{margin:0;padding:0;border:0;display:flex;flex-direction:column;align-items:flex-end;gap:7px;max-width:100%}
body .workplace-header .workplace-account p{font-size:12px;color:#77766c}.workplace-account-actions{display:flex;gap:8px}
body .workplace-header .workplace-account-actions button{min-height:44px;border:1px solid #dedbd0;border-radius:9px;padding:10px 14px;background:var(--surface);color:#53614e;font-weight:500;font-size:13px}
body .workplace-header .workplace-account-actions button:first-child{background:#eff2e9}body .workplace-header .workplace-account-actions button:hover{background:#e7ebde}
body .workplace-header>.notice{flex-basis:100%;margin:0}
body.workplace-layout>.jeker-brand-header,body.workplace-layout>.mobile-header{display:none}
.account-main.management-main{max-width:1440px;width:100%;padding:42px clamp(24px,3.5vw,52px) 48px;gap:24px}
body .management-main .management-toolbar{margin:0 0 8px;align-items:center}
body .management-main .management-toolbar .eyebrow{display:block;font-size:11px;color:#8b795c;letter-spacing:1.8px;margin-bottom:18px}
body .management-main .management-toolbar h1{margin:0 0 18px}body .management-main .management-subtitle{font-size:17px;color:#77766c}
.workspace-folders{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 28px;padding:0 0 12px;border-bottom:1px solid var(--line)}
.workspace-folders>a{display:flex;align-items:center;min-height:44px;gap:12px;color:#53614e;font-size:14px;padding:4px 0}.workspace-folders strong{font-weight:500}.workspace-folders span{display:none}.workspace-folders>a:hover{color:#263f32;text-decoration:underline;text-underline-offset:5px}
body .management-main .management-metrics{gap:16px}body .management-main .management-metrics article{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:22px 20px;box-shadow:none}
body .management-main .management-metrics article:last-child{background:#eeefdf}body .management-metrics strong{font:400 40px/1.2 Georgia,serif;color:#263f32}
body .management-metrics span,body .management-metrics small{color:#716f63;font-size:13px}.management-metrics a{font-size:13px;color:#53614e;min-height:32px;display:flex;align-items:center}
.account-main.management-main>.daily-panel{position:relative;overflow:hidden;background:var(--green);color:#f4f0df;border:0;border-radius:16px;padding:26px 32px;gap:12px 24px;min-height:140px}
.management-main .daily-panel h2{font:400 26px Georgia,serif;color:#f4f0df}.management-main .daily-panel #daily-summary{color:#e1e3d3;font-size:14px;line-height:1.7}
.management-main .daily-panel .button{color:#344b3d;background:#f4f0df;border:0}.daily-bread{pointer-events:none;opacity:.9}.daily-bread .loaf{width:110px;height:76px}.daily-bread .loaf i{height:36px;width:6px}.daily-bread .loaf{gap:12px}
body .operation-state{font-size:13px;color:#536d46;margin:0}.operation-state.error{color:#873b2b}
.account-main.management-main>.management-task{padding:0;margin:0;border-top:1px solid var(--line)}
.management-task>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;min-height:64px;font-size:17px;font-weight:500;cursor:pointer;list-style:none;color:#344b3d}
.management-task>summary::after{content:'+';font-size:23px;color:#8b795c}.management-task[open]>summary::after{content:'−'}.management-task-content{padding:0 24px 24px;max-width:850px}.management-task-content>p{font-size:14px;line-height:1.7;margin-bottom:12px;color:#69695b}.management-task[open]{grid-column:1/-1}
.staff-main.team-main{width:100%;max-width:1440px;margin:0 auto;padding:42px clamp(24px,3.5vw,52px) 48px}.team-main>h1{margin:0}.team-main>p{color:#77766c}.team-grid>.panel{border-radius:16px}
body.employee-page .employee-main{width:calc(100% - 32px);max-width:600px;margin:32px auto;padding:0 0 110px;text-align:center}
body.employee-page .employee-main>h1{font-size:40px;margin:12px 0}body.employee-page .employee-main>.eyebrow{display:block}body.employee-page .employee-main>.muted{font-size:15px;margin-bottom:24px}
body.employee-page .employee-card{padding:28px;margin-top:0}body.employee-page .employee-icon{width:60px;height:60px;margin:0 auto 18px;background:#eff0e4;color:#8b946e;border-radius:50%;font-size:32px}
body.employee-page #employee-title{font-size:22px;margin:0 0 12px}body.employee-page #employee-message{font-size:15px;color:#69695b;line-height:1.65}
body.employee-page .employee-actions{gap:12px;margin-top:24px}body.employee-page .employee-actions>.button{width:100%;min-height:56px;font-size:16px;padding:15px 18px}
body.employee-page .employee-points{font:400 42px Georgia,serif;color:#344b3d}body.employee-page .privacy{font-size:12px;color:#77766c;line-height:1.6;margin-top:20px}
body.employee-page .employee-card[data-state=success] #employee-status{padding:18px;background:#eff2e9;border:1px solid #b4c6a9;border-radius:12px}
body.employee-page .employee-card[data-state=error] #employee-status{padding:18px;background:#fcf1eb;border:1px solid #d9a28d;border-radius:12px}
body.employee-page .employee-card[data-state=success] #employee-icon{color:#344b3d;background:#dce7d2}body.employee-page .employee-card[data-state=error] #employee-icon{color:#873b2b;background:#f3dbce}body.employee-page .employee-card[data-state=error] #employee-message{color:#873b2b}
body .undo-toast{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom));left:50%;right:auto;transform:translateX(-50%);width:min(calc(100% - 24px),560px);z-index:60;display:flex;align-items:center;gap:12px;padding:16px;background:var(--surface);color:#344b3d;border:1px solid #b4c6a9;border-radius:12px;box-shadow:0 8px 28px #263f3220}
body .undo-toast>span{flex:1;min-width:0;font-size:14px;line-height:1.5}body .undo-toast .button{flex-shrink:0;min-height:48px}
body dialog{max-width:min(480px,calc(100% - 24px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--line);border-radius:16px;padding:28px;background:var(--surface);color:#302f28;box-shadow:0 20px 70px #263f3226}body dialog::backdrop{background:#263f3266;backdrop-filter:blur(2px)}body dialog h2{font:400 28px Georgia,serif}
body .dialog-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}body .dialog-actions .button{flex:1;min-width:140px;min-height:52px}
@media(min-width:1000px){body.workplace-layout{padding-left:var(--workspace-width)}.workspace-sidebar{position:fixed;inset:0 auto 0 0;width:var(--workspace-width);z-index:45;overflow-y:auto}.workspace-menu>summary{display:none}body.workplace-layout .admin-shell{margin-left:0}body.workplace-layout .admin-main{max-width:1440px;padding:42px clamp(24px,3.5vw,52px) 48px}body .undo-toast{left:calc(50% + var(--workspace-width)/2)}}
@media(max-width:999px){.workspace-sidebar{position:relative;padding:16px 20px;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px}.workspace-sidebar .sidebar-label,.workspace-signature{display:none}body .workspace-sidebar .workplace-brand{font-size:28px}.workspace-menu{margin:0;display:contents}.workspace-menu>summary{grid-column:2;grid-row:1;min-width:80px;text-align:center}.workspace-menu[open]>.workplace-nav,.workspace-menu[open]>.workspace-support{grid-column:1/-1}.workspace-menu:not([open])>.workplace-nav,.workspace-menu:not([open])>.workspace-support{display:none!important}.workspace-menu[open]>.workplace-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.workspace-menu[open]>.workspace-support{display:flex;flex-wrap:wrap;margin:0;padding-top:12px}body .workplace-header{padding:12px 20px;gap:10px;min-height:0}body .workplace-header .workplace-account{flex:1;align-items:flex-end}.workplace-breadcrumb{font-size:13px;gap:8px}.workplace-current{font-size:13px}body .workplace-header .workplace-account p{font-size:11px}body .workplace-header .workplace-account-actions button{font-size:12px;padding:10px}body.workplace-layout .admin-main{padding:24px}.account-main.management-main,.staff-main.team-main{padding:28px 24px 40px}.account-main.management-main>.daily-panel{padding:24px}.daily-bread{display:none}}
@media(max-width:699px){body .workplace-header{align-items:flex-start;flex-direction:column;gap:8px}.workplace-breadcrumb{min-height:28px}body .workplace-header .workplace-account{width:100%;flex-direction:row;align-items:center;gap:12px}body .workplace-header .workplace-account p{flex:1}body .workplace-header .workplace-account-actions{width:auto}body .workplace-header .workplace-account-actions button{flex:initial;white-space:nowrap}.account-main.management-main,.staff-main.team-main{padding:24px 16px 36px;gap:18px}body .management-main .management-toolbar{align-items:flex-start}body .management-main .management-toolbar h1{font-size:34px;margin-bottom:12px}body .management-main .management-toolbar .eyebrow{font-size:9px;margin-bottom:12px}body .management-main .management-subtitle{font-size:14px}body .management-main .management-toolbar>.button{font-size:12px;padding:10px}.workspace-folders{gap:8px 20px}body .management-main .management-metrics{gap:10px}body .management-main .management-metrics article{padding:16px 14px}body .management-metrics strong{font-size:34px}.management-metrics small{font-size:12px}.account-main.management-main>.daily-panel{padding:22px;display:block}.management-main .daily-panel h2{margin-bottom:12px}.management-main .daily-panel .button{margin:18px 0 0}.staff-main.team-main{grid-template-columns:minmax(0,1fr)}body.employee-page .employee-main{margin-top:24px}body.employee-page .employee-card{padding:22px}body.employee-page .employee-main>h1{font-size:36px}.workspace-menu[open]>.workplace-nav{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
/* Existing customer balance and stamps, in the original green pass face. */
.account-main .morrow-pass-face{margin:24px 0 0;padding:24px;background:var(--green);color:#f4f0df;border-radius:16px 16px 0 0}
.account-main .morrow-pass-face .account-points{font:400 44px/1.2 Georgia,serif;margin:0 0 20px;color:#f4f0df}
.account-main .morrow-pass-face .stamps{margin:0 0 20px;padding:0}.account-main .morrow-pass-face h2{font-size:16px;color:#e7dfbd}
.account-main #card-qr{background:var(--surface);margin:24px auto}.account-main #customer-card{overflow:hidden}
body.workplace-layout .workplace-header{background:var(--paper)}
@media(min-width:1000px){.workspace-folders{display:none}}
/* The current product navigation owns the card/connection view, including touch/PWA. */
.workplace-layout.admin-page:not(.workspace-connecting) .overview-grid.app-section-hidden{display:grid!important}
.workplace-layout.admin-page:not(.workspace-connecting) .stats.app-section-hidden{display:grid!important}
.workplace-layout.workspace-connecting #connect{display:block!important}
.workplace-layout.workspace-connecting .overview-grid,.workplace-layout.workspace-connecting .stats{display:none!important}

/* Personal app: one vertical scroll surface; no nested fixed touch frames. */
.workspace-menu-content{display:contents}
html.personal-gesture-lock,html.personal-gesture-lock body,html.personal-gesture-lock body *{touch-action:pan-y!important;overscroll-behavior-x:none}
html.personal-gesture-lock,html.personal-gesture-lock body{overscroll-behavior:none}
html:has(body.workplace-layout),html:has(body.staff-access-page){overscroll-behavior:none;scroll-behavior:auto;-webkit-text-size-adjust:100%;touch-action:pan-y pinch-zoom}
html.app-layout:has(body.workplace-layout){height:auto;overflow:visible}
.app-layout body.workplace-layout{position:relative;inset:auto;height:auto;min-height:100dvh;overflow:clip;overflow-y:visible;display:block;padding-top:0}
.app-layout body.workplace-layout .admin-shell{height:auto;display:block}
.app-layout body.workplace-layout .admin-main,.app-layout body.workplace-layout .employee-main{overflow:visible;height:auto;display:block}
.personal-install{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:0 16px;color:var(--green)}
.personal-install summary{min-height:48px;padding:14px 0;font-size:14px;cursor:pointer}
.personal-install p{font-size:14px;margin:0 0 16px}
@media(max-width:999px){
  body.workplace-layout,body.staff-access-page{min-height:100dvh;padding-bottom:env(safe-area-inset-bottom);overflow-x:clip}
  body .workspace-sidebar{position:sticky;top:0;z-index:55;padding:calc(10px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));background:var(--paper);gap:8px}
  body .workspace-sidebar .workplace-brand{font-size:25px}
  .workspace-sidebar .brand-icon{width:36px;height:36px;flex-basis:36px;font-size:28px}
  .workspace-menu>summary{min-height:44px;min-width:76px;background:var(--surface);padding:10px 14px;touch-action:manipulation;list-style:none}
  .workspace-menu>summary::-webkit-details-marker{display:none}
  .workspace-menu>summary::after{content:' ☰';font-size:16px}.workspace-menu[open]>summary::after{content:' ×'}
  .workspace-menu:not([open])>.workspace-menu-content{display:none}
  .workspace-menu[open]>.workspace-menu-content{display:block;position:absolute;top:calc(100% + 6px);left:12px;right:12px;padding:12px;max-height:calc(100dvh - 110px - env(safe-area-inset-top));overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 16px 40px #263f3226}
  body .workspace-menu-content .workplace-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  body .workspace-sidebar .workplace-nav>a{min-height:52px;padding:12px 10px;font-size:14px;gap:8px}
  .workspace-menu-content .workspace-support{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px;padding-top:10px}
  body .workplace-header{position:static;min-height:0;padding:8px 16px;gap:0}
  .workplace-header .workplace-breadcrumb{display:none}
  body .workplace-header .workplace-account{width:100%;display:flex;flex-direction:row;align-items:center;gap:8px}
  body .workplace-header .workplace-account p{flex:1;font-size:11px;line-height:1.4;overflow-wrap:anywhere}
  body .workplace-header .workplace-account-actions{gap:6px}
  body .workplace-header .workplace-account-actions button{min-height:44px;padding:8px 10px;font-size:12px;touch-action:manipulation}
  body.workplace-layout>.account-header{display:none}
  body.workplace-layout button,body.workplace-layout summary,body.staff-access-page button,body.staff-access-page summary{touch-action:manipulation}
  body.employee-page .employee-main{margin:18px auto 0;padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  body.employee-page .employee-main>.eyebrow{display:none}
  body.employee-page .employee-main>h1{font-size:32px;margin:0 0 8px}
  body.employee-page .employee-main>.muted{margin-bottom:16px}
  body.employee-page .employee-card{padding:20px}
  body.employee-page .employee-icon{height:48px;width:48px;margin-bottom:12px;font-size:26px}
  body.employee-page .employee-actions{margin-top:18px}
  body.staff-access-page>.jeker-brand-header{padding:calc(16px + env(safe-area-inset-top)) 20px 12px;margin:0;border-bottom:1px solid var(--line)}
  body.staff-access-page .staff-main{width:min(calc(100% - 32px),600px);margin:16px auto 24px;gap:16px}
  body.staff-access-page .access-intro{padding:0 4px}
  body.staff-access-page .access-intro h1{font-size:34px;margin:6px 0 10px}
  body.staff-access-page #access-description{font-size:15px;margin:0}
  body.staff-access-page .panel{padding:20px;gap:16px}
  body.staff-access-page .panel h2{font-size:19px;margin:0 0 8px}
  body.staff-access-page input:not([type=checkbox]){font-size:16px;min-height:52px}
  body.staff-access-page .remember-device{align-items:flex-start;gap:12px;font-size:14px}
  body.staff-access-page form>.button.primary{min-height:54px;font-size:16px}
  body.staff-access-page .access-footnote{display:none}
}
/* Cashier quantity selection: thumb targets without focusing the number field. */
.quantity-stepper{display:grid;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;gap:12px}
.quantity-stepper .button{width:64px;height:64px;min-height:64px;padding:0;margin:0;justify-content:center;font-size:2rem;line-height:1;touch-action:manipulation}
.quantity-stepper #quantity{height:64px;min-width:0;text-align:center;font-size:1.6rem;font-weight:600;padding:.5rem;appearance:textfield;-moz-appearance:textfield}
.quantity-stepper #quantity::-webkit-inner-spin-button,.quantity-stepper #quantity::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.quantity-stepper .button:disabled{opacity:.4;cursor:default}
