/* Home surfaces: preserve shared dashboard and authentication behavior. */
#loginView { --mint:#84ddcc; --ink-strong:#effaf7; --ink:#dbe9e6; --muted:#a8bdb8; --line:#34544e; background:#0b171f; color:var(--ink); grid-template-columns:1.1fr 1fr; }
#loginView .brand-panel { display:flex; min-height:100svh; padding:64px; border:0; background:radial-gradient(ellipse at 20% 10%,#295e50 0%,transparent 60%),linear-gradient(145deg,#153e35,#112a2e); }
#loginView .brand-panel::after { content:""; position:absolute; width:640px; height:640px; border:1px solid #84ddcc18; border-radius:50%; right:-330px; bottom:-270px; box-shadow:0 0 0 70px #84ddcc05,0 0 0 140px #84ddcc04; pointer-events:none; }
#loginView .brand-stack { width:min(100%,520px); align-items:flex-start; text-align:left; }
#loginView .pulse-container { width:64px; height:64px; justify-content:flex-start; }
#loginView .pulse-ring { display:none; }
#loginView .brand-mark { background:var(--mint); color:#123b35; filter:none; box-shadow:none; width:64px; height:64px; font-size:23px; }
#loginView .brand-title { margin:22px 0 0; font-size:32px; letter-spacing:-1px; }
#loginView .brand-title span,#loginView .auth-brand strong span { color:var(--mint); }
#loginView .brand-tagline { margin-top:38px; color:var(--mint); opacity:1; font-size:10px; letter-spacing:2px; line-height:1.6; }
#loginView .auth-hero-title { font-size:clamp(38px,4.3vw,64px); line-height:1.07; font-weight:650; letter-spacing:-2px; color:#effff8; margin:18px 0 24px; }
#loginView .auth-hero-description { color:#b8d1c8; font-size:17px; line-height:1.7; max-width:360px; margin:0; }
#loginView .auth-hero-tags { display:flex; flex-wrap:wrap; gap:9px; margin-top:44px; }
#loginView .auth-hero-tags span { border:1px solid #84ddcc35; border-radius:30px; padding:9px 16px; font-size:12px; color:#c5e5da; }
#loginView .auth-column { padding:100px 40px 60px; background:radial-gradient(ellipse at 100% 100%,#173a333b,transparent 60%); }
#loginView .auth-column>.auth-brand { top:36px; left:40px; transform:none; }
#loginView .auth-column .brand-mark { width:36px; height:36px; font-size:13px; }
#loginView .auth-column .auth-brand strong { font-size:20px; }
#loginView .login-card { width:min(100%,440px); padding:36px; border:1px solid #34514c; border-radius:24px; background:linear-gradient(150deg,#18312f,#12242c); box-shadow:0 24px 70px #0002; }
#loginView .auth-eyebrow { display:block; color:var(--mint); font-size:10px; font-weight:750; letter-spacing:2px; margin-bottom:14px; }
#loginView .login-card h2 { text-align:left; font-size:30px; letter-spacing:-.8px; line-height:1.2; margin:0 0 12px; }
#loginView .login-card .muted { text-align:left; color:var(--muted); font-size:14px; line-height:1.6; margin:0 0 28px; }
#loginView label { font-size:13px; font-weight:600; color:#d1e4de; }
#loginView input { min-height:52px; border:1px solid #3a5752; border-radius:12px; background:#0f2228; color:#effaf7; padding:14px 16px; font-size:16px; box-shadow:none; }
#loginView input::placeholder { color:#88a29e; }
#loginView :is(input,button,a):focus-visible { outline:2px solid var(--mint); outline-offset:4px; }
#loginView .primary-button { background:var(--mint); border:1px solid var(--mint); color:#103b33; min-height:50px; border-radius:12px; font-size:14px; box-shadow:none; }
#loginView .primary-button:hover { background:#a1eddd; }
#loginView .secondary-button { background:#162e34; border:1px solid #3a5b55; color:#d7e9e2; min-height:50px; border-radius:12px; }
#loginView .button-row { align-items:stretch; gap:12px; margin-top:24px; }
#loginView .button-row .primary-button { margin:0; }
#loginView .auth-recovery-link { color:var(--mint); }
#loginView .auth-recovery-note { background:#102824; border-color:#345b50; border-radius:12px; }
#loginView .auth-step-badge { background:#84ddcc18; border-color:#84ddcc40; color:var(--mint); }
#loginView .form-message { line-height:1.5; }
#loginView .form-message:empty { display:none; }
#driverInformationDashboardCard { position:relative; isolation:isolate; overflow:hidden; border:1px solid #41695d; border-radius:20px; padding:24px; gap:16px; background:radial-gradient(ellipse at 95% 0%,#28574a,transparent 70%),linear-gradient(135deg,#183932,#12292f); color:#edf9f4; box-shadow:none; }
#driverInformationDashboardCard:hover { border-color:#84ddcc; background:radial-gradient(ellipse at 95% 0%,#326855,transparent 70%),linear-gradient(135deg,#183932,#12292f); }
#driverInformationDashboardCard .database-home-heading { display:flex; justify-content:space-between; align-items:center; gap:18px; }
#driverInformationDashboardCard .database-home-heading>span:first-child { text-transform:uppercase; color:#91dfcb; font-size:11px; font-weight:750; letter-spacing:2px; }
#driverInformationDashboardCard .database-home-icon { display:grid; place-items:center; width:36px; height:36px; border:1px solid #84ddcc40; border-radius:50%; color:#b6f0df; font-size:20px; }
#driverInformationDashboardCard h4 { font-size:28px; letter-spacing:-.8px; line-height:1.15; margin:0; color:#ecfff6; }
#driverInformationDashboardCardStatus { color:#a5ead5; font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
#driverInformationDashboardCard p { color:#b2cdc3; line-height:1.6; margin:0; }
#driverInformationDashboardCard .database-home-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:16px; border-top:1px solid #84ddcc26; color:#cbf0e2; font-size:12px; }
#driverInformationDashboardCard.action-required { border-color:#d6b66f; }
@media(max-width:900px) {
 #loginView { grid-template-columns:1fr; }
 #loginView .brand-panel { display:none; }
 #loginView .auth-column { min-height:100svh; padding:112px 24px 48px; justify-content:center; }
 #loginView .auth-column>.auth-brand { left:24px; top:calc(env(safe-area-inset-top) + 28px); }
 #loginView .login-card { padding:30px; }
}
@media(max-width:420px) {
 #loginView .auth-column { padding:104px 18px 32px; }
 #loginView .login-card { padding:26px 22px; border-radius:20px; }
 #loginView .login-card h2 { font-size:28px; }
}
#driverInformationDashboardCardStatus { text-transform:none; letter-spacing:0; }
#driverInformationDashboardCard .database-home-footer span { font-size:12px; font-weight:600; letter-spacing:0; text-transform:none; color:inherit; }
#driverInformationDashboardCard .database-home-heading .database-home-icon { font-size:20px; line-height:1; letter-spacing:0; }

/* Dashboard entry only; supplier module styles are unchanged. */
#suppliersDashboardCard { position:relative; isolation:isolate; overflow:hidden; border:1px solid #41695d; border-radius:20px; padding:24px; gap:16px; background:radial-gradient(ellipse at 95% 0%,#28574a,transparent 70%),linear-gradient(135deg,#183932,#12292f); color:#edf9f4; box-shadow:none; }
#suppliersDashboardCard .supplier-home-heading { display:flex; justify-content:space-between; align-items:center; gap:18px; }
#suppliersDashboardCard .supplier-home-heading>span:first-child { text-transform:uppercase; color:#91dfcb; font-size:11px; font-weight:750; letter-spacing:2px; }
#suppliersDashboardCard .supplier-home-icon { display:grid; place-items:center; width:36px; height:36px; border:1px solid #84ddcc40; border-radius:50%; color:#b6f0df; font-size:20px; }
#suppliersDashboardCard h4 { font-size:28px; letter-spacing:-.8px; line-height:1.15; margin:0; color:#ecfff6; }
#suppliersDashboardCard p { color:#b2cdc3; line-height:1.6; margin:0; }
#suppliersDashboardCard .supplier-home-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:16px; border-top:1px solid #84ddcc26; color:#cbf0e2; font-size:12px; }
#suppliersDashboardCard .supplier-home-footer span { font-size:12px; font-weight:600; letter-spacing:0; text-transform:none; color:inherit; }
#suppliersDashboardCard .supplier-home-heading .supplier-home-icon { font-size:20px; line-height:1; letter-spacing:0; }

/* Housing dashboard entry only. */
#housingDashboardCard { position:relative; isolation:isolate; overflow:hidden; border:1px solid #41695d; border-radius:20px; padding:24px; gap:16px; background:radial-gradient(ellipse at 95% 0%,#28574a,transparent 70%),linear-gradient(135deg,#183932,#12292f); color:#edf9f4; box-shadow:none; }
#housingDashboardCard .housing-home-heading { display:flex; justify-content:space-between; align-items:center; gap:18px; }
#housingDashboardCard .housing-home-heading>span:first-child { text-transform:uppercase; color:#91dfcb; font-size:11px; font-weight:750; letter-spacing:2px; }
#housingDashboardCard .housing-home-icon { display:grid; place-items:center; width:36px; height:36px; border:1px solid #84ddcc40; border-radius:50%; color:#b6f0df; font-size:20px; }
#housingDashboardCard h4 { font-size:28px; letter-spacing:-.8px; line-height:1.15; margin:0; color:#ecfff6; }
#housingDashboardCard p { color:#b2cdc3; line-height:1.6; margin:0; }
#housingDashboardCard .housing-home-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:16px; border-top:1px solid #84ddcc26; color:#cbf0e2; font-size:12px; }
#housingDashboardCard .housing-home-footer span { font-size:12px; font-weight:600; letter-spacing:0; text-transform:none; color:inherit; }
#housingDashboardCard .housing-home-heading .housing-home-icon { font-size:20px; line-height:1; letter-spacing:0; }
#housingDashboardCardStatus { color:#a5ead5; font-size:14px; line-height:1.5; text-transform:none; letter-spacing:0; overflow-wrap:anywhere; }

/* The shared sign-in footer follows the active card without touching its border. */
#loginView .auth-column>.auth-help-links{position:static;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 24px;width:min(100%,440px);margin:24px 0 0;padding:0 12px;flex-shrink:0;line-height:1.5}
#loginView .auth-help-links a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;color:#a8bdb8;font-size:14px;text-decoration:none}
#loginView .auth-help-links a:hover{color:var(--mint);text-decoration:underline}
