*{box-sizing:border-box}.portal-body{min-height:100vh;margin:0;background:radial-gradient(circle at 20% 10%,#26344b 0,#101722 45%,#080b11 100%);color:#f7f8fb;font-family:Inter,system-ui,Arial,sans-serif;display:grid;place-items:center;padding:24px}.portal-wrap{width:min(100%,460px);padding:34px;background:rgba(18,25,37,.92);border:1px solid rgba(255,255,255,.12);border-radius:24px;box-shadow:0 24px 80px #0007}.portal-logo{display:block;margin-bottom:28px}.portal-logo img{width:145px;max-height:60px;object-fit:contain}.eyebrow{letter-spacing:.18em;font-size:11px;font-weight:800;color:#f6bd3b}.portal-wrap h1{font-size:36px;margin:8px 0}.muted,.portal-foot{color:#aeb8c8;line-height:1.6}.portal-switch{display:grid;grid-template-columns:1fr 1fr;background:#0b1018;padding:5px;border-radius:12px;margin:25px 0}.portal-switch button{background:transparent;border:0;color:#aeb8c8;padding:12px 8px;border-radius:9px;font-weight:700;cursor:pointer}.portal-switch button.active{background:#f6bd3b;color:#151923}label{display:block;font-size:13px;margin:17px 0 7px;color:#dce3ed}input{width:100%;padding:14px;border:1px solid #344052;border-radius:10px;background:#0b1018;color:white;font-size:15px;outline:none}input:focus{border-color:#f6bd3b}.primary{width:100%;margin-top:22px;padding:14px;border:0;border-radius:10px;background:#f6bd3b;color:#151923;font-weight:800;font-size:15px;cursor:pointer}.primary:disabled{opacity:.6;cursor:wait}.text-button{display:block;margin:12px auto;background:none;border:0;color:#f6bd3b;cursor:pointer}.portal-foot{font-size:12px;border-top:1px solid #293343;padding-top:16px;margin-top:22px}#message{min-height:20px;font-size:13px;color:#ffd27a;line-height:1.5} @media(max-width:480px){.portal-wrap{padding:25px 20px}.portal-wrap h1{font-size:30px}}
.auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.social{padding:11px 8px;border:1px solid #344052;border-radius:10px;background:#151e2b;color:#f7f8fb;font-weight:650;cursor:pointer}.social:hover{border-color:#f6bd3b}.auth-mode{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0 8px}.mode{padding:9px;border:1px solid #344052;border-radius:9px;background:transparent;color:#c8d1df;cursor:pointer}.mode.active{background:#26344b;border-color:#f6bd3b;color:#fff}select{width:100%;padding:13px;border:1px solid #344052;border-radius:10px;background:#0b1018;color:#fff;font-size:15px} [hidden]{display:none!important}@media(max-width:390px){.auth-actions{grid-template-columns:1fr}.portal-body{padding:12px}.portal-wrap{padding:22px 18px}}

/* BeeTech login layout correction: override the site's global main/h1 rules */
html:has(body.portal-body) {
  min-height: 100%;
  height: auto;
  overflow-x: hidden;
  overflow-y: auto;
}
body.portal-body {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  min-height: 100vh;
  min-height: 100svh;
  height: auto !important;
  padding: 24px 16px;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}
body.portal-body > main.portal-wrap {
  position: relative !important;
  width: min(100%, 460px) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: auto 0 !important;
  padding: 30px 28px !important;
  overflow: visible !important;
  flex: 0 0 auto;
}
body.portal-body .portal-wrap h1 {
  display: block;
  max-width: 100%;
  font-family: Inter, system-ui, Arial, sans-serif;
  font-size: clamp(30px, 5vw, 36px) !important;
  font-weight: 850 !important;
  line-height: 1.18 !important;
  letter-spacing: -1.1px !important;
  white-space: normal;
  overflow-wrap: anywhere;
  margin: 8px 0 12px !important;
}
body.portal-body .portal-wrap p,
body.portal-body .portal-wrap label,
body.portal-body .portal-wrap button,
body.portal-body .portal-wrap input,
body.portal-body .portal-wrap select {
  line-height: 1.45;
}
body.portal-body .portal-logo { margin-bottom: 20px; }
body.portal-body .portal-logo img { display:block; max-width:100%; height:auto; }
body.portal-body #loginForm { min-width: 0; }
body.portal-body #loginForm input,
body.portal-body #loginForm select { display:block; width:100%; min-width:0; }
body.portal-body .portal-foot { overflow-wrap:anywhere; }
@media (max-width: 480px) {
  body.portal-body { padding: 12px; }
  body.portal-body > main.portal-wrap { padding: 24px 18px !important; border-radius: 18px; }
}
@media (max-height: 760px) {
  body.portal-body { padding-top: 12px; padding-bottom: 12px; }
  body.portal-body > main.portal-wrap { margin-top: 0 !important; margin-bottom: 0 !important; }
}

/* Stable login layout across all form states */
body.portal-body{display:flex!important;align-items:flex-start!important;justify-content:center!important;min-height:100svh;height:auto!important;overflow-y:auto!important;padding:24px 14px!important}
body.portal-body .portal-wrap{margin:0 auto!important;flex:0 0 auto!important;max-height:none!important;overflow:visible!important;width:min(100%,460px)!important}
body.portal-body .portal-wrap h1{font-size:clamp(30px,5vw,36px)!important;line-height:1.18!important;letter-spacing:-1.1px!important;color:#fff!important;text-shadow:none!important;transform:none!important;white-space:normal!important;overflow:visible!important}
body.portal-body .portal-wrap h1:before,body.portal-body .portal-wrap h1:after{content:none!important;display:none!important}
body.portal-body .portal-logo{display:block;width:max-content;max-width:100%;margin:0 auto 22px!important}
body.portal-body .portal-logo img{width:145px;height:auto;object-fit:contain}
@media(max-height:680px){body.portal-body{padding-top:12px!important;padding-bottom:12px!important}body.portal-body .portal-wrap{margin-top:0!important;margin-bottom:0!important}}


/* BeeTech light glassmorphism + mobile usability refresh. Additive overrides only; preserves existing page logic and features. */
:root{--bt-ink:#1b2b43;--bt-muted:#60718a;--bt-line:rgba(148,169,198,.34);--bt-glass:rgba(255,255,255,.72);--bt-glass-strong:rgba(255,255,255,.88);--bt-blue:#4c78b9;--bt-gold:#e9ad25;}
html{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body.app-body{color:var(--bt-ink)!important;background:radial-gradient(ellipse at 8% 0%,rgba(174,210,255,.58),transparent 36%),radial-gradient(ellipse at 94% 8%,rgba(255,226,169,.45),transparent 30%),linear-gradient(145deg,#f4f8ff 0%,#edf3fb 48%,#f9fbff 100%)!important;background-attachment:fixed!important}
.app-shell{min-height:100vh}
.sidebar{background:rgba(255,255,255,.68)!important;border-right:1px solid var(--bt-line)!important;box-shadow:8px 0 34px rgba(42,70,110,.07);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.brand{border-bottom-color:var(--bt-line)!important}.brand strong,.top-title{color:#20324d!important}.brand small,.sidebar-bottom,.top-user,.muted,.stat-label,.footer-note{color:var(--bt-muted)!important}
.nav-item{color:#4b5f79!important;border:1px solid transparent!important;background:rgba(255,255,255,.36)!important;border-radius:13px!important;min-height:44px;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.nav-item:hover,.nav-item.active{color:#20324d!important;background:rgba(255,255,255,.9)!important;border-color:rgba(117,153,201,.4)!important;box-shadow:0 8px 22px rgba(65,98,145,.09)!important}.nav-item.active{box-shadow:inset 3px 0 var(--bt-gold),0 8px 22px rgba(65,98,145,.09)!important}
.nav-item .ico,.eyebrow{color:#b47c08!important}
.topbar{background:rgba(255,255,255,.68)!important;border-bottom:1px solid var(--bt-line)!important;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 5px 25px rgba(44,72,111,.04)}
.btn{background:rgba(255,255,255,.76)!important;color:#263a56!important;border-color:rgba(135,157,189,.42)!important;border-radius:12px!important;box-shadow:0 4px 14px rgba(44,72,111,.05);min-height:42px}.btn:hover{border-color:#8baedb!important;background:#fff!important}.btn.gold{background:linear-gradient(135deg,#ffdc77,#f4bd3c)!important;border-color:#e9b63f!important;color:#3c2c08!important}.btn.danger{color:#a83343!important;border-color:#e7b8bf!important}
.avatar{background:linear-gradient(135deg,#e5efff,#fff0c7)!important;color:#6e560f!important;border:1px solid var(--bt-line)}
.stat-card,.panel,.modal,.track-event-card,.track-map-card,.track-hero{background:var(--bt-glass)!important;border:1px solid rgba(255,255,255,.92)!important;box-shadow:0 16px 42px rgba(43,70,109,.10),inset 0 1px 0 rgba(255,255,255,.8)!important;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);color:var(--bt-ink)!important}
.stat-card,.panel{border-radius:20px!important}.stat-value,.panel-title,.page-title,.modal h1,.modal h2,.modal h3{color:#1d304b!important}.status{background:#e8eef8!important;color:#425876!important}.status.paid,.status.approved,.status.completed{background:#d9f5e9!important;color:#176a4b!important}.status.pending,.status.partially_paid,.status.in_progress{background:#fff0c9!important;color:#855d08!important}.status.rejected,.status.overdue,.status.cancelled{background:#ffe1e4!important;color:#a12e40!important}
.field label,.report-builder label{color:#435873!important}.field input,.field select,.field textarea,.search,input,select,textarea{color:#243751!important;background:rgba(255,255,255,.82)!important;border:1px solid rgba(133,157,190,.45)!important;border-radius:12px!important;box-shadow:inset 0 1px 2px rgba(42,70,110,.025)}.field input::placeholder,.field textarea::placeholder,.search::placeholder,input::placeholder,textarea::placeholder{color:#8291a7!important;opacity:1}.field input:focus,.field select:focus,.field textarea:focus,.search:focus,input:focus,select:focus,textarea:focus{outline:none!important;border-color:#83a9dc!important;box-shadow:0 0 0 4px rgba(107,153,214,.16)!important}.field select option,select option{background:#fff;color:#243751}.field textarea{min-height:104px}.notice{background:rgba(255,246,219,.88)!important;border-color:#f0d797!important;color:#76520c!important}
.table-wrap{border-color:var(--bt-line)!important;border-radius:15px!important;background:rgba(255,255,255,.48)!important}table{background:transparent!important}th{background:rgba(227,237,250,.92)!important;color:#526782!important}td{color:#344963!important;border-bottom-color:rgba(148,169,198,.24)!important}tr:hover td{background:rgba(232,241,253,.5)}
.modal-backdrop{background:rgba(31,48,74,.32)!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)}.modal{background:rgba(249,252,255,.94)!important;border-color:rgba(255,255,255,.95)!important;border-radius:22px!important;color:var(--bt-ink)!important}.modal-head{gap:12px}.toast{background:rgba(255,255,255,.94)!important;color:#20324d!important;border-color:var(--bt-line)!important;box-shadow:0 18px 48px rgba(43,70,109,.18)!important}.empty{color:var(--bt-muted)!important}.skeleton{background:linear-gradient(90deg,#e5edf8,#f8fbff,#e5edf8)!important;background-size:200%}
.track-hero{background:linear-gradient(135deg,rgba(232,242,255,.96),rgba(255,249,232,.9))!important}.track-kicker,.track-location-copy span,.track-eta-row p,.track-event-by,.track-event-head time,.track-event-note{color:#61738b!important}.track-progress-step small{color:#596d87!important}.track-location-row,.track-eta-row,.track-event-card,.track-event-note{border-color:var(--bt-line)!important}.track-eta-row{background:rgba(234,242,252,.7)!important}.track-event-card{background:rgba(255,255,255,.78)!important}.track-event-note{background:rgba(238,244,252,.86)!important}.track-empty{color:#334965!important;border-color:#b9cbe3!important}
body.portal-body{background:radial-gradient(ellipse at 15% 0%,rgba(174,210,255,.55),transparent 40%),linear-gradient(145deg,#f4f8ff,#eef4fc 60%,#fff9ed)!important;color:#20324d!important}
body.portal-body .portal-wrap{background:rgba(255,255,255,.72)!important;border:1px solid rgba(255,255,255,.92)!important;border-radius:26px!important;box-shadow:0 24px 70px rgba(48,75,114,.14),inset 0 1px 0 #fff!important;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
body.portal-body .portal-wrap h1{color:#20324d!important}body.portal-body .portal-wrap p,body.portal-body .portal-wrap label{color:#596d87!important}
@media(max-width:720px){
 body.app-body{background-attachment:scroll!important}.sidebar{background:rgba(247,250,255,.96)!important;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);padding:18px 12px;box-shadow:18px 0 55px rgba(35,59,94,.18)}
 .topbar{height:auto;min-height:62px;padding:10px 12px!important;gap:8px}.top-title{font-size:13px!important;line-height:1.35}.top-user{gap:6px}.top-user .avatar{flex:0 0 32px}.top-user #signOut{padding:8px 10px;font-size:12px;min-height:38px}
 .content{padding:14px 10px!important}.welcome-row{gap:12px;margin-bottom:17px}.page-title{font-size:clamp(24px,7vw,32px)!important}.eyebrow{font-size:10px;letter-spacing:.13em}.stats{gap:9px}.stat-card,.panel{padding:13px!important;border-radius:16px!important}.stat-value{font-size:clamp(20px,5.5vw,26px)}.panel-head{align-items:flex-start;gap:10px}.toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}.toolbar .btn{width:100%}
 .form-grid{grid-template-columns:minmax(0,1fr)!important;gap:0}.field{margin-bottom:13px}.field label{font-size:12px;line-height:1.4}.field input,.field select,.field textarea,.search{padding:13px!important;min-height:46px}.field textarea{min-height:100px}.modal-backdrop{padding:7px!important;align-items:end!important}.modal{width:100%!important;max-width:100%!important;max-height:calc(100dvh - 14px)!important;padding:16px 13px!important;border-radius:22px 22px 16px 16px!important;overflow-y:auto!important;overscroll-behavior:contain}.modal-head{position:sticky;top:-16px;z-index:2;padding:8px 0 12px;background:rgba(249,252,255,.95);backdrop-filter:blur(12px);margin-bottom:12px!important}.modal .actions,.modal .form-actions{display:flex;flex-wrap:wrap;gap:8px}.modal .actions .btn,.modal .form-actions .btn{flex:1 1 120px}.table-wrap{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:640px}.track-modal{max-height:calc(100dvh - 14px)!important}.track-hero{border-radius:17px!important}.track-section-heading{margin-top:17px}
}
@media(max-width:380px){.topbar{padding:8px!important}.top-title{font-size:12px!important}.top-user{gap:4px}.top-user #signOut{font-size:11px;padding:7px}.content{padding:11px 8px!important}.stat-card,.panel{padding:10px!important}.modal{padding:13px 10px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
