/* Force-hide WordPress admin toolbar on our standalone dashboard */
#wpadminbar { display: none !important; }
html { margin-top: 0 !important; }
body.admin-bar { margin-top: 0 !important; }

.tmswb-logo { display: block; object-fit: contain; }
.tmswb-logo-sm { height: 22px; width: auto; }
.tmswb-logo-lg { height: 30px; width: auto; }
.tmswb-brandwrap { display: flex; align-items: center; }
/*
  TMS Workshop Booking – Frontend Admin Dashboard UI
  Fonts:
  - Body: Nunito
  - Headings/Titles: Montserrat
*/

@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700;800&family=Nunito:wght@400;600;700&display=swap");


:root{
  --tmswb-bg:#f4f7ff;
  --tmswb-text:#0f172a;
  --tmswb-muted:#64748b;
  --tmswb-border:#e2e8f0;
  --tmswb-card:#ffffff;
  --tmswb-primary:#2563eb;
  --tmswb-primary2:#1d4ed8;
  --tmswb-danger:#dc2626;
  --tmswb-success:#16a34a;
}

html{font-size:10px;}

body.tmswb-dashboard-page{
  margin:0;
  padding:0;
  background:var(--tmswb-bg);
  color:var(--tmswb-text);
  font-family:Nunito,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-size:1.4rem;
}

/* Base helpers */
.tmswb-muted{color:var(--tmswb-muted);}
.tmswb-h1,.tmswb-h2,.tmswb-page-title,.tmswb-dash-title,.tmswb-auth-title,.tmswb-brand,.tmswb-brand-sm{
  font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

/* Shell + background slab */
.tmswb-shell{
  position:relative;
  min-height:100vh;
  width:100%;
  box-sizing:border-box;
  padding:5.6rem 2.4rem;
  display:flex;
  align-items:center;
  justify-content:center;
}

.tmswb-shell::before{
  content:"";
  position:absolute;
  width:min(1080px, 94vw);
  height:min(600px, 76vh);
  background:rgba(37, 99, 235, .08);
  border-radius:3.2rem;
  top:50%;
  left:50%;
  transform:translate(-44%, -54%);
  z-index:0;
}

.tmswb-shell-app{
  align-items:flex-start;
}
.tmswb-shell-app::before{
  height:360px;
  top:0;
  transform:translate(-44%, 0);
}

/* Alerts */
.tmswb-dash-alert{
  position:relative;
  z-index:2;
  width:min(1240px, 100%);
  margin:0 auto 1.6rem;
  border-radius:1.8rem;
  padding:1.4rem 1.6rem;
  border:1px solid var(--tmswb-border);
  background:#fff;
  box-shadow:0 10px 24px rgba(2,6,23,.06);
}
.tmswb-dash-alert-success{background:rgba(22,163,74,.10);border-color:rgba(22,163,74,.28);} 
.tmswb-dash-alert-error{background:rgba(220,38,38,.09);border-color:rgba(220,38,38,.28);} 

/* Alerts inside the login card */
.tmswb-auth-right-inner .tmswb-dash-alert{
  width:100%;
  margin:0 0 1.4rem 0;
  border-radius:1.6rem;
  padding:1.1rem 1.3rem;
  box-shadow:0 12px 26px rgba(2,6,23,.10);
}

/* Auth (Login) card */
.tmswb-auth-card{
  position:relative;
  z-index:1;
  width:min(1040px, 100%);
  background:var(--tmswb-card);
  border-radius:3.2rem;
  overflow:hidden;
  box-shadow:0 44px 120px rgba(2,6,23,.18);
  display:grid;
  grid-template-columns:1.05fr .95fr;
}

.tmswb-auth-left{
  position:relative;
  padding:5.2rem 5.6rem;
  color:#fff;
  background:linear-gradient(160deg, #46b1ff 0%, #0b69ff 55%, #0a4fe6 100%);
}

.tmswb-brand{
  font-weight:700;
  font-size:2.3rem;
  letter-spacing:.02em;
  opacity:.95;
}
.tmswb-brand sup{font-size:1.2rem;top:-.6em;position:relative;}

.tmswb-auth-kicker{
  margin-top:5.4rem;
  font-size:2.0rem;
  opacity:.92;
}

.tmswb-auth-title{
  margin-top:1.4rem;
  font-weight:800;
  font-size:5.6rem;
  line-height:1.05;
  letter-spacing:.04em;
}

.tmswb-auth-desc{
  margin-top:2.4rem;
  max-width:42rem;
  font-size:1.5rem;
  line-height:1.75;
  opacity:.92;
}

.tmswb-auth-circles{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.tmswb-auth-circles::before,
.tmswb-auth-circles::after{
  content:"";
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.22);
}
.tmswb-auth-circles::before{
  width:28rem;
  height:28rem;
  left:7.2rem;
  bottom:7.6rem;
}
.tmswb-auth-circles::after{
  width:18rem;
  height:18rem;
  left:18.4rem;
  bottom:16.2rem;
  border-color:rgba(255,255,255,.18);
}

.tmswb-auth-right{
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:5.2rem 6.0rem;
}
.tmswb-auth-right-inner{width:100%;max-width:38rem;}

.tmswb-h1{
  margin:0;
  font-size:3.2rem;
  font-weight:700;
  color:var(--tmswb-text);
}
.tmswb-h2{
  margin:0;
  font-size:2.0rem;
  font-weight:700;
  color:var(--tmswb-text);
}

/* Form */
.tmswb-form{margin-top:3.0rem;display:flex;flex-direction:column;gap:1.8rem;}
.tmswb-field label{display:block;font-size:1.2rem;color:var(--tmswb-muted);margin-bottom:.8rem;}

.tmswb-form input[type=text],
.tmswb-form input[type=password],
.tmswb-form input[type=month],
.tmswb-filter input[type=text],
.tmswb-filter input[type=date],
.tmswb-filter input[type=month],
.tmswb-filter select,
.tmswb-reportbar input[type=month],
.tmswb-bulkactions select,
.tmswb-col-action select{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  border:1px solid var(--tmswb-border);
  border-radius:1.4rem;
  padding:1.4rem 1.6rem;
  background:#fff;
  outline:none;
  font-size:1.4rem;
}

.tmswb-form input:focus,
.tmswb-filter input:focus,
.tmswb-filter select:focus,
.tmswb-reportbar input:focus,
.tmswb-month-input:focus,
.tmswb-bulkactions select:focus,
.tmswb-col-action select:focus{
  border-color:rgba(37,99,235,.55);
  box-shadow:0 0 0 6px rgba(37,99,235,.12);
}

/* Screen-reader only */
.tmswb-sr{
  position:absolute !important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.tmswb-check{
  display:flex;
  align-items:center;
  gap:1.0rem;
  margin:.2rem 0 .6rem;
  font-size:1.3rem;
  color:var(--tmswb-muted);
}

/* Buttons */
.tmswb-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.8rem;
  border:none;
  border-radius:999px;
  padding:1.3rem 2.2rem;
  font-weight:700;
  font-size:1.3rem;
  cursor:pointer;
  text-decoration:none;
  line-height:1;
  color:#fff;
  background:linear-gradient(180deg, var(--tmswb-primary2), var(--tmswb-primary));
  box-shadow:0 18px 36px rgba(37,99,235,.28);
  font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  letter-spacing:.02em;
  text-transform:none;
}
.tmswb-btn:hover{filter:brightness(.98);transform:translateY(-1px);} 
.tmswb-btn:active{transform:translateY(0);} 

.tmswb-btn-ghost{
  background:rgba(255,255,255,.85);
  color:var(--tmswb-primary);
  border:1px solid rgba(37,99,235,.22);
  box-shadow:none;
  text-transform:none;
  letter-spacing:.02em;
  font-family:Nunito,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-weight:700;
}

.tmswb-btn-small{padding:1.0rem 1.4rem;font-size:1.2rem;letter-spacing:.06em;}
.tmswb-btn-lg{width:fit-content;min-width:16rem;letter-spacing:.18em;text-transform:uppercase;}

/* App layout */
.tmswb-app{
  position:relative;
  z-index:1;
  width:min(1240px, 100%);
}

.tmswb-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.2rem;
  padding:1.6rem 1.8rem;
  border-radius:2.4rem;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(226,232,240,.8);
  box-shadow:0 16px 42px rgba(2,6,23,.08);
  backdrop-filter:blur(10px);
}

.tmswb-topbar-left{display:flex;align-items:center;gap:1.2rem;min-width:0;}
.tmswb-brand-sm{
  font-weight:800;
  font-size:1.6rem;
  color:var(--tmswb-primary2);
  letter-spacing:.02em;
}
.tmswb-brand-sm sup{font-size:1.0rem;top:-.5em;position:relative;}
.tmswb-page-title{
  font-weight:700;
  font-size:1.6rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.tmswb-topbar-right{display:flex;align-items:center;gap:1.2rem;}
.tmswb-user{color:var(--tmswb-muted);font-size:1.3rem;max-width:28rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

.tmswb-main{margin-top:1.8rem;}

/* Cards */
.tmswb-card{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(226,232,240,.9);
  border-radius:2.4rem;
  box-shadow:0 26px 80px rgba(2,6,23,.10);
  padding:1.8rem;
}

.tmswb-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1.2rem;
  margin-bottom:1.2rem;
}

.tmswb-card-head-right{
  display:flex;
  align-items:center;
  gap:.8rem;
  flex-wrap:wrap;
  justify-content:flex-end;
}

/* Monthly report (inline next to Export CSV) */
.tmswb-monthly-inline{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin:0;padding:0;}
.tmswb-month-input{
  width:auto;
  min-width:14.5rem;
  max-width:18rem;
  box-sizing:border-box;
  border:1px solid var(--tmswb-border);
  border-radius:999px;
  padding:1.0rem 1.2rem;
  background:#fff;
  outline:none;
  font-size:1.2rem;
  line-height:1;
}

.tmswb-pill{
  background:rgba(37,99,235,.08);
  border:1px solid rgba(37,99,235,.18);
  border-radius:999px;
  padding:.7rem 1.1rem;
  font-size:1.2rem;
  color:var(--tmswb-primary2);
  white-space:nowrap;
}

/* Filters */
.tmswb-filter{
  display:grid;
  grid-template-columns:2fr 2fr 1.25fr 1.25fr auto;
  gap:1.2rem;
  align-items:end;
  margin:1.6rem 0 .8rem;
}
.tmswb-filter-actions{display:flex;gap:.8rem;align-items:center;}

/* Monthly report bar */
.tmswb-reportbar{
  display:grid;
  grid-template-columns:1fr auto;
  gap:1.2rem;
  align-items:end;
  margin:.6rem 0 1.4rem;
  padding:1.2rem;
  border:1px dashed rgba(148,163,184,.55);
  border-radius:1.8rem;
  background:rgba(241,245,249,.55);
}
.tmswb-report-actions{display:flex;gap:.8rem;align-items:center;justify-content:flex-end;}

/* Bulk actions */
.tmswb-bulkactions{
  display:flex;
  gap:1.0rem;
  align-items:center;
  flex-wrap:wrap;
  margin:1.2rem 0 1.2rem;
}
.tmswb-bulkactions select{width:auto;min-width:18rem;padding:1.2rem 1.4rem;border-radius:1.4rem;}

/* Table */
.tmswb-table{
  border:1px solid rgba(226,232,240,.9);
  border-radius:2.0rem;
  overflow:auto;
  background:#fff;
}
.tmswb-table table{width:100%;border-collapse:collapse;min-width:980px;}
.tmswb-table th,.tmswb-table td{padding:1.4rem;border-bottom:1px solid rgba(226,232,240,.9);vertical-align:top;font-size:1.3rem;}
.tmswb-table th{
  background:rgba(241,245,249,.85);
  color:#334155;
  font-weight:800;
  font-size:1.2rem;
}
.tmswb-table tbody tr:hover{background:rgba(248,250,252,.8);} 
.tmswb-col-check{width:3.6rem;}
.tmswb-col-action{white-space:nowrap;}
.tmswb-col-action select{width:auto;min-width:14rem;padding:1.1rem 1.2rem;border-radius:1.4rem;margin-right:.8rem;}
.tmswb-empty{text-align:center;color:var(--tmswb-muted);padding:2.0rem;}

/* Helpers for responsive table cells */
.tmswb-cell{display:block;max-width:100%;overflow-wrap:anywhere;}
.tmswb-sub{margin-top:.4rem;color:var(--tmswb-muted);font-size:1.2rem;overflow-wrap:anywhere;}

/* Responsive */
@media (max-width:980px){
  .tmswb-filter{grid-template-columns:1fr 1fr;}
  .tmswb-reportbar{grid-template-columns:1fr auto;}
  .tmswb-bulkactions select{min-width:0;flex:1;}
}

@media (max-width:820px){
  .tmswb-auth-card{grid-template-columns:1fr;}
  .tmswb-auth-left{padding:4.2rem 3.2rem;}
  .tmswb-auth-right{padding:4.2rem 3.2rem;}
  .tmswb-auth-kicker{margin-top:3.4rem;}
  .tmswb-auth-title{font-size:4.4rem;}
  .tmswb-shell::before{height:520px;transform:translate(-50%, -56%);} 
}

@media (max-width:720px){
  .tmswb-shell{padding:2.0rem 1.4rem;}
  .tmswb-shell::before{display:none;}

  .tmswb-topbar{flex-direction:column;align-items:flex-start;gap:1.0rem;}
  .tmswb-topbar-right{width:100%;justify-content:space-between;}

  .tmswb-filter{grid-template-columns:1fr;}
  .tmswb-filter-actions{width:100%;}
  .tmswb-filter-actions .tmswb-btn{flex:1;}

  .tmswb-reportbar{grid-template-columns:1fr;}
  .tmswb-report-actions{width:100%;}
  .tmswb-report-actions .tmswb-btn{width:100%;}

  .tmswb-bulkactions{flex-direction:column;align-items:stretch;}
  .tmswb-bulkactions select,.tmswb-bulkactions .tmswb-btn{width:100%;}
  .tmswb-bulkactions .tmswb-muted{display:none;}

  /* Mobile cards (no horizontal scroll) */
  .tmswb-table{border:none;border-radius:0;overflow:visible;background:transparent;}
  .tmswb-table table{min-width:0;}
  .tmswb-table thead{display:none;}
  .tmswb-table tbody tr{display:block;border:1px solid rgba(226,232,240,.9);border-radius:2.0rem;padding:1.4rem;margin:0 0 1.2rem;background:rgba(255,255,255,.95);box-shadow:0 14px 34px rgba(2,6,23,.08);} 
  .tmswb-table tbody td{display:flex;align-items:flex-start;justify-content:space-between;gap:1.2rem;padding:1.0rem 0;border-bottom:1px dashed rgba(226,232,240,.9);font-size:1.3rem;}
  .tmswb-table tbody td:last-child{border-bottom:none;}
  .tmswb-table tbody td::before{content:attr(data-label);font-weight:800;color:#334155;max-width:46%;}
  .tmswb-table tbody td .tmswb-cell{max-width:54%;text-align:right;}

  /* Action cell: stack controls */
  .tmswb-table tbody td.tmswb-col-action{display:block;}
  .tmswb-table tbody td.tmswb-col-action::before{display:block;margin-bottom:.8rem;}
  .tmswb-table tbody td.tmswb-col-action .tmswb-cell{max-width:100%;text-align:left;}
  .tmswb-col-action select{width:100%;margin:0 0 .8rem 0;}
  .tmswb-col-action .tmswb-btn{width:100%;}

  /* Checkbox cell */
  .tmswb-table tbody td.tmswb-col-check{justify-content:flex-start;}
  .tmswb-table tbody td.tmswb-col-check::before{display:none;}
  .tmswb-table tbody td.tmswb-col-check .tmswb-cell{max-width:100%;text-align:left;}
}

@media (max-width:420px){
  .tmswb-auth-title{font-size:3.8rem;}
  .tmswb-pill{display:none;}
}

/* reCAPTCHA responsive */
.tmswb-recaptcha{margin:1.0rem 0 1.2rem 0;}
@media (max-width:420px){
  .tmswb-recaptcha .g-recaptcha{transform:scale(.92);transform-origin:left top;}
}

/* Safety: prevent horizontal scroll on small devices */
body.tmswb-dashboard-page{
  max-width:100%;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
}
body.tmswb-dashboard-page img{max-width:100%;height:auto;}

/* ------------------------------------------------------------------
   Global: remove all outer paddings (user request)
-------------------------------------------------------------------*/
.tmswb-shell{
  padding:0 !important;
  align-items:flex-start;
}


/* Language selector */
.tmswb-auth-lang{display:flex;justify-content:flex-end;margin-bottom:10px;}
.tmswb-lang-wrap{display:flex;align-items:center;}
.tmswb-lang{
  border:1px solid rgba(15,23,42,.12);
  border-radius:999px;
  padding:6px 10px;
  background:#fff;
  font-size:12px;
  font-weight:700;
  font-family:Nunito,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}
