:root{--zem-blue:#00B7FF;--zem-deep:#0A1F3D;--zem-orange:#FF5A00;--zem-silver:#E5E7EB;--zem-white:#fff;--zem-steel:#1E2A3B;--zem-carbon:#111827;--zem-green:#22c55e;--zem-border:#cfe3ff}
.zem-fjp-mobile-wrap{max-width:920px;margin:0 auto;padding:22px 14px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--zem-deep)}
.zem-fjp-mobile-header{display:flex;align-items:center;gap:16px;margin-bottom:18px;padding:18px;background:linear-gradient(135deg,#071a33,#0A1F3D);border-radius:22px;color:#fff;box-shadow:0 18px 50px rgba(10,31,61,.16)}
.zem-fjp-mobile-logo{width:76px;height:76px;object-fit:contain;border-radius:18px;background:#061426;padding:4px}
.zem-fjp-mobile-header h1{font-size:clamp(26px,4vw,42px);line-height:1;margin:0 0 8px;font-weight:900;letter-spacing:-.02em;color:#fff}
.zem-fjp-mobile-header p{margin:0;color:#cdefff;font-size:15px}
.zem-fjp-code-form{background:#fff;border:1px solid var(--zem-border);border-radius:20px;padding:18px;box-shadow:0 14px 42px rgba(0,0,0,.07);margin-bottom:16px}
.zem-fjp-code-form label{display:block;font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.05em;margin-bottom:10px;color:#071a33}
.zem-fjp-input-row{display:grid;grid-template-columns:1fr 230px;gap:12px}
.zem-fjp-input-row input{width:100%;box-sizing:border-box;border:1px solid #bdd6f8;border-radius:14px;padding:16px;font-size:18px;font-weight:800;text-transform:uppercase;outline:none;color:#071a33;background:#f8fbff}
.zem-fjp-input-row input:focus{border-color:var(--zem-blue);box-shadow:0 0 0 4px rgba(0,183,255,.12)}
.zem-fjp-input-row button,.zem-fjp-card-button{border:0;border-radius:14px;background:linear-gradient(135deg,#007bff,#00B7FF);color:#fff;font-weight:900;text-transform:uppercase;letter-spacing:.02em;padding:16px 18px;cursor:pointer;text-decoration:none;text-align:center;box-shadow:0 10px 22px rgba(0,123,255,.22)}
.zem-fjp-code-form small{display:block;margin-top:10px;color:#315279;font-weight:600}
.zem-fjp-alert{padding:14px 16px;border-radius:14px;margin:14px 0;font-weight:800}.zem-fjp-alert.is-error{background:#fff2f2;color:#b42318;border:1px solid #ffc9c9}.zem-fjp-alert.is-info{background:#eef7ff;color:#075985;border:1px solid #bae6fd}.zem-fjp-alert.is-success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}
.zem-fjp-welcome{border:1px solid var(--zem-border);border-radius:20px;padding:18px;background:linear-gradient(180deg,#fff,#f7fbff);margin:18px 0;box-shadow:0 14px 42px rgba(0,0,0,.06)}
.zem-fjp-eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--zem-blue);font-weight:900;margin:0 0 6px}.zem-fjp-welcome h2{font-size:30px;margin:0 0 8px;color:#071a33}.zem-fjp-welcome p{margin:0;color:#28466b}
.zem-fjp-job-list{display:grid;gap:14px}.zem-fjp-job-card{background:#fff;border:1px solid var(--zem-border);border-radius:20px;padding:16px;box-shadow:0 12px 36px rgba(10,31,61,.08)}
.zem-fjp-job-top{display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center;border-bottom:1px solid #eaf2ff;padding-bottom:14px;margin-bottom:14px}.zem-fjp-job-number{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#0069ff,#00B7FF);color:#fff;font-weight:900}.zem-fjp-job-top h3{font-size:24px;margin:0;color:#071a33}.zem-fjp-job-top p{margin:2px 0 0;color:#527095;font-weight:800}
.zem-fjp-status{padding:8px 12px;border-radius:999px;font-size:13px;font-weight:900;white-space:nowrap}.zem-fjp-status-pending,.zem-fjp-status-scheduled{background:#fff4e6;color:#c2410c;border:1px solid #fed7aa}.zem-fjp-status-in_progress{background:#e8f4ff;color:#0069d9;border:1px solid #93c5fd}.zem-fjp-status-completed{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.zem-fjp-status-cancelled{background:#f3f4f6;color:#4b5563;border:1px solid #d1d5db}
.zem-fjp-job-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.zem-fjp-job-grid p{margin:0;background:#f8fbff;border:1px solid #e6f1ff;border-radius:14px;padding:12px}.zem-fjp-job-grid span{display:block;text-transform:uppercase;letter-spacing:.06em;color:#5f789b;font-size:11px;font-weight:900;margin-bottom:4px}.zem-fjp-job-grid strong{display:block;color:#071a33;font-size:15px}.zem-fjp-address{grid-column:1/-1}
.zem-fjp-notes{margin-top:12px;background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;padding:12px;color:#7c2d12}.zem-fjp-job-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.zem-fjp-job-actions a{display:block;text-align:center;padding:15px 12px;border-radius:14px;text-decoration:none;font-weight:900;text-transform:uppercase}.zem-fjp-route{background:linear-gradient(135deg,var(--zem-orange),#ff8c1a);color:#fff}.zem-fjp-checklist{background:linear-gradient(135deg,#0069ff,var(--zem-blue));color:#fff}.zem-fjp-empty{background:#fff;border:1px dashed #93c5fd;border-radius:18px;padding:28px;text-align:center;font-weight:900;color:#315279}
.zem-fjp-today-card{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff7e8;border:1px solid #ffc75e;border-radius:18px;padding:24px;margin:24px 0;box-shadow:0 12px 36px rgba(10,31,61,.06);font-family:Inter,system-ui,sans-serif}.zem-fjp-bell{font-size:28px}.zem-fjp-today-card h2{margin:0 0 8px;color:#071a33;font-size:26px;line-height:1.1;font-weight:950}.zem-fjp-today-card p{margin:5px 0;color:#0626b6}.zem-fjp-card-button{background:#fff;color:#004fc4;border:1px solid #0069ff;min-width:220px;box-shadow:none}.zem-fjp-card-button:hover{background:#0069ff;color:#fff}
@media(max-width:700px){.zem-fjp-mobile-wrap{padding:14px 10px}.zem-fjp-mobile-header{align-items:flex-start}.zem-fjp-mobile-logo{width:62px;height:62px}.zem-fjp-input-row{grid-template-columns:1fr}.zem-fjp-input-row button{width:100%;font-size:15px}.zem-fjp-job-top{grid-template-columns:42px 1fr;position:relative}.zem-fjp-status{grid-column:1/-1;justify-self:start}.zem-fjp-job-grid{grid-template-columns:1fr}.zem-fjp-job-actions{grid-template-columns:1fr}.zem-fjp-today-card{display:block}.zem-fjp-card-button{display:block;margin-top:18px;min-width:0}.zem-fjp-mobile-header h1{font-size:26px}.zem-fjp-welcome h2{font-size:24px}}
