:root{--red:#e31b23;--yellow:#ffd400;--ink:#111315;--panel:#1c1f23;--line:#34383d;--paper:#f4f4f1;--muted:#71767d}*{box-sizing:border-box}html{font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink)}body{margin:0}a{color:inherit}.portal-topbar{height:82px;background:#111315;display:flex;align-items:center;padding:0 max(22px,calc((100% - 1240px)/2));gap:28px;color:#fff}.portal-logo{margin-right:auto}.portal-logo img{display:block;width:126px;height:52px;object-fit:contain}.portal-topbar nav{display:flex;align-items:center;gap:4px}.portal-topbar nav a{padding:10px 13px;text-decoration:none;font-size:.82rem;font-weight:700;border-bottom:2px solid transparent}.portal-topbar nav a:hover,.portal-topbar nav a.active{border-color:var(--yellow);color:var(--yellow)}.portal-menu{display:none;background:none;border:1px solid #555;color:#fff;padding:8px 12px}.portal-main{width:min(1240px,calc(100% - 36px));min-height:calc(100vh - 142px);margin:0 auto;padding:42px 0 70px}.portal-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.portal-heading h1{margin:2px 0 0;font-size:clamp(1.9rem,4vw,3rem);line-height:1}.eyebrow{margin:0;color:var(--red);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.13em}.user-chip{background:#fff;border-left:4px solid var(--yellow);padding:10px 16px;display:flex;flex-direction:column;box-shadow:0 5px 18px #0000000e}.user-chip span{font-weight:800}.user-chip small{color:var(--muted)}.portal-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.portal-card{grid-column:span 6;background:#fff;border:1px solid #dfe1e3;border-radius:5px;padding:24px;box-shadow:0 5px 20px #00000009}.portal-card.wide{grid-column:1/-1}.portal-card.third{grid-column:span 4}.portal-card h2{margin:0 0 8px;font-size:1.25rem}.portal-card>p{color:#666;margin:0 0 18px}.stat{font-size:2rem;font-weight:900;margin:8px 0}.status-pill{display:inline-block;padding:5px 9px;border-radius:20px;background:#e8f7ee;color:#136b35;font-size:.7rem;font-weight:800}.status-pill.pending,.status-pill.invited{background:#fff6d4;color:#725900}.status-pill.blocked{background:#ffe5e6;color:#9b1118}.portal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.portal-form label{display:flex;flex-direction:column;gap:6px;font-size:.74rem;font-weight:800;color:#555}.portal-form label.full,.portal-form .full{grid-column:1/-1}.portal-form input,.portal-form textarea,.portal-form select{width:100%;border:1px solid #cdd0d3;border-radius:3px;background:#fff;padding:11px 12px;color:#151719;font:inherit}.portal-form textarea{min-height:92px;resize:vertical}.portal-form input:focus,.portal-form textarea:focus,.portal-form select:focus{outline:2px solid #ffd40080;border-color:#9b8300}.portal-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:3px;background:var(--red);color:#fff;padding:10px 15px;font-size:.78rem;font-weight:850;text-decoration:none;cursor:pointer}.portal-button.yellow{background:var(--yellow);color:#111}.portal-button.dark{background:#202328}.portal-button.outline{background:transparent;color:#222;border:1px solid #aaa}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.portal-alert{padding:13px 16px;background:#e8f7ee;border-left:4px solid #28a65e;margin:0 0 22px}.portal-alert.error{background:#ffe7e8;border-color:var(--red)}.portal-table-wrap{overflow:auto}.portal-table{width:100%;border-collapse:collapse;font-size:.82rem}.portal-table th,.portal-table td{text-align:left;padding:11px 9px;border-bottom:1px solid #e4e5e6;vertical-align:middle}.portal-table th{font-size:.67rem;text-transform:uppercase;letter-spacing:.06em;color:#777}.portal-table form{display:inline}.empty{padding:25px;text-align:center;color:#777;border:1px dashed #bbb}.vehicle{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #eee}.vehicle:last-child{border:0}.vehicle p{margin:2px 0;color:#666}.service-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.service-checks label{display:flex;flex-direction:row;align-items:center;gap:8px;background:#f6f6f3;padding:9px;font-size:.75rem}.service-checks input{width:auto}.invite-box{background:#101214;color:#fff;border-left:5px solid var(--yellow);padding:18px;margin-bottom:22px}.invite-box code{display:block;overflow:auto;white-space:nowrap;background:#25282c;padding:11px;margin-top:10px;color:var(--yellow)}.login-shell{min-height:100vh;display:grid;place-items:center;background:linear-gradient(125deg,#111315 0 54%,#e31b23 54% 100%);padding:22px}.login-box{width:min(470px,100%);background:#fff;padding:36px;border-top:6px solid var(--yellow);box-shadow:18px 18px 0 #0004}.login-box>img{width:150px;background:#111315;padding:10px;margin-bottom:20px}.login-box h1{font-size:2rem;margin:0 0 8px}.login-box>p{color:#666}.login-box .portal-form{grid-template-columns:1fr}.login-box .portal-button{width:100%;margin-top:4px}.portal-footer{min-height:60px;background:#111315;color:#aaa;display:flex;justify-content:center;gap:20px;align-items:center;font-size:.75rem}.portal-footer a{color:#fff}.hint{font-size:.74rem;color:#777}.section-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.section-title h2{margin:0}@media(max-width:800px){.portal-topbar{height:auto;min-height:74px;flex-wrap:wrap;padding:12px 18px}.portal-menu{display:block}.portal-topbar nav{display:none;width:100%;flex-direction:column;align-items:stretch;padding-bottom:10px}.portal-topbar nav.open{display:flex}.portal-card,.portal-card.third{grid-column:1/-1}.portal-form{grid-template-columns:1fr}.portal-form label.full,.portal-form .full{grid-column:auto}.service-checks{grid-template-columns:1fr 1fr}.portal-heading{align-items:flex-start;flex-direction:column}.user-chip{width:100%}}@media(max-width:480px){.service-checks{grid-template-columns:1fr}.login-box{padding:26px 20px}.portal-main{width:min(100% - 24px,1240px)}}
/* Shared action convention also applies to sign-in, recovery and invitation pages. */
.portal-button,.portal-button.outline{background:#17191c;color:#fff;border:1px solid #17191c}
.portal-button.danger{background:#b91c28;color:#fff;border-color:#b91c28}
.portal-button:hover{filter:brightness(.93)}
.portal-button:focus-visible{outline:3px solid #17191c;outline-offset:3px}
