/* v233 prep planning + stockout prediction */
*{box-sizing:border-box}body{margin:0;background:#f4f4f4;color:#111;font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif}.top{background:#111;color:#fff;padding:12px;display:flex;align-items:center;gap:8px}.top h1{font-size:18px;margin:0;flex:1}.wrap{max-width:900px;margin:auto;padding:14px}.card{background:#fff;border-radius:14px;padding:16px;margin:12px 0;box-shadow:0 2px 9px #0001}.btn{border:0;border-radius:10px;padding:12px 15px;background:#e9e9e9;font-size:15px;cursor:pointer}.primary{background:#111;color:#fff}.danger{background:#c62828;color:#fff}.input{width:100%;padding:12px;border:1px solid #ccc;border-radius:9px;margin:6px 0 12px;font-size:16px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.product{min-height:76px;border:2px solid #ddd;border-radius:10px;background:#fff;font-weight:700;font-size:15px}.pay{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pay button{padding:14px;border:0;border-radius:10px;background:#ddd;font-size:15px}.active{background:#111!important;color:#fff!important}.line{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #eee}.money{font-size:28px;font-weight:800}.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.nums{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.nums button{height:62px;border:0;border-radius:10px;background:#eee;font-size:23px}.display{text-align:right;font-size:34px;font-weight:800;background:#eee;border-radius:10px;padding:12px;margin:10px 0}.change{background:#eaf7ea;border-radius:12px;padding:14px;margin:10px 0}.event{display:flex;justify-content:space-between;align-items:center;gap:10px}.full{width:100%;margin:6px 0}.chart-card{overflow:hidden}.chart{width:100%;height:auto;display:block}.chart-title{font-size:17px;font-weight:700;fill:#111}.chart-label{font-size:12px;fill:#555}.chart-value{font-size:11px;fill:#111}.chart rect,.chart path{stroke:#fff;stroke-width:1}.chart-empty{padding:40px;text-align:center;color:#777}@media(max-width:600px){.event{flex-direction:column;align-items:flex-start}.event>div:last-child{display:flex;flex-wrap:wrap;gap:6px}.event>div:last-child .btn{margin:0}.pay{grid-template-columns:repeat(3,1fr)}}

.settlement-btn{
  background:#1976d2 !important;
  color:#fff !important;
  border-color:#1976d2 !important;
}
.settlement-btn:hover{
  background:#1565c0 !important;
}

.status-badge{
  display:inline-block;
  padding:4px 8px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  line-height:1.2;
}
.status-badge.online{background:#e8f5e9;color:#176b2c;}
.status-badge.offline{background:#ffebee;color:#a31515;}
.status-badge.pending{background:#fff3cd;color:#755600;}
.sync-action-badge{font-family:inherit;cursor:pointer;appearance:none;-webkit-appearance:none}
.sync-action-badge:disabled{cursor:wait;opacity:.78}

.dashboard-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(135px,1fr));
  gap:10px;
}
.metric-box{
  padding:12px;
  border:1px solid #ddd;
  border-radius:10px;
  background:#fafafa;
}
.metric-box span{display:block;font-size:12px;opacity:.7;margin-bottom:4px;}
.metric-box b{font-size:20px;}
.admin-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:10px;
}
.history-filter-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:10px;
}
.history-order-card summary{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  cursor:pointer;
  list-style:none;
}
.history-order-card summary::-webkit-details-marker{display:none;}
.history-summary-left,.history-summary-right{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}
.history-summary-right{justify-content:flex-end;}
.history-small{font-size:12px;opacity:.68;}
.history-detail{padding-top:12px;}
.history-item-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:10px 0;
  border-top:1px solid #eee;
}
.history-actions{display:flex;gap:6px;flex-wrap:wrap;}
.payment-chip,.cancel-chip{
  display:inline-block;
  border-radius:999px;
  padding:3px 8px;
  font-size:12px;
  font-weight:700;
}
.payment-chip{background:#eef3ff;}
.cancel-chip{background:#ffe4e4;color:#9b1c1c;}
.cancelled-box{padding:10px;border-radius:8px;background:#fff0f0;color:#8c1d1d;}
.warning-card{border:2px solid #d79700;background:#fff7dc;}
.success-card{border:2px solid #2d8c46;background:#effaf2;}
@media(max-width:700px){
  .history-filter-grid{grid-template-columns:1fr;}
  .history-item-row{align-items:flex-start;flex-direction:column;}
  .history-order-card summary{align-items:flex-start;}
}

.soldout{
  opacity:.48 !important;
  filter:grayscale(.55);
  position:relative;
}
.soldout:disabled{cursor:not-allowed;}
.target-progress{
  height:14px;
  background:#e7e7e7;
  border-radius:999px;
  overflow:hidden;
  margin:10px 0;
}
.target-progress>div{
  height:100%;
  background:#222;
  border-radius:999px;
}
.fast-grid{
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr)) !important;
  gap:14px !important;
}
.fast-product{
  min-height:120px !important;
  font-size:1.2rem !important;
  font-weight:700 !important;
}


/* ===== v41 Visual UI refresh ===== */
:root{
  --ui-bg:#f4f6f8;
  --ui-card:#ffffff;
  --ui-text:#18212b;
  --ui-muted:#6b7682;
  --ui-blue:#1769e0;
  --ui-green:#168447;
  --ui-orange:#e87713;
  --ui-red:#c83b3b;
  --ui-purple:#7157c8;
  --ui-border:#dfe5eb;
  --ui-shadow:0 4px 14px rgba(24,33,43,.08);
}

body{
  background:var(--ui-bg);
  color:var(--ui-text);
}

.top{
  background:#fff;
  border-bottom:1px solid var(--ui-border);
  box-shadow:0 2px 10px rgba(24,33,43,.06);
  position:sticky;
  top:0;
  z-index:100;
}

.top h1{
  font-weight:800;
  letter-spacing:-.02em;
}

.wrap{
  max-width:1050px;
  margin:0 auto;
}

.card{
  background:var(--ui-card);
  border:1px solid var(--ui-border);
  border-radius:14px;
  box-shadow:var(--ui-shadow);
}

.card h2,.card h3{
  margin-top:0;
  letter-spacing:-.02em;
}

.btn{
  border-radius:10px;
  font-weight:700;
  min-height:44px;
  transition:transform .08s ease,box-shadow .08s ease,opacity .08s ease;
}
.btn:active{transform:scale(.98);}
.btn.primary{
  background:var(--ui-blue);
  color:#fff;
  border-color:var(--ui-blue);
}
.btn.danger{
  background:#fff1f1;
  color:var(--ui-red);
  border-color:#efb9b9;
}

/* Home / event menu */
button[data-action="new-event"]{
  background:var(--ui-blue)!important;
  color:#fff!important;
  border-color:var(--ui-blue)!important;
  font-size:1.05rem;
}
button[data-action="admin"]{
  background:#fff!important;
  border:2px solid #5c6875!important;
}
button[data-action="open-event"]{
  border-left:5px solid var(--ui-green)!important;
}

/* POS product tiles */
.product{
  background:#fff;
  border:2px solid #dbe2e8;
  border-radius:14px;
  box-shadow:0 3px 9px rgba(24,33,43,.07);
  min-height:82px;
  font-weight:750;
}
.product:not(.soldout):active{
  border-color:var(--ui-blue);
  background:#edf5ff;
}
.product.soldout{
  background:#eee!important;
  border-color:#ccc!important;
}

/* POS action hierarchy */
button[data-action="quick"]{
  background:var(--ui-green)!important;
  border-color:var(--ui-green)!important;
  color:#fff!important;
  font-size:1.12rem;
  min-height:56px;
}
button[data-action="calculator"]{
  background:#eef5ff!important;
  border-color:#a8c9f7!important;
  color:#1456a0!important;
}
button[data-action="manual"]{
  background:#fff7e8!important;
  border-color:#efc57c!important;
  color:#8b5700!important;
}
button[data-action="sales"]{
  background:#eef9f2!important;
  border-color:#9dd4b0!important;
  color:#176a36!important;
}
button[data-action="register-history"]{
  background:#f3efff!important;
  border-color:#c8baf0!important;
  color:#59409f!important;
}
button[data-action="event-products"]{
  background:#f5f6f7!important;
  border-color:#bdc5cd!important;
}
button[data-action="toggle-fast"]{
  background:#fff0df!important;
  border:2px solid #ef9a42!important;
  color:#9b4d00!important;
}

/* Payment selector */
.pay button{
  min-height:48px;
  font-weight:800;
  border-radius:10px;
}
.pay button.active{
  box-shadow:0 0 0 3px rgba(23,105,224,.16);
}

/* Money becomes the visual anchor */
.money{
  font-size:1.55rem;
  font-weight:900;
  color:#111820;
  padding:8px 0;
}

/* Dashboard */
.metric-box{
  border:1px solid var(--ui-border)!important;
  background:#f8fafb!important;
  border-radius:12px!important;
}
.metric-box b{
  color:#18212b;
}

/* Admin category accent */
.admin-grid .btn{
  min-height:52px;
  text-align:left;
  padding-left:16px;
}
button[data-action="history"],
button[data-action="analytics"],
button[data-action="csv-export"]{
  border-left:5px solid var(--ui-blue)!important;
}
button[data-action="edit-history"],
button[data-action="password"],
button[data-action="recovery-pin"],
button[data-action="biometric-register"],
button[data-action="backup-page"]{
  border-left:5px solid var(--ui-purple)!important;
}

/* History */
.history-order-card{
  border-left:4px solid #9aabc0;
}
.payment-chip{
  background:#e9f2ff!important;
  color:#245a99;
}
.cancel-chip{
  background:#ffe8e8!important;
  color:#a52b2b!important;
}

/* Status badges stronger */
.status-badge.online{
  background:#e7f7ed!important;
  color:#14743b!important;
  border:1px solid #a8ddba;
}
.status-badge.offline{
  background:#fff0f0!important;
  color:#a82e2e!important;
  border:1px solid #e8aaaa;
}
.status-badge.pending{
  background:#fff6d9!important;
  color:#805d00!important;
  border:1px solid #e5cb73;
}

/* Inputs */
.input,input,select{
  border-radius:10px;
}
.input:focus,input:focus,select:focus{
  outline:3px solid rgba(23,105,224,.13);
  border-color:#7aa9e8;
}

/* Tablet friendliness */
@media (min-width:700px){
  .grid{
    gap:12px;
  }
  .product{
    min-height:96px;
    font-size:1.04rem;
  }
}

button[data-action="admin-notify-on"]{
  border-left:5px solid #168447!important;
  background:#eef9f2!important;
  color:#176a36!important;
}
button[data-action="admin-notify-off"]{
  border-left:5px solid #c83b3b!important;
}

/* v45 calendar */
.home-view-switch{display:flex;gap:8px;margin:0 0 12px}.home-view-switch .btn{flex:1}
.calendar-toolbar{display:grid;grid-template-columns:44px 1fr 44px auto;gap:7px;align-items:center;margin-bottom:8px}.calendar-toolbar strong{text-align:center;font-size:1.15rem}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays span{text-align:center;font-size:.75rem;font-weight:800;padding:6px}
.calendar-cell{min-height:100px;background:#fff;border:1px solid #e1e6eb;padding:5px;text-align:left;overflow:hidden}.calendar-cell.blank{background:#f5f6f7;pointer-events:none}.calendar-cell.today{box-shadow:inset 0 0 0 3px #1769e0;background:#f4f8ff}
.cal-mini{font-size:.64rem;font-weight:800;padding:3px;border-radius:5px;margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-left:3px solid}.cal-planned{background:#eaf2ff!important;border-color:#1769e0!important}.cal-open{background:#e8f7ed!important;border-color:#168447!important}.cal-closed{background:#eef0f2!important;border-color:#7d8791!important}.cal-more,.calendar-sales{font-size:.62rem;margin-top:3px}.calendar-sales{font-weight:900;color:#176a36}
.calendar-legend{display:flex;gap:14px;padding-top:10px;font-size:.75rem;font-weight:800}.calendar-legend span:nth-child(1){color:#1769e0}.calendar-legend span:nth-child(2){color:#168447}.calendar-legend span:nth-child(3){color:#7d8791}
.calendar-day-event{display:flex;width:100%;justify-content:space-between;gap:10px;border:0;border-left:5px solid;border-radius:10px;padding:14px;margin:8px 0;text-align:left}.calendar-day-event span{font-size:.8rem;font-weight:700}
@media(max-width:700px){.calendar-card{padding:7px}.calendar-cell{min-height:76px;padding:3px}.cal-mini{font-size:.54rem}.calendar-sales,.cal-more{font-size:.52rem}.calendar-toolbar{grid-template-columns:38px 1fr 38px auto}}

/* v47 sales privacy */
.privacy-card{border-left:5px solid #1769e0;background:#eef5ff!important}
.privacy-note{padding:10px;border-radius:8px;background:#eef2f5;color:#56616c;font-weight:700}
.own-event{border-left:5px solid #168447!important}
.own-event-badge{display:inline-block;margin-top:6px;padding:3px 8px;border-radius:999px;background:#e8f7ed;color:#14743b;font-size:.75rem;font-weight:800}

/* v48 access logs */
.access-log-card{border-left:4px solid #7157c8!important}
.access-log-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:5px}
.access-log-head span{font-size:.78rem;font-weight:800;padding:3px 8px;border-radius:999px;background:#f3efff;color:#59409f}
.access-log-meta{font-size:.78rem;color:#697580;margin-top:4px}
button[data-action="access-logs"],button[data-action="device-name"]{border-left:5px solid #7157c8!important}

/* v50 admin calendar / navigation */
.admin-calendar-sales{
  font-size:.68rem!important;
  color:#176a36!important;
  font-weight:900!important;
}
.admin-calendar-event-card{
  border-left:5px solid #1769e0!important;
}
.admin-calendar-event-card .money{
  margin:8px 0;
}
button[data-action="admin-calendar"]{
  border-left:5px solid #168447!important;
}

/* v51 admin live sales on event list */
.admin-event-card{
  border-left:5px solid #1769e0!important;
}
.admin-live-label{
  display:inline-block;
  margin-top:7px;
  padding:3px 8px;
  border-radius:999px;
  background:#eaf2ff;
  color:#1760bd;
  font-size:.75rem;
  font-weight:800;
}
.admin-live-sales{
  margin-top:7px;
  font-size:1.45rem;
  font-weight:900;
  color:#176a36;
}
.admin-event-actions{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
}
.admin-session-banner{
  border-left:5px solid #168447!important;
  background:#eef9f2!important;
}

/* v52 staff PIN / cash difference */
button[data-action="staff-pins"]{border-left:5px solid #e87713!important}
.cash-diff-result{margin-top:12px;padding:12px;border-radius:10px}

/* v53 tap-to-copy event picker */
.copy-event-modal{
  position:fixed;inset:0;z-index:100000;
  background:rgba(13,20,28,.55);
  display:flex;align-items:flex-end;justify-content:center;
  padding:16px;
}
.copy-event-sheet{
  width:min(620px,100%);
  max-height:88vh;
  overflow:auto;
  background:#fff;
  border-radius:22px 22px 14px 14px;
  padding:18px;
  box-shadow:0 -10px 40px rgba(0,0,0,.2);
}
.copy-event-sheet-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:12px;
  margin-bottom:12px;
}
.copy-event-sheet-head h2{margin:0 0 4px}
.copy-event-sheet-head p{margin:0;color:#68737e;font-size:.9rem}
.copy-event-close{
  width:38px;height:38px;border:0;border-radius:50%;
  background:#eef1f4;font-size:24px;line-height:1;cursor:pointer;
}
.copy-event-list{display:flex;flex-direction:column;gap:9px;margin:12px 0}
.copy-event-card{
  width:100%;border:1px solid #dfe5eb;background:#fff;
  border-radius:14px;padding:14px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  text-align:left;cursor:pointer;
}
.copy-event-card:active{transform:scale(.99);background:#f5f8fb}
.copy-event-main{display:flex;flex-direction:column;gap:5px;min-width:0}
.copy-event-main b{font-size:1.02rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.copy-event-main span{font-size:.8rem;color:#74808b}
.copy-event-side{display:flex;align-items:center;gap:12px;white-space:nowrap}
.copy-event-side strong{
  background:#edf4ff;color:#1760bd;padding:5px 9px;border-radius:999px;font-size:.78rem
}
.copy-event-side span{font-size:1.6rem;color:#89939d}
.copy-event-cancel{margin-top:6px}
@media(min-width:700px){
  .copy-event-modal{align-items:center}
  .copy-event-sheet{border-radius:20px}
}

.product-add-modal{position:fixed;inset:0;z-index:100001;background:rgba(13,20,28,.55);display:flex;align-items:flex-end;justify-content:center;padding:16px}
.product-add-sheet{width:min(560px,100%);background:#fff;border-radius:22px 22px 14px 14px;padding:18px;box-shadow:0 -10px 40px rgba(0,0,0,.2)}
.product-add-sheet h2{margin:0 0 4px}.product-add-sheet>p{margin:0 0 14px;color:#68737e}
.product-add-choice{width:100%;border:1px solid #dfe5eb;border-radius:14px;background:#fff;padding:16px;margin:8px 0;text-align:left;display:flex;flex-direction:column;gap:4px}
.product-add-choice b{font-size:1.05rem}.product-add-choice span{font-size:.82rem;color:#6d7883}
.product-add-choice.recent{border-left:5px solid #1769e0}.product-add-choice.manual{border-left:5px solid #168447}
.product-add-cancel{margin-top:8px}
.staff-add-live{border:1px dashed #8997a5!important;background:#f7f9fa!important;color:#44515d!important}
@media(min-width:700px){.product-add-modal{align-items:center}.product-add-sheet{border-radius:20px}}

/* v55 register overhaul */
html,body{min-height:100%;overflow:auto}#app{min-height:100%;overflow:visible}
.pos-screen{min-height:100dvh;height:auto;display:flex;flex-direction:column;background:#f3f5f7}
.pos-topbar{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:7px 10px;background:#fff;border-bottom:1px solid #dfe4e8}
.pos-title{text-align:center;min-width:0}.pos-title>b{display:block;font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pos-title .status-badge{font-size:10px;padding:2px 5px}.pos-title div[style]{margin-top:2px!important;justify-content:center}
.pos-cash-tools{display:flex;gap:5px}.pos-cash-tools .btn{font-size:.72rem;padding:7px}
.pos-main{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.9fr) minmax(280px,.8fr);gap:8px;padding:8px}
.pos-left,.pos-right{min-height:0;display:flex;flex-direction:column;gap:7px}
.pos-controls{background:#fff;border-radius:10px;padding:7px}
.pos-staff-row,.pos-pay-row{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.pos-staff-row{margin-bottom:6px}.pos-staff-row button,.pos-pay-row button{padding:7px 9px;border-radius:8px;border:1px solid #ccd4da;background:#fff;font-weight:800}.pos-staff-row button.active,.pos-pay-row button.active{background:#1c6fe8;color:#fff;border-color:#1c6fe8}
.pos-products{flex:1;min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(78px,1fr);gap:7px}
.pos-product{border:1px solid rgba(0,0,0,.10);border-radius:11px;padding:8px!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.pos-product-name{font-size:1.05rem;font-weight:900;overflow-wrap:anywhere}.pos-product-price{font-size:1.18rem;font-weight:900;margin-top:6px}.sold-label{font-size:.74rem;font-weight:900;margin-top:4px}
.pos-bottom-tools{display:flex;gap:6px;align-items:center;background:#fff;border-radius:9px;padding:6px;font-size:.78rem;font-weight:800}.pos-bottom-tools span{margin-left:auto}
.pos-right{overflow:hidden}.pos-cart{background:#fff;border-radius:10px;padding:8px;display:flex;flex-direction:column;min-height:0;flex:1}.pos-cart-lines{min-height:0;overflow:auto;flex:1}.pos-cart-lines .line{padding:5px 0}.pos-cart-lines .btn{padding:5px 7px;margin-left:2px}.pos-total{font-size:1.05rem;padding:6px 0;border-top:1px solid #e2e7eb}.pos-total b{font-size:1.35rem}.pos-checkout{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:5px}.pos-checkout .btn{padding:9px 5px}
.recent-orders-card{padding:7px!important;margin:0!important}.recent-orders-title{display:flex;justify-content:space-between;font-size:.78rem}.recent-orders-list{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;margin-top:5px}.recent-order{border:1px solid #d8dfe4;border-radius:7px;background:#fff;padding:5px;display:grid;grid-template-columns:1fr auto;gap:2px;text-align:left}.recent-order span,.recent-order small{font-size:.65rem}.recent-order b{font-size:.85rem}.recent-order small{grid-column:1/3;color:#68737e}
.pos-side-links{display:grid;grid-template-columns:1fr 1fr;gap:5px}.pos-side-links .btn{padding:7px}
.product-edit-page{overflow:auto;height:calc(100dvh - 90px)}.product-edit-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.edit-product-card{padding:12px;border-radius:12px}.edit-product-name{font-size:1.05rem;font-weight:900}.edit-product-price{font-size:1.2rem;font-weight:900;margin:5px 0}.edit-product-group{font-size:.75rem;opacity:.8}.edit-product-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.edit-product-actions .btn{padding:6px 8px}
.color-palette{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.color-chip{height:50px;border-radius:10px;border:2px solid rgba(0,0,0,.12)}
.split-payment-page{overflow:auto;height:calc(100dvh - 80px)}.split-preview{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.split-preview span{background:#f3f5f7;padding:10px;border-radius:8px;text-align:center}
@media(max-width:800px){
 .pos-main{grid-template-columns:minmax(0,1.55fr) minmax(230px,.85fr);padding:5px;gap:5px}
 .pos-products{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
 .pos-product-name{font-size:.95rem}.pos-product-price{font-size:1.08rem}
 .pos-cash-tools .btn{font-size:.62rem;padding:5px}
 .pos-topbar{grid-template-columns:auto 1fr auto;padding:5px}
}

/* v56: responsive fallback. Do not clip controls on portrait/small screens. */
@media (orientation:portrait), (max-width:899px){
  html,body,#app{height:auto!important;min-height:100%!important;overflow:auto!important}
  .pos-screen{height:auto!important;min-height:100dvh!important;overflow:visible!important}
  .pos-topbar{
    position:sticky;top:0;z-index:50;
    grid-template-columns:auto 1fr;
    align-items:center;
  }
  .pos-cash-tools{grid-column:1 / -1;justify-content:flex-end;flex-wrap:wrap}
  .pos-main{
    display:block!important;
    overflow:visible!important;
    min-height:auto!important;
  }
  .pos-left,.pos-right{
    min-height:auto!important;
    overflow:visible!important;
  }
  .pos-products{
    overflow:visible!important;
    min-height:auto!important;
    grid-auto-rows:minmax(92px,auto)!important;
  }
  .pos-right{margin-top:8px}
  .pos-cart{min-height:auto!important}
  .pos-cart-lines{overflow:visible!important;max-height:none!important}
  .product-edit-page,.split-payment-page{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
}
/* Keep single-screen layout only when there is genuinely enough landscape space. */
@media (min-width:1440px) and (orientation:landscape) and (min-height:900px){
  html,body,#app{height:100%;overflow:hidden}
  .pos-screen{height:100dvh;min-height:0;overflow:hidden}
  .pos-main{overflow:hidden}
}
/* Very short landscape screens also fall back to scrolling. */
@media (orientation:landscape) and (max-height:599px){
  html,body,#app{height:auto!important;overflow:auto!important}
  .pos-screen{height:auto!important;min-height:100dvh!important}
  .pos-main{display:block!important;overflow:visible!important}
  .pos-left,.pos-right,.pos-products,.pos-cart-lines{overflow:visible!important;min-height:auto!important}
}
.color-chip.selected{outline:4px solid #1769e0;outline-offset:2px}

/* v57 tablet landscape fallback */
@media (orientation:landscape) and (max-width:1439px){
  html,body,#app{
    height:auto!important;
    min-height:100%!important;
    overflow:auto!important;
  }
  .pos-screen{
    height:auto!important;
    min-height:100dvh!important;
    overflow:visible!important;
  }
  .pos-main{
    min-height:auto!important;
    overflow:visible!important;
  }
  .pos-left,.pos-right{
    min-height:auto!important;
    overflow:visible!important;
  }
  .pos-products{
    min-height:360px!important;
    overflow:visible!important;
    grid-auto-rows:minmax(96px,auto)!important;
  }
  .pos-cart,.pos-cart-lines{
    min-height:auto!important;
    overflow:visible!important;
  }
  .product-edit-page,.split-payment-page{
    height:auto!important;
    overflow:visible!important;
  }
}

/* v58 device-role / PIN-free staff operation */
.device-role-card{border-left:5px solid #1769e0}
.pos-staff-row button.active{box-shadow:0 0 0 2px rgba(28,111,232,.18)}

/* v59 product images + recent item names */
.pos-product.has-image{
  position:relative;
  overflow:hidden;
}
.pos-product.has-image .pos-product-name,
.pos-product.has-image .pos-product-price,
.edit-product-card[style*="background-image"] .edit-product-name,
.edit-product-card[style*="background-image"] .edit-product-price,
.edit-product-card[style*="background-image"] .edit-product-group{
  color:#fff!important;
  text-shadow:
    -1px -1px 0 #000,
     1px -1px 0 #000,
    -1px  1px 0 #000,
     1px  1px 0 #000,
     0 2px 5px rgba(0,0,0,.95);
}
.pos-product.has-image .pos-product-name{
  font-weight:1000;
}
.pos-product.has-image .pos-product-price{
  font-weight:1000;
}
.recent-order{
  grid-template-columns:1fr auto;
}
.recent-order-items{
  grid-column:1/3;
  display:block;
  font-style:normal;
  font-size:.62rem;
  line-height:1.25;
  color:#4e5964;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  margin-top:2px;
}

/* v60 shared product image master */
.product-edit-toolbar small{line-height:1.45}

/* v65 expenses / sales sort / target sound */
.small-muted{font-size:.78rem;color:#6c7781}
.sort-card{max-width:520px}
.expense-entry-card{border-left:5px solid #e38919}
.expense-row .btn{padding:5px 8px}
.net-sales-box{border:2px solid #168447;background:#eef9f2}
.net-sales-box b{color:#126c3a}

/* v66 trash + expense cash */
.trash-event-card{border-left:5px solid #7b8794}
button[data-action="trash-page"]{border-left:5px solid #7b8794!important}

/* v67 expense input stability */
.expense-entry-card input,
.expense-entry-card select{
  scroll-margin-top:120px;
}

.target-sound-test{margin-top:7px}

/* v69 target sound picker */
.sound-picker{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:8px 0 12px;
}
.sound-option{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border:1px solid #dce2e7;
  border-radius:12px;
  padding:8px 9px;
  background:#fff;
}
.sound-option.selected{
  border-color:#1769e0;
  box-shadow:0 0 0 2px rgba(23,105,224,.12);
  background:#f5f9ff;
}
.sound-option label{
  display:flex;
  align-items:center;
  gap:7px;
  flex:1;
  margin:0;
  font-weight:800;
}
.sound-option input{
  width:18px;
  height:18px;
}
.sound-preview-btn{
  width:38px;
  height:38px;
  border-radius:50%;
  border:1px solid #ccd5dd;
  background:#f7f9fb;
  font-size:18px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.sound-preview-btn:active{transform:scale(.95)}
@media(max-width:520px){
  .sound-picker{grid-template-columns:1fr}
}

/* v70 fresh back navigation + analytics visual refresh */
.analytics-page{padding-bottom:80px}
.analytics-hero{
  padding:20px;
  border-radius:18px;
  background:linear-gradient(135deg,#1f6fe5,#6c4ce5);
  color:#fff;
  box-shadow:0 8px 24px rgba(42,92,190,.22);
}
.analytics-hero>span{display:block;font-size:.86rem;opacity:.88;margin-top:12px}
.analytics-hero>strong{display:block;font-size:2.15rem;line-height:1.15;margin:4px 0;font-weight:1000}
.analytics-hero>small{opacity:.78}
.analytics-mode-switch{display:flex;gap:6px}
.analytics-mode-switch button{
  border:1px solid rgba(255,255,255,.45);
  background:rgba(255,255,255,.10);
  color:#fff;
  border-radius:999px;
  padding:7px 13px;
  font-weight:900;
}
.analytics-mode-switch button.active{background:#fff;color:#315fc7}
.analytics-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:12px 0;
}
.analytics-kpi{
  padding:14px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.06);
  background:#fff;
  box-shadow:0 2px 10px rgba(20,35,50,.06);
}
.analytics-kpi span{display:block;font-size:.78rem;color:#66727e;margin-bottom:5px}
.analytics-kpi b{display:block;font-size:1.25rem;overflow-wrap:anywhere}
.analytics-kpi small{display:block;margin-top:3px;color:#66727e}
.analytics-kpi.blue{border-top:4px solid #2f80ed}
.analytics-kpi.green{border-top:4px solid #27ae60}
.analytics-kpi.orange{border-top:4px solid #f2994a}
.analytics-kpi.purple{border-top:4px solid #9b51e0}
.analytics-highlight{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:10px;
  align-items:center;
  background:linear-gradient(90deg,#fff7df,#fff);
  border:1px solid #f5d58c;
  border-radius:14px;
  padding:12px 14px;
  margin-bottom:12px;
}
.analytics-highlight span{font-size:.78rem;color:#7c651c}
.analytics-highlight b{font-size:1.05rem}
.analytics-highlight strong{color:#9a6b00}
.analytics-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);gap:12px}
.analytics-ranking{padding:14px}
.analytics-card-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.analytics-card-title span{font-weight:1000;font-size:1.05rem}
.analytics-card-title small{color:#7a8490}
.analytics-event-row{
  display:grid;
  grid-template-columns:30px 1fr auto;
  gap:8px;
  align-items:center;
  padding:9px 0;
  border-bottom:1px solid #edf0f2;
}
.analytics-event-row:last-child{border-bottom:0}
.analytics-rank{
  width:26px;height:26px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#eef4ff;color:#2f6dcc;font-weight:1000;font-size:.78rem;
}
.analytics-event-name{font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.analytics-chart-card{overflow:auto}
.colorful-chart{min-width:580px}
.chart-axis{stroke:#dfe5eb;stroke-width:1}
.chart-bar{filter:drop-shadow(0 3px 3px rgba(0,0,0,.10))}
.pie-slice{stroke:#fff;stroke-width:2}
.pie-center-label{font-size:13px;fill:#75808b}
.pie-center-value{font-size:17px;font-weight:900;fill:#1f2933}
.chart-title{font-weight:900;fill:#26323d}
.chart-value{font-size:12px;font-weight:800;fill:#394550}
.chart-label{font-size:11px;fill:#66727e}
@media(max-width:800px){
  .analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .analytics-grid{grid-template-columns:1fr}
  .analytics-hero>strong{font-size:1.8rem}
}

/* v71 calendar weekends/holidays + cost/profit */
.calendar-weekdays .sun{color:#d84a4a;font-weight:900}
.calendar-weekdays .sat{color:#3478d4;font-weight:900}
.calendar-cell.sunday{background:#fff4f4}
.calendar-cell.sunday>.calendar-date-head>b{color:#d84a4a}
.calendar-cell.saturday{background:#f3f7ff}
.calendar-cell.saturday>.calendar-date-head>b{color:#3478d4}
.calendar-cell.holiday{background:#fff0f1;border-color:#f0b8bd}
.calendar-cell.holiday>.calendar-date-head>b{color:#d43845}
.calendar-date-head{display:flex;align-items:flex-start;justify-content:space-between;gap:4px}
.calendar-date-head small{font-size:.58rem;color:#c63f49;line-height:1.1;text-align:right;max-width:72%}
.holiday-legend{color:#d43845;font-weight:800}
.edit-product-profit{
  display:flex;justify-content:space-between;gap:8px;align-items:center;
  margin-top:7px;padding:6px 8px;border-radius:8px;
  background:rgba(255,255,255,.78);color:#24313c;
  font-size:.76rem;
}
.edit-product-profit b{color:#13733d}
.cost-btn{border-color:#e0a42d!important}
.cost-live-preview{
  margin:10px 0 14px;padding:10px;border-radius:10px;
  background:#f3f8f5;font-size:1rem;
}
.cost-live-preview b{color:#167640}
.cost-metric{border-top:4px solid #f2994a}
.profit-metric{border-top:4px solid #27ae60}
.net-profit-metric{border:2px solid #1f8d50;background:#edf9f2}
.net-profit-metric b{color:#126d3c}
.net-profit-metric small{display:block;margin-top:3px;color:#52655b}

/* v72 calendar visibility */
.calendar-cell.sunday,
.calendar-cell.holiday{
  background:#fff0f1!important;
}
.calendar-cell.saturday{
  background:#eef5ff!important;
}
.calendar-cell.sunday.today,
.calendar-cell.holiday.today{
  background:#ffe8ea!important;
  box-shadow:inset 0 0 0 3px #1769e0!important;
}
.calendar-cell.saturday.today{
  background:#e5efff!important;
  box-shadow:inset 0 0 0 3px #1769e0!important;
}
.calendar-cell.sunday .calendar-date-head>b,
.calendar-cell.holiday .calendar-date-head>b{
  color:#d53240!important;
}
.calendar-cell.saturday .calendar-date-head>b{
  color:#2f70cc!important;
}
.calendar-weekdays .sun{color:#d53240!important}
.calendar-weekdays .sat{color:#2f70cc!important}
.calendar-date-head small{
  color:#c92f3d!important;
  font-weight:800;
}

/* v72 stable manual product input */
.product-manual-modal .product-add-sheet{position:relative}
.product-manual-modal input{
  font-size:16px;
  min-height:48px;
}

/* v73 manual-add and anytime product prep */
.product-color-modal .color-palette{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}
.product-color-modal .color-chip{min-height:52px;border-radius:10px;border:2px solid rgba(0,0,0,.12)}
.product-color-modal .color-chip.selected{outline:4px solid #1769e0;outline-offset:2px}

/* v74 material recipe / inventory / forecast */
.recipe-sheet{max-width:760px!important}
.recipe-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}
.recipe-summary span{padding:10px;border-radius:10px;background:#f3f6f8;text-align:center}
.recipe-row{display:grid;grid-template-columns:1.4fr 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #e8ecef}
.recipe-row:last-child{border-bottom:0}
.inventory-page{padding-bottom:70px}
.inventory-row{display:grid;grid-template-columns:1.3fr 1fr .9fr;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #e8ecef}
.inventory-row:last-child{border-bottom:0}
.inventory-input-wrap{display:flex;align-items:center;gap:6px}
.inventory-input-wrap .input{margin:0}
.inventory-admin-cost{font-size:.8rem;text-align:right;color:#53606b}
.inventory-admin-cost b{display:block;color:#26323d}
.capacity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.capacity-card{padding:11px;border-radius:12px;background:#f3f8ff;border:1px solid #d9e7fb}
.capacity-card span,.capacity-card small{display:block}
.capacity-card b{display:block;font-size:1.2rem;margin:4px 0;color:#205fae}
.inventory-forecast-card{border-left:5px solid #8b5cf6}
.forecast-result{margin-top:12px}
.forecast-product-row{display:grid;grid-template-columns:1fr auto 52px;gap:8px;padding:7px 0;border-bottom:1px solid #eceff1}
.forecast-product-row small{text-align:right;color:#6b7480}
.forecast-shortage{margin-top:12px;padding:12px;border-radius:12px;background:#fff1f2;border:1px solid #f1b5bc}
.forecast-shortage h4{color:#b42334;margin-top:0}
.forecast-ok{margin-top:12px;padding:12px;border-radius:12px}
@media(max-width:700px){
  .recipe-summary{grid-template-columns:1fr}
  .inventory-row{grid-template-columns:1fr 1fr}
  .inventory-admin-cost{grid-column:1/3;text-align:left}
  .capacity-grid{grid-template-columns:1fr}
}

/* v75 */
.recipe-list-scroll{max-height:220px;overflow-y:auto;border:1px solid #e5e9ed;border-radius:12px;padding:0 10px;margin-bottom:12px}
.recipe-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.recipe-modal .product-add-sheet{max-height:92vh;overflow-y:auto}
.inventory-row small{line-height:1.35}

/* v76 */
.inventory-required{margin:10px 0;padding:12px;border-radius:12px}
.inventory-forecast-card input:disabled,.inventory-forecast-card button:disabled{opacity:.5;cursor:not-allowed}
.analytics-period-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:12px 0}
.analytics-period-card{background:#fff;border:1px solid #dfe6ee;border-radius:14px;padding:14px;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.analytics-period-card span{display:block;font-size:.86rem;color:#687684;margin-bottom:5px}
.analytics-period-card b{font-size:1.35rem}

/* v82: 売上目標・カテゴリー別内訳・材料準備目安 */
.category-targets{margin-top:14px;padding-top:10px;border-top:1px solid var(--line,#ddd)}
.category-target-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(150px,1.2fr);gap:10px;align-items:end;margin:10px 0}
.category-target-row label{margin:0;font-weight:700}
.money-input{display:flex;align-items:center;gap:8px}
.money-input .input{margin:0;min-width:0}
.money-input span{white-space:nowrap;font-weight:700}
.target-balance{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;margin:12px 0;border-radius:12px;background:#fff3cd}
.target-balance.balanced{background:#e9f7ef}
.forecast-product-row span{display:flex;flex-direction:column;gap:2px}
.forecast-product-row span small{font-weight:400;opacity:.72}
.prep-material-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line,#e6e6e6)}
.prep-material-row>div{display:flex;flex-direction:column;gap:3px}
.prep-material-row>div:last-child{text-align:right;align-items:flex-end}
.need-more{font-weight:800}
.enough-stock{font-weight:700}
@media(max-width:560px){
  .category-target-row{grid-template-columns:1fr}
  .prep-material-row{grid-template-columns:1fr}
  .prep-material-row>div:last-child{text-align:left;align-items:flex-start}
}

/* v87: category-separated POS products */
.pos-products{display:flex;flex-direction:column;gap:12px;overflow:auto}
.pos-category-group{background:rgba(0,0,0,.025);border:1px solid var(--line,#e6e6e6);border-radius:12px;padding:8px}
.pos-category-title{font-weight:900;font-size:.95rem;padding:2px 4px 8px;border-bottom:1px solid var(--line,#e6e6e6);margin-bottom:8px}
.pos-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(78px,1fr);gap:7px}
@media(max-width:900px){.pos-category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}}
@media(max-width:560px){.pos-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}}

.prep-category-block{border:1px solid var(--line,#e6e6e6);border-radius:12px;margin:10px 0 14px;overflow:hidden}
.prep-category-block h5{margin:0;padding:10px 12px;background:rgba(0,0,0,.045);font-size:1rem}
.prep-check-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:11px 12px;border-top:1px solid var(--line,#e6e6e6);cursor:pointer}
.prep-check-row input{width:22px;height:22px;margin:0}
.prep-check-main{display:flex;flex-direction:column;gap:2px}
.prep-check-main small{opacity:.72}
.prep-status{font-weight:800;font-size:.9rem;white-space:nowrap}
.prep-check-row.is-prepared{opacity:.62;background:rgba(0,0,0,.035)}
.prep-check-row.is-prepared .prep-check-main b{text-decoration:line-through}
@media(max-width:560px){.prep-check-row{grid-template-columns:auto 1fr}.prep-status{grid-column:2}}

/* v88: checkout controls stay reachable while products scroll */
.pos-layout{
  height:calc(100dvh - 118px);
  min-height:0;
  overflow:hidden;
}
.pos-left,
.pos-right{
  min-height:0;
}
.pos-left{
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.pos-products{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding-bottom:10px;
}
.pos-bottom-tools{
  flex:0 0 auto;
}
.pos-right{
  display:flex;
  flex-direction:column;
  min-height:0;
  overflow:hidden;
}
.pos-cart{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
}
.pos-cart-lines{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.pos-total{
  flex:0 0 auto;
  background:var(--card,#fff);
}
.pos-checkout{
  flex:0 0 auto;
  background:var(--card,#fff);
  padding-bottom:max(8px, env(safe-area-inset-bottom));
}
.pos-side-links{
  flex:0 0 auto;
}

@media(max-width:900px){
  .pos-layout{
    height:calc(100dvh - 104px);
  }
}

@media(max-width:700px){
  .pos-layout{
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:minmax(0,1fr) auto;
    height:calc(100dvh - 96px);
    overflow:hidden;
  }
  .pos-left{
    min-height:0;
    overflow:hidden;
  }
  .pos-right{
    min-height:0;
    max-height:44dvh;
    border-top:1px solid var(--line,#e6e6e6);
    background:var(--card,#fff);
  }
  .pos-cart-lines{
    max-height:18dvh;
  }
}

@media(orientation:landscape) and (max-height:600px){
  .pos-layout{
    height:calc(100dvh - 72px);
  }
  .pos-cart-lines{
    max-height:24dvh;
  }
}

/* v89 definitive POS viewport layout override */
html:has(.pos-screen),
body:has(.pos-screen),
body:has(.pos-screen) #app{
  height:100dvh!important;
  min-height:0!important;
  overflow:hidden!important;
}

.pos-screen{
  height:100dvh!important;
  min-height:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}

.pos-topbar{
  flex:0 0 auto!important;
}

.pos-main{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
  display:grid!important;
}

.pos-left,
.pos-right{
  min-height:0!important;
  overflow:hidden!important;
}

.pos-left{
  display:flex!important;
  flex-direction:column!important;
}

.pos-products{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
}

.pos-bottom-tools{
  flex:0 0 auto!important;
}

.pos-right{
  display:flex!important;
  flex-direction:column!important;
}

.pos-cart{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}

.pos-cart-lines{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}

.pos-total,
.pos-checkout,
.pos-side-links,
.recent-orders-card{
  flex:0 0 auto!important;
}

@media (orientation:portrait), (max-width:899px){
  .pos-main{
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(0,1fr) auto!important;
  }

  .pos-left{
    min-height:0!important;
  }

  .pos-right{
    min-height:0!important;
    max-height:42dvh!important;
    margin-top:0!important;
    border-top:1px solid var(--line,#e6e6e6);
    background:var(--card,#fff);
  }

  .pos-cart-lines{
    max-height:16dvh!important;
  }
}

@media (orientation:landscape) and (max-width:1439px){
  .pos-main{
    grid-template-columns:minmax(0,1.55fr) minmax(250px,.85fr)!important;
    grid-template-rows:minmax(0,1fr)!important;
  }

  .pos-right{
    max-height:none!important;
    margin-top:0!important;
  }

  .pos-cart-lines{
    max-height:none!important;
  }
}

@media (orientation:landscape) and (max-height:599px){
  .pos-main{
    grid-template-columns:minmax(0,1.55fr) minmax(230px,.85fr)!important;
    grid-template-rows:minmax(0,1fr)!important;
  }

  .pos-right{
    max-height:none!important;
  }
}

/* v91: landscape viewport clipping fix */
@media (orientation:landscape){
  html:has(.pos-screen),
  body:has(.pos-screen),
  body:has(.pos-screen) #app{
    height:100svh!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  .pos-screen{
    height:100svh!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  .pos-main{
    min-height:0!important;
    overflow:hidden!important;
  }

  .pos-left,
  .pos-right{
    min-height:0!important;
    overflow:hidden!important;
  }

  .pos-products{
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding-bottom:6px!important;
  }

  .pos-bottom-tools{
    flex:0 0 auto!important;
    padding-bottom:max(6px, env(safe-area-inset-bottom))!important;
  }

  .pos-cart{
    min-height:0!important;
    overflow:hidden!important;
  }

  .pos-cart-lines{
    min-height:0!important;
    overflow-y:auto!important;
    max-height:none!important;
  }

  .pos-checkout{
    padding-bottom:max(6px, env(safe-area-inset-bottom))!important;
  }
}

/* Short landscape screens need tighter vertical spacing */
@media (orientation:landscape) and (max-height:700px){
  .pos-screen{
    height:100svh!important;
  }

  .pos-topbar{
    padding-top:4px!important;
    padding-bottom:4px!important;
  }

  .pos-main{
    padding-top:4px!important;
    padding-bottom:4px!important;
    gap:4px!important;
  }

  .pos-left,
  .pos-right{
    gap:4px!important;
  }

  .pos-pay-row{
    margin-bottom:4px!important;
  }

  .pos-category-group{
    padding:6px!important;
  }

  .pos-category-title{
    padding-bottom:5px!important;
    margin-bottom:5px!important;
  }

  .pos-bottom-tools{
    padding:4px!important;
  }

  .pos-cart{
    padding:6px!important;
  }

  .pos-total{
    padding:4px 0!important;
  }

  .pos-checkout .btn{
    padding-top:7px!important;
    padding-bottom:7px!important;
  }

  .recent-orders-card{
    max-height:92px!important;
    overflow:auto!important;
  }
}

/* v92: landscape layout rebuilt to avoid bottom clipping */
@media (orientation:landscape) and (max-width:1439px){
  html:has(.pos-screen),
  body:has(.pos-screen),
  body:has(.pos-screen) #app{
    height:auto!important;
    min-height:100%!important;
    overflow:auto!important;
  }

  .pos-screen{
    height:auto!important;
    min-height:100dvh!important;
    overflow:visible!important;
    display:block!important;
  }

  .pos-topbar{
    position:sticky!important;
    top:0!important;
    z-index:70!important;
  }

  .pos-main{
    display:grid!important;
    grid-template-columns:minmax(0,1.55fr) minmax(270px,.85fr)!important;
    grid-template-rows:auto!important;
    align-items:start!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }

  .pos-left{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    height:auto!important;
    overflow:visible!important;
  }

  .pos-products{
    display:flex!important;
    flex-direction:column!important;
    flex:none!important;
    min-height:0!important;
    height:auto!important;
    max-height:calc(100dvh - 210px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
  }

  .pos-bottom-tools{
    position:sticky!important;
    bottom:0!important;
    z-index:40!important;
    flex:0 0 auto!important;
    background:var(--card,#fff)!important;
    padding-bottom:max(6px, env(safe-area-inset-bottom))!important;
  }

  .pos-right{
    position:sticky!important;
    top:calc(var(--pos-topbar-height, 86px) + 6px)!important;
    align-self:start!important;
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    height:auto!important;
    max-height:calc(100dvh - 100px)!important;
    overflow:hidden!important;
    margin-top:0!important;
  }

  .pos-cart{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    max-height:calc(100dvh - 210px)!important;
    overflow:hidden!important;
  }

  .pos-cart-lines{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:26dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }

  .pos-total,
  .pos-checkout,
  .pos-side-links,
  .recent-orders-card{
    flex:0 0 auto!important;
  }

  .pos-checkout{
    position:relative!important;
    bottom:auto!important;
    z-index:1!important;
    padding-bottom:max(6px, env(safe-area-inset-bottom))!important;
  }
}

/* Extra-short tablet/phone landscape */
@media (orientation:landscape) and (max-height:620px) and (max-width:1439px){
  .pos-main{
    grid-template-columns:minmax(0,1.7fr) minmax(250px,.8fr)!important;
  }

  .pos-products{
    max-height:calc(100dvh - 180px)!important;
  }

  .pos-right{
    top:72px!important;
    max-height:calc(100dvh - 78px)!important;
  }

  .pos-cart{
    max-height:calc(100dvh - 160px)!important;
  }

  .pos-cart-lines{
    max-height:18dvh!important;
  }

  .recent-orders-card{
    display:none!important;
  }

  .pos-topbar{
    padding-top:3px!important;
    padding-bottom:3px!important;
  }

  .pos-bottom-tools{
    padding-top:3px!important;
    padding-bottom:3px!important;
  }

  .pos-checkout .btn{
    padding-top:6px!important;
    padding-bottom:6px!important;
  }
}

/* v93: large-tablet landscape fix (e.g. 1440px+ CSS viewport) */
@media (orientation:landscape) and (min-width:1440px) and (max-width:2200px) and (max-height:1200px){
  html:has(.pos-screen),
  body:has(.pos-screen),
  body:has(.pos-screen) #app{
    height:auto!important;
    min-height:100%!important;
    overflow:auto!important;
  }

  .pos-screen{
    height:auto!important;
    min-height:100svh!important;
    overflow:visible!important;
    display:block!important;
  }

  .pos-topbar{
    position:sticky!important;
    top:0!important;
    z-index:70!important;
  }

  .pos-main{
    display:grid!important;
    grid-template-columns:minmax(0,1.65fr) minmax(330px,.85fr)!important;
    grid-template-rows:auto!important;
    align-items:start!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }

  .pos-left{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    height:auto!important;
    overflow:visible!important;
  }

  .pos-products{
    display:flex!important;
    flex-direction:column!important;
    flex:none!important;
    min-height:0!important;
    height:auto!important;
    max-height:calc(100svh - 205px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
  }

  .pos-bottom-tools{
    position:sticky!important;
    bottom:0!important;
    z-index:40!important;
    flex:0 0 auto!important;
    background:var(--card,#fff)!important;
    padding-bottom:max(6px, env(safe-area-inset-bottom))!important;
  }

  .pos-right{
    position:sticky!important;
    top:92px!important;
    align-self:start!important;
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    height:auto!important;
    max-height:calc(100svh - 100px)!important;
    overflow:hidden!important;
    margin-top:0!important;
  }

  .pos-cart{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    max-height:calc(100svh - 210px)!important;
    overflow:hidden!important;
  }

  .pos-cart-lines{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:28svh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }

  .pos-total,
  .pos-checkout,
  .pos-side-links,
  .recent-orders-card{
    flex:0 0 auto!important;
  }

  .pos-checkout{
    position:relative!important;
    bottom:auto!important;
    padding-bottom:max(6px, env(safe-area-inset-bottom))!important;
  }
}

/* Lower-height large tablets: prioritize checkout area over recent-order card */
@media (orientation:landscape) and (min-width:1440px) and (max-width:2200px) and (max-height:800px){
  .pos-right{
    top:78px!important;
    max-height:calc(100svh - 84px)!important;
  }
  .pos-products{
    max-height:calc(100svh - 180px)!important;
  }
  .pos-cart{
    max-height:calc(100svh - 165px)!important;
  }
  .pos-cart-lines{
    max-height:18svh!important;
  }
  .recent-orders-card{
    display:none!important;
  }
}

/* v94 inventory grouping + POS tool layout */
.inventory-category-block{
  border:1px solid var(--line,#e2e6ea);
  border-radius:12px;
  overflow:hidden;
  margin:12px 0;
}
.inventory-category-block>h4{
  margin:0;
  padding:10px 12px;
  background:rgba(0,0,0,.045);
  font-size:1rem;
}
.inventory-category-block .inventory-row:first-of-type{
  border-top:0;
}
.prep-check-row.auto-prepared{
  background:rgba(34,139,70,.08);
}
.prep-check-row.auto-prepared .prep-status{
  font-size:.8rem;
}

.pos-cash-tools{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  align-items:center!important;
}
.pos-cash-tools .btn{
  flex:0 0 auto!important;
}
.pos-bottom-tools{
  min-height:0!important;
  padding:3px 6px!important;
}
.pos-bottom-tools span{
  margin-left:auto!important;
}

/* Portrait: sales/history controls must stay fully visible above browser chrome */
@media (orientation:portrait){
  html:has(.pos-screen),
  body:has(.pos-screen),
  body:has(.pos-screen) #app{
    height:100svh!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .pos-screen{
    height:100svh!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .pos-main{
    min-height:0!important;
    overflow:hidden!important;
  }
  .pos-left{
    min-height:0!important;
    overflow:hidden!important;
  }
  .pos-products{
    min-height:0!important;
    overflow-y:auto!important;
  }
  .pos-right{
    min-height:0!important;
    max-height:40svh!important;
    overflow:hidden!important;
    padding-bottom:max(6px, env(safe-area-inset-bottom))!important;
  }
  .pos-cart{
    min-height:0!important;
  }
  .pos-cart-lines{
    min-height:0!important;
    max-height:14svh!important;
    overflow-y:auto!important;
  }
  .pos-side-links{
    position:relative!important;
    bottom:auto!important;
    z-index:10!important;
    flex:0 0 auto!important;
    min-height:44px!important;
    padding-bottom:max(4px, env(safe-area-inset-bottom))!important;
    background:var(--card,#fff)!important;
  }
  .pos-side-links .btn{
    min-height:40px!important;
  }
}

/* v95: portrait POS bottom controls definitive fix */
@media (orientation:portrait){
  html:has(.pos-screen),
  body:has(.pos-screen),
  body:has(.pos-screen) #app{
    width:100%!important;
    height:100dvh!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  .pos-screen{
    width:100%!important;
    height:100dvh!important;
    min-height:0!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
  }

  .pos-topbar{
    flex:0 0 auto!important;
    position:relative!important;
    top:auto!important;
    z-index:20!important;
  }

  .pos-main{
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    overflow:hidden!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(0,1fr) auto!important;
    gap:4px!important;
    padding-bottom:max(4px,env(safe-area-inset-bottom))!important;
  }

  .pos-left{
    min-height:0!important;
    height:auto!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
  }

  .pos-products{
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
  }

  .pos-bottom-tools{
    flex:0 0 auto!important;
    min-height:0!important;
  }

  .pos-right{
    flex:0 0 auto!important;
    min-height:0!important;
    height:auto!important;
    max-height:34dvh!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0 0 max(4px,env(safe-area-inset-bottom)) 0!important;
    display:flex!important;
    flex-direction:column!important;
    background:var(--card,#fff)!important;
    border-top:1px solid var(--line,#e6e6e6)!important;
  }

  /* Portrait prioritizes checkout and navigation. History stays available from 履歴・訂正. */
  .pos-right .recent-orders-card{
    display:none!important;
  }

  .pos-cart{
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    padding:6px!important;
  }

  .pos-cart-lines{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:9dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }

  .pos-total{
    flex:0 0 auto!important;
    padding:4px 0!important;
  }

  .pos-checkout{
    flex:0 0 auto!important;
    position:relative!important;
    bottom:auto!important;
    padding:4px 0!important;
    z-index:5!important;
  }

  .pos-checkout .btn{
    min-height:42px!important;
  }

  .pos-side-links{
    flex:0 0 auto!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:5px!important;
    min-height:48px!important;
    height:48px!important;
    overflow:visible!important;
    padding:4px 5px max(4px,env(safe-area-inset-bottom))!important;
    background:var(--card,#fff)!important;
    position:relative!important;
    bottom:auto!important;
    z-index:30!important;
  }

  .pos-side-links .btn{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:40px!important;
    height:40px!important;
    padding:6px!important;
  }
}

/* Short portrait screens: preserve 売上 / 履歴・訂正 before cart history. */
@media (orientation:portrait) and (max-height:750px){
  .pos-right{
    max-height:31dvh!important;
  }
  .pos-cart-lines{
    max-height:6dvh!important;
  }
  .pos-checkout .btn{
    min-height:38px!important;
    padding:6px 4px!important;
  }
  .pos-side-links{
    min-height:46px!important;
    height:46px!important;
  }
  .pos-side-links .btn{
    min-height:38px!important;
    height:38px!important;
  }
}

/* v96: reserve the fixed cloud-sync bar instead of letting it overlap POS */
:root{
  --connection-status-height:44px;
}

@media (orientation:portrait){
  html:has(.pos-screen),
  body:has(.pos-screen),
  body:has(.pos-screen) #app{
    height:calc(100dvh - var(--connection-status-height,44px))!important;
    max-height:calc(100dvh - var(--connection-status-height,44px))!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  .pos-screen{
    height:calc(100dvh - var(--connection-status-height,44px))!important;
    max-height:calc(100dvh - var(--connection-status-height,44px))!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  .pos-main{
    min-height:0!important;
    height:auto!important;
    overflow:hidden!important;
    padding-bottom:2px!important;
  }

  .pos-right{
    max-height:32dvh!important;
    padding-bottom:0!important;
  }

  .pos-side-links{
    height:44px!important;
    min-height:44px!important;
    padding:3px 5px!important;
  }

  .pos-side-links .btn{
    height:38px!important;
    min-height:38px!important;
  }
}

/* Very short portrait screens: keep navigation visible even if cart area must shrink more. */
@media (orientation:portrait) and (max-height:760px){
  .pos-right{
    max-height:29dvh!important;
  }
  .pos-cart-lines{
    max-height:4dvh!important;
  }
}

/* v98-v101: conditional connection bar */
:root{--connection-status-height:0px}
.connection-status-bar{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:99999;
  padding:8px 12px max(8px,env(safe-area-inset-bottom));
  text-align:center;font-weight:800;font-size:14px;box-shadow:0 -2px 8px rgba(0,0,0,.15)
}
.connection-status-bar[data-state="offline"]{background:#fff3cd;color:#664d03}
.connection-status-bar[data-state="pending"]{background:#cff4fc;color:#055160}
.connection-status-bar[data-state="error"]{background:#fff0f0;color:#8d1f1f;border-top:1px solid #e8aaaa}
/* v323: POSの固定会計を下部同期通知で塞がない。高さはJSの実測値を使い、通知自体はPOS上でタップを奪わない。 */
body:has(.pos-screen) .connection-status-bar{pointer-events:none}
body:has(.pos-screen){padding-bottom:var(--connection-status-height,0px)!important}

.manager-invite-result{border:2px solid #88b8ec;background:#f6fbff}
.invite-url-field{min-height:78px;resize:vertical;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}

/* v99 administrator menu organization */
.admin-home-v99 .admin-menu-section h3{margin-bottom:4px}
.admin-home-v99 .admin-menu-section .small-muted{margin-top:0;margin-bottom:12px}
.admin-home-v99 .admin-status-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.admin-home-v99 .admin-status-columns>div{min-width:0}
@media(max-width:720px){.admin-home-v99 .admin-status-columns{grid-template-columns:1fr}}

/* v102: pre-opening checklist */
.event-start-note{
  margin:12px 0;
  padding:10px 12px;
  border-radius:10px;
  background:rgba(255,193,7,.12);
  border:1px solid rgba(255,193,7,.35);
  font-size:.92em;
  line-height:1.45;
}

/* v104: regular staff device distinction */
.device-role-card small b{font-weight:800}

/* v105: remote regular staff device management */
.staff-device-list{display:grid;gap:10px;margin-top:12px}
.staff-device-card .muted{margin-top:4px}
.staff-device-card .row{margin-top:10px}

/* v106: promote a staff device directly from access history */
.access-promote-btn{margin-top:10px;width:100%}
.access-device-status{
  margin-top:9px;
  padding:8px 10px;
  border-radius:9px;
  background:rgba(40,167,69,.10);
  font-weight:700;
}

/* v108: staff device management fix + visible admin day-code controls */
.staff-code-inline{
  display:inline-block;
  margin-top:6px;
  padding:5px 8px;
  border-radius:8px;
  background:rgba(255,193,7,.12);
}
.staff-access-admin-card small{display:block;margin-top:5px}

/* v147 quick latest cancellation */
.pos-screen-v147 .pos-cash-tools .danger{font-weight:800}

/* v147: show the latest four sales in every orientation.
   Older responsive rules intentionally hid this block on portrait/short landscape. */
.pos-right .recent-orders-card{
  display:block!important;
  flex:0 0 auto!important;
  max-height:none!important;
  overflow:visible!important;
  padding:7px!important;
  margin:6px 0!important;
}
.pos-right .recent-orders-title{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  font-size:.75rem!important;
  margin-bottom:4px!important;
}
.pos-right .recent-orders-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:4px!important;
  margin-top:4px!important;
}
.pos-right .recent-order{
  min-width:0!important;
  padding:5px 6px!important;
  border-radius:7px!important;
}
.pos-right .recent-order .recent-order-items{
  display:block!important;
  grid-column:1 / -1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-size:.62rem!important;
  font-style:normal!important;
  opacity:.72!important;
}

/* Portrait: keep it compact so checkout still reads cleanly. */
@media (orientation:portrait){
  .pos-right .recent-orders-card{
    display:block!important;
    margin:7px 0!important;
  }
  .pos-right .recent-orders-list{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .pos-right .recent-order{
    padding:6px!important;
  }
}

/* Short landscape: force it back on, but cap it to a tiny 2x2 block. */
@media (orientation:landscape) and (max-height:800px){
  .pos-right .recent-orders-card{
    display:block!important;
    max-height:112px!important;
    overflow:auto!important;
  }
  .pos-right .recent-orders-title{
    font-size:.7rem!important;
  }
  .pos-right .recent-order{
    padding:4px 5px!important;
  }
  .pos-right .recent-order .recent-order-items{
    display:none!important;
  }
}

/* v147: smartphone portrait scroll fix */
@media (max-width:699px) and (orientation:portrait){
  html, body{
    height:auto!important;
    min-height:100%!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }

  body{
    position:static!important;
    overscroll-behavior-y:auto!important;
    -webkit-overflow-scrolling:touch;
  }

  #app,
  .pos-screen-v147,
  .pos-screen-v147 .pos-main,
  .pos-screen-v147 .pos-left,
  .pos-screen-v147 .pos-products,
  .pos-screen-v147 .pos-right{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .pos-screen-v147{
    display:block!important;
  }

  .pos-screen-v147 .pos-main{
    display:flex!important;
    flex-direction:column!important;
  }

  .pos-screen-v147 .pos-right{
    position:relative!important;
    inset:auto!important;
    flex:0 0 auto!important;
  }

  .pos-screen-v147 .recent-orders-card{
    max-height:none!important;
    overflow:visible!important;
  }

  .pos-screen-v147 .recent-orders-list{
    overflow:visible!important;
  }
}

/* v147: definitive smartphone portrait page-scroll override */
@media (max-width:699px) and (orientation:portrait){
  html:has(.pos-screen-v147),
  body:has(.pos-screen-v147),
  body:has(.pos-screen-v147) #app{
    height:auto!important;
    max-height:none!important;
    min-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
  }

  body:has(.pos-screen-v147){
    position:static!important;
    touch-action:pan-y!important;
    overscroll-behavior-y:auto!important;
  }

  .pos-screen-v147{
    height:auto!important;
    max-height:none!important;
    min-height:100dvh!important;
    overflow:visible!important;
    display:block!important;
  }

  .pos-screen-v147 .pos-topbar{
    position:relative!important;
    top:auto!important;
  }

  .pos-screen-v147 .pos-main{
    display:flex!important;
    flex-direction:column!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    overflow:visible!important;
  }

  .pos-screen-v147 .pos-left,
  .pos-screen-v147 .pos-products,
  .pos-screen-v147 .pos-right,
  .pos-screen-v147 .pos-cart,
  .pos-screen-v147 .pos-cart-lines{
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    overflow:visible!important;
    position:relative!important;
    top:auto!important;
    bottom:auto!important;
    inset:auto!important;
  }

  .pos-screen-v147 .pos-products{
    flex:0 0 auto!important;
    overscroll-behavior:auto!important;
  }

  .pos-screen-v147 .pos-right{
    flex:0 0 auto!important;
    margin-top:8px!important;
    padding-bottom:max(12px,env(safe-area-inset-bottom))!important;
  }

  .pos-screen-v147 .pos-cart{
    flex:0 0 auto!important;
  }

  .pos-screen-v147 .pos-cart-lines{
    flex:0 0 auto!important;
  }

  .pos-screen-v147 .pos-side-links{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }

  .pos-screen-v147 .recent-orders-card{
    display:block!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
}

/* v147: live expense + inventory reference */
.live-expense-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.live-expense-summary .money{white-space:nowrap;font-weight:800}
@media(max-width:699px){
  .live-expense-summary{align-items:flex-start;flex-direction:column}
}

/* POS now has 7 top utility buttons. Keep them readable by wrapping naturally. */
.pos-screen-v147 .pos-cash-tools{
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
}
@media (orientation:portrait) and (min-width:700px){
  .pos-screen-v147 .pos-cash-tools{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media (max-width:699px){
  .pos-screen-v147 .pos-cash-tools{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

/* v147: expense payment method + discount checkout */
.expense-payment-note{margin:8px 0 12px;padding:9px 10px;border-radius:9px;background:rgba(0,123,255,.07);font-size:.85rem;line-height:1.45}
.expense-summary-money{text-align:right}
.expense-summary-money small{display:block;margin-top:3px}
.discount-checkout-btn{font-weight:800}
.discount-card .discount-label{margin-top:12px}
.discount-result{display:flex;justify-content:space-between;align-items:center;margin:14px 0;padding:12px;border-radius:10px;background:rgba(0,0,0,.05)}
.discount-result b{font-size:1.45rem}
@media(max-width:699px){.expense-summary-money{text-align:left}}


/* v147: 非販売記録 + 過去実績予測 */
.sales-prediction-box{margin:10px 0 16px}
.sales-prediction-box>div,.sales-prediction-box{box-sizing:border-box}
.prediction-empty,.sales-prediction-box{border-radius:12px}
.prediction-empty{padding:12px;background:rgba(127,127,127,.08)}
.sales-prediction-box:not(:empty){padding:12px;border:1px solid rgba(127,127,127,.22);background:rgba(127,127,127,.04)}
.prediction-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.prediction-head>b{font-size:1.15rem;white-space:nowrap}
.prediction-base{margin:10px 0;padding:10px;border-radius:10px;background:rgba(127,127,127,.08)}
.prediction-target-btn{width:100%;margin-bottom:10px}
.prediction-products{margin-top:10px}
.prediction-product-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid rgba(127,127,127,.16)}
.prediction-product-row>span:last-child{text-align:right;font-size:.9rem}
.pos-longpress-hint{padding:4px 8px 6px;font-size:.74rem;opacity:.7}
.movement-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:6px 0 12px}
.movement-type.active{outline:3px solid currentColor;font-weight:700}
.movement-total{padding:8px 0 10px}
.product-movement-modal .product-add-sheet{max-width:520px}
@media(max-width:699px){
  .prediction-head{display:block}
  .prediction-head>b{display:block;margin-top:6px}
  .prediction-product-row{font-size:.92rem}
}


/* v147: 経営分析 */
.business-analysis-page{padding-bottom:28px}
.business-hero{padding:20px;border-radius:16px;margin-bottom:14px;background:linear-gradient(135deg,rgba(47,128,237,.14),rgba(39,174,96,.10));border:1px solid rgba(127,127,127,.18)}
.business-hero span,.business-hero small{display:block}
.business-hero strong{display:block;font-size:clamp(1.65rem,4vw,2.5rem);margin:5px 0}
.business-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.business-kpi{padding:14px;border-radius:14px;border:1px solid rgba(127,127,127,.2);background:var(--card-bg,#fff)}
.business-kpi span,.business-kpi small{display:block}
.business-kpi b{display:block;font-size:1.3rem;margin:4px 0}
.business-month-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.business-month-compare>div{padding:12px;border-radius:12px;background:rgba(127,127,127,.07)}
.business-month-compare span,.business-month-compare b,.business-month-compare small{display:block;margin:3px 0}
.business-insight{padding:11px 0;border-top:1px solid rgba(127,127,127,.15);line-height:1.55}
.business-insight:first-of-type{border-top:0}
.business-highlight-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.business-highlight-grid .card strong,.business-highlight-grid .card small{display:block;margin-top:5px}
.business-highlight-grid .card strong{font-size:1.35rem}
.business-big-name{font-size:1.12rem}
.business-table-wrap{overflow:auto;-webkit-overflow-scrolling:touch}
.business-table{width:100%;border-collapse:collapse;min-width:760px}
.business-table th,.business-table td{padding:10px 9px;border-bottom:1px solid rgba(127,127,127,.15);text-align:right;white-space:nowrap}
.business-table th:first-child,.business-table td:first-child{text-align:left}
.business-table td small{display:block;opacity:.65;margin-top:3px}
.negative-profit{font-weight:700}
@media(max-width:699px){
  .business-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .business-month-compare,.business-highlight-grid{grid-template-columns:1fr}
  .business-kpi b{font-size:1.12rem}
}


/* v147: アップロード式目標達成音 */
.uploaded-sound-picker{margin-bottom:14px}
.audio-empty-note{padding:12px;border-radius:10px;background:rgba(127,127,127,.08);margin-bottom:8px}
.audio-track-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.audio-track-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.audio-track-row small{opacity:.7}
.sound-preview-btn{min-width:58px}
@media(max-width:699px){
  .audio-track-row{align-items:flex-start;flex-direction:column}
  .audio-track-actions{width:100%}
  .audio-track-actions .btn{flex:1}
}


/* v147: 音源アップロード入力保持 */
.audio-file-status{
  margin:6px 0 12px;
  padding:8px 10px;
  border-radius:8px;
  background:rgba(127,127,127,.08);
  font-size:.88rem;
  word-break:break-all;
}

/* v147 shift calendar */
.shift-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.staff-view-badge{padding:6px 10px;border-radius:999px;background:rgba(127,127,127,.12)}
.shift-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.shift-cal-cell{min-height:120px;padding:6px;text-align:left;border:1px solid rgba(127,127,127,.2);border-radius:9px;background:var(--card,#fff);overflow:hidden}.shift-cal-cell.blank{visibility:hidden}.shift-daynum{display:block;margin-bottom:3px}
.shift-mini{display:flex;flex-direction:column;margin:3px 0;padding:4px;border-left:5px solid var(--sc);border-radius:5px;background:color-mix(in srgb,var(--sc) 42%,transparent);overflow:hidden}.shift-mini b,.shift-mini small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shift-mini b{font-size:.76rem}.shift-mini small{font-size:.62rem}.shift-more{font-weight:800}
.shift-day-card{width:100%;text-align:left;display:flex;flex-direction:column;gap:4px;border-left:8px solid var(--sc)}.shift-hero{border-left:10px solid var(--sc)}.shift-status{display:inline-block;padding:4px 8px;border-radius:999px;background:rgba(127,127,127,.12)}.shift-important{border:2px solid rgba(220,70,50,.4)}
.shift-times{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.shift-colors{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0}.shift-colors label{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(0,0,0,.1)}.shift-colors input{appearance:none;width:14px;height:14px;border-radius:50%}.shift-colors input:checked{background:#111}
.shift-master-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.shift-check{display:flex;gap:8px;padding:8px;border:1px solid rgba(127,127,127,.18);border-radius:9px}.shift-check span{display:flex;flex-direction:column}.shift-staff-row{display:grid;grid-template-columns:1fr 1fr auto;gap:7px;margin-bottom:7px}.shift-textarea{min-height:100px}
.shift-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.shift-photo-grid figure{margin:0}.shift-photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.shift-photo-manage{display:grid;grid-template-columns:70px 1fr auto;gap:8px;align-items:center;margin-top:8px}.shift-photo-manage img{width:70px;height:55px;object-fit:cover;border-radius:7px}
@media(max-width:699px){.shift-cal-grid{gap:2px}.shift-cal-cell{min-height:88px;padding:3px}.shift-mini{padding:2px;border-left-width:3px}.shift-mini b{font-size:.62rem}.shift-mini small{font-size:.52rem}.shift-times,.shift-master-grid,.shift-staff-row{grid-template-columns:1fr}.shift-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.shift-date-range{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media(max-width:699px){.shift-date-range{grid-template-columns:1fr}}

/* v147 shift staff/category quick add */
.shift-staff-picker,.shift-category-bulk{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin:8px 0 12px}
.shift-category-bulk{grid-template-columns:minmax(0,1fr) auto auto}
@media(max-width:699px){
  .shift-staff-picker,.shift-category-bulk{grid-template-columns:1fr}
}

/* v147 multi-day shift bulk editing */
.shift-edit-scope{display:grid;gap:8px}
.shift-scope-option{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid #d9dde5;border-radius:12px;cursor:pointer}
.shift-scope-option input{margin-top:4px;transform:scale(1.15)}
.shift-scope-option span{display:grid;gap:2px}
.shift-scope-option small{opacity:.72}
.shift-date-range input:disabled{opacity:.7;background:#f2f3f5}
.shift-staff-scope{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:10px;margin:8px 0 12px;border:1px solid #cfd8e3;border-radius:12px;background:#f7faff}
.shift-staff-scope>b,.shift-staff-scope>small{grid-column:1/-1}.shift-staff-scope label{display:flex;gap:7px;align-items:center;padding:8px;border-radius:9px;background:#fff;border:1px solid #dce3eb;font-weight:700}.shift-staff-scope small{opacity:.72}
.shift-weather{display:grid!important;gap:1px;margin:2px 0;padding:3px 4px;border-radius:6px;background:rgba(255,255,255,.75);color:#23415f!important}.shift-weather-main{font-weight:800}.shift-weather-location{font-size:.84em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.72}.shift-weather-credit{margin:10px 2px;font-size:11px;color:#657282}.shift-weather-credit a{color:inherit}
@media(max-width:699px){.shift-staff-scope{grid-template-columns:1fr}.shift-staff-scope>b,.shift-staff-scope>small{grid-column:1}.shift-weather{font-size:.48rem!important;padding:2px}.shift-weather-location{display:none}}

/* v147 shift operations pack */
.shift-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.shift-mini-head,.shift-day-head,.my-shift-card-head{display:flex;align-items:center;gap:6px;justify-content:space-between}
.shift-changed-badge{display:inline-flex;align-items:center;white-space:nowrap;font-size:11px;font-weight:800;padding:2px 7px;border-radius:999px;background:#fff3cd;color:#7a5200;border:1px solid #f0d98a}
.my-shift-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}
.my-shift-card{display:grid;gap:5px;text-align:left;border-left:7px solid var(--sc,#e8f1ff)}
.my-shift-important{font-weight:800}
@media(max-width:699px){.shift-head-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}}

/* v147 shift delete */
.shift-detail-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.manager-repair-row-v333{display:grid;grid-template-columns:minmax(90px,1fr) minmax(160px,1.4fr) auto;gap:8px;align-items:center;padding:10px 0;border-top:1px solid #e5ebf1}
.manager-repair-row-v333 .input{width:100%;min-width:0;margin:0}
@media(max-width:699px){.manager-repair-row-v333{grid-template-columns:minmax(0,1fr)}.manager-repair-row-v333 .btn{width:100%}}
.manager-repair-row-v335{display:grid;grid-template-columns:minmax(150px,1.5fr) minmax(190px,1.5fr) auto;gap:10px;align-items:center;padding:12px 0;border-top:1px solid #e5ebf1}
.manager-repair-row-v335 .input{width:100%;min-width:0;margin:0}
.manager-repair-status-v335{display:block;margin-top:3px;overflow-wrap:anywhere;color:#43536c}
@media(max-width:699px){.manager-repair-row-v335{grid-template-columns:minmax(0,1fr)}.manager-repair-row-v335 .btn{width:100%}}
@media(max-width:699px){.shift-detail-actions .btn{flex:1 1 46%}}

.shift-delete-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.shift-delete-controls .input{min-width:160px;max-width:240px;margin:0}

.home-event-staff-picker,.home-event-staff-manual{display:flex;gap:8px;align-items:center}
.home-event-staff-picker .input,.home-event-staff-manual .input{flex:1;margin:0}
.home-selected-staff{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.home-staff-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#eef3f8;font-weight:700}
.home-staff-chip button{border:0;background:transparent;font-size:18px;line-height:1;cursor:pointer;padding:0}
@media(max-width:520px){.home-event-staff-picker,.home-event-staff-manual{align-items:stretch}.home-event-staff-picker .btn,.home-event-staff-manual .btn{white-space:nowrap}}

.shift-register-toggle{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid #d9e1e8;border-radius:12px;margin:10px 0}.shift-register-toggle input{width:22px;height:22px;margin-top:2px}.shift-register-toggle span{display:flex;flex-direction:column;gap:3px}.shift-type-badge,.shift-no-register-badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700;margin-top:6px}.shift-type-badge{background:#eef3f8}.shift-no-register-badge{background:#fff1c9}.shift-no-register-note{font-weight:700}

.shift-ack-ok,.shift-ack-wait,.shift-unread-badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:800}
.shift-ack-ok{background:#dff6e8}.shift-ack-wait,.shift-unread-badge{background:#fff1c9}
.shift-my-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}
.shift-notice-card{border-left:5px solid #e4a11b}.shift-notice-row{width:100%;text-align:left;border:0;border-top:1px solid #e6e6e6;background:transparent;padding:10px 4px;display:flex;flex-direction:column;gap:4px}
.shift-log-row{display:flex;flex-direction:column;gap:3px;padding:8px 0;border-bottom:1px solid #eee}
.shift-sales-anchor{border-left:5px solid #e07b39;background:#fff8ef}

.shift-new-product-save{margin-top:10px}


.new-event-products{margin-top:14px}.product-selector-grid{margin-top:10px}
.shift-goal-mode{display:flex;gap:14px;flex-wrap:wrap;margin:8px 0 12px}.shift-goal-mode label{display:flex;gap:7px;align-items:center;font-weight:700}
.shift-daily-target-row{display:grid;grid-template-columns:minmax(100px,1fr) minmax(150px,1fr);gap:10px;align-items:center;margin:8px 0}
@media(max-width:600px){.shift-daily-target-row{grid-template-columns:1fr}}

.manual-target-priority{margin:10px 0;padding:10px 12px;border-radius:10px;background:#eef7ff}

.operation-filter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.operation-log-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.operation-log-head span{font-weight:800}.operation-detail{margin-top:8px;padding-top:8px;border-top:1px solid #ddd;font-size:13px}
@media(max-width:700px){.operation-filter{grid-template-columns:1fr}}

/* v147 会計完了フィードバック */
.checkout-success-toast{
  position:fixed;
  top:max(14px,env(safe-area-inset-top));
  left:50%;
  transform:translate(-50%,-18px) scale(.98);
  z-index:99999;
  min-width:min(88vw,420px);
  max-width:92vw;
  padding:13px 18px;
  border-radius:14px;
  background:#148a48;
  color:#fff;
  box-shadow:0 8px 28px rgba(0,0,0,.28);
  opacity:0;
  pointer-events:none;
  text-align:center;
  transition:opacity .16s ease,transform .16s ease;
}
.checkout-success-toast.show{opacity:1;transform:translate(-50%,0) scale(1)}
.checkout-success-toast b{display:block;font-size:20px;line-height:1.25}
.checkout-success-toast span{display:block;margin-top:4px;font-size:14px;font-weight:700}
.checkout-main-btn:disabled{opacity:.7;cursor:wait}
@media (max-width:600px){
  .checkout-success-toast{top:max(10px,env(safe-area-inset-top));padding:12px 14px}
  .checkout-success-toast b{font-size:18px}
}

/* v155: business account login */
.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(180deg,#f6f8fb,#eef2f7)}
.auth-card{width:min(100%,460px);background:#fff;border-radius:22px;padding:26px;box-shadow:0 18px 55px rgba(0,0,0,.12)}
.auth-brand{font-size:13px;font-weight:900;letter-spacing:.12em;color:#4b5563;margin-bottom:6px}
.auth-card h2{margin:0 0 8px;font-size:28px}.auth-card label{display:block;font-weight:800;margin:16px 0 6px}.auth-card .input{width:100%}
.auth-actions{display:grid;gap:10px;margin-top:20px}.auth-note{font-size:12px;line-height:1.65;color:#667085;margin:16px 0 0}.auth-message{padding:11px 13px;border-radius:12px;background:#eef7ff;margin:14px 0;font-weight:700}.account-tenant-card small{overflow-wrap:anywhere}

/* v163 daily staff QR */
.daily-staff-qr{max-width:310px;margin:16px auto;background:#fff;padding:12px;border-radius:16px}.daily-staff-qr svg{display:block;width:100%;height:auto}


/* v170 password visibility / recovery */
.password-field-wrap{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
}
.password-field-wrap .password-input{margin:0;}
.password-field-wrap .password-toggle{
  min-width:64px;
  white-space:nowrap;
}


/* v175 organized role menus / account settings */
.admin-menu-section h3{margin-bottom:4px;}
.admin-menu-section .small-muted{margin-top:0;}
.account-tenant-card{line-height:1.55;}
@media (max-width:640px){
  .admin-home-v99 .admin-grid{grid-template-columns:1fr 1fr;}
  .admin-home-v99 .admin-grid .btn{min-height:46px;}
}

/* v209 navigation feedback / historical sales adjustment / mobile shift layout */
.navigation-loading-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(10,18,28,.18);backdrop-filter:blur(1px);z-index:99999;pointer-events:auto}
.navigation-loading-overlay.show{display:flex}
.navigation-loading-card{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;background:var(--card,#fff);box-shadow:0 10px 35px rgba(0,0,0,.2);font-size:14px}
.navigation-spinner{width:20px;height:20px;border:3px solid rgba(80,100,120,.25);border-top-color:currentColor;border-radius:50%;animation:navigation-spin .75s linear infinite}
@keyframes navigation-spin{to{transform:rotate(360deg)}}
body.navigation-busy [data-action]{cursor:progress}

.shift-past-register-note{display:inline-flex;align-items:center;padding:9px 12px;border-radius:10px;background:rgba(127,127,127,.12);font-weight:800}
.shift-mobile-list{display:none}

.historical-sales-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.btn.adjustment{background:#fff7d6;border-color:#e2ba45;color:#6b4a00;font-weight:800}
.historical-sales-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0}
.historical-sales-breakdown span,.historical-edit-summary>div{display:flex;flex-direction:column;gap:2px;padding:9px 10px;border-radius:10px;background:rgba(127,127,127,.08)}
.historical-edit-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:stretch}
.historical-edit-summary .btn{grid-column:1/-1}
.historical-adjustment-modal{position:fixed;inset:0;z-index:99998;display:flex;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.42);padding:14px}
.historical-adjustment-sheet{width:min(560px,100%);max-height:92vh;overflow:auto;background:var(--card,#fff);border-radius:18px;padding:18px;box-shadow:0 18px 60px rgba(0,0,0,.28)}
.historical-adjustment-sheet label{display:block;font-weight:800;margin:12px 0 6px}
.historical-adjustment-sheet .historical-adjustment-drawer{display:flex;align-items:flex-start;gap:9px;padding:10px 11px;margin-top:12px;border-radius:10px;background:rgba(127,127,127,.08);font-weight:700;line-height:1.4}
.historical-adjustment-drawer input{width:20px;height:20px;margin:0;flex:0 0 auto}
.stale-open-event{border:2px solid rgba(210,70,70,.38)}
.stale-open-badge,.overnight-open-badge{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:800}
.stale-open-badge{background:#ffe5e5;color:#8c2020}
.overnight-open-badge{background:#e9f5ff;color:#155b91}
.stale-open-help{display:block;margin-top:7px;line-height:1.45;color:#8c2020}
.historical-adjustment-note{margin:12px 0;padding:10px;border-radius:10px;background:rgba(47,128,237,.08);font-size:13px}
.sales-adjustment-card{border-left:6px solid #e2ba45}
.sales-adjustment-title{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sales-adjustment-pending{display:inline-flex;padding:3px 8px;border-radius:999px;background:#fff3cd;color:#7a5200;font-size:11px;font-weight:800}

@media(max-width:699px) and (orientation:portrait){
  .calendar-weekdays,.shift-cal-grid{display:none!important}
  .shift-mobile-list{display:flex;flex-direction:column;gap:10px;margin-top:10px}
  .shift-mobile-day{border:1px solid rgba(127,127,127,.18);border-radius:14px;overflow:hidden;background:var(--card,#fff);scroll-margin-top:72px}
  .shift-mobile-day.today{border:2px solid rgba(47,128,237,.42)}
  .shift-mobile-day.past:not([open]){opacity:.76}
  .shift-mobile-date{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border:0;border-bottom:1px solid rgba(127,127,127,.12);background:rgba(127,127,127,.06);text-align:left;cursor:pointer;list-style:none}
  .shift-mobile-date::-webkit-details-marker{display:none}
  .shift-mobile-date::after{content:"▾";font-size:.78rem;opacity:.55;margin-left:4px}
  .shift-mobile-day:not([open]) .shift-mobile-date::after{content:"▸"}
  .shift-mobile-date b{font-size:1rem}
  .shift-mobile-date span{font-size:.78rem;font-weight:800;opacity:.7}
  .shift-mobile-events{display:flex;flex-direction:column}
  .shift-mobile-event{width:100%;display:flex;flex-direction:column;gap:4px;padding:12px 13px;border:0;border-bottom:1px solid rgba(127,127,127,.12);border-left:7px solid var(--sc);background:var(--card,#fff);text-align:left}
  .shift-mobile-event:last-child{border-bottom:0}
  .shift-mobile-event-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
  .shift-mobile-event-head>b{font-size:1rem;line-height:1.35;overflow-wrap:anywhere}
  .shift-mobile-badges{display:flex;justify-content:flex-end;gap:4px;flex-wrap:wrap;flex:0 0 auto}
  .shift-mobile-event>span{font-weight:800;font-size:.9rem}
  .shift-mobile-event>small{font-size:.82rem;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
  .shift-mobile-weather{font-size:.76rem!important;margin-top:3px}
  .shift-mobile-more{border-top:1px solid rgba(127,127,127,.12)}
  .shift-mobile-more>summary{padding:11px 13px;cursor:pointer;font-weight:800;font-size:.82rem;background:rgba(127,127,127,.045);list-style:none}
  .shift-mobile-more>summary::-webkit-details-marker{display:none}
  .shift-mobile-more>summary::after{content:" ▾";opacity:.55}
  .shift-mobile-more:not([open])>summary::after{content:" ▸"}
  .shift-mobile-day-open{margin:9px 12px 12px;width:calc(100% - 24px)}
  .shift-head{align-items:flex-start;flex-direction:column}
  .shift-head-actions{grid-template-columns:1fr 1fr}
  .shift-changed-badge,.shift-ack-ok,.shift-ack-wait{font-size:10px;padding:3px 6px}
  .historical-sales-breakdown,.historical-edit-summary{grid-template-columns:1fr}
  .historical-edit-summary .btn{grid-column:auto}
  .historical-sales-actions{display:grid;grid-template-columns:1fr 1fr}
  .historical-sales-actions .btn{width:100%}
}

/* v218: 精算後に売上・経費が変わった場合の差額再計算案内 */
.cash-diff-resave-note{margin-top:10px;padding:10px;border-radius:8px;background:#fff7dc;border:1px solid #d79700;font-size:13px;line-height:1.55}

/* v219: 精算後会計の確認待ち */
.status-badge.error{background:#ffebee;color:#a31515;border:1px solid #ef9a9a;}
.warning-text{color:#9a1b1b;font-weight:700;}

/* v223 registered-staff directory + live staff picker */
.shift-staff-directory-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:9px 0 12px}
.shift-directory-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(127,127,127,.18)}
.shift-directory-row:last-child{border-bottom:0}
.shift-staff-directory-sheet h3,.live-staff-picker-sheet h3{margin:15px 0 8px}
.live-staff-section{margin:12px 0 16px}
.live-staff-candidates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.live-staff-candidate{min-height:48px;text-align:left;white-space:normal}
.live-staff-candidate small{display:block;opacity:.7;font-size:11px;margin-top:2px}
@media (max-width:640px){
  .live-staff-candidates{grid-template-columns:1fr}
  .shift-directory-row{align-items:flex-start}
  .shift-directory-row .btn{flex:0 0 auto}
}


/* v227: compact variable-width POS category grid.
   Small categories share a row instead of reserving a full-width band. */
.pos-screen-v147 .pos-products{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-rows:auto!important;
  gap:8px!important;
  align-content:start!important;
  align-items:start!important;
}
.pos-screen-v147 .pos-category-group{
  margin:0!important;
  min-width:0!important;
  align-self:start!important;
  padding:6px!important;
}
.pos-screen-v147 .pos-category-group.cat-size-1{grid-column:span 1}
.pos-screen-v147 .pos-category-group.cat-size-2{grid-column:span 2}
.pos-screen-v147 .pos-category-group.cat-size-3{grid-column:span 3}
.pos-screen-v147 .pos-category-group.cat-size-many{grid-column:span 4}
.pos-screen-v147 .pos-category-title{
  margin:0 0 5px!important;
  padding:3px 5px 5px!important;
  font-size:.9rem!important;
  line-height:1.2!important;
}
.pos-screen-v147 .pos-category-grid{
  gap:6px!important;
  grid-auto-rows:auto!important;
}
.pos-screen-v147 .pos-category-group.cat-size-1 .pos-category-grid{grid-template-columns:minmax(0,1fr)!important}
.pos-screen-v147 .pos-category-group.cat-size-2 .pos-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.pos-screen-v147 .pos-category-group.cat-size-3 .pos-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.pos-screen-v147 .pos-category-group.cat-size-many .pos-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.pos-screen-v147 .pos-category-group .pos-product{
  width:100%!important;
  min-width:0!important;
  min-height:88px!important;
}

/* Tablet widths: three category tracks. */
@media (min-width:700px) and (max-width:1100px){
  .pos-screen-v147 .pos-products{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .pos-screen-v147 .pos-category-group.cat-size-1{grid-column:span 1}
  .pos-screen-v147 .pos-category-group.cat-size-2{grid-column:span 2}
  .pos-screen-v147 .pos-category-group.cat-size-3,
  .pos-screen-v147 .pos-category-group.cat-size-many{grid-column:span 3}
  .pos-screen-v147 .pos-category-group.cat-size-3 .pos-category-grid,
  .pos-screen-v147 .pos-category-group.cat-size-many .pos-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

/* Smartphone portrait: two category tracks. A single-item category uses half width;
   categories with 2+ products use the full row so buttons stay finger-friendly. */
@media (max-width:699px) and (orientation:portrait){
  .pos-screen-v147 .pos-products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  .pos-screen-v147 .pos-category-group.cat-size-1{grid-column:span 1}
  .pos-screen-v147 .pos-category-group.cat-size-2,
  .pos-screen-v147 .pos-category-group.cat-size-3,
  .pos-screen-v147 .pos-category-group.cat-size-many{grid-column:span 2}
  .pos-screen-v147 .pos-category-group.cat-size-2 .pos-category-grid,
  .pos-screen-v147 .pos-category-group.cat-size-3 .pos-category-grid,
  .pos-screen-v147 .pos-category-group.cat-size-many .pos-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pos-screen-v147 .pos-category-group .pos-product{min-height:96px!important}
}

/* Short landscape phones: three compact category tracks. */
@media (orientation:landscape) and (max-height:520px){
  .pos-screen-v147 .pos-products{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .pos-screen-v147 .pos-category-group.cat-size-1{grid-column:span 1}
  .pos-screen-v147 .pos-category-group.cat-size-2{grid-column:span 2}
  .pos-screen-v147 .pos-category-group.cat-size-3,
  .pos-screen-v147 .pos-category-group.cat-size-many{grid-column:span 3}
  .pos-screen-v147 .pos-category-group.cat-size-3 .pos-category-grid,
  .pos-screen-v147 .pos-category-group.cat-size-many .pos-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .pos-screen-v147 .pos-category-group .pos-product{min-height:72px!important}
}

/* v229 weather status */
.shift-weather{line-height:1.35}.shift-weather-location{opacity:.72;margin-left:.35em}

/* v230: shift weather manual location controls */
.shift-weather-detail .shift-weather{margin:6px 0 12px;font-size:14px;line-height:1.5}
.shift-weather-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.shift-weather-actions .btn{flex:1 1 180px}
@media (max-width:680px){.shift-weather-actions .btn{flex-basis:100%}}

/* v231: 月間シフト表で連日シリーズの縦位置を固定 */
.shift-lane-stack{display:grid;grid-template-rows:repeat(var(--shift-lane-count,3),minmax(0,auto));gap:3px}
.shift-lane-stack .shift-mini{margin:0;height:82px;box-sizing:border-box}
.shift-mini-placeholder{visibility:hidden;pointer-events:none;height:82px;box-sizing:border-box}
@media(max-width:699px){
  .shift-lane-stack .shift-mini,.shift-mini-placeholder{height:58px}
}

/* v233 prep planning / stockout prediction */
.stockout-prediction-card{border-left:5px solid #f59e0b}
.stockout-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(210px,1.2fr);gap:12px;align-items:center;padding:10px 12px;margin:7px 0;border-radius:11px;border:1px solid var(--line,#e6e6e6);background:#fff}
.stockout-row>div{display:flex;flex-direction:column;gap:2px}
.stockout-result{align-items:flex-end;text-align:right}
.stockout-critical{border-color:#ef4444;background:rgba(239,68,68,.07)}
.stockout-warning{border-color:#f59e0b;background:rgba(245,158,11,.08)}
.stockout-caution{border-color:#eab308;background:rgba(234,179,8,.07)}
.stockout-ok{border-color:#22c55e;background:rgba(34,197,94,.05)}
.stockout-unknown{opacity:.78}
.pos-stockout-alert{margin:8px 10px 10px;padding:10px;border:1px solid #f59e0b;border-radius:12px;background:rgba(245,158,11,.09);display:grid;grid-template-columns:minmax(130px,.65fr) repeat(3,minmax(150px,1fr)) auto;gap:8px;align-items:center}
.pos-stockout-alert>div:first-child{display:flex;flex-direction:column;gap:2px}
.pos-stockout-alert .stockout-row{margin:0;padding:7px 8px;grid-template-columns:1fr;background:rgba(255,255,255,.8)}
.pos-stockout-alert .stockout-result{align-items:flex-start;text-align:left}
.pos-stockout-alert .stockout-row small:nth-of-type(n+2){display:none}
@media(max-width:900px){
  .stockout-result{align-items:flex-start;text-align:left}
  .pos-stockout-alert{grid-template-columns:1fr;margin:8px}
}
@media(max-width:560px){
}

/* v234: automatic daily report + profit ranking controls */
.daily-report-card{border:1px solid rgba(47,128,237,.22);background:linear-gradient(180deg,rgba(47,128,237,.055),rgba(255,255,255,.98))}
.daily-report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.daily-report-head h3{margin:2px 0 4px}
.daily-report-label{display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.04em;color:#2f80ed}
.daily-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}
.daily-report-grid>div{padding:10px 12px;border:1px solid rgba(127,127,127,.16);border-radius:12px;background:rgba(255,255,255,.82)}
.daily-report-grid span,.daily-report-grid b{display:block}
.daily-report-grid span{font-size:.78rem;opacity:.7}
.daily-report-grid b{font-size:1.08rem;margin-top:3px}
.daily-report-highlight{display:grid;grid-template-columns:minmax(110px,.7fr) minmax(120px,1fr) auto;align-items:center;gap:10px;padding:10px 12px;margin-top:8px;border-radius:12px;background:rgba(127,127,127,.065)}
.daily-report-highlight span{font-size:.78rem;opacity:.7}
.daily-report-highlight strong{text-align:right}
.daily-report-notes{margin-top:14px;padding-top:12px;border-top:1px dashed rgba(127,127,127,.28)}
.daily-report-note{margin-top:7px;padding:8px 10px;border-radius:10px;background:rgba(39,174,96,.07);font-size:.9rem;line-height:1.45}
.business-ranking-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.business-ranking-head h3{margin-top:0;margin-bottom:3px}
.business-sort-buttons{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.business-sort-buttons .btn{padding:7px 10px;min-height:36px;font-size:.82rem}
@media(max-width:640px){
  .daily-report-head{display:block}.daily-report-head .btn{width:100%;margin-top:10px}
  .daily-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .daily-report-highlight{grid-template-columns:1fr}.daily-report-highlight strong{text-align:left}
  .business-ranking-head{display:block}.business-sort-buttons{justify-content:flex-start;margin-top:8px}
}

/* v235: event checklist / venue database / shift templates */
.event-checklist-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}
.event-checklist-head h3{margin:0 0 3px}.event-checklist-head>b{font-size:1.05rem;white-space:nowrap}
.event-checklist-items{border:1px solid #e6e9ec;border-radius:12px;overflow:hidden;margin:10px 0}
.event-checklist-item{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:10px 12px;border-top:1px solid #edf0f2;background:#fff}
.event-checklist-item:first-child{border-top:0}.event-checklist-item.checked{background:#f4f8f4}.event-checklist-item.checked span{text-decoration:line-through;opacity:.68}
.event-checklist-item label{display:flex;gap:10px;align-items:center;cursor:pointer;min-width:0}.event-checklist-item input{width:20px;height:20px;flex:0 0 auto}.event-checklist-item span{font-weight:700;overflow-wrap:anywhere}
.event-checklist-remove{border:0;background:transparent;font-size:20px;line-height:1;padding:5px 8px;opacity:.5;cursor:pointer}.event-checklist-remove:hover{opacity:1}
.venue-db-card{border-left:5px solid #111}.venue-db-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.venue-db-head h3{margin:0 0 4px}.venue-db-head>span{font-size:.8rem;opacity:.65;white-space:nowrap}
.venue-db-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:12px 0}.venue-db-kpis span{background:#f3f5f7;border-radius:9px;padding:9px;font-size:.78rem}.venue-db-kpis b{display:block;font-size:.95rem;margin-top:3px}
.venue-history-row{display:grid;grid-template-columns:1fr auto;gap:5px 10px}.venue-history-row small{grid-column:1/3;color:#66717a}
@media(max-width:640px){.venue-db-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.venue-db-head{display:block}.venue-db-head>span{display:block;margin-top:4px}.venue-history-row{grid-template-columns:1fr}.venue-history-row small{grid-column:auto}}

/* v235: event checklist / venue database / shift templates */
.event-checklist-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}
.event-checklist-head h3{margin:0 0 3px}.event-checklist-head>b{font-size:1.05rem;white-space:nowrap}
.event-checklist-items{border:1px solid #e6e9ec;border-radius:12px;overflow:hidden;margin:10px 0}
.event-checklist-item{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:10px 12px;border-top:1px solid #edf0f2;background:#fff}
.event-checklist-item:first-child{border-top:0}.event-checklist-item.checked{background:#f4f8f4}.event-checklist-item.checked span{text-decoration:line-through;opacity:.68}
.event-checklist-item label{display:flex;gap:10px;align-items:center;cursor:pointer;min-width:0}.event-checklist-item input{width:20px;height:20px;flex:0 0 auto}.event-checklist-item span{font-weight:700;overflow-wrap:anywhere}
.event-checklist-remove{border:0;background:transparent;font-size:20px;line-height:1;padding:5px 8px;opacity:.5;cursor:pointer}.event-checklist-remove:hover{opacity:1}
.venue-db-card{border-left:5px solid #111}.venue-db-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.venue-db-head h3{margin:0 0 4px}.venue-db-head>span{font-size:.8rem;opacity:.65;white-space:nowrap}
.venue-db-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:12px 0}.venue-db-kpis span{background:#f3f5f7;border-radius:9px;padding:9px;font-size:.78rem}.venue-db-kpis b{display:block;font-size:.95rem;margin-top:3px}
.venue-history-row{display:grid;grid-template-columns:1fr auto;gap:5px 10px}.venue-history-row small{grid-column:1/3;color:#66717a}
@media(max-width:640px){.venue-db-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.venue-db-head{display:block}.venue-db-head>span{display:block;margin-top:4px}.venue-history-row{grid-template-columns:1fr}.venue-history-row small{grid-column:auto}}
.event-checklist-disabled{border-style:dashed}
.event-checklist-off-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;background:#eef1f4;color:#68727d;font-size:12px;font-weight:800;white-space:nowrap}

/* v236: live sales landing / realtime profit / previous-event comparison */
.live-business-kpis span{display:block;font-size:11px;color:#65758b;font-weight:700}
.live-business-detail{border:1px solid #cfe0f1;background:linear-gradient(180deg,#fbfdff,#f5f9fd)}
.live-business-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.live-business-head span{font-size:12px;color:#61748a;font-weight:700}.live-business-head h3{margin:3px 0 0}
.live-business-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.live-business-kpis>div{padding:12px;border-radius:12px;background:#fff;border:1px solid #e2eaf2;min-width:0}
.live-business-kpis b{display:block;margin-top:4px;font-size:20px}.live-business-kpis small{display:block;margin-top:4px;color:#6e7d8d;line-height:1.4}
.live-business-compare{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:10px;padding:10px 12px;border-radius:10px;background:#eef5fb}.live-business-compare span{text-align:right}
@media(max-width:800px){.live-business-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.live-business-compare{display:block}.live-business-compare span{display:block;text-align:left;margin-top:4px}}
@media(max-width:560px){.live-business-kpis{grid-template-columns:1fr 1fr}.live-business-head{align-items:center}}


/* v244 role-oriented POS + staff performance */

/* v244 mobile monthly sales history */
.historical-month-nav-v244{position:sticky;top:8px;z-index:4}.historical-month-summary-v244{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;margin-top:10px}.historical-month-summary-v244>div{padding:10px;border-radius:12px;background:#f6f8fa;display:flex;flex-direction:column;gap:3px}.historical-month-summary-v244 span{font-size:11px;opacity:.68}.historical-month-summary-v244 b{font-size:18px}.historical-sales-actions{display:flex;flex-wrap:wrap;gap:6px}
@media(max-width:700px){.historical-month-page-v244{padding-left:8px;padding-right:8px}.historical-month-nav-v244{top:4px}.historical-month-summary-v244{grid-template-columns:1fr 1fr}.historical-month-summary-v244>div:first-child{grid-column:1/-1}.historical-sales-card{padding:12px}.historical-sales-actions{display:grid;grid-template-columns:1fr 1fr}.historical-sales-actions .btn{width:100%;min-height:44px}.historical-sales-card .money{font-size:28px}}

/* v244 material preparation planner */
.material-prep-home-btn{font-weight:800}.material-prep-page-v244{max-width:860px}.material-prep-summary-v244{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.material-prep-summary-v244 span{display:flex;flex-direction:column;gap:3px;padding:10px;border-radius:12px;background:#f6f8fa;font-size:11px;opacity:.8}.material-prep-summary-v244 b{font-size:18px;opacity:1}.material-prep-list-v244{display:grid;gap:8px}.material-prep-row-v244{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #e2e7ec;border-radius:12px}.material-prep-row-v244>div{display:flex;flex-direction:column;gap:3px}.material-prep-row-v244 small{font-size:11px;opacity:.65}.material-prep-row-v244 strong{font-size:20px;white-space:nowrap}.material-prep-empty{text-align:center;padding:20px 8px;opacity:.65}
@media(max-width:700px){.material-prep-page-v244{padding-left:8px;padding-right:8px}.material-prep-summary-v244{grid-template-columns:1fr}.material-prep-row-v244{align-items:flex-start}.material-prep-row-v244 strong{font-size:18px}}
\n/* v245 material preparation category + multi-product selection */
.material-prep-category-grid-v245{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 14px}.material-prep-category-grid-v245 label{cursor:pointer}.material-prep-category-grid-v245 input{position:absolute;opacity:0;pointer-events:none}.material-prep-category-grid-v245 span{display:block;padding:9px 13px;border:1px solid #d6dde4;border-radius:999px;background:#fff;font-weight:800}.material-prep-category-grid-v245 input:checked+span{border-color:#1967d2;background:#eaf2ff}.material-prep-products-v245{display:grid;gap:12px;margin:10px 0}.material-prep-category-block-v245{border:1px solid #e0e5ea;border-radius:14px;padding:10px}.material-prep-category-block-v245 h4{margin:0 0 8px}.material-prep-product-row-v245{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(120px,.8fr) minmax(120px,.8fr);gap:8px;align-items:end;padding:10px 0;border-top:1px solid #eef1f4}.material-prep-product-row-v245:first-of-type{border-top:0}.material-prep-product-main-v245{display:flex;gap:8px;align-items:center;min-height:44px}.material-prep-product-main-v245 input{width:20px;height:20px}.material-prep-product-row-v245 small{display:block;margin-bottom:3px;opacity:.65}.material-prep-allocation-v245{padding:10px 12px;border-radius:12px;margin:8px 0 12px;background:#f6f8fa}.material-prep-allocation-v245.is-ok{background:#eaf7ee}.material-prep-allocation-v245.is-warn{background:#fff5e5}.material-prep-plan-list-v245{display:grid;gap:7px;margin:10px 0 14px}.material-prep-plan-list-v245>div{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid #e7ebef;border-radius:10px}.material-prep-plan-list-v245 span{text-align:right}.material-prep-plan-list-v245 strong{font-size:17px}\n@media(max-width:700px){.material-prep-product-row-v245{grid-template-columns:1fr 1fr}.material-prep-product-main-v245{grid-column:1/-1}.material-prep-plan-list-v245>div{flex-direction:column}.material-prep-plan-list-v245 span{text-align:left}}\n
/* v246 material prep automatic allocation */
.material-prep-auto-btn-v246{margin:-4px 0 14px;width:100%}
.material-prep-target-share-v245[data-auto='1']{background:#f7fbff}

@media(max-width:720px){.stockout-row{grid-template-columns:1fr}}

/* v251: hourly sales readability and sales-screen expense entry */
.hourly-sales-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:6px 0}
.hourly-sales-time{display:inline-block;min-width:108px;padding-right:12px}
.hourly-sales-amount{display:inline-block;margin-left:auto;text-align:right;white-space:nowrap}
.sales-expense-section{margin-top:12px}
.sales-expense-section .expense-entry-card,.sales-expense-section .live-expense-summary{margin-bottom:12px}
@media(max-width:560px){
  .hourly-sales-row{gap:18px}
  .hourly-sales-time{min-width:96px;padding-right:10px}
}

/* v254 contract terms / guarantee / booth fee / cash-flow schedule */
.financial-contract-editor h4,.financial-contract-detail h4{margin:14px 0 8px}
.financial-subsection{margin:10px 0 16px;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#fafafa}
.financial-toggle{display:flex;align-items:center;gap:9px;font-weight:700;margin:12px 0}
.financial-toggle input{width:20px;height:20px}
.financial-contract-detail summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between}
.financial-contract-detail summary::-webkit-details-marker{display:none}
.financial-contract-detail summary:after{content:"詳細";font-size:12px;opacity:.55;font-weight:600}
.financial-declared-editor{margin:12px 0;padding:12px;border-radius:12px;background:#fff7e6;border:1px solid #f5d79b}
.financial-inline-edit{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:6px}
.financial-cashflow-list{margin-top:14px;border-top:1px solid #e5e7eb;padding-top:10px}
.financial-cashflow-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #eef0f2}
.financial-cashflow-row div{display:flex;flex-direction:column;min-width:0}
.financial-cashflow-row small{opacity:.65;margin-top:3px}
.financial-calendar-badges{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}
.financial-calendar-badge{font-size:10px;line-height:1.35;padding:2px 5px;border-radius:999px;white-space:nowrap;font-weight:700}
.financial-calendar-badge.incoming{background:#e8f7ee;color:#176b3a}
.financial-calendar-badge.outgoing{background:#fff0ed;color:#a93824}
.financial-calendar-badge.done{opacity:.55;text-decoration:line-through}
.financial-day-card .metric-row small{opacity:.6}
.contract-income-metric{background:#eefaf2}
.contract-fee-metric{background:#fff4f1}
.receivable-metric{background:#eef7ff}
.payable-metric{background:#fff7e8}
@media(max-width:680px){
  .financial-inline-edit{grid-template-columns:1fr}
  .financial-cashflow-row{grid-template-columns:1fr auto}
  .financial-cashflow-row .btn{grid-column:1/-1;width:100%}
  .financial-contract-editor .two{grid-template-columns:1fr}
  .financial-calendar-badge{font-size:9px}
}


/* v255: live drawer balance clarity */
.live-drawer-balance-v255{margin-top:12px;padding:14px 16px;border-radius:14px;background:#fff;border:2px solid #b9d5ec;box-shadow:0 1px 0 rgba(20,70,110,.04)}
.live-drawer-balance-main-v255{display:grid;grid-template-columns:1fr auto;gap:2px 14px;align-items:center}
.live-drawer-balance-main-v255 span{font-size:12px;font-weight:800;color:#536b7d}
.live-drawer-balance-main-v255 b{grid-row:1/3;grid-column:2;font-size:28px;line-height:1.1;white-space:nowrap}
.live-drawer-balance-main-v255 small{font-size:11px;color:#72808c}
.live-drawer-breakdown-v255{margin-top:10px;padding-top:9px;border-top:1px solid #e4edf4;font-size:12px;line-height:1.55;color:#526575;font-weight:650}
@media(max-width:560px){.live-drawer-balance-v255{padding:13px}.live-drawer-balance-main-v255{grid-template-columns:1fr}.live-drawer-balance-main-v255 b{grid-row:auto;grid-column:auto;font-size:30px;margin:3px 0}.live-drawer-breakdown-v255{font-size:11px}}

/* v256: settled-day take-home summary */
.day-takehome-metric-v256 b{font-size:1.32em}
.historical-financial-kpis-v256{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}
.historical-financial-kpis-v256 span{display:flex;flex-direction:column;gap:3px;padding:9px 10px;border-radius:10px;background:rgba(127,127,127,.08)}
.historical-financial-kpis-v256 b{font-size:1.05em}
.shift-financial-summary-v256>.small-muted{display:block;margin-top:10px;line-height:1.55}
@media (max-width:480px){.historical-financial-kpis-v256{grid-template-columns:1fr 1fr}.day-takehome-metric-v256 small{font-size:11px;line-height:1.35}}

/* v257: owner admin-preview + historical booth-fee editing */
.owner-preview-entry-v257{margin-top:12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.owner-preview-entry-v257 small{opacity:.72;flex:1 1 220px}
.owner-admin-preview-banner-v257{border:2px solid #7c3aed;background:#f7f2ff}
.owner-admin-preview-banner-v257 p{margin:8px 0 12px}
.historical-financial-edit-v257 .financial-contract-card{margin-top:12px}
@media(max-width:640px){.owner-preview-entry-v257 .btn{width:100%}.owner-admin-preview-banner-v257 .btn{width:100%}}

/* v260 contract presets */
.financial-preset-v260{margin:12px 0 16px;padding:14px;border:1px solid #dbe4ee;border-radius:14px;background:#f7fafc}
.financial-preset-v260 label{display:block;font-weight:800;margin-bottom:6px}
.financial-preset-v260 small{display:block;margin-top:7px;color:#64748b;line-height:1.5}

/* v264 startup loading + lightweight home background sync */
.startup-loading-v264{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(180deg,#f7f9fc 0%,#eef3f8 100%)}
.startup-loading-card-v264{width:min(440px,100%);background:var(--card,#fff);border-radius:22px;padding:28px 24px;text-align:center;box-shadow:0 18px 55px rgba(20,35,55,.14)}
.startup-logo-v264{font-weight:900;font-size:14px;letter-spacing:.08em;opacity:.65;margin-bottom:18px}
.startup-spinner-v264,.mini-spinner-v264{display:inline-block;border:3px solid rgba(40,90,150,.16);border-top-color:currentColor;border-radius:50%;animation:startup-spin-v264 .8s linear infinite}
.startup-spinner-v264{width:38px;height:38px;margin-bottom:12px}
.mini-spinner-v264{width:22px;height:22px;flex:0 0 22px}
@keyframes startup-spin-v264{to{transform:rotate(360deg)}}
.startup-loading-card-v264 h2{margin:4px 0 8px;font-size:20px}
.startup-loading-card-v264 p{margin:0 0 16px;min-height:1.5em}
.startup-loading-card-v264 small{display:block;margin-top:10px;opacity:.68;line-height:1.5}
.startup-progress-v264{height:7px;background:rgba(40,90,150,.1);border-radius:999px;overflow:hidden}
.startup-progress-v264 span{display:block;height:100%;border-radius:999px;background:currentColor;transition:width .35s ease;position:relative;overflow:hidden}
.startup-progress-v264 span:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:startup-shimmer-v264 1.35s infinite}
@keyframes startup-shimmer-v264{to{transform:translateX(100%)}}
.home-background-loading-v264{display:flex;align-items:center;gap:12px;border-style:dashed}
.home-background-loading-v264 small{line-height:1.45}
.manager-link-card-v264.ok{border-left:4px solid #36a269}
.manager-link-card-v264.warn{border-left:4px solid #d99822}

/* v265 deferred historical sales loading */
.historical-loading-v265{display:flex;align-items:center;gap:12px;min-height:72px}
.historical-loading-v265 small{line-height:1.45}

/* v267 shift calendar / home register layout */
.shift-cal-cell.today{
  border:2px solid #1f6fe5!important;
  background:#eaf3ff!important;
  box-shadow:0 0 0 2px rgba(31,111,229,.12),0 4px 14px rgba(31,111,229,.12);
}
.shift-cal-cell.today .shift-daynum{color:#155ec4;font-weight:950}
.shift-today-label-v267{display:inline-flex;margin-left:5px;padding:1px 5px;border-radius:999px;background:#1f6fe5;color:#fff;font-size:.58rem;line-height:1.5;vertical-align:middle}
.shift-mobile-view-toggle-v267{display:none;gap:7px;margin:8px 0 10px}

.admin-event-card{display:grid!important;grid-template-columns:minmax(220px,.8fr) minmax(0,2.2fr);align-items:center;gap:16px}
.admin-event-actions{display:grid!important;grid-template-columns:repeat(5,minmax(112px,1fr));gap:8px;width:100%;align-items:stretch}
.admin-event-actions .btn{width:100%;min-height:52px;margin:0;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.25}

@media(max-width:1050px){
  .admin-event-card{grid-template-columns:minmax(190px,.75fr) minmax(0,2fr)}
  .admin-event-actions{grid-template-columns:repeat(3,minmax(110px,1fr))}
}
@media(max-width:699px){
  .admin-event-card{display:flex!important;flex-direction:column;align-items:stretch!important;gap:10px}
  .admin-event-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-event-actions .btn{min-height:48px;padding:10px 8px;font-size:.92rem}
  .shift-mobile-view-toggle-v267{display:grid;grid-template-columns:1fr 1fr}
  .shift-calendar-page-v267.mobile-list-mode-v267 .calendar-weekdays,
  .shift-calendar-page-v267.mobile-list-mode-v267 .shift-cal-grid{display:none!important}
  .shift-calendar-page-v267.mobile-list-mode-v267 .shift-mobile-list{display:flex!important}
  .shift-calendar-page-v267.mobile-calendar-mode-v267 .shift-mobile-list{display:none!important}
  .shift-calendar-page-v267.mobile-calendar-mode-v267 .calendar-weekdays{display:grid!important}
  .shift-calendar-page-v267.mobile-calendar-mode-v267 .shift-cal-grid{display:grid!important}
  .shift-calendar-page-v267.mobile-calendar-mode-v267 .shift-cal-cell{min-height:72px;padding:3px;border-radius:7px}
  .shift-calendar-page-v267.mobile-calendar-mode-v267 .shift-mini{display:none}
  .shift-calendar-page-v267.mobile-calendar-mode-v267 .shift-more{display:none}
  .shift-calendar-page-v267.mobile-calendar-mode-v267 .shift-daynum{font-size:.78rem;margin-bottom:2px}
  .shift-calendar-page-v267.mobile-calendar-mode-v267 .financial-calendar-badge{font-size:.52rem}
}
.shift-mobile-cal-count-v267{display:none}
@media(max-width:699px){
  .shift-calendar-page-v267.mobile-calendar-mode-v267 .shift-mobile-cal-count-v267{display:block;font-size:.56rem;font-weight:900;color:#1769e0;margin-top:2px}
  .shift-calendar-page-v267.mobile-calendar-mode-v267 .shift-cal-cell.has-events{background:rgba(31,111,229,.055)}
}

/* v279 PITAREJI branding */
.pitareji-brand-v279{display:inline-flex;align-items:center;gap:10px;color:#0b2545;vertical-align:middle}.pitareji-brand-v279.compact{gap:8px}.pitareji-mark-v279{width:58px;height:40px;display:block;flex:0 0 auto}.pitareji-brand-v279.compact .pitareji-mark-v279{width:38px;height:27px}.pitareji-word-v279{display:flex;flex-direction:column;line-height:1}.pitareji-word-v279 strong{font-size:20px;letter-spacing:.16em;font-weight:900;color:#0b2545}.pitareji-word-v279 span{font-size:11px;font-weight:800;letter-spacing:.18em;margin-top:5px;color:#475569}.pitareji-brand-v279.compact .pitareji-word-v279 strong{font-size:15px}.pitareji-brand-v279.compact .pitareji-word-v279 span{font-size:9px;margin-top:3px}.auth-brand .pitareji-brand-v279{margin-bottom:4px}.startup-logo-v264{display:flex;justify-content:center;opacity:1!important;letter-spacing:normal!important}.startup-loading-card-v264 .pitareji-brand-v279{justify-content:center}.top h1{letter-spacing:.02em}


/* v302 shift product category grouping */
.shift-product-categories-v302{display:grid;gap:14px;margin-top:10px}
.shift-product-category-v302{border:1px solid rgba(127,127,127,.18);border-radius:12px;padding:10px;background:rgba(127,127,127,.035)}
.shift-product-category-head-v302{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;padding:0 2px}
.shift-product-category-head-v302 b{font-size:1rem}
.shift-product-category-head-v302 small{opacity:.68}
.shift-product-category-grid-v302{margin:0}
@media(max-width:699px){.shift-product-category-v302{padding:8px}.shift-product-categories-v302{gap:10px}}


/* ===== v307 PITAREJI branded application shell + home dashboard ===== */
:root{
  --pit-v307-blue:#1769ff;
  --pit-v307-blue-dark:#0d48b5;
  --pit-v307-navy:#102a43;
  --pit-v307-bg:#f5f7fa;
  --pit-v307-card:#ffffff;
  --pit-v307-line:#e2e8f0;
  --pit-v307-muted:#64748b;
  --pit-v307-green:#168447;
  --pit-v307-orange:#d97706;
  --pit-v307-red:#c83b3b;
  --pit-v307-shadow:0 10px 26px rgba(15,42,67,.07);
}
body{background:var(--pit-v307-bg)}
.pitareji-shell-v307{position:sticky;top:0;z-index:120;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--pit-v307-line);box-shadow:0 3px 12px rgba(15,42,67,.05)}
.pitareji-brandbar-v307{min-height:56px;display:flex;align-items:center;gap:10px;padding:8px 16px;max-width:1440px;margin:0 auto}
.pitareji-brand-button-v307{border:0;background:transparent;padding:0;cursor:pointer;display:flex;align-items:center}
.pitareji-brand-button-v307 .pitareji-word-v279 span{display:none}
.pitareji-brand-button-v307 .pitareji-mark-v279{width:34px;height:24px}
.pitareji-brand-button-v307 .pitareji-word-v279 strong{font-size:14px;letter-spacing:.12em}
.pitareji-org-switch-v307{border:1px solid #d8e2ee;background:#f8fbff;color:var(--pit-v307-navy);border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pitareji-org-switch-v307.static{display:inline-flex;align-items:center}
.pitareji-shell-spacer-v307{flex:1}
.pitareji-compact-sync-v307{border:1px solid var(--pit-v307-line);background:#fff;border-radius:999px;min-height:34px;padding:6px 10px;display:flex;gap:7px;align-items:center;font-size:12px;font-weight:800;color:#475569}
.pitareji-sync-dot-v307{width:8px;height:8px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 3px rgba(148,163,184,.12)}
.pitareji-compact-sync-v307.online .pitareji-sync-dot-v307{background:var(--pit-v307-green);box-shadow:0 0 0 3px rgba(22,132,71,.12)}
.pitareji-compact-sync-v307.pending .pitareji-sync-dot-v307{background:var(--pit-v307-orange);box-shadow:0 0 0 3px rgba(217,119,6,.12)}
.pitareji-compact-sync-v307.offline .pitareji-sync-dot-v307{background:var(--pit-v307-red);box-shadow:0 0 0 3px rgba(200,59,59,.12)}
.pitareji-pagebar-v307{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 16px 10px;max-width:1440px;margin:0 auto;border-top:1px solid #f1f5f9}
.pitareji-page-title-v307{min-width:0}.pitareji-page-title-v307 h1{font-size:18px;line-height:1.2;margin:0;color:var(--pit-v307-navy);letter-spacing:-.02em}.pitareji-page-title-v307 small{display:block;color:var(--pit-v307-muted);font-size:10px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pitareji-icon-btn-v307{border:1px solid var(--pit-v307-line);background:#fff;color:var(--pit-v307-navy);border-radius:10px;min-height:38px;padding:7px 11px;font-weight:800}.pitareji-icon-btn-v307.home{font-size:12px}
.pitareji-sync-detail-v307{max-width:1440px;margin:0 auto;padding:0 16px 8px}.pitareji-sync-detail-v307>div{margin-top:0!important;gap:5px!important}.pitareji-sync-detail-v307 .status-badge{font-size:10px;padding:4px 6px}.pitareji-sync-detail-v307 [data-pos-network-badge],.pitareji-sync-detail-v307 [data-pos-pending-badge],.pitareji-sync-detail-v307 [data-pos-version],.pitareji-sync-detail-v307 [data-pos-last-sync]{display:none!important}

.pitareji-home-shell-v307{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:1fr;min-height:calc(100dvh - 112px)}
.pitareji-home-main-v307{min-width:0;padding:20px 18px 98px}
.pitareji-home-hero-v307{position:relative;overflow:hidden;border-radius:20px;padding:22px 24px;margin-bottom:16px;background:linear-gradient(120deg,#0f5bd8,#1769ff 62%,#38bdf8);color:#fff;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;box-shadow:0 12px 28px rgba(23,105,255,.18)}
.pitareji-home-hero-v307:after{content:"";position:absolute;width:260px;height:140px;right:-45px;top:-38px;opacity:.17;background:repeating-linear-gradient(165deg,transparent 0 12px,#fff 13px 18px,transparent 19px 31px);transform:skewX(-12deg)}
.pitareji-home-hero-v307>*{position:relative;z-index:1}.pitareji-home-hero-v307 h2{font-size:24px;margin:3px 0 5px;letter-spacing:-.03em}.pitareji-home-hero-v307 p{margin:0;opacity:.86;font-size:13px}.eyebrow-v307{font-size:10px;font-weight:900;letter-spacing:.14em;opacity:.72}.pitareji-home-hero-v307 .eyebrow-v307{opacity:.78}.pitareji-hero-org-v307{text-align:right;min-width:160px}.pitareji-hero-org-v307 small{display:block;font-size:10px;opacity:.72}.pitareji-hero-org-v307 b{font-size:16px}
.pitareji-background-sync-v307{display:flex;align-items:center;gap:10px;background:#eef6ff;border:1px solid #cfe2ff;border-radius:13px;padding:10px 12px;margin-bottom:14px;color:#174f9f}.pitareji-background-sync-v307 b,.pitareji-background-sync-v307 small{display:block}.pitareji-background-sync-v307 small{margin-top:2px;font-size:11px;opacity:.76}
.pitareji-kpi-grid-v307{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.pitareji-kpi-v307{position:relative;overflow:hidden;background:#fff;border:1px solid var(--pit-v307-line);border-radius:16px;padding:15px 16px;box-shadow:var(--pit-v307-shadow)}.pitareji-kpi-v307:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#94a3b8}.pitareji-kpi-v307.blue:before{background:var(--pit-v307-blue)}.pitareji-kpi-v307.green:before{background:var(--pit-v307-green)}.pitareji-kpi-v307.orange:before{background:var(--pit-v307-orange)}.pitareji-kpi-v307 span{display:block;color:var(--pit-v307-muted);font-size:11px;font-weight:800;margin-bottom:6px}.pitareji-kpi-v307 strong{display:block;color:var(--pit-v307-navy);font-size:22px;letter-spacing:-.03em}
.pitareji-session-banner-v307{display:flex;gap:12px;align-items:center;border-radius:13px;padding:11px 13px;margin-bottom:14px;background:#eef5ff;border:1px solid #bdd4ff;color:#174f9f}.pitareji-session-banner-v307.privacy{background:#f8fafc;border-color:#dbe3ec;color:#334155}.pitareji-session-banner-v307 b{white-space:nowrap}.pitareji-session-banner-v307 span{font-size:12px}
.pitareji-home-grid-v307{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.85fr);gap:16px;align-items:start}.pitareji-home-side-v307{display:grid;gap:16px}.pitareji-panel-v307{background:#fff;border:1px solid var(--pit-v307-line);border-radius:18px;padding:18px;margin:0 0 16px;box-shadow:var(--pit-v307-shadow)}.pitareji-home-side-v307 .pitareji-panel-v307{margin:0}.pitareji-section-head-v307{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.pitareji-section-head-v307 h2{font-size:17px;margin:2px 0 0;color:var(--pit-v307-navy);letter-spacing:-.025em}.pitareji-count-v307{font-size:11px;font-weight:900;color:var(--pit-v307-blue);background:#edf4ff;border-radius:999px;padding:6px 9px}.pitareji-text-btn-v307{border:0;background:transparent;color:var(--pit-v307-blue);font-weight:800;font-size:11px;padding:6px}
.pitareji-event-list-v307{display:grid;gap:11px}.pitareji-event-card-v307{border:1px solid #dce6f1;border-radius:15px;padding:15px;background:linear-gradient(180deg,#fff,#fbfdff)}.pitareji-event-card-v307.warning{border-color:#f0c88a;background:#fffaf1}.pitareji-event-card-head-v307{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}.pitareji-event-card-head-v307 h3{margin:7px 0 0;font-size:17px;color:var(--pit-v307-navy)}.pitareji-chip-row-v307{display:flex;gap:5px;flex-wrap:wrap}.pitareji-chip-v307{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900;line-height:1.2;background:#f1f5f9;color:#475569}.pitareji-chip-v307.success{background:#eaf8ef;color:#14733d}.pitareji-chip-v307.warning{background:#fff3df;color:#a75a00}.pitareji-chip-v307.info{background:#eaf3ff;color:#1559ae}.pitareji-event-sales-v307{text-align:right}.pitareji-event-sales-v307 span{display:block;font-size:10px;color:var(--pit-v307-muted)}.pitareji-event-sales-v307 strong{display:block;font-size:21px;color:var(--pit-v307-navy);margin-top:2px}.pitareji-event-meta-v307{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;margin-top:13px;padding:10px 0;border-top:1px solid #edf2f7;border-bottom:1px solid #edf2f7;font-size:12px}.pitareji-event-meta-v307 span{color:var(--pit-v307-muted)}.pitareji-event-meta-v307 b{min-width:0;overflow:hidden;text-overflow:ellipsis}.pitareji-event-warning-v307{font-size:11px;color:#a75a00;margin:10px 0 0}.pitareji-event-actions-v307{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.pitareji-event-actions-v307 .btn{min-height:38px;padding:8px 11px;font-size:12px}
.pitareji-empty-v307{text-align:center;border:1px dashed #cbd5e1;border-radius:15px;padding:28px 16px;color:var(--pit-v307-muted)}.pitareji-empty-v307 b,.pitareji-empty-v307 span{display:block}.pitareji-empty-v307 span{font-size:12px;margin:5px 0 13px}.pitareji-empty-line-v307{color:var(--pit-v307-muted);font-size:12px;padding:8px 0}
.pitareji-shift-row-v307{width:100%;border:0;border-top:1px solid #edf2f7;background:transparent;padding:11px 2px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left}.pitareji-shift-row-v307:first-of-type{border-top:0}.pitareji-shift-date-v307{font-size:10px;font-weight:900;color:var(--pit-v307-blue);background:#eef5ff;border-radius:8px;padding:6px}.pitareji-shift-main-v307{min-width:0}.pitareji-shift-main-v307 b,.pitareji-shift-main-v307 small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pitareji-shift-main-v307 b{font-size:12px;color:var(--pit-v307-navy)}.pitareji-shift-main-v307 small{font-size:10px;color:var(--pit-v307-muted);margin-top:3px}
.pitareji-issue-row-v307{width:100%;border:0;border-top:1px solid #edf2f7;background:transparent;padding:11px 2px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left}.pitareji-issue-row-v307:first-of-type{border-top:0}.pitareji-issue-icon-v307{width:25px;height:25px;border-radius:8px;background:#fff3df;color:#a75a00;display:grid;place-items:center;font-weight:900}.pitareji-issue-row-v307 b,.pitareji-issue-row-v307 small{display:block}.pitareji-issue-row-v307 b{font-size:11px;color:var(--pit-v307-navy)}.pitareji-issue-row-v307 small{font-size:10px;color:var(--pit-v307-muted);margin-top:2px}.pitareji-chevron-v307{color:#94a3b8;font-size:20px}.pitareji-all-good-v307{display:flex;gap:10px;align-items:center;background:#f0faf4;border-radius:12px;padding:12px;color:#166b3b}.pitareji-all-good-v307>span{width:28px;height:28px;display:grid;place-items:center;background:#daf3e3;border-radius:50%;font-weight:900}.pitareji-all-good-v307 b,.pitareji-all-good-v307 small{display:block}.pitareji-all-good-v307 b{font-size:11px}.pitareji-all-good-v307 small{font-size:10px;opacity:.72;margin-top:2px}
.pitareji-quick-grid-v307{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pitareji-quick-v307{position:relative;border:1px solid #dce6f1;background:#fff;border-radius:14px;padding:14px 34px 14px 14px;text-align:left;min-height:74px;transition:.12s ease}.pitareji-quick-v307:active{transform:scale(.985);background:#f8fbff}.pitareji-quick-v307 b,.pitareji-quick-v307 small{display:block}.pitareji-quick-v307 b{font-size:13px;color:var(--pit-v307-navy)}.pitareji-quick-v307 small{font-size:10px;color:var(--pit-v307-muted);margin-top:4px}.pitareji-quick-v307>span{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:20px;color:#94a3b8}.pitareji-recent-expense-v307{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-top:1px solid #edf2f7}.pitareji-recent-expense-v307:first-of-type{border-top:0}.pitareji-recent-expense-v307 b,.pitareji-recent-expense-v307 small{display:block}.pitareji-recent-expense-v307 small{font-size:10px;color:var(--pit-v307-muted);margin-top:3px}
.pitareji-bottom-nav-v307{position:fixed;z-index:110;left:0;right:0;bottom:var(--connection-status-height,0px);background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-top:1px solid #dce4ee;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:6px 8px max(6px,env(safe-area-inset-bottom));box-shadow:0 -4px 18px rgba(15,42,67,.08)}.pitareji-bottom-nav-v307 button{border:0;background:transparent;color:#6b7b8c;min-height:51px;border-radius:11px;font-size:10px;font-weight:800;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.pitareji-bottom-nav-v307 button.active{color:var(--pit-v307-blue);background:#eef5ff}.pitareji-bottom-nav-v307 button.register{color:var(--pit-v307-blue)}.nav-icon-v307{font-size:19px;line-height:1;font-weight:900}
.pitareji-sidebar-v307{display:none}

@media(max-width:720px){
  .pitareji-brandbar-v307{min-height:50px;padding:7px 10px}.pitareji-brand-button-v307 .pitareji-word-v279{display:none}.pitareji-org-switch-v307{max-width:42vw;padding:6px 9px}.pitareji-compact-sync-v307{padding:6px 8px}.pitareji-compact-sync-v307 span:last-child{font-size:10px}.pitareji-pagebar-v307{padding:6px 10px 8px}.pitareji-page-title-v307 h1{font-size:16px}.pitareji-page-title-v307 small{display:none}.pitareji-sync-detail-v307{padding:0 10px 6px;overflow-x:auto}.pitareji-sync-detail-v307>div{flex-wrap:nowrap!important;width:max-content}.pitareji-home-main-v307{padding:14px 10px 92px}.pitareji-home-hero-v307{padding:18px 16px;border-radius:17px;align-items:flex-start}.pitareji-home-hero-v307 h2{font-size:21px}.pitareji-home-hero-v307 p{font-size:11px;max-width:240px}.pitareji-hero-org-v307{display:none}.pitareji-kpi-grid-v307{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pitareji-kpi-v307{padding:12px 13px;border-radius:14px}.pitareji-kpi-v307 strong{font-size:19px}.pitareji-home-grid-v307{grid-template-columns:1fr;gap:14px}.pitareji-panel-v307{padding:14px;border-radius:16px;margin-bottom:14px}.pitareji-home-side-v307{gap:14px}.pitareji-quick-grid-v307{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pitareji-quick-v307{padding:12px 28px 12px 12px;min-height:67px}.pitareji-event-card-head-v307{align-items:flex-start}.pitareji-event-sales-v307 strong{font-size:18px}.pitareji-session-banner-v307{align-items:flex-start;flex-direction:column;gap:3px}.pitareji-recent-expense-v307{align-items:flex-start;flex-direction:column}.pitareji-recent-expense-v307 .btn{width:100%}
}
@media(min-width:900px){
  .pitareji-home-shell-v307{grid-template-columns:230px minmax(0,1fr);gap:0}.pitareji-sidebar-v307{display:flex;position:sticky;top:129px;height:calc(100dvh - 145px);align-self:start;flex-direction:column;margin:18px 0 18px 18px;background:#fff;border:1px solid var(--pit-v307-line);border-radius:18px;box-shadow:var(--pit-v307-shadow);padding:16px}.pitareji-sidebar-brand-v307{padding:2px 5px 12px;border-bottom:1px solid #edf2f7}.pitareji-sidebar-org-v307{margin:12px 4px 8px;color:var(--pit-v307-muted);font-size:11px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pitareji-sidebar-menu-v307{display:grid;gap:4px}.pitareji-sidebar-menu-v307 button{border:0;background:transparent;border-radius:10px;text-align:left;padding:10px 11px;color:#475569;font-weight:800}.pitareji-sidebar-menu-v307 button:hover{background:#f5f8fc}.pitareji-sidebar-menu-v307 button.active{background:#eaf2ff;color:var(--pit-v307-blue)}.pitareji-sidebar-foot-v307{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:12px;border-top:1px solid #edf2f7}.pitareji-sidebar-foot-v307 small{color:#94a3b8}.pitareji-bottom-nav-v307{display:none}.pitareji-home-main-v307{padding-bottom:30px}.pitareji-brandbar-v307,.pitareji-pagebar-v307,.pitareji-sync-detail-v307{max-width:1440px}
}
@media(min-width:1200px){.pitareji-home-main-v307{padding:24px 28px 34px}.pitareji-kpi-grid-v307{gap:14px}.pitareji-home-grid-v307{gap:18px}}

/* ===== v308 PITAREJI owner / manager management dashboards ===== */
.pitareji-admin-main-v308{min-width:0}
.pitareji-admin-hero-v308{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:22px 24px;margin-bottom:16px;border-radius:20px;color:#fff;box-shadow:0 12px 28px rgba(15,42,67,.12)}
.pitareji-admin-hero-v308.owner{background:linear-gradient(120deg,#102a43,#174f9f 58%,#1769ff)}
.pitareji-admin-hero-v308.manager{background:linear-gradient(120deg,#164e63,#0e7490 58%,#1769ff)}
.pitareji-admin-hero-v308:after{content:"";position:absolute;right:-48px;top:-36px;width:270px;height:150px;opacity:.14;background:repeating-linear-gradient(165deg,transparent 0 12px,#fff 13px 18px,transparent 19px 31px);transform:skewX(-12deg)}
.pitareji-admin-hero-v308>*{position:relative;z-index:1}.pitareji-admin-hero-v308 h2{margin:3px 0 5px;font-size:24px;letter-spacing:-.03em}.pitareji-admin-hero-v308 p{margin:0;font-size:12px;opacity:.84}
.pitareji-admin-hero-actions-v308{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.pitareji-admin-hero-actions-v308 .btn{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.38);color:#fff}.pitareji-admin-hero-actions-v308 .btn.primary{background:#fff;color:#1559ae;border-color:#fff}
.pitareji-admin-identity-v308{text-align:right;min-width:210px}.pitareji-admin-identity-v308 small,.pitareji-admin-identity-v308 b{display:block}.pitareji-admin-identity-v308 small{opacity:.72;font-size:10px}.pitareji-admin-identity-v308 b{margin-top:4px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}
.pitareji-preview-banner-v308{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;padding:12px 14px;border:1px solid #bdd4ff;background:#eef5ff;border-radius:14px;color:#174f9f}.pitareji-preview-banner-v308 b,.pitareji-preview-banner-v308 span{display:block}.pitareji-preview-banner-v308 span{margin-top:2px;font-size:11px;opacity:.8}
.pitareji-admin-grid-v308{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:16px;align-items:start}.pitareji-admin-grid-v308>.pitareji-panel-v307{margin-bottom:16px}
.pitareji-admin-event-list-v308{display:grid;gap:10px}.pitareji-admin-event-v308{border:1px solid #dce6f1;border-radius:15px;padding:14px;background:linear-gradient(180deg,#fff,#fbfdff)}.pitareji-admin-event-v308.warning{border-color:#f0c88a;background:#fffaf1}
.pitareji-admin-event-top-v308{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.pitareji-admin-event-top-v308 h3{margin:7px 0 3px;font-size:16px;color:var(--pit-v307-navy)}.pitareji-admin-event-top-v308 p{margin:0;color:var(--pit-v307-muted);font-size:11px}.pitareji-admin-date-v308{font-size:10px;font-weight:900;color:#64748b;background:#f1f5f9;padding:5px 7px;border-radius:8px;white-space:nowrap}.pitareji-admin-live-sales-v308{text-align:right}.pitareji-admin-live-sales-v308 small,.pitareji-admin-live-sales-v308 strong{display:block}.pitareji-admin-live-sales-v308 small{font-size:10px;color:var(--pit-v307-muted)}.pitareji-admin-live-sales-v308 strong{font-size:20px;color:var(--pit-v307-navy);margin-top:2px}.pitareji-admin-event-actions-v308{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px;padding-top:11px;border-top:1px solid #edf2f7}.pitareji-admin-event-actions-v308 .btn{min-height:37px;padding:8px 11px;font-size:11px}
.pitareji-admin-action-grid-v308{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.pitareji-admin-action-v308{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:78px;padding:12px;border:1px solid #dce6f1;border-radius:14px;background:#fff;text-align:left}.pitareji-admin-action-v308:active{transform:scale(.988);background:#f8fbff}.pitareji-admin-action-v308 b,.pitareji-admin-action-v308 small{display:block}.pitareji-admin-action-v308 b{color:var(--pit-v307-navy);font-size:12px}.pitareji-admin-action-v308 small{margin-top:3px;color:var(--pit-v307-muted);font-size:10px}.pitareji-admin-action-mark-v308{width:11px;height:38px;border-radius:999px;background:#1769ff}.pitareji-admin-action-v308.staff .pitareji-admin-action-mark-v308{background:#168447}.pitareji-admin-action-v308.venue .pitareji-admin-action-mark-v308{background:#7c3aed}.pitareji-admin-action-v308.account .pitareji-admin-action-mark-v308{background:#64748b}.pitareji-admin-action-v308.product .pitareji-admin-action-mark-v308{background:#0e7490}.pitareji-admin-action-v308.register .pitareji-admin-action-mark-v308{background:#2563eb}.pitareji-admin-action-v308.shift .pitareji-admin-action-mark-v308{background:#0284c7}
.pitareji-security-note-v308{font-size:10px;font-weight:800;color:#64748b;background:#f1f5f9;border-radius:999px;padding:6px 9px}
.pitareji-admin-groups-v308{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pitareji-admin-group-v308{border:1px solid #e2e8f0;border-radius:16px;padding:14px;background:#fbfdff}.pitareji-admin-group-head-v308 h3{margin:0;color:var(--pit-v307-navy);font-size:14px}.pitareji-admin-group-head-v308 p{margin:4px 0 11px;color:var(--pit-v307-muted);font-size:10px}.pitareji-admin-menu-grid-v308{display:grid;gap:6px}.pitareji-admin-menu-item-v308{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:0;border-top:1px solid #eaf0f6;background:transparent;padding:10px 3px;text-align:left}.pitareji-admin-menu-item-v308:first-child{border-top:0}.pitareji-admin-menu-item-v308 b,.pitareji-admin-menu-item-v308 small{display:block}.pitareji-admin-menu-item-v308 b{font-size:11px;color:var(--pit-v307-navy)}.pitareji-admin-menu-item-v308 small{font-size:9px;color:var(--pit-v307-muted);margin-top:2px}
.pitareji-admin-status-v308,.pitareji-admin-account-v308{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:10px;align-items:center;background:#fff;border:1px solid var(--pit-v307-line);border-radius:16px;padding:14px 16px;box-shadow:var(--pit-v307-shadow);margin-bottom:16px}.pitareji-admin-status-v308>div:not(.pitareji-admin-status-actions-v308),.pitareji-admin-account-v308>div{min-width:0}.pitareji-admin-status-v308 span,.pitareji-admin-account-v308 span{display:block;color:var(--pit-v307-muted);font-size:9px;font-weight:800}.pitareji-admin-status-v308 b,.pitareji-admin-account-v308 b{display:block;color:var(--pit-v307-navy);font-size:11px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pitareji-admin-status-actions-v308{grid-column:1/-1;display:flex;gap:7px;flex-wrap:wrap;padding-top:10px;border-top:1px solid #edf2f7}.pitareji-admin-status-actions-v308 .btn{min-height:36px;padding:7px 10px;font-size:10px}
@media(max-width:820px){.pitareji-admin-grid-v308{grid-template-columns:1fr}.pitareji-admin-action-grid-v308{grid-template-columns:repeat(2,minmax(0,1fr))}.pitareji-admin-groups-v308{grid-template-columns:1fr}.pitareji-admin-status-v308,.pitareji-admin-account-v308{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.pitareji-admin-hero-v308{padding:18px 16px;align-items:flex-start;flex-direction:column}.pitareji-admin-hero-v308 h2{font-size:21px}.pitareji-admin-hero-actions-v308{width:100%;justify-content:stretch}.pitareji-admin-hero-actions-v308 .btn{flex:1}.pitareji-admin-identity-v308{text-align:left;min-width:0;max-width:100%}.pitareji-preview-banner-v308{align-items:flex-start;flex-direction:column}.pitareji-preview-banner-v308 .btn{width:100%}.pitareji-admin-action-grid-v308{grid-template-columns:1fr}.pitareji-admin-status-v308,.pitareji-admin-account-v308{grid-template-columns:1fr}.pitareji-admin-account-v308>.btn{width:100%}.pitareji-security-note-v308{display:none}.pitareji-admin-event-top-v308{gap:8px}.pitareji-admin-live-sales-v308 strong{font-size:17px}}


/* ===== v309 PITAREJI shift planner ===== */
.pitareji-shift-main-v309{min-width:0;padding-bottom:94px}
.pitareji-shift-hero-v309{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding:24px 26px;border:1px solid rgba(23,105,255,.14);border-radius:22px;background:linear-gradient(135deg,#fff 0%,#f7faff 66%,#edf4ff 100%);box-shadow:0 14px 38px rgba(16,42,67,.07)}
.pitareji-shift-hero-v309:after{content:"";position:absolute;right:-65px;top:-72px;width:230px;height:210px;opacity:.09;background:repeating-linear-gradient(145deg,#1769ff 0 9px,transparent 9px 20px);transform:skewX(-12deg);pointer-events:none}
.pitareji-shift-hero-v309>div,.pitareji-shift-hero-v309>button,.pitareji-shift-hero-actions-v309{position:relative;z-index:1}
.pitareji-shift-hero-v309 h2{margin:4px 0 5px;font-size:clamp(1.35rem,2.4vw,2.05rem);letter-spacing:-.035em;color:#102a43}
.pitareji-shift-hero-v309 p{margin:0;color:#62758a;font-weight:650}
.pitareji-shift-hero-v309.compact{padding-top:19px;padding-bottom:19px}
.pitareji-shift-hero-actions-v309{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.pitareji-shift-kpis-v309{margin-top:14px}
.pitareji-shift-calendar-panel-v309{margin-top:14px;padding:16px}
.pitareji-shift-toolbar-v309{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.pitareji-shift-month-nav-v309{display:flex;gap:7px;align-items:center}
.pitareji-segment-v309{display:flex;align-items:center;gap:3px;padding:3px;border-radius:11px;background:#edf2f7}
.pitareji-segment-v309 button{border:0;background:transparent;color:#52667a;padding:8px 13px;border-radius:8px;font-weight:850;cursor:pointer;line-height:1.1}
.pitareji-segment-v309 button.active{background:#fff;color:#1769ff;box-shadow:0 2px 8px rgba(16,42,67,.09)}
.pitareji-shift-calendar-v309 .calendar-weekdays{color:#738397;font-weight:850;padding:0 3px 5px}
.pitareji-shift-calendar-v309 .shift-cal-grid{gap:7px}
.pitareji-shift-calendar-v309 .shift-cal-cell{min-height:134px;border:1px solid #e5ebf1;border-radius:13px;background:#fff;box-shadow:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.pitareji-shift-calendar-v309 .shift-cal-cell:not(.blank):hover{border-color:#b9d1ff;box-shadow:0 7px 20px rgba(16,42,67,.07);transform:translateY(-1px)}
.pitareji-shift-calendar-v309 .shift-cal-cell.today{border:2px solid rgba(23,105,255,.45);background:#f8fbff}
.pitareji-shift-calendar-v309 .shift-daynum{display:flex;align-items:center;gap:5px;color:#243b53;font-size:.88rem}
.pitareji-shift-calendar-v309 .shift-today-label-v267{font-size:.58rem;color:#1769ff;background:#eaf2ff;padding:2px 5px;border-radius:999px}
.pitareji-shift-mini-v309{border-left:5px solid var(--sc);border-radius:8px;background:#f9fbfd;padding:5px 6px;min-width:0}
.pitareji-shift-mini-v309 b{font-size:.72rem;color:#243b53;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pitareji-shift-mini-v309 small{font-size:.62rem;color:#6d7d8d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pitareji-shift-day-v309{border:1px solid #e3e9ef!important;border-radius:17px!important;box-shadow:0 8px 23px rgba(16,42,67,.055);background:#fff!important;overflow:hidden}
.pitareji-shift-day-v309.today{border:2px solid rgba(23,105,255,.35)!important;box-shadow:0 10px 28px rgba(23,105,255,.09)}
.pitareji-shift-day-v309 .shift-mobile-date{background:#f8fafc;border-bottom:1px solid #e9eef3;padding:12px 14px}
.pitareji-shift-day-v309.today .shift-mobile-date{background:#f1f6ff}
.pitareji-shift-day-v309 .shift-mobile-date>span:first-child{display:flex;align-items:center;gap:7px}
.pitareji-shift-day-v309 .shift-mobile-date>span:first-child small{padding:3px 7px;border-radius:999px;background:#1769ff;color:#fff;font-weight:850;font-size:.62rem}
.pitareji-shift-mobile-card-v309{position:relative;width:100%;display:flex;border:0;border-bottom:1px solid #edf1f5;background:#fff;text-align:left;padding:0;cursor:pointer;color:inherit}
.pitareji-shift-mobile-card-v309:last-child{border-bottom:0}
.pitareji-shift-accent-v309{width:6px;flex:0 0 6px;background:var(--sc,#dbe8ff)}
.pitareji-shift-mobile-card-body-v309{min-width:0;flex:1;padding:14px 14px 13px}
.pitareji-shift-mobile-card-head-v309{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:6px}
.pitareji-shift-mobile-card-v309 h3{margin:0 0 5px;font-size:1.02rem;color:#102a43;line-height:1.35}
.pitareji-shift-mobile-card-v309 b{font-size:.86rem;color:#42566a}
.pitareji-shift-meta-grid-v309{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.pitareji-shift-meta-grid-v309 span{display:flex;flex-direction:column;gap:2px;padding:8px 9px;border-radius:10px;background:#f7f9fb;min-width:0}
.pitareji-shift-meta-grid-v309 small{font-size:.65rem;color:#78899b;font-weight:750}
.pitareji-shift-meta-grid-v309 strong{font-size:.78rem;color:#2d4357;white-space:normal;overflow-wrap:anywhere}
.pitareji-shift-weather-v309{display:block;margin-top:9px;color:#586f84;font-size:.76rem}
.pitareji-shift-more-v309>summary{background:#f8fafc!important;color:#53677b}
.pitareji-shift-list-v309{display:grid;gap:9px}
.pitareji-shift-list-card-v309{position:relative;display:grid;grid-template-columns:6px minmax(150px,.75fr) minmax(0,2fr) auto;align-items:center;gap:14px;width:100%;padding:0 15px 0 0;border:1px solid #e5ebf1;border-radius:14px;background:#fff;text-align:left;color:inherit;overflow:hidden;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}
.pitareji-shift-list-card-v309:hover{border-color:#bad1ff;box-shadow:0 8px 22px rgba(16,42,67,.06)}
.pitareji-shift-list-card-v309>.pitareji-shift-accent-v309{align-self:stretch}
.pitareji-shift-date-block-v309{display:flex;flex-direction:column;gap:4px;padding:13px 0;color:#243b53}
.pitareji-shift-date-block-v309 b{font-size:.89rem}
.pitareji-shift-date-block-v309 small{font-size:.73rem;color:#738397}
.pitareji-shift-card-main-v309{display:flex;min-width:0;flex-direction:column;gap:4px;padding:11px 0}
.pitareji-shift-card-main-v309 strong{font-size:.98rem;color:#102a43}
.pitareji-shift-card-main-v309>small{font-size:.75rem;color:#697d90;overflow-wrap:anywhere}
.pitareji-shift-important-v309{color:#b34b28!important;font-weight:800}
.pitareji-shift-filter-v309{margin-top:14px}
.pitareji-shift-filter-grid-v309{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1fr);gap:16px}
.pitareji-shift-filter-grid-v309 label{display:block;margin-bottom:6px;font-size:.76rem;color:#62758a;font-weight:850}
.pitareji-shift-select-v309{margin:0}
.pitareji-shift-filter-foot-v309{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid #edf1f5;color:#6d7e8f}
.pitareji-shift-notice-panel-v309{margin-top:14px}
.pitareji-shift-day-kpis-v309{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px;max-width:560px}
.pitareji-shift-new-day-v309{margin-top:13px}
.pitareji-shift-detail-main-v309 .wrap{max-width:1050px;margin:0 auto;padding:0}
.pitareji-shift-detail-wrap-v309>.card{border:1px solid #e5ebf1;border-radius:17px;box-shadow:0 8px 24px rgba(16,42,67,.055);margin-bottom:12px}
.pitareji-shift-detail-wrap-v309>.shift-hero{position:relative;overflow:hidden;border-left:0;padding:21px 22px;background:linear-gradient(135deg,#fff,#f5f9ff)}
.pitareji-shift-detail-wrap-v309>.shift-hero:before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:var(--sc,#1769ff)}
.pitareji-shift-detail-wrap-v309>.shift-hero h2{color:#102a43;margin-bottom:7px}
.pitareji-shift-detail-wrap-v309 .shift-detail-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.pitareji-shift-detail-wrap-v309 .shift-delete-controls{display:flex;gap:7px;align-items:center;flex:1 1 320px}
.pitareji-shift-detail-wrap-v309 .shift-delete-controls .input{margin:0;min-width:190px}
@media (max-width:900px){
  .pitareji-shift-hero-v309{align-items:flex-start;flex-direction:column}
  .pitareji-shift-hero-actions-v309{justify-content:flex-start}
  .pitareji-shift-list-card-v309{grid-template-columns:6px minmax(115px,.65fr) minmax(0,1.7fr) auto}
}
@media (max-width:680px){
  .pitareji-shift-main-v309{padding-bottom:92px}
  .pitareji-shift-hero-v309{padding:18px 17px;border-radius:17px}
  .pitareji-shift-hero-v309 h2{font-size:1.4rem}
  .pitareji-shift-kpis-v309{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pitareji-shift-calendar-panel-v309{padding:11px;border-radius:16px}
  .pitareji-shift-toolbar-v309{align-items:stretch;flex-direction:column}
  .pitareji-shift-month-nav-v309{justify-content:center}
  .pitareji-shift-toolbar-v309>.pitareji-segment-v309{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .pitareji-shift-toolbar-v309>.pitareji-segment-v309 button{width:100%}
  .pitareji-shift-day-v309{margin-bottom:10px}
  .pitareji-shift-list-card-v309{grid-template-columns:6px 1fr auto;gap:10px;padding-right:11px}
  .pitareji-shift-date-block-v309{grid-column:2;padding:11px 0 0}
  .pitareji-shift-card-main-v309{grid-column:2;padding:0 0 12px}
  .pitareji-shift-list-card-v309>.pitareji-chevron-v307{grid-column:3;grid-row:1 / span 2}
  .pitareji-shift-list-card-v309>.pitareji-shift-accent-v309{grid-row:1 / span 2}
  .pitareji-shift-filter-grid-v309{grid-template-columns:1fr}
  .pitareji-shift-filter-foot-v309{align-items:flex-start;flex-direction:column}
  .pitareji-shift-day-kpis-v309{max-width:none}
  .pitareji-shift-detail-main-v309 .wrap{padding:0}
  .pitareji-shift-detail-wrap-v309 .shift-detail-actions{align-items:stretch;flex-direction:column}
  .pitareji-shift-detail-wrap-v309 .shift-detail-actions>.btn,.pitareji-shift-detail-wrap-v309 .shift-delete-controls{width:100%}
  .pitareji-shift-detail-wrap-v309 .shift-delete-controls{flex-direction:column;align-items:stretch}
  .pitareji-shift-detail-wrap-v309 .shift-delete-controls .input{min-width:0;width:100%}
}

.pitareji-shift-editor-main-v309 .wrap{max-width:1080px;margin:14px auto 0;padding:0}
.pitareji-shift-editor-wrap-v309>.card{border:1px solid #e5ebf1;border-radius:17px;box-shadow:0 8px 24px rgba(16,42,67,.05);margin-bottom:12px;padding:18px}
.pitareji-shift-editor-wrap-v309>.card>h3{margin-top:0;color:#102a43}
.pitareji-shift-editor-wrap-v309 label{font-weight:800;color:#42566a}
.pitareji-shift-editor-wrap-v309 .input{border:1px solid #d9e2ec;border-radius:11px;background:#fff}
.pitareji-shift-editor-wrap-v309 .input:focus{border-color:#76a8ff;box-shadow:0 0 0 3px rgba(23,105,255,.09);outline:0}
.pitareji-shift-editor-wrap-v309 .shift-edit-scope{background:#f8fbff;border-color:#dbe8ff}
.pitareji-shift-editor-wrap-v309 .shift-product-category-v302{border:1px solid #e8edf2;border-radius:13px;background:#fafbfd;overflow:hidden}
.pitareji-shift-editor-wrap-v309 .shift-product-category-head-v302{background:#f3f7fb;padding:10px 12px}
.pitareji-shift-editor-wrap-v309 .shift-register-toggle{border-radius:12px;background:#f7f9fb;border:1px solid #e6ebf0;padding:11px 12px}
@media (max-width:680px){
  .pitareji-shift-editor-main-v309 .wrap{margin-top:10px}
  .pitareji-shift-editor-wrap-v309>.card{padding:14px;border-radius:15px}
}

/* ===== v310 PITAREJI product catalog / product management ===== */
.pitareji-product-main-v310{min-width:0;padding-bottom:94px}
.pitareji-product-hero-v310{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding:24px 26px;margin-bottom:14px;border:1px solid rgba(23,105,255,.14);border-radius:22px;background:linear-gradient(135deg,#fff 0%,#f8fbff 62%,#edf5ff 100%);box-shadow:0 14px 38px rgba(16,42,67,.07)}
.pitareji-product-hero-v310:after{content:"";position:absolute;right:-58px;top:-72px;width:235px;height:205px;opacity:.08;background:repeating-linear-gradient(145deg,#1769ff 0 10px,transparent 10px 21px);transform:skewX(-12deg);pointer-events:none}
.pitareji-product-hero-v310>*{position:relative;z-index:1}.pitareji-product-hero-v310 h2{margin:4px 0 5px;color:#102a43;font-size:clamp(1.38rem,2.45vw,2.08rem);letter-spacing:-.038em}.pitareji-product-hero-v310 p{margin:0;color:#62758a;font-size:.8rem;font-weight:650}.pitareji-product-hero-v310.event{background:linear-gradient(135deg,#fff 0%,#f7fbff 65%,#edf9ff 100%)}.pitareji-product-hero-v310.master{background:linear-gradient(135deg,#fff 0%,#fafbff 65%,#f2f0ff 100%)}
.pitareji-product-hero-actions-v310{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.pitareji-product-hero-actions-v310 .btn{min-height:40px}
.pitareji-product-kpis-v310{margin-bottom:14px}
.pitareji-product-master-preview-v310{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.pitareji-product-master-mini-v310{appearance:none;width:100%;display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;text-align:left;color:inherit;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.pitareji-product-master-mini-v310:hover{border-color:#bdd1f3;box-shadow:0 8px 22px rgba(16,42,67,.065);transform:translateY(-1px)}
.pitareji-product-master-thumb-v310{width:54px;height:54px;border-radius:11px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#eef3f8;font-weight:950;font-size:1.25rem}.pitareji-product-master-thumb-v310.image{background-size:cover;background-position:center}
.pitareji-product-master-mini-body-v310{min-width:0;display:block}.pitareji-product-master-mini-body-v310>small,.pitareji-product-master-mini-body-v310>b,.pitareji-product-master-mini-body-v310>strong{display:block}.pitareji-product-master-mini-body-v310>small{color:#738397;font-size:.62rem;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pitareji-product-master-mini-body-v310>b{margin-top:2px;color:#102a43;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pitareji-product-master-mini-body-v310>strong{margin-top:2px;color:#1769ff;font-size:.82rem}.pitareji-product-master-mini-v310>.pitareji-chevron-v307{color:#9aa8b6}
.pitareji-product-finance-v310{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}.pitareji-product-finance-v310>span{display:inline-flex;align-items:center;gap:4px;padding:4px 6px;border-radius:7px;background:#f2f7f4;color:#52695b;font-size:.58rem}.pitareji-product-finance-v310 b{color:#17683c;font-size:.62rem}.pitareji-product-finance-v310.large{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px}.pitareji-product-finance-v310.large>span{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 9px;border-radius:10px;background:#f5f9f6}.pitareji-product-finance-v310.large small{font-size:.58rem;color:#74877a;font-weight:800}.pitareji-product-finance-v310.large b{font-size:.78rem;color:#17683c}
.pitareji-product-event-grid-v310{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.pitareji-product-event-v310{border:1px solid #e1e7ee;border-radius:16px;padding:14px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 8px 21px rgba(16,42,67,.045)}.pitareji-product-event-head-v310{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.pitareji-product-event-head-v310 h3{margin:7px 0 3px;color:#102a43;font-size:1rem;line-height:1.3}.pitareji-product-event-head-v310 p{margin:0;color:#738397;font-size:.7rem}.pitareji-product-event-count-v310{min-width:52px;text-align:right}.pitareji-product-event-count-v310 strong,.pitareji-product-event-count-v310 small{display:block}.pitareji-product-event-count-v310 strong{font-size:1.5rem;color:#1769ff;line-height:1}.pitareji-product-event-count-v310 small{margin-top:3px;color:#7b8b9b;font-size:.62rem;font-weight:850}
.pitareji-event-product-thumbs-v310{display:flex;align-items:center;min-height:40px;margin:13px 0 10px}.pitareji-event-product-thumb-v310{width:38px;height:38px;display:flex;align-items:center;justify-content:center;margin-left:-7px;border:3px solid #fff;border-radius:10px;background:#dbe8ff;color:#243b53;font-size:.65rem;font-weight:950;overflow:hidden;box-shadow:0 2px 8px rgba(16,42,67,.08)}.pitareji-event-product-thumb-v310:first-child{margin-left:0}.pitareji-event-product-thumb-v310.image{background-size:cover!important;background-position:center!important;color:transparent}.pitareji-event-product-more-v310{margin-left:7px;color:#1769ff;font-size:.7rem;font-weight:900}
.pitareji-product-event-meta-v310{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:11px}.pitareji-product-event-meta-v310 span{padding:7px 8px;border-radius:9px;background:#f5f7fa;color:#66788a;font-size:.64rem}.pitareji-product-event-meta-v310 b{color:#243b53;margin-left:4px}
.pitareji-product-catalog-v310{overflow:hidden}.pitareji-product-grid-v310{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.pitareji-product-card-v310{overflow:hidden;border:1px solid #e1e7ee;border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(16,42,67,.055);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.pitareji-product-card-v310:hover{border-color:#c5d8f5;box-shadow:0 12px 30px rgba(16,42,67,.08);transform:translateY(-1px)}.pitareji-product-card-v310.soldout{border-color:#efcf9f}.pitareji-product-card-v310.soldout .pitareji-product-media-v310{filter:saturate(.7)}
.pitareji-product-media-wrap-v310{position:relative}.pitareji-product-media-v310{position:relative;height:132px;background:#edf2f7;display:flex;align-items:center;justify-content:center;overflow:hidden}.pitareji-product-media-v310.image{background-size:cover!important;background-position:center!important}.pitareji-product-media-shade-v310{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.13))}.pitareji-product-placeholder-v310{font-size:2.2rem;font-weight:950;opacity:.72;text-shadow:0 1px 0 rgba(255,255,255,.15)}
.pitareji-product-card-badges-v310{position:absolute;left:9px;top:9px;display:flex;gap:5px;flex-wrap:wrap;max-width:calc(100% - 84px)}.pitareji-product-card-badges-v310 .pitareji-chip-v307{box-shadow:0 2px 7px rgba(16,42,67,.07)}.pitareji-product-order-v310{position:absolute;right:9px;top:9px;display:flex;gap:4px}.pitareji-mini-icon-v310{width:31px;height:31px;border:1px solid rgba(255,255,255,.7);border-radius:9px;background:rgba(255,255,255,.9);color:#27425c;font-weight:900;box-shadow:0 2px 8px rgba(16,42,67,.09);cursor:pointer}.pitareji-mini-icon-v310:disabled{opacity:.36;cursor:not-allowed}.pitareji-product-card-body-v310{padding:13px}.pitareji-product-title-v310{display:flex;align-items:flex-start;justify-content:space-between;gap:11px}.pitareji-product-title-v310 h3{margin:0;color:#102a43;font-size:1rem;line-height:1.3}.pitareji-product-title-v310 small{display:block;margin-top:3px;color:#8a98a7;font-size:.61rem;font-weight:750}.pitareji-product-title-v310>strong{white-space:nowrap;color:#1769ff;font-size:1.08rem;letter-spacing:-.02em}
.pitareji-product-quick-v310{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:12px}.pitareji-product-quick-v310 .btn{min-height:36px;padding:7px 8px;font-size:.68rem}.pitareji-product-more-v310{margin-top:9px;border-top:1px solid #edf1f5;padding-top:8px}.pitareji-product-more-v310>summary{cursor:pointer;color:#64778a;font-size:.68rem;font-weight:850;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:4px 2px}.pitareji-product-more-v310>summary::-webkit-details-marker{display:none}.pitareji-product-more-v310>summary:after{content:"＋";font-size:.8rem;color:#8fa0b0}.pitareji-product-more-v310[open]>summary:after{content:"－"}.pitareji-product-more-actions-v310{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding-top:8px}.pitareji-product-more-actions-v310 .btn{min-height:34px;padding:6px 8px;font-size:.64rem}
.pitareji-product-master-layout-v310{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.65fr);gap:16px;align-items:start}.pitareji-master-catalog-v310,.pitareji-master-editor-v310{margin-bottom:16px}.pitareji-master-grid-v310{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.pitareji-master-card-v310{overflow:hidden;border:1px solid #e1e7ee;border-radius:15px;background:#fff;box-shadow:0 7px 20px rgba(16,42,67,.05)}.pitareji-master-card-media-v310{height:108px;display:flex;align-items:center;justify-content:center;background:#eef2f7;font-size:2rem;font-weight:950;overflow:hidden}.pitareji-master-card-media-v310.image{background-size:cover!important;background-position:center!important}.pitareji-master-card-body-v310{padding:12px}.pitareji-master-card-body-v310 h3{margin:8px 0 3px;color:#102a43;font-size:.93rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pitareji-master-card-body-v310>strong{display:block;color:#1769ff;font-size:1rem;margin-bottom:8px}.pitareji-master-card-body-v310>.btn{margin-top:10px}
.pitareji-master-editor-v310{position:sticky;top:148px}.pitareji-master-editor-v310 label{display:block;margin-top:10px;color:#42566a;font-size:.72rem;font-weight:850}.pitareji-master-editor-v310 .input{border-radius:10px;border:1px solid #d9e2ec}.pitareji-master-editor-v310 .input:focus{border-color:#76a8ff;box-shadow:0 0 0 3px rgba(23,105,255,.09);outline:0}.pitareji-master-editor-actions-v310{margin-top:14px}.pitareji-master-editor-preview-v310{display:flex;align-items:center;gap:9px;margin-top:12px;padding:9px;border:1px solid #e5eaf0;border-radius:12px;background:#f8fafc}.pitareji-master-editor-preview-v310>span{width:48px;height:48px;border-radius:10px;background-size:cover;background-position:center;flex:0 0 auto}.pitareji-master-editor-preview-v310 b,.pitareji-master-editor-preview-v310 small{display:block}.pitareji-master-editor-preview-v310 b{color:#334e68;font-size:.72rem}.pitareji-master-editor-preview-v310 small{margin-top:3px;color:#7b8b9b;font-size:.61rem}
@media(max-width:1080px){.pitareji-product-master-preview-v310{grid-template-columns:repeat(2,minmax(0,1fr))}.pitareji-product-event-grid-v310,.pitareji-product-grid-v310{grid-template-columns:repeat(2,minmax(0,1fr))}.pitareji-product-master-layout-v310{grid-template-columns:1fr}.pitareji-master-editor-v310{position:static;order:-1}.pitareji-master-grid-v310{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.pitareji-product-main-v310{padding-bottom:94px}.pitareji-product-hero-v310{align-items:flex-start;flex-direction:column;padding:18px 17px;border-radius:17px}.pitareji-product-hero-v310 h2{font-size:1.42rem}.pitareji-product-hero-actions-v310{width:100%;display:grid;grid-template-columns:1fr 1fr}.pitareji-product-hero-actions-v310 .btn{width:100%;padding:8px 9px;font-size:.7rem}.pitareji-product-hero-actions-v310 .btn:last-child:nth-child(3){grid-column:1/-1}.pitareji-product-kpis-v310{grid-template-columns:repeat(2,minmax(0,1fr))}.pitareji-product-event-grid-v310,.pitareji-product-grid-v310{grid-template-columns:1fr}.pitareji-product-master-preview-v310{grid-template-columns:1fr 1fr}.pitareji-master-grid-v310{grid-template-columns:repeat(2,minmax(0,1fr))}.pitareji-product-media-v310{height:150px}}
@media(max-width:500px){.pitareji-product-master-preview-v310{grid-template-columns:1fr}.pitareji-product-master-mini-v310{grid-template-columns:50px minmax(0,1fr) auto}.pitareji-product-master-thumb-v310{width:50px;height:50px}.pitareji-master-grid-v310{grid-template-columns:1fr 1fr;gap:8px}.pitareji-master-card-media-v310{height:94px}.pitareji-master-card-body-v310{padding:10px}.pitareji-product-quick-v310,.pitareji-product-more-actions-v310{grid-template-columns:1fr 1fr}.pitareji-product-event-v310{padding:12px}.pitareji-product-finance-v310.large{grid-template-columns:1fr 1fr}}

/* PITAREJI v311 sales + settlement dashboard */
.pitareji-sales-shell-v311{background:#f5f7fa}
.pitareji-sales-main-v311{max-width:1180px;width:100%;margin:0 auto;padding-top:18px}
.pitareji-sales-hero-v311{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px;padding:22px 24px;border-radius:20px;background:linear-gradient(125deg,#0f5bd8,#1769ff 62%,#5cc6ff);color:#fff;box-shadow:0 13px 30px rgba(23,105,255,.17)}
.pitareji-sales-hero-v311.closed{background:linear-gradient(125deg,#17375a,#245b91 60%,#3b82c4)}
.pitareji-sales-hero-v311.privacy{background:linear-gradient(125deg,#334155,#475569 64%,#64748b)}
.pitareji-sales-hero-v311:after{content:"";position:absolute;right:-55px;top:-50px;width:300px;height:170px;opacity:.15;background:repeating-linear-gradient(165deg,transparent 0 13px,#fff 14px 20px,transparent 21px 34px);transform:skewX(-12deg)}
.pitareji-sales-hero-v311>*{position:relative;z-index:1}.pitareji-sales-hero-v311 .eyebrow-v307{display:block;margin-top:12px;opacity:.78}.pitareji-sales-hero-v311 h2{font-size:1.65rem;margin:4px 0 4px;letter-spacing:-.03em}.pitareji-sales-hero-v311 p{margin:0;font-size:.76rem;opacity:.8}.pitareji-sales-hero-v311 .pitareji-chip-v307{box-shadow:0 2px 9px rgba(0,0,0,.08)}
.pitareji-sales-hero-total-v311{text-align:right;min-width:190px}.pitareji-sales-hero-total-v311 small,.pitareji-sales-hero-total-v311 strong,.pitareji-sales-hero-total-v311 span{display:block}.pitareji-sales-hero-total-v311 small{font-size:.7rem;opacity:.75;font-weight:850}.pitareji-sales-hero-total-v311 strong{font-size:2rem;line-height:1.05;margin-top:4px;letter-spacing:-.04em}.pitareji-sales-hero-total-v311 span{font-size:.68rem;margin-top:5px;opacity:.75}
.pitareji-sales-kpis-v311{grid-template-columns:repeat(5,minmax(0,1fr))}
.pitareji-payment-panel-v311{margin-bottom:16px}.pitareji-payment-bars-v311{display:grid;gap:12px}.pitareji-payment-row-v311{display:grid;grid-template-columns:minmax(130px,.45fr) minmax(160px,1fr) 54px;gap:12px;align-items:center}.pitareji-payment-row-v311>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center}.pitareji-payment-row-v311 span{font-size:.72rem;color:#52667a;font-weight:850}.pitareji-payment-row-v311 b{font-size:.78rem;color:#102a43}.pitareji-payment-row-v311 small{text-align:right;color:#7d8d9d;font-size:.64rem;font-weight:850}.pitareji-payment-track-v311{height:8px;background:#edf2f7;border-radius:999px;overflow:hidden}.pitareji-payment-track-v311 i{display:block;height:100%;min-width:2px;border-radius:999px;background:linear-gradient(90deg,#1769ff,#52b8ff)}
.pitareji-sales-expenses-v311>.expense-entry-card,.pitareji-sales-expenses-v311>.card{box-shadow:none;margin-top:12px}.pitareji-sales-report-v311>.card,.pitareji-sales-report-v311>.daily-report-card{border-color:#e2e8f0;box-shadow:0 7px 22px rgba(16,42,67,.045);border-radius:16px}.pitareji-sales-report-v311 .dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.pitareji-sales-actions-v311{margin-bottom:20px}.pitareji-sales-action-grid-v311{display:flex;gap:8px;flex-wrap:wrap}.pitareji-sales-action-grid-v311 .btn{min-width:160px;flex:1}
.pitareji-settlement-cash-kpis-v311{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.pitareji-cash-kpi-v311{position:relative;overflow:hidden;border:1px solid #e1e7ee;border-radius:17px;padding:17px 18px;background:#fff;box-shadow:0 7px 22px rgba(16,42,67,.045)}.pitareji-cash-kpi-v311:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#1769ff}.pitareji-cash-kpi-v311.counted:before{background:#0f8f4e}.pitareji-cash-kpi-v311.ok:before{background:#16a34a}.pitareji-cash-kpi-v311.warn:before{background:#d97706}.pitareji-cash-kpi-v311.neutral:before{background:#94a3b8}.pitareji-cash-kpi-v311 span,.pitareji-cash-kpi-v311 strong,.pitareji-cash-kpi-v311 small{display:block}.pitareji-cash-kpi-v311 span{font-size:.68rem;color:#718295;font-weight:900}.pitareji-cash-kpi-v311 strong{font-size:1.55rem;color:#102a43;margin-top:5px;letter-spacing:-.03em}.pitareji-cash-kpi-v311 small{font-size:.62rem;color:#8493a2;margin-top:4px;line-height:1.35}
.pitareji-cash-detail-v311{margin-bottom:16px}.pitareji-cash-breakdown-v311{border:1px solid #edf1f5;border-radius:13px;overflow:hidden;background:#fbfdff}.pitareji-cash-breakdown-v311 .metric-row{margin:0;padding:10px 12px;border-bottom:1px solid #edf1f5}.pitareji-cash-breakdown-v311 .metric-row:last-child{border-bottom:0}.pitareji-cash-total-row-v311{background:#eef5ff}.pitareji-cash-total-row-v311 b{font-size:1.1rem;color:#1769ff}.pitareji-counted-input-v311{margin-top:14px}.pitareji-counted-input-v311>label{display:block;color:#4d6276;font-size:.72rem;font-weight:900;margin-bottom:6px}.pitareji-counted-input-v311>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.pitareji-counted-input-v311 .input{font-size:1.1rem;font-weight:800;text-align:right}.pitareji-counted-input-v311 .btn{min-width:150px}
.pitareji-settlement-summary-v311{margin-bottom:16px}.pitareji-settlement-grid-v311{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.pitareji-settlement-metric-v311{border:1px solid #e4eaf1;border-radius:13px;padding:13px 14px;background:#fbfdff}.pitareji-settlement-metric-v311 span,.pitareji-settlement-metric-v311 strong{display:block}.pitareji-settlement-metric-v311 span{font-size:.64rem;color:#738397;font-weight:850}.pitareji-settlement-metric-v311 strong{margin-top:4px;font-size:1rem;color:#102a43}.pitareji-settlement-metric-v311.blue{background:#f0f6ff;border-color:#d6e5fb}.pitareji-settlement-metric-v311.blue strong{color:#1769ff}.pitareji-settlement-metric-v311.green{background:#f1faf5;border-color:#d4eedf}.pitareji-settlement-metric-v311.green strong{color:#168447}.pitareji-settlement-metric-v311.orange,.pitareji-settlement-metric-v311.warning{background:#fff8ed;border-color:#f5dfbb}.pitareji-settlement-metric-v311.orange strong,.pitareji-settlement-metric-v311.warning strong{color:#ae6500}.pitareji-takehome-note-v311{margin:12px 0 0}.pitareji-settlement-sync-v311{margin-bottom:14px}.pitareji-inventory-link-v311{display:flex;align-items:center;justify-content:space-between;gap:14px}.pitareji-inventory-link-v311 b,.pitareji-inventory-link-v311 small{display:block}.pitareji-inventory-link-v311 small{font-size:.65rem;color:#7c8b9a;margin-top:3px}
.pitareji-weather-icon-v311{font-size:2.4rem}.pitareji-weather-card-v311{max-width:720px;margin:0 auto}.pitareji-weather-select-v311{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.pitareji-weather-select-v311 .btn{min-width:190px}
@media(max-width:1080px){.pitareji-sales-kpis-v311{grid-template-columns:repeat(3,minmax(0,1fr))}.pitareji-settlement-grid-v311{grid-template-columns:repeat(3,minmax(0,1fr))}.pitareji-sales-report-v311 .dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.pitareji-sales-main-v311{padding:14px 12px 96px}.pitareji-sales-hero-v311{align-items:flex-start;flex-direction:column;padding:18px 17px;border-radius:17px}.pitareji-sales-hero-v311 h2{font-size:1.35rem}.pitareji-sales-hero-total-v311{text-align:left;min-width:0}.pitareji-sales-hero-total-v311 strong{font-size:1.75rem}.pitareji-sales-kpis-v311{grid-template-columns:repeat(2,minmax(0,1fr))}.pitareji-settlement-cash-kpis-v311{grid-template-columns:1fr}.pitareji-settlement-grid-v311{grid-template-columns:repeat(2,minmax(0,1fr))}.pitareji-payment-row-v311{grid-template-columns:1fr 46px;gap:7px}.pitareji-payment-row-v311>div:first-child{grid-column:1/-1}.pitareji-payment-track-v311{grid-column:1}.pitareji-sales-report-v311 .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pitareji-counted-input-v311>div,.pitareji-weather-select-v311{grid-template-columns:1fr}.pitareji-counted-input-v311 .btn,.pitareji-weather-select-v311 .btn{width:100%;min-width:0}.pitareji-inventory-link-v311{align-items:flex-start;flex-direction:column}.pitareji-inventory-link-v311 .btn{width:100%}}
@media(max-width:430px){.pitareji-sales-kpis-v311{grid-template-columns:1fr 1fr}.pitareji-settlement-grid-v311{grid-template-columns:1fr 1fr}.pitareji-sales-action-grid-v311{display:grid;grid-template-columns:1fr}.pitareji-sales-action-grid-v311 .btn{min-width:0}.pitareji-sales-report-v311 .dashboard-grid{grid-template-columns:1fr 1fr}}

/* PITAREJI v312 team / permissions / settings */
.pitareji-settings-shell-v312{background:#f5f7fa}
.pitareji-settings-main-v312{max-width:1180px;width:100%;margin:0 auto;padding-top:18px}
.pitareji-settings-hero-v312{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px;padding:22px 24px;border-radius:20px;background:linear-gradient(125deg,#102f5f,#1769ff 66%,#55bfff);color:#fff;box-shadow:0 13px 30px rgba(23,105,255,.17)}
.pitareji-settings-hero-v312.team{background:linear-gradient(125deg,#102f5f,#1769ff 66%,#4ab8ff)}
.pitareji-settings-hero-v312.staff{background:linear-gradient(125deg,#0d5f75,#0f8fb0 62%,#4ac7dd)}
.pitareji-settings-hero-v312.account{background:linear-gradient(125deg,#27364f,#3f5d7e 60%,#5f7ea0)}
.pitareji-settings-hero-v312.backup{background:linear-gradient(125deg,#0d513c,#14805b 62%,#43b67f)}
.pitareji-settings-hero-v312:after{content:"";position:absolute;right:-55px;top:-50px;width:300px;height:170px;opacity:.14;background:repeating-linear-gradient(165deg,transparent 0 13px,#fff 14px 20px,transparent 21px 34px);transform:skewX(-12deg)}
.pitareji-settings-hero-v312>*{position:relative;z-index:1}.pitareji-settings-hero-v312 h2{font-size:1.6rem;margin:4px 0 5px;letter-spacing:-.03em}.pitareji-settings-hero-v312 p{margin:0;max-width:690px;font-size:.76rem;line-height:1.6;opacity:.84}
.pitareji-settings-hero-badge-v312{flex:0 0 auto;max-width:280px;padding:9px 13px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(8px);font-size:.72rem;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pitareji-settings-message-v312{margin:0 0 12px;padding:12px 14px;border:1px solid #cfe3fb;border-radius:14px;background:#eef6ff;color:#1558a5;font-size:.75rem;font-weight:800}
.pitareji-settings-kpis-v312{margin-bottom:16px}
.pitareji-settings-two-col-v312{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:14px;margin-bottom:16px}.pitareji-settings-two-col-v312.invite{grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr)}
.pitareji-form-stack-v312{display:grid;gap:8px}.pitareji-form-stack-v312 label,.pitareji-create-org-v312 label,.pitareji-member-fields-v312 label{font-size:.68rem;color:#52667a;font-weight:900;margin-top:2px}
.pitareji-large-action-v312{margin-top:4px;min-height:46px}
.pitareji-security-note-block-v312{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:12px 13px;border:1px solid #dbe7f4;border-radius:13px;background:#f7fbff}.pitareji-security-note-block-v312 b{flex:0 0 auto;color:#1769ff;font-size:.68rem}.pitareji-security-note-block-v312 span{font-size:.65rem;color:#65798c;line-height:1.55}
.pitareji-inline-form-v312{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.pitareji-inline-form-v312 .btn{min-width:110px}
.pitareji-org-grid-v312{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pitareji-org-card-v312{border:1px solid #e1e7ee;border-radius:17px;padding:16px;background:#fff;box-shadow:0 7px 22px rgba(16,42,67,.04)}.pitareji-org-card-v312.current{border-color:#b8d7ff;background:linear-gradient(180deg,#f8fbff,#fff)}
.pitareji-org-card-top-v312{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:13px}.pitareji-org-card-v312 h3{margin:7px 0 2px;color:#102a43;font-size:1.02rem}.pitareji-org-card-v312 p{margin:0;color:#75879a;font-size:.65rem}.pitareji-org-current-mark-v312{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e9f8ef;color:#168447;font-weight:950}
.pitareji-create-org-v312{margin-top:16px}.pitareji-create-org-v312>p{font-size:.72rem;color:#687b8e;line-height:1.6}
.pitareji-mini-event-list-v312{display:grid;gap:9px}.pitareji-mini-event-v312{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border:1px solid #e6ebf1;border-radius:13px;background:#fbfdff}.pitareji-mini-event-v312 b,.pitareji-mini-event-v312 small{display:block}.pitareji-mini-event-v312 b{font-size:.78rem;color:#102a43}.pitareji-mini-event-v312 small{font-size:.62rem;color:#7d8d9c;margin-top:3px}
.pitareji-invite-result-v312>.card,.manager-invite-result{border:1px solid #cfe3fb!important;border-radius:17px!important;background:#f8fbff!important;box-shadow:0 7px 22px rgba(16,42,67,.04)!important}.pitareji-invite-result-v312 .daily-staff-qr{display:grid;place-items:center;padding:16px;background:#fff;border-radius:14px;margin:12px auto;max-width:300px}.pitareji-invite-result-v312 textarea,.manager-invite-result textarea{background:#fff}
.pitareji-member-grid-v312{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pitareji-member-card-v312{border:1px solid #e1e7ee;border-radius:17px;padding:15px;background:#fff;box-shadow:0 7px 22px rgba(16,42,67,.04)}
.pitareji-member-head-v312{display:flex;gap:11px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid #eef2f6}.pitareji-avatar-v312{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,#e8f2ff,#d5e8ff);color:#1769ff;font-size:1rem;font-weight:950}.pitareji-member-identity-v312{min-width:0;flex:1}.pitareji-member-identity-v312 h3{margin:6px 0 2px;font-size:.9rem;color:#102a43;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pitareji-member-identity-v312 p{margin:0;color:#7a8c9d;font-size:.63rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pitareji-member-fields-v312{display:grid;gap:7px;padding-top:12px}.pitareji-member-role-row-v312{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px}.pitareji-member-remove-v312{white-space:nowrap}
.pitareji-team-quick-v312>p{font-size:.72rem;color:#687b8e;line-height:1.6}.pitareji-team-stat-v312{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf1f5}.pitareji-team-stat-v312:last-child{border-bottom:0}.pitareji-team-stat-v312 span{font-size:.68rem;color:#718295;font-weight:800}.pitareji-team-stat-v312 b{font-size:.85rem;color:#102a43}
.pitareji-account-summary-v312{display:grid;gap:0;margin-bottom:12px;border:1px solid #e6ebf1;border-radius:13px;overflow:hidden}.pitareji-account-summary-v312>div{padding:11px 12px;border-bottom:1px solid #edf1f5;background:#fbfdff}.pitareji-account-summary-v312>div:last-child{border-bottom:0}.pitareji-account-summary-v312 span,.pitareji-account-summary-v312 b{display:block}.pitareji-account-summary-v312 span{font-size:.62rem;color:#7c8c9c;font-weight:850}.pitareji-account-summary-v312 b{font-size:.76rem;color:#102a43;margin-top:2px;word-break:break-all}.pitareji-account-danger-v312{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px}.pitareji-account-danger-v312 h2{margin:3px 0 3px}.pitareji-account-danger-v312 p{margin:0;color:#718295;font-size:.68rem}
.pitareji-backup-grid-v312{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.pitareji-backup-card-v312{display:flex;flex-direction:column;gap:12px;border:1px solid #e0e7ef;border-radius:18px;padding:17px;background:#fff;box-shadow:0 7px 22px rgba(16,42,67,.045)}.pitareji-backup-card-v312.primary{border-color:#cfe0fb;background:linear-gradient(180deg,#f6faff,#fff)}.pitareji-backup-card-v312.danger{border-color:#f0d7d7;background:linear-gradient(180deg,#fff9f9,#fff)}.pitareji-backup-card-v312 h3{margin:4px 0 4px;color:#102a43;font-size:1rem}.pitareji-backup-card-v312 p{margin:0;color:#708294;font-size:.66rem;line-height:1.55}.pitareji-backup-card-v312 .btn{margin-top:auto}.pitareji-backup-icon-v312{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#eef5ff;color:#1769ff;font-size:1.3rem;font-weight:950}.pitareji-backup-card-v312.danger .pitareji-backup-icon-v312{background:#fff0f0;color:#c43b3b}
@media(max-width:980px){.pitareji-member-grid-v312,.pitareji-org-grid-v312{grid-template-columns:1fr}.pitareji-backup-grid-v312{grid-template-columns:1fr 1fr}.pitareji-settings-two-col-v312,.pitareji-settings-two-col-v312.invite{grid-template-columns:1fr}}
@media(max-width:760px){.pitareji-settings-main-v312{padding:14px 12px 96px}.pitareji-settings-hero-v312{align-items:flex-start;flex-direction:column;padding:18px 17px;border-radius:17px}.pitareji-settings-hero-v312 h2{font-size:1.32rem}.pitareji-settings-hero-badge-v312{max-width:100%}.pitareji-inline-form-v312{grid-template-columns:1fr}.pitareji-inline-form-v312 .btn{width:100%;min-width:0}.pitareji-member-role-row-v312{grid-template-columns:1fr 1fr}.pitareji-member-role-row-v312 select{grid-column:1/-1}.pitareji-member-remove-v312{width:100%}.pitareji-backup-grid-v312{grid-template-columns:1fr}.pitareji-account-danger-v312{align-items:flex-start;flex-direction:column}.pitareji-account-danger-v312 .btn{width:100%}}
@media(max-width:430px){.pitareji-member-role-row-v312{grid-template-columns:1fr}.pitareji-member-role-row-v312 select{grid-column:auto}.pitareji-security-note-block-v312{flex-direction:column}.pitareji-settings-kpis-v312{grid-template-columns:1fr 1fr}}

/* v313 PITAREJI platform admin console */
.platform-admin-shell-v313{background:#f5f7fb;min-height:100vh}.platform-admin-main-v313{display:flex;flex-direction:column;gap:18px}.platform-admin-hero-v313{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:26px;border-radius:22px;background:linear-gradient(135deg,#0f2d59 0%,#1769ff 62%,#38bdf8 100%);color:#fff;box-shadow:0 16px 40px rgba(22,74,160,.18)}.platform-admin-hero-v313:after{content:"";position:absolute;right:-70px;top:-90px;width:260px;height:260px;border:34px solid rgba(255,255,255,.08);border-radius:50%;transform:skewX(-16deg)}.platform-admin-hero-v313 h2{margin:3px 0 7px;font-size:26px}.platform-admin-hero-v313 p{margin:0;opacity:.88}.platform-admin-hero-v313 .eyebrow-v307{color:#d9efff}.platform-admin-badge-v313{position:relative;z-index:1;padding:10px 14px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.12);font-weight:800;white-space:nowrap}.platform-admin-toolbar-v313{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}.platform-admin-toolbar-v313 h2{margin:2px 0}.platform-admin-search-v313{display:flex;gap:8px;align-items:center;min-width:min(520px,100%)}.platform-admin-search-v313 .input{margin:0;min-width:280px}.platform-org-grid-v313{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.platform-org-card-v313{padding:18px;border:1px solid #e5eaf2;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(16,42,67,.06)}.platform-org-head-v313{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.platform-org-head-v313 h3{font-size:18px;margin:8px 0 3px}.platform-org-head-v313 p{margin:0;color:#64748b;font-size:12px;word-break:break-all}.platform-org-stats-v313{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}.platform-org-stats-v313>div{padding:10px;border-radius:12px;background:#f7f9fc;text-align:center}.platform-org-stats-v313 span,.platform-org-meta-v313 span{display:block;color:#64748b;font-size:11px}.platform-org-stats-v313 b{display:block;margin-top:3px;font-size:16px}.platform-org-meta-v313{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid #edf1f6;font-size:12px}.platform-detail-grid-v313{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.platform-detail-row-v313{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #edf1f6}.platform-detail-row-v313:last-child{border-bottom:0}.platform-detail-row-v313 span:first-child{min-width:0}.platform-detail-row-v313 b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.platform-detail-row-v313 small{display:block;color:#64748b;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.platform-admin-hero-v313.detail{background:linear-gradient(135deg,#102a43,#1d4ed8)}
@media(max-width:980px){.platform-org-grid-v313{grid-template-columns:1fr}.platform-detail-grid-v313{grid-template-columns:1fr}.platform-admin-toolbar-v313{align-items:stretch;flex-direction:column}.platform-admin-search-v313{min-width:0;width:100%}.platform-admin-search-v313 .input{min-width:0;flex:1}}
@media(max-width:640px){.platform-admin-hero-v313{padding:20px;align-items:flex-start;flex-direction:column}.platform-admin-hero-v313 h2{font-size:22px}.platform-admin-search-v313{display:grid;grid-template-columns:1fr 1fr}.platform-admin-search-v313 .input{grid-column:1/-1}.platform-org-stats-v313{grid-template-columns:repeat(2,1fr)}.platform-org-head-v313{flex-direction:column}.platform-org-head-v313 .btn{width:100%}}

/* v314 candidate: touch targets, long addresses and diagnostic rows */
.account-email-v314 p,#testPanelV314 p{line-height:1.7;color:#475569}
.v314-wrap,.v314-status,.v314-counts dt{overflow-wrap:anywhere;word-break:break-word}
.v314-status:empty{display:none}
.v314-status{padding:12px;margin:12px 0;background:#eff6ff;color:#1e40af;border-radius:12px}
.v314-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.v314-actions .btn,.account-email-v314 .btn{min-height:44px;white-space:normal}
.v314-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}
.v314-counts>div{padding:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;min-width:0}
.v314-counts dd{margin:4px 0 0;font-weight:700}
#testPanelV314 label{display:block;margin:14px 0 6px;font-weight:700}
#testPanelV314 textarea{min-height:80px;resize:vertical}
#testPanelV314 .input,.account-email-v314 .input{width:100%;min-width:0;box-sizing:border-box}
@media(max-width:600px){.v314-counts{grid-template-columns:1fr}.v314-actions{flex-direction:column}.v314-actions .btn{width:100%}.account-email-v314 .pitareji-section-head-v307{flex-wrap:wrap;gap:10px}}

.v315-steps{padding-left:24px;line-height:2}.v315-steps li{font-weight:700}#testPanelV314 summary{cursor:pointer;padding:12px 0;font-weight:700}


/* v316 platform monitoring */
.platform-monitor-strip-v316{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:16px;padding:10px;border-radius:14px;background:#f2f7ff;border:1px solid #dbeafe}.platform-monitor-strip-v316>div{min-width:0;padding:8px 6px;text-align:center}.platform-monitor-strip-v316 span{display:block;color:#64748b;font-size:10px}.platform-monitor-strip-v316 b{display:block;margin-top:3px;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.platform-monitor-unavailable-v316{margin-top:14px;padding:10px 12px;border-radius:12px;background:#fff7ed;color:#9a3412;font-size:12px;border:1px solid #fed7aa}.platform-monitor-grid-v316{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.platform-monitor-scroll-v316{max-height:420px;overflow:auto;padding-right:4px}.platform-monitor-line-v316{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edf1f6}.platform-monitor-line-v316:last-child{border-bottom:0}.platform-monitor-line-v316 span:first-child{min-width:0}.platform-monitor-line-v316 b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platform-monitor-line-v316 small{display:block;margin-top:3px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.platform-monitor-line-v316 strong{white-space:nowrap;font-size:14px}.platform-error-list-v316{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.platform-error-card-v316{padding:14px;border:1px solid #e5eaf2;border-radius:14px;background:#fff}.platform-error-card-v316>b{display:block;margin:10px 0 4px;word-break:break-word}.platform-error-card-v316 p{margin:0 0 8px;color:#64748b;font-size:12px;word-break:break-word}.platform-error-card-v316 small{color:#64748b}.platform-error-head-v316{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.platform-error-head-v316 .btn{padding:7px 10px;font-size:11px;white-space:nowrap}
@media(max-width:980px){.platform-monitor-strip-v316{grid-template-columns:repeat(3,1fr)}.platform-monitor-grid-v316{grid-template-columns:1fr}.platform-error-list-v316{grid-template-columns:1fr}}
@media(max-width:640px){.platform-monitor-strip-v316{grid-template-columns:repeat(2,1fr)}.platform-error-head-v316{flex-direction:column}.platform-error-head-v316 .btn{width:100%}.platform-monitor-scroll-v316{max-height:360px}}


/* v318 inline product-master editing */
.product-master-inline-modal-v318 .product-add-sheet{max-height:92dvh;overflow-y:auto}
.product-master-inline-head-v318{margin-bottom:4px}
.product-master-inline-actions-v318{position:sticky;bottom:-18px;background:#fff;padding:12px 0 4px;margin-bottom:-4px}
@media(max-width:699px){
  .product-master-inline-modal-v318{padding:8px}
  .product-master-inline-modal-v318 .product-add-sheet{border-radius:20px 20px 12px 12px;padding-bottom:18px}
}


/* v319 category-grouped product master + delayed loading feedback */
.pitareji-master-category-list-v319{display:grid;gap:18px}
.pitareji-master-category-v319{display:grid;gap:10px;padding-top:2px}
.pitareji-master-category-v319+.pitareji-master-category-v319{padding-top:18px;border-top:1px solid #e7edf4}
.pitareji-master-category-head-v319{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.pitareji-master-category-head-v319>div{min-width:0}
.pitareji-master-category-head-v319 span{display:block;color:#7b8794;font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px}
.pitareji-master-category-head-v319 h3{margin:0;color:#102a43;font-size:1.02rem}
.pitareji-master-category-head-v319 small{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:#eef4ff;color:#2563eb;font-weight:900;font-size:.7rem}

.navigation-loading-overlay-v319{background:rgba(10,18,28,.24);backdrop-filter:blur(2px);animation:navigation-fade-v319 .16s ease-out both}
.navigation-loading-card-v319{min-width:210px;padding:14px 17px;border-radius:16px;box-shadow:0 18px 46px rgba(10,28,48,.24);animation:navigation-card-in-v319 .18s ease-out both}
.navigation-spinner-v319{width:24px;height:24px;border-width:3px;color:#2563eb;flex:0 0 auto}
.navigation-loading-copy-v319{display:grid;gap:2px;line-height:1.25}
.navigation-loading-copy-v319 b{font-size:.88rem;color:#102a43}
.navigation-loading-copy-v319 small{display:flex;align-items:center;gap:2px;color:#627d98;font-size:.72rem;font-weight:700}
.navigation-loading-dots-v319{display:inline-flex;gap:2px;align-items:center;height:10px;margin-left:2px}
.navigation-loading-dots-v319 i{display:block;width:3px;height:3px;border-radius:50%;background:currentColor;animation:navigation-dot-v319 1s infinite ease-in-out}
.navigation-loading-dots-v319 i:nth-child(2){animation-delay:.14s}
.navigation-loading-dots-v319 i:nth-child(3){animation-delay:.28s}
@keyframes navigation-fade-v319{from{opacity:0}to{opacity:1}}
@keyframes navigation-card-in-v319{from{opacity:0;transform:translateY(5px) scale(.985)}to{opacity:1;transform:none}}
@keyframes navigation-dot-v319{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}
@media(max-width:500px){.pitareji-master-category-list-v319{gap:15px}.pitareji-master-category-v319+.pitareji-master-category-v319{padding-top:15px}.navigation-loading-card-v319{min-width:190px}}
@media(prefers-reduced-motion:reduce){.navigation-loading-overlay-v319,.navigation-loading-card-v319,.navigation-loading-dots-v319 i{animation:none!important}}

/* v320: five-second high-speed checkout batching + persistent mobile checkout */
.pos-fast-batch-v320{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:8px;padding:12px 14px;border:1px solid #d9e5f7;border-radius:14px;
  background:#f7faff;color:#102a43;box-shadow:0 6px 18px rgba(15,23,42,.06)
}
.pos-fast-batch-v320>div:first-child{min-width:0;display:grid;gap:3px}
.pos-fast-batch-v320 b{font-size:.9rem}
.pos-fast-batch-v320 small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#52657a;font-size:.72rem}
.pos-fast-batch-v320.pending{border-color:#2563eb;background:#eff6ff}
.pos-fast-batch-meta-v320{display:grid;justify-items:end;gap:2px;flex:0 0 auto}
.pos-fast-batch-meta-v320 span{font-weight:900;color:#2563eb;font-size:.82rem}
.pos-fast-batch-meta-v320 strong{font-size:1.05rem}
.pos-mobile-checkout-v320{display:none}

@media (max-width:699px){
  .pos-screen-v147{padding-bottom:96px!important}
  .pos-screen-v147 .pos-products{
    padding-bottom:108px!important;
    scroll-padding-bottom:108px!important;
  }
  .pos-screen-v147 .pos-right{padding-bottom:96px!important}
  .pos-screen-v147 .pos-checkout .checkout-main-btn{display:none!important}
  .pos-mobile-checkout-v320{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    position:fixed;left:8px;right:8px;
    bottom:calc(var(--connection-status-height,0px) + max(8px, env(safe-area-inset-bottom)));
    z-index:9990;padding:9px 10px 9px 14px;border:1px solid rgba(37,99,235,.22);
    border-radius:16px;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);
    box-shadow:0 12px 32px rgba(15,23,42,.22)
  }
  .pos-mobile-checkout-v320>div{display:grid;gap:0;min-width:0}
  .pos-mobile-checkout-v320 small{font-size:.68rem;color:#64748b;font-weight:800}
  .pos-mobile-checkout-v320 strong{font-size:1.22rem;line-height:1.1;color:#0f172a;white-space:nowrap}
  .pos-mobile-checkout-v320 .btn{min-width:46%;min-height:52px;font-size:1.08rem;font-weight:900;border-radius:12px}
  .pos-fast-batch-v320{margin:6px 0 8px;padding:10px 12px}
}

@media (orientation:landscape) and (max-height:600px) and (max-width:950px){
  .pos-screen-v147{padding-bottom:76px!important}
  .pos-screen-v147 .pos-products{padding-bottom:82px!important;scroll-padding-bottom:82px!important}
  .pos-screen-v147 .pos-right{padding-bottom:76px!important}
  .pos-screen-v147 .pos-checkout .checkout-main-btn{display:none!important}
  .pos-mobile-checkout-v320{
    display:flex;position:fixed;left:auto;right:8px;width:min(360px,44vw);
    bottom:calc(var(--connection-status-height,0px) + max(6px, env(safe-area-inset-bottom)));
    z-index:9990;padding:7px 8px 7px 11px;border:1px solid rgba(37,99,235,.22);
    border-radius:14px;background:rgba(255,255,255,.97);box-shadow:0 10px 26px rgba(15,23,42,.22);
    align-items:center;justify-content:space-between;gap:9px
  }
  .pos-mobile-checkout-v320>div{display:grid}
  .pos-mobile-checkout-v320 small{font-size:.62rem;color:#64748b;font-weight:800}
  .pos-mobile-checkout-v320 strong{font-size:1rem}
  .pos-mobile-checkout-v320 .btn{min-width:48%;min-height:40px;font-weight:900}
}


/* v323: mobile fixed checkout/status stacking hardening */
@media (max-width:699px){
  .pos-screen-v147{padding-bottom:calc(104px + var(--connection-status-height,0px))!important}
  .pos-screen-v147 .pos-products{padding-bottom:calc(116px + var(--connection-status-height,0px))!important;scroll-padding-bottom:calc(116px + var(--connection-status-height,0px))!important}
  .pos-screen-v147 .pos-right{padding-bottom:calc(104px + var(--connection-status-height,0px))!important}
}

/* v326: mobile-safe daily staff event selector */
.pitareji-daily-event-choices-v326{display:grid;gap:10px}
.pitareji-daily-event-choice-v326{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;border:1px solid #dbe5ef;background:#fff;border-radius:14px;padding:12px 13px;min-height:64px;cursor:pointer;touch-action:manipulation;color:#0b2545}
.pitareji-daily-event-choice-v326:active{transform:translateY(1px)}
.pitareji-daily-event-choice-v326.selected{border:2px solid #2563eb;background:#eff6ff;padding:11px 12px;box-shadow:0 0 0 3px rgba(37,99,235,.08)}
.pitareji-daily-event-radio-v326{width:24px;height:24px;border-radius:999px;border:2px solid #9fb2c5;display:grid;place-items:center;font-size:14px;font-weight:1000;background:#fff;color:#fff}
.pitareji-daily-event-choice-v326.selected .pitareji-daily-event-radio-v326{background:#2563eb;border-color:#2563eb}
.pitareji-daily-event-text-v326{display:grid;gap:3px;min-width:0}
.pitareji-daily-event-text-v326 b{font-size:.93rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pitareji-daily-event-text-v326 small{font-size:.72rem;color:#62758a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:600px){.pitareji-daily-event-choice-v326{grid-template-columns:26px minmax(0,1fr);padding:12px}.pitareji-daily-event-choice-v326 .pitareji-chip-v307{grid-column:2;justify-self:start}.pitareji-daily-event-choice-v326.selected{padding:11px}}


/* v327 daily staff today-event loading feedback */
.pitareji-daily-event-load-v327{font-size:12px;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:9px 11px;margin-bottom:10px}
.pitareji-daily-event-load-v327.warning{color:#92400e;background:#fffbeb;border-color:#fde68a}
.pitareji-daily-event-reload-v327{width:100%;margin-top:10px;margin-bottom:10px}

/* v336 inventory save feedback / stockout clarity */
.inventory-spinner-v336{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-3px;margin-right:7px;animation:pitareji-spin-v336 .75s linear infinite}
@keyframes pitareji-spin-v336{to{transform:rotate(360deg)}}
.inventory-save-status-v336{min-height:22px;margin-top:8px;font-weight:700;text-align:center}
.inventory-save-status-v336.saving{opacity:.78}.inventory-save-status-v336.success{color:#16803c}.inventory-save-status-v336.error{color:#b42318}
.stockout-missing-v336{display:flex;flex-direction:column;gap:3px;margin-top:5px;padding:6px 8px;border-radius:8px;background:rgba(239,68,68,.09);text-align:left;align-items:flex-start}
.stockout-missing-v336>b{font-size:12px}.stockout-missing-v336 span{font-size:12px}.stockout-missing-v336 strong{font-weight:800}
.stockout-toggle-v336.active{border-color:#f59e0b;background:rgba(245,158,11,.12)}
@media(max-width:720px){.pos-cash-tools{flex-wrap:wrap}.stockout-toggle-v336{font-size:12px;padding:7px 9px}.pos-stockout-alert .stockout-missing-v336{display:flex}}
/* v337: compact destructive shift action and clearer grouped cashflow totals */
.shift-delete-controls .btn.danger{width:auto!important;min-width:0!important;flex:0 0 auto!important;padding:8px 12px!important;font-size:.88rem!important}
.financial-group-breakdown-v337{display:block;margin-top:4px;line-height:1.45;opacity:.78}
.financial-group-row-v337>span,.financial-group-row-v337>div{min-width:0}
@media(max-width:720px){.pitareji-shift-detail-wrap-v309 .shift-delete-controls{flex-direction:row;align-items:center}.pitareji-shift-detail-wrap-v309 .shift-delete-controls .input{flex:1 1 180px;width:auto}.pitareji-shift-detail-wrap-v309 .shift-delete-controls .btn.danger{width:auto!important;white-space:nowrap}}
/* v338: past result quick entry */
.shift-detail-actions [data-action="past-result-open-v338"]{margin-top:8px}
.shift-detail-actions [data-action="past-result-open-v338"]+.shift-past-register-note{display:inline-block;margin-left:8px}

/* v339: daily cashflow totals, bottom back action, manager declared sales */
.financial-day-totals-v339{margin-top:12px;padding-top:12px;border-top:2px solid #dbe5ef;display:grid;gap:7px}.financial-day-totals-v339>div{display:flex;justify-content:space-between;gap:12px}.financial-day-totals-v339 .net{font-size:1.05rem;padding-top:7px;border-top:1px solid #e5e7eb}.financial-day-totals-v339 small{color:#64748b}.pitareji-bottom-back-v339{max-width:1100px;margin:18px auto 110px;padding:0 16px}.pitareji-bottom-back-v339 .btn{width:auto;min-width:110px}.manager-declared-sales-v339 .financial-inline-edit{display:flex;gap:10px;align-items:center}.manager-declared-sales-v339 .financial-inline-edit .input{flex:1}
@media(max-width:600px){.manager-declared-sales-v339 .financial-inline-edit{flex-direction:column;align-items:stretch}.manager-declared-sales-v339 .financial-inline-edit .btn{width:100%}}

/* v346: shift staff + account in one card, compact for smartphones */
.shift-account-badge-v346{display:inline-flex;align-items:center;width:fit-content;border-radius:999px;padding:3px 9px;margin:4px 0;font-size:.78rem;font-weight:700;background:#eaf4eb;color:#206c3f}
.shift-account-badge-v346.pending,.shift-account-badge-v346.invalid{background:#fff0de;color:#925300}
.shift-account-badge-v346.invalid{background:#ffe6e6;color:#ad2929}
.shift-account-badge-v346.unknown{background:#eef2f7;color:#4b5d73}
.shift-account-badge-v346.manual{background:#edf0f4;color:#667085}
.shift-account-email-v346{display:block;overflow-wrap:anywhere;color:inherit;opacity:.8;font-size:.78rem}
.shift-link-notice-v346{background:#fff4df;border:1px solid #e7bc6d;border-radius:9px;padding:9px;margin:7px 0}
.shift-detail-staff-row-v346{border-top:1px solid rgba(127,127,127,.2);padding:13px 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,1.2fr);gap:12px;align-items:start}
.shift-detail-link-controls-v346{display:flex;flex-wrap:wrap;gap:7px;align-items:end}
.shift-detail-link-controls-v346 label{width:100%;font-size:.83rem;font-weight:600}
.shift-detail-link-controls-v346 select{flex:1 1 200px;min-width:0;margin:0}
.shift-detail-link-controls-v346 .btn{flex:0 0 auto}
.shift-inline-account-v346{grid-column:1/-1;display:flex;flex-direction:column;gap:4px;padding:6px 10px 9px;border-left:3px solid rgba(100,120,150,.22)}
.shift-inline-account-v346 label{font-size:.8rem;margin-top:2px;font-weight:650}
.shift-inline-account-v346 .input{min-width:0;max-width:520px;margin:0}
.shift-link-refresh-v346{margin-top:10px;font-size:.82rem}
@media(max-width:699px){.shift-detail-staff-row-v346{grid-template-columns:minmax(0,1fr)}.shift-detail-link-controls-v346{display:grid;grid-template-columns:1fr}.shift-detail-link-controls-v346 select,.shift-detail-link-controls-v346 .btn{width:100%;max-width:none}.shift-staff-row{grid-template-columns:1fr 1fr auto}.shift-staff-row .shift-staff-name{grid-column:1/-1}.shift-staff-row .shift-staff-role{grid-column:1/3}.shift-staff-row .shift-inline-account-v346{grid-column:1/-1}}

/* v347: related owner-row correction is opt-in, one shift at a time. */
.shift-owner-other-v347{border-top:1px solid rgba(127,127,127,.24);margin-top:14px;padding-top:12px}
.shift-owner-other-v347 summary{cursor:pointer;font-size:.9rem}
.shift-owner-other-v347 .btn{display:block;text-align:left;margin:7px 0;width:100%;max-width:460px}

/* v348: consecutive-event inventory counters; keep theoretical and physical quantities distinct. */
.series-inventory-row-v348{grid-template-columns:minmax(0,1.75fr) minmax(148px,.85fr)}
.series-inventory-row-v348>div{min-width:0}
.series-inventory-row-v348 .inventory-input-wrap .input{min-width:0;width:100%}
.series-inventory-row-v348 p{margin:5px 0;overflow-wrap:anywhere}
@media(max-width:540px){
 .series-inventory-row-v348{grid-template-columns:minmax(0,1fr)}
 .series-inventory-row-v348 .inventory-input-wrap{max-width:100%}
}

/* v350 historical expense and manual inventory transfer */
.historical-expenses-v350{margin-top:10px;padding:11px;border:1px solid var(--border,#ddd);border-radius:10px;font-size:.9rem}
.historical-expenses-v350 summary{cursor:pointer;margin:8px 0;font-weight:600}
.historical-expense-row-v350{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid rgba(128,128,128,.17)}
.historical-expense-row-v350:last-child{border-bottom:0}
.historical-expense-row-v350 small{display:block;opacity:.75;font-size:.82em}
.v350-transfer-items{max-height:35vh;overflow:auto;margin:10px 0;padding:0 8px;border:1px solid var(--border,#ddd);border-radius:10px}
.inventory-transfer-modal-v350 .product-add-sheet{max-height:90vh;overflow:auto}
