/* iTECH CRM installed-app polish */
:root{--app-safe-top:env(safe-area-inset-top,0px);--app-safe-right:env(safe-area-inset-right,0px);--app-safe-bottom:env(safe-area-inset-bottom,0px);--app-safe-left:env(safe-area-inset-left,0px)}
html.app-standalone,html.app-standalone body{min-height:100%;min-height:100dvh}
html.app-standalone body{overscroll-behavior-y:none;-webkit-user-select:none;user-select:none}
html.app-standalone input,html.app-standalone textarea{user-select:text;-webkit-user-select:text}
html.app-standalone .top{padding-top:max(10px,var(--app-safe-top))!important}
html.app-standalone .side{padding-left:max(8px,var(--app-safe-left))!important;padding-bottom:max(8px,var(--app-safe-bottom))!important}
html.app-standalone .content{padding-right:max(10px,var(--app-safe-right))!important;padding-bottom:max(34px,var(--app-safe-bottom))!important}
.app-install-btn{border:1px solid #355a87;background:#0c2748;color:#dcecff;border-radius:12px;padding:9px 12px;font:inherit;font-weight:800;cursor:pointer;min-height:42px}
.app-install-btn:hover{border-color:#5bc9ff;background:#12355f}.app-install-btn[hidden]{display:none!important}
.app-install-toast{position:fixed;z-index:99999;left:50%;bottom:max(18px,calc(var(--app-safe-bottom) + 10px));transform:translateX(-50%);width:min(520px,calc(100vw - 24px));padding:13px 15px;border:1px solid #31557d;border-radius:14px;background:rgba(7,21,42,.97);box-shadow:0 18px 60px rgba(0,0,0,.45);color:#eaf4ff;font-size:13px;line-height:1.45}
.app-install-toast b{display:block;margin-bottom:4px}.app-install-toast button{float:right;margin-left:10px;border:0;background:transparent;color:#8edcff;font-weight:900;cursor:pointer}
@media(max-width:720px){.app-install-btn{font-size:0!important;width:44px;padding:0}.app-install-btn:after{content:'⇩';font-size:20px}.app-install-toast{bottom:max(10px,calc(var(--app-safe-bottom) + 6px))}}
@media(display-mode:standalone){.app-install-btn{display:none!important}}

/* 2026-09-18 — iPhone PWA application shell */
.mobile-app-nav,.mobile-more-sheet,.mobile-fab{display:none}
@media(max-width:1000px){
 html{background:#071126;-webkit-tap-highlight-color:transparent}
 body{padding:0!important;overscroll-behavior-y:none}
 .app{display:block!important;min-height:100dvh}
 .side{display:none!important}
 .main{min-height:100dvh;padding:0}
 .top{top:0!important;z-index:40;min-height:calc(58px + env(safe-area-inset-top));padding:max(8px,env(safe-area-inset-top)) 12px 8px!important;background:rgba(7,17,38,.92);border-bottom:1px solid rgba(135,174,228,.16);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
 .top>div:first-child span{display:none!important}.top strong{margin:0!important;font-size:20px!important;letter-spacing:-.02em}.top-actions{gap:7px!important}.bell,.employee{width:42px!important;height:42px!important;min-height:42px!important;border-radius:13px!important;padding:0!important;display:grid!important;place-items:center!important}.employee>span{width:34px!important;height:34px!important}.employee div,.crm-switch{display:none!important}
 .content{padding:12px 10px calc(104px + env(safe-area-inset-bottom))!important;width:100%!important}
 .hero,.hero.compact,.workspace-hero{padding:12px!important;margin:0 0 10px!important;border-radius:16px!important;box-shadow:none!important;background:linear-gradient(145deg,rgba(21,72,135,.24),rgba(74,52,138,.12)),#0a1a35!important}
 .hero h1,.hero.compact h1,.workspace-hero h1{margin:3px 0!important;font-size:24px!important}.hero p,.workspace-hero p{display:none!important}.hero .eyebrow{font-size:9px!important}.workspace-hero .primary.big{display:none!important}.sync-badge{margin-top:8px!important;padding:7px 9px!important;font-size:10px!important}
 .generic-grid{display:block!important}.generic-grid>.help{display:none!important}
 .quick{display:flex!important;gap:8px!important;overflow-x:auto!important;scroll-snap-type:x mandatory;padding:0 0 4px;margin:0 0 10px!important;scrollbar-width:none}.quick::-webkit-scrollbar{display:none}.quick .q{flex:0 0 220px;min-height:88px;padding:12px!important;border-radius:15px!important;scroll-snap-align:start}.q>span:first-child{width:34px!important;height:34px!important}.q p{display:none!important}
 .order-lifecycle-tabs,.request-lifecycle-tabs{display:flex!important;width:100%!important;gap:4px!important;padding:4px!important;margin:0 0 8px!important;border-radius:12px!important;overflow:hidden}.order-lifecycle-tabs button,.request-lifecycle-tabs button{flex:1 1 0!important;min-width:0!important;min-height:38px!important;padding:7px 6px!important;border-radius:9px!important;font-size:12px!important}
 .orders-tabs,.source-filters,.client-filters,.request-filter-pills,.owner-tabs,.owner-action-tabs{display:flex!important;gap:6px!important;overflow-x:auto!important;overscroll-behavior-x:contain;scroll-snap-type:x proximity;width:100%!important;padding-bottom:3px!important;scrollbar-width:none}.orders-tabs::-webkit-scrollbar,.source-filters::-webkit-scrollbar,.client-filters::-webkit-scrollbar,.request-filter-pills::-webkit-scrollbar,.owner-tabs::-webkit-scrollbar,.owner-action-tabs::-webkit-scrollbar{display:none}.orders-tabs button,.source-filters button,.client-filters button,.request-filter-pills button,.owner-tabs button,.owner-action-tabs button{flex:0 0 auto!important;width:auto!important;min-height:38px!important;white-space:nowrap!important;padding:8px 11px!important;border-radius:999px!important}
 button,a,input,select,textarea{touch-action:manipulation}.primary,.ghost,.open{min-height:42px}.panel{border-radius:16px!important}.panel-head{padding:12px!important}.toolbar label,.toolbar select,.warehouse-search,.request-search-shell input,.clients-toolbar>input{min-height:44px!important;font-size:16px!important}
 .mobile-app-nav{display:grid;position:fixed;z-index:80;left:8px;right:8px;bottom:max(7px,env(safe-area-inset-bottom));grid-template-columns:repeat(5,minmax(0,1fr));min-height:62px;padding:5px 5px;border:1px solid rgba(89,130,184,.36);border-radius:20px;background:rgba(8,24,48,.94);box-shadow:0 18px 50px rgba(0,0,0,.52);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
 .mobile-app-nav button{position:relative;display:grid;place-items:center;align-content:center;gap:2px;min-width:0;min-height:50px;border:0;border-radius:15px;background:transparent;color:#758eae;font:inherit;font-weight:800}.mobile-app-nav button i{font-style:normal;font-size:20px;line-height:20px}.mobile-app-nav button span{font-size:9px;line-height:12px}.mobile-app-nav button.active{background:linear-gradient(145deg,rgba(38,126,221,.28),rgba(112,77,214,.22));color:#f5fbff}.mobile-app-nav button.active i{color:#74d0ff}.mobile-app-nav em{position:absolute;top:2px;right:15%;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;border:2px solid #081830;border-radius:999px;background:#ff5f72;color:#fff;font-size:9px;font-style:normal}
 .mobile-fab{display:grid;place-items:center;position:fixed;z-index:81;right:17px;bottom:calc(80px + env(safe-area-inset-bottom));width:54px;height:54px;border:1px solid #72c8ff;border-radius:18px;background:linear-gradient(145deg,#1888ef,#7056dd);color:#fff;box-shadow:0 14px 36px rgba(18,104,210,.46);font-size:30px;font-weight:400}.mobile-fab:active{transform:scale(.95)}
 .mobile-more-sheet{display:block;position:fixed;z-index:90;inset:0}.mobile-more-sheet.hidden{display:none!important}.mobile-more-backdrop{position:absolute;inset:0;background:rgba(1,5,14,.62);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.mobile-more-sheet>section{position:absolute;left:0;right:0;bottom:0;padding:8px 12px calc(18px + env(safe-area-inset-bottom));border:1px solid #31527a;border-bottom:0;border-radius:25px 25px 0 0;background:#0a1932;box-shadow:0 -26px 60px rgba(0,0,0,.48)}.mobile-sheet-handle{width:38px;height:5px;margin:0 auto 9px;border-radius:9px;background:#415a78}.mobile-more-sheet header{display:flex;align-items:center;justify-content:space-between;padding:5px 3px 13px}.mobile-more-sheet header b,.mobile-more-sheet header small{display:block}.mobile-more-sheet header b{font-size:20px}.mobile-more-sheet header small{margin-top:2px;color:#7189a8}.mobile-more-sheet header>button{width:38px;height:38px;border:1px solid #294a76;border-radius:12px;background:#102542;color:#fff;font-size:21px}
 .mobile-more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mobile-more-grid button{min-width:0;min-height:82px;padding:10px 5px;border:1px solid #23466e;border-radius:16px;background:#0b203d;color:#cbdcf0;display:grid;place-items:center;align-content:center;gap:6px;font:inherit;font-weight:800}.mobile-more-grid button i{font-size:22px;font-style:normal;color:#78ceff}.mobile-more-grid button span{font-size:11px}.mobile-more-grid button.active{border-color:#59b8ff;background:linear-gradient(145deg,#123b6a,#272555);color:#fff}
 .app-network-pill{position:fixed;z-index:150;top:calc(7px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);padding:6px 10px;border-radius:999px;background:#9d3545;color:#fff;font-size:11px;font-weight:850;box-shadow:0 8px 24px rgba(0,0,0,.35)}
 .app-sheet-open{overflow:hidden!important}
}
@media(max-width:350px){.mobile-app-nav{left:5px;right:5px}.mobile-app-nav button span{font-size:8px}.mobile-app-nav button i{font-size:18px}.mobile-more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding-left:7px!important;padding-right:7px!important}}
@media(max-width:1000px) and (orientation:landscape){.top{min-height:50px;padding-top:max(5px,env(safe-area-inset-top))!important;padding-bottom:5px!important}.content{padding-bottom:78px!important}.mobile-app-nav{left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));min-height:54px}.mobile-app-nav button{min-height:44px}.mobile-app-nav button span{font-size:8px}.mobile-fab{bottom:68px;width:48px;height:48px}.mobile-more-sheet>section{left:max(0px,env(safe-area-inset-left));right:max(0px,env(safe-area-inset-right));max-height:92dvh;overflow:auto}.mobile-more-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}

/* iPhone PWA detail screens */
@media(max-width:1000px){
 .order-page-body,.request-page-body,.client-page-body{background:#071126!important;min-height:100dvh;padding:0!important}
 .order-top,.client-top{top:0!important;z-index:45!important;padding:max(8px,env(safe-area-inset-top)) 9px 8px!important;min-height:calc(58px + env(safe-area-inset-top));backdrop-filter:blur(22px)!important;-webkit-backdrop-filter:blur(22px)!important;background:rgba(7,17,38,.94)!important}
 .order-top{grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important}.order-top-main{display:flex!important;align-items:center!important;gap:9px!important}.order-top-main>div{min-width:0}.order-top-main .eyebrow,.order-top-main p{display:none!important}.order-top-main h1{margin:0!important;font-size:18px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .order-top .back-orders,.client-top .back-orders,.request-page-head .back-orders{display:inline-flex!important;align-items:center;justify-content:center;min-height:38px;padding:7px 10px;border:1px solid #294a76;border-radius:11px;background:#0d2444;color:#a9dcff!important;font-size:12px!important;white-space:nowrap}
 .order-top-actions{gap:6px!important}.order-top-actions #openPrint,.order-top-actions #deliverOrder{display:none!important}.order-top-actions #saveOrder{min-height:40px!important;padding:8px 11px!important;font-size:12px!important}
 .order-page{padding:10px 8px calc(24px + env(safe-area-inset-bottom))!important}.order-workspace{gap:9px!important}.order-card{border-radius:15px!important;box-shadow:none!important}.order-card-head{gap:9px!important}.order-card-head h2{font-size:18px!important}.order-card-head p{display:none!important}
 .client-top{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:5px!important}.client-top>.order-brand{display:none!important}.client-top>div:nth-child(2){display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px}.client-top>div:nth-child(2)>.eyebrow,.client-top>div:nth-child(2)>p{display:none!important}.client-top h1{margin:0!important;font-size:18px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-top-actions{display:none!important}.client-page{padding:10px 8px calc(24px + env(safe-area-inset-bottom))!important}.client-page-grid,.client-page-main{gap:9px!important}.client-page-side{gap:9px!important}
 .request-page{padding:max(8px,env(safe-area-inset-top)) 8px calc(24px + env(safe-area-inset-bottom))!important}.request-page-head{position:sticky;top:0;z-index:42;grid-template-columns:auto minmax(0,1fr) auto!important;gap:8px!important;margin:calc(-1 * max(8px,env(safe-area-inset-top))) -8px 10px!important;padding:max(8px,env(safe-area-inset-top)) 8px 8px!important;background:rgba(7,17,38,.94);border-bottom:1px solid rgba(135,174,228,.16);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
 .request-page-head>div{min-width:0}.request-page-head .eyebrow,.request-page-head p{display:none!important}.request-page-head h1{margin:0!important;font-size:18px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.request-page-head .status{font-size:9px!important;padding:6px 8px!important}.request-layout{gap:9px!important}.request-sheet{padding:12px!important;border-radius:16px!important}.request-help{display:none!important}.request-client-hero{padding-bottom:12px!important}.request-client-hero h2{font-size:21px!important}.request-info-grid{margin:12px 0!important;gap:7px!important}.request-info-grid>div{padding:10px!important;border-radius:12px!important}.request-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}.request-actions button{min-height:44px!important;padding:9px!important}.request-send-quote{width:100%!important;min-height:46px!important}
 .print-modal,.editor-overlay,.client-detail-overlay{padding-bottom:env(safe-area-inset-bottom)!important}
}
@media(max-width:360px){.request-page-head{grid-template-columns:auto minmax(0,1fr)!important}.request-page-head .status{grid-column:1/-1;width:max-content}.request-actions{grid-template-columns:1fr!important}}

@media(max-width:1000px){.mobile-portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px;padding-top:10px;border-top:1px solid #203e60}.mobile-portal-grid button{min-height:42px;border:1px solid #294a76;border-radius:12px;background:#0b203d;color:#b9d7f3;font:inherit;font-size:11px;font-weight:800}.mobile-portal-grid button:active{background:#14345e}}
@media(max-width:350px){.mobile-portal-grid{grid-template-columns:1fr}}

.app-update-toast{position:fixed;z-index:2147483500;right:16px;bottom:max(16px,calc(var(--app-safe-bottom) + 8px));display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;width:min(620px,calc(100vw - 32px));padding:12px;border:1px solid #315d89;border-radius:15px;background:rgba(7,22,42,.98);box-shadow:0 20px 60px rgba(0,0,0,.42);backdrop-filter:blur(18px)}
.app-update-toast>div{min-width:0}.app-update-toast b,.app-update-toast span{display:block}.app-update-toast b{color:#eef8ff;font-size:12px}.app-update-toast span{margin-top:3px;color:#8fa7c3;font-size:10px;line-height:1.35}
.app-update-toast button{min-height:36px!important;padding:7px 10px!important;white-space:nowrap!important}
@media(max-width:620px){.app-update-toast{left:8px;right:8px;bottom:max(8px,calc(var(--app-safe-bottom) + 4px));width:auto;grid-template-columns:1fr 1fr}.app-update-toast>div{grid-column:1/-1}.app-update-toast button{width:100%!important}}

/* 2026-09-19 order action bar: keep every action reachable on mobile */
@media(max-width:760px){
 body.order-page-body .order-top-actions #openPrint,
 body.order-page-body .order-top-actions #deliverOrder{display:grid!important;place-items:center!important}
 body.order-page-body .order-top-actions{grid-template-columns:minmax(0,1fr) repeat(4,40px)!important;gap:6px!important}
 body.order-page-body .order-top-actions #openPrint,
 body.order-page-body .order-top-actions #deliverOrder,
 body.order-page-body .order-top-actions #deleteOrder,
 body.order-page-body .order-top-actions #saveOrder{width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important}
}
@media(max-width:420px){
 body.order-page-body .order-top-actions{grid-template-columns:minmax(0,1fr) repeat(4,36px)!important;gap:5px!important}
 body.order-page-body .order-top-actions #openPrint,
 body.order-page-body .order-top-actions #deliverOrder,
 body.order-page-body .order-top-actions #deleteOrder,
 body.order-page-body .order-top-actions #saveOrder{width:36px!important;min-width:36px!important;max-width:36px!important}
}

/* 2026-09-20 · network resilience */
.app-network-pill{position:fixed;z-index:2147483501;top:max(8px,calc(env(safe-area-inset-top) + 6px));left:50%;transform:translateX(-50%);max-width:calc(100vw - 24px);padding:7px 11px;border:1px solid rgba(255,154,171,.45);border-radius:999px;background:rgba(130,38,57,.96);color:#fff;font-size:11px;font-weight:850;line-height:1.2;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.38);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.app-network-pill.online{border-color:rgba(126,220,175,.5);background:rgba(25,104,76,.96)}
