/* ===== Google Material Design 核心变量 ===== */
:root {
  --white:#ffffff;--bg:#f5f7fa;--bg-subtle:#f8f9fa;--card:#ffffff;
  --border:rgba(0,0,0,0.08);--fg:#202124;--fg-secondary:#3c4043;--fg-muted:#5f6368;
  --fg-dim:#80868b;--accent:#1a73e8;--accent-hover:#1765cc;
  --accent-glow:rgba(26,115,232,0.2);--accent-soft:rgba(26,115,232,0.05);
  --success:#1e8e3e;--error:#d93025;--info:#1a73e8;
  --shadow-z1:0 1px 2px rgba(60,64,67,0.3), 0 2px 6px 2px rgba(60,64,67,0.15);
  --shadow-z2:0 1px 3px rgba(60,64,67,0.3), 0 4px 8px 3px rgba(60,64,67,0.15);
  --shadow-z3:0 4px 8px rgba(60,64,67,0.3), 0 8px 24px 2px rgba(60,64,67,0.2);
}
*{margin:0;padding:0;box-sizing:border-box;}
html, body{height:100%;overflow-x:hidden;background:linear-gradient(135deg, #f5f7fa 0%, #e4edf5 100%);font-family:'Roboto','Noto Sans SC',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--fg);font-size:1rem;}
.navbar-custom{background:rgba(255,255,255,0.95);backdrop-filter:blur(10px);padding:0.75rem 1rem;box-shadow:0 2px 12px rgba(0,0,0,0.1);border-bottom:1px solid rgba(0,0,0,0.05);}
.navbar-custom .navbar-brand{display:flex;align-items:center;gap:0.75rem;color:var(--accent)!important;font-weight:500;font-size:1.25rem;letter-spacing:0.5px;}
.navbar-custom .navbar-brand img{height:2.25rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.1));}
.navbar-custom .nav-link{color:rgba(0,0,0,0.87)!important;font-size:0.9rem;font-weight:500;padding:0.6rem 1rem!important;border-radius:6px;transition:all .3s;display:flex;align-items:center;gap:0.375rem;}
.navbar-custom .nav-link:hover{color:var(--accent)!important;background-color:rgba(26,115,232,0.05);transform:translateY(-1px);}
.navbar-custom .nav-item.active .nav-link{color:var(--accent)!important;background-color:rgba(26,115,232,0.08);}
.navbar-custom .nav-link i{font-size:1.125rem;}
.navbar-custom .navbar-toggler{border-color:rgba(26,115,232,0.3);background:rgba(26,115,232,0.05);}
.navbar-custom .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(26, 115, 232, 0.8)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");}
.search-form{display:flex;align-items:center;}
.search-input-group{display:flex;align-items:stretch;background:var(--bg-subtle);border-radius:4px;overflow:hidden;border:1px solid rgba(0,0,0,0.12);transition:all .3s;}
.search-input-group:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow);background:#fff;}
.search-select{background:transparent;color:var(--fg);border:none;border-right:1px solid rgba(0,0,0,0.12);padding:0 0.5rem;font-size:0.8125rem;height:2rem;cursor:pointer;outline:none;font-family:inherit;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='%235f6368' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0.5rem center;padding-right:1.5rem;}
.search-input{background:transparent;color:var(--fg);border:none;padding:0 0.5rem;font-size:0.875rem;height:2rem;outline:none;width:12rem;font-family:inherit;}
.search-input::placeholder{color:var(--fg-dim);}
.search-btn{background:var(--accent);color:#fff;border:none;padding:0 1rem;font-size:0.9rem;cursor:pointer;transition:background .2s;display:flex;align-items:center;}
.search-btn:hover{background:var(--accent-hover);}
@media(max-width:991.98px){.search-form{margin-top:0.75rem;width:100%;}.search-input{flex:1;width:auto;}}
.main-wrap{padding:0.5rem 2rem;max-width:100%;}
@media(min-width:1440px){.main-wrap{padding:0.5rem 3rem;}}
@media(max-width:767.98px){.main-wrap{padding:0.5rem;}}
.page-header{text-align:center;padding:0.5rem 0 1.5rem;}
.page-header h1{font-family:'Roboto','Noto Sans SC',sans-serif;font-weight:700;font-size:2.8rem;color:var(--fg);margin-bottom:0.5rem;}
.page-header p{color:var(--fg-muted);font-size:1rem;max-width:35rem;margin:0 auto;line-height:1.6;}
.top-accent{height:3px;background:linear-gradient(90deg,rgba(26,115,232,0.2),var(--accent),rgba(26,115,232,0.2));margin-bottom:0.5rem;}
.stepper-wrap{margin-bottom:1.25rem;}
.stepper{display:flex;align-items:center;justify-content:center;}
.step-item{display:flex;align-items:center;gap:0.625rem;cursor:default;transition:all .3s;}
.step-item.clickable{cursor:pointer;}
.step-circle{width:2.25rem;height:2.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.9rem;font-weight:700;transition:all .35s cubic-bezier(.34,1.56,.64,1);border:2px solid var(--border);color:var(--fg-dim);background:var(--white);flex-shrink:0;}
.step-circle .check-icon{display:none;font-size:0.9rem;}
.step-item.active .step-circle{border-color:var(--accent);color:#fff;background:var(--accent);box-shadow:0 0 0 4px var(--accent-glow);transform:scale(1.08);}
.step-item.done .step-circle{border-color:var(--success);color:#fff;background:var(--success);}
.step-item.done .step-circle .step-num{display:none;}
.step-item.done .step-circle .check-icon{display:block;}
.step-label{font-size:1rem;font-weight:500;color:var(--fg-dim);transition:color .3s;white-space:nowrap;}
.step-item.active .step-label{color:var(--accent);font-weight:600;}
.step-item.done .step-label{color:var(--success);}
.step-connector{width:2.5rem;height:2px;background:var(--border);margin:0 0.5rem;transition:background .4s;border-radius:2px;flex-shrink:0;}
.step-connector.done{background:var(--success);}
@media(max-width:767.98px){.step-label{display:none;}.step-connector{width:1.5rem;margin:0 0.25rem;}}
.form-card{background:var(--card);border:none;border-radius:8px;padding:1.15rem 1.15rem;box-shadow:var(--shadow-z1);animation:fadeUp .5s ease-out;transition:box-shadow .3s cubic-bezier(.4,0,.2,1);}
.form-card:hover{box-shadow:var(--shadow-z2);}
@media(max-width:575.98px){.form-card{padding:1.5rem 1rem;}}
.form-card .d-flex.mt-4{
    margin-top: 1rem !important; 
    padding-top: 1rem; /* 保留一点呼吸感 */
    border-top: 1px solid var(--border); /* 顺带加一条极淡的分割线，区分内容与按钮 */
}
.form-section-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.75rem;}
.form-section-title{font-family:inherit;font-weight:700;font-size:1.5rem;color:var(--accent);white-space:nowrap;margin-bottom:0;}
.form-section-header-line{flex:1;height:1px;background:var(--border);}
.form-section-desc{font-size:0.875rem;color:var(--fg-muted);white-space:nowrap;margin-bottom:0;}
@media(max-width:767.98px){.form-section-header{flex-wrap:wrap;gap:0.375rem;}.form-section-header-line{display:none;}.form-section-desc{white-space:normal;font-size:0.8rem;}}
.block-title{display:flex;align-items:center;gap:0.625rem;font-size:1.0625rem;font-weight:600;color:var(--fg);margin-top:1rem;margin-bottom:0.5rem;padding-bottom:0.5rem;border-bottom:1px solid var(--border);}
.block-title i{color:var(--accent);font-size:1.0625rem;width:1.25rem;text-align:center;}
.block-title:first-child{margin-top:0;}
.form-group{margin-bottom:0.5rem;}
.form-control,.custom-select{border:1px solid rgba(0,0,0,0.12);border-radius:4px;padding:0.5rem 0.75rem;font-size:0.9375rem;color:rgba(0,0,0,0.87);background-color:#fff;height:auto;transition:all .3s;font-family:inherit;}
.form-control:hover,.custom-select:hover{border-color:rgba(0,0,0,0.3);}
.form-control:focus,.custom-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow);outline:none;background-color:#fff;color:rgba(0,0,0,0.87);}
.form-control.is-invalid,.custom-select.is-invalid{border-color:var(--error);box-shadow:0 0 0 2px rgba(217,48,37,0.2);}
.form-control::placeholder{color:var(--fg-dim);font-size:0.875rem;}
textarea.form-control{padding-top:0.625rem;padding-bottom:0.625rem;min-height:8rem;resize:vertical;line-height:1.7;}
.custom-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%235f6368' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0.75rem center;padding-right:2rem;}
.col-form-label,.form-group label{margin-bottom:0.25rem;font-size:0.9rem;font-weight:500;color:var(--fg-secondary);letter-spacing:.2px;}
.form-group .inline-hint {
  display: inline;             /* 保持行内特性 */
  font-size: 0.75rem;         /* 提示文字稍小 */
  font-weight: 400;           /* 提示文字稍细 */
  letter-spacing: normal;     /* 恢复正常字距 */
  margin-left: 0.375rem;      /* 与标签文字留一点间隙 */
}
.text-required{color:var(--error);font-weight:700;margin-left:2px;}
.invalid-feedback-custom{font-size:0.75rem;color:var(--error);margin-top:0.25rem;display:none;align-items:center;gap:0.375rem;}
.invalid-feedback-custom.show{display:flex;}
.char-count{text-align:right;font-size:0.75rem;color:var(--fg-dim);margin-top:0.25rem;}
.btn-accent{background:var(--accent);color:#fff;border:none;font-weight:500;font-size:1rem;padding:0.75rem 1.5rem;border-radius:4px;transition:all .3s cubic-bezier(.25,.8,.25,1);font-family:inherit;box-shadow:var(--shadow-z2);position:relative;overflow:hidden;}
.btn-accent:hover{background:var(--accent-hover);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-z3);}
.btn-accent:active{transform:translateY(0);color:#fff;box-shadow:var(--shadow-z1);}
.btn-accent:disabled{opacity:.5;cursor:not-allowed;transform:none!important;}
.btn-outline-secondary{border:1px solid rgba(0,0,0,0.12);color:var(--fg-muted);font-weight:500;font-size:1rem;padding:0.75rem 1.5rem;border-radius:4px;background:var(--white);font-family:inherit;transition:all .2s;}
.btn-outline-secondary:hover{border-color:var(--accent);color:var(--accent);background:var(--white);}
.btn-add-series,.btn-add-point{background:var(--bg-subtle);border:1px dashed rgba(0,0,0,0.15);color:var(--fg-muted);font-size:0.9rem;font-weight:500;padding:0.625rem 1.5rem;border-radius:4px;transition:all .25s;cursor:pointer;font-family:inherit;}
.btn-add-series:hover,.btn-add-point:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);}
.btn-remove-series{background:none;border:none;color:var(--fg-dim);font-size:1.0625rem;cursor:pointer;padding:0.375rem 0.5rem;transition:color .2s;border-radius:4px;}
.btn-remove-series:hover{color:var(--error);}
.upload-card{position:relative;border:1px dashed rgba(0,0,0,0.15);border-radius:6px;background:#fafafa;transition:all .25s;overflow:hidden;}
.upload-card:hover{border-color:rgba(26,115,232,0.4);box-shadow:0 0 0 3px rgba(26,115,232,0.1);}
.upload-card.has-file{border-style:solid;border-color:var(--accent);}
.upload-card-body{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:1.5rem 1rem;min-height:8rem;cursor:pointer;outline:none;}
.upload-card-body:focus{box-shadow:inset 0 0 0 2px var(--accent-glow);}
.upload-card-body i{font-size:1.75rem;color:var(--fg-dim);margin-bottom:0.5rem;transition:color .25s;pointer-events:none;}
.upload-card:hover .upload-card-body i{color:var(--accent);}
.upload-card-body span{font-size:0.875rem;color:var(--fg-dim);text-align:center;line-height:1.5;pointer-events:none;}
.upload-card input[type="file"]{display:none;}
.upload-preview{display:none;position:relative;padding:0.75rem;background:#f8f9fa;}
.upload-preview img{display:block;width:100%;height:auto;max-height:12rem;object-fit:contain;border-radius:4px;cursor:zoom-in;}
.upload-preview .remove-btn{position:absolute;top:0.75rem;right:0.75rem;width:1.625rem;height:1.625rem;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:flex;align-items:center;justify-content:center;font-size:0.8rem;cursor:pointer;border:none;transition:background .2s;z-index:2;}
.upload-preview .remove-btn:hover{background:var(--error);}
.upload-card.has-file .upload-card-body{display:none;}
.upload-card.has-file .upload-preview{display:block;}
.upload-card-sm .upload-card-body{min-height:6.5rem;padding:1rem 0.75rem;}
.upload-card-sm .upload-card-body i{font-size:1.375rem;margin-bottom:0.375rem;}
.upload-card-sm .upload-preview img{max-height:8rem;}
.img-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:9998;align-items:center;justify-content:center;cursor:zoom-out;animation:fadeIn .25s ease-out;}
.img-modal.show{display:flex;}
.img-modal img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.3);}
.product-series-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;}
.product-series-item{border:1px solid var(--border);border-radius:8px;background:#fff;padding:1.25rem;position:relative;transition:all .25s;animation:fadeUp .3s ease-out;}
.product-series-item:hover{border-color:rgba(26,115,232,0.3);box-shadow:0 2px 8px rgba(60,64,67,0.15);}
.product-series-item .series-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;}
.product-series-item .series-num-badge{display:inline-flex;align-items:center;justify-content:center;width:1.625rem;height:1.625rem;border-radius:50%;background:var(--accent);color:#fff;font-size:0.8rem;font-weight:700;}
.product-series-item .series-required{font-size:0.8rem;color:var(--error);font-weight:500;}
@media(max-width:1199.98px){.product-series-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:767.98px){.product-series-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:575.98px){.product-series-grid{grid-template-columns:1fr;}}
.overseas-point-list .point-item{display:flex;align-items:center;gap:0.625rem;margin-bottom:0.75rem;animation:fadeUp .3s ease-out;}
.overseas-point-list .point-item .form-control{flex:1;}
.overseas-point-list .point-item .btn-remove-series{flex-shrink:0;font-size:1.25rem;padding:0.5rem 0.625rem;}
.overseas-point-list .point-item .col-country{max-width:12rem;flex:0 0 12rem;}
.overseas-point-list .point-item .col-name{max-width:14rem;flex:0 0 14rem;}
@media(max-width:991.98px){.overseas-point-list .point-item .col-country{max-width:10rem;flex:0 0 10rem;}.overseas-point-list .point-item .col-name{max-width:12rem;flex:0 0 12rem;}}
@media(max-width:767.98px){.overseas-point-list .point-item{flex-wrap:wrap;position:relative;padding:1rem;border:1px solid var(--border);border-radius:4px;background:var(--bg-subtle);}.overseas-point-list .point-item .form-control{flex:0 0 calc(50% - 0.3125rem);max-width:none;}.overseas-point-list .point-item .col-country{max-width:none;flex:0 0 calc(50% - 0.3125rem);}.overseas-point-list .point-item .col-name{max-width:none;flex:0 0 calc(50% - 0.3125rem);}.overseas-point-list .point-item .col-address{flex:0 0 100%;margin-top:0.5rem;}.overseas-point-list .point-item .btn-remove-series{position:absolute;top:0.375rem;right:0.375rem;}}
.step-panel{display:none;}
.step-panel.active{display:block;animation:fadeUp .45s ease-out;}
.confirm-section{margin-bottom:1.5rem;}
.confirm-section-title{font-size:1.0625rem;font-weight:600;color:var(--accent);margin-bottom:0.75rem;display:flex;align-items:center;gap:0.5rem;}
.confirm-row{display:flex;align-items:baseline;padding:0.5rem 0;border-bottom:1px solid var(--border);font-size:0.9rem;line-height:1.5;}
.confirm-row:last-child{border-bottom:none;}
.confirm-label{color:var(--fg-muted);font-weight:500;width:7.5rem;flex-shrink:0;text-align:right;padding-right:1rem;}
.confirm-value{color:var(--fg);font-weight:500;flex:1;word-break:break-all;}
.confirm-full-row .confirm-label{width:auto;text-align:left;margin-bottom:0.25rem;}
.confirm-full-row .confirm-value{width:100%;}
.confirm-full-row{flex-direction:column;}
.confirm-value img{display:block;max-width:10rem;max-height:6rem;object-fit:contain;border-radius:4px;border:1px solid var(--border);margin-top:0.375rem;cursor:zoom-in;}
.confirm-imgs-row{display:flex;flex-wrap:wrap;gap:0.75rem;margin-top:0.375rem;}
.confirm-imgs-row .ci-item{display:flex;flex-direction:column;align-items:center;gap:0.25rem;}
.confirm-imgs-row .ci-item img{max-width:8rem;max-height:5rem;object-fit:contain;border-radius:4px;border:1px solid var(--border);cursor:zoom-in;}
.confirm-imgs-row .ci-item span{font-size:0.8rem;color:var(--fg-dim);}
.confirm-grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:0 2rem;border-bottom:1px solid var(--border);}
.confirm-grid-2col .confirm-row{border-bottom:none;}
.confirm-grid-2col .confirm-col{padding:0.5rem 0;}
.confirm-grid-2col .confirm-col:first-child{border-right:1px solid var(--border);padding-right:2rem;}
.confirm-grid-2col .confirm-col:last-child{padding-left:2rem;}
.confirm-col-title{font-size:0.875rem;font-weight:600;color:var(--fg);margin-bottom:0.375rem;padding-bottom:0.375rem;border-bottom:1px dashed var(--border);display:flex;align-items:center;gap:0.375rem;}
.confirm-col-title i{color:var(--accent);font-size:0.8rem;}
.confirm-mini-row{display:flex;align-items:baseline;padding:0.25rem 0;font-size:0.9rem;line-height:1.4;}
.confirm-mini-row:last-child{margin-bottom:0;}
.confirm-mini-label{color:var(--fg-muted);font-weight:400;width:4.5rem;flex-shrink:0;text-align:right;padding-right:0.625rem;}
.confirm-mini-value{color:var(--fg);font-weight:500;flex:1;word-break:break-all;}
.confirm-series-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0.75rem;margin-top:0.5rem;}
.confirm-series-item{border:1px solid var(--border);border-radius:4px;padding:0.625rem;background:var(--bg-subtle);text-align:center;}
.confirm-series-item img{max-width:100%;max-height:5rem;object-fit:contain;border-radius:4px;cursor:zoom-in;margin-bottom:0.25rem;}
.confirm-series-item .cs-name{font-size:0.9rem;font-weight:500;color:var(--fg);}
@media(max-width:767.98px){.confirm-grid-2col{grid-template-columns:1fr;gap:0;}.confirm-grid-2col .confirm-col:first-child{border-right:none;border-bottom:1px solid var(--border);padding-right:0;padding-bottom:0.75rem;}.confirm-grid-2col .confirm-col:last-child{padding-left:0;padding-top:0.75rem;}.confirm-series-grid{grid-template-columns:1fr;}.confirm-row{flex-direction:column;gap:0.125rem;}.confirm-label{width:auto;text-align:left;padding-right:0;font-weight:600;font-size:0.875rem;}}
.agreement-wrap{display:flex;align-items:flex-start;gap:0.75rem;margin-top:1.75rem;padding:1rem 1.25rem;background:var(--accent-soft);border:1px solid rgba(26,115,232,0.2);border-radius:4px;}
.agreement-wrap .custom-checkbox .custom-control-label{font-size:1rem;color:var(--fg-muted);line-height:1.6;cursor:pointer;}
.agreement-wrap .custom-checkbox .custom-control-label a{color:var(--accent);text-decoration:none;}
.agreement-wrap .custom-checkbox .custom-control-label a:hover{text-decoration:underline;}
.custom-checkbox .custom-control-input:checked~.custom-control-label::before{background-color:var(--accent);border-color:var(--accent);}
.custom-checkbox .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 3px var(--accent-glow);}
.success-view{text-align:center;padding:4rem 1.25rem;display:none;}
.success-view.show{display:block;}
.success-icon{width:5.5rem;height:5.5rem;border-radius:50%;background:linear-gradient(135deg,rgba(30,142,62,.1),rgba(30,142,62,.03));border:2px solid rgba(30,142,62,.2);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;animation:popIn .6s cubic-bezier(.34,1.56,.64,1);}
.success-icon i{font-size:2.25rem;color:var(--success);}
.success-view h2{font-family:inherit;font-size:1.75rem;font-weight:700;color:var(--fg);margin-bottom:0.625rem;}
.success-view p{color:var(--fg-muted);font-size:1rem;line-height:1.7;max-width:25rem;margin:0 auto;}
.member-id-badge{display:inline-block;margin-top:1.5rem;padding:0.75rem 2rem;background:var(--accent-soft);border:1px solid rgba(26,115,232,0.2);border-radius:4px;font-family:'Roboto',monospace;font-size:1.375rem;font-weight:700;color:var(--accent);letter-spacing:0.25rem;}
.toast-container{position:fixed;top:1.25rem;right:1.25rem;z-index:9999;display:flex;flex-direction:column;gap:0.625rem;}
.toast-msg{background:var(--card);border:none;border-radius:8px;padding:0.875rem 1.25rem;display:flex;align-items:center;gap:0.75rem;font-size:1rem;font-weight:500;color:var(--fg);box-shadow:0 8px 32px rgba(0,0,0,.15);animation:slideIn .35s cubic-bezier(.34,1.56,.64,1);min-width:15rem;border-left:4px solid transparent;}
.toast-msg.success{border-left-color:var(--success);}.toast-msg.success i{color:var(--success);}
.toast-msg.error{border-left-color:var(--error);}.toast-msg.error i{color:var(--error);}
.toast-msg.info{border-left-color:var(--info);}.toast-msg.info i{color:var(--info);}
.toast-msg.out{animation:slideOut .25s ease-in forwards;}
.hint-text-muted{font-size:0.875rem;color:var(--fg-muted);margin-top:-0.75rem;margin-bottom:1.25rem;}
.form-text{font-size:0.8rem!important;color:var(--fg-dim)!important;}
@keyframes fadeUp{from{opacity:0;transform:translateY(1rem);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes popIn{from{opacity:0;transform:scale(.5);}to{opacity:1;transform:scale(1);}}
@keyframes slideIn{from{transform:translateX(100%);opacity:0;}to{transform:translateX(0);opacity:1;}}
@keyframes slideOut{from{transform:translateX(0);opacity:1;}to{transform:translateX(100%);opacity:0;}}
.hidden{display:none!important;}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;}}
/* ===== 导航栏登录按钮 - 与搜索框等高 ===== */
.nav-login-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  height: 2rem;              /* 精确匹配 .search-input / .search-select 的 height */
  padding: 0 1rem;
  font-size: 0.8125rem;      /* 匹配 .search-select 字号 */
  font-weight: 500;
  color: var(--accent);
  background: transparent;
  border: 1px solid var(--accent);
  border-radius: 4px;        /* 匹配 .search-input-group 圆角 */
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.2s ease;
  font-family: inherit;
  line-height: 1;
}

.nav-login-btn:hover {
  color: #fff;
  background: var(--accent);
  border-color: var(--accent-hover);
  box-shadow: 0 0 0 2px var(--accent-glow);
}

/* 移动端折叠菜单内自适应 */
@media (max-width: 991.98px) {
  .nav-login-btn {
    width: auto;
    margin-top: 0.75rem;     /* 与 .search-form 移动端 margin-top 一致 */
  }
}