*{box-sizing:border-box}html,body{color:#f4f7fb;-webkit-font-smoothing:antialiased;background:#0f1b2d;margin:0;padding:0;font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:600}#root{min-height:100vh}.screen{flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;padding:28px 20px 48px;display:flex}h1,h2,h3{margin:0 0 8px;font-weight:800;line-height:1.15}h1{font-size:34px}h2{font-size:24px}h3{font-size:19px}p{color:#a8bcd6;margin:0 0 16px;font-size:17px;font-weight:600;line-height:1.5}.panel{background:#1b2a44;border-radius:20px;margin-bottom:18px;padding:22px}label{color:#a8bcd6;text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px;font-size:15px;font-weight:700;display:block}input{color:#f4f7fb;background:#0f1b2d;border:2px solid #2e4365;border-radius:14px;width:100%;margin-bottom:14px;padding:16px;font-family:inherit;font-size:20px;font-weight:700}input:focus{border-color:#3fa7f5;outline:none}input::placeholder{color:#5f7593;font-weight:600}.btn-primary{color:#0f1b2d;cursor:pointer;background:#3fa7f5;border:none;border-radius:18px;width:100%;min-height:68px;margin-bottom:14px;padding:22px;font-size:20px;font-weight:800;transition:transform .1s,opacity .1s}.btn-primary:active{transform:scale(.97)}.btn-primary.secondary{color:#f4f7fb;background:#1b2a44;border:2px solid #3fa7f5}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.voice-btn{color:#3fa7f5;cursor:pointer;background:#0f1b2d;border:2px solid #3fa7f5;border-radius:14px;width:100%;min-height:56px;margin-bottom:16px;padding:14px;font-size:17px;font-weight:700}.voice-btn.listening{color:#0f1b2d;background:#3fa7f5;animation:1s ease-in-out infinite pulse}input.date-input{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;cursor:pointer;border-color:#3fa7f5;position:relative}input.date-input::-webkit-calendar-picker-indicator{filter:invert()brightness(2)contrast(1.4);cursor:pointer;opacity:1;width:30px;height:30px;padding:4px}.confirm-text{color:#43d17c;margin:-6px 0 16px;font-size:16px;font-weight:700}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.day-badge{text-align:center;background:#1b2a44;border-radius:24px;margin-bottom:22px;padding:40px 20px}.day-badge .big-number{color:#3fa7f5;font-size:64px;font-weight:800;line-height:1}.progress-track{background:#0f1b2d;border-radius:10px;height:14px;margin-top:18px;overflow:hidden}.progress-fill{background:#3fa7f5;border-radius:10px;height:100%}.status-banner{color:#0f1b2d;border-radius:18px;margin-bottom:20px;padding:20px;font-size:19px;font-weight:800}.status-green{background:#43d17c}.status-amber{background:#ffb224}.status-red{color:#f4f7fb;background:#ff5147}.plan-card{background:#1b2a44;border-left:6px solid #3fa7f5;border-radius:18px;margin-bottom:14px;padding:18px 20px}.plan-card h3{color:#3fa7f5;margin-bottom:6px}.plan-card p{color:#f4f7fb;margin:0;font-size:17px}.top-bar{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.logout-link{color:#a8bcd6;cursor:pointer;background:0 0;border:none;font-size:15px;font-weight:700;text-decoration:underline}.coach-mic-wrap{flex-direction:column;align-items:center;margin:28px 0 32px;display:flex}.coach-mic-btn{color:#0f1b2d;cursor:pointer;background:#3fa7f5;border:none;border-radius:50%;justify-content:center;align-items:center;width:180px;height:180px;font-size:72px;line-height:1;display:flex;box-shadow:0 0 0 10px #3fa7f526}.coach-mic-btn:active{transform:scale(.97)}.coach-mic-btn.listening{background:#ffb224;animation:1s ease-in-out infinite pulse}.coach-mic-label{color:#f4f7fb;margin:16px 0 0;font-size:19px;font-weight:800}.back-link{color:#3fa7f5;margin-bottom:18px;font-size:16px;font-weight:700;text-decoration:none;display:inline-block}.directions-link{color:#3fa7f5;background:#0f1b2d;border:2px solid #3fa7f5;border-radius:14px;margin-top:4px;padding:12px 18px;font-size:16px;font-weight:800;text-decoration:none;display:inline-block}.week-card{border-left-color:#3fa7f5}.week-card-current{border-left-width:8px;border-left-color:#43d17c}.week-list{color:#f4f7fb;margin:0;padding-left:22px}.week-list li{margin-bottom:10px;font-size:17px;font-weight:600;line-height:1.5}.week-list li:last-child{margin-bottom:0}.manager-link{color:#f4f7fb;text-align:center;cursor:pointer;background:#1b2a44;border:2px solid #a8bcd6;border-radius:16px;width:100%;margin-top:10px;padding:18px;font-size:17px;font-weight:800;display:block}.driver-row{border-top:2px solid #0f1b2d;padding:14px 0}.driver-row:first-of-type{border-top:none;padding-top:4px}.driver-row-top{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.driver-name{color:#f4f7fb;flex:1;font-size:18px;font-weight:800}.driver-count{color:#a8bcd6;font-size:15px;font-weight:700}.driver-reason{margin:8px 0 0;font-size:15px}.status-dot{border-radius:50%;flex-shrink:0;width:18px;height:18px;display:inline-block}.status-dot-green{background:#43d17c}.status-dot-amber{background:#ffb224}.status-dot-red{background:#ff5147}.retention-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.retention-cell{text-align:center;background:#0f1b2d;border-radius:14px;padding:16px 8px}.retention-number{color:#3fa7f5;font-size:32px;font-weight:800;line-height:1}.retention-label{color:#a8bcd6;margin:8px 0 0;font-size:13px;line-height:1.3}.welcome-screen{justify-content:center;align-items:flex-end;width:100%;min-height:100vh;display:flex;position:relative;overflow:hidden}.welcome-media{z-index:0;background:linear-gradient(145deg,#1b2a44 0%,#0f1b2d 70%) 50%/cover no-repeat,url(/images/highway-fallback.jpg) 50%/cover no-repeat;position:absolute;inset:0}.welcome-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.welcome-overlay{z-index:1;background:linear-gradient(#0f1b2d73 0%,#0f1b2da6 45%,#0f1b2df5 100%);position:absolute;inset:0}.welcome-content{z-index:2;text-align:center;width:100%;max-width:560px;padding:48px 24px 56px;position:relative}.welcome-title{color:#f4f7fb;letter-spacing:-.02em;margin:0 0 12px;font-size:clamp(48px,14vw,76px);font-weight:800}.welcome-tagline{color:#f4f7fb;margin:0 0 36px;font-size:clamp(18px,4.5vw,22px);font-weight:700;line-height:1.4}.welcome-buttons{flex-direction:column;gap:16px;width:100%;display:flex}.welcome-btn{min-height:76px;margin-bottom:0;padding:26px;font-size:22px}@media (width>=640px){.welcome-buttons{flex-direction:row}.welcome-btn{flex:1}}
