/* A&G public login — v3 / calm light workspace */
body.ag-public{
    min-height:100vh;
}
body.ag-public .page-shell-public{
    width:min(1160px,calc(100% - 48px));
    min-height:100vh;
    display:grid;
    grid-template-rows:auto 1fr auto;
    padding:26px 0 20px;
}
body.ag-public .topbar-public{
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    min-height:68px;
    padding:0 0 18px;
    border-bottom:1px solid var(--line-soft);
}
body.ag-public .topbar-public .brand{
    margin:0 auto;
    justify-content:center;
}
body.ag-public .topbar-public .brand-mark{
    width:48px;
    height:42px;
}
body.ag-public .topbar-public .brand-copy{
    gap:4px;
    text-align:left;
}
body.ag-public .topbar-public .brand-copy strong{
    font-size:13px;
    letter-spacing:.26em;
    font-weight:500;
}
body.ag-public .topbar-public .brand-copy span{
    display:block !important;
    font-size:7px;
    letter-spacing:.30em;
}
body.ag-public .topbar-public .ag-theme-wrap{
    position:absolute;
    right:0;
    top:5px;
    margin:0;
}
body.ag-public .topbar-public .ag-theme-label{display:none}
body.ag-public .topbar-public .ag-theme-select{
    min-width:86px;
    padding:8px 26px 8px 11px;
    border-radius:999px;
    font-size:10px;
    border:1px solid var(--line-soft);
    background:rgba(255,255,255,.78);
}
body.ag-public .public-main{
    min-height:0;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:70px 0 90px;
}
body.ag-public .public-splash{
    width:min(660px,100%);
    min-height:410px;
    margin:0 auto;
    padding:58px 54px 52px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #dde2e8;
    box-shadow:0 18px 55px rgba(30,45,64,.07);
    clip-path:none;
    border-radius:14px;
    overflow:hidden;
    position:relative;
}
body.ag-public .public-splash:before{
    content:"";
    position:absolute;
    width:320px;
    height:320px;
    top:-210px;
    left:50%;
    transform:translateX(-50%);
    border-radius:50%;
    background:rgba(79,101,132,.055);
    filter:blur(2px);
    pointer-events:none;
}
body.ag-public .public-splash:after{
    content:"";
    position:absolute;
    left:50%;
    bottom:0;
    width:72px;
    height:2px;
    transform:translateX(-50%);
    background:currentColor;
    opacity:.12;
}
body.ag-public .public-splash-inner{
    position:relative;
    z-index:1;
    width:min(100%,540px);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
}
body.ag-public .public-splash .eyebrow{
    margin-bottom:22px;
    font-size:8px;
    letter-spacing:.30em;
    text-transform:uppercase;
    color:#7b8694;
}
body.ag-public .public-splash h1{
    margin:0;
    max-width:520px;
    font-size:clamp(34px,4vw,46px);
    line-height:1.09;
    font-weight:300;
    letter-spacing:.005em;
    text-align:center;
}
body.ag-public .public-lead{
    margin:20px 0 0;
    max-width:460px;
    font-size:11px;
    line-height:1.7;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#7c8794;
}
body.ag-public .public-actions{
    width:100%;
    margin-top:32px;
    display:flex;
    align-items:center;
    justify-content:center;
}
body.ag-public .public-google-wrap{
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
}
body.ag-public .public-signature{
    margin-top:28px;
    padding-top:18px;
    width:150px;
    border-top:1px solid #e0e5ea;
    font-size:7px;
    letter-spacing:.34em;
    color:#8a94a0;
    text-align:center;
}
body.ag-public .public-warning{
    border:1px solid #d9dee5;
    background:#fff;
    padding:13px 17px;
    border-radius:8px;
    font-size:12px;
    color:#455160;
}
body.ag-public .public-footer{
    margin:0;
    padding:16px 0 0;
    justify-content:center;
    gap:12px;
    text-align:center;
    border-top:1px solid var(--line-soft);
    font-size:7px;
    letter-spacing:.26em;
    text-transform:uppercase;
}
body.ag-public .public-footer span:last-child:before{
    content:"·";
    margin-right:12px;
}

/* Light: calm, ordinary internal-workspace look. */
html[data-ag-theme="light"] body.ag-public{
    background:
      radial-gradient(circle at 50% 36%,rgba(105,126,154,.055),transparent 32%),
      linear-gradient(180deg,#f8f9fb 0%,#f3f5f7 100%);
    color:#1d2630;
}
html[data-ag-theme="light"] body.ag-public .public-splash{
    background:rgba(255,255,255,.92);
}
html[data-ag-theme="light"] body.ag-public .topbar-public .brand-mark{filter:invert(1)}

/* Dark: same restrained layout, no neon/hacker look. */
html[data-ag-theme="dark"] body.ag-public{
    background:
      radial-gradient(circle at 50% 34%,rgba(255,255,255,.035),transparent 30%),
      #111315;
}
html[data-ag-theme="dark"] body.ag-public .public-splash{
    background:#17191c;
    border-color:rgba(255,255,255,.11);
    box-shadow:0 20px 60px rgba(0,0,0,.24);
}
html[data-ag-theme="dark"] body.ag-public .public-splash:before{
    background:rgba(255,255,255,.025);
}
html[data-ag-theme="dark"] body.ag-public .public-splash .eyebrow,
html[data-ag-theme="dark"] body.ag-public .public-lead,
html[data-ag-theme="dark"] body.ag-public .public-signature{
    color:#9ca5af;
}
html[data-ag-theme="dark"] body.ag-public .public-signature{
    border-color:rgba(255,255,255,.12);
}
html[data-ag-theme="dark"] body.ag-public .topbar-public .ag-theme-select{
    background:#17191c;
}

@media(max-width:700px){
    body.ag-public .page-shell-public{
        width:min(100% - 24px,1160px);
        padding-top:14px;
    }
    body.ag-public .topbar-public{
        min-height:62px;
        padding-bottom:12px;
    }
    body.ag-public .topbar-public .brand-mark{
        width:42px;
        height:36px;
    }
    body.ag-public .topbar-public .brand-copy span{display:none !important}
    body.ag-public .topbar-public .ag-theme-wrap{top:3px}
    body.ag-public .public-main{padding:34px 0 48px}
    body.ag-public .public-splash{
        min-height:390px;
        padding:44px 24px 40px;
        border-radius:12px;
    }
    body.ag-public .public-splash h1{
        font-size:32px;
        line-height:1.10;
    }
    body.ag-public .public-splash .eyebrow{margin-bottom:18px}
    body.ag-public .public-actions{margin-top:28px}
    body.ag-public .public-footer{flex-direction:row;line-height:1.5}
}
