.auth-page { min-height:100vh;display:grid;place-items:center;padding:24px;background:#edf4fc; }
.auth-card { width:min(100%,440px);padding:32px;background:white;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow); }
.auth-brand { color:var(--navy);font-size:1.5rem;font-weight:800;text-decoration:none; }
.auth-card h1 { margin:22px 0 6px;font-size:1.7rem; }
.auth-card .muted { margin-bottom:24px; }
.auth-card .flash { margin-top:16px; }
.auth-card label { font-size:1rem; }
.google-button { width:100%; }
.auth-divider { display:flex;align-items:center;gap:12px;color:var(--muted);margin:20px 0;font-size:.9rem; }
.auth-divider:before,.auth-divider:after { content:'';height:1px;flex:1;background:var(--line); }
.auth-switch { margin:24px 0 0;text-align:center; }
.auth-switch a { color:var(--navy); }
.account-menu { position:relative;align-self:center; }
.account-menu summary { display:grid;place-items:center;width:44px;height:44px;cursor:pointer;border-radius:50%;background:white;color:var(--navy);border:1px solid var(--line);list-style:none; }
.account-menu summary::-webkit-details-marker { display:none; }
.account-menu svg { width:24px;height:24px; }
.account-dropdown { position:absolute;right:0;top:52px;min-width:240px;max-width:85vw;z-index:100;background:white;color:var(--ink);padding:16px;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow); }
.account-dropdown strong,.account-dropdown small { display:block;overflow-wrap:anywhere; }
.account-dropdown small { color:var(--muted);margin:4px 0 12px; }
.account-dropdown a,.account-dropdown button { display:block;padding:10px 0;color:var(--navy);font:inherit;text-decoration:none;border:0;background:none;cursor:pointer; }
.profile-panel { max-width:600px; }
.hero-actions { gap:16px; }
/* Allow the account dropdown to extend below the banner. */
.brand-hero { overflow:visible; }
@media(max-width:480px) { .hero-actions { gap:8px; } .account-menu summary { width:38px;height:38px; } }

/* Build/account controls live below the primary sidebar navigation. */
.sidebar-management { padding:0 12px 20px; }
.sidebar-divider { border:0;border-top:1px solid #bed4e9;margin:0 4px 14px; }
.build-menu { position:relative; }
.build-menu > summary { display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;padding:12px 10px;border-radius:8px;color:#183f6b; }
.build-menu > summary::-webkit-details-marker { display:none; }
.build-menu > summary:hover,.build-menu[open] > summary { background:#d8ebff; }
.build-menu > summary:focus-visible { outline:2px solid #0A3D91;outline-offset:2px; }
.build-trigger-text { display:grid;gap:4px;min-width:0;flex:1; }
.build-trigger-text small { font-size:.8rem;font-weight:700; }
.build-trigger-text strong { font-size:1rem;line-height:1.3;overflow-wrap:anywhere; }
.build-trigger-text > span { font-size:.8rem;overflow-wrap:anywhere;color:#526d88; }
.build-chevron { flex:none; }
.build-menu[open] .build-chevron { transform:rotate(180deg); }
.build-popover { position:absolute;top:calc(100% + 6px);left:0;width:310px;max-width:calc(100vw - 32px);max-height:min(580px,65vh);overflow:auto;background:#fff;border:1px solid #cbdcec;border-radius:10px;box-shadow:0 12px 32px #17365430;padding:10px;z-index:30; }
.side-nav .build-popover a,.build-popover button { display:flex;align-items:center;justify-content:flex-start;gap:12px;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:0;border-radius:6px;background:transparent;color:var(--ink);font:inherit;font-size:.95rem;font-weight:500;text-align:left;text-decoration:none;cursor:pointer; }
.side-nav .build-popover a:hover,.build-popover button:hover,.build-popover button[aria-current=true] { background:#e6f1ff;color:#0A3D91; }
.build-popover a > span:first-child,.build-popover button > span:first-child,.build-popover svg { flex:0 0 22px;width:22px;height:22px;text-align:center; }
.build-popover button span:last-child { overflow-wrap:anywhere; }
.build-popover h2 { font-weight:600;font-family:inherit;font-size:.85rem;color:var(--muted);margin:12px 12px 6px; }
.build-popover hr { border:0;border-top:1px solid var(--line);margin:10px 12px; }
.build-popover form { margin:0; }
.build-choices { max-height:190px;overflow:auto; }
@media(max-width:900px) {
 .sidebar-management { padding:0 12px 10px; }
 .sidebar-divider { margin:0 0 8px; }
 .build-menu { max-width:360px; }
 .build-menu > summary { padding:8px 10px; }
 .build-trigger-text { grid-template-columns:auto 1fr;column-gap:10px;align-items:baseline; }
 .build-trigger-text > span { grid-column:1 / -1; }
 .build-popover { max-height:60vh; }
}
