:root{--navy:#072f5a;--navy2:#0b4e82;--blue:#1d6fa5;--bg:#edf3f8;--card:#fff;--text:#0b2947;--muted:#6c8095;--line:#d6e1eb;--soft:#e6eef7;--ok:#16764b;--danger:#b93a34;--warn:#a86400;--shadow:0 5px 16px rgba(7,47,90,.08)}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,Helvetica,sans-serif;font-size:16px}button,input,select,textarea{font:inherit}.app{min-height:100vh;padding-bottom:78px}.topbar{background:var(--navy);color:#fff;padding:14px 16px 11px;position:sticky;top:0;z-index:30}.toprow,.userline,.hero,.taskhead,.ctxline,.svchead,.actionline,.inlineinput,.routebar,.sheetactions,.eventactions,.composeactions{display:flex;align-items:center}.toprow,.userline,.hero,.taskhead,.ctxline,.svchead,.routebar{justify-content:space-between}.brand{display:block;width:154px;height:52px;object-fit:contain;object-position:left center}.utc{font-size:23px;font-weight:950;white-space:nowrap}.userline{margin-top:4px;gap:12px}.userline>span{font-size:13px;opacity:.86;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.techbtn{border:0;background:transparent;color:#c8d8e8;font-size:10px;font-weight:800;padding:5px 0;white-space:nowrap}.content{max-width:760px;margin:0 auto;padding:15px}.home{padding-bottom:30px}.hero{margin:2px 0 12px}.hero h1{font-size:27px;line-height:1;margin:0 0 4px}.hero small{color:var(--muted);font-size:13px}.refresh,.back{border:0;background:var(--soft);color:var(--navy);border-radius:15px;width:52px;height:52px;font-size:25px;font-weight:900}.search{width:100%;height:52px;border:1px solid var(--line);border-radius:15px;padding:0 14px;background:#fff;color:var(--text);font-size:16px}.filters,.phasetabs{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 12px}.filter,.phasetab{border:0;background:var(--soft);color:var(--navy);border-radius:13px;min-height:42px;padding:0 13px;font-size:12px;font-weight:950}.filter.on,.phasetab.on{background:var(--navy);color:#fff}.task{display:block;width:100%;text-align:left;border:0;background:#fff;color:inherit;border-radius:18px;padding:14px;margin:11px 0;box-shadow:var(--shadow)}.acft{font-size:21px;font-weight:950;line-height:1.05}.sub{color:var(--muted);font-size:11px;margin-top:4px}.tag{background:#eaf2fa;color:var(--navy);border-radius:999px;padding:5px 8px;font-size:10px;font-weight:950}.schedule{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:10px 0 8px;padding:9px 0}.schedbox{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.schedmoment{min-width:0}.schedmoment:nth-child(2){text-align:center}.schedmoment:nth-child(3){text-align:right}.schedmoment small,.schedmoment span{display:block;color:var(--muted);font-size:9px;line-height:1.2}.schedmoment b{display:block;font-size:13px;line-height:1.25;margin:2px 0;white-space:nowrap}.schedmoment.actual b{font-weight:950;color:var(--navy)}.schedmoment.planned b{font-weight:700;color:#344d66}.routebar{margin-top:8px;color:#3b536d;font-size:11px;font-weight:900;gap:7px}.routebar span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.routebar i{font-style:normal;color:#8fa1b3;flex:none}.serviceapt{color:var(--navy)!important}.next{display:flex;justify-content:space-between;gap:10px;font-size:10px}.next span{color:var(--muted);font-weight:900}.next b{text-align:right;font-size:10px}.empty{padding:46px 10px;text-align:center;color:var(--muted);font-size:18px}.context{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:81px;z-index:22}.contextin{max-width:760px;margin:0 auto;padding:9px 15px;display:flex;gap:10px;align-items:flex-start}.ctxmain{min-width:0;flex:1}.ctxmain>.ctxline b{font-size:17px}.ctxmain>div:nth-child(2){font-size:10px;color:var(--muted);margin-top:2px}.phase{font-size:10px;font-weight:950;color:var(--navy);text-align:right}.context .schedule{margin:6px 0 0;padding:5px 0 0;border-bottom:0}.context .schedmoment b{font-size:10px}.context .schedmoment small,.context .schedmoment span,.context .routebar{font-size:8px}.taskcontent{padding-bottom:105px}.section{margin:14px 0}.sectitle{font-size:12px;font-weight:950;color:var(--muted);letter-spacing:.65px;margin:0 0 8px}.nowcard{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;border-radius:20px;padding:17px;box-shadow:var(--shadow)}.nowlabel{font-size:10px;font-weight:950;opacity:.78}.nowevent{font-size:27px;font-weight:950;margin:7px 0 13px}.nowtap{width:100%;height:62px;border:0;border-radius:16px;background:#fff;color:var(--navy);font-size:22px;font-weight:950}.timeline{display:grid;gap:7px;margin-bottom:10px}.eventrow{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:7px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:9px}.eventrow.done{background:#f1faf5;border-color:#b9dfc8}.eventrow.na{background:#f7f8f9}.eventname{min-width:0}.eventname b{display:block;font-size:13px}.eventname small{display:block;color:var(--muted);font-size:10px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eventvalue{font-size:15px}.naword{font-size:12px;color:#5d6b78}.eventempty{color:#9aabba}.mini{border:0;border-radius:11px;height:38px;min-width:47px;padding:0 9px;font-size:11px;font-weight:950}.nowmini{background:var(--navy);color:#fff}.editmini{background:var(--soft);color:var(--navy);font-size:19px}.btn{border:0;border-radius:13px;min-height:48px;padding:0 14px;font-weight:900}.primary{background:var(--navy);color:#fff}.soft{background:var(--soft);color:var(--navy)}.outline{background:#fff;border:1px solid var(--line);color:var(--navy)}.danger{background:var(--danger);color:#fff}.full{width:100%}.smallbtn{min-height:38px;padding:0 11px;font-size:11px}.bigaction{min-height:58px}.optionbtn{margin:4px 0}.actionline{gap:8px;flex-wrap:wrap;margin-top:9px}.card{background:#fff;border:1px solid rgba(7,49,91,.08);border-radius:17px;padding:14px;margin:9px 0;box-shadow:var(--shadow)}.card h3{margin:0;font-size:16px}.brief{border-top:1px solid var(--line);padding:9px 0}.brief:first-child{border-top:0}.brief>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.brief small{display:block;color:var(--muted);margin-top:3px}.svc{display:grid;gap:7px}.pill{border-radius:999px;padding:4px 7px;background:#edf2f7;font-size:9px;font-weight:950}.pill.ok{background:#e1f4e9;color:var(--ok)}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.fact{background:#f5f8fb;border-radius:11px;padding:9px;min-width:0}.fact small{display:block;color:var(--muted);font-size:9px}.fact b{display:block;overflow-wrap:anywhere;margin-top:2px}.fuelcard .warning{margin-bottom:10px}.warning{color:#8a5100;background:#fff3d6;border:1px solid #f0d18e;padding:10px;border-radius:11px;font-weight:900;font-size:12px}.oktext{color:var(--ok);background:#eef9f3;border:1px solid #c3e5d0;padding:10px;border-radius:11px}.reviewgap{width:100%;border:0;background:#f6f8fa;border-radius:12px;padding:11px;margin:5px 0;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;color:var(--text)}.reviewgap b{font-size:9px;color:var(--navy)}.reviewlist{background:#f7f9fb;border-radius:12px;padding:8px;margin:8px 0}.reviewlist div{padding:5px;border-bottom:1px solid var(--line);font-size:12px}.reviewlist div:last-child{border-bottom:0}.message{background:#fff;border:1px solid var(--line);border-radius:15px;padding:11px 12px;margin:9px 0}.message.mine{border-color:#9fc6e6;background:#f1f7fc}.messagehead{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--muted);margin-bottom:5px}.messagetext{white-space:pre-wrap;word-break:break-word}.attach,.filelist a{display:block;margin-top:7px;color:var(--blue);font-weight:800;text-decoration:none;font-size:12px}.composer{position:sticky;bottom:73px;background:var(--bg);padding:8px 0 2px}.composer textarea{width:100%;min-height:74px;border:1px solid var(--line);border-radius:14px;padding:11px;font:inherit;resize:vertical}.composeactions{gap:7px;margin-top:7px}.composeactions .send{margin-left:auto}.filepick input{display:none}.filepick{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 13px;border-radius:13px;background:var(--soft);color:var(--navy);font-weight:900;font-size:12px}.flightinfo{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.flightinfo>b,.flightinfo>span{grid-column:1/-1}.flightinfo>span{color:var(--muted);font-size:12px}.flightinfo div{background:#f5f8fb;border-radius:10px;padding:8px}.flightinfo small{display:block;color:var(--muted);font-size:9px}.flightinfo strong{display:block;margin-top:2px}.bottomnav{position:fixed;z-index:25;left:0;right:0;bottom:0;background:rgba(255,255,255,.98);border-top:1px solid var(--line);padding:5px 5px calc(5px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr)}.nav{height:57px;border:0;background:transparent;color:#65798e;font-size:10px;font-weight:950;border-radius:12px}.nav.on{background:#e7f0fa;color:var(--navy)}.problem{position:fixed;z-index:26;right:14px;bottom:78px;border:0;border-radius:999px;background:var(--danger);color:#fff;min-height:44px;padding:0 14px;font-size:11px;font-weight:950;box-shadow:var(--shadow)}.sheetwrap{position:fixed;inset:0;z-index:60}.shade{position:absolute;inset:0;background:rgba(4,18,32,.58)}.sheet{position:absolute;left:0;right:0;bottom:0;background:#fff;border-radius:22px 22px 0 0;padding:8px 16px calc(18px + env(safe-area-inset-bottom));max-height:90vh;overflow:auto}.grab{width:42px;height:5px;border-radius:9px;background:#ccd6e0;margin:2px auto 13px}.sheet h3{margin:0 0 12px}.field{margin:9px 0}.field label{display:block;font-size:10px;font-weight:950;color:var(--muted);margin-bottom:4px}.field input,.field textarea,.field select{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;padding:9px;font:inherit}.field textarea{min-height:80px}.inlineinput{gap:7px}.inlineinput input{min-width:0;flex:1}.sheetactions{display:grid;grid-template-columns:1fr 1.4fr;gap:8px;margin-top:13px}.eventactions{gap:7px;flex-wrap:wrap;margin:8px 0}.switchline{display:flex;align-items:center;gap:10px;padding:11px 0;font-size:12px;font-weight:900}.switchline input{width:22px;height:22px}.techgrid{display:grid;grid-template-columns:auto 1fr;gap:9px 14px;background:#f6f8fa;border-radius:12px;padding:12px;margin:10px 0 14px}.techgrid span{font-size:9px;color:var(--muted);font-weight:900}.techgrid b{font-size:11px;overflow-wrap:anywhere}.toast{position:fixed;z-index:90;left:14px;right:14px;bottom:88px;background:#102a43;color:#fff;border-radius:14px;padding:12px;display:none}.toast.on{display:block}.login{min-height:100vh;background:var(--navy);display:flex;align-items:center;justify-content:center;padding:20px}.loginbox{width:min(460px,100%);background:#fff;border-radius:23px;padding:24px}.loginlogo{width:180px;height:90px;object-fit:contain;object-position:left center}.loginbox h1{margin:4px 0 14px}.loginbox input{width:100%;height:52px;border:1px solid var(--line);border-radius:13px;padding:0 12px;font-size:16px;margin:6px 0}.loginbox .btn{margin-top:7px}.loginmodes{display:flex;gap:7px;margin:4px 0 10px}.hint{font-size:12px;color:var(--muted)}.errorcard{border-color:#e7b9b4;background:#fff7f6}.errorcard b{color:var(--danger)}
@media(min-width:700px){.bottomnav{left:50%;transform:translateX(-50%);max-width:760px;border-radius:18px 18px 0 0}.problem{right:calc((100vw - 760px)/2 + 14px)}.sheet{left:50%;right:auto;transform:translateX(-50%);width:min(620px,100%)}.task{padding:16px}.schedmoment b{font-size:14px}}
@media(max-width:380px){.brand{width:130px}.utc{font-size:20px}.schedbox{gap:3px}.schedmoment b{font-size:11px}.routebar{font-size:10px}.eventrow{grid-template-columns:minmax(0,1fr) auto auto}.eventrow .eventvalue,.eventrow .eventempty{grid-column:2}.eventrow .nowmini{grid-column:2}.eventrow .editmini{grid-column:3;grid-row:1/3}.facts{grid-template-columns:1fr 1fr}}

/* status / type / completion hierarchy */
.searchwrap{position:relative}.searchwrap .search{padding-right:48px}.searchclear{position:absolute;right:6px;top:5px;width:42px;height:42px;border:0;border-radius:12px;background:transparent;color:#687f95;font-size:25px;line-height:1}.filterhint{margin:-4px 2px 9px;color:var(--muted);font-size:11px;line-height:1.35}.badgerow{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px}.compactbadges{margin-top:4px}.ghtype{font-size:10px;font-weight:900;color:#5f7488}.statusbadge,.opsbadge,.donebadge,.closedbadge{display:inline-flex;align-items:center;min-height:22px;border-radius:999px;padding:3px 8px;font-size:9px;font-weight:950;letter-spacing:.15px}.statusbadge.planned{background:#e6effa;color:#14558a}.statusbadge.arriving{background:#daf4fb;color:#08708b}.statusbadge.onground{background:#dff3e8;color:#126b45}.statusbadge.departed{background:#fff0cf;color:#8a5600}.statusbadge.cancelled{background:#ffe0de;color:#aa201a;border:1px solid #ef9f9a}.statusbadge.closed{background:#e8ecef;color:#52616d}.statusbadge.neutral{background:#edf1f5;color:#586a7b}.opsbadge.ground{background:#dfeefa;color:#0e5d93}.opsbadge.fuel{background:#fff0d5;color:#8d5700}.opsbadge.other{background:#eee5fb;color:#68439a}.opsbadge.neutral{background:#edf1f5;color:#586a7b}.donebadge{background:#e8e3fb;color:#58428b}.closedbadge{background:#e8ecef;color:#4f5e69}.taskclosed{opacity:.92}.tasktitle{min-width:0}.ctxoperator{font-size:10px;color:var(--muted);margin-top:3px}.context .badgerow{margin-top:3px}.context .statusbadge,.context .opsbadge,.context .donebadge,.context .closedbadge{font-size:8px;min-height:19px;padding:2px 6px}.statebanner{border-radius:15px;padding:11px 13px;margin:0 0 13px;display:grid;gap:3px}.statebanner b{font-size:12px}.statebanner span{font-size:11px;line-height:1.35}.donestate{background:#f2effc;border:1px solid #d2c8f0;color:#4f3b7e}.closedstate{background:#f0f2f4;border:1px solid #cfd6dc;color:#4b5965}.completedcard{background:#f5f2fc;border-color:#d9d1ed}.completedcard b{color:#574286}
.confirmwrap{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.confirmshade{position:absolute;inset:0;background:rgba(4,18,32,.62)}.confirmbox{position:relative;width:min(430px,100%);background:#fff;border-radius:19px;padding:18px;box-shadow:0 12px 36px rgba(0,0,0,.24)}.confirmbox h3{margin:0 0 8px}.confirmbox p{margin:0 0 14px;color:#4e6479;line-height:1.4}.confirmactions{display:grid;grid-template-columns:1fr 1.25fr;gap:8px}


/* ===== m.GHO production mobile geometry ===== */
:root{--global-header-h:68px}
.topbar{height:var(--global-header-h);padding:5px 14px 4px;display:grid;grid-template-rows:39px 16px;position:sticky;top:0;z-index:40;box-shadow:0 1px 0 rgba(255,255,255,.08)}
.toprow{min-height:0}.brand{width:128px;height:36px}.utc{font-size:20px;line-height:1;font-weight:950}.userline{margin-top:0;min-height:0;line-height:1;gap:10px}.userline>span{font-size:10px}.techbtn{font-size:9px;padding:0;line-height:1;min-height:16px}
.context{top:var(--global-header-h);z-index:35;transition:box-shadow .16s ease}.contextin{padding:8px 15px;transition:padding .16s ease}.ctxmini{display:none}.context.compact{box-shadow:0 5px 14px rgba(7,47,90,.10)}.context.compact .contextin{padding:5px 12px;align-items:center}.context.compact .back{width:42px;height:42px;border-radius:12px;font-size:23px;flex:none}.context.compact .ctxmain>.ctxline b{font-size:14px}.context.compact .ctxoperator,.context.compact .schedule{display:none}.context.compact .badgerow{margin-top:2px;gap:4px}.context.compact .statusbadge,.context.compact .opsbadge,.context.compact .donebadge,.context.compact .closedbadge{font-size:7px;min-height:17px;padding:1px 5px}.context.compact .ghtype{font-size:8px}.context.compact .ctxmini{display:flex;align-items:center;gap:6px;margin-top:3px;color:#60758a;font-size:8px;font-weight:800;white-space:nowrap;overflow:hidden}.context.compact .ctxmini span{min-width:0;overflow:hidden;text-overflow:ellipsis}.context.compact .ctxmini i{font-style:normal;color:#9aacbd}.context.compact .ctxmini b{color:var(--navy);font-size:9px}
@media(max-width:420px){:root{--global-header-h:64px}.topbar{grid-template-rows:37px 15px;padding:4px 12px 3px}.brand{width:120px;height:34px}.utc{font-size:19px}.userline>span{font-size:9px}.techbtn{font-size:8px}.contextin{padding:7px 12px}.context .back{width:46px;height:46px}.ctxmain>.ctxline b{font-size:16px}}
@media(display-mode:standalone){body{overscroll-behavior-y:none}.topbar{padding-top:calc(5px + env(safe-area-inset-top));height:calc(var(--global-header-h) + env(safe-area-inset-top));grid-template-rows:39px 16px}.context{top:calc(var(--global-header-h) + env(safe-area-inset-top))}}

/* m.GHO v1.3.0 — mobile scroll hardening */
.topbar{height:auto!important;min-height:68px}
.context{top:var(--global-header-h)!important}
.sheet{max-height:90dvh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
body.sheet-open{position:fixed;left:0;right:0;width:100%;top:var(--sheet-scroll-y);overflow:hidden}
.diaglist{display:grid;gap:7px;margin:10px 0 14px}.diagrow{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:11px;padding:9px 11px;background:#f5f8fb;font-size:11px;font-weight:900}.diagrow b{font-size:11px}.diagok{border:1px solid #c3e5d0}.diagok b{color:var(--ok)}.diagfail{border:1px solid #e7b9b4}.diagfail b{color:var(--danger)}
@media(max-width:420px){.topbar{height:auto!important;min-height:64px}}
@media(display-mode:standalone){.topbar{height:auto!important;min-height:calc(68px + env(safe-area-inset-top))}.context{top:var(--global-header-h)!important}}
@media(max-width:420px) and (display-mode:standalone){.topbar{min-height:calc(64px + env(safe-area-inset-top))}}
