/* One-screen Trips. Colours are the site's own: orange main action, soft grey secondary, charcoal glass. */

/* --- Host screen --- */
html.desk-on, html.desk-on body { overflow: hidden; }
html.desk-on .premium-footer { display: none; }
html.desk-on #app-main { padding: 0 !important; max-width: none !important; width: 100% !important; }
@media (min-width: 761px) {
  html.desk-on .premium-shell { grid-template-columns: 68px minmax(0, 1fr) !important; padding: 10px 10px 0 !important; gap: 8px !important; }
  html.desk-on .premium-sidebar { width: 68px !important; min-width: 68px !important; overflow: hidden; }
  html.desk-on .premium-sidebar img { width: 46px !important; height: auto !important; object-fit: contain; object-position: left; }
  html.desk-on .premium-sidebar a { font-size: 0 !important; justify-content: center !important; padding-inline: 0 !important; gap: 0 !important; }
  html.desk-on .premium-sidebar a span, html.desk-on .premium-account > div:not(:first-child), html.desk-on .premium-account small, html.desk-on .premium-account strong { display: none !important; }
  html.desk-on .premium-main-frame { margin: 0 !important; width: auto !important; }
  html.desk-on .premium-topbar { min-height: 46px !important; padding-block: 4px !important; }
}
@media (min-width: 761px) and (max-height: 700px) {
  html.desk-on .premium-topbar { display: none !important; }
  html.desk-on .desk-bar { min-height: 42px; padding-block: 3px; }
}
.desk { display: grid; grid-template-columns: 268px minmax(0, 1fr); min-height: 380px; background: #fff; border-top: 1px solid #eef1f4; }
.desk.is-wide { grid-template-columns: 0 minmax(0, 1fr); }
.desk.is-wide .desk-list { visibility: hidden; }
.desk-list { display: flex; flex-direction: column; min-height: 0; background: #f8f9fb; border-right: 1px solid #eef1f4; }
.desk-list-head { display: grid; gap: 10px; padding: 12px 12px 8px; }
.desk-tabs { display: grid; grid-template-columns: 1fr 1fr; padding: 3px; border-radius: 10px; background: #edf0f3; }
.desk-tabs b { margin-left: 5px; font-weight: 700; color: #7a8796; }
.desk-search { width: 100%; height: 38px; box-sizing: border-box; padding: 0 12px; border: 1px solid #ccd4df; border-radius: 10px; background: #fff; font: 400 14px "Nunito Sans", sans-serif; color: #29313d; }
.desk-trips { flex: 1; overflow-y: auto; overscroll-behavior: contain; }
.desk-trip { margin: 0 8px 4px; border-radius: 12px; overflow: hidden; }
.desk-trip.is-open { background: #fff; box-shadow: 0 1px 3px rgba(30, 45, 60, .08); }
.desk-trip-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.desk .vehicle-plate { zoom: .72; transform: none !important; margin: 0 !important; }
.desk-count { font: 600 12px "Nunito Sans", sans-serif; color: #526172; white-space: nowrap; }
.desk-trip-meta { display: block; margin-top: 5px; overflow: hidden; font: 400 12px/1.35 "Nunito Sans", sans-serif; color: #6b7886; white-space: nowrap; text-overflow: ellipsis; }
.desk-grs { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .16s ease-out; }
.desk-trip.is-open .desk-grs { grid-template-rows: 1fr; }
.desk-grs > div { min-height: 0; overflow: hidden; }
.desk-gr-no { flex: 1; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.desk-dot { flex: none; width: 8px; height: 8px; border-radius: 50%; background: #ff701e; }
.desk-dot.done { background: #2e8b57; }
.desk-dot.is-closed { background: #b8c0ca; }
.desk-gr-tag { flex: none; font: 600 11.5px "Nunito Sans", sans-serif; color: #6b7785; }
.desk-dot.is-error { background: #b2362a; }
.desk-dot.is-saving { animation: desk-pulse 1s ease-in-out infinite; }
@keyframes desk-pulse { 50% { opacity: .3; } }
.desk-note { padding: 18px 14px; font: 400 13px/1.4 "Nunito Sans", sans-serif; color: #5b6978; }
.desk-open { display: flex; flex-direction: column; min-width: 0; min-height: 0; background: #fff; }
.desk-bar { display: flex; align-items: center; gap: 12px; min-height: 50px; padding: 6px 14px; border-bottom: 1px solid #eef1f4; font: 500 12.5px "Nunito Sans", sans-serif; color: #526172; }
.desk-position { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.desk-spacer { flex: 1; }
.desk-stage { position: relative; flex: 1; min-height: 0; overflow: hidden; }
.desk-stage iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: #fff; visibility: hidden; opacity: 0; transition: opacity .12s linear; }
.desk-stage iframe.is-shown { visibility: visible; opacity: 1; }
.desk-empty { padding: 40px; text-align: center; font: 500 14px "Nunito Sans", sans-serif; color: #7a8796; }
.desk-empty.is-finished { position: absolute; inset: 0; z-index: 1; display: grid; place-items: center; padding: 40px; background: #fff; font: 700 19px "Nunito Sans", sans-serif; color: #23744a; }
.desk-empty.is-finished[hidden] { display: none; }
html body [data-duplicate-hint] a { all: unset !important; color: #6b4d00 !important; font-weight: 700 !important; text-decoration: underline !important; cursor: pointer !important; }
.desk-busy { position: absolute; left: 0; right: 0; top: 0; z-index: 2; height: 2px; overflow: hidden; opacity: 0; }
.desk-busy.is-on { opacity: 1; }
.desk-busy::before { content: ""; position: absolute; inset: 0; width: 35%; background: #ff701e; animation: desk-busy 1s ease-in-out infinite; }
@keyframes desk-busy { from { transform: translateX(-100%); } to { transform: translateX(300%); } }

/* The site's general button rule must not reach these controls. */
html body .desk button { all: unset !important; box-sizing: border-box !important; cursor: pointer !important; }
html body .desk button:focus-visible { outline: 2px solid #3c2515 !important; outline-offset: -2px !important; }
html body .desk .desk-tabs button { text-align: center !important; padding: 7px 4px !important; border-radius: 7px !important; font: 600 13px "Nunito Sans", sans-serif !important; color: #526172 !important; }
html body .desk .desk-tabs button[aria-pressed=true] { background: #fff !important; color: #1f2937 !important; box-shadow: 0 1px 3px rgba(24, 44, 66, .1) !important; }
html body .desk .desk-trip-head { display: block !important; width: 100% !important; padding: 9px 10px !important; border-radius: 12px !important; }
html body .desk .desk-trip-head:hover { background: #f1f3f5 !important; }
html body .desk .desk-trip.is-open > .desk-trip-head { background: #fff !important; }
html body .desk .desk-gr { display: flex !important; align-items: center !important; gap: 8px !important; width: calc(100% - 12px) !important; margin: 0 6px 3px !important; padding: 8px 12px !important; border-radius: 9px !important; font: 500 12.5px "Nunito Sans", sans-serif !important; color: #2b3644 !important; }
html body .desk .desk-gr:hover { background: #f1f3f5 !important; }
html body .desk .desk-gr[aria-current=true] { background: #fff0e6 !important; color: #3c2515 !important; font-weight: 700 !important; }
html body .desk .desk-bar button { display: grid !important; place-items: center !important; flex: none; width: 34px !important; height: 34px !important; border-radius: 10px !important; background: #f1f3f5 !important; color: #465263 !important; }
html body .desk .desk-bar button:hover:not(:disabled) { background: #e7eaee !important; }
html body .desk .desk-bar button:disabled { opacity: .4 !important; cursor: default !important; }
html body .desk .desk-bar button svg { width: 17px; height: 17px; }
html body .desk .desk-bar .desk-back { display: none !important; width: auto !important; padding: 0 12px !important; font: 650 13px "Nunito Sans", sans-serif !important; }
html body .desk .desk-bar .desk-saves { width: auto !important; padding: 0 12px !important; font: 650 12.5px "Nunito Sans", sans-serif !important; }
html body .desk .desk-bar .desk-saves[hidden] { display: none !important; }
html body .desk .desk-bar .desk-saves.is-saved { background: #eaf6ef !important; color: #23744a !important; }
html body .desk .desk-bar .desk-saves.is-error { background: #fdf0ee !important; color: #b2362a !important; }

/* --- The page inside a frame --- */
html.desk-embed .premium-sidebar, html.desk-embed .premium-topbar, html.desk-embed .premium-footer, html.desk-embed .premium-mobile-panel, html.desk-embed .premium-review-view > .page-head { display: none !important; }
html.desk-embed, html.desk-embed body { background: #fff !important; background-image: none !important; }
html.desk-embed body::before, html.desk-embed body::after { display: none !important; }
html.desk-embed .premium-shell { display: block !important; min-height: 0 !important; padding: 0 !important; background: none !important; }
html.desk-embed .premium-main-frame { width: 100% !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; border-radius: 0 !important; background: #fff !important; box-shadow: none !important; backdrop-filter: none !important; }
html.desk-embed #app-main { width: 100% !important; max-width: none !important; padding: 12px 16px 40px !important; }
html.desk-embed .premium-review-view { margin: 0 !important; padding: 0 !important; background: none !important; }

/* --- GR screen: scan left, fields right, one action bar --- */
html#gr.gr-focus { --paper: 54%; --dock: 66px; --ink: #1c2733; --soft: #657382; --line: #eef1f4; }
html#gr.gr-focus, html#gr.gr-focus body { height: 100%; overflow: hidden; background: #fff !important; }
html#gr.gr-focus .premium-shell, html#gr.gr-focus .premium-main-frame, html#gr.gr-focus #app-main, html#gr.gr-focus .premium-review-view, html#gr.gr-focus .request-layout, html#gr.gr-focus .request-workflow, html#gr.gr-focus .review-workbench { display: block !important; width: auto !important; max-width: none !important; height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; border: 0 !important; background: none !important; box-shadow: none !important; transform: none !important; filter: none !important; backdrop-filter: none !important; contain: none !important; }
html#gr.gr-focus .premium-review-status, html#gr.gr-focus .premium-document-shelf, html#gr.gr-focus .review-head, html#gr.gr-focus #erp-review-form .review-submit { display: none !important; }
html#gr.gr-focus #app-main { position: fixed !important; top: 0; right: 0; bottom: var(--dock); box-sizing: border-box; width: calc(100% - var(--paper)) !important; padding: 16px 20px 28px !important; overflow-y: auto !important; overscroll-behavior: contain; }
html#gr.gr-focus .review-scrollport, html#gr.gr-focus #erp-review-form { display: block !important; height: auto !important; max-height: none !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; border: 0 !important; background: none !important; }
html#gr.gr-focus .review-workbench .login-banner { display: flex; min-height: 0; margin: 0 0 8px !important; padding: 8px 12px; border: 0 !important; border-radius: 10px; background: #fff6ef !important; color: #8a4a14 !important; box-shadow: none !important; }
html#gr.gr-focus .review-workbench .login-banner strong { font: 600 12.5px "Nunito Sans", sans-serif !important; }
html#gr.gr-focus .review-workbench .login-banner span { display: none; }

html#gr.gr-focus #erp-review-form .premium-field-grid { display: flex !important; flex-direction: column !important; gap: 0 !important; padding: 0 !important; border: 0 !important; }
html#gr.gr-focus .gr-section { margin: 16px 0 6px !important; padding: 0 !important; font: 650 12.5px "Nunito Sans", sans-serif !important; color: #7a8796 !important; }
html#gr.gr-focus .gr-section-check { margin-top: 2px !important; }
html#gr.gr-focus .premium-totals-block, html#gr.gr-focus .premium-totals-fields { display: contents !important; }
html#gr.gr-focus .premium-field-evidence, html#gr.gr-focus .premium-totals-evidence, html#gr.gr-focus .premium-totals-duplicate { display: none !important; }

html#gr.gr-focus #erp-review-form .premium-field-grid .review-row { display: grid !important; grid-template-columns: 128px minmax(0, 1fr) !important; align-items: center !important; column-gap: 10px !important; box-sizing: border-box !important; width: 100% !important; min-height: 44px !important; margin: 0 !important; padding: 3px 8px !important; border: 0 !important; border-bottom: 1px solid var(--line) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
html#gr.gr-focus #erp-review-form .premium-field-grid .review-row[hidden] { display: none !important; }
html#gr.gr-focus #erp-review-form .premium-field-grid .review-row:hover { background: #f8f9fb !important; }
html#gr.gr-focus #erp-review-form .review-row > .review-label { grid-column: 1 !important; grid-row: 1 !important; display: flex !important; align-items: center; gap: 8px; min-height: 0 !important; margin: 0 !important; flex-wrap: nowrap !important; }
html#gr.gr-focus #erp-review-form .review-row > .erp-value { grid-column: 2 !important; grid-row: 1 !important; display: block !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; }
html#gr.gr-focus .review-label strong { font: 500 13px "Nunito Sans", sans-serif !important; color: var(--soft) !important; }
html#gr.gr-focus .gr-state { margin-left: auto; font: 700 12px "Nunito Sans", sans-serif; }
html#gr.gr-focus .gr-state-ok { color: #2e8b57; }
html#gr.gr-focus .gr-state-check { flex: none; width: 7px; height: 7px; border-radius: 50%; background: #ff701e; font-size: 0; }
html#gr.gr-focus #erp-review-form .review-row:not(.gr-current) .erp-value input { width: 100% !important; height: 36px !important; min-height: 36px !important; padding-inline: 8px !important; border: 1px solid transparent !important; background: transparent !important; box-shadow: none !important; font: 600 14px "Nunito Sans", sans-serif !important; color: var(--ink) !important; text-overflow: ellipsis; }
html#gr.gr-focus #erp-review-form .review-row:not(.gr-current):hover .erp-value input { border-color: #dfe4ea !important; background: #fff !important; }
html#gr.gr-focus #erp-review-form .review-row:not(.gr-current) .ai-review-option, html#gr.gr-focus #erp-review-form .review-row:not(.gr-current) .master-options, html#gr.gr-focus #erp-review-form .review-row:not(.gr-current) .premium-derived-gp, html#gr.gr-focus #erp-review-form .review-row:not(.gr-current) .erp-value small, html#gr.gr-focus #erp-review-form .review-row:not(.gr-current) .erp-value p, html#gr.gr-focus #erp-review-form .review-row:not(.gr-current) .erp-value > div:not(.master-control):not(.premium-review-identity):not(:has(input)), html#gr.gr-focus #erp-review-form .review-row:not(.gr-current) .erp-value > span { display: none !important; }

html#gr.gr-focus #erp-review-form .premium-field-grid .review-row.gr-current { display: block !important; width: 100% !important; margin: 4px 0 8px !important; padding: 14px 16px 16px !important; border: 0 !important; border-radius: 16px !important; background: #fff !important; box-shadow: 0 0 0 1.5px #ff701e, 0 12px 30px rgba(40, 50, 65, .1) !important; }
html#gr.gr-focus #erp-review-form .review-row.gr-current > .review-label { margin-bottom: 8px !important; }
html#gr.gr-focus .review-row.gr-current .review-label strong { font-weight: 650 !important; color: #3c2515 !important; }
html#gr.gr-focus #erp-review-form .review-row.gr-current .premium-review-identity { display: flex !important; align-items: stretch; gap: 8px !important; }
html#gr.gr-focus #erp-review-form .review-row.gr-current .erp-value input { width: 100% !important; height: 50px !important; min-height: 50px !important; padding-inline: 14px !important; border: 1px solid #dfe4ea !important; border-radius: 12px !important; background: #fff !important; box-shadow: none !important; font: 700 17px "Nunito Sans", sans-serif !important; color: var(--ink) !important; }
html#gr.gr-focus #erp-review-form .review-row.gr-current .erp-value input:focus { border-color: #ff701e !important; outline: 0 !important; box-shadow: 0 0 0 3px rgba(255, 112, 30, .16) !important; }
html#gr.gr-focus #erp-review-form input::selection { background: #ffd9c0; }
html#gr.gr-focus .review-row.gr-current .premium-derived-gp { height: auto !important; min-height: 0 !important; padding-inline: 12px !important; border: 0 !important; border-radius: 12px !important; background: #f1f3f5 !important; color: #465263 !important; white-space: nowrap; }
html#gr.gr-focus .review-row.gr-current .ai-review-option, html#gr.gr-focus .review-row.gr-current .master-option { display: block; width: 100%; min-height: 38px !important; margin-top: 6px !important; padding: 8px 12px !important; border: 0 !important; border-radius: 10px !important; background: #f6f7f9 !important; box-shadow: none !important; color: #3a4655 !important; font: 600 13px "Nunito Sans", sans-serif !important; text-align: left; }
html#gr.gr-focus .review-row.gr-current .ai-review-option:hover, html#gr.gr-focus .review-row.gr-current .master-option:hover { background: #fff0e6 !important; color: #3c2515 !important; }
html#gr.gr-focus .review-row.gr-current .erp-value small, html#gr.gr-focus .review-row.gr-current .erp-value p { margin: 8px 0 0 !important; font: 500 12px/1.35 "Nunito Sans", sans-serif !important; color: #8a5a1a !important; }

html#gr.gr-focus .gr-accept, html#gr.gr-focus .gr-undo { display: none !important; }
html#gr.gr-focus .review-row.gr-current.gr-needs .gr-accept, html#gr.gr-focus .review-row.gr-current.gr-accepted .gr-undo { all: unset; display: flex !important; align-items: center; justify-content: center; gap: 8px; box-sizing: border-box; width: 100%; height: 42px; margin-top: 12px; border-radius: 12px; background: #fff0e6 !important; color: #3c2515 !important; font: 700 13.5px "Nunito Sans", sans-serif !important; cursor: pointer; transition: background-color .12s, transform .12s; }
html#gr.gr-focus .review-row.gr-current.gr-accepted .gr-undo { background: #f1f3f5 !important; color: #465263 !important; }
html#gr.gr-focus .review-row.gr-current.gr-needs .gr-accept:hover { background: #ffe3cf !important; }
html#gr.gr-focus .review-row.gr-current.gr-needs .gr-accept:active { transform: scale(.985); }
html#gr.gr-focus .review-row.gr-current.gr-needs.gr-blank .gr-accept, html#gr.gr-focus .review-row.gr-current.gr-needs.gr-blank .gr-accept:hover { background: #f1f3f5 !important; color: #465263 !important; }
html#gr.gr-focus kbd { padding: 2px 7px; border-radius: 6px; background: rgba(60, 37, 21, .1); color: #3c2515; font: 650 10.5px "Nunito Sans", sans-serif; }

html#gr.gr-focus .gr-paper { position: fixed; top: 0; left: 0; bottom: var(--dock); width: var(--paper); overflow: hidden; background: #e6e9ed; box-shadow: inset -1px 0 0 rgba(30, 45, 60, .08); }
html#gr.gr-focus .gr-paper-stage { position: absolute; inset: 0; overflow: hidden; cursor: grab; touch-action: none; }
html#gr.gr-focus .gr-paper-stage.is-moving { cursor: grabbing; }
html#gr.gr-focus .gr-paper:not(.is-ready) .gr-paper-sheet { visibility: hidden; }
html#gr.gr-focus .gr-paper-missing { display: none; position: absolute; left: 24px; right: 24px; top: 45%; margin: 0; text-align: center; font: 600 14px "Nunito Sans", sans-serif; color: #5b6978; }
html#gr.gr-focus .gr-paper.is-missing .gr-paper-missing { display: block; }
html#gr.gr-focus .gr-paper.is-missing .gr-paper-tools { display: none; }
html#gr.gr-focus .gr-paper-sheet { position: absolute; left: 0; top: 0; background: #fff; box-shadow: 0 10px 40px rgba(30, 45, 60, .16); transform-origin: 0 0; }
html#gr.gr-focus .gr-paper img { display: block; width: 100%; height: 100%; max-width: none; opacity: 0; user-select: none; }
html#gr.gr-focus .gr-paper.is-ready img { opacity: 1; transition: opacity .2s linear; }
html#gr.gr-focus .gr-spot { position: absolute; opacity: 0; border-radius: 6px; pointer-events: none; box-shadow: 0 0 0 9000px rgba(28, 36, 46, .3), 0 0 0 2px #ff701e; transition: left .26s cubic-bezier(.22, .8, .24, 1), top .26s cubic-bezier(.22, .8, .24, 1), width .26s cubic-bezier(.22, .8, .24, 1), height .26s cubic-bezier(.22, .8, .24, 1), opacity .16s linear; }
html#gr.gr-focus .gr-spot.is-on { opacity: 1; }
html#gr.gr-focus .gr-paper-field, html#gr.gr-focus .gr-paper-tools { position: absolute; bottom: 14px; border-radius: 11px; background: rgba(26, 33, 42, .84); color: #fff; backdrop-filter: blur(8px); }
html#gr.gr-focus .gr-paper-field { left: 14px; padding: 7px 12px; font: 650 13px "Nunito Sans", sans-serif; pointer-events: none; }
html#gr.gr-focus .gr-paper-tools { right: 14px; z-index: 2; display: flex; gap: 4px; padding: 4px; }
html#gr.gr-focus .gr-paper-tools button { all: unset; display: grid; place-items: center; box-sizing: border-box; min-width: 30px; height: 30px; padding: 0 8px; border-radius: 8px; color: #fff !important; font: 600 12.5px "Nunito Sans", sans-serif; cursor: pointer; }
html#gr.gr-focus .gr-paper-tools button:hover { background: rgba(255, 255, 255, .14) !important; }
html#gr.gr-focus .gr-paper-tools button[aria-pressed=true] { background: #ff701e !important; color: #3c2515 !important; }

html#gr.gr-focus .gr-dock { position: fixed; left: 0; right: 0; bottom: 0; z-index: 5; display: flex; align-items: center; gap: 8px; box-sizing: border-box; height: var(--dock); padding: 0 20px 0 12px; background: #fff; border-top: 1px solid var(--line); }
html#gr.gr-focus .gr-dock-gap { flex: 1; }
html#gr.gr-focus .gr-dock button { all: unset; box-sizing: border-box; cursor: pointer; }
html#gr.gr-focus .gr-dock button:focus-visible { outline: 2px solid #3c2515 !important; outline-offset: 2px; }
html#gr.gr-focus .gr-dock .gr-btn-quiet { height: 44px; padding: 0 16px; border-radius: 12px; background: transparent !important; color: #465263 !important; font: 650 13px "Nunito Sans", sans-serif; transition: background-color .12s, color .12s; }
html#gr.gr-focus .gr-dock .gr-btn-quiet:hover { background: #f1f3f5 !important; color: #29313d !important; }
html#gr.gr-focus .gr-dock .gr-btn-archive:hover { background: #fdf0ee !important; color: #b2362a !important; }
html#gr.gr-focus .gr-dock .gr-btn-confirm { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-width: 186px; height: 44px; padding: 0 12px 0 20px; border-radius: 12px; background: #ff701e !important; color: #3c2515 !important; font: 750 14px "Nunito Sans", sans-serif; transition: background-color .16s, transform .12s cubic-bezier(.2, .7, .2, 1), box-shadow .16s; }
html#gr.gr-focus .gr-dock .gr-btn-confirm:hover:not(:disabled) { background: #f4640f !important; box-shadow: 0 6px 16px rgba(255, 112, 30, .24); }
html#gr.gr-focus .gr-dock .gr-btn-confirm:active:not(:disabled) { transform: scale(.975); box-shadow: none; }
html#gr.gr-focus .gr-dock .gr-btn-confirm:disabled { opacity: .55; cursor: default; }
html#gr.gr-focus .gr-dock .gr-btn-confirm[data-state=saved] { background: #2e8b57 !important; color: #fff !important; opacity: 1; }
html#gr.gr-focus .gr-dock .gr-btn-confirm[data-state=error] { background: #b2362a !important; color: #fff !important; }
html#gr.gr-focus .gr-dock .gr-btn-confirm[data-state] kbd { display: none; }
html#gr.gr-focus.gr-all-checked .gr-dock .gr-btn-confirm:not(:disabled) { box-shadow: 0 0 0 4px rgba(255, 112, 30, .18), 0 8px 20px rgba(255, 112, 30, .28); }
html#gr.gr-focus .gr-dock-note { min-width: 0; margin: 0 8px 0 0; overflow: hidden; font: 600 12.5px "Nunito Sans", sans-serif; color: #8a4a14; white-space: nowrap; text-overflow: ellipsis; }
html#gr.gr-focus .gr-progress { display: flex; align-items: center; gap: 10px; margin-right: 10px; }
html#gr.gr-focus .gr-progress-track { width: 92px; height: 5px; overflow: hidden; border-radius: 3px; background: #e9ecf0; }
html#gr.gr-focus .gr-progress-track i { display: block; width: 0; height: 100%; border-radius: 3px; background: #ff701e; transition: width .26s cubic-bezier(.22, .8, .24, 1); }
html#gr.gr-focus .gr-progress-text { font: 600 12.5px "Nunito Sans", sans-serif; color: var(--soft); white-space: nowrap; }
html#gr.gr-focus .gr-dock .gr-btn-confirm[data-state=waiting]:disabled { background: #f1f3f5 !important; box-shadow: none !important; color: #465263 !important; opacity: 1 !important; cursor: default; }
html#gr.gr-focus .gr-paper:not(.is-ready):not(.is-missing)::before { content: ""; position: absolute; top: 5%; left: 50%; width: min(66%, 62vh); aspect-ratio: 3 / 4; transform: translateX(-50%); border-radius: 4px; background: #fff; box-shadow: 0 10px 40px rgba(30, 45, 60, .12); animation: gr-paper-wait 1.1s ease-in-out infinite alternate; }
html#gr.gr-focus .gr-paper:not(.is-ready):not(.is-missing)::after { content: "Loading scan…"; position: absolute; top: 42%; left: 0; right: 0; text-align: center; font: 600 13.5px "Nunito Sans", sans-serif; color: #6b7785; }
@keyframes gr-paper-wait { from { opacity: .5; } to { opacity: .95; } }
@media (prefers-reduced-motion: reduce) { html#gr.gr-focus .gr-paper:not(.is-ready):not(.is-missing)::before { animation: none; } }
/* Save results appear in the action bar and the top bar on this screen. */
html#gr.gr-focus #toast-region [data-review-save-feedback] { display: none !important; }

html#gr.gr-focus .gr-sheet { width: min(560px, calc(100vw - 32px)); max-height: 80vh; padding: 20px 22px 22px; border: 0; border-radius: 18px; box-shadow: 0 24px 70px rgba(20, 30, 40, .28); }
html#gr.gr-focus .gr-sheet::backdrop { background: rgba(20, 30, 40, .32); }
html#gr.gr-focus .gr-sheet-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
html#gr.gr-focus .gr-sheet h2 { margin: 0; font: 700 18px "Nunito Sans", sans-serif; color: var(--ink); }
html#gr.gr-focus .gr-sheet-close { all: unset; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; color: var(--soft) !important; font-size: 20px; cursor: pointer; }
html#gr.gr-focus .gr-sheet-close:hover { background: #f1f3f5 !important; }
html#gr.gr-focus .gr-sheet-note { margin: 0 0 14px; font: 500 14px/1.4 "Nunito Sans", sans-serif; color: var(--soft); }
html#gr.gr-focus .gr-sheet-more > * + * { margin-top: 8px; }
html#gr.gr-focus .gr-sheet-archive form { display: block !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
html#gr.gr-focus .gr-sheet-archive form > strong, html#gr.gr-focus .gr-sheet-archive form > b { display: none !important; }
html#gr.gr-focus .gr-sheet-archive label { display: block !important; font: 500 13.5px/1.5 "Nunito Sans", sans-serif !important; color: var(--soft) !important; }
html#gr.gr-focus .gr-sheet-archive label b { font-weight: 700 !important; color: var(--ink) !important; }
html#gr.gr-focus .gr-sheet-archive label input { display: block !important; width: 100% !important; height: 42px !important; margin-top: 8px !important; }
html#gr.gr-focus .gr-sheet-archive button.danger { display: block !important; width: 100% !important; height: 44px; margin-top: 14px; border: 0; border-radius: 12px !important; background: #b2362a !important; color: #fff !important; font: 700 14px "Nunito Sans", sans-serif; }
/* --- Saved GR: a clear result and a calm summary --- */
html#gr.gr-saved .premium-review-status, html#gr.gr-saved .premium-document-shelf, html#gr.gr-saved .confirmed-summary, html#gr.gr-saved .toolbar:has(a[href*="?edit=1"]), html#gr.gr-saved .submission-outcome.created { display: none !important; }
html#gr.gr-saved #app-main > *:not(.gr-saved-panel) { display: none !important; }
html#gr.gr-saved.gr-no-scan { --paper: 0%; }
html#gr.gr-saved .gr-saved-panel { display: flex; flex-direction: column; gap: 14px; max-width: 640px; }
html#gr.gr-saved .gr-hero { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border-radius: 16px; background: #eff8f3; }
html#gr.gr-saved .gr-hero-mark { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 50%; background: #2e8b57; color: #fff; font: 700 18px "Nunito Sans", sans-serif; }
html#gr.gr-saved .gr-hero-label { margin: 0 0 2px; font: 650 12.5px "Nunito Sans", sans-serif; color: #23744a; }
html#gr.gr-saved .gr-hero-number { all: unset; cursor: pointer; font: 750 18px "Nunito Sans", sans-serif; color: #1c2733; overflow-wrap: anywhere; }
html#gr.gr-saved .gr-hero-number:hover { text-decoration: underline; text-underline-offset: 3px; }
html#gr.gr-saved .gr-status { padding: 16px 18px; border-radius: 16px; background: #f6f7f9; }
html#gr.gr-saved .gr-status h2 { margin: 0; font: 750 17px "Nunito Sans", sans-serif; color: #1c2733; }
html#gr.gr-saved .gr-status > p { margin: 6px 0 0; font: 500 13.5px/1.45 "Nunito Sans", sans-serif; color: #465263; overflow-wrap: anywhere; }
html#gr.gr-saved .gr-status-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
html#gr.gr-saved .gr-status-actions:empty { display: none; }
html#gr.gr-saved .gr-status-actions form { margin: 0; }
html#gr.gr-saved .gr-status-actions a, html#gr.gr-saved .gr-status-actions button, html#gr.gr-saved .cmt-batch-card a, html#gr.gr-saved .cmt-batch-card button { all: unset; display: inline-flex !important; align-items: center; justify-content: center; box-sizing: border-box; min-height: 44px; padding: 0 16px !important; border-radius: 12px !important; background: #eceff2 !important; color: #465263 !important; font: 650 13px "Nunito Sans", sans-serif !important; cursor: pointer; }
html#gr.gr-saved .gr-status-actions a:hover, html#gr.gr-saved .gr-status-actions button:hover, html#gr.gr-saved .cmt-batch-card a:hover, html#gr.gr-saved .cmt-batch-card button:hover { background: #e2e6ea !important; color: #29313d !important; }
html#gr.gr-saved .gr-status-actions a:focus-visible, html#gr.gr-saved .gr-status-actions button:focus-visible, html#gr.gr-saved .cmt-batch-card a:focus-visible, html#gr.gr-saved .cmt-batch-card button:focus-visible { outline: 2px solid #3c2515 !important; outline-offset: 2px; }
html#gr.gr-saved .gr-status-actions .gr-status-main { background: #ff701e !important; color: #3c2515 !important; font-weight: 750 !important; }
html#gr.gr-saved .gr-status-actions .gr-status-main:hover { background: #f4641a !important; color: #3c2515 !important; }
html#gr.gr-saved .gr-status-actions button:disabled { opacity: .65; cursor: default; }
html#gr.gr-saved .gr-status-problem { margin: 10px 0 0; font: 600 13px/1.4 "Nunito Sans", sans-serif; color: #b2362a; }
html#gr.gr-saved .cmt-batch-card { margin: 0 !important; padding: 16px 18px !important; border: 0 !important; border-radius: 16px !important; background: #f6f7f9 !important; box-shadow: none !important; color: #465263 !important; font: 500 13.5px/1.45 "Nunito Sans", sans-serif !important; }
html#gr.gr-saved .cmt-batch-card * { background: none !important; border-color: var(--line) !important; box-shadow: none !important; color: inherit !important; }
html#gr.gr-saved .cmt-batch-card h2, html#gr.gr-saved .cmt-batch-card h3, html#gr.gr-saved .cmt-batch-card strong { color: #1c2733 !important; }
html#gr.gr-saved .gr-more-details .cmt-batch-card { margin-top: 8px !important; }
html#gr.gr-saved .gr-figures { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
html#gr.gr-saved .gr-figure { display: flex; flex-direction: column; gap: 2px; padding: 11px 13px; border-radius: 12px; background: #f6f7f9; }
html#gr.gr-saved .gr-figure strong { font: 750 18px "Nunito Sans", sans-serif; color: #1c2733; font-variant-numeric: tabular-nums; }
html#gr.gr-saved .gr-figure span { font: 500 12px "Nunito Sans", sans-serif; color: var(--soft); }
html#gr.gr-saved .gr-facts, html#gr.gr-saved .gr-more-details { display: block; }
html#gr.gr-saved .gr-fact { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 10px; align-items: baseline; padding: 9px 2px; border-bottom: 1px solid var(--line); }
html#gr.gr-saved .gr-fact span { font: 500 13px "Nunito Sans", sans-serif; color: var(--soft); }
html#gr.gr-saved .gr-fact strong { min-width: 0; font: 600 14px/1.35 "Nunito Sans", sans-serif; color: var(--ink); overflow-wrap: anywhere; }
html#gr.gr-saved .gr-more-details > summary, html#gr.gr-saved .bf-trip-billing > summary { cursor: pointer; padding: 8px 2px; border: 0 !important; background: none !important; box-shadow: none !important; font: 650 13px "Nunito Sans", sans-serif !important; color: #465263 !important; }
html#gr.gr-saved .bf-trip-billing { display: block !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; outline: 0 !important; }
html#gr.gr-saved summary:focus-visible { outline: 2px solid #3c2515 !important; outline-offset: 2px; border-radius: 6px; }
html#gr.gr-saved .gr-dock a.gr-btn-soft { display: inline-flex; align-items: center; height: 44px; min-height: 0 !important; padding: 0 16px !important; border: 0 !important; border-radius: 12px !important; background: #f1f3f5 !important; box-shadow: none !important; color: #465263 !important; font: 650 13px "Nunito Sans", sans-serif !important; text-decoration: none; white-space: nowrap; }
html#gr.gr-saved .gr-dock a.gr-btn-soft:hover { background: #e7eaee !important; color: #29313d !important; }
html#gr.gr-saved .gr-dock .gr-btn-confirm { min-width: 120px; padding: 0 20px; white-space: nowrap; }
@media (max-width: 760px) {
  html#gr.gr-saved .gr-dock .gr-btn-confirm { min-width: 0; flex: none; padding: 0 16px; }
  html#gr.gr-saved .gr-dock a.gr-btn-soft { padding: 0 12px !important; }
}
/* More lists actions, not a second copy of the page's document panel. */
html#gr.gr-focus .gr-sheet-more .document-preview { display: block !important; padding: 0 !important; border: 0 !important; background: none !important; }
html#gr.gr-focus .gr-sheet-more .document-preview > *:not(.document-thumb):not(:has(.document-thumb)) { display: none !important; }
html#gr.gr-focus .gr-sheet-more .document-thumb { display: inline-flex !important; align-items: center; gap: 8px; width: auto !important; height: 42px !important; min-height: 0 !important; padding: 0 14px !important; border: 0 !important; border-radius: 12px !important; background: #f1f3f5 !important; box-shadow: none !important; color: #465263 !important; font: 650 13px "Nunito Sans", sans-serif !important; }
html#gr.gr-focus .gr-sheet-more .document-thumb img { display: none !important; }
/* Buttons that remain from the page use the site's main and secondary style. */
html#gr.gr-focus .gr-saved-panel .btn-primary, html#gr.gr-focus .gr-saved-panel button[type=submit]:not(.danger), html#gr.gr-focus .gr-sheet .btn-primary { min-height: 44px; border: 0 !important; border-radius: 12px !important; background: #ff701e !important; box-shadow: none !important; color: #3c2515 !important; font: 750 13.5px "Nunito Sans", sans-serif !important; }
html#gr.gr-focus .gr-sheet .btn-primary:disabled { opacity: .5; }
html#gr.gr-focus .gr-sheet .btn-secondary, html#gr.gr-focus .gr-sheet a.secondary, html#gr.gr-focus .gr-sheet button.secondary, html#gr.gr-focus .gr-sheet .erp-master-bar-actions button { min-height: 42px; border: 0 !important; border-radius: 12px !important; background: #f1f3f5 !important; box-shadow: none !important; color: #465263 !important; font: 650 13px "Nunito Sans", sans-serif !important; text-decoration: none; }
html#gr.gr-focus .gr-sheet .btn-secondary:hover, html#gr.gr-focus .gr-sheet a.secondary:hover, html#gr.gr-focus .gr-sheet button.secondary:hover { background: #e7eaee !important; }
html#gr.gr-focus .gr-sheet a.danger { display: inline-flex; align-items: center; min-height: 42px; padding: 0 16px; border: 0 !important; border-radius: 12px !important; background: #fdf0ee !important; box-shadow: none !important; color: #b2362a !important; font: 650 13px "Nunito Sans", sans-serif !important; text-decoration: none; }
html#gr.gr-focus .gr-sheet-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-bottom: 6px; }
html#gr.gr-focus .gr-sheet-actions form { margin: 0; }
html#gr.gr-focus .gr-sheet summary { cursor: pointer; }

::view-transition-group(*) { animation-duration: .24s; animation-timing-function: cubic-bezier(.22, .8, .24, 1); }

@media (max-height: 640px) {
  html#gr.gr-focus { --dock: 58px; }
  html#gr.gr-focus .gr-dock .gr-btn-confirm, html#gr.gr-focus .gr-dock .gr-btn-quiet { height: 40px; }
  html#gr.gr-focus #app-main { padding: 10px 14px 16px !important; }
}
@media (max-width: 760px) {
  .desk { display: block; position: relative; overflow: hidden; }
  .desk-list { height: 100%; border-right: 0; }
  .desk-open { position: absolute; inset: 0; z-index: 3; transform: translateX(100%); transition: transform .18s ease-out; }
  .desk.is-reading .desk-open { transform: none; }
  html body .desk .desk-bar .desk-back { display: grid !important; }
  html body .desk .desk-bar .desk-toggle-list { display: none !important; }
  html#gr.gr-focus { --paper: 100%; }
  html#gr.gr-focus .gr-paper { bottom: auto; height: 32vh; box-shadow: inset 0 -1px 0 rgba(30, 45, 60, .08); }
  html#gr.gr-focus #app-main { top: 32vh; width: 100% !important; padding: 12px 14px 20px !important; }
  html#gr.gr-focus .gr-dock { padding: 0 12px 0 6px; }
  html#gr.gr-focus .gr-dock kbd, html#gr.gr-focus .gr-progress { display: none; }
  html#gr.gr-focus .gr-dock .gr-btn-confirm { min-width: 150px; padding: 0 18px; }
  html#gr.gr-focus .gr-dock .gr-btn-quiet { padding: 0 9px; }
  html#gr.gr-focus #erp-review-form .premium-field-grid .review-row { grid-template-columns: 100px minmax(0, 1fr) !important; }
}
@media (prefers-reduced-motion: reduce) {
  .desk-grs, .desk-stage iframe, .desk-open { transition: none !important; }
  .desk-busy::before, .desk-dot.is-saving { animation: none; }
  .desk-busy::before { width: 100%; }
}

/* Everyone's Trips: nothing from the list flashes before the desk draws, and the list's extras sit quietly with the trip. */
html.desk-on #app-main > :not(.desk) { visibility: hidden; }
.desk-list-tools { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 20px; }
html body .desk .desk-branch { flex: 1; min-width: 0; height: 32px; padding: 0 8px; border: 1px solid #ccd4df; border-radius: 8px; background: #fff; font: 400 13px "Nunito Sans", sans-serif; color: #29313d; }
html body .desk a.desk-classic { margin-left: auto; padding: 0 !important; min-height: 0 !important; height: auto !important; background: none !important; border: 0 !important; box-shadow: none !important; font: 600 12px "Nunito Sans", sans-serif !important; color: #6b7886 !important; text-decoration: underline; white-space: nowrap; }
html body .desk a.desk-classic:hover { color: #29313d !important; }
.desk-trip-note { color: #8f3f0a; font-weight: 600; white-space: normal; }
.desk-trip-tools { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 10px 10px; border-top: 1px solid #eef1f4; }
html body .desk .desk-trip-tools a, html body .desk .desk-trip-tools summary { display: inline-flex; align-items: center; width: auto !important; min-height: 28px !important; height: auto !important; padding: 3px 9px !important; border: 0 !important; border-radius: 8px !important; background: #f1f3f5 !important; box-shadow: none !important; color: #465263 !important; font: 600 12px "Nunito Sans", sans-serif !important; cursor: pointer; }
html body .desk .desk-trip-tools a span, html body .desk .desk-trip-tools a small, html body .desk .desk-trip-tools a b { display: inline; margin: 0 3px 0 0; color: inherit; font: inherit; }
html body .desk .desk-trip-tools a:hover, html body .desk .desk-trip-tools summary:hover { background: #e7eaee !important; }
html body .desk .desk-trip-tools a.desk-trip-warning { background: #fff0e6 !important; color: #8f3f0a !important; }
.desk-trip-tools details { width: 100%; }
.desk-trip-tools details form { display: grid; gap: 6px; margin-top: 6px; font: 400 12px/1.4 "Nunito Sans", sans-serif; color: #526172; }
.desk-trip-tools details input:not([type=hidden]) { width: 100%; height: 32px; box-sizing: border-box; border: 1px solid #ccd4df; border-radius: 8px; padding: 0 8px; }
.desk-trip-tools details button { min-height: 30px; border-radius: 8px; }
html body .desk .desk-more { display: block; width: calc(100% - 16px) !important; margin: 4px 8px 10px; padding: 8px !important; border-radius: 10px !important; background: #f1f3f5 !important; color: #465263 !important; font: 600 13px "Nunito Sans", sans-serif !important; }

/* A GR page opened on its own is on its way to the desk; it never shows. */
html.desk-going body { visibility: hidden; }

/* Trip card: its branch, small and light. */
.desk-trip-side { display: grid; justify-items: end; gap: 1px; min-width: 0; }
.desk-trip-branch { max-width: 96px; overflow: hidden; font: 500 10.5px/1.2 "Nunito Sans", sans-serif; color: #8d98a5; white-space: nowrap; text-overflow: ellipsis; }
.desk-trip-branch:empty { display: none; }

/* Notices on a GR: one quiet shape, no boxes inside boxes, nothing blue. */
html#gr.gr-focus .trip-gp-advisory { display: block !important; width: auto !important; min-height: 0 !important; margin: 0 0 10px !important; padding: 12px 14px !important; border: 0 !important; border-radius: 14px !important; background: #fff6ef !important; box-shadow: none !important; color: #5d4a3a !important; font: 500 13px/1.45 "Nunito Sans", sans-serif !important; }
html#gr.gr-focus .trip-gp-advisory > div { display: block !important; padding: 0 !important; }
html#gr.gr-focus .trip-gp-advisory strong { display: block; margin: 0 !important; font: 750 14px/1.3 "Nunito Sans", sans-serif !important; color: #3c2515 !important; }
html#gr.gr-focus .trip-gp-advisory p { margin: 5px 0 0 !important; color: #5d4a3a !important; font: inherit !important; overflow-wrap: anywhere; }
html#gr.gr-focus .trip-gp-advisory p[hidden] { display: none !important; }
html#gr.gr-focus .trip-gp-advisory b { font-weight: 700 !important; color: #3c2515 !important; }
html#gr.gr-focus .trip-gp-advisory ul { margin: 6px 0 0 !important; padding: 0 !important; list-style: none !important; }
html#gr.gr-focus .trip-gp-advisory li { margin: 2px 0 0 !important; padding: 0 !important; }
html#gr.gr-focus .trip-gp-advisory a { all: unset !important; display: inline !important; color: #8a4a14 !important; font-weight: 650 !important; text-decoration: underline !important; text-underline-offset: 2px; cursor: pointer !important; }
html#gr.gr-focus .trip-gp-advisory a:focus-visible, html#gr.gr-focus .trip-gp-advisory summary:focus-visible { outline: 2px solid #3c2515 !important; outline-offset: 2px; }
html#gr.gr-focus .gr-gp-groups { display: grid; gap: 3px; margin-top: 7px; }
html#gr.gr-focus .gr-gp-group { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; }
html#gr.gr-focus .gr-gp-group > b { font-variant-numeric: tabular-nums; }
html#gr.gr-focus .gr-gp-group > span { display: inline-flex; flex-wrap: wrap; gap: 2px 8px; }
html#gr.gr-focus .trip-gp-advisory details { margin-top: 7px; }
html#gr.gr-focus .trip-gp-advisory summary { display: inline-block; color: #8a4a14 !important; font-weight: 650; cursor: pointer; }
html#gr.gr-focus .trip-gp-advisory form { margin: 8px 0 0 !important; padding: 0 !important; background: none !important; }
html#gr.gr-focus .trip-gp-advisory label { display: flex !important; gap: 8px; align-items: flex-start; margin: 6px 0 0 !important; color: #5d4a3a !important; font: 500 13px/1.4 "Nunito Sans", sans-serif !important; }
html#gr.gr-focus .trip-gp-advisory input:not([type=hidden]):not([type=checkbox]) { box-sizing: border-box; width: 100%; height: 40px; padding: 0 10px !important; border: 1px solid #dfe4ea !important; border-radius: 10px !important; background: #fff !important; box-shadow: none !important; font: 500 13px "Nunito Sans", sans-serif !important; }
html#gr.gr-focus .trip-gp-advisory label:has(input[name=reason]) { display: grid !important; gap: 4px; }
html#gr.gr-focus .trip-gp-advisory button { all: unset !important; display: inline-flex !important; align-items: center !important; box-sizing: border-box !important; min-height: 40px !important; margin-top: 8px !important; padding: 0 14px !important; border-radius: 10px !important; background: #eceff2 !important; color: #465263 !important; font: 650 13px "Nunito Sans", sans-serif !important; cursor: pointer !important; }
html#gr.gr-focus .trip-gp-advisory button:hover { background: #e2e6ea !important; }
html#gr.gr-focus .trip-gp-advisory button:focus-visible { outline: 2px solid #3c2515 !important; outline-offset: 2px; }
html#gr.gr-focus .request-workflow > .error, html#gr.gr-focus .request-workflow > .success { margin: 0 0 10px !important; padding: 10px 14px !important; border: 0 !important; border-radius: 12px !important; box-shadow: none !important; font: 600 13px/1.4 "Nunito Sans", sans-serif !important; }
html#gr.gr-focus .request-workflow > .error { background: #fdf0ee !important; color: #b2362a !important; }
html#gr.gr-focus .request-workflow > .success { background: #eff8f3 !important; color: #23744a !important; }
html#gr.gr-focus .gr-task.error { background: #fdf0ee !important; color: #b2362a !important; font-weight: 600 !important; }
html#gr.gr-focus .gr-task.success { background: #eff8f3 !important; color: #23744a !important; font-weight: 600 !important; }

/* Work still to do on a saved GR: a missing rate, an independent check, a waiting message. */
html#gr.gr-focus .gr-task { display: block !important; width: auto !important; min-height: 0 !important; margin: 0 !important; padding: 16px 18px !important; border: 0 !important; border-radius: 16px !important; background: #fff6ef !important; box-shadow: none !important; color: #465263 !important; font: 500 13.5px/1.45 "Nunito Sans", sans-serif !important; }
html#gr.gr-focus .gr-task.rate-repair-complete { background: #eff8f3 !important; }
html#gr.gr-focus .gr-task .rate-repair-icon, html#gr.gr-focus .gr-task .kicker, html#gr.gr-focus .gr-task .rate-repair-safety, html#gr.gr-focus .gr-task i[data-lucide], html#gr.gr-focus .gr-task svg { display: none !important; }
html#gr.gr-focus .rate-repair-card:not(.rate-repair-linked):not(.rate-repair-attention) .rate-repair-body > p, html#gr.gr-focus .rate-repair-complete p { display: none !important; }
html#gr.gr-focus .gr-task h2, html#gr.gr-focus .gr-task.login-banner strong { display: block; margin: 0 !important; font: 750 17px "Nunito Sans", sans-serif !important; color: #1c2733 !important; }
html#gr.gr-focus .gr-task p, html#gr.gr-focus .gr-task.login-banner span { display: block !important; margin: 6px 0 0 !important; color: #465263 !important; overflow-wrap: anywhere; }
html#gr.gr-focus .gr-task .review-head { display: block !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
html#gr.gr-focus .gr-task .review-head .badge { display: inline-block; margin-top: 6px; padding: 0 !important; background: none !important; color: #8a4a14 !important; font: 650 12.5px "Nunito Sans", sans-serif !important; }
html#gr.gr-focus .gr-task .rate-repair-message, html#gr.gr-focus .gr-task .rate-repair-suggestion { display: block; margin-top: 8px; padding: 0 !important; border: 0 !important; background: none !important; font: 600 13px/1.4 "Nunito Sans", sans-serif; color: #8a4a14 !important; }
html#gr.gr-focus .gr-task .rate-repair-result { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 10px; background: none !important; }
html#gr.gr-focus .gr-task .rate-repair-result small { display: block; font: 500 12px "Nunito Sans", sans-serif; color: var(--soft); }
html#gr.gr-focus .gr-task .rate-repair-result strong { font: 750 15px "Nunito Sans", sans-serif; color: #1c2733; }
html#gr.gr-focus .gr-task .rate-repair-form { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 12px 0 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
html#gr.gr-focus .gr-task:not(.trip-gp-advisory) label { display: grid; gap: 4px; margin: 0; font: 600 12.5px "Nunito Sans", sans-serif; color: var(--soft); }
html#gr.gr-focus .gr-task:not(.trip-gp-advisory) input:not([type=hidden]):not([type=checkbox]), html#gr.gr-focus .gr-task select { box-sizing: border-box; width: 100%; height: 44px; min-height: 44px; padding: 0 12px !important; border: 1px solid #dfe4ea !important; border-radius: 12px !important; background: #fff !important; box-shadow: none !important; color: var(--ink) !important; font: 700 15px "Nunito Sans", sans-serif !important; }
html#gr.gr-focus .gr-task input:focus, html#gr.gr-focus .gr-task select:focus { border-color: #ff701e !important; outline: 0 !important; box-shadow: 0 0 0 3px rgba(255, 112, 30, .16) !important; }
html#gr.gr-focus .gr-task .review-submit { display: grid !important; gap: 10px; margin: 12px 0 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
html#gr.gr-focus .gr-task .review-submit form { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
html#gr.gr-focus .gr-task .review-submit input:not([type=hidden]) { flex: 1 1 180px; width: auto; }
html#gr.gr-focus .gr-task:not(.trip-gp-advisory) button, html#gr.gr-focus .gr-task:not(.trip-gp-advisory) a { all: unset; display: inline-flex !important; align-items: center; justify-content: center; box-sizing: border-box; min-height: 44px; margin-top: 10px; padding: 0 16px !important; border-radius: 12px !important; background: #ff701e !important; color: #3c2515 !important; font: 750 13.5px "Nunito Sans", sans-serif !important; cursor: pointer; }
html#gr.gr-focus .gr-task:not(.trip-gp-advisory) button:hover, html#gr.gr-focus .gr-task:not(.trip-gp-advisory) a:hover { background: #f4641a !important; }
html#gr.gr-focus .gr-task:not(.trip-gp-advisory) button.secondary, html#gr.gr-focus .gr-task:not(.trip-gp-advisory) a.secondary { background: #eceff2 !important; color: #465263 !important; font-weight: 650 !important; }
html#gr.gr-focus .gr-task:not(.trip-gp-advisory) button.secondary:hover, html#gr.gr-focus .gr-task:not(.trip-gp-advisory) a.secondary:hover { background: #e2e6ea !important; color: #29313d !important; }
html#gr.gr-focus .gr-task button:focus-visible, html#gr.gr-focus .gr-task a:focus-visible { outline: 2px solid #3c2515 !important; outline-offset: 2px; }
html#gr.gr-focus .gr-task .rate-repair-form button { grid-column: 1 / -1; margin-top: 0; }
html#gr.gr-focus .gr-task .review-submit button { margin-top: 0; }

/* Nothing blue anywhere on a GR: one orange main action, soft grey for the rest. */
html#gr.gr-focus #app-main .btn-secondary, html#gr.gr-focus #app-main .btn:not(.btn-primary) { border: 0 !important; background: #eceff2 !important; background-image: none !important; box-shadow: none !important; color: #465263 !important; }
html#gr.gr-focus #app-main .btn-secondary:hover, html#gr.gr-focus #app-main .btn:not(.btn-primary):hover { background: #e2e6ea !important; color: #29313d !important; }
html#gr.gr-focus #app-main .btn-primary { border: 0 !important; background: #ff701e !important; background-image: none !important; box-shadow: none !important; color: #3c2515 !important; }
html#gr.gr-focus #app-main .btn-primary:hover { background: #f4641a !important; }
html#gr.gr-focus #app-main .badge { background: #eceff2 !important; color: #465263 !important; }
html#gr.gr-focus .request-workflow .error form, html#gr.gr-focus .review-workbench .error form { margin: 8px 0 0 !important; padding: 0 !important; background: none !important; }
html#gr.gr-focus .request-workflow .error strong, html#gr.gr-focus .review-workbench .error strong { display: block; font: 750 14px/1.3 "Nunito Sans", sans-serif !important; color: #8f2a20 !important; }
html#gr.gr-focus .request-workflow .error p, html#gr.gr-focus .review-workbench .error p { margin: 5px 0 0 !important; color: #8f2a20 !important; font: 500 13px/1.45 "Nunito Sans", sans-serif !important; }
html#gr.gr-focus .request-workflow .error label, html#gr.gr-focus .review-workbench .error label { font: 500 13px/1.4 "Nunito Sans", sans-serif !important; color: #8f2a20 !important; }
html#gr.gr-focus .review-workbench .error { margin: 0 0 10px !important; padding: 12px 14px !important; border: 0 !important; border-radius: 14px !important; background: #fdf0ee !important; box-shadow: none !important; }

/* Rate card on a GR: the result in one quiet line, no boxes inside the card, no instruction text. */
html#gr.gr-focus .rate-repair-complete .rate-repair-body > p, html#gr.gr-focus .rate-repair-complete > div > p, html#gr.gr-focus .rate-repair-card:not(.rate-repair-linked):not(.rate-repair-attention) > div > p { display: none !important; }
html#gr.gr-focus .gr-task .rate-repair-result { gap: 6px 22px !important; margin-top: 8px !important; padding: 0 !important; border: 0 !important; }
html#gr.gr-focus .gr-task .rate-repair-result > span { display: block !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
html#gr.gr-focus .gr-task .rate-repair-result small { text-transform: none !important; letter-spacing: 0 !important; }

/* GRs still being read: one quiet line, not a card each. */
html body .desk .desk-reading { display: flex; align-items: center; gap: 8px; margin: 2px 8px 8px; padding: 8px 10px; border-radius: 10px; background: #f1f3f5; color: #5d6875; font: 600 12.5px/1.3 "Nunito Sans", sans-serif; }
html body .desk .desk-reading::before { content: ''; flex: none; width: 7px; height: 7px; border-radius: 50%; background: #ff701e; animation: desk-reading-pulse 1.6s ease-in-out infinite; }
@keyframes desk-reading-pulse { 0%, 100% { opacity: .35; } 50% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { html body .desk .desk-reading::before { animation: none; } }
/* Everything is confirmed and the ERP entry follows by itself: good news, nobody has to act. */
.desk-trip-note.is-good { color: #17794a; }

/* Office170: a GR whose save met a change made by the last save. Calm, inside the page, no blue. */
html#gr.gr-focus .gr-conflict { margin: 0 0 12px; padding: 12px 14px; border: 1px solid #f0c9a8; border-radius: 10px; background: #fff7f0; color: #3b2a1e; font-size: 14px; }
html#gr.gr-focus .gr-conflict strong { display: block; margin-bottom: 8px; font-weight: 600; }
html#gr.gr-focus .gr-conflict-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 6px 0; border-top: 1px solid #f3dcc7; }
html#gr.gr-focus .gr-conflict-label { min-width: 120px; color: #6b5444; }
html#gr.gr-focus .gr-conflict-pick { min-height: 36px; padding: 6px 12px; border: 1px solid #d8d4cc; border-radius: 8px; background: #fff; color: #2b3340; font: inherit; cursor: pointer; }
html#gr.gr-focus .gr-conflict-pick:hover { border-color: #ff701e; }
html#gr.gr-focus .gr-conflict-pick:focus-visible { outline: 2px solid #ff701e; outline-offset: 2px; }
html#gr.gr-focus .gr-dock .gr-btn-confirm[data-state=waiting] { cursor: default; }

/* List first (4 Nov 2026): "Trips" goes back to the list you came from. Plain secondary button, no blue. */
html body .desk .desk-bar a.desk-to-list { display: inline-flex !important; align-items: center !important; gap: 4px !important; flex: none; height: 34px !important; min-height: 34px !important; padding: 0 12px 0 8px !important; margin: 0 !important; border: 0 !important; border-radius: 10px !important; box-shadow: none !important; background: #f1f3f5 !important; color: #465263 !important; font: 650 13px "Nunito Sans", sans-serif !important; text-decoration: none !important; white-space: nowrap; }
html body .desk .desk-bar a.desk-to-list:hover { background: #e7eaee !important; color: #29313d !important; }
html body .desk .desk-bar a.desk-to-list svg { width: 17px; height: 17px; }
