/* Componentes JGF: azul institucional, neutros e tipografia do site. */
:root{--blue:#003087;--deep:#00205b;--ink:#0a0a0a;--muted:#606060;--line:#e4e4e4;--paper:#f7f7f7;--green:#26724c;--amber:#875615}
[hidden]{display:none!important}
.tracking-site,.admin-body{color:var(--ink);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.admin-body{margin:0;background:var(--paper);font-size:14px;line-height:1.6}
.tracking-site main,.admin-body *{box-sizing:border-box}
.tracking-site main a,.admin-body a{color:inherit;text-decoration:none}
.tracking-site main button,.admin-body button{cursor:pointer}
.tracking-site main :is(button,input,select,textarea),.admin-body :is(button,input,select,textarea){font:inherit}
.tracking-site main :is(a,button,input,select,textarea):focus-visible,.admin-body :is(a,button,input,select,textarea):focus-visible{outline:3px solid #8aaadd;outline-offset:3px}
.tracking-site main button:disabled,.admin-body button:disabled{cursor:wait;opacity:.6}
.wrap{width:100%;max-width:1280px;margin-inline:auto;padding-inline:32px}
.icon{width:20px;height:20px;flex-shrink:0}
.eyebrow{display:flex;align-items:center;gap:10px;color:var(--blue);font-size:11px;font-weight:600;margin:0 0 12px}
.eyebrow:before{content:'';width:22px;height:2px;background:var(--blue)}
.panel{background:white;border:1px solid var(--line);border-radius:4px;padding:28px}
.primary-button,.primary-link,.secondary-button,.text-button{display:inline-flex;justify-content:center;align-items:center;gap:10px;font-size:12px!important;font-weight:600;text-decoration:none;line-height:1.5;transition:background .15s,border-color .15s}
.primary-button,.primary-link{background:var(--blue);color:white!important;padding:13px 20px;border:1px solid var(--blue);border-radius:4px;font-family:Lexend,Inter,sans-serif!important}
.primary-button:hover,.primary-link:hover{background:var(--deep);border-color:var(--deep)}
.secondary-button{background:white;color:var(--blue)!important;border:1px solid var(--line);border-radius:4px;padding:10px 15px}
.secondary-button:hover{border-color:var(--blue);background:#fafafa}
.text-button{background:none;border:0;color:var(--blue)!important;padding:7px 0}
.text-button .icon{width:15px;height:15px}
.wide{width:100%}
.field-help,.side-note{color:var(--muted);font-size:11px;line-height:1.8}
.field-help{margin:10px 0 0}
.message{padding:13px 16px;border:1px solid #cddaf0;background:#f2f5fb;color:var(--deep);border-radius:4px;font-size:12px;line-height:1.7;margin-block:16px}
.message.error{background:#fff6f2;border-color:#efd5c9;color:#8e3823}
.message.success{background:#f1f7f2;border-color:#cfdfd1;color:#27613f}
.message.warning{background:#fff9ed;border-color:#eddfbb;color:#7d591b}
.status-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-size:10px;font-weight:600;border-radius:4px;background:#f1f4fa;color:var(--blue);white-space:nowrap}
.status-pill:before{content:'';height:5px;width:5px;border-radius:50%;background:currentColor}
.status-pill.green,.status-pill.delivered{background:#eef5ef;color:var(--green)}
.status-pill.amber,.status-pill.exception{background:#fcf4e6;color:var(--amber)}
.status-pill.neutral,.status-pill.cancelled{background:#f0f0f0;color:#626262}
.form-field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}
.form-field>label,.form-field>span{font-size:12px;font-weight:600}
.form-field input,.form-field textarea,.form-field select{width:100%;border:1px solid #d7d7d7;padding:11px 12px;background:#fff;border-radius:4px;color:var(--ink);font-size:13px}
.form-field textarea{resize:vertical;min-height:100px}
.form-field :is(input,textarea)::placeholder{color:#888}
.form-field small{font-size:11px;color:var(--muted);line-height:1.65;font-weight:400}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
.form-grid .full{grid-column:1/-1}
.timeline{list-style:none;margin:0;padding:0}
.timeline li{position:relative;border-left:1px solid #ddd;padding:0 0 25px 25px;margin-left:5px}
.timeline li:last-child{padding-bottom:0;border-color:transparent}
.timeline li:before{content:'';position:absolute;left:-5px;top:7px;width:9px;height:9px;border-radius:50%;background:#aaa;box-shadow:0 0 0 3px white}
.timeline li.timeline-current:before{background:var(--blue);box-shadow:0 0 0 4px #eef2f9}
.timeline h4{font-family:Lexend,Inter,sans-serif;font-size:13px;font-weight:500;line-height:1.6;margin:4px 0}
.timeline time{font-size:11px;color:var(--muted)}
.timeline p{font-size:12px;color:var(--muted);line-height:1.8;margin:6px 0 0;white-space:pre-line;overflow-wrap:anywhere}
.timeline .event-location{display:inline-flex;align-items:center;gap:5px;color:var(--blue);font-size:11px;margin-top:3px}
.timeline .event-location .icon{width:13px;height:13px}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;white-space:nowrap}
dialog{border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink);padding:30px;max-width:540px;width:calc(100% - 32px);max-height:85vh;overflow:auto;box-shadow:0 25px 80px #0002}
dialog::backdrop{background:#0b17285e}
dialog h2{font-family:Lexend,Inter,sans-serif;font-size:21px;font-weight:500;margin:0 0 18px}
dialog p{font-size:13px;line-height:1.8;color:var(--muted)}
.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:26px}
.spin{animation:jgf-spin .8s linear infinite}
@keyframes jgf-spin{to{transform:rotate(360deg)}}
@media(max-width:767px){.wrap{padding-inline:24px}.panel{padding:22px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}
@media(max-width:639px){.wrap{padding-inline:16px}dialog{padding:23px}.dialog-actions{flex-direction:column-reverse}.dialog-actions>*{width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
