/* Keep private UI out of the first paint, including while the session loads. */
body:not(.gp-authenticated){background:var(--sidebar,#11182a)}
body:not(.gp-authenticated)>.app-shell{display:none}
body:not(.gp-authenticated)>.toast{display:none}
.gp-login{position:fixed;inset:0;z-index:200;background:var(--sidebar,#11182a);color:#f2f5ff;display:grid;place-items:center;min-height:100dvh;padding:24px}
.gp-login[hidden],.gp-login [hidden]{display:none!important}
.gp-login-content{display:flex;flex-direction:column;align-items:center;max-width:100%;position:relative;margin-top:-6vh}
.gp-logo,.gp-profile-circle{border:1px solid rgba(232,240,255,.45);border-radius:50%;display:grid;place-items:center;background:#f2f5ff;color:#11182a;font-weight:650;cursor:pointer;box-shadow:0 8px 32px #00000012;transition:transform .22s ease,background .22s ease,box-shadow .22s ease}
.gp-logo{width:104px;height:104px;font-size:34px;letter-spacing:-2px;padding-right:3px}
.gp-logo:hover{transform:scale(1.035)}
.gp-logo:focus-visible,.gp-profile-circle:focus-visible,.gp-enter:focus-visible{outline:2px solid #b9cbff;outline-offset:6px}
.gp-profiles{display:flex;gap:24px;margin-top:34px;animation:gp-emerge .35s ease both}
.gp-profile-circle{width:60px;height:60px;font-size:23px;background:transparent;color:#eaf0ff}
.gp-profile-circle:hover{background:#1c2741;transform:translateY(-3px)}
.gp-profile-circle[aria-pressed="true"]{background:#f2f5ff;color:#11182a;box-shadow:0 0 0 5px #ffffff10;transform:translateY(-3px)}
.gp-password-form{position:relative;width:250px;margin-top:30px;animation:gp-emerge .25s ease both}
.gp-password-form input[type="password"]{display:block;width:100%;height:46px;background:#1b2539;border:1px solid #3b485f;border-radius:24px;color:#f2f5ff;outline:none;padding:8px 46px 8px 18px;letter-spacing:.1em}
.gp-password-form input[type="password"]:focus{border-color:#a1b6dc;box-shadow:0 0 0 3px #c4d6ff12}
.gp-enter{position:absolute;right:5px;top:5px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:#dbe5fa;font-size:24px;cursor:pointer}
.gp-enter:disabled{opacity:.4;cursor:wait}
.gp-login-error{color:#efb7bb;font-size:12px;position:absolute;top:calc(100% + 16px);text-align:center;min-width:280px;max-width:90vw}
.gp-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.gp-user{gap:10px;color:var(--ink);font-size:14px}
.gp-gear{border:0;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;background:transparent;color:#68748b;cursor:pointer}
.gp-gear:hover{background:#edf1f7;color:#263a59}
.gp-settings{width:min(680px,calc(100vw - 32px));max-height:85dvh;overflow:auto;border:1px solid #e4e8f0;border-radius:18px;box-shadow:0 24px 90px #10182730;padding:28px;color:var(--ink);background:#fff}
.gp-settings::backdrop{background:#11182a70;backdrop-filter:blur(3px)}
.gp-settings h2{font-size:21px;margin:0 36px 20px 0}
.gp-dialog-close{position:absolute;right:18px;top:16px;border:0;background:#f3f5f9;border-radius:50%;width:30px;height:30px;color:#65738b;font-size:23px;cursor:pointer}
.gp-settings-menu{display:flex;flex-direction:column;gap:8px}
.gp-settings-menu>button{border:1px solid #e6eaf1;border-radius:12px;padding:15px 16px;background:#fff;color:#29364d;text-align:left;cursor:pointer}
.gp-settings-menu>button:hover{background:#f4f7fc;border-color:#cad4e5}
.gp-settings-menu>button[data-action="logout"]{margin-top:8px;color:#a13545}
.gp-settings-form{display:flex;flex-direction:column;gap:16px;margin-top:20px}
.gp-settings-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;color:#47546a}
.gp-settings-form input,.gp-settings-form select,.gp-settings-form textarea{border:1px solid #dce2ec;border-radius:9px;padding:10px 12px;background:#fff;color:#182337;font:inherit;font-weight:400;max-width:100%;resize:vertical}
.gp-settings-form .subtle{margin:-8px 0 0}
.gp-settings-form button[type="submit"]{align-self:flex-start}
.gp-form-error{color:#a32e41;font-size:13px;margin-bottom:0;white-space:pre-line}
.gp-form-error:empty{display:none}
#gp-reports-list{margin-top:20px}
.gp-report{border:1px solid #e4e8ef;border-radius:12px;padding:18px;margin-bottom:16px}
.gp-report-head{display:flex;align-items:start;justify-content:space-between;gap:12px}
.gp-report-head h3{font-size:16px;margin:0;overflow-wrap:anywhere}
.gp-report-status{display:inline-block;white-space:nowrap;border-radius:30px;padding:4px 9px;font-size:11px;background:#eef2f8;color:#4c5c73}
.gp-report-new{background:#fff3dd;color:#815a16}.gp-report-in_progress{background:#edf1ff;color:#3155a1}.gp-report-resolved{background:#e9f7ef;color:#247044}
.gp-report-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.5}
.gp-report-response{background:#f6f8fc;border-radius:9px;padding:12px;font-size:13px}
.gp-report-response p:last-child{margin-bottom:0}
.gp-report-update{border-top:1px solid #edf0f5;padding-top:16px}
@keyframes gp-emerge{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.gp-login *{animation:none!important;transition:none!important}}
@media(max-width:450px){.gp-profiles{gap:16px}.gp-profile-circle{width:52px;height:52px}.gp-settings{padding:22px}.gp-report-head{flex-direction:column}}
