:root{--p:#b62d6b;--p2:#7f1748;--bg:#f7f7fa;--card:#fff;--text:#20212a;--muted:#70727c;--line:#ececf1;--ok:#198754;--warn:#b7791f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#faf8fb,#f5f5f8);font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--text)}a{text-decoration:none;color:inherit}.partner-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);box-shadow:0 8px 28px rgba(25,25,40,.07)}.partner-head-row{min-height:64px;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.partner-brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{width:42px;height:42px;flex:0 0 42px;border-radius:14px;background:linear-gradient(135deg,var(--p),var(--p2));display:grid;place-items:center;color:#fff;font-size:20px;box-shadow:0 8px 18px rgba(182,45,107,.22)}.partner-brand b{display:block;font-weight:900}.partner-brand small{display:block;font-size:11px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.partner-menu-btn{display:none;border:0;background:#f2edf0;color:#4a3c43;border-radius:12px;width:44px;height:42px;font-size:21px}.partner-nav{padding:0 16px 11px;display:flex;gap:7px;flex-wrap:wrap}.partner-nav a{padding:9px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:#454650;font-size:12px;font-weight:850;white-space:nowrap}.partner-nav a:hover{border-color:#e1b4c9;color:var(--p)}.partner-wrap{max-width:1120px;margin:auto;padding:24px 16px}.hero{background:linear-gradient(135deg,#fff,#fff5fa);border:1px solid #efdce6;border-radius:24px;padding:24px;box-shadow:0 14px 40px rgba(62,26,45,.08)}.hero h1{margin:0 0 6px;font-size:28px}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:15px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 8px 28px rgba(30,30,45,.05)}.stat-label{color:var(--muted);font-size:12px;font-weight:700}.stat-num{font-size:28px;font-weight:950;margin-top:7px}.section-title{font-size:19px;margin:24px 0 10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:11px;padding:11px 14px;background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;font-weight:850;cursor:pointer}.btn.alt{background:#f0f0f4;color:#292a31}.field{width:100%;padding:12px 13px;border:1px solid #dddde5;border-radius:11px;background:#fff;margin:5px 0;outline:none}.field:focus{border-color:#d28aaa;box-shadow:0 0 0 3px rgba(182,45,107,.08)}.row{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:850;background:#f0f0f4}.badge.ok{background:#e8f8ef;color:#18733d}.badge.warn{background:#fff4dc;color:#8a5a08}@media(max-width:780px){.partner-menu-btn{display:block}.partner-nav{display:none;padding:8px 10px 12px;max-height:calc(100dvh - 64px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.partner-nav.open{display:flex;flex-direction:column}.partner-nav a{width:100%;padding:12px 14px}.grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.grid{grid-template-columns:1fr}.partner-wrap{padding:15px 11px}.hero{padding:18px}.hero h1{font-size:23px}}

/* V11.1.3 full mobile reliability pass */
@media(max-width:650px){html,body{overflow-x:hidden}.partner-wrap{width:100%;max-width:100%;box-sizing:border-box}.partner-wrap *{max-width:100%}.partner-nav a{box-sizing:border-box}.card{min-width:0;overflow:hidden}.card h1,.card h2,.card h3{overflow-wrap:anywhere;word-break:break-word}.row{min-width:0}.row>*{min-width:0}.btn{min-height:44px;box-sizing:border-box}.field{box-sizing:border-box;min-width:0}.card p,.card li{overflow-wrap:anywhere;word-break:break-word}input,select,textarea,button{max-width:100%;box-sizing:border-box}}

.presence-card{display:flex;justify-content:space-between;align-items:center;gap:16px}.presence-btn{border:0;border-radius:14px;padding:13px 18px;font-weight:900;cursor:pointer}.presence-btn.on{background:#dff7e8;color:#087a39}.presence-btn.off{background:#eee;color:#444}.partner-online-note{font-size:12px;color:#666;padding:8px}@media(max-width:650px){.presence-card{display:block}.presence-btn{width:100%;min-height:46px}}

/* V11.2.23 MOBILE-FIRST HARDENING */
html,body{max-width:100%;overflow-x:hidden}
img,video,canvas,svg{max-width:100%;height:auto}
pre,code{max-width:100%;overflow:auto}
button,input,select,textarea{max-width:100%;box-sizing:border-box}
.partner-header{width:100%;overflow:visible}
.partner-head-row{min-width:0}
.partner-brand{min-width:0;flex:1 1 auto}
.partner-brand small{max-width:min(45vw,220px)}
.partner-nav{max-width:100%;box-sizing:border-box}
.partner-nav a{overflow-wrap:anywhere}
.partner-wrap{width:100%;max-width:1120px;box-sizing:border-box}
.card,.hero{min-width:0;overflow:hidden}
.card>*{max-width:100%}
.row{width:100%;box-sizing:border-box}
.row>form{min-width:0;max-width:100%}
.row .field{flex:1 1 180px;min-width:0}
table{max-width:100%}
@media(max-width:780px){
  .partner-head-row{padding:8px 11px;gap:8px}
  .brand-mark{width:38px;height:38px;flex-basis:38px;border-radius:11px;font-size:18px}
  .partner-brand b{font-size:14px}
  .partner-brand small{font-size:10px;max-width:42vw}
  .partner-notify{font-size:20px;margin-right:2px}
  .partner-menu-btn{flex:0 0 44px}
  .partner-nav.open{max-height:calc(100dvh - 56px)}
  .partner-wrap{padding:14px 10px 55px}
  .hero,.card{border-radius:16px;padding:14px}
  .hero h1{font-size:22px;line-height:1.2}
  .section-title{font-size:18px}
  .stat-num{font-size:24px}
  .btn{width:100%;min-height:44px;padding:11px 12px}
  .row{display:grid;grid-template-columns:1fr;gap:8px;align-items:stretch}
  .row .btn,.row a.btn,.row button{width:100%}
  .field{font-size:16px;min-height:44px}
  table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
}
@media(max-width:480px){
  .partner-nav{padding-left:8px;padding-right:8px}
  .partner-nav a{font-size:13px;min-height:44px;display:flex;align-items:center}
  .partner-online-note{padding:10px 8px}
  .hero h1{font-size:20px}
  .card h2{font-size:19px}
  .card h3{font-size:17px}
  .grid{grid-template-columns:1fr!important}
}

/* V10 — visible action controls: restore action colours after generic input styling. */
input[type="submit"].btn, input[type="button"].btn{
  -webkit-appearance:none!important; appearance:none!important;
  background:linear-gradient(135deg,#e84393,#ef5aa0)!important;
  background-color:#e84393!important; background-image:linear-gradient(135deg,#e84393,#ef5aa0)!important;
  color:#fff!important; border:0!important; border-radius:11px!important;
  font:inherit; font-weight:700!important; text-align:center; cursor:pointer;
  opacity:1!important; visibility:visible!important; display:inline-flex!important;
  align-items:center; justify-content:center; min-height:44px;
}
input[type="submit"].option-btn, input[type="button"].option-btn{
  -webkit-appearance:none!important; appearance:none!important;
  background:#f39c12!important; background-color:#f39c12!important; background-image:none!important;
  color:#fff!important; border:0!important; cursor:pointer; opacity:1!important; visibility:visible!important;
}
input[type="submit"].delete-btn, input[type="button"].delete-btn{
  -webkit-appearance:none!important; appearance:none!important;
  background:#c0392b!important; background-color:#c0392b!important; background-image:none!important;
  color:#fff!important; border:0!important; cursor:pointer; opacity:1!important; visibility:visible!important;
}
@media(max-width:768px){input[type="submit"].btn,input[type="submit"].option-btn,input[type="submit"].delete-btn{width:100%;min-height:46px;padding:.9rem 1rem!important;white-space:normal;line-height:1.2}}


/* SM Flora A2Z Mobile Premium Hardening V1 — additive only */
html{overflow-x:hidden;scroll-behavior:smooth}
body{overflow-x:hidden;max-width:100%;-webkit-text-size-adjust:100%}
img,video,iframe{max-width:100%;height:auto}
input,select,textarea,button{max-width:100%;box-sizing:border-box}
button,a.btn,.btn,input[type=submit],input[type=button]{touch-action:manipulation}
@media(max-width:600px){
  body{font-size:14px}
  h1,h2,h3,h4{overflow-wrap:anywhere}
  .box-container,.card,.settings-card,.admin-order-card,.order-card,.panel,.payment-panel{max-width:100%;box-sizing:border-box}
  .row,.grid,.actions{max-width:100%}
  table{max-width:100%}
  textarea{resize:vertical}
  input,select,textarea{min-height:44px}
  button,.btn,input[type=submit],input[type=button]{min-height:44px}
}

/* SM Flora Auth Mobile UI V1 - scoped to Partner authentication screens */
.sm-partner-auth{width:100%;box-sizing:border-box;}
.sm-partner-auth .panel{width:100%;box-sizing:border-box;}
.sm-partner-auth h1{font-size:clamp(22px,6vw,30px);line-height:1.2;overflow-wrap:anywhere;}
@media(max-width:520px){
  .sm-partner-auth{margin:2vh auto!important;padding:10px!important;}
  .sm-partner-auth .panel{padding:20px 15px!important;border-radius:20px!important;}
  .sm-partner-auth .field{min-height:48px;font-size:16px;padding:12px 13px;}
  .sm-partner-auth .btn{min-height:48px;font-size:15px;}
  .sm-partner-auth .notice{font-size:13px;line-height:1.45;}
  .sm-partner-auth p{font-size:13px;line-height:1.5;}
}
