  :root{
    --panna: #FDFBF6;
    --panna-2: #F5F1E7;
    --cioccolato: #322D26;
    --cioccolato-soft: #5A5249;
    --oro: #B8945A;
    --oro-chiaro: #D6BA88;
    --grigio: #ABABAB;
    --line: rgba(50,45,38,0.13);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  body{
    background:var(--panna); color:var(--cioccolato);
    font-family:'Work Sans', sans-serif; font-weight:400;
    min-height:100vh;
  }
  a{color:inherit; text-decoration:none;}
  .display{font-family:'Fraunces', serif;}
  .label{
    font-family:'Space Mono', monospace; letter-spacing:0.12em; text-transform:uppercase;
    font-size:0.7rem; color:var(--oro);
  }

  header{
    display:flex; justify-content:space-between; align-items:center;
    padding:1.4rem 6vw; border-bottom:1px solid var(--line);
    background:var(--panna-2);
  }
  .logo{
    display:flex; align-items:center; gap:0.7rem;
    font-family:'Fraunces', serif; font-weight:500; font-size:1.05rem;
    letter-spacing:0.12em; text-transform:uppercase;
  }
  .logo svg{width:32px; height:auto; fill:var(--cioccolato);}
  .logo .tag{color:var(--oro); font-size:0.7rem; letter-spacing:0.1em; margin-left:0.4rem;}
  .back-link{
    font-size:0.8rem; letter-spacing:0.03em; text-transform:uppercase; color:var(--cioccolato-soft);
    border-bottom:1px solid var(--line); padding-bottom:2px;
  }
  .back-link:hover{color:var(--oro); border-color:var(--oro);}

  main{max-width:1100px; margin:0 auto; padding:3rem 6vw 5rem;}

  .section-head{
    display:flex; justify-content:space-between; align-items:flex-end;
    margin-bottom:2.5rem; gap:2rem; flex-wrap:wrap;
    border-bottom:1px solid var(--line); padding-bottom:1.4rem;
  }
  .section-head h1{font-size:clamp(1.8rem, 4vw, 2.6rem); font-weight:500;}
  .section-head p{max-width:340px; font-size:0.9rem; color:var(--cioccolato-soft); font-weight:300;}

  .stats-row{display:flex; gap:1.2rem; margin-bottom:2.2rem; flex-wrap:wrap;}

  .birthday-panel{
    border:1px solid var(--oro); border-radius:14px; padding:1.4rem 1.6rem;
    margin-bottom:2.2rem; background:rgba(184,148,90,0.07);
  }
  .birthday-panel-head{
    display:flex; justify-content:space-between; align-items:center;
    margin-bottom:1rem; flex-wrap:wrap; gap:0.8rem;
  }
  .birthday-panel-head h2{font-family:'Fraunces', serif; font-size:1.15rem; font-weight:500;}
  .birthday-notify-btn{
    background:none; border:1px solid var(--oro); color:var(--oro);
    border-radius:100px; padding:0.4rem 1rem; font-size:0.72rem; letter-spacing:0.03em;
    text-transform:uppercase; cursor:pointer;
  }
  .birthday-notify-btn:hover{background:var(--oro); color:var(--panna);}
  .birthday-list{display:flex; flex-direction:column; gap:0.6rem;}
  .birthday-item{
    display:flex; justify-content:space-between; align-items:center; gap:1rem;
    padding:0.7rem 0.9rem; border-radius:10px; background:var(--panna);
    border:1px solid var(--line);
  }
  .birthday-item.birthday-highlight{border-color:var(--oro);}
  .birthday-contact{font-size:0.78rem; color:var(--cioccolato-soft);}
  .birthday-badge{
    font-family:'Space Mono', monospace; font-size:0.75rem; color:var(--oro);
    white-space:nowrap; font-weight:700;
  }
  .stat-pill{
    border:1px solid var(--line); border-radius:12px; padding:0.9rem 1.3rem; min-width:140px;
  }
  .stat-pill .num{font-family:'Fraunces', serif; font-size:1.6rem;}
  .stat-pill .lbl{font-size:0.75rem; color:var(--cioccolato-soft);}

  .loyalty-toolbar{display:flex; justify-content:space-between; gap:1rem; margin-bottom:2rem; flex-wrap:wrap;}
  .loyalty-input{
    flex:1; min-width:220px; max-width:360px;
    padding:0.8rem 1.1rem; border:1px solid var(--line); border-radius:100px;
    background:var(--panna); color:var(--cioccolato); font-family:'Work Sans',sans-serif; font-size:0.9rem;
  }
  .loyalty-input:focus{outline:none; border-color:var(--oro);}
  .loyalty-add-btn{
    padding:0.8rem 1.5rem; border:none; border-radius:100px;
    background:var(--cioccolato); color:var(--panna); font-size:0.85rem; font-weight:500;
    letter-spacing:0.03em; text-transform:uppercase; cursor:pointer;
    transition:background 0.3s ease, transform 0.3s ease;
  }
  .loyalty-add-btn:hover{background:var(--oro); transform:translateY(-2px);}
  .loyalty-empty{
    display:none; padding:3rem 1rem; text-align:center;
    color:var(--cioccolato-soft); font-family:'Fraunces',serif; font-style:italic; font-size:1.1rem;
    border:1px dashed var(--line); border-radius:12px;
  }
  .loyalty-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:1.4rem;}
  .loyalty-card{border:1px solid var(--line); border-radius:14px; padding:1.5rem; background:var(--panna-2); transition:box-shadow 0.3s ease;}
  .loyalty-card:hover{box-shadow:0 8px 24px rgba(43,29,22,0.08);}
  .loyalty-card-head{display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:1rem;}
  .loyalty-name{font-family:'Fraunces', serif; font-size:1.2rem; font-weight:500;}
  .loyalty-phone{font-size:0.8rem; color:var(--cioccolato-soft); margin-top:0.2rem;}
  .loyalty-delete{background:none; border:none; cursor:pointer; color:var(--cioccolato-soft); font-size:0.75rem; text-decoration:underline; padding:0;}
  .loyalty-card-actions{display:flex; flex-direction:column; align-items:flex-end; gap:0.4rem;}
  .loyalty-edit{background:none; border:none; cursor:pointer; color:var(--oro); font-size:0.75rem; text-decoration:underline; padding:0;}
  .loyalty-stamps{display:grid; grid-template-columns:repeat(5, 1fr); gap:0.55rem; margin-bottom:1.1rem;}
  .stamp{
    aspect-ratio:1; border-radius:50%; border:1.5px solid var(--oro);
    display:flex; align-items:center; justify-content:center; cursor:pointer; background:transparent;
    transition:transform 0.2s ease;
  }
  .stamp:hover{transform:scale(1.08);}
  .stamp svg{width:55%; height:55%; fill:var(--oro);}
  .stamp.filled{background:var(--oro);}
  .stamp.filled svg{fill:var(--panna);}
  .loyalty-progress{font-size:0.78rem; color:var(--cioccolato-soft); margin-bottom:0.9rem;}
  .loyalty-progress b{color:var(--oro); font-family:'Space Mono',monospace;}
  .loyalty-redeem{
    width:100%; padding:0.65rem; border:none; border-radius:100px;
    background:var(--oro); color:var(--panna); font-size:0.8rem; font-weight:500;
    letter-spacing:0.03em; text-transform:uppercase; cursor:pointer;
  }
  .loyalty-redeem:disabled{background:transparent; color:var(--cioccolato-soft); border:1px solid var(--line); cursor:not-allowed;}

  .loyalty-modal-overlay{
    display:none; position:fixed; inset:0; background:rgba(43,29,22,0.35);
    z-index:200; align-items:center; justify-content:center; padding:1.5rem;
  }
  .loyalty-modal-overlay.open{display:flex;}
  .loyalty-modal{
    background:var(--panna); border-radius:14px; padding:2rem; width:100%; max-width:380px;
    max-height:88vh; overflow-y:auto;
  }
  .loyalty-modal-wide{ max-width:520px; }
  .loyalty-modal h3{font-size:1.4rem; margin-bottom:1.4rem;}
  .loyalty-field{display:block; font-size:0.8rem; color:var(--cioccolato-soft); margin-bottom:1.1rem;}
  .loyalty-field .optional{font-size:0.72rem; opacity:0.7;}
  .loyalty-field input{
    display:block; width:100%; margin-top:0.4rem;
    padding:0.7rem 0.9rem; border:1px solid var(--line); border-radius:8px;
    background:var(--panna-2); color:var(--cioccolato); font-family:'Work Sans',sans-serif; font-size:0.95rem;
  }
  .loyalty-field input:focus{outline:none; border-color:var(--oro);}
  .loyalty-field-error{
    display:none; color:#7A2E2E; font-size:0.78rem; margin:-0.4rem 0 1rem;
  }
  .loyalty-modal-actions{display:flex; gap:0.8rem; margin-top:0.5rem;}
  .loyalty-cancel-btn, .loyalty-save-btn{
    flex:1; padding:0.75rem; border-radius:100px; border:none; cursor:pointer;
    font-size:0.82rem; font-weight:500; letter-spacing:0.03em; text-transform:uppercase;
  }
  .loyalty-cancel-btn{background:transparent; border:1px solid var(--line); color:var(--cioccolato-soft);}
  .loyalty-save-btn{background:var(--cioccolato); color:var(--panna);}
  .loyalty-save-btn:hover{background:var(--oro);}

  /* Marketing */
  .marketing-section{margin-top:4rem;}

  .biz-section{margin-top:4rem;}

  .tables-section{margin-top:4rem;}

  .cassa-section{margin-top:4rem;}
  .cassa-subhead{
    font-family:'Fraunces', serif; font-size:1.15rem; font-weight:500; margin:2rem 0 1rem;
  }
  .cassa-subhead:first-of-type{margin-top:0;}

  .gusti-toolbar{display:flex; gap:0.8rem; margin-bottom:1rem; flex-wrap:wrap;}
  .gusti-list{display:flex; flex-wrap:wrap; gap:0.6rem; margin-bottom:0.5rem;}
  .gusto-tag{
    display:flex; align-items:center; gap:0.5rem;
    background:var(--panna-2); border:1px solid var(--line); border-radius:100px;
    padding:0.4rem 0.5rem 0.4rem 0.9rem; font-size:0.82rem;
  }
  .gusto-tag button{
    background:none; border:none; cursor:pointer; color:var(--cioccolato-soft);
    width:18px; height:18px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    font-size:0.7rem;
  }
  .gusto-tag button:hover{background:rgba(179,86,74,0.15); color:#B3564A;}

  .flavor-picker-hint{font-size:0.8rem; color:var(--cioccolato-soft); margin-bottom:0.8rem;}
  .flavor-picker-grid{display:flex; flex-wrap:wrap; gap:0.6rem; margin-bottom:1rem;}
  .flavor-pick-btn{
    border:1px solid var(--line); border-radius:100px; background:var(--panna-2);
    padding:0.45rem 1rem; font-size:0.82rem; cursor:pointer;
  }
  .flavor-pick-btn.selected{background:var(--oro); border-color:var(--oro); color:var(--panna); font-weight:600;}
  .flavor-pick-btn:disabled{opacity:0.4; cursor:not-allowed;}

  .product-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(180px, 1fr)); gap:1rem; margin-bottom:0.5rem;}
  .product-card{
    border:1px solid var(--line); border-radius:12px; padding:1rem; background:var(--panna-2);
    display:flex; flex-direction:column; gap:0.3rem;
  }
  .product-card .p-name{font-family:'Fraunces', serif; font-size:1rem; font-weight:500;}
  .product-card .p-price{font-family:'Space Mono', monospace; color:var(--oro); font-size:0.9rem;}
  .product-card .p-cat{font-size:0.7rem; color:var(--cioccolato-soft); text-transform:uppercase; letter-spacing:0.03em;}
  .product-card-actions{display:flex; gap:0.6rem; margin-top:0.4rem;}
  .add-product-btn{
    border:1px dashed var(--line); border-radius:12px; background:transparent;
    color:var(--cioccolato-soft); font-size:0.85rem; cursor:pointer;
    display:flex; align-items:center; justify-content:center; min-height:100px;
  }
  .add-product-btn:hover{border-color:var(--oro); color:var(--oro);}

  .pos-layout{display:grid; grid-template-columns:1.4fr 1fr; gap:2rem; align-items:start;}
  .pos-products{display:grid; grid-template-columns:repeat(auto-fill, minmax(140px, 1fr)); gap:0.8rem;}
  .pos-product-btn{
    border:1px solid var(--line); border-radius:12px; padding:0.9rem 0.7rem; background:var(--panna-2);
    cursor:pointer; text-align:center; transition:border-color 0.2s ease;
  }
  .pos-product-btn:hover{border-color:var(--oro);}
  .pos-product-btn .p-name{font-size:0.85rem; font-weight:500; display:block;}
  .pos-product-btn .p-price{font-family:'Space Mono', monospace; color:var(--oro); font-size:0.8rem;}

  .category-tile{
    background:var(--cioccolato); border-color:var(--cioccolato);
    padding:1.3rem 0.7rem;
  }
  .category-tile .p-name{color:var(--panna); font-size:0.95rem; font-weight:600;}
  .category-tile:hover{background:var(--oro); border-color:var(--oro);}
  .category-back-btn{
    grid-column:1 / -1; flex-basis:100%;
    background:none; border:none; cursor:pointer;
    color:var(--cioccolato-soft); font-size:0.82rem; text-decoration:underline;
    text-align:left; padding:0; margin-bottom:0.3rem;
  }
  .category-back-btn:hover{color:var(--oro);}

  .cart-box{border:1px solid var(--line); border-radius:14px; padding:1.3rem; background:var(--panna-2);}
  .cart-empty{font-size:0.82rem; color:var(--cioccolato-soft); font-style:italic;}
  .cart-item{display:flex; justify-content:space-between; align-items:center; font-size:0.85rem; padding:0.5rem 0; border-bottom:1px solid var(--line);}
  .cart-item:last-child{border-bottom:none;}
  .cart-item-qty{display:flex; align-items:center; gap:0.4rem;}
  .qty-btn{
    width:22px; height:22px; border-radius:50%; border:1px solid var(--line); background:var(--panna);
    cursor:pointer; font-size:0.75rem; line-height:1; display:flex; align-items:center; justify-content:center;
  }
  .cart-total-row{
    display:flex; justify-content:space-between; font-size:1rem; font-weight:600;
    padding-top:0.8rem; margin-top:0.6rem; border-top:1px solid var(--line);
  }
  .cart-total-row b{font-family:'Space Mono', monospace; color:var(--oro);}
  .payment-choice-row{display:flex; gap:0.6rem; margin:1rem 0;}
  .pay-method-btn{
    flex:1; padding:0.6rem; border-radius:10px; border:1px solid var(--line); background:var(--panna);
    font-size:0.8rem; cursor:pointer; text-transform:uppercase; letter-spacing:0.02em;
  }
  .pay-method-btn.active{border-color:var(--oro); background:rgba(184,148,90,0.15); color:var(--oro); font-weight:600;}
  .checkout-btn{
    width:100%; padding:0.75rem; border:none; border-radius:100px; background:var(--cioccolato); color:var(--panna);
    font-size:0.85rem; font-weight:500; letter-spacing:0.03em; text-transform:uppercase; cursor:pointer; margin-top:0.6rem;
  }
  .checkout-btn:hover{background:var(--oro);}
  .checkout-btn:disabled{background:transparent; border:1px solid var(--line); color:var(--cioccolato-soft); cursor:not-allowed;}

  .cassa-stats{display:flex; gap:1.2rem; margin-bottom:1.5rem; flex-wrap:wrap;}
  .transactions-table-wrap{overflow-x:auto; border:1px solid var(--line); border-radius:12px;}

  .personal-use-form{
    display:grid; grid-template-columns:1.3fr 0.6fr 1.5fr auto; gap:0.7rem; align-items:center;
    margin-bottom:0.5rem;
  }
  .personal-use-form select, .personal-use-form input{ width:100%; }
  @media (max-width:760px){
    .personal-use-form{ grid-template-columns:1fr; }
  }

  .order-pick-row{display:flex; flex-wrap:wrap; gap:0.5rem; margin-bottom:0.9rem;}
  .order-pick-btn{
    border:1px solid var(--line); border-radius:100px; background:var(--panna); padding:0.35rem 0.9rem;
    font-size:0.75rem; cursor:pointer;
  }
  .order-pick-btn:hover{border-color:var(--oro); color:var(--oro);}

  @media (max-width: 760px){
    .pos-layout{grid-template-columns:1fr;}
  }
  .tables-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:1.2rem;}
  .table-card{
    border:2px solid var(--line); border-radius:14px; padding:1.3rem;
    background:var(--panna-2); transition:border-color 0.3s ease;
  }
  .table-card.status-libero{border-color:#7C9070;}
  .table-card.status-occupato{border-color:#B3564A;}
  .table-card.status-riservato{border-color:var(--oro);}
  .table-card-head{display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:0.8rem;}
  .table-number{font-family:'Fraunces', serif; font-size:1.3rem; font-weight:500;}
  .table-badge{
    font-family:'Space Mono', monospace; font-size:0.68rem; letter-spacing:0.05em; text-transform:uppercase;
    padding:0.25rem 0.7rem; border-radius:100px; font-weight:700;
  }
  .table-badge.status-libero{background:rgba(124,144,112,0.18); color:#587050;}
  .table-badge.status-occupato{background:rgba(179,86,74,0.15); color:#B3564A;}
  .table-badge.status-riservato{background:rgba(184,148,90,0.18); color:var(--oro);}
  .table-info{font-size:0.85rem; color:var(--cioccolato-soft); margin-bottom:0.3rem;}
  .table-note{font-size:0.8rem; color:var(--cioccolato-soft); font-style:italic; margin-top:0.4rem;}
  .table-actions{display:flex; gap:0.6rem; margin-top:1rem; flex-wrap:wrap;}
  .table-btn{
    flex:1; padding:0.55rem 0.8rem; border-radius:100px; border:1px solid var(--line);
    background:var(--panna); color:var(--cioccolato); font-size:0.75rem; font-weight:500;
    letter-spacing:0.02em; text-transform:uppercase; cursor:pointer; text-align:center;
  }
  .table-btn:hover{border-color:var(--oro); color:var(--oro);}
  .table-btn.danger:hover{border-color:#B3564A; color:#B3564A;}
  .tables-summary{display:flex; gap:1.2rem; margin-bottom:2rem; flex-wrap:wrap;}
  .add-table-btn{
    border:1px dashed var(--line); border-radius:14px; background:transparent;
    color:var(--cioccolato-soft); font-size:0.85rem; cursor:pointer;
    display:flex; align-items:center; justify-content:center; min-height:120px;
  }
  .add-table-btn:hover{border-color:var(--oro); color:var(--oro);}

  .table-modal-status{display:flex; gap:0.6rem; margin-bottom:1.2rem;}
  .status-choice{
    flex:1; padding:0.6rem; border-radius:10px; border:1px solid var(--line); background:var(--panna-2);
    font-size:0.75rem; text-align:center; cursor:pointer; text-transform:uppercase; letter-spacing:0.02em;
  }
  .status-choice.active{border-color:var(--oro); background:rgba(184,148,90,0.15); color:var(--oro); font-weight:600;}
  .table-field-group{display:none;}
  .table-field-group.active{display:block;}

  .order-builder{margin-bottom:1.1rem;}
  .order-add-row{display:flex; gap:0.5rem; margin-bottom:0.8rem;}
  .order-add-row input{
    padding:0.6rem 0.7rem; border:1px solid var(--line); border-radius:8px;
    background:var(--panna-2); color:var(--cioccolato); font-family:'Work Sans',sans-serif; font-size:0.85rem;
  }
  .order-add-row input:focus{outline:none; border-color:var(--oro);}
  .order-desc-input{flex:2; min-width:0;}
  .order-qty-input{flex:0 0 55px;}
  .order-price-input{flex:0 0 75px;}
  .order-add-btn{
    flex:0 0 auto; border:none; border-radius:8px; background:var(--cioccolato); color:var(--panna);
    font-size:0.8rem; padding:0 0.9rem; cursor:pointer;
  }
  .order-add-btn:hover{background:var(--oro);}
  .order-list{display:flex; flex-direction:column; gap:0.4rem; margin-bottom:0.6rem;}
  .order-list-item{
    display:flex; justify-content:space-between; align-items:center;
    font-size:0.82rem; padding:0.45rem 0.7rem; background:var(--panna-2); border-radius:8px;
  }
  .order-item-remove{background:none; border:none; color:var(--cioccolato-soft); cursor:pointer; font-size:0.75rem;}
  .order-item-remove:hover{color:#B3564A;}
  .order-total-row{
    display:flex; justify-content:space-between; font-size:0.9rem; font-weight:600;
    padding-top:0.5rem; border-top:1px solid var(--line); margin-bottom:1rem;
  }
  .order-total-row b{font-family:'Space Mono', monospace; color:var(--oro);}
  .order-empty-hint{font-size:0.78rem; color:var(--cioccolato-soft); font-style:italic; margin-bottom:0.6rem;}

  /* Ordini Delivery */
  .deliv-section{margin-top:4rem;}
  .deliv-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:1.4rem;}
  .deliv-card{border:2px solid var(--line); border-radius:14px; padding:1.4rem; background:var(--panna-2); transition:border-color 0.3s ease;}
  .deliv-card.status-nuovo{border-color:var(--oro);}
  .deliv-card.status-in_preparazione{border-color:#8A8368;}
  .deliv-card.status-pronto{border-color:#7C9070;}
  .deliv-card.status-consegnato{border-color:var(--line); opacity:0.7;}
  .deliv-card-head{display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:0.7rem; gap:0.8rem;}
  .deliv-name{font-family:'Fraunces', serif; font-size:1.15rem; font-weight:500;}
  .deliv-time{font-size:0.75rem; color:var(--cioccolato-soft); margin-top:0.2rem;}
  .deliv-badge{
    font-family:'Space Mono', monospace; font-size:0.65rem; letter-spacing:0.05em; text-transform:uppercase;
    padding:0.25rem 0.7rem; border-radius:100px; font-weight:700; white-space:nowrap;
  }
  .deliv-badge.status-nuovo{background:rgba(184,148,90,0.18); color:var(--oro);}
  .deliv-badge.status-in_preparazione{background:rgba(90,82,73,0.15); color:var(--cioccolato-soft);}
  .deliv-badge.status-pronto{background:rgba(124,144,112,0.18); color:#587050;}
  .deliv-badge.status-consegnato{background:rgba(50,45,38,0.08); color:var(--cioccolato-soft);}
  .deliv-detail{font-size:0.85rem; color:var(--cioccolato-soft); margin-bottom:0.2rem;}
  .deliv-items{font-size:0.88rem; margin-top:0.5rem; line-height:1.4;}
  .deliv-note{font-size:0.8rem; color:var(--cioccolato-soft); font-style:italic; margin-top:0.4rem;}
  .deliv-actions{display:flex; gap:0.6rem; margin-top:1rem; flex-wrap:wrap;}
  .deliv-btn{
    flex:1; padding:0.55rem 0.8rem; border-radius:100px; border:1px solid var(--line);
    background:var(--panna); color:var(--cioccolato); font-size:0.75rem; font-weight:500;
    letter-spacing:0.02em; text-transform:uppercase; cursor:pointer; text-align:center;
  }
  .deliv-btn:hover{border-color:var(--oro); color:var(--oro);}
  .deliv-btn.danger:hover{border-color:#B3564A; color:#B3564A;}

  .biz-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:1.4rem;}
  .biz-card{border:1px solid var(--line); border-radius:14px; padding:1.4rem; background:var(--panna-2);}
  .biz-card-head{display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:0.6rem;}
  .biz-name{font-family:'Fraunces', serif; font-size:1.1rem; font-weight:500;}
  .biz-company{font-size:0.82rem; color:var(--cioccolato-soft);}
  .biz-tag{
    display:inline-block; margin-top:0.5rem; padding:0.2rem 0.7rem; border-radius:100px;
    background:rgba(184,148,90,0.15); color:var(--oro); font-size:0.7rem;
    letter-spacing:0.03em; text-transform:uppercase; font-family:'Space Mono', monospace;
  }
  .biz-contact-line{font-size:0.85rem; color:var(--cioccolato); margin-top:0.6rem;}
  .biz-note{font-size:0.82rem; color:var(--cioccolato-soft); margin-top:0.6rem; font-style:italic;}
  .marketing-head{margin-bottom:1.6rem;}
  .marketing-toolbar{display:flex; gap:0.8rem; flex-wrap:wrap; margin-bottom:0.8rem;}
  .marketing-copy-msg{
    font-size:0.8rem; color:var(--oro); min-height:1.2rem; margin-bottom:1rem;
  }
  .marketing-table-wrap{
    overflow-x:auto; border:1px solid var(--line); border-radius:12px;
  }
  .marketing-table{width:100%; border-collapse:collapse; font-size:0.85rem;}
  .marketing-table th{
    text-align:left; padding:0.8rem 1rem; background:var(--panna-2);
    font-family:'Space Mono', monospace; font-size:0.7rem; letter-spacing:0.08em;
    text-transform:uppercase; color:var(--cioccolato-soft); border-bottom:1px solid var(--line);
  }
  .marketing-table td{
    padding:0.75rem 1rem; border-bottom:1px solid var(--line); color:var(--cioccolato);
  }
  .marketing-table tr:last-child td{border-bottom:none;}
  .marketing-empty td{text-align:center; color:var(--cioccolato-soft); font-style:italic; padding:2rem;}

  /* PIN gate */
  .pin-overlay{
    position:fixed; inset:0; background:var(--panna); z-index:500;
    display:flex; align-items:center; justify-content:center; padding:1.5rem;
  }
  .pin-box{text-align:center; max-width:300px;}
  .pin-box svg{width:52px; height:auto; fill:var(--oro); margin-bottom:1rem;}
  .pin-box h2{font-size:1.4rem; margin-bottom:0.5rem;}
  .pin-box p{font-size:0.85rem; color:var(--cioccolato-soft); margin-bottom:1.5rem;}
  .pin-input{
    width:100%; text-align:center; letter-spacing:0.5em; font-size:1.3rem;
    padding:0.8rem; border:1px solid var(--line); border-radius:10px; margin-bottom:1rem;
    font-family:'Space Mono', monospace; background:var(--panna-2); color:var(--cioccolato);
  }
  .pin-input:focus{outline:none; border-color:var(--oro);}
  .pin-submit{
    width:100%; padding:0.8rem; border:none; border-radius:100px;
    background:var(--cioccolato); color:var(--panna); font-size:0.85rem; font-weight:500;
    letter-spacing:0.03em; text-transform:uppercase; cursor:pointer;
  }
  .pin-submit:hover{background:var(--oro);}
  .pin-error{color:#7A2E2E; font-size:0.8rem; margin-top:0.8rem; display:none;}

  @media (max-width: 560px){
    header{padding:1.1rem 5vw;}
    main{padding:2.2rem 5vw 3rem;}
    .loyalty-toolbar{flex-direction:column;}
    .loyalty-input{max-width:none;}
  }
