/* Safetycodx identity and role experience additions. Existing tokens remain authoritative. */
.auth-layout{display:grid;grid-template-columns:minmax(420px,.95fr) minmax(480px,1.05fr);min-height:100dvh;background:white}.auth-story{background:#142d4e;color:white;padding:42px 50px;display:flex;flex-direction:column;position:relative;overflow:hidden}.auth-brand{display:flex;align-items:center;gap:11px}.auth-brand strong{font-size:23px;letter-spacing:-.8px;display:block}.auth-brand small{font-size:10px;color:#a9c0db;display:block;letter-spacing:.2px}.auth-story-body{margin:auto 0;max-width:520px;padding:60px 0 50px}.auth-kicker{font-size:10px;letter-spacing:2.2px;font-weight:700;color:#93baff}.auth-story h1{font-size:42px;line-height:1.15;letter-spacing:-1.8px;margin:18px 0}.auth-story p{font-size:14px;color:#b4c8e1;max-width:400px;line-height:1.8}.auth-story-foot{font-size:11px;color:#91abc9;border-top:1px solid #ffffff18;padding-top:24px}.auth-illustration{height:235px;margin:36px 0 20px;position:relative;max-width:460px}.auth-school{position:absolute;left:60px;right:35px;top:45px;padding:25px;background:#1d3c60;border:1px solid #476484;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:8px;box-shadow:0 15px 40px #081a2f30}.auth-school>.icon{width:40px;height:40px;color:#9abfff}.auth-school span{font-size:14px;font-weight:600}.auth-school small{font-size:10px;color:#a4bfdc}.auth-event{position:absolute;display:flex;gap:10px;background:#fff;border:1px solid #dbe6f2;color:#142d4e;align-items:center;padding:13px 17px;border-radius:8px;z-index:2;box-shadow:0 8px 30px #071a3030}.auth-event strong{display:block;font-size:11px}.auth-event small{display:block;font-size:9px;color:#8292a6;margin-top:3px}.auth-event .list-icon{width:29px;height:29px;background:#eaf7ef;color:#047857}.event-one{left:0;top:15px}.event-two{right:0;bottom:0}.event-two .list-icon{background:#eff6ff;color:#2563eb}.auth-benefits{display:flex;gap:19px;margin-top:38px;flex-wrap:wrap}.auth-benefits span{font-size:10px;display:flex;align-items:center;gap:6px;color:#b4c9e2}.auth-benefits .icon{width:15px;height:15px;color:#82aaf0}.auth-main{position:relative;display:flex;flex-direction:column;padding:32px 48px;align-items:center;min-width:0}.auth-topline{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:680px;gap:15px}.auth-form-wrap{width:100%;max-width:400px;margin:auto;padding:55px 0}.auth-form-wrap h2{font-size:29px;line-height:1.2;letter-spacing:-1px;margin:10px 0 11px}.auth-intro{font-size:13px;line-height:1.7;color:#64748b;margin:0 0 28px}.auth-form{display:flex;flex-direction:column;gap:20px}.auth-form .field{font-size:12px;font-weight:500;gap:8px}.auth-form input{min-height:47px;font-size:13px}.auth-password>span{position:relative;display:block}.auth-password input{padding-right:45px}.auth-password>span>button{position:absolute;right:2px;top:2px;min-width:43px;min-height:43px;display:grid;place-items:center;background:none;color:#8190a3}.auth-form-links{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin-top:-6px}.auth-form-links>span{color:#94a3b8;display:flex;align-items:center;gap:5px}.auth-form-links .icon{width:13px;height:13px}.auth-form-links button{background:none;color:#2563eb;padding:0;font-size:11px;min-height:30px}.auth-submit{width:100%;min-height:47px;font-size:13px;justify-content:center;margin-top:3px}.auth-submit .icon{margin-left:auto}.auth-submit:after{content:'';width:0}.auth-divider{display:flex;align-items:center;gap:14px;margin:27px 0 19px;color:#94a3b8;font-size:10px}.auth-divider:before,.auth-divider:after{content:'';height:1px;flex:1;background:#e2e8f0}.auth-demo-button{width:100%;min-height:45px;font-size:12px;margin-top:8px}.auth-demo-hint{color:#94a3b8;font-size:10px;text-align:center;line-height:1.9;margin:13px 0}.auth-demo-hint strong{font-weight:600;color:#64748b}.auth-bottom-link{width:100%;font-size:11px;margin-top:12px}.auth-legal{font-size:10px;text-align:center;color:#94a3b8;line-height:1.9;margin-top:auto}.auth-legal span{font-size:9px;color:#a4afbd}.auth-mobile-brand{display:none}.auth-error{display:flex;gap:8px;border:1px solid #fecaca;background:#fef2f2;color:#b42318;border-radius:7px;font-size:11px;padding:12px;margin:20px 0}.auth-error .icon{width:16px;height:16px;flex-shrink:0}.auth-page-icon{width:52px;height:52px;background:#eff6ff;color:#2563eb;border:1px solid #dbeafe;border-radius:12px;display:grid;place-items:center;margin-bottom:24px}.auth-page-icon .icon{width:25px;height:25px}.field-hint{font-size:10px;color:#94a3b8;margin:-8px 0 0}.workspace-options{display:flex;flex-direction:column;gap:12px;margin:24px 0}.workspace-option{display:flex;align-items:center;text-align:left;gap:12px;border:1px solid #e2e8f0;border-radius:8px;padding:17px;background:white;width:100%;color:#0f172a}.workspace-option:hover{border-color:#93b4ef;background:#f8fbff}.workspace-option>span:nth-child(2){flex:1}.workspace-option strong{font-size:12px;display:block}.workspace-option small{font-size:10px;display:block;color:#64748b;margin-top:5px}.workspace-option>.icon{color:#94a3b8;width:16px}.auth-scope{padding:14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:20px}.auth-scope p{color:#64748b;font-size:11px;margin:10px 0 0}.recovery-card{padding:24px;border:1px solid #dbeafe;border-radius:9px;background:#f8fbff;text-align:center}.recovery-card>.icon{width:34px;height:34px;color:#2563eb}.recovery-card h3{font-size:18px}.recovery-card p{font-size:12px;color:#64748b;margin:10px 0 20px}.demo-credential{padding:12px 15px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;display:flex;justify-content:space-between;align-items:center;gap:10px;margin:16px 0}.demo-credential span{font-size:9px;font-weight:600;letter-spacing:1px;color:#64748b}.demo-credential strong{font-size:12px;color:#142d4e}.demo-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.demo-account-card{background:white;border:1px solid #e2e8f0;border-radius:8px;display:flex;align-items:flex-start;text-align:left;gap:10px;padding:15px;color:#0f172a;min-width:0}.demo-account-card:hover{background:#f8fbff;border-color:#a5bff0}.demo-account-card>span:nth-child(2){flex:1;min-width:0}.demo-account-card strong{font-size:12px;display:block}.demo-account-card small{font-size:10px;display:block;color:#64748b;margin-top:4px}.demo-account-card code{font-size:9px;display:block;color:#2563eb;overflow-wrap:anywhere;margin-top:5px}.demo-account-card p{font-size:10px;color:#94a3b8;margin:7px 0 0}.demo-account-card>.icon{width:15px;height:15px;color:#94a3b8;margin-top:8px}.demo-account-card .list-icon{width:30px;height:30px}.role-user{color:inherit;background:none;text-align:left;width:100%;cursor:pointer}.avatar-button{border:0;cursor:pointer}.account-menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.account-menu-actions .btn{justify-content:flex-start;min-height:44px}.role-map{height:350px;min-height:350px;margin-top:18px}.role-map-card .map-marker{font-size:9px}.role-mobile{background:#eef2f7}.mobile-experience{max-width:900px;margin:0 auto;min-height:100dvh;background:#f8fafc;box-shadow:0 0 40px #142d4e08;padding-bottom:91px}.mobile-app-header{height:80px;padding:0 28px;display:flex;justify-content:space-between;align-items:center;background:white;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:30}.mobile-app-header .auth-brand strong{color:#142d4e;font-size:21px}.mobile-app-header .auth-brand small{color:#64748b;font-size:10px}.mobile-app-main{padding:24px 28px}.mobile-context{display:flex;justify-content:space-between;gap:10px;align-items:center;color:#8190a5;font-size:11px;margin-bottom:24px}.mobile-app-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(900px,100%);background:#fffffff5;backdrop-filter:blur(10px);border-top:1px solid #e2e8f0;display:flex;justify-content:space-around;padding:11px 12px calc(12px + env(safe-area-inset-bottom));z-index:30}.mobile-app-nav button{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;color:#94a3b8;font-size:10px;min-height:45px;flex:1;min-width:0}.mobile-app-nav button.active{color:#2563eb;font-weight:600}.mobile-app-nav .icon{width:21px;height:21px}.mobile-greeting{margin:24px 0}.mobile-greeting>p{font-size:12px;color:#64748b;margin:0}.mobile-greeting h1{font-size:29px;letter-spacing:-1px;margin:5px 0}.mobile-greeting>span{color:#94a3b8;font-size:11px}.child-picker{padding:13px 16px;border:1px solid #e2e8f0;background:white;border-radius:8px;display:flex;align-items:center;gap:15px;margin-bottom:22px}.child-picker>span{font-size:9px;letter-spacing:1px;font-weight:600;color:#94a3b8;white-space:nowrap}.child-picker select{flex:1;border:0;color:#142d4e;font-size:12px;background:#f8fafc;min-width:0}.mobile-app-main .parent-status{padding:22px;margin-bottom:21px}.mobile-app-main .parent-status small{font-size:10px;display:block;margin-top:10px;color:#529581}.mobile-demo-foot{font-size:9px;text-align:center;color:#94a3b8;margin:28px 0 0}.role-mobile #toast{left:50%;bottom:100px}.driver-hero{border-radius:10px;padding:25px;background:#142d4e;color:white;margin-bottom:20px}.driver-hero .eyebrow{color:#93baff}.driver-hero h2{font-size:24px;letter-spacing:-.6px;margin:8px 0}.driver-hero p{font-size:12px;color:#acc2df}.driver-trip-time{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #ffffff20;margin-top:23px;padding-top:17px;font-size:11px;color:#acc2df}.driver-trip-time strong{color:white}.driver-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.driver-actions .btn{min-height:46px}.check-field{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:#64748b;margin-top:17px}.check-field input{margin-top:4px}.mobile-app-main .stat-label{font-size:10px}.mobile-app-main .stat-foot{font-size:9px}.mobile-app-main .stats.school-stats{grid-template-columns:repeat(2,1fr)}.mobile-app-main .profile-summary{margin-top:0}.mobile-app-main .page-head h1{font-size:25px}
@media(min-width:1600px){.auth-story{padding:48px 70px}.auth-story h1{font-size:48px}.auth-form-wrap{max-width:420px}.auth-form-wrap h2{font-size:32px}}
@media(max-width:1100px){.auth-layout{grid-template-columns:minmax(350px,.9fr) minmax(400px,1.1fr)}.auth-story{padding:30px}.auth-story h1{font-size:35px}.auth-main{padding:27px 32px}.auth-benefits{gap:12px}.auth-illustration{height:220px}.auth-school{left:25px;right:15px}.event-one{left:-8px}.event-two{right:-10px}.auth-event{padding:11px}.auth-event strong{font-size:10px}}
@media(max-width:800px){.auth-layout{display:block}.auth-story{display:none}.auth-main{min-height:100dvh;padding:27px 24px}.auth-mobile-brand{display:block;width:100%;max-width:440px;margin-bottom:25px}.auth-mobile-brand .auth-brand strong{color:#142d4e;font-size:21px}.auth-mobile-brand .auth-brand small{color:#64748b}.auth-topline{max-width:440px}.auth-form-wrap{max-width:440px;padding:45px 0;margin:auto}.auth-form-wrap h2{font-size:28px}.auth-intro{font-size:12px}.auth-legal{padding-top:25px}.auth-form-links{font-size:10px}.auth-form-links button{font-size:11px}.demo-account-grid{grid-template-columns:1fr}.demo-account-card{padding:14px}.workspace-option{padding:15px}.auth-submit{min-height:48px}.account-menu-actions{grid-template-columns:1fr}.mobile-app-header{height:70px;padding:0 18px}.mobile-app-main{padding:20px 17px}.mobile-app-header .brandmark{width:32px;height:35px}.mobile-context{font-size:10px;margin-bottom:21px}.mobile-app-main .grid.equal{grid-template-columns:1fr 1fr;gap:12px}.mobile-app-main .card.card-pad{padding:16px}.mobile-app-main .grid.equal .btn{font-size:10px}.mobile-app-main .page-head{display:block}.mobile-app-main .page-head h1{font-size:24px}.mobile-app-main .page-head p{font-size:11px}.mobile-app-nav{padding-left:4px;padding-right:4px}.mobile-app-nav button{font-size:9px}.mobile-app-nav .icon{width:20px;height:20px}.driver-hero{padding:22px}.driver-hero h2{font-size:21px}.mobile-greeting h1{font-size:27px}.child-picker{padding:11px 12px;gap:9px}.child-picker select{font-size:11px;padding-right:22px}.driver-actions{gap:9px}.driver-actions .btn{font-size:11px}.mobile-app-main .settings-grid,.mobile-app-main .grid.equal:has(.account-menu-actions){grid-template-columns:1fr}.mobile-app-main .detail-grid{grid-template-columns:1fr 1fr;gap:20px}.mobile-app-main .detail-grid dd{overflow-wrap:anywhere}}
@media(max-width:380px){.auth-main{padding:24px 18px}.auth-form-wrap h2{font-size:25px}.auth-topline .btn{font-size:10px}.mobile-app-main .grid.equal{grid-template-columns:1fr}.demo-credential{display:block}.demo-credential strong{display:block;margin-top:5px}.driver-trip-time{display:block}.driver-trip-time strong{display:block;margin-top:6px}}
