@font-face{font-family:Inter;src:url('/assets/inter-latin-variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{font-family:Inter,Arial,sans-serif;color:#101114;background:#f8f9fa;font-synthesis:none;--yellow:#ffdf32;--gold:#f4c600;--muted:#747885;--line:#e8e9ed;--cream:#fff9e3;--shadow:0 4px 16px #21263109;--pad:16px}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.58}button{border:0}button:focus-visible,a:focus-visible{outline:3px solid #8f6b00;outline-offset:3px}a{color:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}button svg,a svg{pointer-events:none}svg.icon{width:24px;height:24px;flex-shrink:0;display:inline-block;vertical-align:middle;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}h1{font-size:28px;line-height:1.12;font-weight:800;letter-spacing:-1.1px}h2{font-size:20px;line-height:1.2;font-weight:800;letter-spacing:-.6px}h3{font-size:16px;font-weight:750;line-height:1.22;letter-spacing:-.35px}p{line-height:1.4}.muted{color:var(--muted)}.small{font-size:12px}.hidden{display:none!important}#app{max-width:540px;min-height:100dvh;margin:auto;background:#fcfcfd;overflow-x:clip;position:relative}.primary{display:flex;align-items:center;justify-content:center;gap:12px;background:linear-gradient(115deg,#ffe54b,#ffda1d);color:#111;border-radius:12px;font-weight:800;min-height:52px;width:100%;font-size:17px;padding:12px 18px;position:relative}.primary>.icon:last-child{position:absolute;right:17px}.primary:active{transform:translateY(1px)}.secondary{background:#fff;border:1px solid #dfe1e7;border-radius:10px;padding:11px 15px;font-weight:650;font-size:13px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.icon-button{display:grid;place-items:center;width:38px;height:42px;flex-shrink:0;border:0;background:transparent;padding:6px}.brand{display:block;width:100%;height:100%;object-fit:contain}.brand-box{width:156px;height:50px;overflow:hidden;flex-shrink:1}.brand-box .brand{transform:scale(1.1)}.error{color:#b51c27;background:#fff0f1;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.45;margin:12px 0}.error:empty{display:none}.spinner{width:22px;height:22px;border:2px solid #d2bc30;border-top-color:#111;border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-page{padding:110px 24px;text-align:center;display:grid;justify-items:center;gap:16px}.loading-page img{width:230px}.loading-page .spinner{margin:25px 0 0}.empty{padding:24px 15px;text-align:center;color:var(--muted);font-size:13px;line-height:1.5;display:grid;justify-items:center;gap:8px}.empty .icon{width:35px;height:35px;color:#323844}.empty strong{color:#171a21;font-size:16px}.avatar{width:42px;height:42px;border-radius:50%;background:#eaecef;color:#525966;display:grid;place-items:center;flex-shrink:0;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.photo-fallback{display:grid;place-items:center;width:100%;height:100%;color:#515866;background:#e9ebef}.photo-fallback .icon{width:40%;height:40%}
/* Bienvenida: texto real y escena independiente, sin escalar una captura. */
.welcome{min-height:100dvh;background:#fff;display:flex;flex-direction:column;text-align:center;position:relative;padding:30px 0 26px;isolation:isolate}.welcome-logo{width:77%;height:103px;margin:0 auto 7px;object-fit:contain}.welcome h1{font-size:34px;letter-spacing:-1.6px;line-height:1.05;margin:4px 22px 12px;z-index:1}.welcome h1 span{color:#eac000}.welcome .tagline{font-size:15px;line-height:1.3;color:#7b7a8c;margin:0 40px;z-index:1}.welcome-scene{width:100%;position:relative;flex:1;min-height:300px;margin:2px 0 -10px;overflow:hidden}.welcome-art{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 55%}.benefit{position:absolute;background:#ffffffef;box-shadow:0 6px 18px #484b2910;border-radius:15px;padding:7px 10px 7px 7px;display:flex;align-items:center;gap:8px;text-align:left;font-size:12px;line-height:1.22}.benefit i{font-style:normal;display:grid;place-items:center;background:#fff348;border-radius:50%;width:38px;height:38px;color:#0f1100}.benefit .icon{width:25px;height:25px;stroke-width:2.2}.benefit-a{left:16%;top:11%}.benefit-b{right:3%;top:39%}.benefit-c{right:4%;bottom:7%}.welcome .primary{margin:0 7.5%;width:85%;border-radius:40px;min-height:61px;font-size:24px;background:#ffe600;box-shadow:0 12px 24px #eed8162b;z-index:1}.welcome .primary>.icon:last-child{position:static;width:29px;height:29px}.welcome .welcome-footnote{font-size:10px;color:#7c7e85;margin-top:13px}
/* Acceso */
.login-page{min-height:100dvh;padding-bottom:28px;background:linear-gradient(150deg,#ffd91c 0 20%,#191a18 20% 28%,#ffe251 28% 34%,#fafbfc 48%)}.login-hero{height:220px;position:relative;overflow:hidden;background:#f7f7f5}.login-hero>img.scene{width:100%;height:100%;object-fit:cover;object-position:55% center}.login-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff9 0%,#fff0 62%)}.login-copy{position:absolute;z-index:1;left:18px;top:47px;width:62%}.login-copy img{width:100%;max-width:245px}.login-copy h2{font-size:14px;letter-spacing:-.2px;margin:4px 0}.login-copy p{font-size:11px;max-width:195px;line-height:1.3;color:#505159}.login-card{position:relative;background:#fff;margin:-16px 14px 0;padding:22px 17px 18px;border-radius:19px;box-shadow:var(--shadow);z-index:2}.login-card h1{font-size:29px;letter-spacing:-1px}.login-card .intro{font-size:14px;color:var(--muted);margin:6px 5px 18px 0}.field{display:flex;align-items:center;border:1px solid #dddfe5;border-radius:11px;padding:0 12px;min-height:48px;margin:10px 0;gap:13px;background:#fff}.field input{width:100%;min-width:0;background:transparent;border:0;outline:0;min-height:47px;font-size:14px;color:#20232a}.field:focus-within{border-color:#b59b18;box-shadow:0 0 0 2px #ffe95655}.field>.icon{width:22px;height:22px}.field input::placeholder{color:#90939c;opacity:1}.field .icon-button{width:29px;padding:2px}.login-options{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0 15px;font-size:11px}.remember{display:flex;align-items:center;gap:7px}.remember input{appearance:none;width:22px;height:22px;margin:0;border:1px solid #ddd;background:#fff;border-radius:6px;display:grid;place-items:center}.remember input:checked{background:var(--yellow);border-color:var(--yellow)}.remember input:checked:after{content:'✓';font-weight:800;font-size:17px}.text-button{background:none;padding:4px 0;color:#a9870a;text-decoration:underline;font-size:inherit}.divider{display:flex;align-items:center;gap:9px;font-size:12px;color:#858997;margin:17px 0 13px}.divider:before,.divider:after{content:'';height:1px;flex:1;background:var(--line)}.google{width:100%;background:white;border:1px solid #e2e3e8;min-height:48px;display:flex;align-items:center;justify-content:center;gap:12px;border-radius:11px;font-size:14px}.google svg{width:23px;height:23px}.login-info{display:flex;gap:12px;margin:13px 15px 0;padding:16px 17px;background:linear-gradient(135deg,#fff8d2,#fffbed 85%,#ffdf31 85% 92%,#1b1b1b 92% 95%,#ffe44a 95%);border-radius:14px;font-size:12px;line-height:1.35}.login-info .icon-tile{width:64px;height:68px;border-radius:21px}.login-info .icon{width:42px;height:42px;stroke-width:2.4}.login-info strong{display:block;font-size:12px;margin-bottom:4px}.login-info p{color:#76736a;font-size:11px}.icon-tile{background:linear-gradient(130deg,#ffe984,#ffdd29);width:38px;height:38px;border-radius:9px;display:grid;place-items:center;flex-shrink:0}
/* Elección de rol */
.role-page{min-height:100dvh;display:flex;flex-direction:column;background:#fff;position:relative;isolation:isolate;padding:35px 17px 45px}.role-page:before,.role-page:after{content:'';position:absolute;width:350px;height:95px;background:linear-gradient(#ffe26099,#fff4b480);border-radius:100%;transform:rotate(-38deg);z-index:-1}.role-page:before{top:-10px;left:-110px}.role-page:after{bottom:5px;right:-210px}.role-logo{width:74%;height:114px;object-fit:contain;margin:8px auto 26px}.role-title{text-align:center;margin-bottom:31px}.role-title h1{font-size:29px;letter-spacing:-1.4px;white-space:normal}.role-title p{font-size:18px;color:var(--muted);margin-top:9px;letter-spacing:-.5px}.role-card{width:100%;min-height:180px;border-radius:20px;background:#fff8de;position:relative;display:flex;text-align:left;align-items:center;padding:20px 30px 20px 44%;margin:0 0 18px;overflow:visible;isolation:isolate}.role-card:before{content:'';position:absolute;inset:0;overflow:hidden;border-radius:20px;background:radial-gradient(ellipse at 10% 100%,#fff0ad 0 30%,transparent 30%);z-index:-1}.role-card img{position:absolute;left:0;bottom:0;width:43%;height:105%;object-fit:contain;object-position:bottom}.role-card strong{font-size:27px;font-weight:800;letter-spacing:-1px;display:block;margin-bottom:6px}.role-card span{font-size:18px;line-height:1.2;color:#727785;display:block;letter-spacing:-.5px}.role-card>.icon{position:absolute;right:13px;top:calc(50% - 12px);width:19px}.role-page .session-note{margin-top:auto;text-align:center;color:#7c7f88;font-size:10px;padding-top:15px}
/* Encabezado y navegación móvil compartidos */
.app-header{height:72px;background:linear-gradient(112deg,#ffe755,#ffdc2d);display:flex;align-items:center;gap:3px;padding:9px 10px;position:sticky;top:0;z-index:20;box-shadow:0 1px #efcf2a;overflow:hidden}.app-header:before{content:'';position:absolute;inset:-100px 24% -60px 44%;transform:rotate(-28deg);background:#fff2;pointer-events:none}.app-header>*{position:relative}.app-header .brand-box{width:137px;height:48px;margin-right:auto}.app-header .icon-button{width:26px}.app-header .icon-button .icon{width:24px}.greeting{display:flex;align-items:center;gap:6px;min-width:0;max-width:155px;margin-left:4px}.greeting .avatar{width:30px;height:30px;border:1px solid #fff}.greeting-text{min-width:0}.greeting strong{display:block;font-size:11px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}.greeting span{display:block;font-size:9px;color:#646047;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header .notification{margin-left:4px;width:26px}.app-content{padding:16px var(--pad) 96px}.section-intro{margin-bottom:16px}.section-intro h1{font-size:27px;letter-spacing:-1px}.home-intro h1{font-size:21px;letter-spacing:-.7px}.section-intro p{margin-top:5px;font-size:13px;color:var(--muted);line-height:1.35}.nav-bottom{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:540px;background:#fffe;border-radius:17px 17px 0 0;border-top:1px solid #f2f2f4;padding:5px 18px calc(6px + env(safe-area-inset-bottom));z-index:30;display:flex;justify-content:space-between;box-shadow:0 -3px 15px #11111105;backdrop-filter:blur(14px)}.nav-bottom button{display:grid;place-items:center;gap:2px;border-radius:12px;background:none;padding:7px 15px;min-width:64px;font-size:10px;color:#6a707d}.nav-bottom button.active{background:var(--yellow);color:#101114;font-weight:750}.nav-bottom .icon{width:25px;height:25px}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.team-card{background:white;border-radius:15px;box-shadow:var(--shadow);text-align:left;padding:0;overflow:hidden;min-width:0}.team-hero{height:93px;position:relative;background:#d9dadd;isolation:isolate}.team-hero>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:right;z-index:-1}.team-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#ffffffec,transparent 95%);z-index:-1}.team-hero.helper:after{background:linear-gradient(90deg,#111c,transparent 95%)}.team-hero.helper{color:white}.team-hero .icon-tile{position:absolute;top:10px;left:9px;width:33px;height:33px;color:#111}.team-hero h2{position:absolute;left:9px;bottom:21px;font-size:19px}.team-hero p{position:absolute;left:10px;bottom:7px;font-size:10px}.team-detail{min-height:62px;display:flex;align-items:center;padding:9px 9px;gap:8px;background:white}.team-detail>.icon{width:15px;margin-left:auto}.team-detail .avatar{width:31px;height:31px}.team-detail .vehicle-mini{width:48px;height:36px;object-fit:contain}.team-detail>div{min-width:0;flex:1}.team-detail strong{font-size:11px;display:block;overflow-wrap:anywhere;line-height:1.22}.team-detail small{font-size:10px;display:block;color:var(--muted);margin-top:2px}.driver-select{margin:9px 0 11px;display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);width:100%;text-align:left;border-radius:10px;padding:7px 10px;font-size:11px}.driver-select>.icon{width:17px;height:17px}.driver-select span{color:#656b77;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.start-route{display:flex;text-align:left;background:linear-gradient(110deg,#ffe657,#ffda22);padding:12px 14px;border-radius:14px;width:100%;gap:14px;align-items:center;margin:0 0 14px;position:relative;overflow:hidden;isolation:isolate}.start-route:after{content:'';width:130px;height:130px;border:20px solid #fff2;border-radius:40px;position:absolute;right:8px;top:8px;transform:rotate(-30deg);z-index:-1}.start-route .play{width:42px;height:42px;display:grid;place-items:center;background:#151611;color:#ffe230;border-radius:50%;flex-shrink:0}.start-route .play .icon{width:22px;height:22px;fill:currentColor;stroke-width:1}.start-route strong{font-size:18px;font-weight:800;display:block;letter-spacing:-.5px}.start-route p{font-size:11px;margin-top:3px}.start-route>.icon{margin-left:auto;width:19px}.home-heading{font-size:19px;margin:0 2px 7px}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:12px}.quick-item{position:relative;background:#fff;border:1px solid #f1f1f4;border-radius:13px;box-shadow:var(--shadow);padding:8px 7px;text-align:left;min-width:0}.quick-item .icon-tile{width:34px;height:34px;border-radius:9px;margin-bottom:5px}.quick-item .icon-tile .icon{width:23px;height:23px}.quick-item strong{font-size:11px;display:block;letter-spacing:-.3px}.quick-item small{font-size:9px;color:var(--muted);white-space:nowrap}.quick-item>.icon{position:absolute;right:4px;top:49px;width:10px;height:13px}.summary-card{background:white;border:1px solid #f0f0f2;border-radius:14px;box-shadow:var(--shadow);padding:12px;margin-bottom:10px;overflow:hidden}.route-summary-top{display:flex;align-items:center;gap:7px}.route-summary-top>.icon{width:24px;height:24px;align-self:flex-start;color:#111;fill:#ffe043;stroke-width:2.4}.route-summary-top h2{font-size:14px}.route-summary-top h3{font-size:16px;margin-top:2px}.route-summary-top p{font-size:10px;color:var(--muted);margin-top:2px}.route-summary-top .secondary{font-size:10px;padding:5px 7px;min-height:30px;margin-left:auto}.route-summary-top .secondary .icon{width:16px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:11px}.stat{display:flex;align-items:center;gap:7px;background:#f8f9fb;border-radius:10px;padding:9px 7px}.stat .icon{width:20px;height:20px;flex-shrink:0}.stat strong{font-size:17px;display:block;font-weight:800;white-space:nowrap}.stat small{font-size:9px;color:#717886;display:block;white-space:nowrap}.orders-heading{display:flex;gap:8px;align-items:center;margin-bottom:9px}.orders-heading .icon{width:26px;height:26px}.orders-heading h2{font-size:17px}.orders-heading p{font-size:10px;color:var(--muted);margin-top:2px}.orders-stats{display:grid;grid-template-columns:1fr 1fr .8fr;gap:6px}.orders-stats .stat:nth-child(1){background:#eefaf1}.orders-stats .stat:nth-child(2){background:#eef5ff}.orders-stats .stat .icon{background:#d6f8dc;border-radius:50%;box-sizing:content-box;padding:6px;width:20px;height:20px}.orders-stats .stat:nth-child(2) .icon{background:#d7eaff}.orders-stats .secondary{font-size:10px;padding:8px 4px;gap:2px}.orders-stats .secondary .icon{width:14px}
/* Vehículos y colaboradores */
.selection-page .app-content{padding-bottom:99px}.team-summary{background:white;border-radius:13px;padding:13px;box-shadow:var(--shadow);border:1px solid #f5f5f6;margin-bottom:17px}.team-summary-title{display:flex;align-items:center;gap:11px;margin-bottom:13px}.team-summary-title h2{font-size:16px}.team-summary-title p{font-size:11px;color:var(--muted);margin-top:3px}.team-summary-people{display:grid;grid-template-columns:1fr 1fr;gap:12px}.person-mini{display:flex;gap:7px;align-items:center;min-width:0}.person-mini+.person-mini{border-left:1px solid var(--line);padding-left:12px}.person-mini .avatar{width:32px;height:32px}.person-mini b{display:block;font-size:11px}.person-mini span{display:block;color:var(--muted);font-size:10px;overflow-wrap:anywhere;margin-top:2px}.list-heading{display:flex;align-items:center;gap:10px;margin-bottom:10px}.list-heading h2{font-size:19px;margin-right:auto;letter-spacing:-.65px}.list-heading span{font-size:10px;color:#888d99;white-space:nowrap}.vehicle-option{display:flex;align-items:center;gap:12px;width:100%;background:white;border:1px solid #f2f2f5;border-radius:14px;box-shadow:var(--shadow);padding:12px;margin-bottom:10px;min-height:103px;text-align:left}.vehicle-option.selected,.employee-option.selected{border:1.5px solid #edcf23;background:#fffbee}.vehicle-illustration{width:98px;flex-shrink:0;display:grid;place-items:center;background:linear-gradient(135deg,#fffbee,#f7f7f7);border-radius:10px;height:68px}.vehicle-illustration .icon{width:71px;height:46px;stroke-width:1.2;color:#303436}.vehicle-option .vehicle-info{min-width:0;flex:1}.vehicle-info h3{font-size:18px}.vehicle-info .plate{font-size:14px;color:#757d8a;letter-spacing:1px;margin:4px 0}.vehicle-info small{font-size:10px;color:#777d88;display:block}.vehicle-info .status{margin:1px 0 5px}.status{background:#e0fbe3;color:#0c8727;font-size:10px;border-radius:6px;display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:3px 7px;font-weight:600}.status:before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}.status.neutral{color:#65717a;background:#eff1f4}.status.warn{color:#ab6214;background:#fff0d2}.radio{width:25px;height:25px;border:1.4px solid #858d9a;border-radius:50%;display:grid;place-items:center;flex-shrink:0;margin-left:auto}.radio .icon{display:none}.selected .radio{background:var(--yellow);border:0;width:28px;height:28px;color:#090d0a}.selected .radio .icon{display:block;width:20px;height:20px;stroke-width:3}.selection-footer{position:fixed;bottom:0;left:50%;transform:translateX(-50%);max-width:540px;width:100%;padding:10px 16px calc(13px + env(safe-area-inset-bottom));z-index:25;background:linear-gradient(#fcfcfd00,#fcfcfd 18%)}.selection-footer .primary{box-shadow:0 2px 15px #efcf1620;font-size:16px}.search{background:#f0f1f4;border-radius:12px;border:0;display:flex;align-items:center;padding:0 13px;gap:12px;margin:14px 0}.search .icon{width:22px;height:22px;color:#535b67}.search input{height:46px;border:0;outline:0;min-width:0;width:100%;background:transparent;font-size:13px}.search:focus-within{box-shadow:0 0 0 2px #f0d628}.employee-option{position:relative;width:100%;background:white;border:1px solid #f0f1f3;box-shadow:var(--shadow);border-radius:12px;margin-bottom:9px;padding:9px;display:grid;grid-template-columns:62px 1fr;column-gap:12px;text-align:left;min-height:94px}.employee-photo{width:62px;height:74px;border-radius:8px;background:#e9ecf0;overflow:hidden;grid-row:1/3}.employee-photo img{width:100%;height:100%;object-fit:cover}.employee-info{min-width:0;padding-right:35px}.employee-info h3{font-size:13px;letter-spacing:-.2px;line-height:1.2;overflow-wrap:anywhere}.employee-info p{font-size:10px;color:#707884;margin:3px 0}.employee-info .status{font-size:9px;padding:2px 5px}.employee-option .radio{position:absolute;right:12px;top:25px;width:23px;height:23px}.employee-metrics{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:6px;font-size:9px;color:#717987}.employee-metrics span{display:flex;align-items:center;gap:4px}.employee-metrics .icon{width:12px;height:12px;color:#3c4552}.employee-metrics span+span{padding-left:8px;border-left:1px solid #d8dbe0}.selected-vehicle-summary{display:flex;align-items:center;gap:12px}.selected-vehicle-summary .vehicle-illustration{width:83px;height:58px;border-right:1px solid #ddd;border-radius:0;background:none}.selected-vehicle-summary h3{font-size:15px}.selected-vehicle-summary p{font-size:11px;color:var(--muted);margin:4px 0}.selected-vehicle-summary small{font-size:10px}.search-message{font-size:11px;color:#7e8590;padding:0 2px 9px}.list-note{font-size:10px;color:#777e88;line-height:1.4;margin:0 0 13px}
/* Diálogos, perfil y estados del alcance inicial */
dialog{padding:0;border:0;border-radius:20px;width:calc(100% - 36px);max-width:400px;color:#15181e;box-shadow:0 20px 80px #0003;background:#fff}dialog::backdrop{background:#10131b7a;backdrop-filter:blur(2px)}.dialog-inner{padding:25px 23px}.dialog-inner>.icon-tile{width:48px;height:48px;border-radius:14px;margin-bottom:14px}.dialog-inner h2{font-size:21px;margin-bottom:10px}.dialog-inner p{font-size:14px;color:#69717e;line-height:1.5;margin-bottom:17px}.dialog-actions{display:grid;gap:8px;margin-top:14px}.dialog-actions .primary{font-size:15px}.dialog-actions .secondary{width:100%}.drawer-option{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:13px 0;background:white;border-bottom:1px solid var(--line);font-weight:600;font-size:14px}.drawer-option .icon{width:20px;height:20px}.toast{position:fixed;left:50%;bottom:91px;transform:translate(-50%,12px);padding:13px 18px;background:#1c2028;color:#fff;border-radius:12px;max-width:calc(100% - 40px);width:max-content;z-index:80;font-size:13px;box-shadow:0 5px 20px #0002;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}.toast.visible{opacity:1;transform:translate(-50%,0)}.profile-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:23px;text-align:center}.profile-card>.avatar{width:90px;height:90px;margin:0 auto 14px}.profile-card h2{font-size:23px}.profile-card>.muted{font-size:13px;margin-top:6px}.profile-facts{text-align:left;margin:22px 0;border-top:1px solid var(--line)}.profile-facts>div{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;display:flex;gap:12px;align-items:center}.profile-facts>div strong{margin-left:auto;text-align:right;overflow-wrap:anywhere;font-size:12px}.profile-card .secondary{width:100%;margin:6px 0}.scope-card{background:#fff;border-radius:15px;padding:28px 18px;border:1px solid var(--line);text-align:center;display:grid;justify-items:center;gap:12px}.scope-card .icon-tile{width:64px;height:64px;border-radius:20px}.scope-card .icon-tile .icon{width:33px;height:33px}.scope-card h2{font-size:20px}.scope-card p{font-size:13px;color:var(--muted);max-width:310px;line-height:1.5}.scope-card .primary{margin-top:8px}
@media(min-width:430px){:root{--pad:19px}.welcome h1{font-size:39px}.welcome-logo{height:122px}.welcome .tagline{font-size:17px}.welcome-scene{min-height:350px}.role-logo{height:135px}.role-title h1{font-size:33px}.role-card{min-height:207px}.role-card strong{font-size:30px}.role-card span{font-size:20px}.app-header .brand-box{width:157px}.greeting strong{font-size:12px}.greeting span{font-size:10px}.greeting .avatar{width:35px;height:35px}.home-intro h1{font-size:24px}.team-hero{height:109px}.team-detail{min-height:68px}.team-detail strong{font-size:12px}.team-detail small{font-size:11px}.quick-item strong{font-size:12px}.quick-item small{font-size:10px}.stat strong{font-size:19px}.stat small{font-size:10px}.employee-option{grid-template-columns:72px 1fr;min-height:105px}.employee-photo{width:72px;height:84px}.employee-info h3{font-size:15px}.employee-info p{font-size:11px}.employee-metrics{font-size:10px}.employee-metrics .icon{width:14px;height:14px}}
@media(max-width:359px){:root{--pad:12px}.welcome h1{font-size:30px}.welcome .tagline{font-size:13px;margin:0 27px}.welcome-logo{height:85px}.welcome-scene{min-height:265px}.benefit{font-size:10px;padding:5px 7px;gap:5px}.benefit i{width:29px;height:29px}.benefit .icon{width:20px;height:20px}.role-card{min-height:155px}.role-card strong{font-size:24px}.role-card span{font-size:16px}.role-title h1{font-size:26px}.role-title p{font-size:16px}.app-header{padding:7px 7px;gap:1px}.app-header .brand-box{width:122px}.greeting .avatar{width:25px;height:25px}.greeting{max-width:118px;margin-left:0;gap:4px}.greeting strong{font-size:10px}.greeting span{font-size:8px}.greeting-text{max-width:75px}.notification{margin-left:0!important}.nav-bottom{padding-left:8px;padding-right:8px}.nav-bottom button{min-width:58px;padding:7px 12px}.quick-item strong{font-size:10px}.quick-item small{font-size:8px}.quick-item>.icon{display:none}.start-route{gap:10px}.start-route strong{font-size:16px}.start-route p{font-size:10px}.employee-option{column-gap:8px;grid-template-columns:55px 1fr}.employee-photo{width:55px;height:76px}.employee-metrics{font-size:8px;gap:5px}.employee-metrics span+span{padding-left:5px}.employee-info h3{font-size:12px}.vehicle-illustration{width:76px}.orders-stats .stat{gap:4px;padding:7px 5px}.orders-stats .stat .icon{width:16px;height:16px;padding:4px}.login-options{font-size:10px}.login-card h1{font-size:27px}}
/* Keep real names and image proportions within their allocated space. */
.welcome-art{object-fit:contain;object-position:center bottom}.welcome-scene{max-height:430px}.welcome{justify-content:center}.welcome-logo{flex-shrink:0}.benefit-a{top:19%;left:13%}.benefit-b{top:45%}.login-hero:after{background:linear-gradient(90deg,#fff 0%,#ffffffe8 25%,#ffffff7a 47%,#fff0 65%)}.login-copy{width:60%;top:53px}.login-copy>.brand{width:100%;height:68px}.login-copy p{max-width:173px}.role-page{overflow:hidden}.role-card img{width:47%;left:-1%;height:110%;object-fit:cover;object-position:center bottom}.app-header{gap:5px}.app-header .brand-box .brand{transform:none}.avatar .photo-fallback{display:grid;place-items:center;width:100%;height:100%;margin:0}.greeting .avatar .photo-fallback{display:grid}.person-mini .avatar .photo-fallback{display:grid;margin:0}.team-detail>.avatar{flex:0 0 31px}.team-detail>div:not(.avatar){flex:1;min-width:0}.team-detail strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:normal}.team-detail small{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden}.greeting-text{min-width:0}.greeting .avatar .icon,.person-mini .avatar .icon{width:19px;height:19px}.team-detail{min-height:68px}.team-hero{height:101px}
@media(max-width:359px){.app-header{gap:2px}.app-header .brand-box{width:114px}.team-detail{gap:5px;padding:8px 7px}.team-detail strong{font-size:10px}.role-card img{width:46%}.welcome-scene{min-height:268px}.welcome-logo{margin-top:0}.welcome{padding-top:17px}.welcome h1{font-size:29px}}
.role-card img{width:44%;left:0;height:106%;object-fit:contain}.login-copy p{font-size:10px;max-width:205px}.home-intro{margin-bottom:12px}.home-intro p{font-size:12px}.team-hero{height:88px}.team-detail{min-height:58px}.driver-select{margin:8px 0 10px}.start-route{padding:11px 13px;margin-bottom:11px}.home-heading{margin-bottom:6px}.quick-item{padding:7px}.quick-grid{margin-bottom:10px}.summary-card{padding:11px}.app-content:has(.home-intro){padding-top:14px}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.spinner{animation-duration:1.6s}}
