.dependent-page { color:#18243a; font-size:16px; line-height:1.65; min-width:0; }
.dependent-page * { box-sizing:border-box; }
.dependent-page h1,.dependent-page h2,.dependent-page h3,.dependent-page p,.dependent-page ul { margin-top:0; }
.dependent-page h1 { color:#101c30; font-size:clamp(1.7rem,2rem,2.3rem); line-height:1.3; letter-spacing:0; margin-bottom:12px; }
.dependent-page h2 { color:#132641; font-size:1.35rem; line-height:1.4; letter-spacing:0; margin-bottom:16px; }
.dependent-page h3 { color:#19314d; font-size:1.06rem; line-height:1.4; letter-spacing:0; }
.dependent-page p,.dependent-page li { color:#42536c; }
.dep-breadcrumb { display:flex; gap:10px; align-items:center; color:#6b7c93; font-size:.84rem; margin-bottom:24px; }
.dep-breadcrumb a { color:#087e77; text-decoration:none; }
.dep-header { display:flex; align-items:center; gap:20px; padding:4px 0 20px; border-bottom:1px solid #dce6ed; }
.dep-header > div { flex:1; min-width:0; }
.dep-header p:last-child { font-size:1.05rem; margin:0; }
.dep-header img { width:90px; height:90px; object-fit:cover; border-radius:6px; flex:none; }
.dep-kicker { color:#087e77!important; font-weight:700; font-size:.84rem; margin-bottom:8px; }
.dep-notice { margin:18px 0 26px; padding:14px 16px; border-left:4px solid #0a8177; background:#f1f8f7; color:#284456!important; font-size:.92rem; }
.dep-tool { border:1px solid #cbdbe5; border-radius:6px; padding:24px; background:#fff; margin-bottom:38px; }
.dep-tool-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.dep-tool-head h2 { margin:0; }
.dep-mode { display:flex; background:#edf3f6; padding:4px; border-radius:6px; flex:none; }
.dep-mode button { background:transparent; color:#42536c; border:0; border-radius:4px; padding:8px 14px; font:inherit; font-weight:700; cursor:pointer; box-shadow:none; min-height:38px; }
.dep-mode button.active { background:#087e77; color:#fff; }
.dep-tool button:not(.dep-mode button),.dep-deadline button { border:1px solid #087e77; background:#087e77; color:#fff; border-radius:4px; padding:9px 15px; font:inherit; font-weight:700; cursor:pointer; min-height:42px; box-shadow:none; }
.dep-tool .dep-secondary { background:#fff!important; color:#1c4d61!important; border-color:#b9ced9!important; }
.dep-tool button:focus-visible,.dep-deadline button:focus-visible,.dependent-page input:focus-visible,.dependent-page select:focus-visible,.dependent-page a:focus-visible { outline:3px solid #e2a04a; outline-offset:2px; }
.dep-lead { font-size:.94rem; margin-bottom:18px; }
.dep-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 18px; }
.dep-grid label { display:block; min-width:0; font-weight:700; font-size:.91rem; color:#223750; }
.dep-grid label[hidden] { display:none!important; }
.dep-hint { display:block; font-weight:400; color:#64768d; font-size:.79rem; line-height:1.35; }
.dep-grid input,.dep-grid select,.dep-deadline input { display:block; width:100%; min-width:0; height:43px; border:1px solid #b8cbd8; border-radius:4px; background:#fff; color:#172840; padding:9px 11px; font:inherit; font-weight:400; box-shadow:none; margin-top:7px; }
.dep-grid input::placeholder { color:#8495a5; }
.dep-money { display:flex; align-items:center; position:relative; min-width:0; }
.dep-money input { padding-right:30px; }
.dep-money > span { position:absolute; right:11px; top:15px; color:#60748b; font-weight:400; }
.dep-grid small { display:block; min-height:1.2em; color:#657b90; font-size:.78rem; font-weight:400; line-height:1.3; margin-top:4px; overflow-wrap:anywhere; }
.dep-error { min-height:1.3em; color:#a12c33!important; margin:12px 0 4px; font-weight:700; }
.dep-actions { display:flex; gap:9px; flex-wrap:wrap; margin-top:16px; }
.dep-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; padding:0; list-style:none; margin:0 0 22px; }
.dep-steps li { padding:9px 4px; text-align:center; border-bottom:3px solid #d4e2e8; font-weight:700; font-size:.78rem; color:#60748b; line-height:1.3; }
.dep-steps li.current { border-bottom-color:#087e77; color:#06655f; }
.dep-step { border:0; min-width:0; margin:0; padding:0; }
.dep-step[hidden] { display:none!important; }
.dep-step legend { font-size:1.14rem; font-weight:700; color:#132641; margin-bottom:15px; padding:0; }
.dep-step > p { margin:2px 0 16px; font-size:.9rem; }
.dep-spouse { margin-top:22px; padding-top:20px; border-top:1px solid #dce6ed; }
.dep-spouse[hidden] { display:none!important; }
.dep-spouse h3 { margin-bottom:5px; }
.dep-tip { margin-top:14px!important; color:#7d4a06!important; background:#fff7e8; padding:11px 13px; border-radius:4px; }
.dep-result { margin-top:23px; border:1px solid #bad6d1; border-radius:5px; overflow:hidden; }
.dep-result[hidden] { display:none!important; }
.dep-result h3 { background:#0e6e65; color:#fff; margin:0; padding:18px 20px; font-size:1.38rem; }
#content .dep-result h3 { color:#fff; }
.dep-result[data-status="FAIL"] h3 { background:#8d3c3c; }
.dep-result[data-status="REVIEW"] h3 { background:#4e647b; }
.dep-result > p { margin:16px 18px; }
.dep-result-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:0 18px 18px; }
.dep-result-grid p { border:1px solid #d4e0e8; border-radius:4px; padding:12px; margin:0; min-width:0; }
.dep-result-grid span,.dep-result-grid strong { display:block; overflow-wrap:anywhere; }
.dep-result-grid span { color:#64758a; font-size:.81rem; }
.dep-result-grid strong { color:#152941; font-size:1rem; }
.dep-table-wrap { overflow-x:auto; padding:0 18px; }
.dep-result table { border-collapse:collapse; width:100%; min-width:470px; font-size:.86rem; }
.dep-result table caption { text-align:left; color:#19314d; font-weight:700; margin-bottom:7px; }
.dep-result th,.dep-result td { border-bottom:1px solid #e2eaf0; text-align:left; padding:9px 8px; vertical-align:top; overflow-wrap:anywhere; }
.dep-result th { background:#f3f7f9; color:#29445a; }
.dep-result td:nth-child(2) { font-weight:700; white-space:nowrap; }
.dep-result tr[data-status="PASS"] td:nth-child(2) { color:#08736a; }
.dep-result tr[data-status="FAIL"] td:nth-child(2) { color:#a1353a; }
.dep-result tr[data-status="REVIEW"] td:nth-child(2) { color:#765317; }
.dep-result-note { font-size:.84rem; }
.dep-result > button { margin:0 18px 18px; }
.dep-content,.dep-faq,.dep-sources,.dep-examples,.dep-related { margin:38px 0; border-top:1px solid #dce6ed; padding-top:30px; }
.dep-content h2 { margin:27px 0 10px; }
.dep-content h2:first-child { margin-top:0; }
.dep-content h3 { margin:16px 0 8px; }
.dep-content p,.dep-content li { font-size:.94rem; }
.dep-content ul { padding-left:22px; }
.dep-deadline { background:#f4f8fa; border:1px solid #d4e3e9; border-radius:4px; padding:16px; margin-top:18px; }
.dep-deadline label { display:block; font-weight:700; color:#19314d; }
.dep-deadline > div { display:flex; gap:9px; align-items:end; margin:9px 0; flex-wrap:wrap; }
.dep-deadline input { margin:0; width:min(100%,220px); }
.dep-deadline p { margin:9px 0; font-weight:700; }
.dep-deadline small { color:#60748b; }
.dep-example-grid,.dep-related-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.dep-example,.dep-related-grid a { display:block; padding:15px; border:1px solid #d3e0e8; border-radius:4px; background:#fff; min-width:0; }
.dep-example h3 { font-size:.92rem; margin-bottom:6px; }
.dep-example p { font-size:.82rem; margin:0; }
.dep-examples > p { font-size:.82rem; margin-top:13px; }
.dep-faq details { border-bottom:1px solid #dee8ed; padding:12px 0; }
.dep-faq summary { color:#1d354e; font-weight:700; cursor:pointer; }
.dep-faq details p { font-size:.9rem; margin:9px 0 0; }
.dep-sources p,.dep-sources li { font-size:.88rem; }
.dep-sources ul { padding-left:20px; }
.dep-sources a { color:#087e77; }
.dep-related-grid a { text-decoration:none; color:#15394b; }
.dep-related-grid a:hover { border-color:#087e77; background:#f3f9f8; }
.dep-related-grid strong,.dep-related-grid span { display:block; }
.dep-related-grid span { color:#63768e; font-size:.82rem; }
@media (max-width:720px) { .dep-header img { width:72px; height:72px; } .dep-tool { padding:18px; } .dep-tool-head { align-items:flex-start; flex-direction:column; } }
@media (max-width:560px) { .dep-grid,.dep-example-grid,.dep-related-grid { grid-template-columns:1fr; } .dep-result-grid { grid-template-columns:1fr; } .dep-header img { display:none; } .dep-steps li { font-size:.7rem; padding:7px 2px; } .dep-tool { padding:15px; } .dep-deadline button { width:100%; } }
