:root{--slate: #41566a;--slate-dk: #2e3d4a;--amber: #e29a22;--red: #a23529;--green: #2e7d32;--green-bg: #e7f2e8;--amber-bg: #fbf3e3;--red-bg: #f7e9e7;--ink: #1f2933;--grey: #6b7682;--light: #eef2f5;--grid: #e2e8ee;--white: #fff}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{font-family:Segoe UI,system-ui,-apple-system,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--light);font-size:16px;-webkit-font-smoothing:antialiased}h1,h2,h3{color:var(--slate-dk);margin:0 0 .4em}.muted{color:var(--grey)}.mono{font-family:Consolas,monospace}.shell{max-width:560px;margin:0 auto;min-height:100vh;background:var(--light);display:flex;flex-direction:column}.appbar{background:var(--slate-dk);color:#fff;padding:14px 16px calc(14px + env(safe-area-inset-top));display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:10}.appbar .band{display:flex;height:3px;width:40px;border-radius:2px;overflow:hidden}.appbar .band i{flex:1}.appbar .band i:nth-child(1){background:var(--slate)}.appbar .band i:nth-child(2){background:var(--amber)}.appbar .band i:nth-child(3){background:var(--red)}.appbar-logo{width:34px;height:34px;object-fit:contain;background:#fff;border-radius:8px;padding:3px;flex-shrink:0}.appbar h1{color:#fff;font-size:17px;margin:0;flex:1}.appbar .back{color:#cdd6e0;background:none;border:none;font-size:22px;padding:0 6px 0 0}.appbar-links{display:flex;gap:9px;flex-shrink:0}.appbar-links a{color:#fff;font-size:11px;font-weight:700}.page{padding:16px 16px 40px;flex:1}.netbar{font-size:13px;padding:8px 16px;text-align:center;font-weight:600;display:flex;align-items:center;justify-content:center;gap:10px}.netbar.offline{background:var(--amber-bg);color:#8a5a10}.netbar.syncing{background:var(--green-bg);color:var(--green)}.netbar.failed{background:var(--red-bg);color:var(--red)}.netbar button{border:1px solid currentColor;border-radius:6px;background:#fff;color:inherit;padding:7px 12px;font:inherit;font-weight:700;flex-shrink:0}.jobcard{background:#fff;border:1px solid var(--grid);border-radius:14px;padding:16px;margin-bottom:12px;box-shadow:0 2px 6px #2e3d4a0f;display:block;text-decoration:none;color:inherit}.jobcard:active{transform:scale(.99)}.jobcard .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.jobcard .ref{font-family:Consolas,monospace;font-weight:700;color:var(--slate-dk);font-size:15px}.jobcard .type{font-size:17px;font-weight:600;margin:4px 0}.jobcard .addr{color:var(--grey);font-size:14px}.pill{display:inline-block;padding:3px 11px;border-radius:20px;font-size:12px;font-weight:700}.pill.pass,.pill.completed,.pill.submitted{background:var(--green-bg);color:var(--green)}.pill.warn,.pill.scheduled,.pill.offered,.pill.accepted,.pill.emergency,.pill.high{background:var(--amber-bg);color:#9a6a12}.pill.fail,.pill.exception,.pill.aborted{background:var(--red-bg);color:var(--red)}.pill.na,.pill.draft,.pill.in_progress,.pill.en_route,.pill.on_site,.pill.normal,.pill.low{background:var(--light);color:var(--slate)}.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;border:none;border-radius:12px;font:inherit;font-size:17px;font-weight:700;background:var(--slate);color:#fff;margin-bottom:10px;cursor:pointer}.btn:active{background:var(--slate-dk)}.btn.green{background:var(--green)}.btn.amber{background:var(--amber)}.btn.red{background:var(--red)}.btn.ghost{background:#fff;color:var(--slate);border:2px solid var(--grid)}.btn:disabled{opacity:.5}.btn.half{width:auto;flex:1}.btnrow{display:flex;gap:10px}.field{display:block;margin-bottom:14px;font-weight:600;color:var(--slate-dk);font-size:14px}.field input,.field select,.field textarea{display:block;width:100%;margin-top:6px;padding:14px;border:1px solid var(--grid);border-radius:12px;font:inherit;font-size:16px;background:#fff}.card{background:#fff;border:1px solid var(--grid);border-radius:14px;padding:16px;margin-bottom:14px}.card h3{margin-top:0}.kv{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--grid);font-size:15px}.kv:last-child{border-bottom:none}.step{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--grid);border-radius:12px;margin-bottom:10px;background:#fff}.step.done{background:var(--green-bg);border-color:#bfe0c2}.step .dot{width:30px;height:30px;border-radius:50%;background:var(--light);color:var(--slate);display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.step.done .dot{background:var(--green);color:#fff}.step .lbl{flex:1;font-weight:600}.step .lbl small{display:block;font-weight:400;color:var(--grey)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--slate-dk),var(--slate));padding:20px}.login-card{background:#fff;border-radius:18px;padding:28px;width:100%;max-width:400px;box-shadow:0 20px 50px #0000004d}.login-card .band{display:flex;height:4px;border-radius:2px;overflow:hidden;margin-bottom:18px}.login-card .band i{flex:1}.login-card .band i:nth-child(1){background:var(--slate)}.login-card .band i:nth-child(2){background:var(--amber)}.login-card .band i:nth-child(3){background:var(--red)}.login-privacy-notice{margin:2px 0 14px;color:var(--grey);font-size:12px;line-height:1.45}.login-privacy-notice a{color:var(--slate);font-weight:700}.privacy-collection-notice{margin:0 0 12px;padding:10px 11px;border-left:3px solid var(--amber);background:var(--amber-bg);color:var(--ink);font-size:12px;line-height:1.45}.privacy-page{min-height:100vh;background:var(--light)}.privacy-mobile-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;background:#fff;border-top:4px solid var(--slate)}.privacy-mobile-header img{width:180px;max-width:62%;height:auto}.privacy-page main{padding:24px 18px 40px}.privacy-page main h1{margin:3px 0 5px;color:var(--slate-dk);font-size:26px}.privacy-page main section{padding:16px 0;border-top:1px solid var(--grid)}.privacy-page main section h2{margin:0 0 6px;font-size:17px}.privacy-page main section p{margin:0;line-height:1.6}.privacy-kicker{margin:0;color:var(--red);font-size:11px;font-weight:800;text-transform:uppercase}.policy-mobile-page>h2{margin-top:4px;font-size:22px}.policy-mobile-page .card p{margin:0;line-height:1.55}.login-logo{display:block;width:200px;max-width:100%;height:auto;margin:0 auto 6px}.error{color:var(--red);background:var(--red-bg);padding:11px 14px;border-radius:10px;margin:10px 0;font-size:14px}.thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.thumbs img{width:72px;height:72px;object-fit:cover;border-radius:10px;border:1px solid var(--grid)}
