/* 公开签证填写页：沿用官网前台（apply.html 等）的视觉，覆盖 visa-intake.css 的共享样式；后台 visa_intake.html 不加载本文件 */
:root{--ink:#1e1e1e;--heading:#424242;--muted:#767676;--accent:#30549a;--accent-hover:#25437d;--accent-soft:#eef2f9;--line:#dddddd;--input-line:#8f8f8f;--surface:#fff;--canvas:#f5f7fb;--focus:#30549a}
body{background:var(--surface);font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;font-size:15px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px}

/* 顶部：与官网 Hearder_nav 相同的白底、Logo 与底部细线 */
.site-header{height:103px;padding:0 50px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:18px}
.brand img{display:block;height:60px;width:auto}
.brand span{margin:0;padding-left:18px;border-left:1px solid var(--line);font-size:15px;color:var(--accent);line-height:1.4}
.site-header>span{color:var(--muted)}

/* 主体：左侧贴边的胶囊导航 + 右侧内容，对应官网 .main / .left_item / .main_content */
.intake-layout{grid-template-columns:240px minmax(0,1fr);gap:60px;max-width:1240px;margin:30px 0 0;padding:0 45px 0 0}
.step-sidebar{top:20px}
.step-sidebar h1{font-size:22px;font-weight:400;color:var(--accent);letter-spacing:0;line-height:1.45;padding-left:45px;margin-bottom:10px}
.step-sidebar>p{padding-left:45px;color:var(--muted);font-size:12px;line-height:1.7}
.step-sidebar nav{margin:22px 0;gap:6px}
.step-link{border-radius:0 50px 50px 0;padding:8px 20px 8px 45px;gap:10px;align-items:baseline;font-size:15px;color:var(--accent);line-height:1.5}
.step-link:hover{background:var(--accent-soft)}
.step-link[aria-current="step"]{background:var(--accent);color:#fff;font-weight:400}
.step-number{font-size:12px;color:var(--muted);min-width:18px}
.step-link[aria-current="step"] .step-number{color:rgba(255,255,255,.8)}
.step-sidebar>.draft-note{margin-left:45px;padding-left:0;padding-top:16px}
.step-sidebar .text-button{margin-left:45px}
.text-button{font-size:13px}

.intake-content{background:transparent;border-radius:0;padding:30px 0 0;max-width:900px}
h2{font-size:30px;font-weight:400;color:var(--accent);letter-spacing:0;line-height:1.35;margin-bottom:12px}
h3{font-size:18px;font-weight:600;color:var(--heading)}
.section-help{font-size:15px;color:var(--muted)}
.step-progress{color:var(--muted);padding-bottom:14px;border-bottom:1px solid var(--line)}

/* 表单控件 */
.field label{color:var(--heading);font-weight:400;font-size:15px}
.field input,.field textarea,.field select{border-color:var(--input-line);min-height:42px;padding:8px 12px}
.field textarea{min-height:100px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}
.repeat-row-header{color:var(--heading)}

/* 按钮：与官网 find_major_btn 相同的蓝底、5px 圆角 */
.primary-button,.secondary-button{border-radius:5px;padding:8px 30px;min-height:42px;font-size:16px;font-weight:400}
.secondary-button:hover{background:var(--accent-soft)}

.review-list dt{color:var(--muted)}
.review-group-title{color:var(--heading)}
.success-view h2{margin-top:4px}
.success-view code{background:var(--canvas);border-radius:5px}

/* 底部：与官网 foot_nav 相同的蓝色页脚和备案行 */
.page-footer{margin-top:80px;padding:0;text-align:center;color:var(--ink);font-size:12px}
.footer-main{background:var(--accent);padding:35px 20px}
.footer-main img{display:block;width:225px;max-width:70%;height:auto;margin:0 auto}
.footer-line{height:1px;width:800px;max-width:100%;margin:20px auto 0;background:#ffebcd78}
.footer-links{margin-top:14px;display:flex;justify-content:center;flex-wrap:wrap;gap:6px 40px}
.footer-links a{color:#fff;font-size:14px;text-decoration:none}
.footer-links a:hover{text-decoration:underline}
.footer-links a:focus-visible{outline-color:#fff}
.footer-bottom{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:4px 8px;padding:15px 20px}
.footer-bottom a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:4px}
.footer-bottom a:hover{color:var(--accent)}
.footer-bottom img{width:16px;height:16px}

@media(max-width:960px){.intake-layout{grid-template-columns:210px minmax(0,1fr);gap:32px;padding-right:28px}
.step-sidebar h1,.step-sidebar>p{padding-left:28px}
.step-link{padding-left:28px}
.step-sidebar>.draft-note,.step-sidebar .text-button{margin-left:28px}
.intake-content{padding:24px 0 0}
}

@media(max-width:720px){.site-header{height:68px;padding:0 16px}
.brand img{height:38px}
.brand span{display:none}
.intake-layout{padding:0 16px;margin:20px 0 0}
.step-sidebar h1,.step-sidebar>p{padding-left:0}
.step-sidebar h1{font-size:22px}
.step-sidebar>.draft-note,.step-sidebar .text-button{margin-left:0}
.intake-content{padding:0}
h2{font-size:24px}
.primary-button,.secondary-button{padding:8px 20px}
.page-footer{margin-top:48px;padding:0}
.footer-main{padding:28px 16px}
.footer-links{gap:6px 20px}
.footer-bottom{flex-direction:column;padding:12px 16px 20px}
.footer-bottom>[aria-hidden="true"]{display:none}
}

/* 下拉框：用自绘箭头替换浏览器默认箭头，与右边框留出间距 */
.field select,.mobile-step select{-webkit-appearance:none;appearance:none;padding-right:44px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2330549a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center/12px 8px}
.field select::-ms-expand{display:none}

/* 切换步骤时表单会滚到视口顶部；内容区至少比一屏高，短步骤也不会把页脚带进画面 */
.intake-content{min-height:calc(100vh + 30px)}
@media(max-width:960px){.intake-content{min-height:calc(100vh + 24px)}}
@media(max-width:720px){.intake-content{min-height:100vh}}

/* 身份确认与带入提示 */
.identity-view{padding-top:6px}
.identity-help{margin-top:20px}
.message.notice{border-color:#c5d3ea;background:#f2f6fc;color:#24406f}

/* 侧栏说明文字精简后，清除按钮直接跟在步骤导航下 */
.step-sidebar nav{margin-bottom:16px}

/* 清空重填：比文字链接醒目，但不抢主要操作 */
.step-sidebar #clear-draft{display:inline-flex;align-items:center;gap:6px;margin:8px 0 0 45px;height:34px;padding:0 14px;border:1px solid #cfd6e4;border-radius:5px;background:#fff;color:var(--heading);font-size:13px;cursor:pointer;transition:border-color .15s ease-out,color .15s ease-out,background-color .15s ease-out}
.step-sidebar #clear-draft:hover{border-color:var(--error);color:var(--error);background:#fff7f6}
.step-sidebar #clear-draft svg{flex-shrink:0}

/* 页面内确认弹窗 */
.confirm-dialog{width:min(420px,calc(100vw - 32px));padding:0;border:0;border-radius:8px;background:#fff;color:var(--ink);box-shadow:0 16px 40px rgba(20,35,70,.2)}
.confirm-dialog::backdrop{background:rgba(20,30,50,.45)}
.confirm-dialog form{padding:24px 24px 20px}
.confirm-dialog h2{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--ink);line-height:1.5}
.confirm-dialog p{margin:0 0 22px;font-size:14px;color:var(--muted);line-height:1.7}
.confirm-actions{display:flex;justify-content:flex-end;gap:12px}
.confirm-actions .secondary-button,.confirm-actions .danger-button{min-height:38px;padding:6px 20px;font-size:14px}
.danger-button{border:1px solid var(--error);border-radius:5px;background:var(--error);color:#fff;cursor:pointer}
.danger-button:hover{background:#962922;border-color:#962922}
@media(prefers-reduced-motion:no-preference){.confirm-dialog[open]{animation:confirm-in .18s ease-out}@keyframes confirm-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}

/* 核对页：每节一块，标签列收窄，“修改”做成小按钮 */
#review-content .review-section{margin:20px 0 0;padding:0;border:1px solid var(--line);border-radius:6px;overflow:hidden}
#review-content .review-heading{margin:0;padding:12px 20px;background:#f6f8fc;border-bottom:1px solid var(--line)}
#review-content .review-heading h3{margin:0;font-size:16px;color:var(--heading)}
#review-content .review-heading .text-button{padding:3px 12px;border:1px solid #c5d3ea;border-radius:4px;background:#fff;color:var(--accent);font-size:13px;text-decoration:none}
#review-content .review-heading .text-button:hover{border-color:var(--accent);background:var(--accent-soft)}
#review-content .review-list{grid-template-columns:180px minmax(0,1fr);gap:8px 20px;margin:0;padding:14px 20px}
#review-content .review-list dt{font-size:14px;color:var(--muted)}
#review-content .review-list dd{font-size:14px;color:var(--ink)}
#review-content .review-group-title{margin:0;padding:12px 20px 0;border-top:1px dashed var(--line);font-size:14px;color:var(--heading)}
#review-content .review-section>p.review-missing{margin:0;padding:12px 20px 0}

@media(max-width:960px){.step-sidebar #clear-draft{margin-left:28px}}
@media(max-width:720px){.step-sidebar #clear-draft{margin-left:0}#review-content .review-list{grid-template-columns:1fr;gap:2px}#review-content .review-list dd{margin-bottom:10px}#review-content .review-heading{padding:10px 14px}#review-content .review-list{padding:12px 14px}}
