.dm2c{width:100%;background:var(--dm2-page-bg,#000);color:var(--dm2-text,#fff);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;min-height:60vh}
.dm2c *{box-sizing:border-box}
.dm2c-app{display:block;width:100%}
.dm2c-top{border-bottom:1px solid rgba(255,255,255,.12)}
.dm2c-top-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 18px;max-width:1200px;margin:0 auto}
.dm2c-title{font-size:22px;font-weight:800}
.dm2c-actions{display:flex;gap:10px;align-items:center}
.dm2c-btn{padding:10px 14px;border-radius:12px;border:1px solid var(--dm2-border,#fff);background:var(--dm2-primary-btn-bg,#fff);color:var(--dm2-primary-btn-text,#000);cursor:pointer;font-weight:700}
.dm2c-btn.dm2c-logout{background:transparent;color:var(--dm2-text,#fff)}
.dm2c-danger{background:#ef4444;color:#fff;border-color:#ef4444}
.dm2c-badgewrap{position:relative;display:flex;align-items:center;justify-content:center;width:54px;height:40px;border-radius:999px;border:1px solid rgba(255,255,255,.25)}
.dm2c-badge{position:absolute;top:-8px;right:-8px;background:#fff;color:#000;border-radius:999px;min-width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;border:1px solid rgba(0,0,0,.2)}
.dm2c-tabs{display:flex;gap:10px;padding:14px 18px;max-width:1200px;margin:0 auto}
.dm2c-tab{padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;cursor:pointer;font-weight:700}
.dm2c-tab.is-active{background:#fff;color:#000}
.dm2c-body{max-width:1200px;margin:0 auto;padding:0 18px 18px}
.dm2c-pane{display:none}
.dm2c-pane.is-active{display:block}
.dm2c-pane-live{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:960px){.dm2c-pane-live{grid-template-columns:1fr}}
.dm2c-col{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.03);border-radius:16px;padding:14px;min-height:220px}
.dm2c-col h3{margin:0 0 10px 0}
.dm2c-listitem{border:1px solid rgba(255,255,255,.25);border-radius:14px;padding:10px;margin-bottom:10px;cursor:pointer}
.dm2c-listitem.is-hot{outline:2px solid rgba(255,255,255,.55)}
.dm2c-listitem .t{font-weight:900;font-size:18px}
.dm2c-listitem .s{font-size:13px;color:var(--dm2-muted-text,#bfbfbf);margin-top:6px}
.dm2c-detail{min-height:120px}
.dm2c-row{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px dashed rgba(255,255,255,.15)}
.dm2c-total{font-weight:900;font-size:18px;margin-top:10px}
.dm2c-login{min-height:55vh;display:flex;align-items:center;justify-content:center;padding:22px}
.dm2c-card{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.03);border-radius:18px;padding:18px;max-width:420px}
.dm2c-pass{width:100%;padding:14px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:transparent;color:var(--dm2-text,#fff);margin:10px 0}
.dm2c-msg{margin-top:10px;color:#ffb4b4}
.dm2c-storico{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.03);border-radius:16px;padding:14px}
.dm2c-filter{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.dm2c-range{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;min-width:320px;flex:1}
.dm2c-from,.dm2c-to{width:100%;padding:12px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff}
.dm2c-history{margin-top:12px}
.dm2c-toast{position:fixed;right:14px;bottom:14px;z-index:9999;background:rgba(0,0,0,.85);color:#fff;border:1px solid rgba(255,255,255,.2);padding:10px 12px;border-radius:12px;display:none}

/* Modal for Chiusura cassa summary */
.dm2c-modal{
  position:fixed; inset:0; background:rgba(0,0,0,.65);
  display:flex; align-items:center; justify-content:center;
  z-index:999999;
}
.dm2c-modal-card{
  width:min(520px, calc(100vw - 24px));
  background: var(--dm2-card-bg);
  border: 1px solid var(--dm2-border);
  border-radius: 18px;
  padding: 16px;
  color: var(--dm2-text);
}
.dm2c-modal-title{ font-size:20px; font-weight:700; margin-bottom:6px; }
.dm2c-modal-sub{ opacity:.8; font-size:13px; margin-bottom:12px; }
.dm2c-modal-list{ max-height: 40vh; overflow:auto; border:1px solid var(--dm2-border); border-radius:14px; padding:10px; }
.dm2c-modal-row{ display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.08); }
.dm2c-modal-row:last-child{ border-bottom:0; }
.dm2c-modal-total{ margin-top:12px; font-size:14px; display:flex; justify-content:space-between; }
.dm2c-modal-actions{ display:flex; gap:10px; justify-content:flex-end; margin-top:14px; flex-wrap:wrap; }


/* v1.0.48 responsive polish */
.dm2c, .dm2c *{max-width:100%}
.dm2c-top-inner,.dm2c-actions{gap:12px;flex-wrap:wrap}
.dm2c-actions{justify-content:flex-end}
.dm2c-tabs{padding-top:16px;padding-bottom:8px}
.dm2c-tab{display:inline-flex;align-items:center;justify-content:center;min-height:44px;height:auto;line-height:1.2;align-self:flex-start;writing-mode:horizontal-tb;flex:0 0 auto}
.dm2c-body{width:100%}
.dm2c-pane-live{width:100%;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:start}
.dm2c-col{min-width:0}
.dm2c-list,.dm2c-detail{min-width:0}
@media (max-width: 1024px){
  .dm2c-pane-live{grid-template-columns:1fr}
}
@media (max-width: 767px){
  .dm2c-top-inner{padding:14px}
  .dm2c-actions{width:100%;justify-content:flex-start}
  .dm2c-btn{padding:10px 12px;font-size:14px}
  .dm2c-tabs{padding:14px}
  .dm2c-body{padding:0 14px 14px}
  .dm2c-storico,.dm2c-col{padding:12px}
  .dm2c-filter{gap:12px}
  .dm2c-range{grid-template-columns:1fr;min-width:0}
  .dm2c-reset{display:flex;flex-wrap:wrap;gap:10px}
}
@media (max-width: 520px){
  .dm2c-title{font-size:18px}
  .dm2c-actions{gap:8px}
  .dm2c-btn{padding:9px 11px}
  .dm2c-badgewrap{width:50px;height:38px}
  .dm2c-tab{padding:9px 12px}
}

.dm2c-btn.is-active{box-shadow:0 0 0 2px rgba(255,255,255,.25) inset}
.dm2c-item-main{min-width:0;flex:1}
.dm2c-qtyline{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}
.dm2c-qbtn{width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:transparent;color:var(--dm2-text,#fff);cursor:pointer;font-weight:900}
.dm2c-qdel{border-color:rgba(239,68,68,.55)}
.dm2c-qinput,.dm2c-discount-input{width:72px;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:transparent;color:var(--dm2-text,#fff);text-align:center}
.dm2c-summary{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.12)}
.dm2c-srow{display:flex;justify-content:space-between;gap:10px;padding:5px 0;align-items:center}
.dm2c-srow.dm2c-discount{justify-content:space-between}


/* v1.0.50 detail panel lower and cleaner */
.dm2c-pane-live{display:block}
.dm2c-col-list{margin-bottom:20px}
.dm2c-col-detail{display:none;margin-top:22px}
.dm2c-col-detail.is-visible{display:block}
.dm2c-col-detail h3{margin-bottom:14px}
.dm2c-orderhead{padding-bottom:8px;border-bottom:1px dashed rgba(255,255,255,.14);margin-bottom:8px}
.dm2c-subid{opacity:.65;font-size:12px}
.dm2c-discount-controls{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.dm2c-discount-type{padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:transparent;color:var(--dm2-text,#fff)}
.dm2c-detail:empty{display:none}
@media (max-width: 767px){
  .dm2c-discount-controls{width:100%;justify-content:flex-start}
  .dm2c-discount-input,.dm2c-discount-type{width:100%}
}


/* v1.0.51 cashier detail UX */
.dm2c-ordermeta{margin-top:6px;color:var(--dm2-muted-text,#bfbfbf);font-size:13px}
.dm2c-readonly-qty{margin-top:6px;color:var(--dm2-muted-text,#bfbfbf);font-size:13px}
.dm2c-row-readonly{align-items:flex-start}
.dm2c-detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.dm2c-btn-small{padding:8px 12px;font-size:13px}
.dm2c-discount-type{background:rgba(255,255,255,.08)!important;color:var(--dm2-text,#fff)!important;-webkit-text-fill-color:var(--dm2-text,#fff);min-width:160px}
.dm2c-discount-type option{color:#111;background:#fff}
.dm2c-discount-input{background:rgba(255,255,255,.08)!important;color:var(--dm2-text,#fff)!important;-webkit-text-fill-color:var(--dm2-text,#fff)}
@media (max-width: 767px){
  .dm2c-detail-actions .dm2c-btn,.dm2c-discount-controls .dm2c-btn{width:100%}
}


/* v1.0.52 cashier detail polish */
.dm2c-col-detail{margin-top:26px}
.dm2c-modehead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 12px}
.dm2c-modebadge{display:inline-flex;align-items:center;min-height:34px;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);font-weight:800;font-size:13px}
.dm2c-modebadge.is-edit{background:rgba(255,255,255,.12)}
.dm2c-modesub{color:var(--dm2-muted-text,#bfbfbf);font-size:13px;line-height:1.4}
.dm2c-readonly-list,.dm2c-summary,.dm2c-detail-actions{max-width:100%}
.dm2c-readonly-list{border:1px solid rgba(255,255,255,.10);border-radius:14px;padding:8px 12px;background:rgba(255,255,255,.025)}
.dm2c-discount-controls{display:grid;grid-template-columns:minmax(170px,auto) minmax(96px,120px) auto;align-items:center;gap:10px}
.dm2c-discount-selectwrap{position:relative;min-width:170px}
.dm2c-discount-selectwrap:after{content:'▾';position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;opacity:.8}
.dm2c-discount-type{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100%;padding-right:34px;background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.22)}
.dm2c-discount-input{width:100%;min-width:96px}
.dm2c-btn-small{white-space:nowrap}
@media (max-width: 767px){
  .dm2c-modehead{margin-bottom:10px}
  .dm2c-discount-controls{grid-template-columns:1fr}
  .dm2c-discount-selectwrap,.dm2c-discount-input,.dm2c-btn-small{width:100%}
}

/* v1.0.61 storico / turni expandable */
.dm2c-range input[type="date"]{padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:var(--dm2-text,#fff)}
.dm2c-expand summary{list-style:none;cursor:pointer}
.dm2c-expand summary::-webkit-details-marker{display:none}
.dm2c-expand-body{margin-top:12px;padding-top:12px;border-top:1px dashed rgba(255,255,255,.14)}
.dm2c-expand-meta{font-size:13px;color:var(--dm2-muted-text,#bfbfbf);margin-bottom:10px}
.dm2c-expand-items{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.dm2c-expand-items li,.dm2c-shift-order,.dm2c-expand-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:8px 10px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.03)}
.dm2c-expand-items li span,.dm2c-shift-order div{min-width:0}
.dm2c-expand-total{margin-top:10px;font-weight:800}
.dm2c-expand-notes{margin-top:10px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.dm2c-shift-orders{display:grid;gap:10px}
.dm2c-shift-order{display:grid;gap:4px}
@media (max-width:767px){
  .dm2c-expand-items li,.dm2c-expand-row{flex-direction:column}
}


.dm2c-user,.dm2c-staffpass{width:100%;padding:14px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:transparent;color:var(--dm2-text,#fff);margin:10px 0 0}
.dm2c-stafftitle{font-weight:800;font-size:15px;margin-top:4px}
.dm2c-helper{margin:10px 0 0;color:var(--dm2-muted-text,#bfbfbf);font-size:13px}
.dm2c-sep{display:flex;align-items:center;justify-content:center;gap:12px;margin:14px 0 4px;color:var(--dm2-muted-text,#bfbfbf);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.dm2c-sep:before,.dm2c-sep:after{content:'';height:1px;flex:1;background:rgba(255,255,255,.14)}
.dm2c-login .dm2c-btn{width:100%;margin-top:10px}

.dm2c-shift-status{margin-bottom:14px}
.dm2c-shift-box{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.03);border-radius:16px;flex-wrap:wrap}
.dm2c-shift-box.is-open{border-color:rgba(34,197,94,.45)}
.dm2c-shift-box.is-closed{border-color:rgba(239,68,68,.35)}
.dm2c-shift-sub{margin-top:4px;color:var(--dm2-muted-text,#bfbfbf);font-size:13px}


/* v1.0.71 front-end full-width + strong responsive fix */
.dm2c{position:relative;left:50%;right:50%;width:100vw;max-width:100vw;margin-left:-50vw;margin-right:-50vw;padding-bottom:24px}
.dm2c-app,.dm2c-login{width:min(100%, 1400px);max-width:1400px;margin:0 auto}
.dm2c-top-inner,.dm2c-body,.dm2c-tabs{max-width:1400px}
.dm2c-body{max-width:1400px;margin:0 auto;padding:18px}
.dm2c-pane-live{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(0,1.05fr);gap:18px}
.dm2c-col{min-width:0}
.dm2c-detail,.dm2c-list,.dm2c-history,.dm2c-shifts,.dm2c-activity{min-height:240px;overflow:auto}
@media (max-width: 1200px){.dm2c-pane-live{grid-template-columns:1fr}}
@media (max-width: 767px){
  .dm2c{padding-bottom:14px}
  .dm2c-app,.dm2c-login{width:100%}
  .dm2c-top-inner{padding:12px 14px}
  .dm2c-title{width:100%;font-size:18px}
  .dm2c-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
  .dm2c-actions > *{min-width:0}
  .dm2c-actions .dm2c-logout{grid-column:1 / -1}
  .dm2c-tabs{padding:0 14px;overflow-x:auto;justify-content:flex-start}
  .dm2c-body{padding:12px 14px}
  .dm2c-filter,.dm2c-range,.dm2c-reset{display:grid;grid-template-columns:1fr;gap:10px}
}
@media (max-width: 420px){
  .dm2c-actions{grid-template-columns:1fr}
}

/* active = hover highlight */
.dm2-active-hover,.is-active,[aria-pressed="true"],[aria-selected="true"]{transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease}

.dm2c-btn.is-active,.dm2c-btn[aria-pressed="true"],.dm2c-tab.is-active,.dm2c-listitem.is-active{border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.25) inset;background:rgba(255,255,255,.10)}
.dm2c-tab.is-active{background:#fff;color:#000}


/* stronger selected/active highlight */
.is-active,[aria-pressed="true"],[aria-selected="true"],.dm2-active-hover{outline:2px solid rgba(255,255,255,.55);outline-offset:0;border-color:#fff !important;box-shadow:0 0 0 2px rgba(255,255,255,.22) inset,0 0 0 1px rgba(255,255,255,.18);}


/* v1.1.33 cashier clean detail summary */
.dm2c-products-summary{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.dm2c-products-summary li{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.03)}
.dm2c-products-summary li span{min-width:0}

/* remove double border/outline on cashier cards and buttons */
.dm2c-col,.dm2c-listitem,.dm2c-btn,.dm2c-tab,.dm2c-readonly-list,.dm2c-products-summary li{box-shadow:none!important;outline:none!important}
.dm2c-listitem.is-hot{outline:none;background:rgba(255,255,255,.05)}
.dm2c-btn.is-active,.dm2c-btn[aria-pressed="true"],.dm2c-tab.is-active,.dm2c-listitem.is-active{border-color:#fff;background:rgba(255,255,255,.10);box-shadow:none!important;outline:none!important}
.is-active,[aria-pressed="true"],[aria-selected="true"],.dm2-active-hover{outline:none!important;box-shadow:none!important}
.dm2c-btn:hover,.dm2c-tab:hover,.dm2c-listitem:hover{background:rgba(255,255,255,.08)}
.dm2c-tab.is-active{background:#fff;color:#000}
@media (max-width:767px){.dm2c-products-summary li{flex-direction:column}}


.dm2c-qdel{width:auto;min-width:88px;padding:0 12px}
.dm2c-detail-actions-top{margin-top:12px;margin-bottom:8px}
.dm2c-detail-actions-bottom{margin-top:12px}

.dm2c-addline{margin-top:14px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.03)}
.dm2c-addtitle{font-weight:700;margin-bottom:10px}
.dm2c-addgrid{display:grid;grid-template-columns:1.5fr 1fr auto;gap:10px;align-items:center}
.dm2c-addgrid select{width:100%;background:#000;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:12px}
.dm2c-backup-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
@media (max-width:767px){.dm2c-addgrid{grid-template-columns:1fr}}

/* block3 pagination + spacing */
.dm2c-pager{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:12px;padding-top:6px}
.dm2c-pager-info{opacity:.9;font-weight:600}
.dm2c-actions,.dm2c-detail-actions,.dm2c-addgrid{row-gap:10px}
.dm2c-btn{min-height:42px}
@media (max-width:767px){
  .dm2c-pager{align-items:stretch}
  .dm2c-pager .dm2c-btn{flex:1 1 140px}
  .dm2c-pager-info{width:100%;order:-1}
}


/* block4 cashier polish */
.dm2c-listitem,.dm2c-detail,.dm2c-history,.dm2c-shifts,.dm2c-activity{scrollbar-gutter:stable}
.dm2c-detail-actions,.dm2c-actions,.dm2c-reset,.dm2c-filter,.dm2c-range{row-gap:10px}
.dm2c-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px}
.dm2c-col,.dm2c-detail,.dm2c-list,.dm2c-history,.dm2c-shifts,.dm2c-activity{border-radius:16px}
.dm2c-listitem{padding:12px 14px}
.dm2c-addline,.dm2c-products-summary li,.dm2c-readonly-list{box-shadow:0 1px 2px rgba(0,0,0,.08)}
@media (max-width: 767px){
  .dm2c-detail-actions .dm2c-btn,.dm2c-reset .dm2c-btn,.dm2c-filter .dm2c-btn,.dm2c-range .dm2c-btn{width:100%}
}


/* v1.1.34 cashier layout tweaks requested: compact mobile actions, horizontal live tables, desktop split */
@media (min-width: 768px){
  .dm2c-pane-live{display:grid;grid-template-columns:minmax(320px,.92fr) minmax(420px,1.08fr);gap:20px;align-items:start}
  .dm2c-col-list{margin-bottom:0}
  .dm2c-col-detail{display:block!important;margin-top:0}
  .dm2c-col-list{grid-column:1}
  .dm2c-col-detail{grid-column:2}
}

@media (max-width: 767px){
  .dm2c-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}
  .dm2c-actions > *{min-width:0;width:100%}
  .dm2c-btn,.dm2c-admin-link,.dm2c-open-shift,.dm2c-close,.dm2c-refresh,.dm2c-sound{min-height:38px;padding:8px 9px;font-size:12px;line-height:1.15;text-align:center}
  .dm2c-badgewrap{width:100%;height:38px;border-radius:12px}
  .dm2c-badge{top:-7px;right:-7px}
  .dm2c-actions .dm2c-logout{grid-column:1 / -1;min-height:42px;font-size:14px}

  .dm2c-col-list{overflow:hidden}
  .dm2c-list{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding-bottom:8px;min-height:unset}
  .dm2c-listitem{flex:0 0 165px;min-width:165px;margin-bottom:0;scroll-snap-align:start}
  .dm2c-list .dm2c-pager{flex:0 0 100%;width:100%;margin-top:2px;padding-top:0}
  .dm2c-list .dm2c-pager .dm2c-btn{min-height:36px;font-size:12px}
  .dm2c-list::-webkit-scrollbar{height:8px}
}

@media (max-width: 420px){
  .dm2c-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dm2c-btn,.dm2c-admin-link,.dm2c-open-shift,.dm2c-close,.dm2c-refresh,.dm2c-sound{font-size:11px;padding:7px 8px}
}


/* v1.1.34 cashier final layout fix */
@media (min-width:768px){
  .dm2c-pane-live{display:grid!important;grid-template-columns:minmax(320px,.95fr) minmax(0,1.05fr)!important;gap:18px!important;align-items:start}
  .dm2c-col-list{margin-bottom:0}
  .dm2c-col-detail{display:block!important;margin-top:0}
}
@media (max-width:767px){
  .dm2c-refresh{display:none!important}
  .dm2c-open-shift,.dm2c-open-inline,.dm2c-admin-link{font-size:0!important;letter-spacing:0}
  .dm2c-open-shift::before,.dm2c-open-inline::before{content:"apri cassa";font-size:14px;font-weight:800}
  .dm2c-admin-link::before{content:"backup";font-size:14px;font-weight:800}
}
