/* Mr Pinkys Tracker V3.12.53 — shared portal visual system */
:root{
  --pink:#e83e92!important;--pink-soft:#ffb9d8!important;--purple:#7c3aed!important;--purple-soft:#d7c8ff!important;
  --blue:#287ee6!important;--blue-soft:#cce3ff!important;--orange:#e97714!important;--orange-soft:#ffd5a5!important;
  --yellow:#e9b91a!important;--ink:#171218!important;--muted:#667085!important;--line:#cfa1ba!important;
  --card:#ffffff!important;--shadow:0 12px 30px rgba(67,38,72,.14)!important;
}
*{box-sizing:border-box}
html,body{min-height:100%;font-family:Arial,Helvetica,sans-serif;color:var(--ink)!important}
body{
  background:linear-gradient(145deg,#ffeaf5 0%,#f3edff 36%,#e9f4ff 68%,#fff0dc 100%)!important;
  background-attachment:fixed!important;
}
body:before{
  content:""!important;position:fixed!important;inset:0!important;pointer-events:none!important;z-index:-2!important;
  background:
    radial-gradient(circle at 7% 13%,rgba(232,62,146,.20) 0 44px,transparent 47px),
    radial-gradient(circle at 90% 14%,rgba(40,126,230,.17) 0 58px,transparent 62px),
    radial-gradient(circle at 23% 80%,rgba(124,58,237,.14) 0 50px,transparent 54px),
    radial-gradient(circle at 91% 73%,rgba(233,119,20,.15) 0 46px,transparent 50px),
    radial-gradient(circle at 65% 91%,rgba(233,185,26,.18) 0 58px,transparent 62px)!important;
}
body:after{
  content:""!important;position:fixed!important;inset:0!important;pointer-events:none!important;z-index:-1!important;
  background:
    radial-gradient(circle at 4% 51%,transparent 0 29px,rgba(232,62,146,.13) 30px 34px,transparent 35px),
    radial-gradient(circle at 96% 35%,transparent 0 34px,rgba(40,126,230,.12) 35px 39px,transparent 40px),
    radial-gradient(circle at 42% 94%,transparent 0 25px,rgba(124,58,237,.12) 26px 30px,transparent 31px)!important;
}
header,.top,.mpt-brandbar{background:rgba(255,255,255,.96)!important;border-color:var(--line)!important}
.card,.item,.hero,.team,.customer,.login,.sectionCard,.newsSection,.laundry-pos-hero,.mpt-dry-panel{
  border-width:2px!important;border-color:var(--line)!important;box-shadow:var(--shadow)!important;
}
h1,h2,h3,h4,h5,h6,.brandwords,.brand b,.staff b,.customer h2,.mpt-dry-title{color:var(--ink)!important}
.muted,.small.muted,.brandsub,.section-subtitle,.mpt-subheading,.heading-help,.mpt-heading-help,
.hero .small,.team>p,.staff small,.customer p,.welcomeSub,.collectionCta .muted,.viewCard .muted{
  color:var(--muted)!important;font-size:13px!important;line-height:1.45!important;font-weight:600!important;
}
button,.btn,.action,.toggleBtn,.back,.enter{
  color:var(--ink)!important;font-size:14px!important;font-weight:900!important;line-height:1.15!important;
  text-shadow:none!important;
}
.primary,.action.in,.back,.login button,.nav button.active{
  background:linear-gradient(135deg,#ff9fc9 0%,#d2bcff 100%)!important;
  border:2px solid #b867a0!important;color:var(--ink)!important;
}
.blue,.action.out{background:#cce4ff!important;border:2px solid #6fa9df!important;color:var(--ink)!important}
.orange,.action.lunch{background:#ffd6a8!important;border:2px solid #e8a252!important;color:var(--ink)!important}
.ghost{background:#f2edf1!important;border:2px solid #c9b8c4!important;color:var(--ink)!important}
.danger{background:#ffd9e3!important;border:2px solid #e98ca7!important;color:var(--ink)!important}
button:hover,.btn:hover,.action:hover,.staff:hover,.customer:hover{filter:brightness(.98) saturate(1.08)}
.field label{color:#4f4650!important;font-size:12px!important;font-weight:900!important}
.field input,.field select,.field textarea,input,select,textarea{border-color:#bfa4b5!important}
.ico,.portal-hero-icon,.portal-heading-icon,.heading-icon{
  opacity:1!important;filter:none!important;text-shadow:none!important;color:var(--ink)!important;
}
.ico{
  width:44px!important;height:44px!important;display:grid!important;place-items:center!important;font-size:24px!important;
  background:#fff!important;border:2px solid #bd7ca1!important;box-shadow:0 4px 12px rgba(65,38,67,.14)!important;
}
.management .ico{border-color:#9b7ad8!important;background:#f0e9ff!important}.laundry .ico{border-color:#db75a5!important;background:#ffe4f0!important}
.driver .ico{border-color:#6aa8dc!important;background:#e4f2ff!important}.clock .ico{border-color:#dfaa4c!important;background:#fff0cf!important}
.laundry-icon{opacity:.34!important;filter:saturate(1.1) contrast(1.1)!important}
.portal-hero-icon{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:17px;background:#fff;border:2px solid #bd7ca1;font-size:30px;margin-bottom:8px;box-shadow:0 6px 16px rgba(65,38,67,.13)}
/* Portal-home follows the same light card language as every other portal. */
.portal-home .customer{background:linear-gradient(135deg,#ffd0e4 0%,#e5dbff 54%,#ddecff 100%)!important;color:var(--ink)!important}
.portal-home .customer p{color:var(--muted)!important}.portal-home .customer .eyebrow{color:#6e3a59!important;opacity:1!important}
.portal-home .customer-features span{background:rgba(255,255,255,.78)!important;color:var(--ink)!important;border:1px solid #c89bb4!important}
.portal-home .enter{background:#fff!important;border:2px solid #ba82a4!important;color:var(--ink)!important}
.portal-home .team{background:rgba(255,255,255,.94)!important}
.portal-home .laundry-icon{opacity:.42!important}
/* Strong, readable portal identity icons. */
.customer-portal .brand b:before{content:"👕";margin-right:8px}.clock-portal .brand b:before{content:"⏱️";margin-right:8px}
.staff-portal #management .brandwords:before{content:"⚙️ ";}.staff-portal #laundry .brandwords:before{content:"🧺 ";}.staff-portal #driver .brandwords:before{content:"🚚 ";}
/* Uniform section treatment and readable subtitles. */
.mpt-heading-help{margin:4px 0 10px!important;max-width:920px!important}
.sectionHead h2,.sectionHead h3,.row h3{margin-bottom:3px!important}
.laundry-pos-hero{background:linear-gradient(135deg,#ffc8df,#dbeaff 56%,#ffe0b6)!important}
.laundry-stat{border:2px solid #b78ca8!important;color:var(--ink)!important}
.laundry-stat:nth-child(1){background:#ffe0ed!important}.laundry-stat:nth-child(2){background:#dfeeff!important}.laundry-stat:nth-child(3){background:#ebe1ff!important}.laundry-stat:nth-child(4){background:#ffe4c5!important}.laundry-stat:nth-child(5){background:#fff0b9!important}
/* Dry-cleaning WhatsApp panel. */
.dry-wa-panel{margin:12px 0;padding:14px;border:2px solid #55a977;border-radius:16px;background:linear-gradient(135deg,#e6f8ed,#f7fff9)}
.dry-wa-panel .wa-number-pills{display:flex;gap:7px;flex-wrap:wrap;margin-top:6px}.dry-wa-panel .wa-number-pills button{min-height:36px;padding:7px 10px;border-radius:999px;background:#fff;border:1px solid #78b990}
.dry-settings-card{border-color:#55a977!important;background:linear-gradient(135deg,#f1fff6,#fff)!important}
/* Keep icons and text readable on small touchscreens. */
@media(max-width:800px){.ico{width:42px!important;height:42px!important;font-size:23px!important}.portal-hero-icon{width:50px;height:50px;font-size:27px}}


/* V3.12.63 branding refresh — static CSS only; application logic unchanged. */
.portal-home .head .logo{height:132px!important;width:min(270px,70vw)!important;object-fit:contain!important}
.staff-portal .brandlogo img,.staff-portal .mpt-brandbar img{object-fit:contain!important}
.customer-portal .brand img{max-height:64px!important;width:auto!important;object-fit:contain!important}
@media(max-width:800px){
  .portal-home .head .logo{height:92px!important;width:min(210px,62vw)!important}
  .staff-portal header .logo{width:62px!important;height:54px!important}
  .staff-portal header .brandlogo img{height:48px!important;max-width:120px!important}
  .staff-portal .mpt-brandbar img{height:48px!important;max-width:120px!important}
  .customer-portal .brand img{max-height:48px!important;max-width:120px!important}
}

/* V3.12.63 Management login branding */
.staff-portal #loginView .logo.brandlogo{width:150px!important;height:150px!important;max-width:42vw!important;background:transparent!important;border-radius:0!important;padding:0!important;overflow:visible!important}
.staff-portal #loginView .brandlogo img{width:100%!important;height:100%!important;max-width:150px!important;object-fit:contain!important;background:transparent!important;border-radius:0!important}
@media(max-width:800px){.staff-portal #loginView .logo.brandlogo{width:120px!important;height:120px!important}.staff-portal #loginView .brandlogo img{max-width:120px!important}}
