/* Shared feedback. Color, an icon, and a label convey the same meaning. */
body.gps-site{--feedback-success:#285b42;--feedback-error:#a82e40;--feedback-warning:#80541c;--feedback-info:#655747}
body.gps-site [data-message-type]{--feedback-ink:var(--feedback-info);--feedback-bg:#f6f2eb;--feedback-line:#dbd0c0;--feedback-label:'Information';--feedback-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v6M12 7v.2'/%3E%3C/svg%3E")}
body.gps-site [data-message-type=success]{--feedback-ink:var(--feedback-success);--feedback-bg:#f0f6f1;--feedback-line:#bed5c5;--feedback-label:'Success';--feedback-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m7.5 12 3 3 6-6'/%3E%3C/svg%3E")}
body.gps-site [data-message-type=error]{--feedback-ink:var(--feedback-error);--feedback-bg:#fff3f3;--feedback-line:#e3b9c0;--feedback-label:'Please check';--feedback-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 6v7M12 17v.2'/%3E%3C/svg%3E")}
body.gps-site [data-message-type=warning]{--feedback-ink:var(--feedback-warning);--feedback-bg:#fff7e8;--feedback-line:#e2c994;--feedback-label:'Attention';--feedback-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 2 21h20L12 3zM12 9v5M12 17v.2'/%3E%3C/svg%3E")}
/* Important declarations take precedence over inherited tool-specific status colors. */
body.gps-site [data-message-type]:not(:empty){color:var(--feedback-ink)!important;font-family:var(--body)!important;line-height:1.7;overflow-wrap:anywhere}
body.gps-site [data-message-type]:not(:empty):not([data-message-layout=inline]){display:block;margin-block:16px!important;padding:18px 20px!important;border:1px solid var(--feedback-line)!important;border-inline-start:4px solid var(--feedback-ink)!important;border-radius:12px!important;background:var(--feedback-bg)!important;color:#514d47!important;font-size:14px!important;font-weight:400;box-shadow:0 3px 12px #242b3605!important}
body.gps-site [data-message-type]:not(:empty):not([data-message-layout=inline])::before{content:var(--feedback-label);display:flex;align-items:center;box-sizing:border-box;width:fit-content;min-height:32px;padding:6px 11px 6px 35px;margin-bottom:11px;border:0!important;outline:0;box-shadow:none;border-radius:6px;background:var(--feedback-icon) left 9px center/18px 18px no-repeat var(--feedback-ink);color:#fff;font:700 12px/1.6 var(--body);letter-spacing:.02em}
body.gps-site [data-message-type][data-message-layout=inline]{font-size:13px!important}
body.gps-site [data-message-type]:empty{display:none!important}
body.gps-site [data-message-type][hidden]{display:none!important}
/* A thin border marks a missing field; the message supplies the explanation. */
body.gps-site :is(input,select,textarea):focus-visible{outline:none;outline-offset:0;border-color:#b46a42;box-shadow:0 0 0 2px #c44d2015}
body.gps-site :is(input,select,textarea)[aria-invalid=true],body.gps-site .field.invalid :is(input,select,textarea){border-color:#bf5965!important}
body.gps-site :is(input,select,textarea)[aria-invalid=true]:focus-visible,body.gps-site .field.invalid :is(input,select,textarea):focus-visible{outline:none;box-shadow:0 0 0 2px #a82e4012!important}
body.gps-site .input-prefix:focus-within{border-color:#b46a42;box-shadow:0 0 0 2px #c44d2015}
body.gps-site .invalid .input-prefix,body.gps-site .input-prefix:has([aria-invalid=true]){border-color:#bf5965}
body.gps-site .invalid .input-prefix:focus-within{box-shadow:0 0 0 2px #a82e4012}
body.gps-site .input-prefix :is(input,select):focus-visible{box-shadow:none}
body.gps-site .field :is(.error,.pp-field-error),body.gps-site .pp-field-error{font:500 13px/1.65 var(--body);color:var(--feedback-error)!important;margin-top:6px}

body.gps-site :is(.field-error,.classic-field-error,.cps-field-error){color:var(--feedback-error)!important;font-size:13px;line-height:1.65}
/* Confirmation dialogs use the same surfaces and readable type as the forms. */
body.gps-site dialog{font-family:var(--body);color:#242b36;background:#fffdf9;border-color:#ded3c5;border-radius:16px}body.gps-site dialog::backdrop{background:#242b3670;backdrop-filter:blur(4px)}body.gps-site :is(#restart-dialog,#schedule-dialog,#saved-dialog) h2{font-family:var(--heading);font-size:25px;color:#242b36}body.gps-site :is(#restart-description,#schedule-description){font:400 15px/1.8 var(--body);color:#696157}body.gps-site .restart-actions button{min-height:46px;font-size:14px}body.gps-site :is(#restart-dialog,#saved-dialog) .icon-button{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid #ded3c5;border-radius:50%;background:#f3ede3;color:#34383d}

@media(max-width:520px){body.gps-site [data-message-type]:not(:empty):not([data-message-layout=inline]){padding:16px!important}}

/* Autofill uses the same warm field surface as manual entry. */
body.gps-site input:-webkit-autofill,body.gps-site input:-webkit-autofill:hover,body.gps-site input:-webkit-autofill:focus{-webkit-text-fill-color:#242b36;caret-color:#242b36;box-shadow:inset 0 0 0 1000px #fffefa!important}
body.gps-site .success-badge{color:#285b42!important;border-color:#b9d4c2!important;background:#eef6f0!important}
body.gps-site .gps-confirm-dialog{width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:25px;border:1px solid #d6c4aa;border-radius:18px;background:#fffdf8;color:#242b36;box-shadow:0 22px 70px #18212c30}
body.gps-site .gps-confirm-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
body.gps-site .gps-confirm-heading h2{margin:0;color:#242b36;font:600 27px/1.25 var(--heading);letter-spacing:-.03em}
body.gps-site .gps-confirm-close{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;padding:0;border:1px solid #ddcbb2;border-radius:50%;background:#f7eddf;color:#6b5137;font:400 25px/1 var(--body)}
body.gps-site .gps-confirm-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:22px}
body.gps-site .gps-confirm-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 17px;border:1px solid #cfb99a;border-radius:9px;background:#fffaf1;color:#6f4c2d;font:650 14px/1.5 var(--body)}
body.gps-site .gps-confirm-actions .primary{background:#bf4d25;border-color:#bf4d25;color:#fffaf3}
body.gps-site .gps-confirm-actions .secondary:hover{background:#f0e0c7}body.gps-site .gps-confirm-actions .primary:hover{background:#a53e1d;border-color:#a53e1d}
@media(max-width:420px){body.gps-site .gps-confirm-dialog{padding:21px}body.gps-site .gps-confirm-heading h2{font-size:25px}body.gps-site .gps-confirm-actions button{flex:1}}
