    :root {
      --forest-950:#0c0c0b;
      --forest-900:#171716;
      --forest-800:#292823;
      --forest-700:#454238;
      --leaf-500:#a97800;
      --cream-50:#fffdf7;
      --cream-100:#faf5e8;
      --cream-200:#eee1c4;
      --coffee-700:#6b3f2b;
      --coffee-500:#a2613b;
      --marigold-500:#f0b400;
      --ink-900:#171714;
      --ink-700:#45423a;
      --ink-500:#6f6b60;
      --line:#ded6c4;
      --white:#fff;
      --danger:#ad352b;
      --success:#28724d;
      --focus:#f0b72e;
      --shadow-sm:0 2px 8px rgba(12,12,11,.10);
      --shadow-md:0 16px 38px rgba(12,12,11,.16);
      --radius-sm:10px;
      --radius-md:18px;
      --radius-lg:28px;
      --page:1280px;
      --header:78px;
      --font-sans:"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
      --font-display:Georgia,"Times New Roman",serif;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--cream-50);color:var(--ink-900);font:16px/1.55 var(--font-sans);-webkit-font-smoothing:antialiased}
    body.no-scroll{overflow:hidden}
    button,input,select,textarea{font:inherit}
    button,a{cursor:pointer;touch-action:manipulation}
    button{color:inherit}
    [hidden]{display:none!important}
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    h1,h2,h3,p{margin-top:0}
    h1,h2,.serif{font-family:var(--font-display)}
    h1{font-size:clamp(2.7rem,6vw,5.7rem);line-height:.96;letter-spacing:-.045em;margin-bottom:24px}
    h2{font-size:clamp(2rem,4vw,3.8rem);line-height:1.04;letter-spacing:-.035em;margin-bottom:16px}
    h3{font-size:1.1rem;line-height:1.25;margin-bottom:8px}
    .icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
    .icon-sm{width:17px;height:17px}
    .container{width:min(var(--page),calc(100% - 40px));margin-inline:auto}
    .skip-link{position:fixed;left:16px;top:-60px;z-index:100;background:var(--ink-900);color:var(--white);padding:12px 16px;border-radius:8px;transition:top .18s}
    .skip-link:focus{top:12px}
    :focus-visible{outline:3px solid var(--focus);outline-offset:3px}
    .eyebrow{display:flex;align-items:center;gap:10px;color:var(--forest-700);font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin-bottom:17px}
    .eyebrow::before{content:"";width:28px;height:2px;background:currentColor}
    .muted{color:var(--ink-500)}
    .small{font-size:.86rem}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 20px;border:1px solid var(--forest-900);border-radius:999px;background:var(--forest-900);color:var(--white);font-weight:700;transition:background .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s}
    .btn:hover{background:var(--forest-700);border-color:var(--forest-700);box-shadow:var(--shadow-sm);transform:translateY(-1px)}
    .btn:active{transform:translateY(1px);box-shadow:none}
    .btn.secondary{background:transparent;color:var(--forest-900)}
    .btn.secondary:hover{background:var(--cream-100)}
    .btn.danger{background:#a53225;border-color:#a53225;color:var(--white)}.btn.danger:hover{background:#86261c;border-color:#86261c}
    .btn.light{background:var(--white);border-color:var(--white);color:var(--forest-900)}
    .btn.light:hover{background:var(--cream-100);border-color:var(--cream-100)}
    .btn.ghost{background:transparent;border-color:transparent;color:var(--forest-900);padding-inline:12px}
    .btn.small-btn{min-height:40px;padding-inline:16px;font-size:.87rem}
    .btn.square{width:46px;padding:0;border-radius:50%}
    .btn:disabled{cursor:not-allowed;opacity:.48;transform:none;box-shadow:none}
    .site-header{height:var(--header);position:sticky;top:0;z-index:50;background:rgba(255,253,247,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
    .header-inner{height:100%;display:flex;align-items:center;gap:28px}
    body[data-deployment="staff"] .header-inner{width:calc(100% - 40px);max-width:none}
    .brand{display:flex;align-items:center;gap:11px;flex:none}
    .brand-logo{width:48px;height:48px;border-radius:50%;overflow:hidden;border:1px solid var(--line);background:var(--white)}
    .brand-logo img{width:100%;height:100%;object-fit:cover;transform:scale(1.08)}
    .brand-copy{line-height:1.06}
    .brand-name{display:block;font-weight:800;letter-spacing:.08em;font-size:1rem}
    .brand-tag{display:block;color:var(--ink-500);font-size:.67rem;letter-spacing:.08em;text-transform:uppercase;margin-top:5px}
    .desktop-nav{display:flex;align-items:center;gap:4px;margin-left:12px}
    .nav-link{min-height:44px;border:0;background:transparent;border-radius:999px;padding:0 14px;font-weight:700;font-size:.88rem;color:var(--ink-700);transition:background .18s,color .18s}
    .nav-link.menu-link{color:var(--forest-800)}
    .nav-link:hover{background:var(--cream-100);color:var(--forest-900)}
    .nav-link.active{color:var(--forest-900);background:var(--cream-200)}
    .header-actions{margin-left:auto;display:flex;align-items:center;gap:8px}
    .auth-actions{display:flex;align-items:center;gap:8px}
    .member-chip{display:flex;align-items:center;gap:9px;padding:5px 7px 5px 5px;border-radius:999px;border:1px solid var(--line);background:var(--white);color:var(--ink-900)}
    .member-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:var(--forest-900);color:var(--white);font-size:.74rem;font-weight:800}.member-avatar img{display:block;width:100%;height:100%;object-fit:cover}
    .member-chip span:last-child{font-size:.82rem;font-weight:700;padding-right:4px}
    .staff-member-chip{display:flex;align-items:center;gap:9px;padding:5px 12px 5px 5px;border:1px solid var(--line);border-radius:999px;background:var(--white)}
    .staff-member-chip[hidden]{display:none!important}
    .staff-member-copy{display:grid;gap:2px;line-height:1.1}
    .staff-member-copy strong{font-size:.8rem;font-weight:800}
    .staff-member-copy small{font-size:.67rem;color:var(--ink-500);font-weight:600}
    .mobile-menu-btn{display:none;border:0;background:transparent;width:46px;height:46px;border-radius:50%;place-items:center}
    .mobile-menu{display:none;position:fixed;inset:var(--header) 0 auto;background:var(--cream-50);z-index:45;border-bottom:1px solid var(--line);padding:12px 20px 22px;box-shadow:var(--shadow-md)}
    .mobile-menu.open{display:grid}
    .mobile-menu .nav-link{text-align:left;border-radius:8px;justify-content:flex-start}
    .mobile-menu .btn{margin-top:10px}
    .mobile-bottom-nav{display:none}
    .page{display:none;min-height:calc(100vh - var(--header));animation:pageIn .3s ease both}
    .page.active{display:block}
    .page h1[tabindex="-1"]:focus{outline:none}
    @keyframes pageIn{from{opacity:.2;transform:translateY(5px)}to{opacity:1;transform:none}}
    .hero{padding:34px 0 24px}
    .hero-card{min-height:610px;border-radius:var(--radius-lg);overflow:hidden;position:relative;display:flex;align-items:center;background:var(--coffee-700);color:var(--white);box-shadow:var(--shadow-md)}
    .hero-card::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(73,38,25,.95) 0%,rgba(91,49,31,.76) 34%,rgba(91,49,31,.12) 66%,rgba(91,49,31,0) 100%);pointer-events:none}
    .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
    .hero-content{position:relative;z-index:2;padding:68px;max-width:650px}
    .hero-content .eyebrow{color:#f1d6bb}
    .hero-content p{max-width:540px;color:#fff0e4;font-size:1.12rem;margin-bottom:30px}
    .hero-actions{display:flex;flex-wrap:wrap;gap:11px}
    .service-strip{margin:22px 0 0;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;background:var(--white)}
    .service-stat{padding:25px 27px;display:flex;gap:15px;align-items:center}
    .service-stat+.service-stat{border-left:1px solid var(--line)}
    .stat-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--cream-100);color:var(--forest-800);flex:none}
    .service-stat strong{display:block;font-size:1rem}
    .service-stat span{display:block;color:var(--ink-500);font-size:.83rem;margin-top:2px}
    .home-section{padding:92px 0}
    .section-head{max-width:760px;margin-bottom:34px}
    .section-head p{max-width:610px;color:var(--ink-500);font-size:1.05rem}
    .feature-row{display:grid;grid-template-columns:1fr 1fr;min-height:470px;background:var(--cream-100);overflow:hidden}
    .feature-row+.feature-row{margin-top:24px}
    .feature-row.reverse .feature-art{order:2}
    .feature-copy{padding:clamp(38px,6vw,82px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
    .feature-copy h2{font-size:clamp(2rem,4vw,3.5rem)}
    .feature-copy p{color:var(--ink-700);max-width:520px;margin-bottom:25px}
    .feature-art{position:relative;min-height:420px;background:var(--coffee-700);overflow:hidden;display:grid;place-items:center;color:var(--white)}
    .feature-art.green{background-color:#231c16;background-image:linear-gradient(90deg,rgba(20,16,12,.86) 0%,rgba(20,16,12,.46) 52%,rgba(20,16,12,.22) 100%),url('../assets/teamco-loans-background.04ad773583ae.png');background-position:center;background-size:cover}.feature-art.green::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,12,10,.48),transparent 55%);pointer-events:none}.feature-art.green .loan-art,.feature-art.green .feature-note{position:relative;z-index:1}.feature-art.green .loan-art{background:rgba(255,253,248,.96);backdrop-filter:blur(4px)}
    .coffee-photo-art{display:block;background:var(--forest-950)}
    .feature-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
    .coffee-photo-art::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,12,11,.72) 0%,rgba(12,12,11,.08) 44%,rgba(12,12,11,.04) 100%);pointer-events:none}
    .cup-illustration{position:relative;width:210px;height:210px;border-radius:18px 18px 70px 70px;background:var(--cream-200);box-shadow:inset -22px -14px rgba(111,63,40,.18);transform:rotate(-7deg)}
    .cup-illustration::before{content:"";position:absolute;width:82px;height:82px;right:-60px;top:48px;border:20px solid var(--cream-200);border-left:0;border-radius:0 50% 50% 0}
    .cup-illustration::after{content:"";position:absolute;left:17px;top:10px;width:176px;height:40px;border-radius:50%;background:#3d2117;box-shadow:inset 0 8px #25140e}
    .feature-note{position:absolute;z-index:1;left:28px;bottom:25px;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
    .loan-art{width:min(360px,72%);background:var(--cream-50);color:var(--ink-900);border-radius:20px;padding:26px;transform:rotate(3deg);box-shadow:var(--shadow-md)}
    .loan-art small{color:var(--ink-500)}
    .loan-art strong{display:block;font-family:var(--font-display);font-size:2.6rem;line-height:1;margin:18px 0 7px}
    .loan-meter{height:8px;background:var(--cream-200);border-radius:99px;margin-top:25px;overflow:hidden}
    .loan-meter span{display:block;width:68%;height:100%;background:var(--marigold-500)}
    .trust-band{background:var(--forest-900);color:var(--white);padding:60px 0}
    .trust-grid{display:grid;grid-template-columns:1.1fr repeat(3,.6fr);gap:30px;align-items:center}
    .trust-grid h2{font-size:clamp(2rem,3.6vw,3.3rem);margin:0}
    .trust-number{border-left:1px solid rgba(255,255,255,.24);padding-left:30px}
    .trust-number strong{display:block;font:700 2.3rem/1 var(--font-display)}
    .trust-number span{display:block;color:#d3ded7;font-size:.83rem;margin-top:8px}
    .page-banner{padding:58px 0 42px;background:var(--cream-100);border-bottom:1px solid var(--line)}
    .page-banner-inner{display:flex;align-items:end;justify-content:space-between;gap:30px}
    .page-banner h1{font-size:clamp(2.6rem,5vw,4.8rem);max-width:720px;margin-bottom:12px}
    .page-banner p{max-width:570px;color:var(--ink-500);margin:0}

    .get-started-intro,.get-started-guide{display:grid;gap:clamp(24px,5vw,64px);max-width:1040px}
    .get-started-intro{align-items:center}
    .get-started-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
    .get-started-actions .btn.ghost{color:var(--white);text-decoration:underline;text-underline-offset:.2em}
    .get-started-photo{display:none;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-lg)}
    .get-started-guide{align-items:start;padding-block:clamp(32px,6vw,68px)}
    .get-started-guide h2{font-size:clamp(1.65rem,3vw,2.5rem)}
    .get-started-guide p,.get-started-guide ol{color:var(--ink-700)}
    .get-started-guide ol{margin:0 0 16px;padding-inline-start:1.35em}
    .get-started-guide li+li{margin-top:8px}
    .get-started-guide p:last-child{margin-bottom:0}
    .get-started-phone{padding:clamp(18px,4vw,32px);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--cream-100)}
    .get-started-phone details{border-top:1px solid var(--line)}
    .get-started-phone summary{min-height:44px;padding-block:10px;font-weight:700;cursor:pointer}
    .get-started-phone .btn{min-height:44px;margin-bottom:16px}
    @media (min-width:760px){
      .get-started-intro{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
      .get-started-guide{grid-template-columns:repeat(2,minmax(0,1fr))}
      .get-started-photo{display:block}
    }
    .availability{display:inline-flex;align-items:center;gap:8px;background:var(--white);border:1px solid var(--line);border-radius:999px;padding:9px 14px;font-size:.82rem;font-weight:700;white-space:nowrap}
    .availability::before{content:"";width:8px;height:8px;border-radius:50%;background:#2e9c62;box-shadow:0 0 0 4px rgba(46,156,98,.12)}
    .app-section{padding:54px 0 92px}
    .order-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:28px;align-items:start}
    .filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 28px}
    .filter-btn{border:1px solid var(--line);background:var(--white);border-radius:999px;min-height:42px;padding:0 17px;font-weight:700;color:var(--ink-700);transition:.18s}
    .filter-btn:hover,.filter-btn.active{background:var(--forest-900);border-color:var(--forest-900);color:var(--white)}
    .menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
    .catalog-intro{display:flex;align-items:end;justify-content:space-between;gap:24px}.catalog-intro h2{font-size:clamp(1.7rem,2.7vw,2.5rem);margin:0 0 6px}.catalog-intro p{max-width:620px;margin:0}.catalog-filter-row{margin-bottom:24px}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.catalog-card{display:grid;grid-template-rows:190px 1fr;border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;background:var(--white);transition:border-color .2s,box-shadow .2s,transform .2s}.catalog-card:hover{border-color:#aab9af;box-shadow:var(--shadow-sm);transform:translateY(-2px)}.catalog-card.is-unavailable{background:var(--cream-50)}.catalog-visual{display:grid;place-items:center;background:var(--cream-100);color:var(--coffee-700)}.catalog-visual.snack{color:var(--marigold-500);background:#fff6d6}.catalog-visual .icon{width:48px;height:48px}.catalog-visual img{width:100%;height:100%;object-fit:cover}.catalog-copy{display:grid;gap:9px;padding:18px}.catalog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.catalog-heading h2{font:700 1.15rem/1.2 var(--font-sans);margin:0}.catalog-copy p{margin:0;color:var(--ink-500);font-size:.82rem;line-height:1.5}.menu-status{display:inline-flex;align-items:center;gap:4px;flex:none;border-radius:999px;padding:4px 7px;font-size:.66rem;font-weight:800;white-space:nowrap}.menu-status .icon{width:13px;height:13px}.menu-status.available{background:#e0f0e5;color:#286044}.menu-status.unavailable{background:var(--cream-200);color:var(--ink-700)}.catalog-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}.catalog-footer>strong{font:700 1.3rem var(--font-display)}.catalog-unavailable-note{color:var(--ink-500);font-size:.74rem;font-weight:700}.catalog-empty{grid-column:1/-1;padding:36px 0;color:var(--ink-500)}
    .catalog-card{display:block;min-height:328px}.catalog-visual{position:relative;display:grid;min-height:328px;overflow:hidden;isolation:isolate;place-items:stretch;background:var(--forest-900);color:var(--white)}.catalog-visual.snack{background:var(--coffee-700);color:var(--white)}.catalog-visual>img{display:block;position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover}.catalog-visual::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(to top,rgba(12,12,11,.94) 0%,rgba(12,12,11,.68) 47%,rgba(12,12,11,.08) 100%)}.catalog-visual>.icon{position:relative;z-index:2;align-self:center;justify-self:center}.catalog-visual>.catalog-copy{position:relative;z-index:2;align-self:end;display:grid;gap:9px;padding:18px;color:var(--white);text-shadow:0 1px 1px rgba(0,0,0,.28)}.catalog-copy p{color:rgba(255,255,255,.88)}.catalog-heading h2{color:var(--white)}.catalog-footer>strong{color:var(--white)}.catalog-unavailable-note{color:rgba(255,255,255,.88)}.catalog-footer .btn.secondary{background:var(--white);border-color:var(--white);color:var(--ink-900);text-shadow:none}.catalog-footer .btn.secondary:hover{background:var(--cream-100);border-color:var(--cream-100)}
    .catalog-visual:not(.is-loaded){background:linear-gradient(110deg,#1b1815 20%,#3a3027 42%,#1b1815 64%);background-size:200% 100%;animation:catalog-image-pulse 1.25s ease-in-out infinite}.catalog-visual>img{opacity:0;transition:opacity .24s ease;z-index:1}.catalog-visual.is-loaded>img{opacity:1}.catalog-visual::after{z-index:2}.catalog-visual>.icon{z-index:3}.catalog-visual>.catalog-copy{z-index:3}@keyframes catalog-image-pulse{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.catalog-visual:not(.is-loaded){animation:none}}
    .product-card{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:15px;align-items:center;padding:16px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);transition:box-shadow .2s,border-color .2s,transform .2s}
    .product-card:hover{border-color:#aab9af;box-shadow:var(--shadow-sm);transform:translateY(-1px)}
    .product-visual{width:72px;height:76px;border-radius:14px;background:var(--cream-100);display:grid;place-items:center;color:var(--coffee-700)}
    .product-visual.snack{color:var(--marigold-500);background:#fff6d6}
    .product-visual img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
    .product-visual .icon{width:34px;height:34px;stroke-width:1.5}
    .product-copy p{font-size:.82rem;color:var(--ink-500);margin:0}
    .product-copy strong{display:block;margin-top:6px;color:var(--forest-800)}
    .add-product{width:44px;height:44px;flex:none;border-radius:50%;border:0;background:var(--forest-900);color:var(--white);display:grid;place-items:center;transition:.18s}.add-product.has-label{width:auto;min-width:94px;padding:0 12px;border-radius:999px;grid-auto-flow:column;gap:7px;font-size:.76rem;font-weight:800;white-space:nowrap}.add-product.has-label .icon{width:16px;height:16px}
    .add-product:hover{background:var(--forest-700);transform:rotate(4deg)}
    .order-panel{position:sticky;top:calc(var(--header) + 18px);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);overflow:hidden;box-shadow:var(--shadow-sm)}
    .panel-head{padding:22px 23px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}
    .panel-head h2,.panel-head h3{font-family:var(--font-sans);font-size:1.05rem;margin:0}
    .cart-count{background:var(--cream-100);border-radius:999px;padding:5px 9px;font-size:.74rem;font-weight:700}
    .order-schedule-notice{display:grid;gap:3px;margin:0 22px 12px;padding:12px 13px;border:1px solid #d8c177;border-radius:10px;background:#fff7dd;color:var(--ink-900);font-size:.79rem;line-height:1.4}.order-schedule-notice strong{font-size:.83rem}.order-schedule-notice span{color:var(--ink-700)}
    .cart-items{padding:8px 22px;max-height:285px;overflow:auto}
    .cart-empty{padding:42px 10px;text-align:center;color:var(--ink-500)}
    .cart-empty .icon{width:30px;height:30px;margin:0 auto 10px}
    .cart-item{padding:14px 0;border-bottom:1px solid var(--line)}
    .cart-item-top{display:flex;justify-content:space-between;gap:12px;font-size:.9rem}
    .cart-item-meta{color:var(--ink-500);font-size:.75rem;margin-top:4px}
    .cart-item-actions{display:flex;gap:3px;align-items:center;margin-top:8px}
    .qty-btn,.remove-btn{border:0;background:var(--cream-100);min-width:44px;height:44px;border-radius:8px;display:grid;place-items:center;font-weight:700}
    .remove-btn{margin-left:auto;width:auto;padding-inline:9px;color:var(--danger);background:transparent;font-size:.76rem}
    .cart-total{padding:18px 22px;border-top:1px solid var(--line);background:var(--cream-50)}
    .total-row{display:flex;justify-content:space-between;gap:16px;margin-bottom:8px;font-size:.85rem}
    .total-row.final{font-size:1rem;font-weight:800;margin:13px 0 18px}
    .total-row.final strong{font-size:1.25rem}
    .cart-total .btn{width:100%}
    .step-note{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:var(--cream-100);border-radius:10px;color:var(--ink-700);font-size:.78rem;margin-top:12px}
    .loan-layout{display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:28px;align-items:start}
    .loan-options{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
    .loan-card{position:relative;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);padding:22px;display:flex;flex-direction:column;min-height:315px;transition:.2s}
    .loan-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}
    .loan-card.featured{border:2px solid var(--forest-800)}
    .loan-badge{align-self:flex-start;background:var(--cream-200);color:var(--forest-900);padding:5px 9px;border-radius:999px;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
    .loan-card h3{font:700 1.7rem var(--font-display);margin:22px 0 6px}
    .loan-rate{color:var(--forest-700);font-size:.83rem;font-weight:700}
    .loan-card ul{padding-left:19px;color:var(--ink-500);font-size:.86rem;flex:1}
    .loan-card .btn{width:100%;font-size:.82rem}
    .calculator{border-radius:var(--radius-md);background:var(--forest-900);color:var(--white);padding:27px;position:sticky;top:calc(var(--header) + 18px)}
    .calculator h2{font-family:var(--font-sans);font-size:1.25rem;margin-bottom:6px}
    .calculator>p{color:#cad7cf;font-size:.86rem;margin-bottom:22px}
    .field{display:grid;gap:7px;margin-bottom:16px}
    .field label,.field-label{font-size:.79rem;font-weight:700}
    .field input,.field select,.field textarea{width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--line);border-radius:9px;background:var(--white);color:var(--ink-900);font-size:1rem}
    .payment-methods{display:grid;gap:10px;margin:0;padding:0;border:0}.payment-methods legend{padding:0 0 10px;font-weight:800;font-size:.92rem}.payment-option{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--cream-50);cursor:pointer;transition:border-color .18s,background .18s}.payment-option:has(input:checked){border-color:var(--forest-700);background:#eef7f0}.payment-option input{width:19px;height:19px;margin:2px 0 0;accent-color:var(--forest-800);flex:none}.payment-option span{display:grid;gap:3px}.payment-option strong{font-size:.88rem}.payment-option small{color:var(--ink-500);font-size:.76rem;line-height:1.35}.payment-order-summary{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:14px 0 0;border-top:1px solid var(--line)}.payment-order-summary span{color:var(--ink-500);font-size:.82rem}.payment-order-summary strong{font:700 1.25rem/1 var(--font-display)}.counter-product-picker{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.counter-product-search{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:end}.counter-product-search label{font-size:.79rem;font-weight:800}.counter-product-search input{grid-column:1/-1;width:100%;min-height:42px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--white);color:var(--ink-900)}.counter-product-search span{grid-column:2;grid-row:1;color:var(--ink-500);font-size:.72rem;white-space:nowrap}.counter-product-filters{margin:10px 0 0}.counter-product-filters .filter-btn{min-height:36px;padding-inline:13px;font-size:.75rem}.walk-in-order-list{display:grid;gap:8px;margin-top:12px;max-height:360px;overflow:auto}.walk-in-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--cream-50)}.walk-in-item small{display:block;margin-top:2px;color:var(--ink-500)}.walk-in-empty{margin:0;padding:18px;text-align:center;color:var(--ink-500);font-size:.82rem}.walk-in-quantity{display:flex;align-items:center;gap:10px}.walk-in-quantity button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--white);font-size:20px;line-height:1;cursor:pointer}.walk-in-quantity button:disabled{opacity:.4;cursor:not-allowed}.walk-in-quantity span{min-width:14px;text-align:center;font-weight:700}
    .unavailable-order-item{background:#fff4ef}.unavailable-order-item small{color:#9b342a}.unavailable-order-item .walk-in-quantity button{width:auto;padding-inline:9px;border-radius:8px;color:#9b342a;font-size:.72rem;font-weight:800}
    .pos-customer{display:grid;gap:10px;margin-bottom:16px}.pos-customer .field small{color:var(--ink-500);font-size:.74rem}.pos-customer-results{display:grid;gap:6px}.pos-customer-results:empty{display:none}.pos-customer-result{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink-900);text-align:left;cursor:pointer}.pos-customer-result:hover,.pos-customer-result:focus-visible{border-color:var(--forest-700);background:#eef7f0}.pos-customer-result span{display:grid;gap:2px;min-width:0}.pos-customer-result strong{font-size:.86rem;overflow-wrap:anywhere}.pos-customer-result small{color:var(--ink-500);font-size:.74rem}.pos-customer-result em{flex:none;font-style:normal;font-size:.7rem;font-weight:800;color:var(--forest-800)}.pos-selected-customer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--forest-700);border-radius:12px;background:#eef7f0}.pos-selected-customer div{display:grid;gap:2px;min-width:0}.pos-selected-customer strong{overflow-wrap:anywhere}.pos-selected-customer small{color:var(--ink-500);font-size:.76rem}.pos-selected-customer .btn{min-height:44px}
    .modal.modal-register{width:min(1280px,100%);height:calc(100vh - 40px);height:calc(100dvh - 40px);display:flex;flex-direction:column;overflow:hidden}.modal-register .modal-head{flex:none}.modal-register .modal-body{flex:1;min-height:0;padding:0;overflow:hidden}.modal-register .modal-actions{flex:none;padding:14px 22px;border-top:1px solid var(--line);background:var(--white)}.pos-submit{min-width:210px}
    .modal-register .modal-head h2 { font-size:1.5rem; }
    .pos-register { display:grid; grid-template-columns:minmax(0,1fr) clamp(300px,32%,400px); grid-template-rows:auto minmax(0,1fr); height:100%; }
    .pos-category-rail { grid-column:1/-1; display:flex; align-items:center; gap:14px; min-width:0; padding:10px 18px; background:var(--cream-100); border-bottom:1px solid var(--line); }
    .pos-category-rail h3 { margin:0; font:800 1.15rem var(--font-sans); }
    .pos-category-rail .counter-product-filters { display:flex; flex-wrap:wrap; gap:6px; margin:0; }
    .pos-category-rail .filter-btn { min-height:44px; border-radius:var(--radius-sm); font-size:.88rem; }
    .pos-category-rail .filter-btn.active, .modal-register .pos-submit { background:var(--marigold-500); border-color:var(--marigold-500); color:var(--ink-900); }
    .modal-register .pos-submit:hover { background:var(--focus); border-color:var(--focus); }
    .pos-menu { display:flex; flex-direction:column; min-height:0; min-width:0; background:var(--cream-50); }
    .pos-menu-bar { flex:none; padding:16px 18px 12px; border-bottom:1px solid var(--line); background:var(--cream-50); }
    .pos-tiles { flex:1; min-height:0; overflow:auto; display:grid; grid-auto-rows:max-content; align-content:start; gap:0 14px; padding:0 18px 18px; }
    .pos-tiles .walk-in-empty { grid-column:1/-1; }
    .pos-tile { position:relative; display:grid; grid-template-columns:58px minmax(0,1fr) auto 30px; align-items:center; gap:8px; min-width:0; min-height:78px; padding:9px 4px; border:0; border-bottom:1px solid var(--line); background:transparent; color:var(--ink-900); font:inherit; text-align:left; }
    .pos-tile:hover:not(:disabled), .pos-tile.in-ticket { background:var(--cream-100); }
    .pos-tile:focus-visible { outline:3px solid var(--focus); outline-offset:-3px; }
    .pos-tile:disabled { cursor:not-allowed; color:var(--ink-500); }
    .pos-tile:disabled .pos-tile-media { opacity:.65; }
    .pos-tile-media { display:block; width:58px; height:58px; overflow:hidden; border-radius:var(--radius-sm); background:var(--cream-100); }
    .pos-tile-media img { display:block; width:100%; height:100%; object-fit:cover; }
    .pos-tile-initial { display:grid; place-items:center; height:100%; color:var(--coffee-500); font:700 1.5rem/1 var(--font-display); }
    .pos-tile-name { font-size:.88rem; font-weight:800; line-height:1.25; overflow-wrap:anywhere; }
    .pos-tile-meta { display:grid; gap:2px; justify-items:end; font-size:.84rem; }
    .pos-tile:disabled .pos-tile-meta { grid-column:3/-1; }
    .pos-tile-stock { color:var(--danger); font-size:.72rem; font-weight:700; }
    .pos-tile-add { display:grid; place-items:center; width:30px; height:30px; border:1px solid var(--leaf-500); border-radius:50%; color:var(--leaf-500); }
    .pos-tile-add .icon { width:16px; height:16px; }
    .pos-tile-count { position:absolute; left:40px; top:5px; display:grid; place-items:center; min-width:22px; height:22px; padding:0 4px; border-radius:999px; background:var(--ink-900); color:var(--white); font-size:.72rem; font-weight:800; }
    @media (min-width:1000px) {
      .pos-register { grid-template-columns:148px minmax(0,1fr) clamp(300px,32%,400px); grid-template-rows:minmax(0,1fr); }
      .pos-category-rail { grid-column:auto; flex-direction:column; align-items:stretch; padding:18px 12px; border-right:1px solid var(--line); border-bottom:0; }
      .pos-category-rail .counter-product-filters { display:grid; }
      .pos-category-rail .filter-btn { text-align:left; }
    }
    @media (min-width:1180px) { .pos-tiles { grid-template-columns:repeat(2,minmax(0,1fr)); } }
    .pos-ticket{display:flex;flex-direction:column;gap:12px;min-height:0;overflow:auto;padding:18px 20px 22px;border-left:1px solid var(--line);background:var(--white)}.pos-customer{margin:0}.pos-ticket-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.pos-ticket-head h3{margin:0;font:700 1.1rem/1.2 var(--font-display)}.pos-ticket-head span{color:var(--ink-500);font-size:.78rem}.pos-ticket-lines{display:grid;margin-top:6px}.pos-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line)}.pos-line-name{display:grid;gap:2px;min-width:0}.pos-line-name strong{font-size:.84rem;overflow-wrap:anywhere}.pos-line-name small{color:var(--ink-500);font-size:.72rem}.pos-line .walk-in-quantity{gap:6px}.pos-line-total{min-width:62px;text-align:right;font-size:.86rem}.pos-ticket-empty{margin:6px 0 0;padding:22px 12px;border:1px dashed var(--line);border-radius:12px;color:var(--ink-500);font-size:.82rem;text-align:center}
    .pos-menu-bar label, .pos-ticket-head h3 { font:800 1.2rem var(--font-sans); }
    .pos-line-item { display:flex; align-items:center; gap:8px; min-width:0; }
    .pos-line-thumbnail { width:46px; height:46px; flex:none; object-fit:cover; border-radius:var(--radius-sm); }
    .pos-order-details{margin-top:12px;padding:0 12px;border:1px solid var(--line);border-radius:12px}.pos-order-details summary{display:flex;align-items:center;min-height:44px;font-size:.8rem;font-weight:700;cursor:pointer}.pos-order-details[open]{padding-bottom:12px}.pos-order-details .field+.field{margin-top:10px}.pos-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px;padding-top:12px;border-top:2px solid var(--forest-900)}.pos-total span{font-size:.86rem;font-weight:800}.pos-total strong{font:700 1.65rem/1 var(--font-display)}
    .pos-pickup-payment { margin:0; padding:10px 12px; border-radius:var(--radius-sm); background:var(--cream-100); color:var(--ink-700); font-size:.85rem; }
    .pos-ticket .notice { margin:0; }
    @media (max-width:760px) {
      .modal-backdrop:has(.modal-register) { padding:12px; }
      .modal.modal-register { height:calc(100dvh - 24px); }
      .modal-register .modal-body { overflow:auto; }
      .pos-register { display:block; height:auto; }
      .pos-menu { display:block; }
      .pos-menu-bar { padding:12px 16px 10px; }
      .pos-tiles { max-height:46dvh; padding-inline:16px; }
      .pos-ticket { overflow:visible; padding:16px; border-left:0; border-top:1px solid var(--line); }
      .modal-register .modal-actions { padding:12px 16px; }
    }
    @media (max-width:520px) {
      .pos-category-rail { align-items:flex-start; flex-direction:column; gap:6px; padding-inline:16px; }
      .pos-tile { grid-template-columns:48px minmax(0,1fr) auto 26px; }
      .pos-tile-media { width:48px; height:48px; }
      .pos-tile-add { width:26px; height:26px; }
      .pos-tile-count { left:32px; }
      .pos-line-thumbnail { display:none; }
      .modal-register .modal-actions .pos-submit { flex:1; min-width:0; }
    }
    .menu-temperature-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.temperature-choice-toggle{display:inline-flex;align-items:center;gap:8px;color:var(--ink-700);font-size:.8rem;font-weight:700;cursor:pointer}.temperature-choice-toggle input{width:18px;height:18px;margin:0;accent-color:var(--forest-800)}.temperature-choice-toggle input:disabled{cursor:not-allowed}.drink-customization{display:grid;gap:18px}.temperature-options{display:flex;gap:10px;margin:0;padding:0;border:0}.temperature-options legend{width:100%;margin-bottom:9px;font-size:.79rem;font-weight:700}.temperature-option{position:relative;flex:1;cursor:pointer}.temperature-option input{position:absolute;opacity:0;pointer-events:none}.temperature-option span{display:grid;place-items:center;min-height:52px;border:1px solid var(--line);border-radius:10px;background:var(--cream-50);font-weight:800}.temperature-option input:focus-visible+span{outline:3px solid var(--focus);outline-offset:3px}.temperature-option input:checked+span{border-color:var(--forest-800);background:#eaf3ed;color:var(--forest-900);box-shadow:inset 0 0 0 1px var(--forest-800)}.temperature-option input:disabled+span{opacity:.5;cursor:not-allowed}.sugar-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sugar-options .temperature-option span{min-height:46px;font-size:.82rem}.drink-instructions{margin:0}.drink-instructions textarea{min-height:76px}
    .calculator .field input,.calculator .field select{border-color:rgba(255,255,255,.32)}
    .calc-output{margin-top:23px;padding-top:22px;border-top:1px solid rgba(255,255,255,.2)}
    .calc-output span{display:block;color:#cad7cf;font-size:.78rem}
    .calc-output strong{display:block;font:700 2.8rem/1 var(--font-display);margin:8px 0}
    .calc-output small{color:#cad7cf}
    .form-shell{margin-top:30px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);padding:30px}
    .form-title{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:24px}
    .form-title h2{font-family:var(--font-sans);font-size:1.35rem;margin:0 0 5px}
    .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 17px}
    .field.wide{grid-column:1/-1}
    .phone-input{display:grid;grid-template-columns:minmax(92px,auto) minmax(0,1fr);gap:8px}
    .field .phone-input select{width:auto;padding-right:8px}
    .password-input{position:relative}
    .field .password-input input{padding-right:68px}
    .password-toggle{position:absolute;top:2px;right:2px;min-width:56px;min-height:44px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:var(--forest-900);font-size:.83rem;font-weight:700;cursor:pointer}
    .password-toggle:hover{background:var(--cream-100)}
    .password-toggle:focus-visible{outline:2px solid var(--forest-800);outline-offset:-2px}
    .field-hint{margin:-8px 0 0}
    .register-steps{display:grid;gap:6px;margin:12px 0;padding-left:22px;color:var(--ink-700)}
    .field select:required:invalid{color:var(--ink-500)}
    .field select option{color:var(--ink-900)}
    .consent{display:flex;gap:10px;align-items:flex-start;color:var(--ink-700);font-size:.83rem;margin:4px 0 20px}
    .consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--forest-800)}
    .notice{min-height:22px;margin:12px 0 0;font-size:.83rem;color:var(--success)}
    .notice.error{color:var(--danger)}
    .account-shell{display:grid;grid-template-columns:230px 1fr;gap:30px}
    .account-shell>div{min-width:0}
    .account-nav{border-right:1px solid var(--line);padding-right:24px}
    .profile-mini{min-height:190px;padding:24px 18px;background:var(--forest-900);color:var(--white);border-radius:var(--radius-md);margin-bottom:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
    .profile-mini .member-avatar{width:74px;height:74px;margin:0 0 15px;background:var(--cream-100);color:var(--forest-900);border:2px solid rgba(240,180,0,.75);font-size:1.42rem;letter-spacing:-.06em;box-shadow:0 0 0 4px rgba(255,255,255,.08)}
    .profile-mini strong,.profile-mini span{display:block}
    .profile-mini span.member-avatar{display:grid;place-items:center;line-height:1}
    .profile-mini strong{font-size:.96rem}
    .profile-mini span{font-size:.77rem;color:#cfdbd3;margin-top:3px}
    .account-link{width:100%;display:flex;align-items:center;gap:10px;border:0;background:transparent;border-radius:10px;min-height:46px;padding:0 12px;font-weight:700;font-size:.88rem;color:var(--ink-700);text-align:left}
    .account-link>.icon{display:block;width:18px;height:18px;stroke-width:1.9}
    .account-link:hover,.account-link.active{background:var(--cream-100);color:var(--forest-900)}
    .account-logout{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);border-radius:0;color:var(--ink-500)}
    .account-logout:hover{background:transparent;color:var(--forest-900)}
    .account-view{display:none}
    .account-view.active{display:block;animation:pageIn .25s ease both}
    .account-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}
    .account-heading h2{font-family:var(--font-sans);font-size:1.65rem;margin:0 0 5px}
    .menu-admin-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
    .stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px}.stats-grid .stat-card.primary{display:none}.stat-card.tab-receivable{background:var(--cream-100);border-color:#ead9aa}.stat-card.tab-receivable .stat-icon{background:#fff7de;color:var(--coffee-700)}
    .stat-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);padding:21px}
    .stat-card.primary{background:var(--forest-900);color:var(--white);border-color:var(--forest-900)}
    .stat-card .stat-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:27px}
    .stat-card .stat-icon>.icon{display:block;width:24px;height:24px;stroke-width:2}
    .stat-card.primary .stat-icon{background:rgba(255,255,255,.12);color:var(--white)}
    .stat-card>span:not(.stat-icon){display:block;color:var(--ink-500);font-size:.78rem}
    .stat-card.primary>span:not(.stat-icon){color:#cfdbd3}
    .stat-card strong{display:block;font:700 1.8rem/1.15 var(--font-display);margin:7px 0}
    .panel{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);overflow:hidden}
    .notification-panel{margin-bottom:22px}.notification-panel .panel-head{align-items:center}.notification-panel .panel-head h3{margin-bottom:3px}.notification-count{min-width:26px;height:26px;display:grid;place-items:center;border-radius:999px;background:var(--cream-200);color:var(--forest-900);font-size:.74rem;font-weight:800}
    .notification-list{display:grid;gap:9px;padding:14px 18px}.notification-item{width:100%;display:flex;align-items:flex-start;gap:12px;padding:13px;border:1px solid transparent;border-radius:12px;background:var(--cream-50);color:inherit;text-align:left;transition:border-color .18s,background .18s,transform .18s}.notification-item:hover{background:var(--cream-100);border-color:var(--line);transform:translateY(-1px)}.notification-item:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.notification-item.is-unread{border-color:#d9e8df;background:#f7fbf8}.notification-icon{width:40px;height:40px;display:grid;place-items:center;flex:none;border-radius:50%;background:var(--cream-100);color:var(--forest-800)}.notification-item.is-unread .notification-icon{background:#e0f0e5;color:#286044}.notification-icon .icon{width:18px;height:18px}.notification-copy{display:grid;min-width:0;gap:3px;flex:1}.notification-title{display:flex;align-items:center;gap:8px;min-width:0}.notification-item strong{font-size:.86rem}.notification-message{color:var(--ink-500);font-size:.79rem;line-height:1.45}.notification-meta{display:flex;align-items:center;gap:8px;margin-top:4px;color:var(--ink-500);font-size:.7rem}.notification-order,.notification-unread{display:inline-flex;align-items:center;width:max-content;border-radius:999px;font-size:.65rem;font-weight:800}.notification-order{padding:3px 7px;background:var(--cream-200);color:var(--forest-900)}.notification-unread{padding:3px 7px;background:#e0f0e5;color:#286044;text-transform:uppercase;letter-spacing:.05em}.notification-empty{padding:18px 0;color:var(--ink-500);font-size:.82rem}
    .order-update-item{display:flex;align-items:center;gap:13px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--cream-50)}.order-update-item.is-ready{border-color:#cddfce;background:#f7fbf8}.order-update-icon,.ready-order-icon{width:42px;height:42px;display:grid;place-items:center;flex:none;border-radius:50%;background:var(--cream-100);color:var(--forest-800)}.order-update-item.is-ready .order-update-icon{background:#e0f0e5;color:#286044}.order-update-icon .icon,.ready-order-icon .icon{width:19px;height:19px}.order-update-copy{display:grid;gap:4px;min-width:0;flex:1}.order-update-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.order-update-title strong{font-size:.88rem}.order-update-message{color:var(--ink-500);font-size:.79rem;line-height:1.4}.order-update-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--ink-500);font-size:.7rem}.order-update-meta span:first-child{font-weight:800;color:var(--forest-800)}.ready-order-prompt{display:flex;align-items:flex-start;gap:14px}.ready-order-prompt strong{display:block;margin:2px 0 5px}.ready-order-prompt p{margin:0}.kanban-ack{display:block;margin-top:10px;padding:6px 8px;border-radius:8px;background:var(--cream-100);color:var(--ink-500);font-size:.68rem;font-weight:700}.kanban-ack.acknowledged{background:#e0f0e5;color:#286044}
    .table-wrap{overflow:auto}.payroll-panel .toolbar{padding-bottom:14px}.payroll-panel th:first-child,.payroll-panel td:first-child{width:42px}.payroll-panel input[type="checkbox"]{width:18px;height:18px;accent-color:var(--forest-800)}.payroll-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-top:1px solid var(--line);background:var(--cream-50)}.payroll-actions>div:first-child{display:grid;gap:3px}.payroll-actions span{color:var(--ink-500);font-size:.78rem}.payroll-paging{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
    table{width:100%;border-collapse:collapse;min-width:670px}
    th,td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line);font-size:.83rem;vertical-align:middle}
    th{color:var(--ink-500);font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;background:var(--cream-50)}
    tbody tr:hover{background:#fbfaf5}
    .status{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:#e4f2e9;color:#286044;font-size:.72rem;font-weight:800}
    .status.pending{background:#fff2cd;color:#775712}
    .status.cancelled{background:#f9e3df;color:#8d3027}
    .directory-status{margin-top:6px;white-space:normal;border-radius:8px}
    .receipt-btn{min-height:44px;padding-inline:8px;border:0;background:transparent;text-decoration:underline;text-underline-offset:3px;color:var(--forest-700);font-weight:700}
    .receipt-btn:disabled{color:var(--ink-500);text-decoration:none;cursor:not-allowed}
    .profile-card{padding:27px}
    .profile-hero{display:flex;align-items:center;gap:15px;padding-bottom:24px;border-bottom:1px solid var(--line)}
    .profile-hero .member-avatar{width:74px;height:74px;background:var(--cream-100);color:var(--forest-900);border:2px solid rgba(240,180,0,.75);font-size:1.42rem;letter-spacing:-.06em;box-shadow:0 0 0 4px rgba(19,43,33,.08)}
    .profile-hero strong,.profile-hero span{display:block}.profile-hero span.member-avatar{display:grid;place-items:center;line-height:1}
    .profile-hero span{color:var(--ink-500);font-size:.82rem}
    .details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:25px}
    .detail dt{color:var(--ink-500);font-size:.74rem;margin-bottom:3px}
    .detail dd{margin:0;font-weight:700;font-size:.91rem}
    .ops-page{background:#f3f5f2}
    .ops-shell{display:grid;grid-template-columns:250px 1fr;min-height:calc(100vh - var(--header))}
    .ops-sidebar{background:var(--forest-950);color:var(--white);padding:24px 18px;position:sticky;top:var(--header);height:calc(100vh - var(--header));display:flex;flex-direction:column}
    .ops-label{color:#8ea497;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;margin:20px 10px 8px}
    .ops-link{min-height:46px;border:0;background:transparent;color:#dbe5df;border-radius:10px;padding:0 12px;display:flex;align-items:center;gap:11px;text-align:left;font-weight:700;font-size:.86rem}
    .ops-link:hover,.ops-link.active{background:rgba(255,255,255,.1);color:var(--white)}
    .ops-link .badge{margin-left:auto;background:var(--marigold-500);color:var(--ink-900);border-radius:99px;padding:2px 7px;font-size:.68rem}
    .ops-mode{margin-top:auto;border-top:1px solid rgba(255,255,255,.14);padding:17px 10px 0;color:#9bb0a4;font-size:.73rem}
    .ops-mode strong{display:flex;align-items:center;gap:8px;color:#dbe5df;margin-bottom:4px}
    .ops-main{padding:30px;min-width:0}
    .ops-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}
    .ops-top h1{font:700 1.75rem var(--font-sans);letter-spacing:-.03em;margin:0}
    .ops-top p{margin:3px 0 0;color:var(--ink-500);font-size:.83rem}
    .ops-view{display:none}
    .ops-view.active{display:block;animation:pageIn .25s ease both}
    .ops-panel{background:var(--white);border:1px solid #dde1dc;border-radius:14px;overflow:hidden}
    .queue{padding:10px 18px}
    .queue-item{display:grid;grid-template-columns:80px 1fr auto;gap:15px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}
    .queue-item:last-child{border:0}
    .order-no{font-size:.78rem;color:var(--ink-500)}
    .queue-item strong{display:block;font-size:.88rem}
    .queue-item span{display:block;color:var(--ink-500);font-size:.74rem;margin-top:2px}
    .status-btn{min-height:44px;border:0;border-radius:999px;padding:7px 12px;font-size:.7rem;font-weight:800;background:#e9eee9;color:var(--forest-800)}
    .kanban-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.1vw,20px)}
    .kanban-column{min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--cream-50)}
    .kanban-column-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 13px;border-bottom:1px solid var(--line)}
    .kanban-column-head strong{font-size:1rem}.kanban-count{min-width:23px;height:23px;display:grid;place-items:center;border-radius:999px;background:var(--cream-200);color:var(--forest-900);font-size:.72rem;font-weight:800}
    .kanban-items{display:grid;align-content:start;gap:10px;padding:10px;min-width:0}.kanban-empty{margin:auto 0;padding:18px 8px;text-align:center;color:var(--ink-500);font-size:.875rem}
    .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}
    .cancel-order-btn{display:block;width:100%;margin-top:7px;padding:6px 7px;border:0;background:transparent;color:#9b342a;font-size:.7rem;font-weight:800;text-decoration:underline;text-underline-offset:3px}
    .cancel-order-btn:hover{color:#76251d}
    .member-record-link{display:grid;gap:3px;width:100%;padding:0;border:0;background:transparent;color:var(--ink-900);text-align:left;cursor:pointer}.member-record-link strong{font-size:.82rem}.member-record-link small{color:var(--ink-500);font-size:.71rem}.member-record-link:hover strong,.member-record-link:focus-visible strong{color:var(--forest-800);text-decoration:underline;text-underline-offset:3px}.member-record-link:focus-visible{outline:2px solid var(--gold-600);outline-offset:3px;border-radius:3px}
    .order-detail-section{padding:0 0 14px;margin:0 0 14px;border-bottom:1px solid var(--line)}.order-detail-section h3{margin:0 0 9px;font:800 .8rem var(--font-sans)}.order-detail-items{display:grid;gap:7px;margin:0;padding:0;list-style:none}.order-detail-items li{display:grid;grid-template-columns:38px 1fr;gap:8px;align-items:baseline}.order-detail-items li>span{color:var(--ink-500);font-size:.78rem}.order-detail-items li strong{font-size:.84rem}.order-detail-notes{margin:0;white-space:pre-wrap;color:var(--ink-700);font-size:.84rem;line-height:1.5}
    .top-item{display:grid;grid-template-columns:26px 1fr auto;gap:10px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center;font-size:.82rem}
    .top-item:last-child{border:0}
    .schedule-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.42fr);gap:14px;align-items:start}
    .schedule-panel form{padding:0 18px 18px}
    .schedule-row{display:grid;grid-template-columns:minmax(125px,.72fr) auto minmax(0,1.9fr);gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}
    .schedule-row:last-child{border-bottom:0}
    .schedule-row strong{font-size:.88rem}.schedule-row small{display:block;color:var(--ink-500);font-size:.71rem;margin-top:2px}
    .schedule-open-toggle{display:inline-flex;align-items:center;gap:7px;font-size:.76rem;font-weight:800;white-space:nowrap}
    .schedule-open-toggle input{width:18px;height:18px;accent-color:var(--forest-800)}
    .schedule-time-field{display:grid;gap:4px;color:var(--ink-500);font-size:.68rem;font-weight:800}
    .schedule-time-field input{width:100%;min-height:40px;padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink-900)}
    .schedule-row.is-closed .schedule-time-field{opacity:.42}.schedule-row.is-closed .schedule-time-field input{background:var(--cream-100)}
    .schedule-period-editor{display:flex;flex-wrap:wrap;align-items:end;gap:8px}.schedule-periods{display:flex;flex:1 1 330px;flex-wrap:wrap;gap:8px}.schedule-period{display:grid;grid-template-columns:minmax(100px,1fr) minmax(100px,1fr) auto;gap:7px;align-items:end;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--cream-50)}.schedule-period .schedule-time-field{min-width:0}.schedule-period-remove,.schedule-add-period{min-height:40px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink-700);font:800 .72rem/1 var(--font-sans);cursor:pointer}.schedule-period-remove{color:#a93d32}.schedule-add-period{white-space:nowrap}.schedule-period-remove:hover,.schedule-add-period:hover{border-color:var(--ink-700);color:var(--ink-900)}.schedule-period-remove:disabled,.schedule-add-period:disabled{opacity:.45;cursor:not-allowed}.schedule-row.is-closed .schedule-period{background:var(--cream-100)}
    .schedule-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:17px;padding-top:15px;border-top:1px solid var(--line)}
    .schedule-actions .notice{margin:0}.schedule-note{padding:18px}.schedule-note h3{margin:0 0 7px;font-size:1rem}.schedule-note p{margin:0;color:var(--ink-500);font-size:.82rem;line-height:1.5}.schedule-note ul{margin:17px 0 0;padding-left:18px;color:var(--ink-500);font-size:.78rem;line-height:1.55}.schedule-note li+li{margin-top:7px}
    .top-rank{width:24px;height:24px;border-radius:50%;background:var(--cream-100);display:grid;place-items:center;font-size:.68rem;font-weight:800}
    .bar-chart{display:flex;gap:10px;height:190px;align-items:end;padding:24px 25px 10px}
    .bar{flex:1;min-width:20px;background:var(--forest-700);border-radius:6px 6px 0 0;position:relative}
    .bar::after{content:attr(data-day);position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);font-size:.66rem;color:var(--ink-500)}
    .toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:15px 18px;border-bottom:1px solid var(--line)}
    .search-box{position:relative;min-width:230px;flex:1}
    .search-box .icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--ink-500)}
    .search-box input,.toolbar select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:8px;background:var(--white);padding:0 12px}
    .search-box input{padding-left:39px}
    .toolbar select{width:auto;min-width:150px}
    .menu-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.menu-admin-card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;align-items:center;gap:12px;justify-content:space-between}
.menu-admin-card>div>span{display:block;color:var(--ink-500);font-size:.76rem;margin-top:4px}
.menu-card-actions{display:flex;align-items:center;gap:6px;flex:none}.menu-edit-btn{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--cream-50);color:var(--ink-700);transition:.18s}.menu-edit-btn:hover{background:var(--cream-200);color:var(--forest-900)}.menu-edit-btn .icon{width:18px;height:18px}
.switch{position:relative;display:inline-flex;align-items:center;justify-content:center;align-self:center;width:48px;height:28px;flex:none;cursor:pointer}
.switch input{position:absolute;opacity:0}
.switch-track{position:absolute;inset:0;display:block;border-radius:99px;background:#cdd3ce;transition:.2s}
.switch-track::after{content:"";position:absolute;width:22px;height:22px;left:3px;top:50%;border-radius:50%;background:var(--white);box-shadow:0 1px 4px rgba(0,0,0,.2);transform:translateY(-50%);transition:.2s}
.switch input:checked+.switch-track{background:var(--forest-700)}
.switch input:checked+.switch-track::after{transform:translate(20px,-50%)}
    .switch input:focus-visible+.switch-track{outline:3px solid var(--focus);outline-offset:3px}
    .info-layout,.contact-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;align-items:start}
    .info-copy,.contact-details,.contact-form-card,.info-callout{border:1px solid var(--line);border-radius:var(--radius-md);padding:30px;background:var(--white)}
    .info-copy h2,.contact-details h2,.contact-form-card h2,.info-callout h2{font-size:clamp(1.8rem,3vw,2.8rem);margin:12px 0}
    .info-copy>p,.contact-details>p{color:var(--ink-500);max-width:680px}
    .principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:25px}
    .principle-card{padding:16px;border-radius:12px;background:var(--cream-100)}
    .principle-card strong,.principle-card span{display:block}
    .principle-card strong{font-size:.88rem;margin-bottom:7px}.principle-card span{color:var(--ink-500);font-size:.8rem;line-height:1.45}
    .info-callout{background:var(--forest-900);color:var(--white)}
    .info-callout .eyebrow{color:var(--marigold-500)}.info-callout h2{font-size:2rem}.info-callout .btn{margin-top:20px;background:var(--cream-100);color:var(--forest-900)}
    .org-chart{display:grid;gap:20px;padding-bottom:70px}
    .org-chart-heading{max-width:760px}.org-chart-heading h2{font-size:clamp(2rem,4vw,3rem)}.org-chart-heading p:last-child{margin-bottom:0}.org-chart-name{font-weight:700}
    .org-group{min-width:0;border:1px solid var(--line);border-radius:var(--radius-md);padding:24px;background:var(--white)}
    .org-group h3,.org-committees>h3{font-size:1.2rem;margin-bottom:20px}.org-group h4{font-size:1.05rem;line-height:1.4;margin:0 0 20px}
    .org-board{background:var(--forest-900);color:var(--white)}
    .org-people,.org-roster{margin:0;display:grid;gap:18px}.org-people{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
    .org-people>div,.org-roster>div{min-width:0}.org-chart dt{font-size:.8rem;color:var(--ink-500);margin-bottom:4px}.org-chart dd{margin:0;font-size:.92rem;font-weight:700;overflow-wrap:anywhere}.org-board dt{color:var(--cream-200)}
    .org-committee-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}.org-committee-grid .org-group{background:var(--cream-100)}
    .org-chart .org-name-missing{color:var(--ink-500);font-weight:400;font-style:italic}.org-focal-name{font-size:.92rem;font-weight:700;margin:0}
    .check-list{list-style:none;padding:0;margin:22px 0}.check-list li{position:relative;padding:9px 0 9px 25px;color:#e3e1da;font-size:.9rem}.check-list li::before{content:"✓";position:absolute;left:0;color:var(--marigold-500);font-weight:800}
    .contact-details{background:var(--cream-100)}.contact-form-card{box-shadow:var(--shadow-sm)}
    #contactCoffeeHours{white-space:pre-line}
    .member-cancel-order{min-height:44px;flex-shrink:0}
    .fulfilment-progress{font-weight:700;overflow-wrap:anywhere}#cupSettingsAdmin{margin-top:18px;padding:18px}#cupSettingsAdmin form{display:grid;gap:12px}#cupSettingsAdmin label{display:block;margin-block:10px}#cupSettingsAdmin .btn{margin-block:8px}
    .contact-methods{display:grid;gap:10px;margin-top:24px}.contact-method{display:flex;align-items:center;gap:13px;padding:15px;background:var(--white);border:1px solid var(--line);border-radius:12px}.contact-method>.icon{color:var(--leaf-500);flex:none}.contact-method strong,.contact-method span{display:block}.contact-method strong{font-size:.9rem}.contact-method span{margin-top:3px;color:var(--ink-500);font-size:.8rem}
    .report-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:14px}
    .reports-heading{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:17px}.reports-heading h2{margin:0;font-size:1.55rem}.reports-heading p{margin:3px 0 0}.report-filter-panel{padding:16px 18px;margin-bottom:14px}.report-range-actions{display:flex;flex-wrap:wrap;gap:8px}.report-range-actions .filter-btn{min-height:38px}.report-custom-range{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-top:13px}.report-custom-range label{display:grid;gap:5px;font-size:.73rem;font-weight:800}.report-custom-range input{min-height:40px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--white)}.report-range-note{margin:11px 0 0}.report-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}.report-kpi{min-height:128px;padding:17px;border:1px solid var(--line);border-radius:13px;background:var(--white);display:flex;flex-direction:column;justify-content:space-between}.report-kpi>span,.report-kpi small{color:var(--ink-500);font-size:.72rem}.report-kpi strong{font:800 1.45rem/1.05 var(--font-display)}.report-kpi.primary{background:var(--ink-900);color:var(--white);border-color:var(--ink-900)}.report-kpi.primary>span,.report-kpi.primary small{color:#d9e3dc}.report-detail-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-bottom:14px}.sales-trend-chart{min-height:230px;display:flex;align-items:end;gap:7px;padding:16px 18px 14px;overflow-x:auto}.sales-trend-empty{width:100%;align-self:center;text-align:center;color:var(--ink-500);font-size:.82rem}.trend-bar{min-width:28px;flex:1;max-width:54px;display:grid;grid-template-rows:1fr auto;gap:8px;align-self:stretch;text-align:center}.trend-bar-value{display:flex;align-items:end;min-height:0}.trend-bar-value span{width:100%;min-height:3px;border-radius:7px 7px 2px 2px;background:var(--forest-800);display:block}.trend-bar.negative .trend-bar-value span{background:#a53225}.trend-bar label{font-size:.65rem;color:var(--ink-500);white-space:nowrap}.report-list{padding:5px 18px 15px}.report-list-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.report-list-row:last-child{border-bottom:0}.report-list-row span{font-size:.83rem}.report-list-row small{display:block;color:var(--ink-500);font-size:.72rem;margin-top:2px}.report-list-row strong{font-size:.88rem}.report-payment-total{border-top:1px solid var(--ink-900);font-weight:800}.report-products-panel{margin-bottom:0}
    .footer{padding:46px 0 110px;border-top:1px solid var(--line);background:var(--cream-50)}
    .footer-grid{display:grid;grid-template-columns:1.3fr repeat(2,.6fr);gap:35px}
    .footer .brand{margin-bottom:17px}
    .footer p{max-width:380px;color:var(--ink-500);font-size:.85rem}
    .footer h3{font-size:.77rem;text-transform:uppercase;letter-spacing:.1em;margin:7px 0 13px}
    .footer a{display:flex;align-items:center;min-height:44px;color:var(--ink-500);font-size:.84rem;padding:4px 0}
    .footer a:hover{color:var(--forest-800)}
    body[data-deployment="staff"] .desktop-nav,
    body[data-deployment="staff"] .mobile-menu,
    body[data-deployment="staff"] .mobile-bottom-nav,
    body[data-deployment="staff"] .footer{display:none!important}
    body[data-deployment="staff"] .header-actions{display:flex!important}
    body[data-deployment="staff"] [data-auth="register"],
    body[data-deployment="staff"] .member-chip,
    body[data-deployment="staff"] .mobile-menu-btn{display:none!important}
    body[data-deployment="staff"] .site-header .brand{pointer-events:none}
    .modal-backdrop{position:fixed;inset:0;z-index:80;background:rgba(13,40,29,.66);display:none;place-items:center;padding:20px}
    .modal-backdrop.open{display:grid}
    .modal{width:min(620px,100%);max-height:calc(100vh - 40px);overflow:auto;border-radius:var(--radius-md);background:var(--white);box-shadow:0 25px 80px rgba(0,0,0,.3)}
    .modal-head{padding:20px 23px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:start;gap:15px}
    .modal-head h2{font:700 1.25rem var(--font-sans);margin:0}
    .modal-close{box-sizing:border-box;flex:0 0 42px;width:42px;height:42px;aspect-ratio:1;border:0;padding:0;background:var(--cream-100);border-radius:50%;display:grid;place-items:center;line-height:1}
    .modal-body{padding:24px}
    .modal-actions{display:flex;justify-content:flex-end;gap:9px;padding:0 24px 24px}
    .modal:has(.fulfilment-groups) { width:min(696px,100%); }
    .modal:has(.fulfilment-groups) .modal-head { padding:24px; }
    .modal:has(.fulfilment-groups) .modal-head h2 { font-size:1.5rem; }
    .modal:has(.fulfilment-groups) .modal-close { flex-basis:44px; width:44px; height:44px; }
    .modal:has(.fulfilment-groups) .modal-body { padding:0; }
    .modal:has(.fulfilment-groups) .modal-actions { padding:16px 24px; border-top:1px solid var(--line); }
    #closeFulfilment { min-height:44px; border-color:var(--line); border-radius:var(--radius-sm); }
    .fulfilment-group { display:grid; grid-template-columns:minmax(0,1fr); }
    .fulfilment-group + .fulfilment-group { border-top:1px solid var(--line); }
    .fulfilment-ticket, .fulfilment-controls { min-width:0; padding:20px; overflow-wrap:anywhere; }
    .fulfilment-ticket { background:var(--cream-50); }
    .fulfilment-ticket h3 { margin:0; font:800 1.25rem/1.25 var(--font-sans); }
    .fulfilment-ticket p { margin:6px 0 0; color:var(--ink-500); }
    .fulfilment-ticket dl { margin:16px 0 0; }
    .fulfilment-ticket dl > div { display:grid; grid-template-columns:minmax(68px,.8fr) minmax(0,1.2fr); gap:10px; padding:10px 0; }
    .fulfilment-ticket dl > div + div { border-top:1px solid var(--line); }
    .fulfilment-ticket dt { color:var(--ink-500); }
    .fulfilment-ticket dd { margin:0; font-weight:800; }
    .fulfilment-ticket dd small { display:block; color:var(--ink-500); }
    .fulfilment-controls { border-top:1px solid var(--line); }
    .fulfilment-controls .field { margin:0 0 16px; }
    .fulfilment-controls .field input { min-height:44px; }
    .fulfilment-actions { display:grid; gap:10px; }
    .fulfilment-actions .btn { min-height:44px; border-radius:var(--radius-sm); padding:8px 12px; }
    .fulfilment-actions .fulfilment-primary, .prepare-confirmation .fulfilment-primary { background:var(--marigold-500); border-color:var(--marigold-500); color:var(--ink-900); }
    .fulfilment-actions .fulfilment-primary:hover, .prepare-confirmation .fulfilment-primary:hover { background:var(--focus); border-color:var(--focus); }
    .fulfilment-actions [data-unit-action="cancel"] { color:var(--danger); border-color:var(--line); }
    .fulfilment-actions [data-unit-action="cancel"]:hover { background:var(--cream-50); border-color:var(--danger); }
    .fulfilment-history { margin:0; padding:20px 24px; border-top:1px solid var(--line); border-bottom:0; }
    .modal:has(.prepare-confirmation) { width:min(640px,100%); }
    .modal:has(.prepare-confirmation) .modal-head { align-items:center; padding:16px 20px; }
    .modal:has(.prepare-confirmation) .modal-head h2 { font-size:1.5rem; }
    .modal:has(.prepare-confirmation) .modal-close { flex-basis:44px; width:44px; height:44px; }
    .modal:has(.prepare-confirmation) .modal-body { padding:0; }
    .modal:has(.prepare-confirmation) .modal-actions { display:none; }
    .prepare-confirmation { display:grid; grid-template-columns:minmax(0,1fr); }
    .prepare-confirmation-summary, .prepare-confirmation-actions { min-width:0; padding:20px; }
    .prepare-confirmation-summary { background:var(--cream-100); }
    .prepare-confirmation-summary p { margin:16px 0 0; color:var(--ink-700); }
    .prepare-confirmation-item { display:flex; align-items:start; gap:12px; font-size:1.25rem; line-height:1.25; overflow-wrap:anywhere; }
    .prepare-confirmation-item strong { min-width:0; }
    .prepare-confirmation-quantity { flex:none; padding:6px 10px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--white); font-weight:800; }
    .prepare-confirmation-actions { display:grid; align-content:center; gap:12px; border-top:1px solid var(--line); }
    .prepare-confirmation-actions .btn { min-height:48px; padding:8px 12px; border-radius:var(--radius-sm); font-size:1rem; }
    .prepare-confirmation-actions .btn.secondary { border-color:var(--line); }
    .prepare-confirmation #unitActionNotice { grid-column:1/-1; }
    .prepare-confirmation #unitActionNotice:empty { min-height:0; margin:0; padding:0; border:0; }
    .prepare-confirmation #unitActionNotice:not(:empty) { margin:0 20px 16px; }
    @media (min-width:580px) {
      .prepare-confirmation { grid-template-columns:minmax(0,57fr) minmax(0,43fr); }
      .prepare-confirmation-summary, .prepare-confirmation-actions { padding:40px 20px; }
      .prepare-confirmation-actions .btn { min-height:52px; font-size:1.125rem; }
      .prepare-confirmation-actions { border-top:0; border-left:1px solid var(--line); }
      .prepare-confirmation-item { font-size:1.4rem; }
    }
    @media (min-width:580px) {
      .fulfilment-group:has(.fulfilment-controls) { grid-template-columns:1fr 1fr; }
      .fulfilment-ticket, .fulfilment-controls { padding:40px 26px; }
      .fulfilment-ticket h3 { font-size:1.5rem; }
      .fulfilment-controls .field { margin-bottom:22px; font-size:1rem; }
      .fulfilment-controls .field input, .fulfilment-actions .btn { min-height:50px; }
      .fulfilment-actions { gap:14px; }
      .fulfilment-actions .btn { font-size:1rem; }
      .fulfilment-controls { border-top:0; border-left:1px solid var(--line); }
      .fulfilment-ticket dl { margin-top:24px; }
    }
    .toast{position:fixed;z-index:120;right:22px;bottom:22px;max-width:380px;background:var(--ink-900);color:var(--white);border-radius:12px;padding:14px 18px;box-shadow:var(--shadow-md);transform:translateY(30px);opacity:0;pointer-events:none;transition:.25s}
    .toast.show{transform:none;opacity:1}
    .loading-overlay{position:fixed;z-index:140;inset:0;display:grid;place-items:center;padding:24px;background:rgba(23,23,22,.58);backdrop-filter:blur(2px)}.loading-overlay[hidden]{display:none}.loading-card{width:min(100%,360px);display:grid;justify-items:center;gap:10px;padding:26px 24px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);box-shadow:var(--shadow-md);text-align:center}.loading-card strong{font:700 1.05rem var(--font-sans)}.loading-card span:last-child{color:var(--ink-500);font-size:.82rem}.loading-spinner{width:34px;height:34px;border:3px solid var(--cream-200);border-top-color:var(--marigold-500);border-radius:50%;animation:loading-spin .8s linear infinite}@keyframes loading-spin{to{transform:rotate(1turn)}}body.is-loading>*:not(.loading-overlay){pointer-events:none}
    @media(max-width:1080px){
      .desktop-nav{display:none}.mobile-menu-btn{display:grid}.header-actions .staff-entry{display:none}
      .order-layout,.loan-layout{grid-template-columns:1fr}.order-panel,.calculator{position:static}.loan-options{grid-template-columns:repeat(3,1fr)}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
      .stats-grid{grid-template-columns:1fr 1fr}.stats-grid .primary{grid-column:1/-1}
      .report-grid,.report-detail-grid{grid-template-columns:1fr}.report-kpi-grid{grid-template-columns:repeat(3,1fr)}.menu-admin-grid{grid-template-columns:repeat(2,1fr)}
      .schedule-layout{grid-template-columns:1fr}
      .schedule-row{grid-template-columns:1fr auto}.schedule-period-editor{grid-column:1/-1}.schedule-periods{flex-basis:100%}
    }
    @media(max-width:820px){
      :root{--header:68px}.container{width:min(100% - 28px,var(--page))}.brand-logo{width:42px;height:42px}.brand-tag{display:none}.member-chip span:last-child{display:none}
      .hero{padding-top:16px}.hero-card{min-height:560px;border-radius:20px}.hero-card::after{background:linear-gradient(0deg,rgba(13,40,29,.96) 0%,rgba(13,40,29,.62) 52%,rgba(13,40,29,.08) 100%)}.hero-photo{object-position:65% center}.hero-content{align-self:flex-end;padding:36px 28px}.hero-content h1{font-size:clamp(2.7rem,11vw,4.5rem)}
      .service-strip{grid-template-columns:1fr}.service-stat+.service-stat{border-left:0;border-top:1px solid var(--line)}
      .home-section{padding:65px 0}.feature-row,.feature-row.reverse{grid-template-columns:1fr}.feature-row .feature-art,.feature-row.reverse .feature-art{order:0}.feature-copy{padding:38px 27px}.feature-art{min-height:340px}
      .trust-grid{grid-template-columns:1fr 1fr}.trust-grid h2{grid-column:1/-1}.trust-number{border-left:0;padding-left:0}
      .page-banner{padding:40px 0 31px}.page-banner-inner{display:block}.availability{margin-top:18px}.app-section{padding:38px 0 80px}.menu-grid,.catalog-grid{grid-template-columns:1fr}.catalog-intro{align-items:flex-start;flex-direction:column}.loan-options{grid-template-columns:1fr}.loan-card{min-height:0}
      .account-shell{grid-template-columns:1fr}.account-nav{display:flex;overflow:auto;border-right:0;border-bottom:1px solid var(--line);padding:0 0 13px}.profile-mini{display:none}.account-link{width:auto;white-space:nowrap}.account-logout{margin-top:0;padding-top:0;border-top:0}.details-grid{grid-template-columns:1fr 1fr}
      .ops-shell{grid-template-columns:1fr}.ops-sidebar{position:static;height:auto;display:flex;flex-direction:row;overflow:auto;padding:10px 14px;gap:4px}.ops-label,.ops-mode{display:none}.ops-link{flex:none}.ops-main{padding:22px 14px}.menu-admin-grid{grid-template-columns:1fr 1fr}
      .footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}
      .info-layout,.contact-layout{grid-template-columns:1fr}.info-callout{max-width:none}
    }
    @media(max-width:560px){
      body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}.site-header .member-chip,.site-header .auth-actions{display:none}.header-inner{gap:10px}.mobile-bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:55;left:0;right:0;bottom:0;min-height:68px;background:var(--cream-50);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.mobile-bottom-nav.has-hidden-member-route{grid-template-columns:repeat(4,1fr)}
      body[data-deployment="staff"]{padding-bottom:0}body[data-deployment="staff"] .site-header .auth-actions{display:flex}body[data-deployment="staff"] .site-header .auth-actions [data-auth="login"]{display:inline-flex;min-width:44px;min-height:44px;padding-inline:14px}
      .bottom-link{border:0;background:transparent;display:grid;place-items:center;align-content:center;gap:3px;color:var(--ink-500);font-size:.64rem;font-weight:700;min-width:0}.bottom-link .icon{width:21px;height:21px}.bottom-link.active{color:var(--forest-900)}
      #page-menu .app-section{padding-top:26px}.filter-btn{scroll-margin-bottom:calc(80px + env(safe-area-inset-bottom))}
      .mobile-menu .member-mobile{display:flex}.hero-card{min-height:600px}.hero-content{padding:31px 23px}.hero-content p{font-size:1rem}.hero-actions .btn{width:100%}
      .order-update-item{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start}.order-update-item .btn{grid-column:2;justify-self:start}
      .home-section{padding:50px 0}.trust-band{padding:45px 0}.trust-grid{grid-template-columns:1fr}.trust-grid h2{grid-column:auto}.feature-art{min-height:310px}.cup-illustration{transform:scale(.78) rotate(-7deg)}
      .product-card{grid-template-columns:58px minmax(0,1fr) auto;padding:12px;gap:11px}.product-visual{width:58px;height:62px}.product-copy h3{font-size:.93rem}.add-product.has-label{min-width:44px;padding:0 11px}.order-panel{border-radius:14px}.form-shell{padding:22px 17px}.form-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.menu-temperature-heading{align-items:flex-start;flex-direction:column}.sugar-options{grid-template-columns:1fr 1fr}
      .account-heading{display:block}.account-heading>.btn{margin-top:14px}.menu-admin-actions{margin-top:14px;justify-content:flex-start}.stats-grid{grid-template-columns:1fr}.stats-grid .primary{grid-column:auto}.details-grid{grid-template-columns:1fr}.info-copy,.contact-details,.contact-form-card,.info-callout{padding:23px 18px}.principle-grid{grid-template-columns:1fr}
      .ops-top{align-items:flex-start}.ops-top .btn span{display:none}.queue-item{grid-template-columns:67px 1fr}.queue-item .status-btn{grid-column:2;justify-self:start}.menu-admin-grid{grid-template-columns:1fr}.toolbar select{width:100%}.reports-heading{display:block}.reports-heading>span{display:block;margin-top:5px}.report-kpi-grid{grid-template-columns:1fr 1fr}.report-kpi{min-height:112px}.report-custom-range{display:grid;grid-template-columns:1fr 1fr}.report-custom-range .btn{grid-column:1/-1}.sales-trend-chart{padding-inline:12px}
      .footer{padding-bottom:45px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}
      .toast{left:14px;right:14px;bottom:84px}
    }
    .svg-sprite{position:absolute}.hero-loans-action{color:var(--white);border-color:var(--white)}.order-section-heading{font:700 1.6rem var(--font-sans);margin-bottom:4px}.ops-availability{padding:0;background:none;border:0;color:inherit}.ops-section-heading{font-family:var(--font-sans);font-size:1.55rem}.modal-subtitle{margin:3px 0 0}.staff-access-gate{max-width:640px;margin:64px auto;padding:36px}.report-export-button{margin-left:auto}.report-export-button+.report-export-button{margin-left:0}.cart-item-quantity{min-width:30px;text-align:center;font-size:.82rem}.cart-empty-title{display:block;color:var(--ink-900)}.receipt-details{padding:10px 0}.total-row-separated{border-top:1px solid var(--line);padding-top:16px}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Product inventory uses the existing operations panels and modal controls. */
.menu-admin-card { flex-wrap: wrap; gap: 12px; }
.menu-admin-card > div:first-child { min-width: 0; flex: 1 1 150px; overflow-wrap: anywhere; }
.menu-admin-card small { display: block; color: var(--muted, #6b6259); margin-top: 4px; }
.stock-manage { min-height: 44px; }
.stock-history { margin-top: 20px; }
.stock-history-list { list-style: none; margin: 12px 0; padding: 0; max-height: 260px; overflow-y: auto; }
.stock-history-list li { display: grid; gap: 4px; padding: 12px 0; border-bottom: 1px solid var(--line, #ddd5c9); overflow-wrap: anywhere; }
.stock-history-list small { color: var(--muted, #6b6259); }
.stock-return-options { margin-top: 16px; padding: 12px; }
.stock-return-options label, .menu-import-list label { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 8px; cursor: pointer; }
.stock-return-options input, .menu-import-list input { width: 20px; height: 20px; flex-shrink: 0; }
.menu-import-list { max-height: min(36vh, 320px); overflow-y: auto; margin-top: 12px; }
.menu-import-list span { min-width: 0; overflow-wrap: anywhere; }
.menu-import-list small { display: block; }
.add-product:disabled { cursor: not-allowed; opacity: .65; }
@media (max-width: 600px) { .stock-manage { width: 100%; } .menu-admin-actions { flex-wrap: wrap; } }

.menu-browse-controls { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 16px; margin-top: 18px; }
.menu-browse-controls .field { min-width: 0; margin: 0; }
.menu-browse-search { grid-column: 1 / -1; }
.menu-browse-controls .field select { text-overflow: ellipsis; }
.menu-browse-summary { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.menu-browse-summary p, .menu-browse-count { color: var(--ink-500); font-size: .85rem; margin-block: 12px; }
.menu-selection-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.menu-selection-actions button { min-height: 44px; }
.menu-product-group h3, .menu-admin-group h3 { display: flex; align-items: center; gap: 10px; margin: 18px 0 8px; font-size: 1rem; }
.menu-product-group h3 span, .menu-admin-group h3 span { font-weight: 400; font-size: .8rem; color: var(--ink-500); }
.menu-admin-group { grid-column: 1 / -1; min-width: 0; }
.menu-browse-empty { padding: 18px 0; color: var(--ink-500); }
.menu-import-list label { border-bottom: 1px solid var(--line); border-radius: 8px; }
.menu-import-list label:hover { background: var(--cream-50); }
@media (min-width: 1000px) { #menuAdminControls .menu-browse-controls { grid-template-columns: minmax(220px,2fr) repeat(3,minmax(0,1fr)); } #menuAdminControls .menu-browse-search { grid-column: auto; } }
.modal:has(#menuImportList) { width: min(860px,100%); display: flex; flex-direction: column; overflow: hidden; max-height: calc(100dvh - 40px); }
.modal:has(#menuImportList) .modal-head, .modal:has(#menuImportList) .modal-actions { flex: 0 0 auto; }
.modal:has(#menuImportList) .modal-body { min-height: 0; overflow-y: auto; }
@media (max-width: 420px) { .menu-browse-summary { align-items: flex-start; } .menu-browse-controls { gap: 10px; } .menu-browse-controls .field label { font-size: .8rem; } }
@media (max-width: 340px) { .menu-browse-controls { grid-template-columns: minmax(0,1fr); } }

/* Member loan policy: readable text with cleaned, transparent signatures from the signed copy. */
.loan-policy-callout { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:32px; padding:26px 30px; border:1px solid var(--line); border-left:4px solid var(--gold-500); border-radius:var(--radius-md); background:var(--white); }
.loan-policy-callout .eyebrow { margin-bottom:8px; }
.loan-policy-callout h2 { font-size:1.8rem; margin-bottom:10px; }
.loan-policy-callout p { max-width:700px; margin-bottom:0; color:var(--ink-700); }
.loan-policy-callout .btn { flex-shrink:0; }
.policy-banner { padding-block:6px; }
.policy-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-bottom:30px; font-size:.88rem; color:var(--ink-700); }
.policy-breadcrumb a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:4px; }
.policy-banner h1 { max-width:850px; font-size:clamp(2.5rem,5.5vw,4.8rem); line-height:1.05; }
.policy-banner > p { max-width:680px; }
.policy-header-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin-top:26px; }
.policy-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:40px; align-items:start; }
.policy-sidebar { position:sticky; top:calc(var(--header) + 24px); }
.policy-contents { border:1px solid var(--line); border-radius:var(--radius-md); padding:16px; background:var(--white); }
.policy-contents summary { min-height:44px; padding:10px 4px; cursor:pointer; font-weight:700; }
.policy-contents nav { display:grid; gap:2px; padding-top:8px; }
.policy-contents button { text-align:left; min-height:44px; padding:10px 12px; border:0; border-radius:var(--radius-sm); background:transparent; color:var(--ink-700); line-height:1.4; font-size:.86rem; }
.policy-contents button:hover, .policy-contents button:focus-visible { background:var(--cream-100); color:var(--ink-900); }
.policy-document { min-width:0; padding:36px 40px; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--white); overflow-wrap:anywhere; }
.policy-document-intro > h2 { font-size:1.9rem; }
.policy-metadata { display:grid; grid-template-columns:1fr 1fr; gap:18px 28px; margin:24px 0; }
.policy-metadata dt { font-size:.76rem; color:var(--ink-500); margin-bottom:4px; }
.policy-metadata dd { margin:0; font-weight:600; font-size:.91rem; }
.policy-source-note { background:var(--cream-100); border-radius:var(--radius-sm); padding:18px; font-size:.86rem; line-height:1.7; color:var(--ink-700); }
.policy-section { padding-top:32px; margin-top:32px; border-top:1px solid var(--line); }
.policy-section h2 { font-size:clamp(1.55rem,2.5vw,2rem); line-height:1.2; scroll-margin-top:calc(var(--header) + 24px); }
.policy-section h2 span { color:var(--gold-600); }
.policy-section h3 { margin-top:28px; font-size:1.04rem; line-height:1.5; }
.policy-section h4 { margin:22px 0 10px; font-size:1rem; }
.policy-section p, .policy-section li, .policy-definitions dd { font-size:.97rem; line-height:1.85; color:var(--ink-700); }
.policy-section ul, .policy-section ol { padding-left:24px; }
.policy-section li { padding-left:4px; margin-block:8px; }
.policy-section li > ul, .policy-section li > ol { margin-block:10px; }
.policy-definitions dt { margin-top:22px; font-weight:700; }
.policy-definitions dd { margin:7px 0 0; }
.policy-signatures { margin:24px 0 0; padding:4px 28px 28px; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--cream-50); }
.policy-signatures h3 { margin:24px 0 14px; font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-500); }
.policy-section .policy-signers { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:26px 32px; margin:0; padding:0; list-style:none; }
.policy-section .policy-signer { display:flex; flex-direction:column; justify-content:flex-end; margin:0; padding:0; }
.policy-sign-mark { display:flex; align-items:flex-end; justify-content:center; min-height:104px; border-bottom:1px solid var(--ink-500); }
.policy-sign-mark img { display:block; max-width:100%; height:auto; margin-bottom:-6px; }
.policy-section .policy-signer-name { margin:10px 0 0; font-size:.95rem; line-height:1.4; font-weight:700; color:var(--ink-900); text-align:center; }
.policy-section .policy-signer-role { margin:2px 0 0; font-size:.84rem; line-height:1.4; color:var(--ink-500); text-align:center; }
.policy-end { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid var(--line); padding-top:28px; margin-top:36px; }
@media (max-width:1000px) {
  .policy-layout { grid-template-columns:220px minmax(0,1fr); gap:22px; }
  .policy-document { padding:28px; }
}
@media (max-width:760px) {
  .loan-policy-callout { align-items:flex-start; flex-direction:column; gap:20px; padding:24px; }
  .policy-layout { grid-template-columns:minmax(0,1fr); gap:24px; }
  .policy-sidebar { position:static; }
  .policy-contents nav { grid-template-columns:1fr 1fr; }
  .policy-document { padding:24px; border-radius:var(--radius-md); }
  .policy-metadata { grid-template-columns:1fr; gap:16px; }
  .policy-section { padding-top:26px; margin-top:26px; }
  .policy-signatures { padding:2px 20px 22px; }
  .policy-section .policy-signers { grid-template-columns:1fr 1fr; gap:22px 18px; }
  .policy-sign-mark { min-height:80px; }
  .policy-header-actions { align-items:flex-start; flex-direction:column; }
  .policy-end { align-items:stretch; flex-direction:column; }
}
@media (max-width:380px) {
  .policy-contents nav { grid-template-columns:1fr; }
  .policy-document { padding:20px; }
}

/* Home redesign (2026-10-27): dark editorial hero, gold calls to action and an everyday-coffee strip. */
:root { --home-ink:#120c09; --font-home-display:var(--font-display); --font-home-sans:var(--font-sans); }
.desktop-nav, .site-header .auth-actions .btn { font-family:var(--font-home-sans); }
.desktop-nav { gap:10px; margin-left:clamp(24px,5vw,92px); }
.desktop-nav .nav-link { position:relative; font-weight:500; font-size:.98rem; padding:0 16px; }
.desktop-nav .nav-link.active { background:transparent; color:var(--leaf-500); }
.desktop-nav .nav-link.active::after { content:""; position:absolute; left:16px; right:16px; bottom:6px; height:2px; border-radius:2px; background:currentColor; }
.desktop-nav .nav-cta { background:var(--marigold-500); color:var(--forest-900); padding:0 22px; font-weight:600; font-size:1.05rem; }
.desktop-nav .nav-cta:hover, .desktop-nav .nav-cta.active { background:#ffc61a; color:var(--forest-900); }
.desktop-nav .nav-cta.active::after { display:none; }
.btn.gold { background:var(--marigold-500); border-color:var(--marigold-500); color:var(--forest-900); font-family:var(--font-home-sans); font-weight:600; }
.btn.gold:hover { background:#ffc61a; border-color:#ffc61a; }

body:has(.page.active:not(.ops-page,.loan-page)) .site-header { background:var(--home-ink); border-bottom-color:transparent; color:var(--white); }
body:has(.page.active:not(.ops-page,.loan-page)) .brand-logo { border:2px solid var(--white); }
body:has(.page.active:not(.ops-page,.loan-page)) .brand-tag { color:rgba(255,255,255,.72); letter-spacing:.24em; }
body:has(.page.active:not(.ops-page,.loan-page)) .desktop-nav .nav-link:not(.nav-cta) { color:var(--white); }
body:has(.page.active:not(.ops-page,.loan-page)) .desktop-nav .nav-link:not(.nav-cta):hover { background:rgba(255,255,255,.08); }
body:has(.page.active:not(.ops-page,.loan-page)) .desktop-nav .nav-link.active:not(.nav-cta) { color:var(--marigold-500); background:transparent; }
body:has(.page.active:not(.ops-page,.loan-page)) .auth-actions [data-auth="login"] { border-color:transparent; color:var(--white); font-weight:500; }
body:has(.page.active:not(.ops-page,.loan-page)) .auth-actions [data-auth="login"]:hover { background:rgba(255,255,255,.08); }
body:has(.page.active:not(.ops-page,.loan-page)) .auth-actions [data-auth="register"] { min-height:48px; padding-inline:26px; background:transparent; border-color:var(--white); color:var(--white); font-weight:600; font-size:.98rem; }
body:has(.page.active:not(.ops-page,.loan-page)) .auth-actions [data-auth="register"]:hover { background:var(--white); color:var(--forest-900); }
body:has(.page.active:not(.ops-page,.loan-page)) .mobile-menu-btn { color:var(--white); }
body:has(.page.active:not(.ops-page,.loan-page)) .site-header .member-chip { min-height:48px; padding-right:16px; background:transparent; border-color:rgba(255,255,255,.7); color:var(--white); transition:background .2s,border-color .2s; }
body:has(.page.active:not(.ops-page,.loan-page)) .site-header .member-chip:hover { background:rgba(255,255,255,.08); border-color:var(--white); }
body:has(.page.active:not(.ops-page,.loan-page)) .site-header .member-chip .member-avatar { background:var(--marigold-500); color:var(--ink-900); }

.home-hero { position:relative; display:flex; align-items:center; min-height:clamp(520px,calc(100vh - var(--header) - 120px),620px); overflow:hidden; isolation:isolate; background:var(--home-ink); color:var(--white); }
.home-hero-photo { position:absolute; z-index:-2; top:0; right:0; width:60%; height:100%; object-fit:cover; object-position:30% center; }
.home-hero::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,var(--home-ink) 0%,var(--home-ink) 40%,rgba(18,12,9,.72) 48%,rgba(18,12,9,0) 62%); pointer-events:none; }
.home-hero-inner { padding:48px 0 56px; }
.home-hero-copy { max-width:740px; }
.home-hero .eyebrow, .home-everyday .eyebrow { font-family:var(--font-home-sans); font-weight:500; letter-spacing:.3em; gap:20px; margin-bottom:22px; }
.home-hero .eyebrow { color:var(--white); font-size:.8rem; }
.home-hero .eyebrow::before, .home-everyday .eyebrow::before { width:44px; height:3px; background:var(--marigold-500); }
.home-hero h1 { margin:0 0 26px; font:900 clamp(3.1rem,7vw,6.1rem)/.93 var(--font-home-display); letter-spacing:-.025em; color:#fffaf0; max-width:11ch; }
.home-hero-copy > p { max-width:40ch; margin:0 0 34px; font:300 clamp(1.08rem,1.6vw,1.32rem)/1.55 var(--font-home-sans); color:rgba(255,255,255,.9); }
.home-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px 42px; }
.home-hero-actions .btn { min-height:60px; padding:0 38px; font-size:1.18rem; }
.text-link { min-height:44px; padding:0; border:0; border-bottom:2px solid var(--marigold-500); border-radius:0; background:transparent; color:var(--white); font:500 1rem var(--font-home-sans); cursor:pointer; transition:color .18s; }
.text-link:hover { color:var(--marigold-500); }

.home-everyday { padding:40px 0 28px; }
.everyday-grid { display:grid; grid-template-columns:1.05fr 1fr 1fr; gap:36px; align-items:start; }
.home-everyday .eyebrow { color:var(--ink-700); font-size:.76rem; margin-top:10px; }
.everyday-intro h2 { max-width:10ch; margin:0 0 18px; font:900 clamp(2.5rem,4.3vw,3.7rem)/1 var(--font-home-display); letter-spacing:-.025em; color:var(--ink-900); }
.everyday-intro p { max-width:24em; margin:0 0 24px; font:300 1.2rem/1.55 var(--font-home-sans); color:var(--ink-700); }
.everyday-intro .btn { min-height:56px; padding:0 34px; font-size:1.1rem; }
.everyday-card img { display:block; width:100%; aspect-ratio:400/220; object-fit:cover; border-radius:2px; background:var(--home-ink); }
.everyday-card h3 { margin:16px 0 6px; font:700 1.55rem/1.15 var(--font-home-display); letter-spacing:-.01em; }
.everyday-card p { margin:0; font:400 1.02rem/1.5 var(--font-home-sans); color:var(--ink-700); }
.everyday-services { display:flex; align-items:center; gap:32px; margin-top:34px; }
.everyday-rule { flex:1; height:1px; background:var(--line); }
.member-services-link { display:flex; align-items:center; gap:22px; min-height:56px; padding:0 4px; border:0; background:transparent; color:var(--ink-900); text-align:left; cursor:pointer; }
.member-services-icon { width:38px; height:38px; color:var(--marigold-500); }
.member-services-copy { display:grid; gap:2px; padding-left:22px; border-left:1px solid var(--marigold-500); font-family:var(--font-home-sans); }
.member-services-copy strong { font-weight:600; font-size:1.05rem; }
.member-services-copy small { color:var(--ink-700); font-size:.82rem; }
.member-services-link:hover strong { text-decoration:underline; text-underline-offset:4px; }
.member-services-link > .icon-sm { margin-left:10px; transition:transform .18s; }
.member-services-link:hover > .icon-sm { transform:translateX(3px); }

@media (max-width:1080px) {
  .everyday-grid { grid-template-columns:1fr 1fr; }
  .everyday-intro { grid-column:1/-1; }
}
@media (max-width:820px) {
  .home-hero { align-items:flex-end; min-height:600px; }
  .home-hero-photo { width:100%; object-position:60% center; }
  .home-hero::before { background:linear-gradient(0deg,var(--home-ink) 0%,rgba(18,12,9,.9) 42%,rgba(18,12,9,.2) 100%); }
  .home-hero-inner { padding:40px 0 36px; }
  .everyday-rule { display:none; }
  .member-services-link { width:100%; }
}
@media (max-width:560px) {
  .home-hero .eyebrow { letter-spacing:.2em; font-size:.72rem; }
  .home-hero-actions .btn, .everyday-intro .btn { width:100%; }
  .home-hero-actions { gap:14px; }
  .everyday-grid { grid-template-columns:1fr; gap:30px; }
  .member-services-link { gap:16px; }
  .member-services-copy { padding-left:16px; }
}
.desktop-nav .nav-link, .site-header .auth-actions .btn { white-space:nowrap; }
@media (max-width:1280px) {
  .desktop-nav { gap:2px; margin-left:20px; }
  .desktop-nav .nav-link { padding:0 11px; font-size:.92rem; }
  .desktop-nav .nav-link.active::after { left:11px; right:11px; }
  .desktop-nav .nav-cta { padding:0 16px; font-size:.95rem; }
  body:has(.page.active:not(.ops-page,.loan-page)) .auth-actions [data-auth="register"] { padding-inline:18px; }
}

/* Member page theme (2026-10-27): carries the home page's dark banner, gold accents and heavy serif
   headings to every member page. Staff and loan surfaces are excluded by page class. */
.page:not(.ops-page,.loan-page) .page-banner { position:relative; overflow:hidden; isolation:isolate; padding:64px 0 52px; background:var(--home-ink); border-bottom:0; color:var(--white); }
.page:not(.ops-page,.loan-page) .page-banner::before { content:""; position:absolute; z-index:-1; inset:0; background:radial-gradient(ellipse 60% 120% at 92% 0%,rgba(240,180,0,.16),transparent 62%),radial-gradient(ellipse 40% 90% at 70% 120%,rgba(162,97,59,.22),transparent 70%); pointer-events:none; }
.page:not(.ops-page,.loan-page) .page-banner h1 { font-weight:900; letter-spacing:-.025em; line-height:.98; color:#fffaf0; }
.page:not(.ops-page,.loan-page) .page-banner p { color:rgba(255,255,255,.82); font-size:1.08rem; }
.page:not(.ops-page,.loan-page) .page-banner .eyebrow { color:var(--white); }
.page:not(.ops-page,.loan-page) .eyebrow { font-weight:600; letter-spacing:.24em; gap:16px; }
.page:not(.ops-page,.loan-page) .eyebrow::before { width:40px; height:3px; background:var(--marigold-500); }
.page:not(.ops-page,.loan-page) .page-banner .availability { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.28); color:var(--white); }
.page:not(.ops-page,.loan-page) .page-banner .btn.secondary { border-color:var(--white); color:var(--white); }
.page:not(.ops-page,.loan-page) .page-banner .btn.secondary:hover { background:var(--white); color:var(--forest-900); }
.page:not(.ops-page,.loan-page) .policy-breadcrumb { color:rgba(255,255,255,.78); }
.page:not(.ops-page,.loan-page) .policy-breadcrumb a { color:var(--white); text-decoration-color:var(--marigold-500); }

/* Primary calls to action use the home page's gold button; secondary, ghost, light and danger keep their roles. */
.page:not(.ops-page,.loan-page) .btn:not(.secondary,.ghost,.light,.danger) { background:var(--marigold-500); border-color:var(--marigold-500); color:var(--forest-900); }
.page:not(.ops-page,.loan-page) .btn:not(.secondary,.ghost,.light,.danger):hover { background:#ffc61a; border-color:#ffc61a; }
.page:not(.ops-page,.loan-page) .btn:not(.secondary,.ghost,.light,.danger):disabled { background:var(--marigold-500); border-color:var(--marigold-500); }
.page:not(.ops-page,.loan-page) .catalog-intro h2,
.page:not(.ops-page,.loan-page) .section-head h2,
.page:not(.ops-page,.loan-page) .loan-policy-callout h2,
.page:not(.ops-page,.loan-page) .info-copy h2,
.page:not(.ops-page,.loan-page) .contact-details h2,
.page:not(.ops-page,.loan-page) .info-callout h2 { font-weight:900; letter-spacing:-.02em; }
.page:not(.ops-page,.loan-page) .filter-btn.active, .page:not(.ops-page,.loan-page) .filter-btn:hover { background:var(--home-ink); border-color:var(--home-ink); }
.page:not(.ops-page,.loan-page) .filter-btn.active { box-shadow:inset 0 -3px 0 var(--marigold-500); }

/* Dark footer and mobile menu so the header colour carries through. */
.footer { background:var(--home-ink); border-top:0; color:var(--white); }
.footer .brand-logo { border:2px solid var(--white); }
.footer .brand-tag { color:rgba(255,255,255,.66); }
.footer p, .footer a, .footer .install-link { color:rgba(255,255,255,.72); }
.footer h3 { color:var(--marigold-500); }
.footer a:hover, .footer .install-link:hover { color:var(--white); }
body:has(.page.active:not(.ops-page,.loan-page)) .mobile-menu { background:var(--home-ink); border-bottom-color:rgba(255,255,255,.1); }
body:has(.page.active:not(.ops-page,.loan-page)) .mobile-menu .nav-link { color:var(--white); }
body:has(.page.active:not(.ops-page,.loan-page)) .mobile-menu .nav-link:hover { background:rgba(255,255,255,.08); }
body:has(.page.active:not(.ops-page,.loan-page)) .mobile-menu .nav-link.active { background:rgba(240,180,0,.14); color:var(--marigold-500); }
body:has(.page.active:not(.ops-page,.loan-page)) .mobile-menu .btn.secondary { border-color:var(--white); color:var(--white); }
body:has(.page.active:not(.ops-page,.loan-page)) .mobile-menu .btn:not(.secondary) { background:var(--marigold-500); border-color:var(--marigold-500); color:var(--forest-900); }
.bottom-link.active { color:var(--forest-900); box-shadow:inset 0 3px 0 var(--marigold-500); }
@media (max-width:820px) { .page:not(.ops-page,.loan-page) .page-banner { padding:44px 0 36px; } }

/* Coffee Feed: the member order screen uses the selected mobile design.
   Keep these rules scoped so the catalog, staff desk and other services retain their layouts. */
#page-order .order-menu { min-width:0; }
#page-order .order-collection { display:flex; align-items:center; gap:8px; color:var(--ink-700); font-size:.86rem; margin:0 0 18px; overflow-wrap:anywhere; }
#page-order .order-collection strong { font-weight:600; }
#page-order .order-search { display:flex; align-items:center; gap:12px; min-height:48px; padding:0 15px; border:1px solid var(--line); border-radius:14px; background:var(--white); color:var(--ink-500); }
#page-order .order-search:focus-within { outline:3px solid var(--focus); outline-offset:3px; }
#page-order .order-search input { min-width:0; width:100%; min-height:46px; border:0; background:transparent; outline:0; color:var(--ink-900); font-size:16px; }
#page-order .order-categories { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:18px 0 25px; max-width:440px; }
#page-order .order-categories .filter-btn { display:grid; gap:6px; min-width:0; padding:0; border:0; border-radius:14px; background:transparent; box-shadow:none; color:var(--ink-700); font-size:.84rem; font-weight:500; }
#page-order .order-categories img { width:100%; height:68px; object-fit:cover; border-radius:14px; }
#page-order .order-categories span { display:grid; place-items:center; min-height:32px; border-radius:999px; padding:2px 3px; }
#page-order .order-categories .filter-btn.active span { background:var(--marigold-500); color:var(--ink-900); font-weight:700; }
#page-order .order-categories .filter-btn:hover img { outline:2px solid var(--marigold-500); outline-offset:2px; }
#page-order .order-menu-heading { margin-bottom:20px; }
#page-order .order-menu-heading h1 { font-size:clamp(2rem,4vw,3rem); line-height:1.08; letter-spacing:-.04em; margin:0 0 5px; color:var(--ink-900); }
#page-order .order-menu-heading p { margin:0; color:var(--ink-500); font-size:.95rem; }
#page-order .order-menu-empty { grid-column:1/-1; margin:0; padding:28px 0; color:var(--ink-500); }
.mobile-order-dock { display:none; }
#page-order .order-login { min-height:44px; padding:0; border:0; border-bottom:2px solid var(--marigold-500); border-radius:0; background:transparent; color:var(--ink-900); font-weight:700; text-align:left; }
#page-order .order-login:hover { color:var(--coffee-700); }
.login-register { display:flex; align-items:center; flex-wrap:wrap; gap:0 6px; margin:4px 0 0; }
.link-btn { min-height:44px; padding:0; border:0; background:transparent; color:var(--forest-900); font-weight:700; text-decoration:underline; text-decoration-color:var(--marigold-500); text-decoration-thickness:2px; text-underline-offset:4px; }
.bottom-link-icon { position:relative; display:grid; place-items:center; }
.bottom-count { position:absolute; top:-7px; left:13px; min-width:18px; height:18px; padding:0 5px; border-radius:999px; background:var(--marigold-500); color:var(--ink-900); font-size:.66rem; font-weight:800; line-height:18px; text-align:center; }
#page-order #orderWindowStatus { display:none; margin:0 0 18px; }
.mobile-cart-items { padding:0; max-height:none; }
.modal:has(.mobile-cart-items) { display:flex; flex-direction:column; max-height:calc(100dvh - 32px); }
.modal:has(.mobile-cart-items) .modal-body { overflow:auto; min-height:0; }
.modal:has(.mobile-cart-items) .modal-head, .modal:has(.mobile-cart-items) .modal-actions { flex-shrink:0; }
.modal:has(.mobile-cart-items) .order-schedule-notice { margin:16px 0 0; }
.modal:has(.mobile-cart-items) .modal-actions { flex-wrap:wrap; }

@media (max-width:600px) {
  html:has(#page-order.active) { scroll-padding-top:80px; scroll-padding-bottom:160px; }
  #page-order { animation:none; }
  body:has(#page-order.active) { --header:54px; }
  body:has(#page-order.active) .site-header { background:var(--cream-50); color:var(--ink-900); border-bottom:0; backdrop-filter:none; }
  body:has(#page-order.active) .brand-logo { border:0; }
  body:has(#page-order.active) .brand-name { font:800 1.2rem/1.1 var(--font-display); letter-spacing:.01em; }
  body:has(#page-order.active) .brand-name::after { content:" COFFEE"; }
  body:has(#page-order.active) .mobile-menu-btn { color:var(--ink-900); }
  body:has(#page-order.active) .site-header .member-chip { display:flex; min-height:44px; min-width:44px; padding:4px; border:0; background:transparent; }
  body:has(#page-order.active) .site-header .member-chip span:last-child { display:none; }
  body:has(#page-order.active) .header-inner { gap:8px; }
  body:has(#page-order.active) .header-actions { gap:0; }
  body:has(#page-order.active) .footer { display:none; }
  #page-order .app-section { padding:0 0 100px; }
  #page-order .order-layout { display:block; }
  #page-order #orderWindowStatus { display:grid; }
  #page-order .order-collection { margin-bottom:6px; font-size:.8rem; }
  #page-order .order-categories { gap:10px; margin:12px 0 12px; max-width:none; }
  #page-order .order-categories img { height:48px; }
  #page-order .order-categories .filter-btn { gap:5px; font-size:.8rem; }
  #page-order .order-categories span { min-height:24px; }
  #page-order .order-menu-heading { display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; margin-bottom:8px; }
  #page-order .order-menu-heading h1 { font-size:clamp(1.45rem,6.5vw,1.9rem); }
  #page-order .order-menu-heading p { font-size:.84rem; }
  /* Compact rows keep several drinks on screen at once. */
  #page-order .menu-grid { grid-template-columns:1fr; gap:8px; }
  #page-order .product-card { grid-template-columns:64px minmax(0,1fr) auto; gap:12px; align-items:center; padding:8px 10px 8px 8px; border:1px solid #ebe5d9; border-radius:16px; box-shadow:none; }
  #page-order .product-card:hover { transform:none; border-color:var(--line); }
  #page-order .product-visual { width:64px; height:64px; border-radius:12px; overflow:hidden; }
  #page-order .product-visual img { height:100%; width:100%; object-fit:cover; }
  #page-order .product-copy { min-width:0; }
  #page-order .product-copy h3 { font:700 .98rem/1.2 var(--font-display); margin:0 0 2px; overflow-wrap:anywhere; }
  #page-order .product-copy p { font-size:.76rem; line-height:1.35; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  #page-order .product-copy strong { margin-top:3px; font-size:.95rem; color:var(--ink-900); white-space:nowrap; }
  #page-order .add-product { width:44px; height:44px; min-width:44px; }
  #page-order .add-product.has-label { width:auto; max-width:110px; padding:0 10px; gap:4px; font-size:.72rem; }
  #page-order .add-product.has-label:not(.is-out-of-stock) { width:44px; min-width:44px; padding:0; gap:0; border-radius:50%; }
  #page-order .add-product.has-label:not(.is-out-of-stock) span { display:none; }
  #page-order .add-product.has-label:not(.is-out-of-stock) .icon { width:20px; height:20px; }
  #page-order .add-product:hover { transform:none; }
  #page-order .product-photo-note { color:var(--ink-500); font-size:.62rem; line-height:1.2; text-align:center; padding:4px; }
  #page-order .order-panel { display:none; }
  #page-order .mobile-order-dock { display:block; position:fixed; z-index:54; left:0; right:0; bottom:calc(68px + env(safe-area-inset-bottom)); padding:4px 12px; background:var(--cream-50); }
  #page-order .mobile-order-cart { display:flex; width:100%; min-height:48px; align-items:center; gap:10px; padding:8px 16px; border:1px solid var(--forest-900); border-radius:18px; background:var(--forest-900); color:var(--white); text-align:left; font-size:.9rem; font-weight:700; }
  #page-order .mobile-order-cart>.icon:first-child { color:var(--marigold-500); width:25px; height:25px; }
  #page-order .mobile-order-cart>span { flex:1; }
  #page-order .mobile-order-cart>strong { white-space:nowrap; }
  #page-order .mobile-order-cart:disabled { background:var(--cream-100); color:var(--ink-500); border-color:var(--line); cursor:default; }
  body:has(#page-order.active) .toast { bottom:calc(154px + env(safe-area-inset-bottom)); }
}
@media (max-width:360px) {
  body:has(#page-order.active) .brand-name { font-size:1rem; }
  #page-order .product-card { grid-template-columns:52px minmax(0,1fr) auto; gap:10px; }
  #page-order .product-visual { width:52px; height:52px; }
  #page-order .order-categories .filter-btn { font-size:.74rem; }
  #page-order .order-categories span { white-space:nowrap; }
}
/* Directory controls reuse the existing field, table, panel and button primitives. */
.directory-controls { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin-block: 16px; }
.directory-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-block: 14px; }
.directory-controls input, .directory-controls select, .directory-actions button { min-height: 44px; }
.directory-meta { display: block; }
#onboardingDirectory { margin-bottom: 20px; }
.directory-details > .directory-controls, .directory-details > .directory-actions, .directory-details > .notice { margin-inline: 24px; }
.directory-details > summary { list-style: none; cursor: pointer; min-height: 44px; }
.directory-details > summary::-webkit-details-marker { display: none; }
.directory-details:not([open]) > summary { border-bottom: 0; }
.directory-details > summary:focus-visible { outline: 2px solid var(--forest-700); outline-offset: -2px; border-radius: inherit; }
.directory-toggle { display: grid; place-items: center; width: 44px; height: 44px; flex: none; border: 1px solid var(--line); border-radius: 50%; transform: rotate(90deg); transition: transform .18s; }
.directory-details[open] .directory-toggle { transform: rotate(-90deg); }
.approvals-panel { margin-bottom: 20px; }
.approvals-panel h3 { display: flex; align-items: center; gap: 8px; }
.approval-filter { min-width: 180px; }
.approval-filter select { min-height: 44px; }
.claim-queue { padding: 16px 23px; border-bottom: 1px solid var(--line); background: var(--cream-50); }
.claim-queue h4 { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font-size: .92rem; }
.claim-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.claim-list li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.claim-list span { display: grid; gap: 2px; min-width: 0; overflow-wrap: anywhere; }
.claim-list small { color: var(--ink-500); font-size: .76rem; }
.claim-list .btn { min-height: 44px; flex: none; }
.approval-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.approval-btn { min-height: 44px; margin: 0; padding-inline: 18px; font-size: .82rem; }
.approval-btn:disabled { background: var(--cream-100); border-color: var(--line); color: var(--ink-500); opacity: 1; }
.approval-note { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; max-width: 280px; margin: 8px 0 0; color: var(--ink-500); font-size: .74rem; line-height: 1.35; }
.account-admin-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.role-select { min-height: 44px; min-width: 120px; padding: 0 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); color: var(--ink-900); font-size: .82rem; }
.account-suspend { color: #a53225; padding-inline: 0; }
.approvals-panel .member-record-link { min-height: 44px; align-content: center; }
.directory-status { white-space: nowrap; }
@media (max-width: 600px) {
  .approvals-panel .panel-head { flex-wrap: wrap; } .approval-filter { flex-basis: 100%; }
  /* Phones: each request becomes a card so Approve/Reject stay on screen. */
  .approvals-panel .table-wrap { overflow: visible; }
  .approvals-panel table { min-width: 0; }
  .approvals-panel thead { display: none; }
  .approvals-panel table, .approvals-panel tbody, .approvals-panel tr, .approvals-panel td { display: block; width: 100%; }
  .approvals-panel tr { padding: 14px 16px; border-bottom: 1px solid var(--line); }
  .approvals-panel td { padding: 4px 0; border: 0; }
  .approvals-panel td:empty { display: none; }
  .approvals-panel td[data-label] { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 8px; align-items: start; }
  .approvals-panel td[data-label]::before { content: attr(data-label); color: var(--ink-500); font-size: .7rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; padding-top: 2px; }
  .approvals-panel td[data-label] > .directory-status { grid-column: 2; justify-self: start; }
  .approvals-panel td[data-label] > br { display: none; }
  .approvals-panel .account-cell-member { padding-bottom: 6px; }
  .approvals-panel .account-cell-review, .approvals-panel .account-cell-admin { padding-top: 10px; }
  .approval-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .approval-note { max-width: none; }
  .account-admin-actions { flex-direction: row; align-items: center; justify-content: space-between; }
}
.order-board .panel-head .small-btn, .ops-top .small-btn { min-height: 44px; white-space: nowrap; flex: none; }
#directoryRows input[type="checkbox"] { width: 24px; height: 24px; margin: 10px; }
.activation-slip { border: 1px solid var(--border, #ddd); border-radius: 10px; padding: 16px; margin-block: 12px; break-inside: avoid; overflow-wrap: anywhere; }
.activation-slip [data-sensitive] { font-family: monospace; font-size: 1.15em; }
.membership-claim-panel:has(#claimMembership[hidden]) { display: none; }
.membership-claim-panel { display: flex; flex-wrap: wrap; gap: 10px; padding: 16px; margin-bottom: 20px; }
.membership-claim-panel .notice { flex-basis: 100%; margin: 0; }
@media (max-width: 600px) { .directory-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* Motion: short, purposeful entrances and feedback within the 180–300ms system.
   The prefers-reduced-motion rule earlier in this file neutralises all of it. */
@keyframes rise { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
@keyframes fade-in { from { opacity:0; } to { opacity:1; } }
@keyframes bump { 40% { transform:scale(1.08); } }
#page-home.active .home-hero-photo { animation:fade-in .3s ease both; }
#page-home.active .home-hero-copy > * { animation:rise .3s cubic-bezier(.2,.7,.2,1) both; }
#page-home.active .home-hero-copy > :nth-child(2) { animation-delay:.07s; }
#page-home.active .home-hero-copy > :nth-child(3) { animation-delay:.14s; }
#page-home.active .home-hero-copy > :nth-child(4) { animation-delay:.21s; }
.modal-backdrop.open { animation:fade-in .2s ease both; }
.modal-backdrop.open .modal { animation:rise .24s cubic-bezier(.2,.7,.2,1) both; }
html.motion-ok [data-reveal] { opacity:0; transform:translateY(18px); transition:opacity .3s ease var(--reveal-delay,0s), transform .3s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0s); }
html.motion-ok [data-reveal].is-revealed { opacity:1; transform:none; }
.add-product:not(:disabled):active { transform:scale(.92); }
.is-bumped { animation:bump .26s ease; }

.staff-legal-links { display:none; }
body[data-deployment="staff"] .staff-legal-links, .staff-legal-links.members-legal-links { display:flex; justify-content:center; flex-wrap:wrap; gap:4px 24px; padding:16px 20px; border-top:1px solid var(--line); }
.staff-legal-links a { display:inline-flex; align-items:center; min-height:44px; color:var(--ink-700); font-size:.8rem; text-decoration:underline; text-underline-offset:3px; }
.policy-links-note { color:var(--ink-700); font-size:.82rem; margin:14px 0 0; }
.policy-links-note a { display:inline-block; min-height:44px; padding-block:10px; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.legal-document { padding-bottom:0; }
.legal-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-block:24px; border-bottom:1px solid var(--line); }
.legal-header .brand { flex-shrink:0; min-height:44px; }
.legal-header .btn { text-align:center; }
.legal-layout { display:grid; grid-template-columns:230px minmax(0,760px); gap:56px; padding-block:48px 64px; }
.legal-navigation { align-self:start; display:grid; gap:4px; }
.legal-navigation a { display:flex; align-items:center; min-height:44px; padding:10px 14px; border-radius:var(--radius-sm); color:var(--ink-700); font-size:.88rem; }
.legal-navigation a:hover, .legal-navigation a[aria-current="page"] { background:var(--cream-100); color:var(--ink-900); }
.legal-navigation a[aria-current="page"] { font-weight:700; box-shadow:inset 3px 0 var(--marigold-500); }
.legal-content { min-width:0; overflow-wrap:anywhere; }
.legal-content h1 { font-size:clamp(2.3rem,5vw,3.7rem); line-height:1.08; }
.legal-content h2 { font-size:clamp(1.4rem,3vw,1.9rem); line-height:1.2; margin-top:32px; }
.legal-content p, .legal-content li { line-height:1.75; }
.legal-content li + li { margin-top:10px; }
.legal-content ul { padding-left:24px; }
.legal-content a { text-decoration:underline; text-underline-offset:3px; }
.legal-updated { color:var(--ink-500); font-size:.85rem; margin-bottom:28px; }
.legal-callout { padding:20px; background:var(--cream-100); border-left:4px solid var(--marigold-500); border-radius:var(--radius-sm); }
.legal-callout p { margin:8px 0 0; }
.legal-footer { padding-block:24px; border-top:1px solid var(--line); color:var(--ink-700); font-size:.85rem; }
.legal-footer nav { display:flex; flex-wrap:wrap; gap:4px 24px; }
.legal-footer a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:3px; }
@media (max-width:760px) {
  .legal-layout { grid-template-columns:minmax(0,1fr); gap:32px; padding-block:24px 40px; }
  .legal-navigation { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  .legal-navigation a { padding:10px; border:1px solid var(--line); }
  .legal-header { gap:12px; padding-block:16px; }
  .legal-header .btn { font-size:.8rem; padding-inline:12px; }
}
@media print {
  .legal-document .legal-header, .legal-navigation, .legal-footer { display:none; }
  .legal-layout { display:block; padding:0; }
}

.cup-options { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; }
.cup-options .temperature-option span { display:grid; align-content:center; justify-items:center; gap:2px; text-align:center; }
.cup-options .temperature-option small { color:var(--forest-800); font-size:.72rem; font-weight:700; }
.cup-options-hint { grid-column:1 / -1; margin:0; color:var(--ink-500); font-size:.76rem; }
.pos-line-options { grid-column:1 / -1; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px 10px; align-items:end; }
.pos-option { display:grid; gap:4px; min-width:0; margin:0; color:var(--ink-500); font-size:.72rem; font-weight:700; }
.pos-option-wide, .pos-cup-choice:only-child, .pos-option:only-child { grid-column:1 / -1; }
.pos-option-hint { color:var(--ink-500); font-weight:400; }
.pos-option select, .pos-option input { width:100%; min-width:0; min-height:44px; padding:6px 10px; font:inherit; font-size:.82rem; font-weight:400; color:var(--ink-900); background:var(--white); border:1px solid var(--line); border-radius:10px; }
.pos-option input::placeholder { color:var(--ink-500); }
.pos-option select:hover, .pos-option input:hover { border-color:var(--forest-700); }
.pos-cup-choice { min-width:0; margin:0; padding:0; border:0; }
.pos-cup-choice legend { padding:0 0 4px; color:var(--ink-500); font-size:.72rem; font-weight:700; }
.pos-cup-choice > div { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:6px; }
.pos-cup-choice .temperature-option span { display:grid; align-content:center; justify-items:center; gap:1px; min-height:44px; padding:4px 6px; font-size:.78rem; line-height:1.15; text-align:center; }
.pos-cup-choice .temperature-option small { color:var(--forest-800); font-size:.68rem; font-weight:700; }
.pos-split { grid-column:1 / -1; justify-self:start; min-height:44px; padding:0 4px; border:0; background:none; color:var(--forest-800); font:inherit; font-size:.78rem; font-weight:800; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.pos-split:hover { color:var(--forest-900); }
@media (max-width: 380px) { .pos-line-options { grid-template-columns:1fr; } }

@media print {
  html.motion-ok [data-reveal] { opacity:1; transform:none; }
  body:has(#activationPrintout) > * { visibility: hidden; }
  body:has(#activationPrintout) #modalBackdrop { display: block; position: static; background: white; }
  body:has(#activationPrintout) .modal { max-height: none; overflow: visible; box-shadow: none; }
  body:has(#activationPrintout) #activationPrintout, body:has(#activationPrintout) #activationPrintout * { visibility: visible; }
  body:has(#activationPrintout) #activationPrintout { position: absolute; inset: 0; }
}

/* Order desk: equal workflow columns above the daily summary. */
.ops-page:has(#ops-dashboard.active) { background:var(--cream-50); }
.ops-top:has(+ #ops-dashboard.active) { margin-bottom:12px; }
.ops-top:has(+ #ops-dashboard.active) h1 { font-size:clamp(1.75rem,2.5vw,2.35rem); }
.ops-top:has(+ #ops-dashboard.active) #newOrder,
.order-board .status-btn { background:var(--marigold-500); color:var(--ink-900); border-color:var(--marigold-500); }
.ops-top:has(+ #ops-dashboard.active) #newOrder:hover,
.order-board .status-btn:hover { background:var(--focus); border-color:var(--focus); }
.order-board .status-btn { border-radius:var(--radius-sm); }
.order-board .status-btn:focus-visible { outline:2px solid var(--ink-900); outline-offset:2px; }
.order-board .panel-head { border:0; padding:0 0 8px; }
.order-board .panel-head h2, .dashboard-summary h2 { margin:0; font:800 1.125rem var(--font-sans); }
.kanban-column-head { background:var(--cream-100); border-radius:11px 11px 0 0; }
.kanban-board > .notice { grid-column:1/-1; }
.kanban-items:has(> .kanban-empty) { align-content:center; }
.dashboard-summary { display:grid; margin-top:20px; border-color:var(--line); background:var(--cream-50); }
.dashboard-summary > section { min-width:0; padding:18px; }
.dashboard-summary > section + section { border-top:1px solid var(--line); }
.kpi-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:12px; }
.kpi { padding:10px 12px; border-inline-start:1px solid var(--line); overflow-wrap:anywhere; }
.kpi:first-child { border:0; padding-inline-start:0; }
.kpi.tab-receivable { border:0; border-radius:10px; background:var(--cream-100); }
.kpi-head { color:var(--ink-700); font-size:.85rem; font-weight:700; }
.kpi strong { display:block; margin-bottom:3px; font-size:clamp(1.25rem,2vw,1.65rem); line-height:1.2; }
.kpi small { display:block; margin-top:3px; color:var(--ink-500); line-height:1.35; }
.dashboard-queue-counts { display:flex; flex-wrap:wrap; gap:6px 20px; margin-top:10px; color:var(--ink-500); font-size:.82rem; }
.dashboard-queue-counts strong { margin-left:3px; color:var(--ink-900); }
.top-selling-panel .top-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,145px),1fr)); gap:0 16px; margin-top:8px; }
.top-selling-panel .top-item { border:0; gap:6px; overflow-wrap:anywhere; }

@media (min-width:561px) {
  .kanban-column { display:grid; grid-template-rows:auto 1fr; min-height:clamp(330px,48vh,520px); }
}
@media (min-width:1081px) {
  .ops-top:has(+ #ops-dashboard.active) > div:first-child { display:grid; grid-template-columns:auto minmax(0,1fr); column-gap:22px; align-items:center; }
  .ops-top:has(+ #ops-dashboard.active) #currentDate { grid-column:1; }
  .ops-top:has(+ #ops-dashboard.active) .ops-live-row { grid-column:2; grid-row:1 / span 2; margin-top:0; }
  .ops-top:has(+ #ops-dashboard.active) #newOrder { min-width:158px; }
  .order-board .kanban-column-head strong { font-size:1.1rem; }
}
@media (min-width:1280px) {
  .dashboard-summary { grid-template-columns:1.1fr 1fr; }
  .dashboard-summary > section + section { border-top:0; border-inline-start:1px solid var(--line); }
}

/* Order desk: readable cards, waiting time, always-visible next action, and a one-stage view on phones. */
.kanban-card {
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:var(--white);
  color:var(--ink-900);
  overflow-wrap:anywhere;
}
.kanban-card-titlebar { display:grid; grid-template-columns:minmax(0,1fr) 44px; align-items:start; gap:10px; }
.kanban-card-meta { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; min-width:0; }
.kanban-card-identity { flex:1 1 105px; min-width:0; }
.kanban-card-identity strong { display:block; font-size:clamp(1.125rem,1.75vw,1.875rem); line-height:1.2; }
.kanban-card-identity span { display:block; margin-top:4px; color:var(--ink-500); font-size:.9rem; }
.kanban-age { padding:2px 8px; border-radius:999px; background:var(--cream-100); color:var(--ink-500); font-size:.8rem; font-weight:700; }
.kanban-card-items {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:4px 10px;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:var(--cream-100);
  font-size:1rem;
}
.kanban-card-items .fulfilment-progress { color:var(--ink-700); font-size:.82rem; }
.kanban-card .kanban-ack { margin:0; }
.kanban-card[data-age="warn"] { border-color:#e6c46a; }
.kanban-card[data-age="warn"] .kanban-age { background:#fbefc8; color:#6d5205; }
.kanban-card[data-age="late"] { border-color:var(--danger); box-shadow:inset 3px 0 0 var(--danger); }
.kanban-card[data-age="late"] .kanban-age { background:#f8e1de; color:#8a2a21; }
.kanban-card-actions { display:grid; gap:8px; }
.kanban-card .status-btn, .kanban-view-order { min-height:44px; padding:8px; font-size:.95rem; font-weight:800; }
.kanban-view-order, .kanban-card-collapse { border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--white); color:var(--ink-900); }
.kanban-view-order:hover, .kanban-card-collapse:hover { background:var(--cream-50); border-color:var(--ink-500); }
.kanban-view-order:focus-visible, .kanban-card-collapse:focus-visible { outline:2px solid var(--ink-900); outline-offset:2px; }
.kanban-card-collapse { display:grid; place-items:center; width:44px; height:44px; padding:0; }
.kanban-card-collapse .icon { transform:rotate(-90deg); transition:transform .15s; }
.kanban-card-collapse[aria-expanded="false"] .icon { transform:rotate(90deg); }
.kanban-card.is-collapsed { gap:8px; padding:10px; }
.kanban-card.is-collapsed .kanban-card-identity strong { font-size:1rem; }
.kanban-card.is-collapsed .kanban-card-items { padding-block:4px; border-color:transparent; background:transparent; }
.kanban-card.is-collapsed .kanban-item-summary { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cancel-order-btn { min-height:44px; margin-top:2px; font-size:.78rem; }
.kanban-stage-switcher { display:none; }
.kanban-stage-tab:focus-visible { outline:3px solid var(--focus); outline-offset:2px; }
@media (max-width:560px) {
  .kanban-board { grid-template-columns:minmax(0,1fr); }
  .kanban-stage-switcher { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; position:sticky; top:var(--header); z-index:2; padding:8px 0; background:var(--cream-50); }
  .kanban-stage-tab { display:flex; align-items:center; justify-content:center; gap:6px; min-height:44px; padding:0 8px; border:1px solid var(--line); border-radius:999px; background:var(--cream-50); color:var(--ink-900); font:inherit; font-size:.84rem; font-weight:800; }
  .kanban-stage-tab[aria-pressed="true"] { background:var(--forest-950); border-color:var(--forest-950); color:var(--white); }
  .kanban-stage-tab[aria-pressed="true"] .kanban-count { background:var(--marigold-500); color:var(--ink-900); }
  .kanban-board[data-mobile-stage="New"] .kanban-column:not([data-stage="New"]),
  .kanban-board[data-mobile-stage="Preparing"] .kanban-column:not([data-stage="Preparing"]),
  .kanban-board[data-mobile-stage="Ready"] .kanban-column:not([data-stage="Ready"]) { display:none; }
  .kanban-board .kanban-column-head { display:none; }
  .kanban-board .kanban-column { border:0; background:transparent; }
  .kanban-board .kanban-items { padding:0; }
  .kanban-empty { text-align:left; padding:10px 4px; }
  .ops-top:has(+ #ops-dashboard.active) #newOrder { min-width:44px; }
  .dashboard-summary > section { padding:14px; }
  .kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kpi.tab-receivable { grid-column:1/-1; }
}

/* Order desk: live-update status and new-order sound toggle under the date. */
.ops-live-row { display:flex; flex-wrap:wrap; align-items:center; gap:4px 12px; margin-top:6px; }
.ops-live { display:inline-flex; align-items:center; gap:7px; color:var(--ink-500); font-size:.8rem; font-weight:700; }
.ops-live::before { content:""; width:9px; height:9px; border-radius:50%; background:#9aa39d; flex:none; }
.ops-live[data-state="live"] { color:#286044; }
.ops-live[data-state="live"]::before { background:#2f8a57; box-shadow:0 0 0 3px #d7eddf; }
.ops-live[data-state="reconnecting"], .ops-live[data-state="offline"] { color:var(--danger); }
.ops-live[data-state="reconnecting"]::before, .ops-live[data-state="offline"]::before { background:var(--danger); }
.ops-live[data-state="reconnecting"]::before { animation:opsLivePulse 1.2s ease-in-out infinite; }
@keyframes opsLivePulse { 50% { opacity:.3; } }
.ops-chime { display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:0 10px; margin-left:-10px; border:0; border-radius:10px; background:transparent; color:var(--ink-500); font:inherit; font-size:.8rem; font-weight:700; cursor:pointer; }
.ops-chime:hover { background:var(--cream-100); color:var(--ink-900); }
.ops-chime:focus-visible { outline:3px solid var(--focus); outline-offset:2px; }
.ops-chime[aria-pressed="false"] .icon { opacity:.45; }
.ops-live[hidden], .ops-chime[hidden] { display:none; }
