/* Legal pages use the same quiet, white-and-blue visual language as 2CENTES. */
.legal-page{margin:0;background:#f5f9fe;color:#17395f;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.65;font-synthesis:none}
.legal-page *{box-sizing:border-box}
.legal-page a{color:#006ccb;text-decoration:none;text-underline-offset:3px}
.legal-page a:hover{text-decoration:underline}
.legal-page a:focus-visible,.app-legal-links a:focus-visible{outline:3px solid #1687ee;outline-offset:4px;border-radius:3px}
.legal-header{max-width:1080px;margin:0 auto;padding:24px 20px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.legal-brand{display:inline-flex;align-items:center;gap:3px;color:#0c2e60!important;white-space:nowrap;text-decoration:none!important}
.legal-brand b{font-size:45px;line-height:1;letter-spacing:-3px;padding-right:3px;background:linear-gradient(#5c9dd8,#124b88);background-clip:text;color:transparent}
.legal-brand>span{font-size:23px;font-weight:800;line-height:1;letter-spacing:-.7px}
.legal-brand small{display:block;margin-top:4px;font-size:8px;font-weight:400;letter-spacing:0;line-height:1.4}
.legal-home{min-height:40px;display:inline-flex;align-items:center;padding:8px 12px;border:1px solid #cbdff4;border-radius:9px;background:#fff;font-size:12px;font-weight:500;text-align:center}
.legal-layout{max-width:1080px;margin:0 auto;padding:8px 20px 32px;display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:start}
.legal-toc{position:sticky;top:20px;padding:20px 16px;background:#fff;border:1px solid #e0e9f4;border-radius:12px;min-width:0}
.legal-toc h2,.legal-toc h3{margin:0 0 12px;color:#547393;font-size:12px;font-weight:600;line-height:1.45}
.legal-toc nav{display:grid;gap:4px}
.legal-toc a{display:block;padding:8px 9px;min-height:36px;border-radius:7px;color:#416384;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.legal-toc a:hover{background:#f0f7ff;color:#006ccb;text-decoration:none}
.legal-document{min-width:0;padding:30px;background:#fff;border:1px solid #e0e9f4;border-radius:14px}
.legal-kicker{margin:0 0 8px;color:#6c87a5;font-size:11px;font-weight:600;letter-spacing:.04em}
.legal-document h1{margin:0 0 10px;color:#133565;font-size:24px;line-height:1.3;letter-spacing:-.4px;overflow-wrap:anywhere}
.legal-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin:0 0 20px;color:#69839d;font-size:12px;line-height:1.5}
.legal-status{display:block;margin:0 0 20px;padding:14px 16px;background:#edf5ff;color:#446c95;border:1px solid #dbe9f7;border-radius:9px;font-size:12px;font-weight:400}
.legal-status>strong{display:block;margin-bottom:6px}
.legal-toc nav>strong{font-size:12px;font-weight:600;margin-bottom:10px;color:#547393}
.legal-summary{margin:0 0 24px;padding:16px 18px;background:#f0f7ff;border:1px solid #daeafa;border-radius:10px;color:#355c81;font-size:13px}
.legal-summary p{margin:0}
.legal-summary p+p{margin-top:10px}
.legal-document section{margin-top:28px;padding-top:22px;border-top:1px solid #e7eef7;scroll-margin-top:24px}
.legal-document h2{margin:0 0 12px;color:#234b77;font-size:17px;line-height:1.4;font-weight:600}
.legal-document h3{margin:20px 0 8px;font-size:14px;line-height:1.5;font-weight:600;color:#34597c}
.legal-document p{margin:0 0 12px;overflow-wrap:anywhere}
.legal-document p:last-child{margin-bottom:0}
.legal-document ul,.legal-document ol{margin:10px 0 16px;padding-left:21px}
.legal-document li{padding-left:2px;margin:7px 0;overflow-wrap:anywhere}
.legal-document strong{font-weight:600}
.legal-document code{font-size:.93em;overflow-wrap:anywhere}
.legal-pending{margin:18px 0;padding:16px 18px;border:1px solid #e6d8b8;border-radius:10px;background:#fffcf5;color:#67573a;font-size:13px}
.legal-pending h2,.legal-pending h3{color:#67573a}
.legal-pending ul:last-child{margin-bottom:0}
.legal-table-scroll{max-width:100%;overflow-x:auto;margin:14px 0 20px;border:1px solid #e0e9f4;border-radius:9px}
.legal-table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.55}
.legal-table th,.legal-table td{padding:12px;text-align:left;vertical-align:top;border-bottom:1px solid #e4edf7;overflow-wrap:anywhere}
.legal-table th{background:#f3f8ff;color:#537495;font-size:11px;font-weight:600}
.legal-table th:first-child,.legal-table td:first-child{width:30%;overflow-wrap:normal;word-break:normal}
.legal-table caption{padding:10px 12px;text-align:left;color:#69839d;font-size:11px}
.legal-table tbody tr:last-child td{border-bottom:0}
.legal-table td p{margin-bottom:7px}
.legal-footer{max-width:1080px;margin:0 auto;padding:0 20px 28px;display:flex;align-items:center;justify-content:space-between;gap:12px 24px;color:#6d86a0;font-size:11px;flex-wrap:wrap}
.legal-footer nav{display:flex;flex-wrap:wrap;gap:4px 18px}
.legal-footer a{display:inline-flex;align-items:center;min-height:40px}
/* Footer links remain separate from form controls and always open a new tab. */
.app-legal-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 16px;font-size:11px;line-height:1.5}
.app-legal-links a{display:inline-flex;align-items:center;min-height:36px;color:#527599;text-decoration:none;text-underline-offset:3px}
.app-legal-links a:hover{text-decoration:underline;color:#006ccb}
.auth-footer{align-items:center;flex-wrap:wrap}
.main-footer{align-items:center;gap:6px 20px}
.family-portal-footer{display:flex;align-items:center;justify-content:space-between;gap:8px 24px;flex-wrap:wrap}
.footer.wrap{flex-wrap:wrap;gap:16px 22px}
.footer.wrap nav{flex-wrap:wrap;align-items:center;gap:8px 20px}
.footer.wrap .app-legal-links{width:100%;order:4;justify-content:flex-end;border-top:1px solid #edf3f9;padding-top:8px}
@media(max-width:800px){
 .legal-header{padding:20px}
 .legal-layout{grid-template-columns:minmax(0,1fr);gap:16px}
 .legal-toc{position:static;padding:15px}
 .legal-toc nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px}
 .legal-document{padding:25px}
}
@media(max-width:480px){
 .legal-page{font-size:14px}
 .legal-header{gap:12px;padding:19px 16px}
 .legal-brand b{font-size:39px}
 .legal-brand>span{font-size:20px}
 .legal-brand small{font-size:7px}
 .legal-home{max-width:130px;font-size:11px;padding:8px 10px}
 .legal-layout{padding:0 12px 24px}
 .legal-toc{padding:13px}
 .legal-toc nav{gap:3px 8px}
 .legal-toc a{font-size:11px;padding:8px 6px;min-height:40px}
 .legal-document{padding:21px 18px;border-radius:12px}
 .legal-document h1{font-size:22px}
 .legal-document h2{font-size:16px}
 .legal-document section{margin-top:24px;padding-top:20px}
 .legal-summary,.legal-pending{padding:14px}
 .legal-table th,.legal-table td{padding:10px}
 .legal-table th:first-child,.legal-table td:first-child{width:36%}
 .legal-footer{padding:0 18px 20px;align-items:flex-start}
 .auth-footer .app-legal-links,.main-footer .app-legal-links,.family-portal-footer .app-legal-links{width:100%;justify-content:flex-start}
 .auth-footer .app-legal-links{justify-content:center}
 .app-legal-links a{min-height:40px}
 .footer.wrap .app-legal-links{justify-content:flex-start}
}
@media print{
 .legal-page{background:#fff;color:#222;font-size:11pt}
 .legal-header,.legal-toc,.legal-footer{display:none}
 .legal-layout{display:block;max-width:none;padding:0}
 .legal-document{padding:0;border:0;border-radius:0}
 .legal-document section{break-inside:auto}
 .legal-document h2,.legal-document h3{break-after:avoid}
 .legal-table-scroll{overflow:visible}
 .legal-page a{color:inherit;text-decoration:underline}
}
