:root{--brand-primary: #6B4DA3;--brand-dark: #1A1A1A;--brand-accent: #E9E2F5;--page: #F8F7F4;--surface: #FFFFFF;--line: #E5E0DA;--ink: #1C1917;--ink-soft: #44403C;--muted: #57534E;--faint: #78716C;--action-gradient: linear-gradient(135deg, #8B5CF6 0%, #6D28D9 52%, #5B21B6 100%);--brand-gradient: linear-gradient(155deg, #8B66D6 0%, #5A3F8C 100%);--action-shadow: 0 14px 34px rgba(109, 40, 217, .28);--success: #157A5C;--success-soft: #E3F4EC;--pending: #96660A;--pending-soft: #FBF1DC;--critical: #B3362B;--critical-soft: #FBEAE7;--info: #175CD3;--info-soft: #E8F0FF;--purple-soft: #EFEAF8;--radius-card: 15px}*{box-sizing:border-box}html{background:var(--page);-webkit-text-size-adjust:100%}body{margin:0;min-height:100dvh;background:var(--page);color:var(--ink);font:15px/1.5 Inter,ui-sans-serif,system-ui,sans-serif}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent;cursor:pointer}h1,h2,h3{margin:0;font-family:Outfit,Inter,sans-serif;letter-spacing:-.02em}h2{font-size:26px;line-height:1.1}h3{font-size:17px}p{margin:0;color:var(--muted);font-size:14px}.field-startup{min-height:100dvh;display:grid;place-content:center;gap:10px;justify-items:center}.field-startup-mark{width:64px;height:64px;border-radius:20px;background:var(--action-gradient);color:#fff;display:grid;place-items:center;font:700 34px Outfit,sans-serif}.field-startup-copy{font-weight:700;color:var(--brand-primary)}.phone{min-height:100dvh;width:100%;max-width:480px;margin:0 auto;background:var(--page);position:relative;display:flex;flex-direction:column}@media(min-width:700px){body{background:#ece8f3}.phone{min-height:100dvh;box-shadow:0 0 0 1px #1c19170f}}.phone-header{padding:calc(16px + env(safe-area-inset-top)) 18px 13px;background:var(--surface);border-bottom:1px solid #ECE9E5;display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.phone-header .greeting{font:600 20px Outfit,sans-serif}.phone-content{padding:16px 16px calc(84px + env(safe-area-inset-bottom));flex:1}.phone-content.centered{padding-top:30px}.phone-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;height:calc(64px + env(safe-area-inset-bottom));display:flex;justify-content:space-around;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid #E6E1DB;z-index:3}.phone-nav button{border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:var(--faint);min-width:60px;padding:0}.phone-nav button.active{color:var(--brand-primary);font-weight:700}.phone-nav .nav-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;font-size:16px}.phone-nav button.active .nav-icon{background:var(--purple-soft)}.phone-label{color:var(--faint);text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:700}.phone-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:15px;margin-bottom:12px}.phone-card h3{margin-bottom:5px}.brand-mark{border-radius:29px;margin:20px auto 18px;display:grid;place-items:center;background:var(--action-gradient);color:#fff;box-shadow:var(--action-shadow);width:95px;height:95px;font:700 50px Outfit,sans-serif}.brand-mark.small{width:76px;height:76px;font-size:39px;border-radius:24px;background:var(--brand-gradient);box-shadow:none;margin-top:42px}.row{display:flex;align-items:center;gap:10px;min-width:0}.row-between{display:flex;justify-content:space-between;align-items:center;gap:10px;min-width:0}.mt{margin-top:12px}.center{text-align:center}.faint{color:var(--faint)}.small{font-size:12px}.icon-box{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:none;font-size:18px}.icon-box.brand{background:var(--brand-accent);color:var(--brand-primary)}.icon-box.pending{background:var(--pending-soft);color:var(--pending)}.icon-box.info{background:var(--info-soft);color:var(--info)}.icon-box.neutral{background:#f2f2f1;color:var(--muted)}.field-label{display:block;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:5px}.field-input{width:100%;border:1px solid #DAD5CF;background:#fff;border-radius:10px;padding:12px;color:var(--ink);font-size:16px;min-height:46px}.field-input::placeholder{color:#aaa39b}.field-input:focus-visible,.btn:focus-visible{outline:3px solid rgba(107,77,163,.28);outline-offset:2px}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:10px 14px;border-radius:11px;font-size:14px;font-weight:700;display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:44px}.btn.block{width:100%}.btn.primary{border-color:transparent;background:var(--action-gradient);color:#fff;box-shadow:var(--action-shadow)}.btn.soft{border-color:#d8cbed;background:var(--purple-soft);color:var(--brand-primary)}.btn.sm{min-height:34px;padding:6px 10px;font-size:12px}.btn:disabled{opacity:.6;cursor:default}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 9px;font-size:11px;line-height:1.1;font-weight:700;white-space:nowrap}.badge.success{background:var(--success-soft);color:var(--success)}.badge.pending{background:var(--pending-soft);color:var(--pending)}.badge.critical{background:var(--critical-soft);color:var(--critical)}.badge.info{background:var(--info-soft);color:var(--info)}.badge.purple{background:var(--purple-soft);color:var(--brand-primary)}.badge.neutral{background:#f2f2f1;color:var(--muted)}.note{border-left:3px solid var(--brand-primary);background:var(--purple-soft);padding:12px 14px;border-radius:0 10px 10px 0;color:var(--ink-soft);font-size:12px}.note.critical{border-left-color:var(--critical);background:var(--critical-soft);color:#7a2720}.note.success{border-left-color:var(--success);background:var(--success-soft);color:#0f5a44}.form-error{color:var(--critical);font-size:13px;margin-top:8px;font-weight:600}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.mt-sm{margin-top:8px}.stack{display:grid;gap:8px;margin-top:12px}.banner{margin-bottom:12px}.note.pending{border-left-color:var(--pending);background:var(--pending-soft);color:#5c3f05}.summary-card{background:var(--brand-gradient);color:#fff;border:0}.summary-card .phone-label{color:#ffffffb8}.summary-card p,.summary-card .small{color:#ffffffdb}.summary-card .note{background:#ffffff24;border-left-color:#fff9;color:#fff}.summary-count{font-size:30px;margin:2px 0 4px;color:#fff}.summary-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.summary-tiles div{background:#ffffff24;border-radius:11px;padding:9px 8px;display:grid;gap:2px}.summary-tiles strong{font:700 20px Outfit,sans-serif}.summary-tiles span{font-size:11px;color:#fffc}.date-rail{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 8px;margin:6px -2px 0;scrollbar-width:none;-webkit-overflow-scrolling:touch}.date-rail::-webkit-scrollbar{display:none}.date-pill{flex:none;min-width:58px;border:1px solid var(--line);background:var(--surface);border-radius:13px;padding:8px 6px 7px;display:grid;justify-items:center;gap:2px;color:var(--muted)}.date-pill-top{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.date-pill-day{font:700 18px Outfit,sans-serif;color:var(--ink)}.date-pill-dot{width:5px;height:5px;border-radius:50%;background:transparent}.date-pill.has-route .date-pill-dot{background:var(--brand-primary)}.date-pill.active{background:var(--action-gradient);border-color:transparent;color:#ffffffd9;box-shadow:var(--action-shadow)}.date-pill.active .date-pill-day{color:#fff}.date-pill.active .date-pill-dot{background:#fff}.stop-list{display:grid;gap:10px;margin-top:10px}.stop-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:13px 14px}.stop-card.next{border-color:#c9b8ea;box-shadow:0 8px 24px #6b4da31f}.stop-card-main{display:block;width:100%;border:0;background:none;padding:0;text-align:left;color:inherit}.stop-card-name{margin-top:4px;font-size:17px;overflow-wrap:anywhere}.stop-card-address{display:flex;gap:6px;align-items:baseline;margin-top:6px;font-size:12px;color:var(--muted);min-width:0}.stop-card-address-text{flex:1;min-width:0;overflow-wrap:anywhere}.stop-card-link{color:var(--brand-primary);font-weight:700;white-space:nowrap;text-decoration:none}.stop-card-context{margin-top:6px;font-size:13px;color:var(--ink-soft)}.update-banner{border-color:#bfd3f5;background:var(--info-soft)}.change-list{margin:6px 0 0;padding-left:0;list-style:none;display:grid;gap:4px;font-size:13px;color:var(--ink-soft)}.change-list .change-day{font-weight:700;color:var(--ink);margin-top:4px}.job-title{font-size:24px;margin-top:4px;overflow-wrap:anywhere}.job-address{font-size:14px;color:var(--ink);overflow-wrap:anywhere}.check-preview{margin:8px 0 0;padding-left:0;list-style:none;display:grid;gap:6px;font-size:14px}.check-preview li:before{content:"☐ ";color:var(--faint)}a.btn{text-decoration:none}.shift-card{position:relative;transition:border-color .2s}.shift-card.is-new{border-color:#b9c9f5;box-shadow:inset 3px 0 0 var(--info)}.shift-card.is-changed{border-color:#e9d3a3;box-shadow:inset 3px 0 0 var(--pending)}.shift-card.is-cancelled h3,.shift-card.is-cancelled .shift-range{text-decoration:line-through;color:var(--faint)}.shift-range{font-size:14px;white-space:nowrap}.bell{position:relative;border:1px solid var(--line);background:var(--surface);border-radius:11px;width:38px;height:38px;display:grid;place-items:center;font-size:16px;padding:0}.bell.has-unread{border-color:#b9c9f5;background:var(--info-soft)}.bell-count{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--info);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;line-height:1}.phone-card.is-unread{border-color:#b9c9f5}.more-row{width:100%;border:0;background:none;padding:0;text-align:left;color:inherit}
