/* 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}}

/* BeeTech signature theme: honey yellow + near-black + frosted glass. */
:root{--bt-ink:#171717;--bt-muted:#5e5a4f;--bt-line:rgba(45,38,17,.16);--bt-glass:rgba(255,255,255,.68);--bt-glass-strong:rgba(255,255,255,.86);--bt-blue:#222222;--bt-gold:#f6c900;--bt-bee-yellow:#ffd928;--bt-black:#151515}
body.app-body{color:#191919!important;background:radial-gradient(ellipse at 7% 0%,rgba(255,222,57,.34),transparent 35%),radial-gradient(ellipse at 95% 7%,rgba(255,243,171,.55),transparent 32%),linear-gradient(145deg,#fffdf4 0%,#f7f5eb 48%,#fffef9 100%)!important;background-attachment:fixed!important}
.sidebar{background:rgba(255,255,255,.62)!important;border-right:1px solid rgba(37,32,10,.14)!important;box-shadow:8px 0 34px rgba(36,30,6,.07)!important;backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px)}
.brand strong,.top-title{color:#171717!important}.brand small,.sidebar-bottom,.top-user,.muted,.stat-label,.footer-note{color:#625e52!important}
.nav-item{color:#39372f!important;background:rgba(255,255,255,.42)!important;border-color:transparent!important}.nav-item:hover,.nav-item.active{color:#151515!important;background:rgba(255,255,255,.88)!important;border-color:rgba(229,186,0,.46)!important;box-shadow:0 8px 24px rgba(44,36,3,.08)!important}.nav-item.active{box-shadow:inset 4px 0 #f6c900,0 8px 24px rgba(44,36,3,.08)!important}.nav-item .ico,.eyebrow{color:#9b7600!important}
.topbar{background:rgba(255,255,255,.64)!important;border-bottom:1px solid rgba(45,38,17,.13)!important;box-shadow:0 5px 25px rgba(44,38,9,.04)!important;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.btn{background:rgba(255,255,255,.74)!important;color:#202020!important;border-color:rgba(43,38,23,.2)!important;box-shadow:0 4px 14px rgba(34,29,5,.05)!important}.btn:hover{border-color:#d9ad00!important;background:rgba(255,255,255,.96)!important}.btn.gold{background:linear-gradient(135deg,#ffe96a,#f6c900)!important;border-color:#e8bb00!important;color:#171717!important;box-shadow:0 8px 22px rgba(210,166,0,.18)!important}.btn.danger{color:#a62f2f!important;border-color:#e5b7b7!important}
.avatar{background:linear-gradient(135deg,#fff4b3,#ffd928)!important;color:#222!important;border-color:rgba(215,170,0,.32)!important}
.stat-card,.panel,.modal,.track-event-card,.track-map-card,.track-hero{background:var(--bt-glass)!important;border:1px solid rgba(255,255,255,.9)!important;box-shadow:0 16px 42px rgba(43,37,10,.09),inset 0 1px 0 rgba(255,255,255,.88)!important;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);color:#191919!important}
.stat-card,.panel{border-radius:22px!important}.stat-value,.panel-title,.page-title,.modal h1,.modal h2,.modal h3{color:#171717!important}.status{background:#f0eddf!important;color:#48422f!important}.status.paid,.status.approved,.status.completed{background:#e7f6dc!important;color:#315b1e!important}.status.pending,.status.partially_paid,.status.in_progress{background:#fff1a8!important;color:#624b00!important}.status.rejected,.status.overdue,.status.cancelled{background:#ffe2df!important;color:#9a2929!important}
.field label,.report-builder label{color:#38352c!important}.field input,.field select,.field textarea,.search,input,select,textarea{color:#24221b!important;background:rgba(255,255,255,.82)!important;border:1px solid rgba(67,59,31,.22)!important;border-radius:13px!important;box-shadow:inset 0 1px 2px rgba(42,36,10,.025)}.field input::placeholder,.field textarea::placeholder,.search::placeholder,input::placeholder,textarea::placeholder{color:#898373!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:#d9ad00!important;box-shadow:0 0 0 4px rgba(246,201,0,.2)!important}.field select option,select option{background:#fffdf4;color:#24221b}.notice{background:rgba(255,246,191,.8)!important;border-color:#e7d36d!important;color:#5b4800!important}
.table-wrap{border-color:rgba(67,59,31,.17)!important;border-radius:16px!important;background:rgba(255,255,255,.48)!important}table{background:transparent!important}th{background:rgba(255,222,57,.2)!important;color:#5b4b0b!important}td{color:#37342b!important;border-bottom-color:rgba(93,80,28,.13)!important}tr:hover td{background:rgba(255,225,66,.1)!important}
.modal-backdrop{background:rgba(25,23,15,.38)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)}.modal{background:rgba(255,254,247,.94)!important;border-color:rgba(255,255,255,.95)!important;color:#191919!important}.toast{background:rgba(255,254,247,.96)!important;color:#191919!important;border-color:rgba(246,201,0,.42)!important}
/* Clear focus, comfortable controls and responsive tables on phones. */
button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(246,201,0,.65)!important;outline-offset:2px}
@media(max-width:760px){.content{padding:16px!important}.welcome-row{align-items:stretch!important;flex-direction:column!important;gap:14px!important}.welcome-row>.btn{align-self:flex-start}.page-title{font-size:clamp(25px,7vw,34px)!important}.panel{padding:14px!important;border-radius:18px!important}.stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.stat-card{padding:14px!important}.topbar{padding-inline:14px!important}.top-user{gap:7px!important}.table-wrap{max-width:100%;overscroll-behavior-x:contain}.toolbar{align-items:stretch!important}.search{max-width:none!important;width:100%!important}.modal{max-width:calc(100vw - 20px)!important;max-height:88dvh!important;overflow:auto!important}.form-grid{grid-template-columns:minmax(0,1fr)!important}.span-2{grid-column:auto!important}.field input,.field select,.field textarea,.search{font-size:16px!important;min-height:46px!important}}


/* FINAL BeeTech palette: warm glass, bee yellow and charcoal; mobile-first touch targets. */
:root{--bt-ink:#191919;--bt-muted:#6b6658;--bt-line:rgba(75,65,25,.18);--bt-glass:rgba(255,255,255,.74);--bt-glass-strong:rgba(255,255,255,.92);--bt-gold:#f6c900;--bt-blue:#f6c900}
html,body{max-width:100%;overflow-x:hidden}
body.app-body{color:#191919!important;background:radial-gradient(ellipse at 8% 0%,rgba(255,220,55,.25),transparent 38%),radial-gradient(ellipse at 96% 10%,rgba(255,245,190,.65),transparent 34%),linear-gradient(145deg,#fffdf4 0%,#f8f5e9 52%,#fffdf7 100%)!important}
.sidebar{background:rgba(255,254,247,.82)!important;border-right-color:rgba(55,47,20,.15)!important}
.brand strong,.top-title,.page-title,.panel-title,.stat-value,.modal h1,.modal h2,.modal h3{color:#191919!important}
.brand small,.sidebar-bottom,.top-user,.muted,.stat-label,.footer-note{color:#6b6658!important}
.nav-item{color:#39362c!important;background:rgba(255,255,255,.52)!important}
.nav-item:hover,.nav-item.active{color:#191919!important;background:rgba(255,255,255,.96)!important;border-color:rgba(246,201,0,.62)!important;box-shadow:inset 3px 0 #f6c900,0 8px 22px rgba(75,65,25,.08)!important}
.nav-item .ico,.eyebrow,.track-kicker{color:#9a7600!important}
.topbar{background:rgba(255,254,247,.82)!important;border-bottom-color:rgba(75,65,25,.15)!important}
.stat-card,.panel,.track-event-card,.track-map-card,.track-hero{background:rgba(255,255,255,.76)!important;border-color:rgba(255,255,255,.96)!important;box-shadow:0 14px 38px rgba(45,39,16,.08),inset 0 1px 0 rgba(255,255,255,.9)!important;color:#191919!important}
.btn.gold{background:linear-gradient(135deg,#ffe66a,#f6c900)!important;border-color:#dfb600!important;color:#231d00!important}
.field input:focus,.field select:focus,.field textarea:focus,.search:focus,input:focus,select:focus,textarea:focus{border-color:#d9ad00!important;box-shadow:0 0 0 4px rgba(246,201,0,.2)!important}
/* Bring older account/sign-in screens into the same yellow-black glass theme. */
body.account-page{padding:clamp(14px,4vw,30px)!important;background:radial-gradient(ellipse at 50% 0%,rgba(246,201,0,.18),transparent 55%),linear-gradient(145deg,#15140f,#252319)!important;color:#fffdf2!important}
.account-wrap{width:min(470px,100%)!important;box-sizing:border-box!important;border:1px solid rgba(246,201,0,.38)!important;border-radius:22px!important;background:rgba(255,255,255,.07)!important;box-shadow:0 22px 70px rgba(0,0,0,.28)!important;padding:clamp(20px,5vw,38px)!important;backdrop-filter:blur(22px)!important;-webkit-backdrop-filter:blur(22px)!important}
.account-title,.tabs button.active,.back{color:#f6c900!important}.tabs button.active,.account-form button{border-color:#f6c900!important}.account-form button{background:#f6c900!important;color:#19170a!important;border-radius:10px!important;min-height:46px!important}.account-form input{border-radius:10px!important;border-color:rgba(246,201,0,.25)!important;background:rgba(0,0,0,.35)!important;color:#fffdf2!important;min-height:44px!important;font-size:16px!important}.account-form span,.account-sub,.account-note{color:rgba(255,253,242,.66)!important}
body.portal-body{max-width:100%;overflow-x:hidden}
@media(max-width:760px){.app-shell{width:100%;min-width:0!important}.content{min-width:0!important;padding:14px!important}.table-wrap{width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}.table-wrap table{min-width:620px}.topbar{gap:8px!important;flex-wrap:wrap!important}.top-user{max-width:48vw;overflow-wrap:anywhere}.panel-head{gap:10px;flex-wrap:wrap}.actions,.toolbar{flex-wrap:wrap!important}.actions .btn,.toolbar .btn{max-width:100%}.modal-backdrop{padding:10px!important;box-sizing:border-box}.modal{box-sizing:border-box!important;width:100%!important}.account-wrap{margin:auto}.tabs button{font-size:12px!important;letter-spacing:.4px!important}.account-form label{font-size:14px!important}.account-form span{font-size:10px!important;letter-spacing:1px!important}}

/* FINAL PHONE BUTTON VISIBILITY + SCROLL FIX (2026-10-24)
   Keep actions visible on small screens and prevent the public site from
   clipping buttons below the first viewport. */
button, .btn, .button, .main-button, .outline-button, .quote-button,
.main-button, .outline-button, .contact-actions a, .buttons a,
input[type="submit"], input[type="button"] {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto;
  box-sizing: border-box;
  touch-action: manipulation;
}
@media (max-width: 900px) {
  .quote-button { display: inline-flex !important; align-items: center; justify-content: center; }
}
@media (max-width: 760px) {
  .actions, .toolbar, .buttons, .contact-actions, .form-actions,
  .modal .actions, .modal .form-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    max-width: 100%;
  }
  .actions > *, .toolbar > *, .buttons > *, .contact-actions > *,
  .form-actions > *, .modal .actions > *, .modal .form-actions > * {
    max-width: 100%;
    min-width: 0;
  }
  button, .btn, .button, .main-button, .outline-button,
  input[type="submit"], input[type="button"] {
    min-height: 44px !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }
  .quote-button { display: inline-flex !important; width: auto; max-width: 100%; }
}
@media (max-width: 600px) {
  html, body { width: 100%; max-width: 100%; overflow-x: hidden !important; }
  body { overflow-y: auto !important; }
  .page-content { max-height: none !important; overflow: visible !important; }
  .buttons, .contact-actions { align-items: stretch !important; }
  .buttons .button, .buttons .main-button, .buttons .outline-button,
  .contact-actions a, .contact-actions button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    max-width: 100% !important;
  }
  nav .quote-button, .navbar .quote-button, header .quote-button {
    display: inline-flex !important;
    visibility: visible !important;
  }
}
