:root{--boc-red:#a71f33;--boc-red-dark:#761526;--boc-red-soft:#f8ecef;--ink:#20242a;--muted:#697078;--line:#e3e5e7;--surface:#fff;--canvas:#f5f5f3;--success:#267457;--warning:#a16116;--danger:#b42335;--radius:16px;--shadow:0 18px 54px #1e191b14}*{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:smooth}body{color:var(--ink);background:var(--canvas);margin:0;font-family:Inter,Noto Sans,PingFang SC,Microsoft YaHei,Arial,sans-serif;font-size:15px}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.035em}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #a71f3340}.brand{align-items:center;gap:14px;min-width:max-content;display:inline-flex}.brand img{object-fit:contain;image-rendering:auto;width:183px;height:52px}.brand-divider{background:var(--line);width:1px;height:34px}.brand-branch{color:var(--muted);letter-spacing:.03em;font-size:11px;line-height:1.35}.app-header{border-bottom:1px solid var(--line);z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;justify-content:space-between;align-items:center;gap:24px;min-height:78px;padding:10px clamp(24px,5vw,72px);display:flex;position:sticky;top:0}.header-actions{align-items:center;gap:16px;display:flex}.user-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:13px;overflow:hidden}.language-switch{border:1px solid var(--line);background:#fff;border-radius:999px;gap:2px;padding:3px;display:inline-flex}.language-switch button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;min-width:37px;height:29px;font-size:11px;font-weight:700}.language-switch button.active{color:#fff;background:var(--boc-red)}.button{cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:10px 17px;font-size:13px;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{opacity:.45;cursor:not-allowed}.button.primary{color:#fff;background:var(--boc-red);box-shadow:0 8px 20px #a71f332e}.button.primary:hover{background:var(--boc-red-dark)}.button.secondary{color:var(--ink);background:#fff;border-color:#d6d9dc}.button.secondary:hover{background:#fafafa;border-color:#b9bdc1}.button.ghost{color:var(--muted);border-color:var(--line);background:0 0}.button.text{min-height:34px;color:var(--boc-red);background:0 0;padding:6px 4px}.button.text.danger{color:var(--danger)}.button.small{min-height:34px;padding:7px 12px;font-size:12px}.button.wide{width:100%}.text-link{color:var(--boc-red);text-underline-offset:3px;font-size:13px;font-weight:700;text-decoration-thickness:1px}.text-link.centered{text-align:center;display:block}.eyebrow{color:var(--boc-red);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:800;display:block}.login-page{background:#fff;grid-template-columns:minmax(0,1.3fr) minmax(420px,.7fr);min-height:100vh;display:grid}.login-visual{background:radial-gradient(circle at 8% 78%,#a71f331f,#0000 35%),linear-gradient(145deg,#f9f7f5,#fff 54%);flex-direction:column;padding:30px clamp(32px,6vw,90px) 70px;display:flex;position:relative;overflow:hidden}.login-visual:after{content:"中";color:#a71f3307;pointer-events:none;font-family:serif;font-size:460px;line-height:1;position:absolute;bottom:-120px;right:-30px}.login-top{justify-content:space-between;align-items:center;gap:24px;display:flex}.login-message{z-index:1;max-width:680px;margin:auto 0;padding-top:80px;position:relative}.login-message h1{max-width:650px;margin-bottom:28px;font-family:Georgia,Times New Roman,serif;font-size:clamp(46px,5.6vw,78px);font-weight:500;line-height:.99}.login-message>p{color:var(--muted);max-width:540px;font-size:18px;line-height:1.6}.security-note{color:var(--boc-red-dark);background:#fff9;border:1px solid #a71f332e;border-radius:10px;align-items:center;gap:10px;margin-top:28px;padding:12px 15px;font-size:13px;display:inline-flex}.security-note span{background:var(--boc-red);color:#fff;border-radius:50%;place-items:center;width:21px;height:21px;display:grid}.login-panel{border-left:1px solid var(--line);place-items:center;padding:40px;display:grid}.auth-card{border:1px solid var(--line);width:min(100%,420px);box-shadow:var(--shadow);background:#fff;border-radius:20px;gap:20px;padding:clamp(28px,4vw,46px);display:grid}.auth-card h1,.auth-card h2{margin-bottom:0;font-family:Georgia,serif;font-size:34px;font-weight:500}.auth-card>p{color:var(--muted);line-height:1.55}.auth-card .brand{margin-bottom:10px}.auth-page{background:radial-gradient(circle at 50% 10%, var(--boc-red-soft), transparent 45%), var(--canvas);place-items:center;min-height:100vh;padding:40px 20px;display:grid}.center-page{min-height:100vh;color:var(--muted);place-items:center;display:grid}.page-shell{width:min(1180px,100% - 44px);margin:0 auto;padding:64px 0 90px}.page-intro{justify-content:space-between;align-items:flex-start;gap:40px;margin-bottom:28px;display:flex}.page-intro h1{margin-bottom:16px;font-family:Georgia,serif;font-size:clamp(36px,5vw,56px);font-weight:500;line-height:1.05}.page-intro p{max-width:680px;color:var(--muted);font-size:17px;line-height:1.55}.notice{background:var(--boc-red-soft);color:#65202c;border:1px solid #e7d7db;border-radius:12px;align-items:flex-start;gap:12px;margin-bottom:28px;padding:16px 18px;display:flex}.notice span{font-weight:800}.notice p{margin:0;line-height:1.5}.status-pill{color:#5d6267;white-space:nowrap;background:#f0f1f2;border-radius:999px;align-items:center;min-height:28px;padding:5px 10px;font-size:11px;font-weight:800;display:inline-flex}.status-pill.status-completed,.status-pill.status-ready_for_bank{color:#176144;background:#e8f4ef}.status-pill.status-in_progress{color:#8a5411;background:#fff3df}.status-pill.status-not_applicable{color:#676b70;background:#eeeef0}.form-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.form-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex-direction:column;min-height:310px;padding:26px;display:flex;box-shadow:0 10px 30px #1e191b0a}.form-card-top{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.form-index{color:var(--boc-red);font-family:Georgia,serif;font-size:18px}.form-card h2{margin-bottom:10px;font-family:Georgia,serif;font-size:26px;font-weight:500}.form-card>p{color:var(--muted);flex:1;line-height:1.5}.card-progress-label{color:var(--muted);justify-content:space-between;margin:20px 0 8px;font-size:11px;display:flex}.card-progress-label strong{color:var(--ink)}.card-progress{background:#eceeef;border-radius:999px;height:5px;overflow:hidden}.card-progress span{border-radius:inherit;background:var(--boc-red);height:100%;display:block}.form-card-actions{align-items:center;gap:18px;margin-top:23px;display:flex}.form-page-shell{width:min(1060px,100% - 40px);margin:0 auto;padding:32px 0 80px}.form-page-header{justify-content:space-between;align-items:center;min-height:38px;display:flex}.save-indicator{text-align:right;min-width:90px;color:var(--muted);font-size:12px}.save-indicator.saved{color:var(--success)}.save-indicator.error{color:var(--danger)}.form-title-block{text-align:center;max-width:760px;margin:28px auto 34px}.form-title-block h1{margin-bottom:14px;font-family:Georgia,serif;font-size:clamp(34px,5vw,52px);font-weight:500;line-height:1.08}.form-title-block p{color:var(--muted);line-height:1.55}.stepper{justify-content:space-between;gap:5px;margin:0 28px 38px;display:flex;position:relative}.stepper-line{background:#dfe1e3;height:2px;position:absolute;top:15px;left:3%;right:3%;overflow:hidden}.stepper-line span{background:var(--boc-red);height:100%;transition:width .3s;display:block}.stepper button{z-index:1;width:90px;color:var(--muted);cursor:default;background:0 0;border:0;position:relative}.stepper button>span{background:var(--canvas);border:2px solid #dfe1e3;border-radius:50%;place-items:center;width:31px;height:31px;margin:0 auto 8px;font-size:11px;font-weight:800;display:grid}.stepper button small{text-overflow:ellipsis;white-space:nowrap;font-size:10px;display:block;overflow:hidden}.stepper button.active,.stepper button.done{color:var(--boc-red);cursor:pointer}.stepper button.active>span,.stepper button.done>span{border-color:var(--boc-red);background:var(--boc-red);color:#fff}.form-section-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:20px;padding:clamp(24px,5vw,50px)}.section-heading{border-bottom:1px solid var(--line);align-items:baseline;gap:17px;margin-bottom:34px;padding-bottom:20px;display:flex}.section-heading>span{color:var(--boc-red);font-family:Georgia,serif;font-size:18px}.section-heading h2{margin:0;font-family:Georgia,serif;font-size:29px;font-weight:500}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 22px;display:grid}.form-field{border:0;align-content:start;gap:9px;min-width:0;margin:0;padding:0;display:grid}.form-field>label:not(.option-card){gap:9px;display:grid}.form-field legend{padding:0;font-weight:700;line-height:1.4}.field-label{justify-content:space-between;gap:10px;font-weight:700;line-height:1.4;display:flex}.field-label small{color:#979ca1;font-size:10px;font-weight:500}.required-mark{color:var(--boc-red)}.form-field input:not([type=radio]):not([type=checkbox]),.form-field textarea,.form-field select,.inline-form input{width:100%;min-height:46px;color:var(--ink);background:#fff;border:1px solid #d4d7da;border-radius:9px;padding:11px 13px;transition:border .15s,box-shadow .15s}.form-field textarea{resize:vertical;min-height:112px;line-height:1.5}.form-field input:hover,.form-field textarea:hover,.form-field select:hover{border-color:#aeb3b8}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--boc-red);outline:none;box-shadow:0 0 0 3px #a71f3317}.field-error input,.field-error textarea,.field-error select{border-color:var(--danger)!important}.error-text{color:var(--danger);margin:0;font-size:11px}.field-help{background:#fff8f9;border:1px solid #ead9dd;border-radius:9px;margin:1px 0 2px}.field-help summary{color:#7c2a38;cursor:pointer;align-items:center;gap:8px;padding:9px 11px;font-size:11px;font-weight:800;list-style:none;display:flex}.field-help summary::-webkit-details-marker{display:none}.field-help summary>span{color:#fff;background:var(--boc-red);border-radius:50%;place-items:center;width:17px;height:17px;font-family:Georgia,serif;font-size:11px;display:inline-grid}.field-help p{color:#5f4d51;white-space:pre-line;margin:0;padding:0 12px 12px 36px;font-size:12px;line-height:1.55}.option-grid{flex-wrap:wrap;gap:9px;display:flex}.option-card{cursor:pointer;background:#fff;border:1px solid #d8dadd;border-radius:9px;align-items:center;gap:8px;min-height:42px;padding:9px 13px;display:inline-flex}.option-card.selected{border-color:var(--boc-red);color:var(--boc-red-dark);background:var(--boc-red-soft)}.option-card input{accent-color:var(--boc-red)}.checkbox-field{border:1px solid var(--line);background:#fafafa;border-radius:10px;grid-column:1/-1;padding:16px}.checkbox-field label{gap:11px;line-height:1.5;display:flex}.checkbox-field input{width:18px;height:18px;accent-color:var(--boc-red);flex:none;margin-top:2px}.repeat-group{border:1px solid var(--line);background:#fafafa;border-radius:12px;grid-column:1/-1;min-width:0;padding:22px}.repeat-group>legend{padding:0 8px;font-size:16px;font-weight:800}.repeat-item{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:18px;padding:20px}.repeat-heading{justify-content:space-between;align-items:center;margin-bottom:18px;font-weight:800;display:flex}.empty-copy{color:var(--muted);font-size:13px}.form-navigation{justify-content:space-between;gap:20px;margin-top:24px;display:flex}.alert{border-radius:10px;padding:13px 16px;font-size:13px;line-height:1.45}.alert.error{color:#842030;background:#fff0f3;border:1px solid #efc9d0}.alert.success{color:#1c654a;background:#edf8f3;border:1px solid #bddfce}.form-page-shell>.alert{margin-bottom:20px}.admin-shell{width:min(1360px,100% - 44px)}.admin-tabs{border-bottom:1px solid var(--line);gap:4px;margin:-4px 0 28px;padding-bottom:1px;display:flex}.admin-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:12px 17px;font-weight:800}.admin-tabs button.active{color:var(--boc-red);border-color:var(--boc-red)}.admin-tabs span{background:#eee;border-radius:999px;place-items:center;min-width:22px;margin-left:5px;padding:2px 6px;font-size:10px;display:inline-grid}.admin-layout{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:24px;display:grid}.admin-create-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:24px;position:sticky;top:102px;box-shadow:0 10px 30px #1e191b0a}.admin-create-card h2{font-family:Georgia,serif;font-size:26px;font-weight:500}.admin-create-card form{gap:16px;display:grid}.application-list{gap:18px;display:grid}.application-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:24px;box-shadow:0 10px 30px #1e191b0a}.application-card-head{justify-content:space-between;gap:20px;display:flex}.application-card h2{margin-bottom:17px;font-family:Georgia,serif;font-size:27px;font-weight:500}.form-status-row{flex-wrap:wrap;gap:7px;padding-bottom:18px;display:flex}.mini-status{color:var(--muted);text-transform:capitalize;background:#f2f3f4;border-radius:6px;padding:5px 8px;font-size:9px}.mini-status.completed{color:var(--success);background:#e8f4ef}.mini-status.in_progress{color:var(--warning);background:#fff3df}.application-details{border-top:1px solid var(--line)}.application-details details{border-bottom:1px solid var(--line)}.application-details summary{cursor:pointer;justify-content:space-between;padding:15px 0;font-weight:800;display:flex}.application-details summary span{color:var(--muted)}.detail-content{padding:0 0 18px}.user-row{justify-content:space-between;align-items:center;gap:20px;padding:9px 0;display:flex}.user-row div{gap:4px;display:grid}.user-row span{color:var(--muted);font-size:12px}.inline-form{grid-template-columns:1fr 1fr auto;gap:9px;padding-top:12px;display:grid}.bank-grid{grid-template-columns:repeat(3,1fr);align-items:end;gap:13px;display:grid}.export-row{justify-content:flex-end;align-items:center;gap:8px;padding-top:18px;display:flex}.export-row strong{margin-right:auto;font-size:12px}.credential-banner{background:var(--boc-red-soft);border:1px solid #dcc0c6;border-radius:12px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;margin-bottom:22px;padding:17px 50px 17px 18px;display:grid;position:relative}.credential-banner>div{gap:4px;display:grid}.credential-banner span{color:var(--muted);font-size:11px}.credential-banner code{background:#fff;border-radius:7px;padding:8px 12px;font-size:15px}.credential-banner p{color:#712132;grid-column:1/-1;margin:0;font-size:11px}.credential-close{cursor:pointer;background:0 0;border:0;font-size:24px;position:absolute;top:13px;right:14px}.required-panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:28px}.required-panel-head{justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:24px;display:flex}.required-panel-head h2{margin-bottom:8px;font-family:Georgia,serif;font-size:30px;font-weight:500}.required-panel-head p{color:var(--muted)}.requirements-group{border-top:1px solid var(--line)}.requirements-group summary{cursor:pointer;justify-content:space-between;padding:17px 4px;font-weight:800;display:flex}.requirements-group summary span{color:var(--muted)}.requirement-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;padding-bottom:20px;display:grid}.requirement-list label{cursor:pointer;background:#fafafa;border-radius:8px;align-items:flex-start;gap:10px;padding:11px;display:flex}.requirement-list input{width:17px;height:17px;accent-color:var(--boc-red)}.requirement-list span{gap:4px;display:grid}.requirement-list strong{font-size:12px}.requirement-list small{color:var(--muted);font-size:10px}.empty-state{text-align:center;border-radius:var(--radius);color:var(--muted);border:1px dashed #cfd2d4;padding:50px}@media (max-width:980px){.login-page{grid-template-columns:1fr}.login-visual{min-height:500px}.login-panel{border:0;padding:30px 20px 60px}.login-message h1{font-size:54px}.admin-layout{grid-template-columns:1fr}.admin-create-card{position:static}.bank-grid{grid-template-columns:1fr}.stepper button small{display:none}}@media (max-width:700px){.app-header{align-items:flex-start;padding:10px 16px}.brand img{width:140px;height:auto}.brand-divider,.brand-branch,.user-name{display:none}.header-actions{gap:6px}.form-card-grid,.field-grid,.requirement-list{grid-template-columns:1fr}.page-shell,.form-page-shell,.admin-shell{width:min(100% - 26px,1180px);padding-top:35px}.page-intro{gap:16px;display:grid}.page-intro h1{font-size:40px}.login-visual{min-height:430px;padding:20px}.login-top .brand-divider,.login-top .brand-branch{display:none}.login-message{padding-top:70px}.login-message h1{font-size:42px}.login-message>p{font-size:15px}.form-section-card{padding:22px 18px}.stepper{justify-content:flex-start;margin-inline:0;overflow-x:auto}.stepper-line{display:none}.stepper button{flex:0 0 44px}.form-navigation{background:linear-gradient(transparent, var(--canvas) 18%);padding:12px 0;position:sticky;bottom:0}.inline-form,.credential-banner{grid-template-columns:1fr}.required-panel-head{display:grid}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
