:root{--bg:#040a12;--panel:#0b1726;--panel2:#101f33;--blue:#0a8cff;--blue2:#0451a5;--text:#f4f7fb;--muted:#b9c6d7;--line:#1f4d82;--gold:#ffb000;--green:#2bc777;--red:#ff6363}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:radial-gradient(circle at top,#0b1c30 0,var(--bg) 45%);color:var(--text)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.wrap{width:min(1120px,92%);margin:0 auto}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:12px 4%;background:rgba(4,10,18,.96);border-bottom:1px solid #12345a;backdrop-filter:blur(8px)}.brand{display:flex;align-items:center;gap:10px}.brand-icon{width:44px;height:44px}.brand-title{font-weight:900;font-size:24px;line-height:1;letter-spacing:1px}.brand-sub{color:#2a9dff;font-weight:800;letter-spacing:1px;font-size:13px}.top-actions{display:flex;gap:9px}.call-mini,.admin-mini{border:0;color:#fff;padding:10px 14px;border-radius:10px;font-weight:800}.call-mini{background:#0a72d8}.admin-mini{background:#17263a;border:1px solid #315c89}.hero{min-height:560px;position:relative;display:grid;align-items:center;background:linear-gradient(100deg,rgba(2,8,16,.96),rgba(2,8,16,.58)),url("poster.png") center/cover no-repeat}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,var(--bg),transparent 30%)}.hero-content{position:relative;z-index:2;width:min(1120px,92%);margin:0 auto;max-width:760px}.eyebrow{color:#56b7ff;font-weight:900;letter-spacing:2px;margin:0 0 8px}h1{font-size:clamp(44px,8vw,86px);line-height:.95;margin:12px 0 18px;text-transform:uppercase}.lead{font-size:clamp(18px,2.5vw,25px);color:#d8e2ef;max-width:700px}.hero-actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.primary,.secondary,.install-btn{border:0;border-radius:12px;padding:15px 22px;font-weight:900}.primary{background:linear-gradient(#0b9cff,#0759b4);color:#fff}.secondary{border:1px solid #469df3;background:#0c1c2f;color:#fff}.compact{padding:11px 14px}.full{width:100%}section{padding:54px 0}section h2{font-size:clamp(30px,5vw,46px);margin:0 0 24px}.service-grid,.app-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.service-card{background:linear-gradient(150deg,#101e31,#08111d);border:1px solid #204c7a;padding:24px;border-radius:18px;min-height:210px}.service-card.carnival{border-color:#9b4700;box-shadow:inset 0 0 0 1px #412000}.service-icon{font-size:45px}.service-card h3{font-size:25px;margin:12px 0 8px}.service-card p{color:var(--muted);line-height:1.6}.carnival h3{color:var(--gold)}.app-panel{padding-top:20px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.version-chip{background:#12345a;border:1px solid #2c75b9;border-radius:999px;padding:8px 12px;font-weight:800}.app-tile{min-height:160px;border:1px solid #275d99;border-radius:20px;background:linear-gradient(145deg,#fff,#dce5ef);color:#061426;display:grid;place-items:center;align-content:center;gap:8px;padding:18px;text-align:center}.app-tile span{font-size:42px}.app-tile b{font-size:20px}.app-tile small{font-size:15px;color:#33475d}.carnival-banner{background:linear-gradient(90deg,#250d00,#06111f 48%,#351000);border-top:1px solid #a24a00;border-bottom:1px solid #a24a00}.carnival-banner h2{color:var(--gold);margin-bottom:10px}.carnival-banner p{color:#e6edf6;font-size:18px;line-height:1.6}.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.trust div{background:#0b1624;border:1px solid #173a62;border-radius:14px;padding:20px;text-align:center}.trust span{display:block;font-size:34px;margin-bottom:10px}.trust b{display:block}.trust small{color:var(--muted);display:block;margin-top:6px}footer{border-top:1px solid #14345a;padding:26px 0;background:#02060b}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:18px}.install-btn{background:#0b78db;color:#fff}dialog{width:min(650px,94%);background:#0c1726;color:#fff;border:1px solid #285d98;border-radius:18px;padding:22px;max-height:90vh;overflow:auto}dialog::backdrop{background:rgba(0,0,0,.78)}.admin-dialog{width:min(1050px,96%)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.dialog-head h2{margin:0}.close{border:0;background:transparent;color:#fff;font-size:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:block;margin:14px 0;color:#d6e1ed;font-weight:700}input,select,textarea{width:100%;margin-top:7px;padding:13px;border-radius:10px;border:1px solid #315b84;background:#07101c;color:#fff}textarea{resize:vertical}.form-note{color:#9fb0c4;font-size:13px;line-height:1.5}.error{color:var(--red);min-height:18px}.request-item,.job-card{border:1px solid #244d77;background:#08111d;border-radius:12px;padding:14px;margin:12px 0}.request-item b,.job-card h3{color:#59b7ff}.request-item div{margin-top:6px}.empty{color:#aebdce}.tracking-result{margin-top:16px}.tracking-number{font-family:monospace;font-size:18px;color:#7cc5ff}.status-badge{display:inline-block;border:1px solid #3678b7;background:#102b48;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.stat{background:#08111d;border:1px solid #234d78;border-radius:14px;padding:15px}.stat strong{display:block;font-size:27px}.stat small{color:var(--muted)}.admin-toolbar{display:grid;grid-template-columns:2fr 1fr auto;gap:10px;align-items:end}.admin-toolbar input,.admin-toolbar select{margin:0}.job-card{display:grid;grid-template-columns:1fr auto;gap:14px}.job-card h3{margin:0 0 8px}.job-meta{color:#c5d1df;line-height:1.55}.job-actions{display:flex;flex-direction:column;gap:8px;min-width:140px}.job-actions button,.job-actions a{padding:9px 11px;border-radius:9px;border:1px solid #315c89;background:#10243a;color:#fff;text-align:center;font-weight:800}.danger{border-color:#7e3333!important;background:#311515!important}.customer-summary{padding:12px;background:#08111d;border-radius:10px;color:#cbd7e5}.success-box{border:1px solid #27744d;background:#092719;border-radius:13px;padding:16px}.success-box h3{margin-top:0;color:#68e0a0}.notice{border:1px solid #634f22;background:#241b08;padding:12px;border-radius:10px;color:#ffe184}
@media(max-width:760px){.call-mini{display:none}.top-actions{gap:5px}.admin-mini{padding:9px 10px;font-size:12px}.hero{min-height:500px;background-position:62% center}.service-grid,.app-grid,.form-grid,.stats-grid,.admin-toolbar{grid-template-columns:1fr}.trust{grid-template-columns:repeat(2,1fr)}.footer-inner{align-items:flex-start;flex-direction:column}.section-heading{align-items:flex-start;flex-direction:column}.job-card{grid-template-columns:1fr}.job-actions{flex-direction:row;flex-wrap:wrap}}

/* V3.1 mobile dashboard reliability update */
dialog{max-height:90vh;max-height:90dvh;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
@media(max-width:760px){
  .admin-dialog{position:fixed;inset:8px;width:auto;max-width:none;max-height:none;margin:0;padding:14px 14px calc(18px + env(safe-area-inset-bottom));border-radius:16px;overflow-y:auto}
  .admin-dialog .dialog-head{position:sticky;top:-14px;z-index:5;margin:-14px -14px 10px;padding:14px;background:#0c1726;border-bottom:1px solid #183b61}
  .admin-dialog .eyebrow{margin-bottom:4px}
  .admin-dialog .dialog-head h2{font-size:30px}
  .stats-grid{grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}
  .stat{padding:12px}
  .stat strong{font-size:24px}
  .admin-toolbar{gap:8px}
  .admin-toolbar .compact{width:100%}
  .job-actions{display:grid;grid-template-columns:1fr 1fr;min-width:0}
}
.auth-secondary{margin-top:10px}.sync-good{color:var(--green)}.sync-wait{color:var(--gold)}

/* V3.2 narrow-phone overflow protection */
html,body{max-width:100%;overflow-x:hidden}
.admin-dialog *{min-width:0}
.admin-dialog input,.admin-dialog select,.admin-dialog textarea,.admin-dialog button{max-width:100%}
.tracking-number,.job-meta,.request-item{overflow-wrap:anywhere;word-break:break-word}
@media(max-width:430px){
  .admin-dialog{inset:5px;padding:11px 10px calc(16px + env(safe-area-inset-bottom));border-radius:14px}
  .admin-dialog .dialog-head{top:-11px;margin:-11px -10px 8px;padding:12px 10px}
  .admin-dialog .dialog-head h2{font-size:clamp(25px,8vw,30px)}
  .stats-grid{gap:7px}
  .stat{padding:10px}
  .stat strong{font-size:22px}
  .stat small{font-size:13px}
  .admin-toolbar input{font-size:16px}
  .job-card{padding:12px}
  .tracking-number{font-size:16px}
}

/* V3.3 Android dashboard scrolling fix */
@media(max-width:760px){
  .admin-dialog[open]{
    display:block;
    top:5px;
    right:5px;
    bottom:auto;
    left:5px;
    width:calc(100% - 10px);
    height:calc(100vh - 10px);
    height:calc(100dvh - 10px);
    max-height:calc(100vh - 10px);
    max-height:calc(100dvh - 10px);
    overflow-x:hidden;
    overflow-y:scroll;
    overscroll-behavior-y:auto;
    touch-action:pan-y;
    scrollbar-gutter:stable;
  }
}
