*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:#000;background:#1c1c1e;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,sans-serif}button,input{font:inherit}button{border:0}.app-shell{background:#f2f2f7;flex-direction:column;width:100%;height:100dvh;display:flex;position:relative;overflow:hidden}@media (width<=480px){.app-shell{max-width:100vw}}.status-bar{z-index:10;flex-shrink:0;justify-content:space-between;align-items:flex-end;height:52px;padding:14px 28px 0;display:flex;position:relative}.status-time{color:#000;letter-spacing:-.2px;margin-bottom:4px;font-size:15px;font-weight:600}.status-icons{align-items:center;gap:5px;margin-bottom:4px;display:flex}.app-header{background:#fff;border-bottom:1px solid #e5e5ea;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 20px;display:flex}.header-logo-wrap{align-items:center;gap:8px;display:flex}.header-logo{width:auto;height:22px}.header-app-name{color:#3c3c43;letter-spacing:.5px;text-transform:uppercase;border-left:1.5px solid #d1d1d6;padding-left:8px;font-size:15px;font-weight:600}.header-actions{align-items:center;gap:12px;display:flex}.profile-chip{color:#1a56cc;background:#e8f0fe;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:12px;font-weight:700;display:flex}.icon-btn{background:0 0;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex;position:relative}.notif-dot{background:#ff3b30;border:1.5px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:3px;right:3px}.scroll-area{flex:1;padding-bottom:4px;overflow:hidden auto}.greeting-bar{padding:16px 20px 10px}.greeting-name{color:#000;letter-spacing:-.4px;margin:0;font-size:22px;font-weight:700}.greeting-date{color:#8e8e93;margin:2px 0 0;font-size:14px}.auth-panel{background:#fff;border:1px solid #e5e5ea;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin:0 16px 12px;padding:14px;display:flex}.auth-panel p{color:#3c3c43;margin:0;font-size:13px;line-height:1.35}.primary-action{color:#fff;background:#1a73e8;border-radius:10px;min-width:82px;height:34px;padding:0 12px;font-size:13px;font-weight:700}.primary-action:disabled{opacity:.55}.sync-strip,.error-strip{border-radius:10px;margin:0 16px 12px;padding:8px 12px;font-size:12px;font-weight:600}.sync-strip{color:#2e7d32;background:#e8f5e9}.sync-strip.source-cache{color:#c66a00;background:#fff3e0}.sync-strip.source-mock{color:#636366;background:#f2f2f7}.error-strip{color:#c62828;background:#fde8e8}.alert-banner{text-align:left;background:#fff3cd;border:1px solid #ffca28;border-radius:12px;align-items:flex-start;gap:10px;width:calc(100% - 32px);margin:0 16px 12px;padding:11px 14px;display:flex}.alert-banner svg{flex-shrink:0;width:16px;height:16px;margin-top:1px}.alert-banner span{color:#7a5c00;font-size:13px;line-height:1.45}.alert-banner strong{font-weight:600}.search-wrap{padding:0 16px 12px}.search-bar{background:#e5e5ea;border-radius:11px;align-items:center;gap:8px;height:38px;padding:0 12px;display:flex}.search-bar svg{flex-shrink:0;width:16px;height:16px}.search-bar input{color:#3c3c43;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:15px}.search-bar input::placeholder{color:#8e8e93;opacity:1}.stage-tabs{gap:8px;padding:0 16px 12px;display:flex}.stage-tab{color:#8e8e93;background:#fff;border:1px solid #e5e5ea;border-radius:10px;flex:1;justify-content:center;align-items:center;height:36px;font-size:13px;font-weight:600;display:flex}.stage-tab.active{color:#fff;background:#1a73e8;border-color:#1a73e8}.section-hdr{justify-content:space-between;align-items:center;padding:4px 20px 8px;display:flex}.section-title{color:#8e8e93;text-transform:uppercase;letter-spacing:.4px;font-size:13px;font-weight:600}.section-count{color:#8e8e93;font-size:13px}.job-list{padding-bottom:16px}.job-card{cursor:pointer;text-align:left;background:#fff;border-radius:14px;width:calc(100% - 32px);margin:0 16px 10px;padding:14px 16px;box-shadow:0 1px 4px #00000012}.job-card-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:5px;display:flex}.job-num{color:#8e8e93;letter-spacing:.3px;font-size:12px;font-weight:600}.status-pill{letter-spacing:.2px;white-space:nowrap;border-radius:20px;padding:3px 9px;font-size:11px;font-weight:600}.s-new{color:#636366;background:#f2f2f7}.s-scheduled{color:#1a56cc;background:#e8f0fe}.s-inprogress{color:#1b7d3b;background:#e3f5e9}.s-onsite{color:#0a6640;background:#d4f5e9;font-weight:700}.s-traveling{color:#5e35b1;background:#ede7f6}.s-waiting{color:#c66a00;background:#fff3e0}.s-return{color:#c62828;background:#fde8e8}.s-notes{color:#7a6000;background:#fff9c4}.job-name{color:#000;letter-spacing:-.2px;margin:0 0 3px;font-size:15px;font-weight:600}.job-customer{color:#3c3c43;margin:0 0 5px;font-size:13px}.job-address{align-items:center;gap:5px;display:flex}.job-address svg{fill:#8e8e93;flex-shrink:0;width:12px;height:12px}.job-address-text{color:#8e8e93;font-size:12px}.card-alert{border-top:1px solid #f2f2f7;align-items:center;gap:5px;margin-top:8px;padding-top:8px;display:flex}.card-alert svg{flex-shrink:0;width:13px;height:13px}.card-alert-text{color:#c66a00;font-size:12px;font-weight:500}.job-card-inner{align-items:center;gap:8px;display:flex}.job-card-content{flex:1;min-width:0}.card-chevron{opacity:.3;flex-shrink:0}.tab-bar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#f9f9f9f0;border-top:1px solid #e5e5ea;flex-shrink:0;align-items:flex-start;height:83px;padding-top:10px;display:flex}.tab-item,.tab-po-wrap{cursor:pointer;background:0 0;flex-direction:column;flex:1;align-items:center;gap:3px;padding:0;display:flex}.tab-icon{justify-content:center;align-items:center;width:28px;height:28px;display:flex}.tab-label,.tab-po-label{color:#8e8e93;letter-spacing:.1px;font-size:10px;font-weight:500}.tab-item.active .tab-label{color:#1a73e8}.tab-po-wrap{margin-top:-14px;padding-top:0}.tab-po-btn{background:#1a73e8;border-radius:16px;justify-content:center;align-items:center;width:52px;height:52px;display:flex;box-shadow:0 4px 14px #1a73e873}.home-indicator{flex-shrink:0;justify-content:center;align-items:center;height:0;display:flex;position:absolute;bottom:8px;left:0;right:0}.home-bar{opacity:.18;background:#000;border-radius:3px;width:134px;height:5px}.nav-bar{background:#fff;border-bottom:1px solid #e5e5ea;flex-shrink:0;align-items:center;gap:10px;padding:10px 16px;display:flex}.back-btn,.cancel-btn{color:#1a73e8;background:0 0;align-items:center;gap:4px;padding:0;font-size:15px;display:flex}.back-btn svg{width:10px;height:16px}.nav-title{color:#000;text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:16px;font-weight:600;overflow:hidden}.nav-spacer{width:44px}.detail-job-card,.summary-card{background:#fff;border-radius:16px;margin:12px 16px 0;padding:16px;box-shadow:0 1px 4px #00000012}.detail-job-name{color:#000;letter-spacing:-.3px;margin-bottom:3px;font-size:17px;font-weight:700}.address-row{background:#f2f2f7;border-radius:10px;align-items:center;gap:8px;padding:9px 11px;display:flex}.address-row svg{fill:#1a73e8;flex-shrink:0;width:13px;height:13px}.address-text{color:#3c3c43;flex:1;font-size:13px;line-height:1.35}.map-link{color:#1a73e8;flex-shrink:0;font-size:12px;font-weight:500}.detail-alert{width:auto}.dispatch-card,.ref-card,.items-card{background:#fff;border-radius:14px;margin:10px 16px 0;overflow:hidden;box-shadow:0 1px 4px #0000000f}.dispatch-header{border-bottom:1px solid #f2f2f7;align-items:center;gap:7px;padding:10px 14px 8px;display:flex}.dispatch-header svg{flex-shrink:0;width:14px;height:14px}.dispatch-header span{color:#8e8e93;text-transform:uppercase;letter-spacing:.4px;font-size:12px;font-weight:600}.dispatch-body{color:#3c3c43;padding:10px 14px 12px;font-size:14px;line-height:1.55}.actions-row{gap:10px;padding:10px 16px 0;display:flex}.action-btn,.capture-btn{cursor:pointer;border-radius:14px;flex:1;justify-content:center;align-items:center;gap:8px;height:50px;display:flex}.btn-primary{background:#1a73e8;box-shadow:0 4px 12px #1a73e852}.btn-primary span{color:#fff;font-size:15px;font-weight:600}.btn-secondary{background:#fff;border:1.5px solid #e5e5ea}.btn-secondary span{color:#000;font-size:15px;font-weight:600}.section-hdr-text{color:#8e8e93;text-transform:uppercase;letter-spacing:.4px;font-size:13px;font-weight:600}.po-row{align-items:center;gap:12px;padding:12px 14px;display:flex}.po-icon{border-radius:10px;flex-shrink:0;width:36px;height:36px}.po-icon-open{background:#fff3e0}.po-info{flex:1}.po-title{color:#000;margin-bottom:2px;font-size:14px;font-weight:600}.po-sub,.po-lbs-unit{color:#8e8e93;font-size:12px}.po-lbs{text-align:right}.po-lbs-num{color:#000;font-size:15px;font-weight:700}.po-badge{border-radius:6px;margin-top:3px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-block}.badge-open{color:#c66a00;background:#fff3e0}.login-shell{background:#f2f2f7;justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.login-card{background:#fff;border-radius:20px;width:100%;max-width:400px;padding:36px 32px 28px;box-shadow:0 4px 24px #0000001a}.login-logo-wrap{align-items:center;gap:14px;margin-bottom:24px;display:flex}.login-logo{width:auto;height:48px}.login-brand-name{color:#000;letter-spacing:-.4px;font-size:22px;font-weight:700}.login-brand-sub{color:#8e8e93;margin-top:2px;font-size:13px}.login-divider{background:#f2f2f7;height:1px;margin-bottom:24px}.login-prompt{color:#3c3c43;margin:0 0 20px;font-size:15px;line-height:1.5}.login-error{color:#c62828;background:#fde8e8;border-radius:10px;margin-bottom:16px;padding:10px 14px;font-size:13px}.login-btn{color:#fff;cursor:pointer;background:#1a73e8;border-radius:14px;justify-content:center;align-items:center;gap:10px;width:100%;height:52px;font-size:15px;font-weight:600;transition:opacity .15s;display:flex}.login-btn:disabled{opacity:.6;cursor:default}.login-btn-text{font-size:15px;font-weight:600}.login-footer{color:#aeaeb2;text-align:center;margin:16px 0 0;font-size:12px}.badge-done{color:#2e7d32;background:#e8f5e9}.po-icon-done{background:#e8f5e9}.priority-row{color:#636366;margin-top:8px;font-size:12px}.priority-label{margin-right:4px;font-weight:600}.priority-value{color:#3c3c43}.dispatch-requested-by{color:#636366;border-top:1px solid #f2f2f7;padding:8px 14px 10px;font-size:12px}.dispatch-meta-label{font-weight:600}.empty-activity{color:#8e8e93;text-align:center;margin:8px 16px 12px;padding:16px;font-size:13px}.steps{flex-shrink:0;align-items:center;padding:14px 20px 10px;display:flex}.step-item{flex:1;align-items:center;min-width:0;display:flex}.step-circle{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:flex}.step-active{color:#fff;background:#1a73e8}.step-pending{color:#8e8e93;background:#e5e5ea}.step-done{color:#fff;background:#34c759}.step-label{white-space:nowrap;text-overflow:ellipsis;margin-left:5px;font-size:10px;font-weight:500;overflow:hidden}.step-label-active{color:#1a73e8}.step-label-pending{color:#8e8e93}.step-label-done{color:#34c759}.step-connector{background:#e5e5ea;flex:1;height:2px;margin:0 6px}.step-connector-done{background:#34c759}.po-scroll{padding-top:4px}.form-section{margin:12px 16px 0}.form-label,.items-label{color:#8e8e93;text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px;padding-left:2px;font-size:13px;font-weight:600}.toggle-card,.vendor-input-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 1px 4px #00000012}.toggle-row{cursor:pointer;text-align:left;background:#fff;border-bottom:1px solid #f2f2f7;align-items:center;gap:12px;width:100%;padding:13px 16px;display:flex}.toggle-row:last-child{border-bottom:none}.toggle-row.selected-row{background:#1a73e80a}.radio-outer{border:2px solid #e5e5ea;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.radio-outer.selected{background:#1a73e8;border-color:#1a73e8}.radio-inner{background:#fff;border-radius:50%;width:8px;height:8px}.toggle-text{flex:1}.toggle-title{color:#000;font-size:15px;font-weight:500}.toggle-sub,.helper-text{color:#8e8e93;margin-top:2px;font-size:12px}.toggle-badge,.vendor-tag{border-radius:7px;flex-shrink:0;padding:2px 7px;font-size:11px;font-weight:600}.badge-refrig{color:#1a73e8;background:#e8f3ff}.select-card{color:#000;background:#fff;border:0;border-radius:14px;width:100%;padding:15px 16px;font-size:15px;box-shadow:0 1px 4px #00000012}.info-banner{border-radius:12px;align-items:flex-start;gap:9px;margin:12px 16px 0;padding:11px 14px;display:flex}.info-banner.blue{background:#e8f3ff}.info-banner.gray{background:#f2f2f7}.info-banner-icon{flex-shrink:0;font-size:16px;line-height:1.3}.info-banner-text{color:#1a60c2;font-size:12px;line-height:1.45}.vendor-input-row{align-items:center;padding:14px 16px;display:flex}.vendor-input-field{color:#000;background:0 0;border:none;outline:none;flex:1;font-size:15px}.vendor-suggestion{text-align:left;background:#fff;border-top:1px solid #f2f2f7;align-items:center;gap:12px;width:100%;padding:12px 16px;display:flex}.vendor-dot{background:#d1d1d6;border-radius:50%;flex-shrink:0;width:8px;height:8px}.vendor-dot.recent{background:#1a73e8}.vendor-name{color:#000;flex:1;font-size:15px}.vendor-tag{color:#8e8e93;background:#f2f2f7}.cta-wrap{flex-shrink:0;padding:14px 16px 0}.cta-btn{background:#1a73e8;border-radius:14px;justify-content:center;align-items:center;width:100%;height:52px;display:flex;box-shadow:0 4px 14px #1a73e852}.cta-btn span{color:#fff;font-size:17px;font-weight:600}.cta-btn:disabled{opacity:.45}.po-number-card{background:#fff;border-radius:16px;margin:12px 16px 0;padding:16px;box-shadow:0 1px 4px #00000014}.po-number-card span{color:#8e8e93;text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600}.po-number-card strong{float:right;color:#1b7d3b;background:#e3f5e9;border-radius:5px;padding:2px 8px;font-size:11px;font-weight:600}.po-number-card p{color:#8e8e93;margin:8px 0 0;font-size:12px}.capture-zone{background:#000;border-radius:16px;justify-content:center;align-items:center;height:220px;margin:12px 16px 0;display:flex;position:relative;overflow:hidden}.capture-zone img{object-fit:cover;width:100%;height:100%}.capture-guide{border:2px solid #fff9;border-radius:8px;position:absolute;inset:20px}.capture-hint{text-align:center;color:#ffffffd9;font-size:13px;font-weight:500;position:absolute;bottom:28px;left:0;right:0}.capture-actions{gap:10px;padding:10px 16px 0;display:flex}.ai-banner,.ref-summary{background:#e8f0fe;border-radius:12px;margin:10px 16px 0;padding:11px 13px}.ai-banner-text{color:#1a3a6b;font-size:13px;line-height:1.4}.items-section{margin:10px 16px 0}.item-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 1px 4px #0000000f}.item-row{border-bottom:1px solid #f7f7f7;align-items:flex-start;gap:10px;padding:13px 14px;display:flex}.item-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px}.dot-ok{background:#34c759}.dot-warn{background:#ff9500}.item-info{flex:1}.item-desc,.line-desc{color:#000;font-size:14px;font-weight:500}.item-sub{color:#8e8e93;font-size:12px}.ref-tag,.line-ref-tag{color:#1a56cc;background:#e8f0fe;border-radius:5px;align-items:center;gap:4px;margin-top:3px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex}.lbs-input-wrap{background:#fff;border:1.5px solid #1a73e8;border-radius:9px;align-items:center;gap:6px;padding:7px 10px;display:flex}.lbs-input{color:#1a73e8;text-align:right;border:0;width:44px;font-size:15px;font-weight:600}.lbs-unit{color:#8e8e93;font-size:13px}.summary-row{align-items:center;gap:10px;margin-bottom:10px;display:flex}.summary-label{color:#8e8e93;flex-shrink:0;width:56px;font-size:12px}.summary-value{color:#000;flex:1;font-size:14px;font-weight:600}.po-num-large{letter-spacing:1px;color:#000;font-size:22px;font-weight:700}.ref-summary-top{align-items:center;gap:8px;display:flex}.ref-summary-title{color:#1a3a6b;flex:1;font-size:14px;font-weight:600}.ref-summary-total{color:#1a3a6b;font-size:16px;font-weight:700}.items-card-header{border-bottom:1px solid #f2f2f7;justify-content:space-between;align-items:center;padding:11px 14px;display:flex}.items-card-title{color:#8e8e93;text-transform:uppercase;letter-spacing:.4px;font-size:12px;font-weight:600}.edit-link{color:#1a73e8;background:0 0;font-size:13px;font-weight:500}.line-item{border-bottom:1px solid #f7f7f7;justify-content:space-between;align-items:center;gap:8px;padding:11px 14px;display:flex}.line-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.line-qty{color:#8e8e93;font-size:13px}.success-body{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:0 28px 40px;display:flex}.success-icon{color:#fff;background:#34c759;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:20px;font-size:42px;font-weight:800;display:flex;box-shadow:0 8px 24px #34c75966}.success-title{margin:0 0 8px;font-size:24px;font-weight:700}.success-sub{color:#8e8e93;margin:0 0 28px;font-size:15px}.success-po{color:#000;letter-spacing:2px;font-size:36px;font-weight:700}.success-po-label{color:#8e8e93;margin-bottom:32px;font-size:13px}.success-details{background:#fff;border-radius:16px;width:100%;margin-bottom:28px;padding:16px;box-shadow:0 1px 4px #00000012}.success-detail-row{border-bottom:1px solid #f7f7f7;justify-content:space-between;align-items:center;padding:7px 0;font-size:13px;display:flex}.success-wide{width:100%}
