:root{--bg:#f4f6f8;--surface:#fff;--card:#fff;--ink:#111827;--muted:#6b7280;--line:#e3e7ec;--red:#e50914;--red-dark:#c90712;--red-soft:#fff0f1;--green:#111111;--green-soft:#f3f3f3;--shadow:0 8px 28px rgba(15,23,42,.07);--radius:18px;--touch:44px;--safe-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);font-size:16px;line-height:1.45}body{margin:0;min-width:0;background:var(--bg);color:var(--ink);overflow-x:hidden}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;height:auto}.container{width:min(1480px,100%);margin:0 auto;padding:0 28px}.topbar{min-height:70px;position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);padding:0 28px}.brand{display:inline-flex;align-items:center;text-decoration:none;gap:10px}.brand .logo,.logo{width:40px;height:40px;border-radius:12px;background:var(--red);color:#fff;display:grid;place-items:center;font-weight:950;font-style:italic;flex:0 0 auto}.brand-logo-img,.runner-logo-img{width:40px;height:40px;border-radius:12px;object-fit:contain;display:block}.font-black{font-weight:950}.tracking-wide{letter-spacing:.06em}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2\.5{gap:10px}.w-full{width:100%}.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:#fff}.topbar nav{display:flex;align-items:center;gap:12px}.topbar nav a,.nav-btn{font-size:13px;font-weight:800;text-decoration:none;padding:9px 10px;border-radius:10px}.topbar nav a:hover{background:#f3f5f7}.nav-btn{border:1px solid var(--line);background:#fff}.link-button{cursor:pointer}.hello{font-size:12px;color:var(--muted);font-weight:700}.page-head,.dashboard-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 0 18px}.dashboard-hero{margin:20px 0;padding:26px;border:1px solid #f0d7d9;border-radius:22px;background:linear-gradient(145deg,#fff,#fff4f5)}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-size:36px;line-height:1.08;letter-spacing:-.045em;margin:4px 0 8px}h2{font-size:24px;line-height:1.15;letter-spacing:-.03em;margin:0 0 10px}h3{font-size:18px;margin:0 0 8px}.muted,.sub{color:var(--muted)}.eyebrow{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#d42b35;font-weight:900}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.card,.form-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;min-width:0}.form-card{margin:18px 0}.field{display:flex;flex-direction:column;gap:7px;min-width:0;margin-bottom:14px}.field label{font-size:13px;font-weight:850;color:#293241}.field input,.field select,.field textarea{width:100%;min-height:46px;border:1px solid #cfd6de;border-radius:11px;background:#fff;color:var(--ink);padding:10px 12px;outline:none}.field textarea{min-height:110px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#e50914;box-shadow:0 0 0 3px rgba(229,9,20,.1)}.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.btn{min-height:var(--touch);display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 16px;border:1px solid #cfd6de;border-radius:12px;background:#fff;color:var(--ink);font-weight:850;font-size:13px;text-decoration:none}.btn:hover{background:#f7f8fa}.btn.danger{background:var(--red);border-color:var(--red);color:#fff}.btn.secondary{background:#f3f5f7}.alert{padding:13px 15px;border:1px solid #d8e9df;background:var(--green-soft);border-radius:13px;margin:12px 0}.alert.error{border-color:#f1c8cc;background:#fff1f2;color:#9f1239}.alert.warning{border-color:#f1dfad;background:#fff9e8;color:#8a5b00}.badge,.status{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 9px;border-radius:999px;background:#f0f2f4;font-size:10px;font-weight:900;white-space:nowrap}.badge.approved,.status.good{background:var(--green-soft);color:var(--green)}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric-card,.metric{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--shadow);min-width:0}.metric-card strong,.metric strong{display:block;font-size:26px;letter-spacing:-.03em;margin-top:5px}.table-wrap{width:100%;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:16px}.table-wrap table{width:100%;min-width:720px;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.table-wrap th,.table-wrap td{padding:12px 13px;text-align:left;border-bottom:1px solid #edf0f3;font-size:12px;vertical-align:top}.table-wrap th{background:#f7f8fa;color:#68727d;text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:900}.table-wrap tr:last-child td{border-bottom:0}.filter-bar{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:12px 0 18px}.filter-bar .field{margin:0;min-width:180px;flex:1}.auth-container{padding-top:20px}.auth-shell{width:100%;max-width:620px;margin:0 auto;padding:20px 0 40px}.auth-card{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 18px 50px rgba(15,23,42,.09);padding:28px}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:28px}.auth-brand img{width:58px;height:58px;border-radius:15px;object-fit:contain}.public-auth-heading{margin-bottom:24px}.public-auth-heading h1{font-size:40px}.public-auth-heading>img{width:58px;height:58px;border-radius:15px;object-fit:contain;margin-bottom:12px}.password-input-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0}.password-toggle{min-width:74px;border:1px solid #cfd6de;border-radius:11px;background:#f7f8fa;font-weight:800}.auth-submit{width:100%;background:var(--red);border-color:var(--red);color:#fff;min-height:50px}.public-auth-links{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin-top:20px}.public-auth-links a{font-weight:800;color:#b20b15}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 24px}.step{padding:10px;border:1px solid var(--line);border-radius:12px;text-align:center;font-size:11px;font-weight:800;color:var(--muted)}.step.active{border-color:#f1c4c7;background:var(--red-soft);color:#a20b13}.app-splash{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;background:#fff}.app-splash.hide{display:none}.app-splash-inner{text-align:center}.app-splash-inner img{width:58px;height:58px;border-radius:15px}.app-splash-inner b{display:block;margin-top:8px;letter-spacing:.1em}.runner-loading-dots{display:flex;gap:4px;justify-content:center;margin-top:10px}.runner-loading-dots i{width:5px;height:5px;border-radius:50%;background:#d4d8dd}footer{padding:26px 28px;text-align:center;color:#8a949e;font-size:11px}.invoice-sheet{max-width:820px;margin:24px auto;padding:28px;background:#fff;border:1px solid var(--line);border-radius:18px}.invoice-head{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:18px}.invoice-head>div{display:grid;gap:3px}.invoice-actions{text-align:center;margin:16px}.account-list{display:grid;gap:8px}.account-list a,.account-list button{min-height:48px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px;text-decoration:none;font-weight:800}.logout-modal[hidden],.notification-panel[hidden]{display:none!important}.logout-modal{position:fixed;inset:0;z-index:8000;background:rgba(15,23,42,.45);display:grid;place-items:center;padding:20px}.logout-dialog{max-width:420px;width:100%;background:#fff;border-radius:20px;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.2)}.logout-actions{display:flex;gap:10px;justify-content:flex-end}.form-check{display:flex;gap:8px;align-items:center;margin:10px 0;font-weight:700}.form-check input{width:18px;height:18px}
@media(max-width:900px){.container{padding:0 18px}.topbar{padding:0 18px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid{grid-template-columns:1fr}.row{grid-template-columns:1fr}h1{font-size:32px}}
@media(max-width:700px){.topbar{min-height:64px;padding:0 12px}.topbar nav{display:none}.menu-toggle{display:grid;place-items:center}.container{padding:0 12px}.auth-container{padding:0 12px}.auth-shell{padding:10px 0 28px}.auth-card{padding:22px 18px;border-radius:20px}.auth-brand{justify-content:center}.public-auth-heading h1{font-size:32px}.public-auth-heading>img{margin:0 auto 12px}.auth-brand img{width:54px;height:54px}.page-head,.dashboard-hero{padding:18px 0 12px;display:block}.dashboard-hero{padding:20px;margin:12px 0;border-radius:18px}h1{font-size:27px}.card,.form-card{padding:16px;border-radius:16px}.metric-grid{gap:8px}.metric-card,.metric{padding:13px}.metric-card strong,.metric strong{font-size:22px}.filter-bar{display:grid;grid-template-columns:1fr;align-items:stretch}.filter-bar .field{min-width:0}.public-auth-links{gap:12px}.steps{gap:5px}.step{font-size:10px;padding:9px 5px}footer{padding-bottom:26px}.invoice-sheet{margin:12px;padding:18px}.invoice-head{display:block}.invoice-actions{display:grid;gap:8px}.logout-actions{flex-direction:column}.logout-actions .btn{width:100%}}
@media(max-width:390px){.auth-card{padding:20px 14px}.public-auth-heading h1{font-size:29px}.metric-grid{grid-template-columns:1fr 1fr}.btn{padding-inline:12px}}

/* Runner brand consistency: one logo treatment across every dashboard. */
.brand-logo-img,.runner-logo-img,.auth-brand img,.public-auth-heading>img{width:40px;height:40px;max-width:40px;aspect-ratio:1/1;object-fit:contain;border-radius:12px;flex:0 0 auto;}
@media(max-width:767px){.brand-logo-img,.runner-logo-img,.auth-brand img,.public-auth-heading>img{width:38px;height:38px;max-width:38px;border-radius:11px;}}
@media(max-width:390px){.brand-logo-img,.runner-logo-img,.auth-brand img,.public-auth-heading>img{width:36px;height:36px;max-width:36px;border-radius:10px;}}

/* Runner v3.2.28 focused UI polish: branding, auth and mobile overflow */
html,body{width:100%;max-width:100%;overflow-x:hidden}
img{display:block}
.auth-container{padding-top:clamp(12px,3vw,28px);padding-bottom:clamp(20px,5vw,48px)}
.auth-shell{max-width:680px;padding:12px 0 32px}
.auth-card{padding:clamp(20px,4vw,36px);border-radius:26px;box-shadow:0 16px 45px rgba(15,23,42,.08)}
.auth-brand{gap:14px;margin-bottom:30px;align-items:center}
.auth-logo,.auth-brand img{width:64px;height:64px;max-width:64px;border-radius:17px;object-fit:contain;background:#e50914;flex:0 0 64px}
.auth-logo.asset-missing{display:block!important;visibility:visible!important}


.public-auth-heading{margin-bottom:26px}
.public-auth-heading h1{font-size:clamp(32px,5vw,44px);line-height:1.08}
.public-auth-heading p{font-size:clamp(17px,2.6vw,21px);margin-top:12px}
.field{gap:8px;margin-bottom:18px}
.field label{font-size:15px}
.field input,.field select,.field textarea{min-height:54px;border-radius:14px;padding:13px 14px;font-size:16px}
.password-input-wrap{gap:10px}
.password-toggle{min-width:82px;border-radius:14px;background:#f8fafc}
.auth-submit{min-height:56px;border-radius:14px;font-size:16px;letter-spacing:-.01em}
.public-auth-links{gap:18px 24px;margin-top:24px;font-size:15px}
@media(max-width:700px){.auth-shell{padding:8px 0 24px}.auth-card{padding:22px 18px;border-radius:22px}.auth-brand{margin-bottom:26px}.auth-logo,.auth-brand img{width:58px;height:58px;max-width:58px;flex-basis:58px;border-radius:15px}.public-auth-heading{margin-bottom:22px}.public-auth-heading h1{font-size:32px}.public-auth-heading p{font-size:17px}.field{margin-bottom:16px}.field label{font-size:14px}.field input,.field select,.field textarea{min-height:52px}.auth-submit{min-height:54px}.public-auth-links{font-size:14px;gap:12px 18px}}
@media(max-width:360px){.auth-card{padding:20px 14px}.password-input-wrap{gap:7px}.password-toggle{min-width:72px;padding-inline:8px}.public-auth-links{gap:10px 14px}}

.chat-media-link{display:block;max-width:100%;margin-top:8px}.chat-media-link img{display:block;max-width:min(100%,420px);width:auto;height:auto;max-height:420px;object-fit:contain;border-radius:14px;background:#f4f4f5}.chat-approval-form .approve{background:#e50914;color:#fff;border-color:#e50914}.chat-approval-form button{min-height:44px}.job-items{margin-top:12px;padding:10px 12px;border:1px solid var(--border,#e5e7eb);border-radius:12px;background:var(--surface-soft,#fafafa)}.job-items b,.job-items small{display:block}.job-items small{margin-top:4px}


/* Runner v3.2.34 — CSS consolidation layer
   UI-only polish. No workflow, API, PHP, payment, or JavaScript behavior changed. */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { min-width: 0; overflow-x: hidden; }
button, input, select, textarea { font: inherit; }
button, a.btn, .btn { min-height: var(--touch, 44px); }
img, svg, video, canvas { max-width: 100%; }
.page, .page-shell, .main, .tw-main, .admin-container { min-width: 0; }
.card, .panel, .metric, .tw-card, .table-wrap, .map-card, .map-container { min-width: 0; max-width: 100%; }
.table-wrap, .table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }

@media (max-width: 700px) {
  .tw-main, .admin-container { width: 100%; }
  .page-title { overflow-wrap: anywhere; }
  .actions, .quick-actions, .form-actions { flex-wrap: wrap; }
  .actions > *, .quick-actions > *, .form-actions > * { max-width: 100%; }
}
@media (max-width: 390px) {
  .btn, button { white-space: normal; }
  .metric strong { font-size: clamp(1.15rem, 6vw, 1.65rem); }
}

/* Runner v3.2.35 — unified logo visibility */
.brand-logo-img,
.admin-sidebar-brand .logo,
.admin-sidebar-brand img,
.public-brand img,
.auth-brand img,
.runner-brand img,
img[src*="runner-brand"],
img[src*="runner-logo"],
img[src*="runner-192"] {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  opacity: 1;
  visibility: visible;
}
.brand-logo-img { max-height: 64px; }
.admin-sidebar-brand img { max-height: 58px; }
@media (max-width: 700px) {
  .brand-logo-img,
  .admin-sidebar-brand img { max-height: 52px; }
}


/* Runner v3.2.37 — official horizontal brand lockup, visible on every shell.
   Presentation-only: no workflow, API, session, or payment behavior changed. */
.brand-logo-img,.runner-logo-img,.auth-brand img,.public-auth-heading>img,
.admin-sidebar-brand img,.app-splash-inner img,.boot-mark img{
  display:block!important;width:auto!important;height:auto!important;
  max-width:100%!important;object-fit:contain!important;opacity:1!important;
  visibility:visible!important;background:transparent!important;border-radius:0!important;
}
.brand-logo-img,.runner-logo-img{width:156px!important;max-width:156px!important;max-height:46px!important;flex:0 0 auto!important;}
.auth-brand img,.public-auth-heading>img{width:230px!important;max-width:100%!important;max-height:86px!important;margin-left:auto;margin-right:auto;}
.admin-sidebar-brand img{width:148px!important;max-width:148px!important;max-height:48px!important;}
.app-splash-inner img{width:260px!important;max-width:min(82vw,260px)!important;max-height:90px!important;margin:0 auto!important;}
.boot-mark img{width:220px!important;max-width:80vw!important;max-height:100px!important;margin:0 auto!important;}
.auth-brand{justify-content:center!important;flex-direction:column!important;text-align:center!important;}
.auth-brand>span{display:none!important;}
.topbar .brand{gap:0!important;}
@media(max-width:700px){
 .brand-logo-img,.runner-logo-img{width:132px!important;max-width:132px!important;max-height:40px!important;}
 .admin-sidebar-brand img{width:142px!important;max-width:142px!important;max-height:46px!important;}
 .auth-brand img,.public-auth-heading>img{width:210px!important;max-width:88%!important;max-height:78px!important;}
 .app-splash-inner img{width:230px!important;max-width:82vw!important;}
}

/* Runner v3.2.38 — authoritative logo visibility patch. */
.brand-logo-img,.runner-logo-img,.auth-brand img,.public-auth-heading>img,
.admin-sidebar-brand img,.app-splash-inner img,.boot-mark img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  object-fit:contain!important;
  background:transparent!important;
  border-radius:0!important;
  opacity:1!important;
  visibility:visible!important;
}
.brand-logo-img,.runner-logo-img{width:156px!important;max-width:156px!important;max-height:46px!important;}
.admin-sidebar-brand img{width:148px!important;max-width:148px!important;max-height:48px!important;}
.auth-brand img,.public-auth-heading>img{width:230px!important;max-width:100%!important;max-height:86px!important;}
.app-splash-inner img{width:260px!important;max-width:82vw!important;max-height:90px!important;margin:0 auto!important;}
.boot-mark img{width:220px!important;max-width:80vw!important;max-height:100px!important;margin:0 auto!important;}
@media(max-width:700px){
 .brand-logo-img,.runner-logo-img{width:132px!important;max-width:68vw!important;max-height:40px!important;}
 .admin-sidebar-brand img{width:142px!important;max-width:68vw!important;max-height:46px!important;}
 .auth-brand img,.public-auth-heading>img{width:210px!important;max-width:88%!important;max-height:78px!important;}
 .app-splash-inner img{width:230px!important;max-width:82vw!important;}
}

/* Runner official horizontal logo: preserve intrinsic proportions on every dashboard. */
.brand-logo-img,.runner-logo-img,.auth-brand img,.public-auth-heading>img{width:auto!important;height:auto!important;max-width:156px!important;max-height:52px!important;aspect-ratio:auto!important;object-fit:contain!important;border-radius:0!important;}
@media(max-width:767px){.brand-logo-img,.runner-logo-img,.auth-brand img,.public-auth-heading>img{max-width:142px!important;max-height:46px!important;}}


/* Runner 3.2.42 — final branding visibility guard.
   Keep the supplied Runner artwork unchanged; give it a neutral surface so
   the black wordmark remains visible on dark/native-app headers. */
.brand-logo-img,.runner-logo-img,.tw-logo-img,.auth-brand img,.public-auth-heading>img,
.admin-sidebar-brand img,.app-splash-inner img,.boot-mark img{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  object-fit:contain!important;
  background:#fff!important;
  border-radius:8px!important;
  box-sizing:border-box!important;
}
.brand-logo-img,.runner-logo-img,.tw-logo-img{
  width:auto!important;
  height:auto!important;
  max-width:156px!important;
  max-height:52px!important;
}
.tw-logo-img{padding:3px!important;}
.auth-brand img,.public-auth-heading>img{max-width:230px!important;max-height:86px!important;padding:4px!important;}
.admin-sidebar-brand img{max-width:148px!important;max-height:48px!important;padding:3px!important;}
.app-splash-inner img{max-width:260px!important;max-height:90px!important;padding:5px!important;}
.boot-mark img{max-width:220px!important;max-height:100px!important;padding:5px!important;}
@media(max-width:700px){
 .brand-logo-img,.runner-logo-img,.tw-logo-img{max-width:142px!important;max-height:46px!important;}
 .auth-brand img,.public-auth-heading>img{max-width:210px!important;max-height:78px!important;}
 .admin-sidebar-brand img{max-width:142px!important;max-height:46px!important;}
 .app-splash-inner img{max-width:230px!important;}
}
.driver-choice-head{display:flex;flex-direction:column;gap:4px;margin:4px 0 12px}
.driver-choice-head small{color:var(--muted,#747d87);line-height:1.4}
.driver-fee-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px}
.fee-choice{border:1px solid rgba(0,0,0,.12);background:#fff;border-radius:14px;padding:12px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:3px}
.fee-choice span{font-size:12px;color:#747d87}
.fee-choice strong{font-size:18px}
.fee-choice.selected{border-color:#e50914;box-shadow:0 0 0 2px rgba(229,9,20,.12)}
@media(max-width:430px){.driver-fee-choices{grid-template-columns:1fr}}

.offer-stack-title{display:flex;flex-direction:column;gap:4px;margin:2px 0 12px}
.offer-stack-title small{color:var(--muted,#747d87);line-height:1.45}

/* V3.2.44: same dependable Runner logo presentation as auth pages */
.auth-logo-plate{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:18px;padding:10px 16px;margin:0 auto 14px;width:min(100%,300px);box-shadow:0 5px 22px rgba(0,0,0,.08)}.auth-logo-plate .auth-logo{display:block;width:260px;height:74px;max-width:100%;object-fit:contain;object-position:center}.auth-brand .auth-logo-plate{margin:0;max-width:230px}.auth-brand .auth-logo-plate .auth-logo{width:210px;height:62px}

/* SwiftRunner V3.3.1 official red / black / white brand palette. */
:root{--red:#e50914!important;--red-dark:#c90712!important;--red-soft:#fff0f1!important;--green:#111111!important;--green-soft:#f3f3f3!important}
.badge.approved,.status.good{background:#f3f3f3!important;color:#111!important}


/* SwiftRunner V3.3.2 — authoritative opaque brand asset sizing. */
.auth-logo-plate,.admin-logo-plate{background:#fff!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.auth-logo,.auth-brand img,.brand-logo-img,.runner-logo-img{
 display:block!important;width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;
 aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;opacity:1!important;visibility:visible!important;
 filter:none!important;mix-blend-mode:normal!important;background:#fff!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;
}
.auth-logo-plate .auth-logo{width:260px!important;height:74px!important;}
.auth-brand .auth-logo-plate .auth-logo{width:210px!important;height:60px!important;}
.admin-logo-plate .brand-logo-img{width:170px!important;height:48px!important;}
@media(max-width:700px){
 .auth-logo-plate .auth-logo{width:250px!important;height:71px!important;}
 .auth-brand .auth-logo-plate .auth-logo{width:200px!important;height:57px!important;}
 .admin-logo-plate .brand-logo-img{width:150px!important;height:43px!important;}
}
/* V3.3.11 shared server-response toast for legacy and dashboard forms */


@keyframes runnerServerToastIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){}

/* V3.3.12 notification presentation: fixed overlay, never changes page/app height. */
.legacy-live-banner{position:fixed!important;top:calc(env(safe-area-inset-top,0px) + 10px)!important;left:50%!important;transform:translate(-50%,-140%)!important;width:min(560px,calc(100vw - 24px))!important;z-index:2147483000!important;display:grid!important;grid-template-columns:42px minmax(0,1fr) auto auto!important;align-items:center!important;gap:11px!important;padding:12px 13px!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:18px!important;background:rgba(17,24,39,.97)!important;color:#fff!important;box-shadow:0 18px 55px rgba(0,0,0,.28)!important;backdrop-filter:blur(18px)!important;transition:transform .24s ease,opacity .24s ease!important;opacity:0!important;pointer-events:none!important}
.legacy-live-banner.show{transform:translate(-50%,0)!important;opacity:1!important;pointer-events:auto!important}
.legacy-live-banner[hidden]{display:grid!important}
.legacy-live-banner .live-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#e50914;color:#fff;font-weight:950;font-size:18px}
.legacy-live-banner .live-copy{min-width:0;display:grid;gap:2px}.legacy-live-banner .live-copy b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legacy-live-banner .live-copy span{font-size:11px;color:#d1d5db;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.legacy-live-banner .live-open{min-height:38px;padding:8px 12px;border:0;border-radius:11px;background:#fff;color:#111827;font-weight:900;font-size:11px}.legacy-live-banner .live-close{width:34px;height:34px;border:0;border-radius:10px;background:rgba(255,255,255,.09);color:#fff;font-size:20px}
.legacy-live-banner.job .live-icon{background:#e50914}.legacy-live-banner.job{border-color:rgba(229,9,20,.35)}
.admin-page .legacy-live-banner{top:calc(env(safe-area-inset-top,0px) + 12px)!important}

.runner-toast{position:fixed!important;left:50%!important;top:calc(env(safe-area-inset-top,0px) + 82px)!important;bottom:auto!important;transform:translateX(-50%)!important;z-index:2147482000!important;min-width:min(320px,calc(100vw - 28px))!important;max-width:min(520px,calc(100vw - 28px))!important;padding:13px 16px!important;border-radius:16px!important;background:#111827!important;color:#fff!important;box-shadow:0 18px 50px rgba(0,0,0,.25)!important;font-weight:850!important;text-align:center!important;line-height:1.4!important;animation:runnerServerToastIn .22s ease both!important}
.runner-toast.bad{background:#b30d16!important}.runner-toast.ok{background:#111827!important}
@media(max-width:600px){.legacy-live-banner{grid-template-columns:38px minmax(0,1fr) auto auto!important;gap:9px!important;padding:10px!important;border-radius:16px!important}.legacy-live-banner .live-icon{width:38px;height:38px;border-radius:12px}.legacy-live-banner .live-copy b{font-size:12px}.legacy-live-banner .live-copy span{font-size:10px}.legacy-live-banner .live-open{min-height:34px;padding:7px 10px}.runner-toast{top:calc(env(safe-area-inset-top,0px) + 72px)!important;min-width:0!important}}


/* SwiftRunner V3.4.2 — unified native-style public/auth experience.
   Keep authentication presentation independent from dashboard logic. The goal is
   one visual language everywhere: red primary actions, black text, white cards,
   short instructions, generous touch targets and a clear task hierarchy. */
.auth-page{background:linear-gradient(180deg,#f7f8fa 0%,#ffffff 58%,#f7f8fa 100%);min-height:100dvh}
.auth-page .auth-container{padding-top:28px;padding-bottom:42px}
.auth-v342{max-width:680px;padding:18px 0 38px;position:relative}
.auth-card-v342{position:relative;overflow:hidden;padding:30px;border-radius:28px;border:1px solid #e7e9ed;box-shadow:0 24px 70px rgba(15,23,42,.10)}
.auth-card-v342:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:#e50914}
.auth-brand-v342{align-items:center;justify-content:flex-start;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid #edf0f3}
.auth-brand-v342 .auth-logo-plate{width:190px;max-width:190px;margin:0;border-radius:14px;padding:4px 8px;box-shadow:none;border:1px solid #edf0f3}
.auth-brand-v342 .auth-logo-plate .auth-logo{width:175px!important;height:50px!important}
.auth-brand-copy strong{display:block;font-size:22px;font-weight:950;letter-spacing:-.03em}
.auth-brand-copy strong span{color:#e50914}
.auth-brand-copy small{display:block;color:#697381;font-size:10px;font-weight:750;margin-top:3px}
.auth-intro,.auth-step-intro{margin-bottom:22px}
.auth-eyebrow{display:block;color:#e50914;font-size:10px;font-weight:950;letter-spacing:.14em;margin-bottom:7px}
.auth-intro h1,.auth-step-intro h2{margin:0;font-size:32px;line-height:1.08;letter-spacing:-.045em;color:#111827}
.auth-intro p,.auth-step-intro p{margin:8px 0 0;color:#667085;font-size:13px;line-height:1.55}
.auth-alert{margin:0 0 14px}
.auth-form-v342{margin-top:18px}
.auth-field{margin-bottom:17px}
.auth-field label{font-size:13px;font-weight:900;color:#252b33;margin-bottom:1px}
.auth-field input,.auth-field select{min-height:54px;border-radius:14px;border-color:#d5dbe2;padding:13px 14px;font-size:14px;background:#fff}
.auth-field input::placeholder{color:#9aa3ad}
.auth-field input:focus,.auth-field select:focus{border-color:#e50914;box-shadow:0 0 0 4px rgba(229,9,20,.09)}
.password-toggle{min-width:76px;min-height:54px;border-radius:14px!important;background:#f5f6f7!important;border-color:#d5dbe2!important;color:#111827;font-size:12px}
.auth-submit-v342{width:100%;min-height:56px!important;border-radius:15px!important;background:#e50914!important;border-color:#e50914!important;color:#fff!important;font-size:14px!important;font-weight:950!important;box-shadow:0 10px 22px rgba(229,9,20,.16);justify-content:space-between!important;padding:0 17px!important}
.auth-submit-v342:hover{background:#c90712!important}
.auth-submit-v342:disabled{opacity:.72}
.auth-help-row{display:flex;align-items:center;justify-content:center;gap:11px;flex-wrap:wrap;margin-top:18px;color:#667085;font-size:12px}
.auth-help-row a{color:#b20b15;font-weight:900;text-decoration:none}
.auth-help-row a:hover{text-decoration:underline}
.auth-trust{display:flex;gap:10px;align-items:flex-start;margin-top:20px;padding:13px 14px;border:1px solid #e7e9ed;border-radius:15px;background:#fafbfc}
.auth-trust>span{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;background:#111827;color:#fff;font-size:12px;font-weight:950;flex:0 0 auto}
.auth-trust b,.auth-trust small{display:block}.auth-trust b{font-size:11px}.auth-trust small{font-size:10px;color:#667085;line-height:1.45;margin-top:2px}
.auth-action-card{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px;padding:14px;border:1px solid #e4e7eb;border-radius:16px;background:#fafbfc}
.auth-action-card p{margin:3px 0 0;font-size:10px;line-height:1.45}
.auth-action-card .btn{flex:0 0 auto;min-height:48px}
.auth-register-brand{margin-bottom:18px}
.auth-register-brand .auth-logo-plate{margin:0 auto 14px;max-width:250px}
.auth-register-brand .auth-logo{width:235px!important;height:67px!important}
.auth-steps-v342{grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 24px}
.auth-steps-v342 .step{display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:8px;border-radius:14px;font-size:11px;font-weight:850}
.auth-steps-v342 .step b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#eef0f3;color:#667085;font-size:10px;flex:0 0 auto}
.auth-steps-v342 .step.active{background:#fff0f1;border-color:#f3c8cb;color:#a20b13}
.auth-steps-v342 .step.active b{background:#e50914;color:#fff}
.auth-section-label{display:flex;flex-direction:column;gap:2px;margin:6px 0 12px;padding:13px 14px;border-radius:15px;background:#f7f8fa;border:1px solid #e9ebef}
.auth-section-label b{font-size:12px}.auth-section-label small{font-size:10px;color:#667085;line-height:1.45}
.auth-section-label-location,.auth-section-label-security{margin-top:4px}
.auth-button-stack{display:grid;gap:9px}
.auth-button-stack .full{width:100%}
.auth-page .secure-note{margin-top:2px}
.auth-page .terms-consent{margin:15px 0 16px;padding:13px;border:1px solid #e6e9ed;border-radius:15px;background:#fafbfc}
.auth-page .terms-check{display:flex;gap:9px;align-items:flex-start;font-size:11px;line-height:1.45}
.auth-page .terms-check input{width:19px;height:19px;min-width:19px;margin-top:0;accent-color:#e50914}
.auth-page .terms-consent small{display:block;margin:6px 0 0 28px;color:#7b8490;font-size:9px;line-height:1.4}
.auth-page .account-type-static{min-height:54px;display:flex;flex-direction:column;justify-content:center;border-radius:14px}
.auth-page .field{margin-bottom:15px}
.auth-page .field label{font-size:13px}
.auth-page .field input,.auth-page .field select,.auth-page .field textarea{min-height:52px;border-radius:14px}
.auth-page .phone-entry>span{border-radius:14px 0 0 14px;min-height:52px;background:#f1f3f5}
.auth-page .phone-entry input{min-height:52px!important;border-radius:0 14px 14px 0!important}
@media(max-width:700px){
 .auth-page .auth-container{padding:0 12px 28px}
 .auth-v342{padding:8px 0 26px;max-width:none}
 .auth-card-v342{padding:24px 17px 22px;border-radius:23px;box-shadow:0 14px 42px rgba(15,23,42,.08)}
 .auth-brand-v342{margin-bottom:23px;padding-bottom:16px;gap:10px}
 .auth-brand-v342 .auth-logo-plate{width:164px;max-width:164px}.auth-brand-v342 .auth-logo-plate .auth-logo{width:150px!important;height:43px!important}
 .auth-brand-copy strong{font-size:19px}.auth-brand-copy small{font-size:9px}
 .auth-intro h1,.auth-step-intro h2{font-size:28px}.auth-intro p,.auth-step-intro p{font-size:12px}
 .auth-steps-v342{gap:5px}.auth-steps-v342 .step{flex-direction:column;gap:4px;min-height:61px;font-size:9px;padding:7px 4px}.auth-steps-v342 .step b{width:22px;height:22px}
 .auth-register-brand .auth-logo-plate{width:220px;max-width:220px}.auth-register-brand .auth-logo{width:205px!important;height:59px!important}
 .auth-section-label{padding:11px 12px}
 .auth-page .row,.auth-page .reg-phone-country{grid-template-columns:1fr;gap:0}
 .auth-page .field{margin-bottom:14px}
 .auth-page .auth-submit-v342{min-height:54px!important}
 .auth-action-card{align-items:stretch;flex-direction:column}.auth-action-card .btn{width:100%}
 .auth-help-row{font-size:12px;gap:8px 10px}
}
@media(max-width:390px){
 .auth-card-v342{padding:22px 14px 20px}
 .auth-brand-v342 .auth-logo-plate{width:150px;max-width:150px}.auth-brand-v342 .auth-logo-plate .auth-logo{width:138px!important;height:40px!important}
 .auth-brand-copy strong{font-size:17px}.auth-brand-copy small{font-size:8px}
 .auth-intro h1,.auth-step-intro h2{font-size:25px}
 .auth-steps-v342 .step span{font-size:8px}
}

/* V3.5.6 fast, visible submission/upload progress */
.runner-submit-progress{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 12px);transform:translateX(-50%) translateY(-12px);width:min(430px,calc(100vw - 28px));padding:10px 12px 9px;border:1px solid #e5e7eb;border-radius:14px;background:rgba(255,255,255,.98);box-shadow:0 16px 45px rgba(15,23,42,.18);z-index:2147483647;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.runner-submit-progress.show{opacity:1;transform:translateX(-50%) translateY(0)}
.runner-submit-progress.complete .runner-submit-progress-track span{background:#16a765}
.runner-submit-progress-track{height:6px;border-radius:99px;background:#edf0f3;overflow:hidden}
.runner-submit-progress-track span{display:block;width:2%;height:100%;border-radius:inherit;background:#e50914;transition:width .12s linear}
.runner-submit-progress-label{display:flex;justify-content:space-between;gap:10px;margin-top:6px;font-size:10px;font-weight:850;color:#5f6b77}
.runner-submit-progress-label b{color:#111827}
@media(max-width:600px){.runner-submit-progress{top:calc(env(safe-area-inset-top,0px) + 8px);width:calc(100vw - 24px)}}

.payment-mode-banner{position:sticky;top:78px;z-index:100000;display:flex;align-items:center;gap:11px;width:min(760px,calc(100vw - 32px));margin:10px auto 4px;padding:12px 14px;border:1px solid #bfe6cf;border-radius:15px;background:#effbf4;color:#123b28;box-shadow:0 14px 35px rgba(15,23,42,.12)}
.payment-mode-banner .payment-mode-icon{width:30px;height:30px;flex:0 0 30px;border-radius:50%;display:grid;place-items:center;background:#16a765;color:#fff;font-weight:950}
.payment-mode-banner b{display:block;font-size:13px}.payment-mode-banner small{display:block;margin-top:2px;color:#557164;font-size:10px}.payment-mode-banner button{margin-left:auto;width:30px;height:30px;border:0;border-radius:9px;background:rgba(18,59,40,.08);color:#123b28;font-size:19px;cursor:pointer}

/* V4.3.8 unified branding: transparent, background-synced logos. */
.auth-logo-plate,
.auth-brand .auth-logo-plate,
.auth-register-brand .auth-logo-plate,
.admin-logo-plate{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
.auth-logo-plate .auth-logo,
.auth-register-brand .auth-logo-plate .auth-logo{
  background:transparent!important;
  padding:0!important;
  border-radius:0!important;
  object-fit:contain!important;
}

/* V4.3.11 — deterministic logo sizing: artwork always fits its owning surface. */
.auth-logo-plate{box-sizing:border-box!important;width:min(190px,100%)!important;min-width:0!important;max-width:100%!important;min-height:0!important;padding:0!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;border:0!important;box-shadow:none!important;}
.auth-logo-plate .auth-logo{display:block!important;width:min(175px,100%)!important;height:auto!important;max-width:100%!important;max-height:52px!important;aspect-ratio:900/256!important;object-fit:contain!important;object-position:center!important;padding:0!important;margin:0 auto!important;background:transparent!important;border:0!important;border-radius:0!important;}
.auth-register-brand .auth-logo-plate{width:min(220px,100%)!important;}
.auth-register-brand .auth-logo-plate .auth-logo{width:min(205px,100%)!important;max-height:59px!important;}
.admin-logo-plate{box-sizing:border-box!important;width:min(180px,100%)!important;min-width:0!important;height:54px!important;min-height:54px!important;padding:0!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;border:0!important;box-shadow:none!important;}
.admin-logo-plate .brand-logo-img{display:block!important;width:min(166px,100%)!important;height:auto!important;max-width:100%!important;max-height:48px!important;aspect-ratio:900/256!important;object-fit:contain!important;padding:0!important;margin:0 auto!important;background:transparent!important;border:0!important;border-radius:0!important;}
.app-splash-inner img{display:block!important;width:min(250px,72vw)!important;height:auto!important;max-width:100%!important;max-height:72px!important;aspect-ratio:900/256!important;object-fit:contain!important;margin:0 auto!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;}
.boot-mark img{display:block!important;width:min(300px,78vw)!important;height:auto!important;max-width:100%!important;max-height:86px!important;aspect-ratio:900/256!important;object-fit:contain!important;margin:0 auto!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;}
.brand-logo-img,.runner-logo-img{height:auto!important;aspect-ratio:900/256!important;object-fit:contain!important;object-position:center!important;background:transparent!important;border:0!important;border-radius:0!important;}
@media(max-width:700px){
 .auth-logo-plate{width:min(180px,100%)!important}.auth-logo-plate .auth-logo{width:min(165px,100%)!important;max-height:47px!important}
 .auth-register-brand .auth-logo-plate{width:min(205px,100%)!important}.auth-register-brand .auth-logo-plate .auth-logo{width:min(190px,100%)!important;max-height:54px!important}
 .admin-logo-plate{width:min(166px,100%)!important;height:50px!important;min-height:50px!important}.admin-logo-plate .brand-logo-img{width:min(152px,100%)!important;max-height:44px!important}
 .app-splash-inner img{width:min(220px,70vw)!important;max-height:63px!important}
 .boot-mark img{width:min(280px,76vw)!important;max-height:80px!important}
}


/* SwiftRunner V4.3.15: accessible dark theme + mobile scroll/navigation */
html,body{max-width:100%;overflow-x:clip}
body{padding-bottom:env(safe-area-inset-bottom,0)!important}
@media(max-width:767px){
  .bottom-nav,.bottom-navigation,.mobile-bottom-nav,.app-bottom-nav,.tw-bottom-nav,
  nav[aria-label="Bottom navigation"],[data-bottom-nav],.bottom-tabs,.fixed-bottom-nav{
    display:none!important;visibility:hidden!important;pointer-events:none!important
  }
  main,.container,.admin-container,.tw-content,.admin-workspace{
    padding-bottom:max(16px,env(safe-area-inset-bottom,0px))!important
  }
  .admin-sidebar,.tw-sidebar{overscroll-behavior:contain}
}
/* Dark mode: explicitly set readable foreground/background pairs instead of relying
   on inherited colors from the light theme. */
html.runner-dark,body.runner-dark,body[data-runner-theme="dark"]{
  color-scheme:dark;background:#0b1118!important;color:#f1f5f9!important
}
body.runner-dark main,body.runner-dark .container,body.runner-dark .card,
body.runner-dark .metric-card,body.runner-dark .metric,body.runner-dark .dashboard-hero,
body.runner-dark .admin-chart-card,body.runner-dark .admin-focus-card,
body[data-runner-theme="dark"] main,body[data-runner-theme="dark"] .container,
body[data-runner-theme="dark"] .card,body[data-runner-theme="dark"] .metric-card,
body[data-runner-theme="dark"] .metric,body[data-runner-theme="dark"] .dashboard-hero,
body[data-runner-theme="dark"] .admin-chart-card,body[data-runner-theme="dark"] .admin-focus-card{
  background-color:#111b26!important;color:#f1f5f9!important;border-color:#334155!important
}
body.runner-dark h1,body.runner-dark h2,body.runner-dark h3,body.runner-dark h4,
body.runner-dark p,body.runner-dark label,body.runner-dark li,body.runner-dark strong,
body.runner-dark b,body.runner-dark .section-head,body.runner-dark .metric small,
body[data-runner-theme="dark"] h1,body[data-runner-theme="dark"] h2,
body[data-runner-theme="dark"] h3,body[data-runner-theme="dark"] h4,
body[data-runner-theme="dark"] p,body[data-runner-theme="dark"] label,
body[data-runner-theme="dark"] li,body[data-runner-theme="dark"] strong,
body[data-runner-theme="dark"] b,body[data-runner-theme="dark"] .section-head,
body[data-runner-theme="dark"] .metric small{color:#f1f5f9}
body.runner-dark small,body.runner-dark .muted,body.runner-dark .eyebrow,
body.runner-dark .trend,body[data-runner-theme="dark"] small,
body[data-runner-theme="dark"] .muted,body[data-runner-theme="dark"] .eyebrow,
body[data-runner-theme="dark"] .trend{color:#b8c4d3!important}
body.runner-dark input,body.runner-dark select,body.runner-dark textarea,
body[data-runner-theme="dark"] input,body[data-runner-theme="dark"] select,
body[data-runner-theme="dark"] textarea{background:#0b1118!important;color:#f8fafc!important;border-color:#475569!important}
body.runner-dark a:not(.btn):not(.admin-sidebar-nav a),
body[data-runner-theme="dark"] a:not(.btn):not(.admin-sidebar-nav a){color:#fca5a5}
body.runner-dark .admin-topbar,body[data-runner-theme="dark"] .admin-topbar{
 background:#111b26!important;color:#f8fafc!important;border-color:#334155!important
}

