.dependent-page { min-width:0; color:#1e3146; font-size:16px; line-height:1.65; }
.dependent-page * { box-sizing:border-box; }
.dependent-page p,.dependent-page li { color:#476075; }
#content.dependent-page h1 { color:#15263c; font-size:2rem; line-height:1.3; letter-spacing:0; margin:0 0 12px; word-break:keep-all; overflow-wrap:break-word; }
#content.dependent-page h2 { color:#223e54; font-size:1.3rem; line-height:1.4; margin:0 0 12px; letter-spacing:0; }
.dp-breadcrumb { display:flex; flex-wrap:wrap; gap:9px; color:#7b8b9c; font-size:.82rem; margin-bottom:20px; }
.dependent-page a { color:#087c74; }
.dp-header { display:flex; align-items:center; gap:18px; border-bottom:1px solid #d8e4ec; padding-bottom:20px; margin-bottom:18px; }
.dp-header > div { min-width:0; flex:1; }
.dp-header img { width:72px; height:72px; flex:none; object-fit:cover; border-radius:4px; }
.dp-header p:last-child { font-size:1rem; margin:0; }
.dp-kicker { color:#087c74!important; font-size:.85rem; font-weight:700; margin:0 0 7px; }
.dp-notice { padding:12px 14px; border-left:3px solid #0d8176; background:#f0f7f6; font-size:.85rem; margin:0 0 24px; }
.dp-year { display:flex; align-items:center; gap:20px; border-bottom:1px solid #dce7ed; padding-bottom:20px; margin-bottom:24px; }
.dp-year label { width:160px; flex:none; }
.dp-year > span { font-size:.84rem; color:#5e7486; }
.dp-section-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:13px; }
.dp-section-heading h2 { margin:0!important; }
.dp-section-heading > span { font-size:.83rem; color:#657b8f; }
.dp-family { border:1px solid #cadce6; border-radius:6px; background:#fff; margin:0 0 12px; }
.dp-family > summary { display:flex; align-items:center; gap:13px; justify-content:space-between; padding:14px 16px; cursor:pointer; list-style:none; }
.dp-family > summary::-webkit-details-marker { display:none; }
.dp-family > summary::before { content:'+'; color:#547486; font-weight:700; flex:none; }
.dp-family[open] > summary::before { content:'-'; }
.dp-family summary h3 { min-width:0; flex:1; color:#244358; font-weight:700; font-size:1rem; margin:0; overflow-wrap:anywhere; }
.dp-status { font-size:.76rem; color:#647b8f; flex:none; }
.dp-status[data-state="PASS"] { color:#077066; font-weight:700; }
.dp-status[data-state="FAIL"] { color:#94472e; font-weight:700; }
.dp-status[data-state="REVIEW"] { color:#785d1f; font-weight:700; }
.dp-family-body { border-top:1px solid #e0e9ed; padding:18px 16px; }
.dp-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px 18px; }
.dp-grid > label,.dp-income-block > label,.dp-year label { display:block; min-width:0; font-weight:700; font-size:.9rem; color:#244358; }
.dependent-page input:not([type="checkbox"]),.dependent-page select { display:block; width:100%; min-width:0; height:44px; padding:8px 10px; margin-top:6px; border:1px solid #b9ccd9; border-radius:4px; background:#fff; color:#203b52; box-shadow:none; font:inherit; font-size:.91rem; font-weight:400; }
.dependent-page input::placeholder { color:#8697a6; }
.dependent-page small { font-size:.77rem; font-weight:400; color:#687e90; }
.dp-grid label > small { display:block; margin-top:4px; line-height:1.45; }
.dp-unit { position:relative; }
.dp-unit input { padding-right:33px!important; }
.dp-unit > span { position:absolute; right:11px; top:12px; color:#607989; font-size:.82rem; font-weight:400; }
.dp-income-block { grid-column:1/-1; border-left:3px solid #b4cbd6; padding-left:14px; }
.dp-income-block > label { margin-bottom:14px; }
.dp-income-block .dp-grid { margin-top:15px; }
.dp-hint { font-size:.82rem; color:#647a8b!important; line-height:1.55; margin:12px 0 0; }
.dp-income-help { border-top:1px solid #dce7ed; padding-top:11px; margin-top:12px; }
.dp-income-help summary,.dp-advanced summary,.dp-self > summary { cursor:pointer; color:#315267; font-weight:700; font-size:.9rem; }
.dp-income-help p { font-size:.84rem; margin:10px 0 0; }
.dp-foster { margin-top:20px; border-top:1px solid #dce7ed; padding-top:16px; }
.dp-foster h4,.dp-family-result h4 { font-weight:700; color:#2b4b60; font-size:.97rem; margin-bottom:12px; }
.dp-advanced { border-top:1px solid #dce7ed; margin:18px 0; padding-top:13px; }
.dp-advanced[open] summary { margin-bottom:14px; }
.dp-self { border-top:1px solid #d2e1e9; border-bottom:1px solid #d2e1e9; padding:16px 0; margin:24px 0 16px; }
.dp-self > summary { font-size:1rem; }
.dp-self[open] > summary { margin-bottom:17px; }
.dp-checkbox { display:flex; gap:8px; align-items:center; font-size:.9rem; color:#315267; margin:0 0 16px; }
.dependent-page input[type="checkbox"] { appearance:auto; width:17px; height:17px; margin:0; accent-color:#087b70; }
.dp-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:16px; }
#content.dependent-page button { appearance:none; background:#087b70; border:1px solid #087b70; color:#fff; min-height:43px; width:auto; padding:9px 15px; border-radius:4px; box-shadow:none; font:inherit; font-size:.9rem; font-weight:700; cursor:pointer; }
#content.dependent-page button:hover { background:#06675e; }
#content.dependent-page button.dp-secondary { background:#fff; border-color:#bdd2dd; color:#2b5167; }
#content.dependent-page button.dp-secondary:hover { background:#f0f7f6; border-color:#087b70; }
#dp-add { margin-top:3px; }
#dp-add-status,#dp-copy-status { font-size:.8rem; color:#627d8d; min-height:1.2em; margin:8px 0 0; }
.dp-error { min-height:1.3em; color:#aa3a36!important; font-weight:700; font-size:.86rem; margin:12px 0 0; }
.dp-family-result { margin:20px 0; padding-top:17px; border-top:1px solid #c5ded9; }
.dp-family-result ul { list-style:none; padding:0; margin:0 0 14px; }
.dp-family-result li { border-bottom:1px solid #e1e9ef; padding:9px 0; font-size:.84rem; }
.dp-family-result strong { display:block; color:#2a485d; font-weight:700; margin-bottom:3px; }
.dependent-page dl { margin:0; }
.dependent-page dl > div { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; padding:8px 0; border-bottom:1px solid #e0e9ee; font-size:.9rem; }
.dependent-page dt { color:#59758a; }
.dependent-page dd { margin:0; color:#1d3b53; font-weight:700; text-align:right; overflow-wrap:anywhere; }
.dp-result { border-top:1px solid #bfd8d3; margin:28px 0; }
.dp-result-heading { background:#0d6f65; padding:18px 20px; color:#fff; margin-bottom:12px; }
.dp-result-heading > span { font-size:.86rem; font-weight:700; display:block; }
#content .dp-result-heading strong { display:block; color:#fff; font-size:2rem; line-height:1.35; margin:5px 0; overflow-wrap:anywhere; }
.dp-result-heading p { color:#e4f5f1!important; font-size:.84rem; margin:0; }
.dp-refund { border-left:3px solid #c29848; background:#faf7ef; font-size:.85rem; padding:12px 14px; margin-top:18px; }
#dp-self-notes { font-size:.83rem; margin:12px 0; padding-left:20px; }
.dp-guide,.dp-faq,.dp-sources,.dp-related { border-top:1px solid #dce7ec; padding-top:26px; margin:36px 0; }
.dp-guide h2 { margin:24px 0 10px!important; }
.dp-guide h2:first-child { margin-top:0!important; }
.dp-guide p,.dp-faq p,.dp-sources p,.dp-sources li { font-size:.92rem; }
.dp-faq details { padding:12px 14px; border:1px solid #d1e0e8; border-radius:4px; margin:0 0 8px; }
.dp-faq summary { font-size:.92rem; font-weight:700; color:#29475c; cursor:pointer; }
.dp-faq p { margin:12px 0 0; }
.dp-sources ul { padding-left:20px; }
.dp-related > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.dp-related a { border:1px solid #cfdfe8; border-radius:4px; padding:13px 14px; color:#305166; font-size:.88rem; font-weight:700; text-decoration:none; }
.dependent-page [hidden] { display:none!important; }
.dependent-page :is(input,select,button,summary,a):focus-visible { outline:3px solid #d7a03f; outline-offset:2px; }
@media (max-width:700px) { .dp-grid,.dp-related > div { grid-template-columns:1fr; } .dp-year { flex-wrap:wrap; gap:9px; } }
@media (max-width:480px) { #content.dependent-page h1 { font-size:1.55rem; } .dp-header img { display:none; } .dp-family > summary { gap:7px; padding:12px 13px; flex-wrap:wrap; } .dp-family summary h3 { flex-basis:70%; } .dp-status { padding-left:18px; flex-basis:100%; } .dp-family-body { padding:15px 13px; } .dependent-page dl > div { flex-direction:column; gap:2px; } .dependent-page dd { text-align:left; } #content .dp-result-heading strong { font-size:1.55rem; } }
