*{box-sizing:border-box}body{margin:0;background:#ece9ec;font-family:Inter,system-ui;color:#231d21}main{width:min(520px,100%);margin:auto;min-height:100vh;background:#fff}header{background:#241c22;color:#fff;padding:calc(22px + env(safe-area-inset-top)) 22px 22px;display:flex;justify-content:space-between;align-items:center}header b{display:block;font-size:20px}header small{color:#c6bfc3}button{border:0;border-radius:12px;background:#e72b78;color:#fff;padding:15px;font-weight:800;font-size:15px;width:100%}section{padding:24px}h1{font-size:29px}.jobs-page>h1{margin:0 0 14px;font-size:15px}.period-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;padding:3px;border-radius:10px;background:#f1edf0}.period-tabs button{padding:9px 4px;border-radius:8px;background:transparent;color:#6d6268;font-size:11px}.period-tabs button.active{background:#fff;color:#d91d6b;box-shadow:0 1px 5px #2d202a17}.jobs-summary{display:grid;grid-template-columns:.7fr 1fr 1fr;gap:8px;margin:12px 0 20px}.jobs-summary span{padding:10px;border-radius:10px;background:#f8f6f7}.jobs-summary small,.jobs-summary b{display:block}.jobs-summary small{color:#786e74;font-size:10px}.jobs-summary b{margin-top:4px;font-size:13px}.jobs-empty{padding:28px 5px;color:#746b70;text-align:center}.login{display:grid;place-items:center;padding:24px;background:#241c22}.login form{width:100%;background:#fff;padding:30px;border-radius:20px}.login form>b{color:#e72b78;font-size:23px}label{display:block;margin:16px 0;font-weight:700}input{width:100%;padding:14px;margin-top:7px;border:1px solid #d8d1d5;border-radius:10px;font:inherit}.error{color:#b42318;background:#fff0f0;padding:12px}.logout,.back{width:auto;background:#443840}.back{font-size:27px;padding:4px 14px}.job{display:flex;gap:15px;align-items:center;text-align:left;background:#faf8fa;color:#231d21;margin:10px 0;border-left:4px solid #b9afb5}.job>span{color:#e72b78;font-weight:900}.job p{flex:1;margin:0;min-width:0}.job p>b{display:block}.job small{display:block;color:#746b70;margin-top:5px}.job p>strong{display:block;margin-top:6px;font-size:13px;color:#342a30}.job>.job-message{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;color:#0f4b8c}.job>.job-message.unread{color:#ea2e81}.job-message svg{width:27px;height:27px}.job.CONFIRMED{border-left-color:#6366f1}.job.ASSIGNED{border-left-color:#3b82f6}.job.PICKED_UP{border-left-color:#14b8a6}.job.IN_TRANSIT{border-left-color:#f59e0b}.job.DELIVERED{border-left-color:#22c55e}.job.CANCELLED{border-left-color:#6b7280}.job-groups .job-group{margin:0 0 18px;padding:0}.job-group>h2,.job-group>summary{display:flex;align-items:center;gap:8px;margin:0 0 8px;padding:7px 3px;color:#5f555b;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.job-group>h2 span,.job-group>summary span{flex:1}.job-group>h2 b,.job-group>summary b{min-width:25px;padding:3px 8px;border-radius:12px;background:#eae5e8;color:#4a4046;text-align:center;font-size:11px}.job-group.CONFIRMED>h2{color:#4338ca}.job-group.ASSIGNED>h2{color:#1d4ed8}.job-group.PICKED_UP>h2{color:#0f766e}.job-group.IN_TRANSIT>h2{color:#92400e}.job-group.terminal{padding-top:5px;border-top:1px solid #e1dade}.job-group.terminal>summary{cursor:pointer;list-style:none}.job-group.terminal>summary::-webkit-details-marker{display:none}.job-group.terminal>summary:after{content:"+";display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#ebe7e9;color:#453a41}.job-group.terminal[open]>summary:after{content:"−"}.job-group.DELIVERED>summary{color:#166534}.job-group.CANCELLED>summary{color:#4b5563}.route{display:grid;grid-template-columns:32px 1fr;gap:6px 10px}.route span{width:30px;height:30px;background:#241c22;color:#fff;border-radius:50%;display:grid;place-items:center}.route p{margin:0 0 24px}.route small,.customer small,.driver-price small{display:block;color:#746b70;margin-bottom:4px}.driver-price{display:flex;align-items:center;justify-content:space-between;margin:4px 0 22px;padding:14px 16px;border-radius:12px;background:#f6f3f5}.driver-price small{margin:0}.navigate{display:block;text-align:center;padding:14px;border:2px solid #e72b78;border-radius:12px;color:#d91d6b;font-weight:800;text-decoration:none}.customer{padding:18px;background:#f6f3f5;border-radius:12px;margin:22px 0}.customer b,.customer a{display:block;margin-top:5px;color:#231d21}.pod{margin-top:24px;padding-top:10px;border-top:1px solid #eee}.photo{border:2px dashed #d3cbd0;padding:16px;border-radius:12px}.photo img{width:100%;margin-top:12px;border-radius:8px}.check{display:flex;align-items:center;gap:10px}.check input{width:auto;margin:0}.done{text-align:center;color:#16824d;font-size:50px;padding:50px 0}.done.cancelled{color:#6b7280}.done h2,.done p{color:#231d21;font-size:22px}.done p{font-size:15px}.job-route>span{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px}.job-route>span+span{margin-top:5px}.job-route>span b,.job-route>span small{min-width:0;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-route em{color:#746b70;font-size:11px;font-style:normal;font-weight:700;white-space:nowrap}.messages{margin-top:28px;padding-top:20px;border-top:1px solid #eee}.messages h2{margin-bottom:12px}.message-list{display:grid;gap:9px;max-height:360px;overflow:auto;padding:4px}.message-list article{justify-self:start;max-width:88%;padding:10px 12px;border-radius:13px 13px 13px 3px;background:#f0ecef}.message-list article.mine{justify-self:end;border-radius:13px 13px 3px;background:#ffe1ee}.message-list article b,.message-list article small{display:block}.message-list article small{margin-top:2px;color:#746b70;font-weight:400}.message-list article p{margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.message-receipt{display:flex;justify-content:flex-end;margin:3px 0 -4px;color:#8b8187}.message-receipt svg{width:19px;height:19px}.message-receipt.read{color:#0f4b8c}.message-list .empty{color:#746b70}.messages form{display:grid;gap:8px;margin-top:10px}.messages textarea{min-height:78px;resize:vertical;padding:12px;border:1px solid #d8d1d5;border-radius:10px;font:inherit}
