:root { --v2-accent:#6b3cf5; --v2-ink:#17203a; --v2-muted:#71768a; --v2-line:#e8e9ef; --v2-bg:#f7f7fa; --v2-sidebar:224px; }
[hidden] { display:none!important; }
.v2-login { margin:0; min-height:100svh; background:var(--v2-bg); color:var(--v2-ink); font-family:Inter,"Noto Sans SC",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-tap-highlight-color:transparent; }
.v2-login-main { max-width:460px; margin:auto; padding:clamp(32px,8vh,88px) 24px 32px; }
.v2-login-brand { display:flex; align-items:center; justify-content:center; gap:20px; color:var(--v2-muted); text-decoration:none; font-size:11px; letter-spacing:.15em; }
.v2-login-brand img { width:128px; height:54px; object-fit:contain; }
.v2-login-brand span { padding-left:20px; border-left:1px solid #dcdde7; }
.v2-login-card { margin-top:36px; background:white; border:1px solid var(--v2-line); border-radius:18px; padding:36px; box-shadow:0 12px 48px #1b143207; }
.v2-login h1 { font-size:30px; letter-spacing:-.04em; margin:10px 0; }
.v2-kicker { font-size:12px; color:var(--v2-accent); font-weight:650; letter-spacing:.05em; margin:0 0 8px; }
.v2-muted { color:var(--v2-muted); font-size:14px; line-height:1.7; }
.v2-login form { margin-top:28px; }
.v2-login label,.v2-dialog label,.v2-account-form label { display:grid; gap:9px; margin-bottom:20px; color:var(--v2-ink); font-size:13px; font-weight:550; }
.v2-login input,.v2-dialog input,.v2-account-form input,.v2-account-form select { box-sizing:border-box; width:100%; min-height:46px; padding:10px 12px; font:inherit; font-size:16px; background:white; border:1px solid #dfe0e9; color:var(--v2-ink); border-radius:8px; }
.v2-login input:focus-visible,.v2-dialog input:focus-visible,.v2-account-form input:focus-visible,.v2-account-form select:focus-visible { outline:3px solid #6b3cf526; border-color:var(--v2-accent); }
.v2-button,.v2-small-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; padding:10px 16px; border:1px solid var(--v2-line); border-radius:8px; background:white; color:var(--v2-ink); font:inherit; font-size:13px; font-weight:550; cursor:pointer; text-decoration:none; touch-action:manipulation; user-select:none; }
.v2-primary { background:var(--v2-accent); border-color:var(--v2-accent); color:white; }
.v2-login [type=submit] { width:100%; justify-content:space-between; margin-top:5px; }
.v2-button:disabled,.v2-small-button:disabled { opacity:.6; cursor:wait; }
.v2-button:active,.v2-small-button:active,.v2-nav-item:active { transform:translateY(1px); }
.v2-login-help { text-align:center; font-size:12px; color:var(--v2-muted); margin:24px 0 0; }
.v2-login-foot { text-align:center; margin:30px 0; font-size:10px; letter-spacing:.16em; color:#8b8fa0; }
.v2-error { font-size:13px; color:#a92c40; line-height:1.6; }
.v2-success { font-size:13px; color:#167151; }
.v2-actions { display:flex; align-items:center; gap:8px; }
.v2-dialog { max-width:430px; width:calc(100% - 48px); box-sizing:border-box; border:1px solid var(--v2-line); border-radius:16px; padding:28px; color:var(--v2-ink); }
.v2-dialog::backdrop { background:#16152955; }
.v2-dialog h2 { font-size:22px; margin:0 0 24px; }
.v2-dialog small,.v2-account-form small { font-weight:400; font-size:12px; color:var(--v2-muted); line-height:1.6; }
.veteran-shell { padding-left:var(--v2-sidebar); color:var(--v2-ink); background:var(--v2-bg); -webkit-tap-highlight-color:transparent; }
.veteran-shell .header { margin:0; padding:0 30px; height:76px; border-bottom:1px solid var(--v2-line); background:white; }
.v2-sidebar { width:var(--v2-sidebar); position:fixed; inset:0 auto 0 0; z-index:30; background:white; border-right:1px solid var(--v2-line); padding:26px 16px; display:flex; flex-direction:column; overflow-y:auto; }
.v2-sidebar .brand { display:flex; flex-direction:column; gap:3px; align-items:flex-start; padding:0 14px; }
.v2-sidebar .brand-logo { width:122px; height:52px; object-fit:contain; }
.v2-sidebar .brand-divider { display:none; }
.v2-sidebar .brand-sub { font-size:9px; color:#858998; letter-spacing:.17em; }
.v2-nav-label { margin:42px 14px 15px; font-size:11px; color:#8b8f9e; }
.v2-nav { display:flex; flex-direction:column; gap:7px; }
.v2-nav-item { display:flex; align-items:center; justify-content:space-between; min-height:46px; width:100%; padding:12px 15px; border:0; border-radius:9px; color:#626779; background:transparent; font-size:14px; text-decoration:none; text-align:left; font-weight:500; cursor:pointer; touch-action:manipulation; }
.v2-nav-item[aria-current=page] { background:#f0ebff; color:#6035d8; font-weight:650; }
.v2-nav-item span { font-size:11px; min-width:20px; text-align:center; color:var(--v2-muted); }
.v2-sidebar-bottom { margin-top:auto; display:grid; gap:20px; padding:20px 14px 0; }
.v2-sidebar-bottom small { font-size:9px; letter-spacing:.12em; color:#969aaa; }
.v2-admin-link { color:var(--v2-muted); font-size:12px; text-decoration:none; }
.v2-mobile-admin { display:none; }
.v2-breadcrumb { font-size:13px; color:#74798a; }
.v2-profile-name { font-size:13px; font-weight:550; margin-right:8px; color:var(--v2-ink); }
.veteran-shell .header-right { display:flex; align-items:center; gap:6px; }
.v2-small-button { border:0; font-size:12px; padding:8px 10px; min-height:44px; background:transparent; color:#74798a; }
.veteran-shell main { max-width:1460px; margin:auto; padding:0 34px; }
.veteran-shell .hero { min-height:0; display:block; padding:38px 0 28px; margin:0; }
.veteran-shell .hero h1 { font-size:30px; line-height:1.4; letter-spacing:-.04em; margin:6px 0 8px; }
.veteran-shell .hero p { max-width:none; margin:0; font-size:13px; color:var(--v2-muted); line-height:1.8; }
.veteran-shell .tools-section { padding-top:0; }
.veteran-shell .creator { padding-top:28px; }
.veteran-shell .creator-heading h1 { font-size:30px; }
.veteran-shell .creator-heading .eyebrow,.veteran-shell .creator-top .pill { display:none; }
.veteran-shell .works { padding-top:30px; }
.veteran-shell .works h1 { font-size:30px; }
.veteran-shell .footer { font-size:11px; margin-top:20px; }
.v2-module-panel { padding:24px 30px 0; width:100%; box-sizing:border-box; min-width:0; }
.v2-module-bar { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:16px; }
.v2-module-bar h1 { margin:0; font-size:22px; letter-spacing:-.03em; color:var(--v2-ink); }
.v2-module-panel iframe { display:block; width:100%; height:calc(100dvh - 165px); min-height:420px; background:white; border:1px solid var(--v2-line); border-radius:10px; }
.v2-module-status { color:var(--v2-muted); font-size:13px; }
.veteran-admin .v2-module-panel,.veteran-admin .v2-accounts { margin-left:0; width:100%; padding:30px; }
.veteran-admin .v2-module-panel iframe { height:calc(100dvh - 100px); }
.v2-admin-tab { min-height:46px; }
.v2-admin-profile { display:flex; align-items:center; gap:2px; min-width:0; }
.v2-admin-profile .v2-profile-name { margin-right:6px; }
.v2-section-heading h1 { margin:5px 0; font-size:30px; }
.v2-section-heading { margin-bottom:26px; }
.v2-account-grid { display:grid; grid-template-columns:minmax(260px,370px) minmax(280px,1fr); gap:24px; align-items:start; }
.v2-account-form,.v2-user-list { padding:26px; background:white; border:1px solid var(--v2-line); border-radius:12px; }
.v2-account-grid h2 { font-size:16px; margin:0 0 24px; }
.v2-account-form [type=submit] { width:100%; }
.v2-user-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 0; border-top:1px solid #f0f0f4; }
.v2-user-row strong { display:block; font-size:13px; }
.v2-user-row small { display:block; font-size:11px; color:var(--v2-muted); margin-top:5px; overflow-wrap:anywhere; }
.v2-role { font-size:11px; color:#6943ba; background:#f3effc; padding:5px 9px; border-radius:5px; white-space:nowrap; }
:is(.v2-button,.v2-small-button,.v2-nav-item,.v2-admin-link):focus-visible { outline:3px solid #6b3cf5; outline-offset:3px; }
@media(hover:hover) and (pointer:fine) { .v2-nav-item:hover { background:#f5f2fc; } .v2-small-button:hover { color:var(--v2-accent); background:#f4f0fc; } .v2-primary:hover { background:#5c30de; } }
@media(max-width:1000px) { .v2-account-grid { grid-template-columns:1fr; } }
@media(max-width:760px) {
  .veteran-shell { padding-left:0; padding-bottom:calc(74px + env(safe-area-inset-bottom)); }
  .v2-sidebar { top:auto; right:0; width:100%; bottom:0; height:auto; padding:7px 6px calc(7px + env(safe-area-inset-bottom)); border-right:0; border-top:1px solid var(--v2-line); }
  .v2-sidebar>.brand,.v2-sidebar>.v2-nav-label,.v2-sidebar-bottom { display:none; }
  .v2-mobile-admin { display:inline-flex; }
  .v2-nav { flex-direction:row; justify-content:space-around; gap:2px; }
  .v2-nav-item { flex:1; padding:12px 4px; justify-content:center; width:auto; min-width:0; font-size:12px; white-space:nowrap; }
  .v2-nav-item span { display:none; }
  .veteran-shell .header { height:66px; padding:0 16px; }
  .veteran-shell .header-right { display:flex!important; gap:0; }
  .veteran-shell .header-right>.v2-profile-name { display:block; max-width:60px; }
  .v2-profile-name { font-size:12px; max-width:84px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .v2-breadcrumb { font-size:12px; }
  .v2-small-button { font-size:11px; padding:8px; }
  .veteran-shell main { padding:0 18px; }
  .veteran-shell .hero { padding:26px 0 22px; }
  .veteran-shell .hero h1,.veteran-shell .creator-heading h1 { font-size:25px; }
  .v2-module-panel { padding:18px 12px 0; }
  .v2-module-bar { gap:6px; margin-bottom:8px; }
  .v2-module-bar h1 { font-size:18px; }
  .v2-module-panel iframe { height:calc(100dvh - 204px - env(safe-area-inset-bottom)); min-height:360px; }
  .veteran-admin .v2-module-panel,.veteran-admin .v2-accounts { margin-left:0; width:100%; padding:18px; }
  .veteran-admin .v2-module-panel iframe { height:calc(100dvh - 160px); }
  .v2-login-card { padding:26px; }
  .v2-actions { flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) { .v2-button:active,.v2-small-button:active,.v2-nav-item:active { transform:none; } }

.veteran-shell .hero.home-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 0 22px}.home-heading h1{margin:0!important}.recent-work{display:flex;align-items:center;gap:14px;min-height:48px;max-width:45%;padding:10px 14px;border:1px solid #ded9e8;border-radius:8px;background:white;color:#17203a;font:inherit;font-size:13px;cursor:pointer;touch-action:manipulation}.recent-work>span{color:#6948bb;flex-shrink:0}.recent-work strong{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-work svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}.recent-work:focus-visible{outline:3px solid #987be5;outline-offset:3px}.tool-footer{color:#64677b!important}.veteran-shell .works .section-heading{align-items:center;margin:0 0 24px}.veteran-shell .works .section-heading h1{margin:0;min-width:0;overflow-wrap:anywhere}.veteran-shell .works .back-button{min-height:44px;margin-bottom:16px;color:#626779}.veteran-shell .works .section-heading>.button{min-height:44px;flex-shrink:0}@media(max-width:760px){.veteran-shell .hero.home-heading{display:block;padding:22px 0 18px}.recent-work{margin-top:16px;max-width:100%;width:100%;justify-content:space-between}.recent-work strong{flex:1;text-align:left}.veteran-shell .works .section-heading{gap:16px}.veteran-shell .works h1{font-size:23px}.veteran-shell .works .section-heading>.button{font-size:13px;padding:10px 14px}}

.tool-footer:has(#home-status:empty){display:none}.veteran-shell .works{padding-top:28px}
