
/* =========================================================
   APPLAUD CRM V4 STABLE - RESPONSIVE ADMIN / MEMBER UI
   ========================================================= */
.v4-toolbar{align-items:flex-start}
.v4-min-0{min-width:0}
.v4-info-strip,.v4-price-preview{
  padding:12px 14px;border:1px solid #e0e6ea;border-radius:12px;
  background:#f8fafb;color:#40515d;line-height:1.5
}
.v4-info-strip{margin-bottom:14px}
.v4-plan-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:14px;margin-bottom:18px
}
.v4-plan-card{
  min-width:0;background:#fff;border:1px solid #dfe6ea;border-radius:16px;
  padding:16px;box-shadow:0 7px 22px rgba(15,34,52,.045)
}
.v4-plan-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.v4-plan-card h3{margin:0 0 6px;overflow-wrap:anywhere}
.v4-badges{display:flex;gap:6px;flex-wrap:wrap}
.v4-plan-price{font-size:25px;font-weight:900;margin:16px 0;color:#102435}
.v4-plan-price small{font-size:12px;color:#6d7c86;font-weight:700}
.v4-plan-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.v4-plan-stats span{background:#f7f9fa;border-radius:10px;padding:10px;min-width:0}
.v4-plan-stats b,.v4-plan-stats small{display:block}
.v4-plan-stats small{font-size:10px;color:#71808a;margin-top:2px}
.v4-plan-description{
  margin:12px 0 0;color:#5c6d78;line-height:1.45;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;
  overflow:hidden;overflow-wrap:anywhere
}
.v4-archive-list{display:grid;gap:8px}
.v4-archive-row{
  display:grid;grid-template-columns:minmax(180px,1fr) auto auto auto;
  gap:12px;align-items:center;padding:11px;border:1px solid #e4e9ec;border-radius:11px
}
.v4-archive-row small{
  display:block;margin-top:3px;color:#74838c;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;max-width:720px
}
.v4-modal-scroll{max-height:min(88vh,850px);overflow:auto}
.v4-form-actions{display:flex;gap:8px;flex-wrap:wrap}
.v4-table-wrap{overflow:auto}
.v4-table-wrap table{min-width:760px}
.v4-actions-cell{white-space:nowrap}
.v4-actions-cell .link-btn{margin-right:8px}

/* seat states */
.v4-seat-header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}
.v4-seat-header small{display:block;color:#71808a;margin-top:3px}
.v4-seat-legend{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:#60717d}
.v4-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px}
.v4-dot.free{background:#23a667}
.v4-dot.day{background:#3478d4}
.v4-dot.night{background:#ee8b22}
.v4-dot.both{background:#7c4cc9}
.v4-seat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:9px}
.v4-seat-card{
  min-width:0;position:relative;border:1px solid #cee2d7;border-radius:12px;
  padding:11px 10px;min-height:84px;display:flex;flex-direction:column;gap:2px;
  cursor:pointer;transition:.15s
}
.v4-seat-card input{position:absolute;right:9px;top:9px}
.v4-seat-card b{color:#112638}
.v4-seat-card small{color:#657782}
.v4-seat-card em{font-size:10px;font-style:normal;margin-top:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4-seat-card.free{background:#f4fff8;border-color:#bce3ca}.v4-seat-card.free em{color:#168650}
.v4-seat-card.day{background:#eef5ff;border-color:#b9cff0}.v4-seat-card.day em{color:#2f69b7}
.v4-seat-card.night{background:#fff7ec;border-color:#f1d0a5}.v4-seat-card.night em{color:#b66c16}
.v4-seat-card.both{background:#f6f0ff;border-color:#d3bff0}.v4-seat-card.both em{color:#6941ad}
.v4-seat-card.blocked-selected-shift{opacity:.55;cursor:not-allowed;filter:saturate(.75)}
.v4-seat-card:has(input:checked){outline:2px solid #f40055;box-shadow:0 0 0 3px rgba(244,0,85,.08)}

.v4-desk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.v4-desk-card{border-radius:14px;padding:14px;border:1px solid #dfe5e9;min-width:0}
.v4-desk-card.free{background:#f4fff8;border-color:#bce3ca}
.v4-desk-card.day{background:#eef5ff;border-color:#b9cff0}
.v4-desk-card.night{background:#fff7ec;border-color:#f1d0a5}
.v4-desk-card.both{background:#f6f0ff;border-color:#d3bff0}
.v4-desk-icon{font-size:20px;margin-bottom:8px}
.v4-desk-status{margin-top:10px;padding-top:8px;border-top:1px solid rgba(70,85,96,.14)}
.v4-desk-status span{display:block;font-size:11px;margin-top:3px;overflow-wrap:anywhere}

.v4-alert-backdrop{
  position:fixed;inset:0;background:rgba(5,17,28,.38);z-index:9999;
  display:grid;place-items:center;padding:18px
}
.v4-alert-card{
  width:min(440px,100%);background:#fff;border-radius:18px;padding:24px;
  box-shadow:0 24px 70px rgba(0,0,0,.25);text-align:center
}
.v4-alert-card h3{margin:10px 0 6px}
.v4-alert-card p{color:#5c6d77;line-height:1.5}
.v4-alert-icon{
  width:52px;height:52px;border-radius:50%;display:grid;place-items:center;
  margin:auto;background:#fff0f2;color:#e40046;font-size:28px;font-weight:900
}
.v4-alert-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:15px}
.v4-log{
  max-height:360px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;
  background:#0f1720;color:#d6e0e8;border-radius:12px;padding:14px;font-size:11px
}

@media(max-width:900px){
  .v4-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v4-archive-row{grid-template-columns:1fr auto}
  .v4-archive-row>div:nth-child(3),.v4-archive-row>button{justify-self:start}
}
@media(max-width:680px){
  .v4-plan-grid{grid-template-columns:1fr}
  .v4-plan-card-head{flex-direction:column}
  .v4-plan-card-head .btn{width:100%}
  .v4-archive-row{grid-template-columns:1fr}
  .v4-seat-header{align-items:flex-start;flex-direction:column}
  .v4-seat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v4-desk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v4-form-actions .btn{width:100%}
  .v4-alert-actions{display:grid;grid-template-columns:1fr;width:100%}
}
@media(max-width:430px){
  .v4-seat-grid,.v4-desk-grid{grid-template-columns:1fr}
  .v4-plan-stats{grid-template-columns:1fr 1fr}
}
