:root{--jsga-blue:#1a73e8;--jsga-text:#1f2937;--jsga-muted:#6b7280;--jsga-line:#e5e7eb}
/* 9-dot launcher is anchored inside the real site header and positioned from the detected logo. */
.jsga-global{position:fixed;top:12px;right:18px;z-index:999980;display:flex;gap:6px;align-items:center;font-family:Arial,sans-serif}.admin-bar .jsga-global{top:44px}
.jsga-header-launcher-host{position:absolute!important;transform:translateY(-50%)!important;display:flex!important;align-items:center!important;z-index:999980!important;pointer-events:auto!important;line-height:1!important}.jsga-is-header-anchored{pointer-events:none}.jsga-is-header-anchored .jsga-nine{pointer-events:auto}
.jsga-nine,.jsga-avatar-button{border:0;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.12);cursor:pointer}.jsga-nine{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 42px!important;padding:0!important;margin:0!important;line-height:0!important;appearance:none!important}.jsga-dots{width:20px!important;height:20px!important;display:grid!important;grid-template-columns:repeat(3,4px)!important;grid-template-rows:repeat(3,4px)!important;gap:4px!important;align-content:center!important;justify-content:center!important;place-content:center!important;margin:0!important;padding:0!important;line-height:0!important}.jsga-dots i{display:block!important;width:4px!important;height:4px!important;min-width:4px!important;min-height:4px!important;background:#374151!important;border-radius:50%!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important}
.jsga-avatar-button{height:44px;border-radius:24px;display:flex;align-items:center;gap:7px;padding:3px 10px 3px 4px}.jsga-avatar,.jsga-big-avatar{border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#4f79d8,#77a2ff);color:#fff;display:grid;place-items:center;font-weight:700}.jsga-avatar{width:36px;height:36px}.jsga-big-avatar{width:70px;height:70px;margin:0 auto 8px;font-size:22px}.jsga-avatar img,.jsga-big-avatar img{width:100%;height:100%;object-fit:cover}.jsga-person{font-size:13px;font-weight:700;color:var(--jsga-text);max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jsga-caret{font-size:11px;color:#6b7280}
.jsga-popover{position:fixed;z-index:999990;background:#fff;border:1px solid var(--jsga-line);box-shadow:0 20px 60px rgba(22,35,58,.22);font-family:Arial,sans-serif;color:var(--jsga-text)}
.jsga-apps-panel{top:66px;left:auto;right:65px;width:392px;max-width:calc(100vw - 28px);border-radius:24px;padding:14px;max-height:78vh;overflow:auto}.admin-bar .jsga-account-panel{top:98px}
.jsga-launcher-identity{display:flex;align-items:center;min-height:58px;padding:4px 5px 10px;border-bottom:1px solid var(--jsga-line);margin-bottom:7px}.jsga-launcher-user{display:flex;align-items:center;gap:9px;min-width:0;flex:1;border:0;background:transparent;text-align:left;cursor:pointer;padding:2px;text-decoration:none!important;color:inherit!important}.jsga-launcher-avatar{width:38px;height:38px;flex:0 0 38px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,#4f79d8,#77a2ff);color:#fff;font-weight:800}.jsga-launcher-avatar img{width:100%;height:100%;object-fit:cover}.jsga-launcher-person{display:block;min-width:0}.jsga-launcher-person strong,.jsga-launcher-person small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jsga-launcher-person strong{font-size:12px;color:#263244}.jsga-launcher-person small{font-size:9px;color:#7b8493;margin-top:2px}.jsga-launcher-logout{margin-left:auto;border:0;background:#fff1f0;color:#d93025!important;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;text-decoration:none!important;cursor:pointer;font-size:17px}.jsga-visitor-state,.jsga-guest-state{display:flex;align-items:center;gap:9px;width:100%}.jsga-visitor-state>span{min-width:0;flex:1}.jsga-visitor-state strong,.jsga-visitor-state small{display:block}.jsga-visitor-state strong{font-size:12px}.jsga-visitor-state small{font-size:9px;color:#7b8493;margin-top:2px}.jsga-mini-login{border:0;border-radius:11px;background:#e8f0fe;color:#185abc;padding:8px 10px;font-size:10px;font-weight:800;cursor:pointer;white-space:nowrap}
.jsga-pop-title{display:flex;justify-content:space-between;padding:4px 5px 10px;font-size:14px}.jsga-pop-title span{color:#8a93a2;font-size:11px}
.jsga-app-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px 6px}.jsga-app{border:0;background:#fff;border-radius:16px;padding:11px 3px;cursor:pointer;text-align:center;text-decoration:none!important;color:#283244!important;min-width:0}.jsga-app:hover{background:#f5f8fc}.jsga-app-icon{width:48px;height:48px;border-radius:16px;margin:0 auto 7px;display:grid;place-items:center;background:#eef3f9;font-size:22px}.jsga-app>span:last-child{font-size:10px;font-weight:700;display:block;line-height:1.2;overflow-wrap:anywhere}.jsga-google-mail-icon{background:#fff!important;border:1px solid #e6e8ec}.jsga-google-g{font-size:25px;font-weight:900;font-family:Arial,sans-serif;background:conic-gradient(from -45deg,#4285f4 0 25%,#34a853 25% 45%,#fbbc05 45% 65%,#ea4335 65% 82%,#4285f4 82% 100%);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}.jsga-email-check{font-size:10px;color:#8a93a2;margin-top:5px}.jsga-email-check.is-valid{color:#067647;font-weight:700}
.jsga-account-panel{right:14px;top:66px;width:355px;max-width:calc(100vw - 28px);border-radius:24px;overflow:hidden}.jsga-account-head{text-align:center;background:#fbfcfe;padding:18px}.jsga-account-head strong,.jsga-account-head small{display:block}.jsga-account-head small{margin-top:4px;color:var(--jsga-muted);font-size:12px}.jsga-view-switch{margin:12px 14px 5px;border:1px solid var(--jsga-line);border-radius:15px;padding:7px;display:grid;grid-template-columns:1fr 1fr;gap:7px}.jsga-view-switch button{border:0;border-radius:11px;background:#f4f6f9;padding:10px;cursor:pointer;font-weight:700}.jsga-view-switch button.is-active{background:#e8f0fe;color:#185abc}.jsga-view-note{font-size:10px;color:#7b8493;padding:0 18px 8px;text-align:center}.jsga-view-menu{padding:3px 10px 10px}.jsga-view-menu a,.jsga-account-foot a{display:flex;align-items:center;gap:10px;padding:12px;border-radius:12px;text-decoration:none!important;color:#263244!important;font-size:13px}.jsga-view-menu a:hover,.jsga-account-foot a:hover{background:#f5f7fa}.jsga-view-menu em{margin-left:auto;font-style:normal;font-size:9px;color:#a15c00;background:#fff4df;padding:3px 6px;border-radius:8px}.jsga-account-foot{border-top:1px solid var(--jsga-line);padding:7px 10px}.jsga-account-foot a{color:#d93025!important;font-weight:700}
.jsga-modal-backdrop,.jsga-entry-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.42);z-index:999995}.jsga-modal{position:fixed;z-index:999999;left:50%;top:50%;transform:translate(-50%,-50%);width:430px;max-width:calc(100vw - 28px);background:#fff;border-radius:22px;box-shadow:0 24px 80px rgba(0,0,0,.28);font-family:Arial,sans-serif}.jsga-modal-head{display:flex;justify-content:space-between;align-items:center;padding:15px 17px;border-bottom:1px solid var(--jsga-line)}.jsga-modal-head button,.jsga-entry-close{border:0;background:#f2f4f7;border-radius:50%;width:32px;height:32px;font-size:19px;cursor:pointer}.jsga-modal-body{padding:17px}.jsga-modal-body label{display:block;font-size:12px;font-weight:700;margin:10px 0 6px}.jsga-modal-body textarea{width:100%;border:1px solid #dfe4ec;border-radius:13px;padding:10px;font:inherit;font-size:12px}.jsga-modal-body small{display:block;color:#7a8390;font-size:10px;margin-top:4px}.jsga-primary{border:0;background:var(--jsga-blue);color:#fff!important;border-radius:13px;padding:12px 15px;font-weight:700;cursor:pointer;text-decoration:none!important;display:inline-block;text-align:center}.jsga-modal .jsga-primary{width:100%;margin-top:12px}.jsga-share-links{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.jsga-share-links a,.jsga-share-links button{border:0;background:#f5f7fa;border-radius:12px;padding:11px 5px;text-align:center;text-decoration:none!important;color:#344054!important;font-size:11px;font-weight:700;cursor:pointer}.jsga-status{font-size:11px;margin-top:9px}.jsga-status.is-error{color:#b42318}.jsga-status.is-ok{color:#067647}
.jsga-entry-backdrop{display:grid;place-items:center;padding:clamp(10px,2vw,20px);overflow-y:auto;overscroll-behavior:contain}.jsga-entry{position:relative;background:#fff;width:min(650px,calc(100vw - 24px));max-width:650px;max-height:calc(100dvh - 24px);overflow-y:auto;overflow-x:hidden;border-radius:24px;padding:clamp(18px,3vw,25px);box-sizing:border-box;box-shadow:0 24px 80px rgba(0,0,0,.25);font-family:Arial,sans-serif;color:var(--jsga-text);scrollbar-width:thin}.jsga-entry-close{position:absolute;right:14px;top:14px;display:grid;place-items:center;padding:0;line-height:1;z-index:2}.jsga-entry h2{text-align:center;margin:5px 40px 6px;font-size:clamp(21px,3vw,28px);line-height:1.18}.jsga-entry>p{text-align:center;color:var(--jsga-muted);font-size:clamp(11px,1.7vw,13px);margin:12px 0 0}.jsga-role-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.jsga-role-cards button{border:1px solid var(--jsga-line);background:#fff;border-radius:16px;padding:16px 10px;cursor:pointer;min-height:126px;min-width:0;box-sizing:border-box}.jsga-role-cards button.is-selected{border:2px solid var(--jsga-blue);background:#f7fbff}.jsga-role-cards b,.jsga-role-cards strong,.jsga-role-cards span{display:block}.jsga-role-cards b{font-size:25px;margin-bottom:9px;line-height:1}.jsga-role-cards strong{font-size:14px;line-height:1.2}.jsga-role-cards span{font-size:10px;line-height:1.35;color:var(--jsga-muted);margin-top:5px}.jsga-entry-actions{text-align:center}.jsga-google{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:46px;box-sizing:border-box;border:1px solid #dce1e8;border-radius:13px;padding:12px;text-decoration:none!important;color:#202124!important;font-weight:700}.jsga-g{font-size:18px;font-weight:800;color:#4285f4}.jsga-guest{width:100%}[hidden]{display:none!important}
@media(max-width:720px){.jsga-entry{width:min(620px,calc(100vw - 20px));border-radius:20px}.jsga-role-cards{gap:8px}.jsga-role-cards button{padding:13px 8px;min-height:112px}.jsga-role-cards strong{font-size:13px}}
@media(max-width:560px){.jsga-entry-backdrop{place-items:start center;padding:10px}.jsga-entry{width:100%;max-width:100%;max-height:calc(100dvh - 20px);margin:auto 0;border-radius:18px;padding:18px 14px 14px}.jsga-entry-close{right:10px;top:10px;width:30px;height:30px}.jsga-entry h2{font-size:21px;margin:4px 34px 5px}.jsga-entry>p{font-size:11px;margin-top:8px}.jsga-role-cards{grid-template-columns:1fr;gap:8px;margin:14px 0}.jsga-role-cards button{display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;min-height:64px;padding:9px 11px;text-align:left;border-radius:14px}.jsga-role-cards b{grid-row:1/3;grid-column:1;font-size:24px;margin:0;text-align:center}.jsga-role-cards strong{grid-column:2;grid-row:1;font-size:13px;align-self:end}.jsga-role-cards span{grid-column:2;grid-row:2;margin:2px 0 0;font-size:9px;align-self:start}.jsga-google{min-height:44px;padding:10px 12px;font-size:13px}.jsga-global{top:7px;right:8px}.admin-bar .jsga-global{top:53px}.jsga-person{max-width:75px}.jsga-apps-panel,.jsga-account-panel{max-width:calc(100vw - 16px)}.jsga-account-panel{right:8px;top:58px}.admin-bar .jsga-account-panel{top:104px}.jsga-app-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 3px}.jsga-app{padding:9px 1px}.jsga-app-icon{width:44px;height:44px;font-size:20px}.jsga-app>span:last-child{font-size:9px}}
@media(max-height:620px){.jsga-entry-backdrop{place-items:start center;padding-block:8px}.jsga-entry{max-height:calc(100dvh - 16px);padding-top:16px;padding-bottom:14px}.jsga-entry h2{font-size:20px}.jsga-entry>p{margin-top:6px}.jsga-role-cards{margin:10px 0}.jsga-role-cards button{min-height:82px;padding:9px 7px}.jsga-role-cards b{font-size:20px;margin-bottom:5px}.jsga-role-cards span{font-size:9px}.jsga-google{min-height:42px;padding:9px}}
@media(max-width:380px){.jsga-person{display:none}.jsga-entry{padding-inline:11px}.jsga-entry h2{font-size:19px}.jsga-role-cards button{grid-template-columns:34px minmax(0,1fr);column-gap:8px;padding:8px 9px}.jsga-role-cards b{font-size:21px}.jsga-google{font-size:12px}}
