/* Supplier Dashboard 4.0.3 — scoped supplier access and dashboard UI.
   Intentionally independent from site/theme colors, RTL + responsive. */
.sd-access, .sd-dashboard { --sdu-ink:#17253d; --sdu-muted:#66758a; --sdu-accent:#0d9488; --sdu-accent-dark:#0e766e; --sdu-border:#e0e8ed; --sdu-paper:#fff; --sdu-subtle:#f4f8fa; font-family:inherit; direction:rtl; }
.sd-access *, .sd-dashboard * { box-sizing:border-box; }
.sd-access { width:100%; max-width:1220px; margin:42px auto; padding:0 16px; color:var(--sdu-ink); }
.sd-access-shell { display:grid; grid-template-columns:minmax(0, .92fr) minmax(0, 1.08fr); min-height:620px; background:var(--sdu-paper); border:1px solid #e7edf0; border-radius:26px; box-shadow:0 22px 78px rgba(26,49,66,.085); overflow:hidden; }
.sd-access-story { position:relative; display:flex; flex-direction:column; justify-content:space-between; padding:38px 39px 32px; color:#fff; background:radial-gradient(ellipse at 8% 10%,rgba(45,212,191,.20),transparent 46%),radial-gradient(ellipse at 90% 92%,rgba(14,148,136,.25),transparent 45%),linear-gradient(155deg,#122743 2%,#0b2337 62%,#07343d 110%); isolation:isolate; }
.sd-access-story::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.15; background-image:linear-gradient(120deg,transparent 0 50%,rgba(255,255,255,.12) 50.12%,transparent 50.3%),radial-gradient(circle at 95% 15%,rgba(160,252,236,.18),transparent 20%); pointer-events:none; }
.sd-access-brand { display:flex; align-items:center; gap:11px; font-weight:800; font-size:14px; letter-spacing:-.3px; }
.sd-access-brand-mark { display:grid; place-items:center; width:37px; height:37px; background:#16ac9d; border:1px solid rgba(255,255,255,.18); box-shadow:0 8px 24px rgba(0,0,0,.12); border-radius:11px; font-size:19px; }
.sd-access-story-main { max-width:450px; margin:54px 0 38px; }
.sd-access-kicker { display:inline-flex; align-items:center; gap:8px; padding:8px 11px; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.07); color:#ccfff3; border-radius:100px; font-size:11px; font-weight:650; }
.sd-access-kicker-dot, .sd-dashboard-online-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:#36debc; box-shadow:0 0 0 4px rgba(54,222,188,.12); vertical-align:middle; }
.sd-access-story h2 { margin:19px 0 14px; color:#fff; font-size:clamp(27px,2.7vw,39px); font-weight:850; line-height:1.55; letter-spacing:-.8px; }
.sd-access-story h2 em { color:#6be8d4; font-style:normal; }
.sd-access-story-main>p { margin:0; color:#d5e5ed; line-height:2.05; font-size:13px; }
.sd-access-steps { position:relative; display:flex; flex-direction:column; gap:0; margin-top:32px; }
.sd-access-step { position:relative; display:flex; align-items:center; gap:14px; padding:0 0 22px; }
.sd-access-step:not(:last-child)::before { content:""; position:absolute; top:32px; right:17px; bottom:4px; border-right:1px dashed rgba(156,228,219,.36); }
.sd-access-step:last-child { padding-bottom:0; }
.sd-access-step-num { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; color:#b8fff1; background:rgba(10,172,153,.19); border:1px solid rgba(105,225,209,.36); border-radius:11px; font-weight:800; font-size:12px; }
.sd-access-step strong { display:block; font-size:13px; line-height:1.6; color:#fff; font-weight:740; }
.sd-access-step small { display:block; margin-top:2px; font-size:11px; color:#a9c9d2; line-height:1.75; }
.sd-access-story-foot { display:flex; align-items:center; gap:9px; padding:13px; color:#d9f8f1; border-radius:13px; background:rgba(255,255,255,.075); border:1px solid rgba(255,255,255,.11); line-height:1.8; font-size:11px; }
.sd-access-foot-icon { display:grid; place-items:center; width:22px; height:22px; flex:0 0 22px; border-radius:50%; color:#0d3a37; background:#77e4d3; font-weight:900; }
.sd-access-main { display:flex; flex-direction:column; min-width:0; padding:29px clamp(23px,4.4vw,64px) 24px; }
.sd-access-topline { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; padding-bottom:26px; border-bottom:1px solid #f1f4f6; color:#8d99a9; font-size:11px; font-weight:600; }
.sd-access-topline a { display:inline-flex; align-items:center; gap:7px; color:#4d6575; text-decoration:none; transition:color .2s; }
.sd-access-topline a:hover { color:var(--sdu-accent); }
.sd-access-formarea { flex:1; display:flex; flex-direction:column; justify-content:center; padding:24px 0 12px; }
.sd-access-tabs { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:5px; padding:5px; margin:0 0 28px; border-radius:12px; background:#f1f5f7; }
.sd-access-tabs a { display:block; padding:12px 6px; border-radius:9px; color:#667789; text-decoration:none!important; font-size:12px; font-weight:750; text-align:center; transition:color .2s,background .2s,box-shadow .2s; }
.sd-access-tabs a.is-active { color:#17324a; background:#fff; box-shadow:0 3px 13px rgba(17,50,63,.085); }
.sd-access-tabs a:hover { color:var(--sdu-accent-dark); }
.sd-access .sd-auth-card { width:100%; min-width:0; border:0; padding:0; box-shadow:none; background:none; border-radius:0; }
.sd-access .sd-auth-header { text-align:right; margin:0 0 23px; }
.sd-access .sd-auth-overline { display:block; margin:0 0 9px; color:var(--sdu-accent-dark); font-size:11px; font-weight:800; }
.sd-access .sd-auth-header h2 { margin:0 0 8px; color:#182942; font-weight:850; line-height:1.5; font-size:clamp(21px,2vw,26px); letter-spacing:-.5px; }
.sd-access .sd-auth-header p { margin:0; line-height:1.95; font-size:12px; color:var(--sdu-muted); }
.sd-access .sd-auth-form { margin:0; padding:0; }
.sd-access .sd-field { margin:0 0 16px; }
.sd-access .sd-field label { display:block; margin:0 0 7px; color:#34485c; font-size:12px; font-weight:740; }
.sd-access .sd-field label small { display:inline; margin:0; color:#94a1aa; font-size:11px; font-weight:400; }
.sd-access .sd-field input, .sd-access .sd-field input[type="email"], .sd-access .sd-field input[type="tel"] { display:block; width:100%; height:47px; max-width:100%; padding:10px 14px; margin:0; border:1px solid #dce5ec; border-radius:11px; background:#f9fbfc; color:#162c40; box-shadow:none; line-height:1.5; font-family:inherit; font-size:13px; font-weight:450; outline:0; transition:box-shadow .2s,background .2s,border-color .2s; }
.sd-access .sd-field input:focus { background:#fff; border-color:#13a498; box-shadow:0 0 0 3px rgba(19,164,152,.12); }
.sd-access .sd-field input::placeholder { color:#aab4bf; }
.sd-access .sd-auth-password-field { position:relative; display:block; }
.sd-access .sd-auth-password-field input { padding-left:72px; }
.sd-access .sd-auth-toggle-password { position:absolute; inset-inline-end:9px; top:50%; transform:translateY(-50%); padding:5px 8px; background:none; border:0; box-shadow:none; font:inherit; font-size:11px; font-weight:700; line-height:1.7; color:var(--sdu-accent-dark); cursor:pointer; border-radius:6px; }
.sd-access .sd-auth-toggle-password:hover { background:#e5f5f1; }
.sd-access .sd-auth-check { display:flex; gap:9px; align-items:flex-start; margin:5px 0 17px; color:#66788a; font-weight:500; line-height:1.75; font-size:12px; cursor:pointer; }
.sd-access .sd-auth-check input { accent-color:#0d9488; flex:0 0 16px; width:16px; height:16px; margin:3px 0 0; }
.sd-access .sd-submit-button.sd-auth-primary { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:47px; padding:11px 17px; border:none; border-radius:11px; font-size:13px; font-weight:800; font-family:inherit; background:linear-gradient(110deg,#0a867a,#12a498); color:white; box-shadow:0 9px 21px rgba(15,148,136,.20); cursor:pointer; transition:transform .2s,box-shadow .2s,background .2s; }
.sd-access .sd-submit-button.sd-auth-primary:hover { color:#fff; transform:translateY(-1px); background:linear-gradient(110deg,#08776e,#0d9488); box-shadow:0 11px 24px rgba(15,148,136,.25); }
.sd-access .sd-auth-links { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 17px; margin:20px 0 0; }
.sd-access .sd-auth-links a { color:#137f79; font-size:12px; font-weight:700; text-decoration:none; }
.sd-access .sd-auth-links a:hover { color:#085d57; text-decoration:underline; }
.sd-access .sd-auth-notice { border-radius:10px; padding:10px 13px; margin:0 0 16px; font-size:12px; line-height:1.9; }
.sd-access .sd-auth-error { color:#9a3431; background:#fff3f1; border:1px solid #f4ceca; }
.sd-access .sd-auth-success { color:#13765c; background:#e9faf3; border:1px solid #bcebd9; }
.sd-access-main-footer { margin-top:12px; padding-top:14px; border-top:1px solid #eef2f5; color:#9aa7b4; text-align:center; line-height:1.7; font-size:11px; }
.sd-access .sd-auth-status { text-align:center; }
.sd-access .sd-auth-status-icon { display:grid; place-items:center; width:60px; height:60px; margin:0 auto 20px; border-radius:19px; background:#e2f7ef; color:#0d9488; font-size:27px; font-weight:850; }
.sd-access .sd-auth-status .sd-auth-header { text-align:center; }
.sd-access .sd-auth-status .sd-auth-links { justify-content:center; }
.sd-access .sd-auth-identity { display:flex; align-items:center; gap:12px; padding:12px; margin:0 0 21px; border:1px solid #e1eceb; background:#f2faf8; border-radius:12px; }
.sd-access .sd-auth-identity-avatar { display:grid; place-items:center; flex:0 0 37px; height:37px; width:37px; border-radius:12px; background:#c5f2e7; color:#068479; font-weight:800; }
.sd-access .sd-auth-identity>span:nth-child(2) { min-width:0; flex:1; }
.sd-access .sd-auth-identity strong, .sd-access .sd-auth-identity small { display:block; overflow-wrap:anywhere; }
.sd-access .sd-auth-identity strong { font-size:12px; color:#203b4b; }
.sd-access .sd-auth-identity small { color:#718592; font-size:10px; margin-top:2px; }
.sd-access .sd-auth-identity-ok { padding:6px 8px; border-radius:8px; font-size:10px; font-weight:700; color:#087b68; background:#ddf5ed; white-space:nowrap; }
.sd-access :focus-visible, .sd-dashboard a:focus-visible { outline:3px solid rgba(13,148,136,.45); outline-offset:3px; }
/* Auth-related legacy styles were removed from the base PHP sheet, no cascade layering. */

/* Authenticated supplier dashboard. All selectors intentionally scoped. */
.sd-dashboard { max-width:1180px; margin:30px auto 50px; padding:0 16px; color:var(--sdu-ink); }
.sd-dashboard .sd-dashboard-header { overflow:hidden; margin:0 0 22px; color:#fff; background:linear-gradient(128deg,#132a45,#0e3944); border:1px solid #174458; border-radius:19px; box-shadow:0 14px 34px rgba(14,46,60,.12); }
.sd-dashboard .sd-dashboard-hero-row { display:flex; justify-content:space-between; align-items:flex-start; gap:25px; padding:30px 33px 25px; }
.sd-dashboard .sd-dashboard-hero-copy { min-width:0; }
.sd-dashboard .sd-dashboard-eyebrow { display:inline-flex; align-items:center; gap:9px; margin-bottom:14px; color:#b5e8dd; font-size:11px; font-weight:760; }
.sd-dashboard .sd-dashboard-header h1 { margin:0 0 10px; color:white; font-size:clamp(20px,2.4vw,28px); font-weight:820; line-height:1.6; }
.sd-dashboard .sd-dashboard-header p { margin:0; color:#c5dce4; font-size:12px; line-height:1.9; }
.sd-dashboard .sd-supplier-name { display:inline-flex; align-items:center; gap:8px; margin:18px 0 0; padding:8px 12px; max-width:100%; flex-wrap:wrap; background:rgba(255,255,255,.085); color:#d5f2ed; border:1px solid rgba(255,255,255,.13); border-radius:9px; font-size:11px; line-height:1.8; }
.sd-dashboard .sd-supplier-name strong { color:#fff; }
.sd-dashboard .sd-dashboard-hero-actions { display:flex; align-items:stretch; flex-direction:column; gap:10px; flex:0 0 156px; }
.sd-dashboard .sd-dashboard-hero-actions a { display:flex; align-items:center; justify-content:center; gap:6px; padding:10px 14px; border-radius:9px; text-align:center; white-space:nowrap; font-size:11px; font-weight:780; text-decoration:none; }
.sd-dashboard .sd-dashboard-new-product { background:#20b6a4; color:#063936; }
.sd-dashboard .sd-dashboard-new-product:hover { background:#67dfcf; color:#063936; }
.sd-dashboard .sd-dashboard-store-link { border:1px solid rgba(255,255,255,.25); color:#ecfffc; }
.sd-dashboard .sd-dashboard-store-link:hover { color:#fff; background:rgba(255,255,255,.1); }
.sd-dashboard .sd-dashboard-auth-bar { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin:0; padding:13px 32px; border-radius:0; background:rgba(0,0,0,.14); border-top:1px solid rgba(255,255,255,.09); color:#cde9e5; font-size:11px; }
.sd-dashboard .sd-dashboard-auth-bar span { display:inline-flex; align-items:center; gap:10px; }
.sd-dashboard .sd-dashboard-auth-bar a { color:#e4fff9; font-size:11px; text-decoration:none; }
.sd-dashboard .sd-dashboard-auth-bar a:hover { color:white; text-decoration:underline; }
.sd-dashboard .sd-dashboard-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:0 0 26px; }
.sd-dashboard .sd-card { position:relative; display:flex; flex-direction:column; align-items:flex-start; min-height:198px; padding:21px; border:1px solid var(--sdu-border); border-radius:15px; background:#fff; color:var(--sdu-ink); box-shadow:0 5px 17px rgba(20,54,66,.035); text-decoration:none; transition:transform .2s,border-color .2s,box-shadow .2s; }
.sd-dashboard .sd-card:hover { transform:translateY(-3px); border-color:#95d9cf; box-shadow:0 13px 28px rgba(20,54,66,.09); }
.sd-dashboard .sd-card-icon { display:grid; place-items:center; width:47px; height:47px; margin:0 0 16px; color:#0d9488; background:#e6f7f3; border-radius:13px; }
.sd-dashboard .sd-card:nth-child(2) .sd-card-icon { color:#3571a3; background:#ebf4fc; }
.sd-dashboard .sd-card:nth-child(3) .sd-card-icon { color:#a37534; background:#fff7e8; }
.sd-dashboard .sd-card h3 { margin:0 0 7px; font-size:16px; font-weight:800; line-height:1.6; color:#192d43; }
.sd-dashboard .sd-card p { margin:0 0 17px; color:#758497; font-size:11px; line-height:1.8; }
.sd-dashboard .sd-card-more { display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; margin-top:auto; padding-top:11px; border-top:1px solid #edf1f4; background:none; border-radius:0; font-size:11px; font-weight:750; color:#0c8076; }
.sd-dashboard .sd-card-more span { color:#0b8279; background:none; padding:0; border-radius:0; }
.sd-dashboard .sd-panel { border-color:#e2eaf0; border-radius:14px; box-shadow:0 4px 20px rgba(22,49,65,.035); }
@media(max-width:920px) {
 .sd-access-shell { grid-template-columns:minmax(0,.89fr) minmax(0,1.11fr); }
 .sd-access-story { padding:29px 26px; }
 .sd-access-story-main { margin:36px 0; }
 .sd-access-main { padding:24px; }
 .sd-dashboard .sd-dashboard-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
}
@media(max-width:720px) {
 .sd-access { padding:0 12px; margin:20px auto 36px; }
 .sd-access-shell { grid-template-columns:minmax(0,1fr); border-radius:19px; }
 .sd-access-story { padding:23px 23px 20px; }
 .sd-access-brand { font-size:12px; }
 .sd-access-brand-mark { width:31px; height:31px; font-size:15px; }
 .sd-access-story-main { margin:24px 0 16px; }
 .sd-access-story h2 { font-size:25px; line-height:1.65; margin:13px 0 8px; }
 .sd-access-story-main>p { font-size:11px; }
 .sd-access-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:18px; }
 .sd-access-step { align-items:flex-start; gap:5px; flex-direction:column; padding:10px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10); border-radius:10px; }
 .sd-access-step:not(:last-child)::before { display:none; }
 .sd-access-step-num { flex:0 0 26px; width:26px; height:26px; border-radius:7px; font-size:10px; }
 .sd-access-step strong { font-size:10px; }
 .sd-access-step small { font-size:9px; }
 .sd-access-story-foot { font-size:10px; }
 .sd-access-main { padding:20px 23px; }
 .sd-access-formarea { padding-top:23px; }
 .sd-access-tabs { margin-bottom:22px; }
 .sd-dashboard { margin:19px auto 35px; padding:0 12px; }
 .sd-dashboard .sd-dashboard-hero-row { flex-direction:column; padding:23px 23px 18px; gap:21px; }
 .sd-dashboard .sd-dashboard-hero-actions { flex:unset; width:100%; flex-direction:row; }
 .sd-dashboard .sd-dashboard-hero-actions a { flex:1; }
 .sd-dashboard .sd-dashboard-auth-bar { padding:13px 22px; }
 .sd-dashboard .sd-dashboard-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:470px) {
 .sd-access { margin-top:12px; padding:0 8px; }
 .sd-access-story { padding:18px; }
 .sd-access-story h2 { font-size:22px; }
 .sd-access-steps { gap:6px; }
 .sd-access-step { padding:8px 6px; }
 .sd-access-step strong { font-size:9px; }
 .sd-access-step small { font-size:9px; }
 .sd-access-main { padding:19px; }
 .sd-access .sd-auth-identity { flex-wrap:wrap; }
 .sd-dashboard .sd-dashboard-cards { grid-template-columns:1fr; }
 .sd-dashboard .sd-card { min-height:160px; }
 .sd-dashboard .sd-dashboard-hero-actions { flex-direction:column; }
 .sd-dashboard .sd-dashboard-auth-bar { align-items:flex-start; flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) { .sd-access *, .sd-dashboard * { transition:none!important; animation:none!important; } }
