@import url('theme.css');
.vehicle-toasts{position:fixed;right:16px;bottom:16px;z-index:50;display:flex;flex-direction:column;gap:8px;max-width:min(360px,calc(100vw - 32px))}
.vehicle-toast{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;padding:12px 14px;border:1px solid #d0d5dd;border-left-width:4px;border-radius:8px;background:#fff;color:#1d2939;box-shadow:0 4px 12px rgba(0,0,0,.12)}
.vehicle-toast.warn{border-left-color:#d69e2e}
.vehicle-toast.error{border-left-color:#c53030}
/* Provider credentials page: summary strip, two environment cards (zones: status, actions, collapsed changes),
   one notice component. Spacing scale 4/8/16/24; colours and radius from theme.css tokens. */
.cred-page,.vd-home{--cs1:4px;--cs2:8px;--cs3:16px;--cs4:24px;--c-radius:10px;--c-ok:#3b7655;--c-ok-bg:#eaf7ef;--c-ok-line:#2f8a5b;--c-err:#9c402c;--c-err-bg:#fff0ed;--c-err-line:#c4553d;--c-warn:#7a5512;--c-warn-bg:#fff8e8;--c-warn-line:#d69e2e;--c-info:#225e65;--c-info-bg:#edf7f7;--c-info-line:var(--teal);max-width:1180px}
.cred-page .page-heading{margin-bottom:var(--cs4)}
.cred-page .cred-intro{max-width:70ch;line-height:1.6;margin:0}
.cred-page :focus-visible,.vd-home :focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.cred-page input,.cred-page textarea{font-size:16px;min-height:44px;padding:10px 12px}
.cred-page textarea{min-height:64px}
.cred-page .form-field>span{font-size:12px;font-weight:550;color:var(--navy);line-height:1.4}
.cred-notice{position:relative;display:flex;flex-direction:column;gap:var(--cs1);padding:12px 16px 12px 44px;margin:0 0 var(--cs3);border:1px solid var(--line);border-left:4px solid var(--c-info-line);border-radius:8px;background:var(--c-info-bg);color:var(--c-info);font-size:13px;line-height:1.55}
.cred-notice::before{content:"i";position:absolute;left:14px;top:12px;width:20px;height:20px;border-radius:50%;background:var(--c-info-line);color:#fff;font:600 12px/20px 'Segoe UI',Arial,sans-serif;text-align:center}
.cred-notice p{margin:0}
.cred-notice ul{margin:0;padding-left:18px}
.cred-notice.success{background:var(--c-ok-bg);border-left-color:var(--c-ok-line);color:var(--c-ok)}
.cred-notice.success::before{content:"";background:var(--c-ok-line) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat}
.cred-notice.error{background:var(--c-err-bg);border-left-color:var(--c-err-line);color:var(--c-err)}
.cred-notice.error::before{content:"!";background:var(--c-err-line)}
.cred-notice.warning{background:var(--c-warn-bg);border-left-color:var(--c-warn-line);color:var(--c-warn)}
.cred-notice.warning::before{content:"!";background:var(--c-warn-line)}
.cred-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 0 var(--cs3);background:#fff;border:1px solid var(--line);border-radius:var(--c-radius);overflow:hidden}
.cred-summary>div{padding:var(--cs3);border-right:1px solid var(--line);min-width:0}
.cred-summary>div:last-child{border-right:0}
.cred-summary dt{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);margin-bottom:var(--cs2)}
.cred-summary dd{margin:0;font-size:13px;line-height:1.5}
.cred-summary dd .muted{display:block;margin-top:var(--cs1);font-size:12px}
.cred-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#b7c6cc;margin-right:var(--cs2);vertical-align:1px}
.cred-dot.ok{background:var(--c-ok-line)}
.cred-dot.bad{background:var(--c-err-line)}
.cred-how{margin:0 0 var(--cs4);font-size:13px}
.cred-how>summary,.cred-more>summary{cursor:pointer;color:var(--teal);font-weight:550;width:max-content;max-width:100%}
.cred-how-body{margin-top:var(--cs2);padding:var(--cs3);background:#fff;border:1px solid var(--line);border-radius:var(--c-radius);max-width:80ch;line-height:1.6}
.cred-how-body p{margin:0 0 var(--cs2)}
.cred-how-body p:last-child{margin:0}
.cred-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--cs4);align-items:stretch}
.cred-panel{display:flex;flex-direction:column;margin:0;border-radius:var(--c-radius)}
.cred-panel.is-active{border-color:#a9d6c0;box-shadow:inset 0 3px 0 var(--c-ok-line)}
.cred-head{padding:var(--cs3) var(--cs4);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:var(--cs1)}
.cred-title{display:flex;align-items:center;gap:var(--cs2)}
.cred-title h2{margin:0;font-size:17px}
.cred-url{font-family:Consolas,'Courier New',monospace;font-size:11px;color:var(--muted);overflow-wrap:anywhere}
.cred-card-notice{margin:var(--cs3) var(--cs4) 0}
.cred-result{display:flex;flex-wrap:wrap;gap:var(--cs1) var(--cs4);margin:0}
.cred-result dt{display:inline;font-weight:600}
.cred-result dt::after{content:":"}
.cred-result dd{display:inline;margin:0 0 0 var(--cs1)}
.cred-zone{padding:var(--cs3) var(--cs4)}
.cred-zone+.cred-zone{border-top:1px solid var(--line)}
.cred-zone h3{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);font-weight:600;margin:0 0 var(--cs2)}
.cred-status dl{margin:0;display:grid;grid-template-columns:110px minmax(0,1fr);gap:var(--cs2) var(--cs3);font-size:13px;line-height:1.5}
.cred-status dl>div{display:contents}
.cred-status dt{color:var(--muted)}
.cred-status dd{margin:0;overflow-wrap:anywhere}
.cred-mono{font-family:Consolas,'Courier New',monospace}
.cred-note{margin:0 0 var(--cs2);font-size:12px;color:var(--muted);line-height:1.5}
.cred-fieldset{border:0;padding:0;margin:0;min-width:0}
.cred-fieldset:disabled{opacity:.55}
.cred-fieldset:disabled .button,.cred-fieldset:disabled input,.cred-fieldset:disabled textarea{cursor:not-allowed}
.cred-panel .form-grid{gap:var(--cs3);align-items:end}
.cred-panel .form-field{gap:var(--cs1)}
.cred-panel .form-actions{justify-content:flex-end;flex-wrap:wrap;gap:var(--cs2);border-top:0;padding-top:0;margin-top:var(--cs3)}
.cred-panel .button{min-height:44px}
.cred-inline .cred-fieldset{display:flex;align-items:flex-end;gap:var(--cs2) var(--cs3);flex-wrap:wrap}
.cred-inline .form-field{flex:1 1 200px}
.cred-inline .form-actions{margin-top:0}
.cred-more{margin-top:var(--cs2);font-size:12px}
.cred-more p{margin:var(--cs2) 0 0;color:var(--muted);line-height:1.55}
.cred-activate{margin-top:var(--cs3)}
div.cred-activate{padding-top:var(--cs3);border-top:1px dashed var(--line)}
.cred-disclosure.primary{border-color:#b9d7de;background:var(--soft)}
.cred-disclosure.primary>summary{color:var(--navy)}
.cred-changes{display:flex;flex-direction:column;gap:var(--cs2)}

.cred-disclosure{border:1px solid var(--line);border-radius:8px;background:#fbfcfd}
.cred-disclosure>summary{cursor:pointer;padding:12px var(--cs3);font-size:13px;font-weight:550;color:var(--navy);list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:44px;box-sizing:border-box}
.cred-disclosure>summary::-webkit-details-marker{display:none}
.cred-disclosure>summary::after{content:"+";font-size:16px;color:var(--muted)}
.cred-disclosure[open]>summary::after{content:"\2212"}
.cred-disclosure[open]>summary{border-bottom:1px solid var(--line)}
.cred-disclosure.danger>summary{color:#923a29}
.cred-disclosure>form{padding:var(--cs3)}
.cred-panel.is-blocked .cred-status,.cred-panel.is-blocked .cred-actions>h3,.cred-panel.is-blocked .cred-actions>.cred-note,.cred-panel.is-blocked .cred-actions>.cred-more,.cred-panel.is-blocked .cred-disclosure>summary{opacity:.6}
.cred-panel.is-blocked .cred-disclosure{background:var(--paper)}
.cred-back{margin-top:var(--cs4)}
@media(max-width:980px){.cred-cards{grid-template-columns:1fr}}
@media(max-width:560px){.cred-head,.cred-zone{padding-left:var(--cs3);padding-right:var(--cs3)}.cred-card-notice{margin-left:var(--cs3);margin-right:var(--cs3)}.cred-status dl{grid-template-columns:1fr;gap:0}.cred-status dd{margin-bottom:var(--cs2)}.cred-inline .form-actions{flex-basis:100%}.cred-panel .form-actions .button{width:100%}}
/* Vehicle data admin home: status strip (shared .cred-summary), grouped link cards. Tokens from .vd-home above. */
.vd-home .vd-lead{max-width:70ch;line-height:1.6;margin:0}
.vd-home .page-heading{margin-bottom:var(--cs4)}
.vd-home .cred-summary{margin-bottom:var(--cs4)}
.vd-home .cred-summary dd .badge{margin-left:var(--cs1)}
.vd-home .cred-summary dd .muted{display:block;margin-top:var(--cs1);font-size:12px}
.vd-state{display:inline-block;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;text-transform:capitalize;background:#eef4f6;color:#527888}
.vd-state.good{background:#e5f5eb;color:#3b7655}
.vd-state.bad{background:#fff0ed;color:#9c402c}
.vd-state.amber{background:#fff3dc;color:#8f671f}
.vd-count{font-size:22px;font-weight:600;line-height:1.1;color:var(--navy)}
.vd-attention{background:var(--c-warn-bg);box-shadow:inset 0 3px 0 var(--c-warn-line)}
.vd-attention .vd-count{color:var(--c-warn)}
.vd-home .vd-note{margin-bottom:var(--cs4)}
.vd-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--cs4);align-items:stretch}
.vd-group{margin:0;border-radius:var(--c-radius)}
.vd-group-head{padding:var(--cs3) var(--cs4);border-bottom:1px solid var(--line)}
.vd-group-head h2{font-size:16px;margin:0 0 var(--cs1)}
.vd-group-head p{margin:0;font-size:12px;color:var(--muted);line-height:1.5}
.vd-links{list-style:none;margin:0;padding:var(--cs2)}
.vd-link{display:flex;align-items:center;gap:var(--cs3);padding:12px var(--cs3);border-radius:8px;color:var(--ink);text-decoration:none;min-height:44px;box-sizing:border-box}
a.vd-link:hover{background:var(--soft);text-decoration:none}
a.vd-link:focus-visible{background:var(--soft)}
.vd-link-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.vd-link-text strong{font-size:14px;font-weight:600;color:var(--navy)}
.vd-link-text small{font-size:12px;color:var(--muted);line-height:1.45}
.vd-arrow{flex:none;width:8px;height:8px;border-top:2px solid #9fb4bc;border-right:2px solid #9fb4bc;transform:rotate(45deg);margin-right:4px;transition:transform .15s,border-color .15s}
a.vd-link:hover .vd-arrow,a.vd-link:focus-visible .vd-arrow{border-color:var(--teal);transform:translateX(3px) rotate(45deg)}
.vd-link.is-off{opacity:.7}
.vd-links li+li{border-top:1px solid var(--line)}
@media(max-width:1180px){.vd-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.cred-summary{grid-template-columns:1fr 1fr}.cred-summary>div{border-bottom:1px solid var(--line)}.cred-summary>div:nth-child(2n){border-right:0}.cred-summary>div:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:560px){.cred-summary>div{padding:12px}}
@media(max-width:700px){.vd-groups{grid-template-columns:1fr}}
@media(max-width:560px){.vd-group-head{padding:var(--cs3)}}
