:root{color-scheme:dark;--bg:#08131f;--panel:#102131;--muted:#9eafbf;--text:#f3f7fa;--accent:#41E5A1;--line:#ffffff18}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #ffffff30;border-radius:7px;color:var(--text);background:#172c3d;padding:10px 15px;cursor:pointer;font-weight:700}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--accent);color:#102010;border-color:var(--accent)}.subtle{background:transparent;border:0;padding:7px;color:var(--muted)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #42b6ff;outline-offset:3px}.app-header{height:76px;border-bottom:1px solid var(--line);padding:0 max(20px,calc((100vw - 1240px)/2));display:flex;justify-content:space-between;align-items:center;gap:15px;background:#0c1926;position:relative;z-index:20}.brand-logo{display:inline-flex;align-items:center;max-width:min(420px,52vw)}.brand-logo img{display:block;width:100%;height:auto;max-height:50px;object-fit:contain}nav{display:flex;align-items:center;gap:18px}nav form{margin:0}.account-name{font-size:12px;color:var(--muted)}.page{max-width:1240px;margin:0 auto;padding:38px 22px 70px}.page.narrow{max-width:760px}.page-heading{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:30px}h1{font-size:32px;line-height:1.15;letter-spacing:-.7px;margin:9px 0 12px;overflow-wrap:anywhere}h2{font-size:20px;line-height:1.2;margin:7px 0 12px}p{color:var(--muted)}.eyebrow{font-size:10px;font-weight:bold;letter-spacing:1.6px;color:var(--accent)}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.event-card,.card,.login-card{border:1px solid var(--line);border-radius:13px;background:var(--panel)}.event-card{overflow:hidden;display:flex;flex-direction:column}.event-art{height:160px;display:flex;align-items:center;justify-content:center;background:#edf2f3;padding:26px}.event-art img{max-height:100%;max-width:100%;object-fit:contain}.event-art>span{font-size:60px;color:#0d2738}.event-copy{padding:22px;display:flex;flex:1;flex-direction:column;gap:9px}.event-copy h2{margin:0;overflow-wrap:anywhere}.event-copy p{margin:0 0 10px}.event-copy .primary{margin-top:auto}.edit-link{display:block;text-align:center;color:var(--muted);font-size:12px;padding-top:7px}.card{padding:24px;margin:20px 0}.empty{grid-column:1/-1;border:1px dashed #ffffff40;padding:40px;border-radius:12px}.login-card{max-width:450px;margin:70px auto;padding:35px}.login-card h1{font-size:34px}.login-card>small{display:block;text-align:center;margin-top:20px;color:var(--muted)}.login-card button{width:100%;margin-top:12px}label{display:block;margin:17px 0 10px;font-weight:bold;font-size:13px}input:not([type=checkbox]){display:block;width:100%;padding:12px;background:#091725;color:#fff;border:1px solid #ffffff30;border-radius:6px;margin-top:7px}label small{display:block;font-weight:400;color:var(--muted);margin-top:6px}.check{display:flex;gap:8px;align-items:center}.check input{accent-color:var(--accent)}.notice{background:#13392E;border:1px solid #41E5A150;padding:12px;border-radius:7px;color:#e4eddb}.logo-preview{max-width:160px;max-height:80px;background:#fff;object-fit:contain;padding:10px}.user-row{display:grid;grid-template-columns:1fr 1.5fr auto;gap:10px;padding:14px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.event-heading{display:flex;align-items:center;gap:20px;margin-top:20px}.event-heading img{width:100px;max-height:80px;background:#fff;padding:10px;object-fit:contain;border-radius:7px}.picker-summary{display:flex;justify-content:space-between;align-items:center;margin:20px 0 8px}.pilot-list{display:flex;flex-direction:column;gap:7px;padding-bottom:50px}.pilot-option{margin:0;display:grid;grid-template-columns:24px 44px minmax(0,1fr);align-items:center;gap:12px;padding:13px 15px;background:var(--panel);border:1px solid var(--line);border-radius:8px;cursor:pointer}.pilot-option:has(input:checked){border-color:var(--accent);background:#15362D}.pilot-option input{accent-color:var(--accent);width:18px;height:18px}.pilot-number{font-size:17px;font-weight:bold;color:var(--accent)}.pilot-option small{margin:0}.selection-footer{position:sticky;bottom:0;padding:12px;background:#08131ff2;border-top:1px solid var(--line);text-align:right}.map-page{height:100dvh;overflow:hidden}.map-page .app-header{height:64px;padding:0 18px}.map-page .brand-logo{max-width:min(310px,50vw)}.map-page .brand-logo img{max-height:40px}.map-page #event-map{position:relative;height:calc(100dvh - 64px)}#map{position:absolute;inset:0}.map-event{position:absolute;top:18px;left:18px;right:340px;display:flex;align-items:center;gap:14px;pointer-events:none;filter:drop-shadow(0 3px 9px #0008)}.map-event img{width:84px;height:64px;object-fit:contain;background:#fff;border-radius:7px;padding:7px}.map-event>div{padding:10px 15px;background:#08131fe8;border-radius:7px}.map-event h1{font-size:21px;margin:3px 0 0;letter-spacing:-.3px}.map-roster{position:absolute;top:18px;right:18px;width:290px;background:#08131fed;border:1px solid #ffffff25;border-radius:9px;overflow:hidden}.map-roster>button{border:0;border-radius:0;background:none;width:100%;justify-content:space-between}.map-roster #map-pilots{max-height:45vh;overflow:auto}.map-driver{display:flex;gap:10px;padding:10px 14px;border-top:1px solid var(--line);align-items:center}.map-driver b{color:#8cccff;min-width:28px}.map-driver strong{display:block;font-size:12px}.map-driver small{display:block;font-size:10px;color:var(--muted)}.map-feedback,.location-feedback{position:absolute;left:18px;bottom:88px;max-width:calc(100% - 36px);color:#d2dce5;background:#08131fe8;padding:8px 12px;border-radius:6px;font-size:11px}.location-feedback{bottom:128px;color:#9ecbff}.map-feedback:empty,.location-feedback:empty{display:none}.map-actions{position:absolute;bottom:max(24px,env(safe-area-inset-bottom));left:18px;right:18px;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.map-actions button,.map-actions a{background:#0b2032f5;font-size:12px;box-shadow:0 3px 15px #0006;min-height:42px}.map-actions button[aria-pressed=true]{border-color:#46a8ff;color:#85c5ff}.media-marker{width:14px;height:14px;border:2px solid #fff;border-radius:50%;background:#41E5A1;box-shadow:0 1px 7px #0008}.media-marker.stale{background:#8c98a3;opacity:.65}.media-marker.viewer{width:18px;height:18px;background:#248bff;box-shadow:0 0 0 7px #248bff40}.media-marker span{position:absolute;bottom:19px;left:50%;transform:translateX(-50%);white-space:nowrap;padding:4px 7px;background:#08131fee;border-radius:4px;color:#fff;font:bold 11px Arial}.media-marker.viewer span{color:#8cc7ff}.maplibregl-ctrl-attrib{font-size:9px}[hidden]{display:none!important}@media(max-width:850px){.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-name{display:none}.map-event{right:18px}.map-roster{top:110px;right:18px;width:250px}.map-roster #map-pilots{display:none}.map-roster.open #map-pilots{display:block}.map-event h1{font-size:16px}.map-event img{width:60px;height:54px}}@media(max-width:540px){.app-header{height:auto;min-height:70px;padding:12px 16px;gap:10px}.brand-logo{max-width:min(270px,60vw)}.brand-logo img{max-height:40px}nav{gap:9px;font-size:11px}.app-header nav a[href="/admin/users"]{display:none}.page{padding:25px 16px 40px}.page-heading{align-items:flex-start;flex-direction:column}.event-grid{grid-template-columns:1fr}h1{font-size:27px}.event-art{height:140px}.login-card{margin:35px 16px;padding:25px}.event-heading img{width:70px}.map-page .app-header{height:60px;min-height:60px;padding:8px 12px}.map-page .brand-logo{max-width:min(220px,58vw)}.map-page .brand-logo img{max-height:34px}.map-page #event-map{height:calc(100dvh - 60px)}.map-event{top:12px;left:12px;right:12px;gap:8px}.map-event>div{padding:8px 10px}.map-event .eyebrow{font-size:8px}.map-event h1{font-size:14px}.map-roster{top:91px;right:12px;width:min(250px,calc(100vw - 24px))}.map-roster #map-pilots{max-height:38vh}.map-actions{left:10px;right:10px;gap:5px}.map-actions button,.map-actions a{font-size:10px;padding:8px;min-height:40px}.map-feedback{left:12px;bottom:82px;font-size:10px}.location-feedback{left:12px;bottom:115px;font-size:10px}.user-row{grid-template-columns:1fr}.user-row span{font-size:12px}.selection-footer button{width:100%}}
button.map-driver{width:100%;border-radius:0;background:transparent;border-width:1px 0 0;text-align:left;justify-content:flex-start;font-weight:400;box-shadow:none}button.map-driver:disabled{cursor:default;opacity:.65}.map-roster p{padding:0 14px;font-size:12px}

.map-page .maplibregl-ctrl-bottom-right .maplibregl-ctrl-group{margin-bottom:80px}@media(max-width:850px){.map-roster #map-pilots{max-height:min(38vh,calc(100dvh - 240px))}}

.auth-card{margin-top:clamp(40px,10vh,120px);background:#0f1d2c;box-shadow:0 24px 80px #0004}.auth-brand{display:flex;justify-content:center;margin-bottom:16px}.auth-brand img{display:block;width:min(100%,340px);height:auto}.auth-card h1{font-size:30px}.auth-footer{text-align:center;margin:22px 0 0}.auth-footer a{color:#b5ddff;text-decoration:underline;text-underline-offset:3px}.assign-users{border-top:1px solid var(--line);margin-top:20px;padding-top:15px}.assign-users .check{font-weight:400;margin:10px 0;overflow-wrap:anywhere}

/* v0.3.0 E1: basemap switcher */
.map-style-control{position:absolute;top:120px;left:18px;z-index:5;background:#08131fec;border:1px solid #ffffff35;border-radius:9px;padding:9px;box-shadow:0 4px 20px #0006}.map-style-control>span{display:block;font-size:10px;color:var(--muted);font-weight:700;margin:0 0 6px 3px}.map-style-options{display:flex;gap:4px}.map-style-options button{font-size:11px;padding:7px 10px;min-height:36px}.map-style-options button[aria-pressed=true]{background:#41E5A1;color:#142010;border-color:#41E5A1}.map-style-options button:focus-visible{outline:2px solid #47b7ff;outline-offset:2px}@media(max-width:850px){.map-style-control{top:92px;left:12px}.map-style-options button{padding:7px 8px}}@media(max-width:540px){.map-style-control{top:80px}}

/* SS controls */
.stage-panel{position:absolute;z-index:8;top:175px;left:18px;width:min(300px,calc(100vw - 36px));background:#0b1d2ce8;color:#fff;padding:12px;border:1px solid #ffffff25;border-radius:12px;box-shadow:0 4px 18px #0005;font-size:13px}.stage-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.stage-header span{font-size:11px;color:#b9d0de}.stage-panel select{width:100%;background:#193549;color:#fff;padding:9px;border:1px solid #648096;border-radius:7px}.stage-options{max-height:190px;overflow:auto}.stage-option{display:flex;gap:9px;align-items:center;padding:7px 2px;cursor:pointer}.stage-option i{display:inline-block;width:18px;height:5px;border-radius:5px;flex-shrink:0}.stage-option input{accent-color:#41E5A1}.stage-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-panel #stage-options:not([hidden]){display:block;margin-top:8px}@media(max-width:700px){.stage-panel{top:175px;left:10px;width:min(250px,calc(100vw - 20px));padding:9px}.stage-header{font-size:12px}.stage-panel select{font-size:12px}}

/* v0.4.0 Empresa ativa: desktop e mobile */
.company-switch{margin:0}.company-switch label{margin:0;display:block}.company-switch label span{display:block;font-size:9px;color:var(--muted)}.company-switch select{background:#172c3d;color:var(--text);border:1px solid #ffffff30;border-radius:8px;padding:7px;max-width:190px}.company-brand{width:38px;height:38px;object-fit:contain;border-radius:6px;background:#172c3d;padding:3px}.company-list-logo{width:64px;height:64px;background:#172c3d;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:25px}.company-list-logo img{width:100%;height:100%;object-fit:contain}select{font:inherit}.card select{display:block;width:100%;padding:12px;margin-top:7px;background:#091725;color:white;border:1px solid #ffffff30;border-radius:6px}
@media(max-width:700px){.app-header{flex-wrap:wrap;height:auto}.app-header nav{flex:1;justify-content:flex-end;flex-wrap:wrap}.company-switch select{max-width:140px;font-size:11px}.company-brand{width:28px;height:28px}.map-page .app-header{height:auto;min-height:60px}.map-page #event-map{height:calc(100dvh - 60px)}}

/* v0.4.0 E2 */
.team-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,180px) auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.team-row small{display:block;color:var(--muted)}.team-row label{margin:0}.team-row select{width:100%;padding:10px;background:#091725;border:1px solid #ffffff30;color:#fff;border-radius:7px}@media(max-width:600px){.team-row{grid-template-columns:1fr}.team-row button{width:100%}}

/* BVISION v0.4.0 Etapa 3 · Desktop/mobile admin shell */
.app-shell{display:grid;grid-template-columns:242px minmax(0,1fr);min-height:100dvh}.shell-main{min-width:0}.app-sidebar{background:#0b1724;border-right:1px solid #ffffff14;padding:25px 13px;display:flex;flex-direction:column;gap:5px;min-height:100dvh}.sidebar-brand{display:block;padding:8px 12px 26px}.sidebar-brand img{display:block;width:100%;max-height:66px;object-fit:contain}.nav-caption{color:#8c9fab;font-size:10px;letter-spacing:2px;font-weight:700;padding:12px 14px 4px;margin:0}.side-link{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:9px;color:#b5c5d2;font-size:13px;font-weight:600}.side-link span{font-size:19px;width:22px;text-align:center}.side-link:hover,.side-link.active{color:#e9ffb9;background:#22351b}.side-link.active{border-left:3px solid #41E5A1}.side-footer{margin-top:auto;padding:20px 14px;color:#8b9caa;font-size:10px;letter-spacing:1px}.side-footer small{display:block;letter-spacing:0;margin-top:4px}.app-shell .app-header{height:79px;position:sticky;top:0;padding:0 26px;z-index:18;background:#0c1926;gap:20px}.header-company,.header-user{display:flex;align-items:center;gap:14px}.header-company{margin-right:auto;min-width:0}.company-switch{margin:0}.company-switch label{margin:0;display:block}.company-switch label span{display:block;font-size:10px;color:#8d9ca9}.company-switch select{width:min(245px,37vw);background:#162d3e;border:1px solid #ffffff30;border-radius:8px;color:white;padding:8px;max-width:100%}.company-brand{max-width:80px;max-height:46px;object-fit:contain;background:#ffffff10;border-radius:7px;padding:4px}.header-user form{margin:0}.mobile-brand,.mobile-menu-button{display:none}.sidebar-scrim{display:none}.page.dashboard,.page.admin-page{max-width:1480px;margin:0 auto}.dashboard .page-heading{align-items:center}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 32px}.metric-card{background:#102132;border:1px solid #ffffff14;border-radius:15px;padding:24px;min-width:0}.metric-card small{color:#aebfcc;display:block;font-size:12px}.metric-card strong{color:#f5f8fa;display:block;font-size:clamp(20px,2.5vw,30px);margin:9px 0;overflow-wrap:anywhere}.metric-card span{color:#8fa0ae;font-size:12px}.section-heading{margin-bottom:16px}.section-heading h2{font-size:22px}.section-heading p{margin:0}.admin-page .card{border-radius:15px}.admin-page .card form{max-width:680px}.team-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,220px) auto;gap:15px;align-items:end;padding:14px 0;border-bottom:1px solid #ffffff17}.team-row small{display:block;color:#a1b3c1}.team-row label{margin:0}.team-row select,.admin-page select{background:#112a3a;color:#fff;border:1px solid #ffffff35;padding:10px;border-radius:7px;max-width:100%}.company-list-logo{height:60px;display:flex;align-items:center;justify-content:flex-start;font-size:36px;color:#41E5A1}.company-list-logo img{max-height:55px;max-width:170px;object-fit:contain}.guest-header{justify-content:center}.guest-header .brand-logo{max-width:280px}
@media(max-width:1050px){.app-shell{grid-template-columns:205px minmax(0,1fr)}.app-sidebar{padding:16px 9px}.side-link{font-size:12px;padding:10px}.app-shell .app-header{padding:0 14px}.metric-grid{gap:10px}.metric-card{padding:17px}}
@media(max-width:780px){.app-shell{display:block}.app-sidebar{position:fixed;top:0;left:0;bottom:0;width:min(82vw,290px);height:100dvh;min-height:0;z-index:55;transform:translateX(-105%);transition:transform .2s ease;overflow-y:auto;box-shadow:14px 0 35px #0008}.sidebar-open .app-sidebar{transform:translateX(0)}.sidebar-open .sidebar-scrim{display:block;position:fixed;inset:0;background:#0009;z-index:50;border:0;width:100%;height:100%;border-radius:0}.app-shell .app-header{height:68px;min-height:68px;padding:8px 12px;position:relative;flex-wrap:nowrap}.mobile-menu-button{display:flex;padding:8px 11px;font-size:19px;background:#152a3a}.mobile-brand{display:flex;max-width:125px}.mobile-brand img{width:100%;object-fit:contain}.header-company{gap:5px}.company-brand{max-width:34px;max-height:35px}.company-switch select{width:min(32vw,150px);font-size:11px;padding:5px}.header-user{gap:3px}.header-user .account-name{display:none}.header-user .subtle{padding:4px 5px;font-size:11px}.page.dashboard,.page.admin-page{padding:24px 16px 58px}.metric-grid{grid-template-columns:1fr 1fr;gap:10px}.metric-card:last-child{grid-column:1/-1}.metric-card strong{font-size:22px}.team-row{grid-template-columns:1fr;gap:8px}.team-row button{justify-self:start}.app-shell .map-page{overflow:hidden}}
@media(max-width:460px){.app-shell .app-header{gap:7px}.mobile-brand{max-width:85px}.company-switch label span{font-size:9px}.company-switch select{width:min(36vw,120px)}.header-user .subtle{font-size:10px}.dashboard .page-heading{align-items:stretch}.dashboard .page-heading .button{width:100%}.metric-grid{grid-template-columns:1fr 1fr}.metric-card{padding:14px}.metric-card small{font-size:10px}.metric-card strong{font-size:17px}.page-heading h1{font-size:25px}}

/* map shell must stay full viewport */
.map-page .app-shell{height:100dvh;min-height:0}.map-page .shell-main{height:100dvh;overflow:hidden}.map-page .app-header{height:64px}.map-page #event-map{height:calc(100dvh - 64px)}@media(max-width:780px){.map-page .app-header{height:60px;min-height:60px}.map-page #event-map{height:calc(100dvh - 60px)}}

/* v0.4.0 Etapa 3.1: Font Awesome and company-first member management */
.side-link i{width:22px;text-align:center;flex:none;font-size:15px}.mobile-menu-button i{font-size:18px}.team-add-form .team-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}.team-add-form .team-form-grid label{min-width:0}.form-hint{color:var(--muted);font-size:12px;margin:12px 0 20px}.card h2 i{color:var(--accent);margin-right:8px}@media(max-width:700px){.team-add-form .team-form-grid{grid-template-columns:1fr}.team-add-form button.primary{width:100%}}

/* v0.5.0 – definições de empresa e controles responsivos */
.company-settings-card{max-width:760px}.company-logo-preview{display:block;max-width:min(300px,100%);max-height:180px;object-fit:contain;margin:18px 0;padding:16px;border:1px solid rgba(128,128,128,.2);border-radius:14px}.company-settings-card form{display:grid;gap:16px}.company-settings-card input[type=file]{max-width:100%;width:100%}@media(max-width:740px){.company-settings-card{width:100%}.team-row,.team-add-form,.event-copy{min-width:0}.app-header .header-company{min-width:0}.company-switch select{max-width:min(45vw,210px)}}

/* v0.5.4 - Marca da empresa e administração de utilizadores */
.app-shell .app-header{min-height:88px;height:auto;padding-top:10px;padding-bottom:10px}
.header-company .company-brand{width:86px;height:64px;max-width:86px;max-height:64px;object-fit:contain;background:#e9f0f5;border:1px solid #ffffff35;box-shadow:0 5px 20px #0004;border-radius:12px;padding:8px;flex-shrink:0}
.header-company{gap:16px}
.user-directory{display:grid;gap:4px}.directory-person{display:flex;gap:15px;align-items:center;padding:16px;border-bottom:1px solid #ffffff19;text-decoration:none;color:inherit}.directory-person:hover{background:#ffffff0b;border-radius:9px}.directory-person span:nth-child(2){flex:1;min-width:0}.directory-person strong,.directory-person small{display:block}.directory-person small{color:#a8b9c6;overflow-wrap:anywhere;margin-top:4px}.user-avatar{background:#41E5A120;color:#41E5A1;border-radius:12px;padding:14px}.directory-state{font-size:12px;color:#b8d993}.user-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.membership-row{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid #ffffff20}.membership-row strong{flex:1}.membership-row form{margin:0}.admin-filter{display:flex;align-items:end;gap:15px}.admin-filter label{flex:1}.admin-filter select{max-width:430px}
@media(max-width:780px){.app-shell .app-header{min-height:79px;height:auto;flex-wrap:wrap}.header-company .company-brand{width:60px;height:52px;max-width:60px;max-height:52px;padding:5px}.header-company{gap:8px}.header-company .company-switch select{width:min(42vw,185px)}.user-detail-grid{grid-template-columns:1fr}.membership-row{flex-wrap:wrap}.membership-row strong{flex-basis:100%}.directory-state{display:none}}

/* v0.5.4: interface administrativa alinhada com o conceito BVISION */
.app-sidebar{background:linear-gradient(180deg,#0c1925,#0b141e);border-right:1px solid #233340}
.sidebar-brand{padding-top:2px;padding-bottom:23px}.sidebar-brand img{max-height:51px}
.side-link{transition:background .15s,color .15s;border-radius:7px}
.side-link.active{background:#41E5A1;color:#0b1b20;border-left:none;font-weight:800}
.side-link.active i{color:#0b1b20}.side-link:hover:not(.active){background:#172c39;color:#eff8f2}
.app-shell .app-header{background:#0a1621;border-bottom:1px solid #21323c}
.header-user-avatar{height:34px;width:34px;flex:0 0 34px;border-radius:50%;background:#f0f5fa;color:#162331;display:grid;place-items:center;font-size:13px;font-weight:800}
.header-company .company-brand{background:#101e2a;border:1px solid #354a56;box-shadow:0 1px 9px #0007}
.company-switch select{border-color:#314450;background:#102433}
.metric-card{background:linear-gradient(140deg,#132431,#0f1c29);border:1px solid #253b49;border-radius:10px;padding:18px 20px}
.metric-card strong{color:#f5f9fd;font-weight:800}
.admin-page .card,.dashboard .card{background:#0d1b28;border:1px solid #273844;border-radius:10px}
.admin-page h1,.dashboard h1{letter-spacing:-.7px}
.admin-page .page-heading{margin-bottom:26px}
.directory-person{border-bottom:1px solid #223746;padding:17px 13px;transition:background .15s}
.directory-person:hover{background:#12283a}
.directory-person .directory-state{color:#41E5A1;background:#1b362b;padding:6px 10px;border-radius:20px}
.user-avatar{width:39px;height:39px;display:grid;place-items:center;background:#1b3345;color:#41E5A1;border:1px solid #314c53}
.user-detail-grid .card{min-width:0}
.admin-filter select{margin-top:7px}
.mobile-bottom-nav{display:none}
@media(max-width:780px){
.app-shell .app-header{position:sticky;top:0;z-index:25;background:#0b1a27}
.header-user-avatar{display:none}
.shell-main{padding-bottom:76px}
.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:42;display:flex;justify-content:space-around;align-items:center;min-height:70px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:#091722;border-top:1px solid #30424d;box-shadow:0 -8px 25px #0006}
.mobile-bottom-nav a{display:flex;flex:1;flex-direction:column;justify-content:center;align-items:center;gap:5px;text-decoration:none;color:#9eafbb;font-size:10px;font-weight:700;padding:6px;border-radius:8px}
.mobile-bottom-nav a i{font-size:17px}.mobile-bottom-nav a.selected{color:#41E5A1}
.page.dashboard,.page.admin-page{padding-bottom:35px}
.user-detail-grid{gap:12px}
}
@media(max-width:460px){.header-company .company-brand{width:52px;height:45px;max-width:52px;max-height:45px}.header-user .subtle{font-size:11px}}

/* v0.7.0 — BVISION Motorsport rebrand (Media Tracker) */
:root{
  --bg:#06111d;
  --panel:#0e1d2d;
  --muted:#a4b6c6;
  --text:#f4f8fb;
  --accent:#41E5A1;
  --accent-2:#74F1BE;
  --line:rgba(255,255,255,.12);
}
body{
  background:radial-gradient(circle at top,#071a2d 0,#050d19 55%,#040a14 100%);
  color:var(--text);
}
a{color:inherit}
button,.button{
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  background:#14273b;
  transition:background .18s ease,border-color .18s ease,transform .18s ease,color .18s ease;
}
button:hover,.button:hover{transform:translateY(-1px)}
.primary{background:var(--accent);border-color:var(--accent);color:#041019}
.primary:hover{background:#67EFB6;border-color:#67EFB6}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
input,select,textarea{
  background:#081626;
  border:1px solid rgba(98,124,154,.55);
  color:var(--text);
  border-radius:12px;
}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(65,229,161,.14)}

/* shell */
.app-sidebar{background:linear-gradient(180deg,#081624 0%,#06111b 100%);border-right:1px solid rgba(88,125,150,.28)}
.sidebar-brand img{max-height:54px}
.brand-version{color:#6d879d}
.side-link.active{background:linear-gradient(90deg,rgba(65,229,161,.22),rgba(65,229,161,.08));color:#eefdff;box-shadow:inset 0 0 0 1px rgba(65,229,161,.28)}
.side-link.active i,.mobile-bottom-nav a.selected{color:var(--accent)}
.side-link:hover:not(.active){background:#112335;color:#eef9fb}
.nav-caption{color:#6d879d}
.app-shell .app-header{background:rgba(7,20,34,.88);backdrop-filter:blur(10px);border-bottom:1px solid rgba(88,125,150,.24)}
.metric-card,.admin-page .card,.dashboard .card,.event-card,.login-card{background:linear-gradient(180deg,#0b1b2a 0%,#0a1826 100%);border:1px solid rgba(88,125,150,.24);border-radius:16px}
.eyebrow,.card h2 i{color:var(--accent)}
.user-avatar{background:rgba(65,229,161,.12);color:var(--accent);border-color:rgba(65,229,161,.28)}
.directory-person .directory-state{color:#cafcff;background:rgba(65,229,161,.13)}
.mobile-bottom-nav{background:#07131f;border-top:1px solid rgba(88,125,150,.24)}
.mobile-bottom-nav a.selected{background:rgba(65,229,161,.08)}
.header-user-avatar{background:#edf8fb;color:#102230}
.header-company .company-brand{background:#0b1623;border:1px solid rgba(88,125,150,.38)}
.company-switch select{background:#0d1f2e;border-color:rgba(88,125,150,.45)}
.company-brand-fallback{display:grid;place-items:center;width:56px;height:56px;border-radius:14px;background:rgba(65,229,161,.12);color:var(--accent);font-weight:800}

/* logout */
.header-logout-form,.sidebar-logout-form{margin:0}
.header-logout{
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;border:1px solid rgba(88,125,150,.34);color:#d7e5ef;
  border-radius:999px;padding:10px 14px;font-weight:700;
}
.header-logout:hover{background:rgba(65,229,161,.1);border-color:rgba(65,229,161,.4);color:#fff}
.side-logout{
  width:100%;justify-content:flex-start;background:transparent;
  border:1px solid rgba(88,125,150,.18);color:#d7e5ef;
}
.side-logout:hover{background:rgba(65,229,161,.08);border-color:rgba(65,229,161,.3)}
.sidebar-logout-form{padding-top:10px}

/* auth */
.auth-screen{
  min-height:100dvh;display:flex;align-items:flex-start;justify-content:center;
  padding:42px 22px;background:radial-gradient(circle at top,#071a2d 0,#050d19 60%,#040a14 100%);
}
.auth-panel{
  width:min(100%,520px);margin-top:min(3vh,22px);
  background:transparent;color:var(--text);
}
.auth-brand{display:flex;justify-content:flex-start}
.auth-brand img{display:block;height:auto;max-width:100%}
.auth-brand-product img{width:min(340px,88%)}
.auth-brand-parent{justify-content:center}
.auth-brand-parent img{width:min(260px,68%);opacity:.96}
.auth-kicker{margin:26px 0 18px;font-size:14px;letter-spacing:2.8px;text-transform:uppercase;color:var(--accent);font-weight:800}
.auth-panel h1{font-size:clamp(40px,5vw,58px);line-height:1.08;margin:0 0 24px;letter-spacing:-1px}
.auth-panel p{max-width:46ch}
.auth-form{display:grid;gap:18px;margin-top:14px}
.auth-form label{display:grid;gap:8px;color:#eaf4fb;font-weight:700}
.auth-form input{
  min-height:54px;padding:14px 16px;background:#071321;border:1px solid rgba(98,124,154,.5);
  border-radius:10px;color:#fff;
}
.auth-form .primary{width:100%;min-height:52px;border-radius:10px;font-size:24px;font-weight:800}
.auth-link-row{margin:16px 0 0}
.auth-link-row a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.auth-divider{height:1px;background:rgba(255,255,255,.14);margin:34px 0 22px}
.auth-meta{text-align:center;color:#90a4b6;font-size:14px;margin-top:16px}
.notice{background:rgba(65,229,161,.12);border:1px solid rgba(65,229,161,.2);border-radius:12px;color:#dafcff;padding:12px 14px}
.guest-header{display:none}
.login-card.auth-card{background:transparent;border:0;padding:0;max-width:none}

/* account quick actions */
.action-link{margin-top:10px}

/* media-tracker accent replacement for common legacy greens */
.metric-card strong,.company-list-logo,.eyebrow,.page-heading h1 i,.card h2 i{color:var(--text)}
.sidebar-navigation .side-link i,.user-avatar i,.event-copy .primary,.team-add-form button.primary{color:inherit}
.directory-state,.directory-person .directory-state{border:1px solid rgba(65,229,161,.18)}

@media(max-width:780px){
  .auth-screen{padding:26px 18px 40px}
  .auth-panel{margin-top:0;width:min(100%,460px)}
  .auth-brand-product img{width:min(300px,100%)}
  .auth-panel h1{font-size:clamp(32px,9vw,46px)}
  .header-logout span{display:none}
  .header-logout{padding:9px 12px}
}
@media(max-width:520px){
  .auth-screen{justify-content:flex-start}
  .auth-panel{width:100%}
  .auth-form .primary{font-size:20px}
  .auth-kicker{font-size:12px;letter-spacing:2.2px}
}

/* v0.7.1 — CORREÇÃO DEFINITIVA DO MENU E IDENTIDADE TOXIC JADE */
:root{--accent:#41E5A1;--accent-2:#007E70;--bg:#09191D;--panel:#12292C;--line:rgba(94,153,137,.23)}
/* Anula a regra genérica nav{display:flex;align-items:center} do legado. */
.app-sidebar{width:244px;min-width:0;display:flex;flex-direction:column;overflow-x:hidden}
.app-sidebar nav.sidebar-navigation{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:4px!important;width:100%;min-width:0;flex-wrap:nowrap!important;padding:15px 12px}
.app-sidebar nav.sidebar-navigation>.side-link{display:flex;flex:0 0 auto;width:100%;min-width:0;white-space:normal;align-items:center;gap:13px;margin:0}
.app-sidebar nav.sidebar-navigation>.nav-caption{display:block;width:100%;flex:0 0 auto;margin:18px 12px 7px}
.sidebar-logout-form{padding:8px 12px 0}
.app-sidebar .sidebar-brand{max-width:100%;overflow:hidden}
.app-sidebar .sidebar-brand img{max-width:calc(100% - 45px);object-fit:contain}
.app-sidebar .side-link.active{background:rgba(65,229,161,.17);color:#d9fff0;box-shadow:inset 3px 0 #41E5A1}
.app-sidebar .side-link.active i{color:#41E5A1}
.auth-screen{background:radial-gradient(circle at top,#10312D 0,#09191D 48%,#071315 100%)}
.auth-panel .auth-kicker,.auth-link-row a{color:#41E5A1}
.auth-form .primary,.mock-page .button.primary,.mock-page button.primary{background:#41E5A1!important;border-color:#41E5A1!important;color:#09191D!important}
.auth-form .primary:hover,.mock-page .button.primary:hover,.mock-page button.primary:hover{background:#74F1BE!important;border-color:#74F1BE!important}
.app-shell .app-header{background:#0A1B1E}
.mobile-bottom-nav a.selected{color:#41E5A1}
@media(max-width:1050px){.app-sidebar{width:auto}}
@media(max-width:780px){.app-sidebar{width:min(82vw,290px)}.app-sidebar nav.sidebar-navigation{display:flex!important;flex-direction:column!important}}


/* v0.7.1.1 — login matched to Driver Edition composition, Media Tracker colors */
body:has(.auth-screen){background:#0d111a !important;}
.auth-screen{background:#0d111a !important;min-height:100dvh;padding:38px 20px 38px;display:flex;align-items:flex-start;justify-content:center;}
.auth-screen .auth-panel{width:min(100%,458px);margin:0 auto;color:#f7f9fc;}
.auth-screen .auth-brand-product{display:flex;justify-content:center;margin:0 auto;}
.auth-screen .auth-brand-product img{width:min(340px,80vw);height:auto;object-fit:contain;}
.auth-screen .auth-kicker{color:#41E5A1 !important;text-align:center;margin:20px 0 22px;font-size:11px;font-weight:750;letter-spacing:1.8px;}
.auth-screen .auth-panel h1{font-size:36px;line-height:1.18;letter-spacing:-.6px;margin:0 0 22px;font-weight:800;}
.auth-screen .auth-description{font-size:16px;line-height:1.6;color:#c7d1df;margin:0 0 20px;}
.auth-screen .auth-form{display:grid;gap:17px;margin-top:16px;}
.auth-screen .auth-form label{display:grid;gap:7px;font-size:14px;font-weight:500;color:#e2eaf2;}
.auth-screen .auth-form input{height:44px;min-height:44px;padding:9px 12px;background:#0f1622;border:1px solid #435369;border-radius:7px;color:#fff;}
.auth-screen .auth-form input:focus{border-color:#41E5A1;box-shadow:0 0 0 2px #41E5A128;}
.auth-screen .auth-form button.primary{min-height:45px;font-size:16px;border:0;border-radius:7px;background:#41E5A1;color:#071a19;font-weight:750;}
.auth-screen .auth-form button.primary:hover{background:#65f5b7;}
.auth-screen .auth-link-row{margin:14px 0 0;}
.auth-screen .auth-link-row a{color:#41E5A1;text-decoration:underline;text-underline-offset:2px;}
.auth-screen .auth-divider{height:1px;background:#ffffff26;margin:35px -15px 22px;}
.auth-screen .auth-brand-parent{display:flex;justify-content:center;}
.auth-screen .auth-brand-parent img{width:min(245px,75vw);max-height:90px;height:auto;object-fit:contain;}
@media(max-width:520px){.auth-screen{padding:28px 22px 50px;justify-content:center;}.auth-screen .auth-panel h1{font-size:32px;}.auth-screen .auth-brand-product img{width:min(310px,82vw);}}
