@font-face{font-family:Open Sauce Two;font-style:normal;font-display:swap;font-weight:400;src:url(../media/open-sauce-two-latin-400-normal.245kx_74kf9ah.woff2)format("woff2"),url(../media/open-sauce-two-latin-400-normal.29k0wsoj-4rbp.woff)format("woff")}
@font-face{font-family:Open Sauce Two;font-style:normal;font-display:swap;font-weight:500;src:url(../media/open-sauce-two-latin-500-normal.3hr6_29be8g_t.woff2)format("woff2"),url(../media/open-sauce-two-latin-500-normal.3ifhmjajg774d.woff)format("woff")}
@font-face{font-family:Open Sauce Two;font-style:normal;font-display:swap;font-weight:600;src:url(../media/open-sauce-two-latin-600-normal.2_50elslsm93k.woff2)format("woff2"),url(../media/open-sauce-two-latin-600-normal.0rs7l-jmv0j-p.woff)format("woff")}
@font-face{font-family:Open Sauce Two;font-style:normal;font-display:swap;font-weight:700;src:url(../media/open-sauce-two-latin-700-normal.29lelp4d7ww-g.woff2)format("woff2"),url(../media/open-sauce-two-latin-700-normal.1a4e2l225227b.woff)format("woff")}
:root{--background:#fcfcfd;--foreground:#101828;--surface:#fff;--primary:#255bfa;--primary-strong:#1d48da;--primary-subtle:#eff4ff;--secondary:#072b94;--muted:#f2f4f7;--muted-foreground:#667085;--border:#e5e7eb;--destructive:#d92d20;--radius:12px;--control-height:40px}*{box-sizing:border-box}html{background:var(--background);color:var(--foreground)}body{min-height:100vh;margin:0;font-family:Open Sauce Two,ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:1.5}button,input{font:inherit}button{cursor:pointer}a{color:inherit}:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 28%, transparent);outline-offset:2px}.brand-mark{align-items:center;gap:12px;display:inline-flex}.brand-mark img{width:112px;height:auto;display:block}.brand-product{border-left:1px solid var(--border);color:var(--muted-foreground);letter-spacing:.08em;padding-left:12px;font-size:13px;font-weight:600}.login-shell{background:var(--background);place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--border);background:var(--surface);border-radius:20px;justify-items:center;gap:48px;width:min(100%,400px);padding:48px 40px;display:grid}.login-panel .brand-mark img{width:146px}.login-panel .brand-product{font-size:14px}.login-action{justify-items:center;gap:16px;width:100%;display:grid}.google-button-wrap{width:min(100%,320px);min-height:44px;margin:0 auto;position:relative}.google-slot{z-index:1;min-height:44px;position:relative}.google-button-placeholder{border:1px solid var(--border);background:var(--surface);border-radius:4px;position:absolute;inset:0}.google-button-placeholder:after{content:"";background:var(--muted);border-radius:4px;height:12px;position:absolute;top:16px;left:52px;right:52px}.dev-bypass{gap:12px;width:min(100%,320px);display:grid}.dev-bypass-divider{color:var(--muted-foreground);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:12px;font-size:11px;font-weight:600;display:flex}.dev-bypass-divider:before,.dev-bypass-divider:after{content:"";background:var(--border);flex:1;height:1px}.dev-bypass-button{width:100%}h1{margin:0;font-size:20px;font-weight:600;line-height:1.4}.login-action .error-message{text-align:center;max-width:320px;margin:12px auto 0}.app-shell{min-height:100vh}.logout{color:var(--muted-foreground);white-space:nowrap;background:0 0;border:0;padding:0;font-size:13px}.logout:hover{color:var(--foreground)}.main{min-width:0}.topbar{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex}.topbar .brand-mark img{width:96px}.user-chip{align-items:center;gap:12px;font-size:13px;display:flex}.user-avatar{background:var(--primary-subtle);width:30px;height:30px;color:var(--secondary);border-radius:50%;place-items:center;font-size:11px;font-weight:600;display:grid}.page-content{width:min(100%,720px);margin:0 auto;padding:40px 24px 64px}.page-header{text-align:center;margin-bottom:24px}.page-header h1{letter-spacing:0;font-size:20px;line-height:1.4}.page-header p{color:var(--muted-foreground);margin:6px 0 0;font-size:13px}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.card-header{border-bottom:1px solid var(--border);padding:20px}.card-header h2{margin:0;font-size:16px;font-weight:500}.card-header p{color:var(--muted-foreground);margin:6px 0 0;font-size:13px}.card-body{padding:20px}.command-tabs{background:var(--muted);border-radius:9px;gap:4px;margin-bottom:12px;padding:4px;display:flex}.tab{height:32px;color:var(--muted-foreground);background:0 0;border:0;border-radius:6px;flex:1;font-size:12px}.tab.active{background:var(--surface);color:var(--foreground);font-weight:500}.command-box{color:#e4e7ec;overflow-wrap:anywhere;background:#101828;border-radius:10px;min-height:118px;padding:16px 52px 16px 16px;font:12px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;position:relative}.copy-button{color:#fff;background:#ffffff0d;border:1px solid #ffffff2b;border-radius:7px;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:12px;right:12px}.copy-button svg{width:14px}.button{height:var(--control-height);background:var(--primary);color:#fff;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:13px;font-weight:500;display:inline-flex}.button:hover{background:var(--primary-strong)}.button:active{opacity:.9}.button.outline{border-color:var(--border);background:var(--surface);color:var(--foreground)}.button.outline:hover{background:var(--muted)}.button:disabled{opacity:.55;cursor:wait}.grant-meta{color:var(--muted-foreground);justify-content:space-between;align-items:center;margin-top:14px;font-size:11px;display:flex}.error-message{color:var(--destructive);margin-top:12px;font-size:12px}@media (max-width:600px){.login-shell{padding:16px}.login-panel{gap:40px;padding:40px 24px}.topbar{padding:0 16px}.page-content{padding:28px 16px 48px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
