 :root {
     --primary: #1a365d;
     --secondary: #2c5282;
     --accent: #e2b979;
     --light: #f7fafc;
     --dark: #2d3748;
     --success: #48bb78;
     --warning: #ed8936;
     --error: #e53e3e;
     /* 添加安全区域变量，适配刘海屏 */
     --safe-area-inset-top: env(safe-area-inset-top);
     --safe-area-inset-right: env(safe-area-inset-right);
     --safe-area-inset-bottom: env(safe-area-inset-bottom);
     --safe-area-inset-left: env(safe-area-inset-left);
 }

 body {
     font-family: 'Georgia', 'Times New Roman', serif;
     background-color: #f5f7fa;
     color: var(--dark);
     line-height: 1.6;
     padding-top: 1rem;
     padding-bottom: 1rem;
     /* 增加底部安全区域内边距 */
     padding-bottom: calc(1rem + var(--safe-area-inset-bottom));
     -webkit-tap-highlight-color: transparent;
     /* 移除iOS点击高亮 */
     -webkit-touch-callout: none;
     /* 禁用iOS长按菜单 */
 }

 /* iOS滚动优化 */
 * {
     -webkit-overflow-scrolling: touch;
 }

 /* 适配刘海屏顶部 */
 .header {
     padding-top: calc(2rem + var(--safe-area-inset-top));
 }

 /* 适配刘海屏底部的回到顶部按钮 */
 .back-to-top {
     bottom: calc(20px + var(--safe-area-inset-bottom));
 }

 /* iOS输入框优化 */
 input,
 select,
 textarea {
     -webkit-appearance: none;
     border-radius: 0.375rem;
     font-size: 16px;
     /* 防止iOS自动缩放 */
 }

 /* iOS按钮触感反馈 */
 .btn {
     touch-action: manipulation;
 }

 /* iOS底部键盘弹出时的优化 */
 @supports (-webkit-touch-callout: none) {
     .footer {
         padding-bottom: var(--safe-area-inset-bottom);
     }
 }

 .container {
     max-width: 1200px;
     margin: 0 auto;
     padding: 2rem;
 }

 .header {
     background: linear-gradient(135deg, var(--primary), var(--secondary));
     color: white;
     padding: 2rem;
     border-radius: 0.5rem;
     margin-bottom: 2rem;
     box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
     position: relative;
     overflow: hidden;
     display: flex;
     flex-direction: column;
 }

 .header::before {
     content: "";
     position: absolute;
     top: 0;
     right: 0;
     bottom: 0;
     left: 0;
     background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><text x="10" y="50" font-family="Georgia" font-size="20" fill="rgba(255,255,255,0.05)">⚖</text></svg>');
     opacity: 0.1;
 }

 .header h1 {
     font-size: 2.5rem;
     margin-bottom: 0.5rem;
     font-weight: 700;
     position: relative;
     font-family: 'Georgia', 'Times New Roman', serif;
     line-height: 1.2;
     letter-spacing: -0.01em;
 }

 .header p {
     font-size: 1.1rem;
     opacity: 0.9;
     max-width: 80%;
     position: relative;
     font-weight: 400;
     line-height: 1.5;
     margin-bottom: 0;
 }

 .calculator-container {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 2rem;
     margin-bottom: 2rem;
 }

 @media (max-width: 768px) {
     .calculator-container {
         grid-template-columns: 1fr;
     }

     .container {
         padding: 1rem;
     }

     .header {
         padding: 1.2rem 1rem 1rem;
     }

     .header h1 {
         font-size: 1.3rem;
         margin-bottom: 0.25rem;
     }
 }

 /* 新增样式 - 表单美化 */
 .form-section.card {
     border: none;
     border-radius: 0.75rem;
     transition: all 0.3s ease;
 }

 .form-label.fw-bold {
     color: var(--secondary);
     font-size: 0.95rem;
 }

 .input-group-text {
     background-color: var(--light);
     border-color: #e2e8f0;
     color: var(--secondary);
 }

 .form-select,
 .form-control {
     border-color: #e2e8f0;
     font-size: 1rem;
     padding: 0.75rem 1rem;
 }

 .form-select:focus,
 .form-control:focus {
     border-color: var(--accent);
     box-shadow: 0 0 0 0.15rem rgba(226, 185, 121, 0.25);
 }

 .btn-primary {
     background: linear-gradient(to right, var(--primary), var(--secondary));
     border: none;
     border-radius: 0.5rem;
     transition: all 0.3s ease;
     box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
     position: relative;
     overflow: hidden;
 }

 .btn-primary:hover {
     transform: translateY(-2px);
     box-shadow: 0 6px 10px rgba(0, 0, 0, 0.15);
 }

 /* 按钮波纹效果 */
 .btn-primary::before {
     content: '';
     position: absolute;
     top: 50%;
     left: 50%;
     width: 300%;
     height: 300%;
     background: radial-gradient(circle, rgba(255, 255, 255, 0.2) 0%, transparent 60%);
     transform: translate(-50%, -50%) scale(0);
     opacity: 0;
     transition: transform 0.6s ease-out, opacity 0.6s ease-out;
 }

 .btn-primary:active::before {
     transform: translate(-50%, -50%) scale(1);
     opacity: 1;
 }

 /* 替换为简单的点击反馈 */
 .btn-primary.animate {
     transform: scale(0.98);
     transition: transform 0.1s ease-out;
 }

 /* 移除旧的波纹动画效果 */
 .btn-primary.animate::after {
     display: none;
 }

 @keyframes ripple {
     0% {
         transform: scale(0, 0) translate(-50%, -50%);
         opacity: 0.5;
     }

     100% {
         transform: scale(20, 20) translate(-50%, -50%);
         opacity: 0;
     }
 }

 /* 按钮动画效果移动端优化 */
 .btn-primary.animate::after {
     content: '';
     position: absolute;
     top: 50%;
     left: 50%;
     width: 5px;
     height: 5px;
     background: rgba(255, 255, 255, 0.5);
     opacity: 0;
     border-radius: 100%;
     transform: scale(1, 1) translate(-50%, -50%);
     transform-origin: 50% 50%;
     animation: ripple 0.6s ease-out;
 }

 @keyframes ripple {
     0% {
         transform: scale(0, 0) translate(-50%, -50%);
         opacity: 0.5;
     }

     100% {
         transform: scale(20, 20) translate(-50%, -50%);
         opacity: 0;
     }
 }

 /* 级联选择器样式优化 */
 .cascader-wrapper {
     position: relative;
     margin-bottom: 1rem;
 }

 .cascader-container {
     position: relative;
 }

 .cascader-input {
     cursor: pointer;
     background-color: #fff;
 }

 .cascader-input:focus {
     box-shadow: 0 0 0 0.2rem rgba(26, 54, 93, 0.25);
 }

 /* 添加箭头指示器 */
 .cascader-container .input-group:after {
     content: "\f078";
     font-family: "Font Awesome 6 Free";
     font-weight: 900;
     position: absolute;
     right: 12px;
     top: 50%;
     transform: translateY(-50%);
     color: #90a4ae;
     pointer-events: none;
     z-index: 2;
 }

 .cascader-dropdown {
     border-radius: 0.5rem;
     border: 1px solid #e2e8f0;
     overflow: hidden;
     position: absolute;
     top: 100%;
     left: 0;
     z-index: 1000;
     background: white;
     box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
     display: none;
 }

 .cascader-menu {
     max-height: 300px;
     overflow-y: auto;
     background-color: white;
     scrollbar-width: thin;
 }

 .cascader-menu::-webkit-scrollbar {
     width: 6px;
 }

 .cascader-menu::-webkit-scrollbar-thumb {
     background-color: rgba(0, 0, 0, 0.2);
     border-radius: 3px;
 }

 .cascader-menu-item {
     padding: 0.75rem 1rem;
     transition: background-color 0.2s;
 }

 .cascader-menu-item:hover {
     background-color: #f8fafc;
 }

 .cascader-menu-item.active {
     background-color: #ebf5ff;
     color: var(--primary);
     font-weight: bold;
 }

 /* 表单检查样式 */
 .form-check-input:checked {
     background-color: var(--primary);
     border-color: var(--primary);
 }

 .form-check-input:focus {
     box-shadow: 0 0 0 0.15rem rgba(26, 54, 93, 0.25);
 }

 /* 卡片动画 */
 .animate-fade-in {
     animation: fadeIn 0.5s ease-out;
 }

 @keyframes fadeIn {
     from {
         opacity: 0;
         transform: translateY(10px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 .form-section,
 .result-section {
     background: white;
     border-radius: 0.5rem;
     padding: 2rem;
     box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
 }

 .section-title {
     font-size: 1.5rem;
     color: var(--primary);
     margin-bottom: 1.5rem;
     padding-bottom: 0.5rem;
     border-bottom: 2px solid var(--accent);
     display: flex;
     align-items: center;
 }

 .section-title i {
     margin-right: 0.75rem;
     color: var(--accent);
 }

 .form-group {
     margin-bottom: 1.5rem;
 }

 label {
     display: block;
     margin-bottom: 0.5rem;
     font-weight: 600;
     color: var(--secondary);
 }

 select,
 input {
     width: 100%;
     padding: 0.75rem;
     border: 1px solid #e2e8f0;
     border-radius: 0.375rem;
     font-size: 1rem;
     transition: all 0.2s;
 }

 select:focus,
 input:focus {
     outline: none;
     border-color: var(--accent);
     box-shadow: 0 0 0 3px rgba(226, 185, 121, 0.3);
 }

 button {
     background: linear-gradient(to right, var(--primary), var(--secondary));
     color: white;
     border: none;
     padding: 0.75rem 1.5rem;
     font-size: 1rem;
     border-radius: 0.375rem;
     cursor: pointer;
     transition: all 0.3s;
     font-weight: 600;
     width: 100%;
     margin-top: 1rem;
 }

 button:hover {
     transform: translateY(-2px);
     box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
 }

 .result-card {
     background: white;
     border-radius: 0.5rem;
     padding: 1.5rem;
     margin-bottom: 1.5rem;
     box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
     border-left: 4px solid var(--accent);
     transition: transform 0.3s ease, box-shadow 0.3s ease;
 }

 .result-card:hover {
     transform: translateY(-2px);
     box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
 }

 .result-title {
     font-size: 1.25rem;
     color: var(--primary);
     margin-bottom: 1rem;
     display: flex;
     align-items: center;
 }

 .result-title i {
     margin-right: 0.5rem;
     color: var(--accent);
 }

 .result-value {
     font-size: 2rem;
     font-weight: 700;
     color: var(--primary);
     margin: 1rem 0;
 }

 .result-details {
     margin-top: 1rem;
     font-size: 0.9rem;
     color: #718096;
 }

 .fee-breakdown {
     width: 100%;
     border-collapse: collapse;
 }

 .fee-breakdown th,
 .fee-breakdown td {
     padding: 0.75rem;
     text-align: left;
     border-bottom: 1px solid #e2e8f0;
 }

 .fee-breakdown th {
     background-color: #f7fafc;
     color: var(--primary);
     font-weight: 600;
 }

 .fee-breakdown tr:last-child td {
     border-bottom: none;
 }

 .fee-breakdown tr:hover td {
     background-color: #f7fafc;
 }

 .legal-note {
     font-size: 0.85rem;
     color: #718096;
     margin-top: 2rem;
     padding: 1rem;
     background-color: #f7fafc;
     border-radius: 0.375rem;
     border-left: 3px solid var(--accent);
 }

 .footer {
     text-align: center;
     margin-top: 3rem;
     padding: 1.5rem;
     color: #718096;
     font-size: 0.9rem;
     border-top: 1px solid #e2e8f0;
 }

 .animate-fade-in {
     animation: fadeIn 0.5s ease-in-out;
 }

 @keyframes fadeIn {
     from {
         opacity: 0;
         transform: translateY(10px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 /* 添加滑动动画 */
 .animate-slide-in {
     animation: slideInUp 0.4s cubic-bezier(0.4, 0, 0.2, 1);
 }

 @keyframes slideInUp {
     from {
         opacity: 0;
         transform: translateY(20px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 /* 结果卡片悬停和点击效果 */
 .result-card {
     transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
     transform-origin: center;
     backface-visibility: hidden;
 }

 .result-card:hover {
     transform: translateY(-2px);
     box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
 }

 .result-card:active {
     transform: scale(0.98);
     background-color: rgba(247, 250, 252, 0.8);
 }

 .badge {
     display: inline-block;
     padding: 0.25rem 0.5rem;
     border-radius: 9999px;
     font-size: 0.75rem;
     font-weight: 600;
     margin-left: 0.5rem;
 }

 .badge-primary {
     background-color: var(--primary);
     color: white;
 }

 .badge-secondary {
     background-color: var(--secondary);
     color: white;
 }

 .badge-accent {
     background-color: var(--accent);
     color: var(--dark);
 }

 .cascader-container {
     position: relative;
     width: 100%;
 }

 .cascader-input {
     cursor: pointer;
     background-color: white;
 }

 .cascader-dropdown {
     position: absolute;
     top: 100%;
     left: 0;
     z-index: 1000;
     display: none;
     min-width: 300px;
     background: white;
     border: 1px solid #dcdfe6;
     border-radius: 4px;
     box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1);
     padding: 10px 0;
     margin-top: 5px;
     width: 100%;
 }

 .cascader-panel {
     display: flex;
     height: 200px;
 }

 .cascader-menu {
     flex: 1;
     border-right: 1px solid #e4e7ed;
     overflow-y: auto;
     padding: 0;
     margin: 0;
     list-style: none;
 }

 .cascader-menu:last-child {
     border-right: none;
 }

 .cascader-menu-item {
     padding: 8px 20px;
     cursor: pointer;
     white-space: nowrap;
     position: relative;
 }

 .cascader-menu-item:hover {
     background-color: #f5f7fa;
 }

 .cascader-menu-item.active {
     color: #409eff;
     background-color: #f0f7ff;
 }

 .cascader-menu-item.has-children::after {
     content: ">";
     position: absolute;
     right: 10px;
     color: #c0c4cc;
 }

 .selected-value {
     margin-top: 10px;
     color: #606266;
 }

 .formula-container {
     display: flex;
     flex-direction: column;
     gap: 0.75rem;
 }

 .formula-item {
     padding: 0.75rem;
     border-radius: 0.375rem;
     border: 1px solid #e2e8f0;
     background-color: #f8fafc;
     transition: background-color 0.2s;
 }

 .formula-item.active {
     background-color: #ebf8ff;
     border-color: #90cdf4;
     font-weight: 600;
 }

 .formula-range {
     font-weight: 600;
     color: var(--primary);
     margin-bottom: 0.25rem;
 }

 .formula-calculation {
     color: var(--secondary);
     font-family: monospace;
     margin-top: 0.25rem;
 }

 .back-link {
     display: inline-flex;
     align-items: center;
     padding: 0.4rem 0.8rem;
     color: white;
     text-decoration: none;
     font-weight: 600;
     transition: all 0.3s ease;
     border-radius: 6px;
     background-color: rgba(255, 255, 255, 0.15);
     margin-bottom: 1.2rem;
     box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
     position: relative;
     overflow: hidden;
     backdrop-filter: blur(3px);
     border: 1px solid rgba(255, 255, 255, 0.2);
 }

 .back-link:hover {
     background-color: rgba(255, 255, 255, 0.25);
     transform: translateY(-2px);
     box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
     color: white;
 }

 .back-link:active {
     transform: translateY(0);
     box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);
 }

 .back-link i {
     margin-right: 0.5rem;
     font-size: 0.9em;
     transition: transform 0.2s ease;
 }

 .back-link:hover i {
     transform: translateX(-3px);
 }

 /* 返回首页链接样式优化 */
 .header-top-nav {
     position: relative;
     margin-bottom: 1rem;
     display: flex;
     align-items: center;
     justify-content: flex-start;
 }

 /* 回到顶部按钮 */
 .back-to-top {
     position: fixed;
     bottom: 20px;
     right: 20px;
     width: 40px;
     height: 40px;
     border-radius: 50%;
     background: var(--primary);
     color: white;
     display: flex;
     align-items: center;
     justify-content: center;
     text-decoration: none;
     opacity: 0;
     transition: opacity 0.3s, transform 0.3s;
     transform: translateY(100px);
     z-index: 1000;
     box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
 }

 .back-to-top.visible {
     opacity: 1;
     transform: translateY(0);
 }

 .back-to-top:hover {
     background: var(--secondary);
     color: white;
 }

 .back-to-top:active {
     transform: scale(0.95);
 }

 /* 结果卡片样式优化 */
 .result-card {
     background: white;
     border-radius: 0.5rem;
     padding: 1.5rem;
     margin-bottom: 1.5rem;
     box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
     border-left: 4px solid var(--accent);
     transition: transform 0.3s ease, box-shadow 0.3s ease;
 }

 .result-card:hover {
     transform: translateY(-2px);
     box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
 }

 .result-value {
     font-size: 2rem;
     font-weight: 700;
     color: var(--primary);
     margin: 1rem 0;
 }

 .fee-breakdown {
     width: 100%;
     border-collapse: collapse;
 }

 .formula-container {
     display: flex;
     flex-direction: column;
     gap: 0.75rem;
 }

 .formula-item {
     padding: 0.75rem;
     border-radius: 0.375rem;
     border: 1px solid #e2e8f0;
     background-color: #f8fafc;
     transition: background-color 0.2s;
 }

 .formula-item.active {
     background-color: #ebf8ff;
     border-color: #90cdf4;
     font-weight: 600;
 }

 /* 移动端特殊优化 */
 @media (max-width: 768px) {
     body {
         padding-top: 0.75rem;
         padding-bottom: 0.75rem;
         background-color: #f0f4f8;
     }

     .container {
         padding: 0.75rem;
     }

     .calculator-container {
         gap: 1rem;
         margin-bottom: 1rem;
     }

     .form-section,
     .result-section {
         padding: 1.25rem;
     }

     .section-title {
         font-size: 1.25rem;
         margin-bottom: 1rem;
     }

     .form-group {
         margin-bottom: 1rem;
     }

     .back-to-top {
         bottom: 20px;
         right: 20px;
         width: 40px;
         height: 40px;
     }

     .back-to-top i {
         font-size: 1rem;
     }

     .header-top-nav {
         margin-bottom: 0.5rem;
     }

     .back-link {
         padding: 0.35rem 0.6rem;
         margin-bottom: 0.8rem;
         font-size: 0.85rem;
     }

     .back-link i {
         margin-right: 0.4rem;
     }

     .header {
         padding: 1.2rem 1rem 1rem;
         margin-bottom: 1rem;
     }

     .header h1 {
         font-size: 1.3rem;
         margin-bottom: 0.25rem;
         letter-spacing: 0;
         font-weight: 700;
     }

     .header p {
         font-size: 0.85rem;
         max-width: 100%;
         opacity: 0.95;
         line-height: 1.4;
     }

     /* 改进表单元素在移动端的显示 */
     .input-group-text {
         padding: 0.5rem;
     }

     .form-select,
     .form-control {
         font-size: 0.95rem;
         padding: 0.5rem 0.75rem;
     }

     .form-label {
         margin-bottom: 0.3rem;
         font-size: 0.9rem;
     }

     .form-check-label {
         font-size: 0.9rem;
     }

     .breakdown-card {
         padding: 0.75rem;
         margin-bottom: 0.5rem;
     }

     .breakdown-card-header {
         font-size: 0.95rem;
         margin-bottom: 0.5rem;
         padding-bottom: 0.35rem;
     }

     .breakdown-card-body {
         gap: 0.5rem;
     }

     .breakdown-card-row .label {
         font-size: 0.85rem;
     }

     .breakdown-card-row .value {
         font-size: 0.9rem;
     }

     .cascader-dropdown {
         min-width: 100%;
     }

     .cascader-panel {
         height: 240px;
     }

     .cascader-menu-item {
         padding: 10px 15px;
         font-size: 0.9rem;
     }

     .result-value {
         font-size: 1.5rem;
     }

     .result-title {
         font-size: 1.1rem;
     }

     .result-details {
         font-size: 0.85rem;
     }

     .legal-note {
         font-size: 0.8rem;
         padding: 0.75rem;
     }

     button {
         height: 40px;
         margin-top: 0.75rem;
         display: flex;
         align-items: center;
         justify-content: center;
         background: linear-gradient(145deg, var(--primary), var(--secondary));
         border-radius: 8px;
         box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
         transition: all 0.3s ease;
     }

     button:active {
         transform: scale(0.98);
         box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
     }

     /* 按钮动画效果移动端优化 */
     .btn-primary.animate::after {
         animation: ripple 0.5s ease-out;
     }

     /* 移动端波纹效果 */
     @keyframes ripple {
         0% {
             transform: scale(0, 0) translate(-50%, -50%);
             opacity: 0.4;
         }

         70% {
             transform: scale(10, 10) translate(-50%, -50%);
             opacity: 0.2;
         }

         100% {
             transform: scale(15, 15) translate(-50%, -50%);
             opacity: 0;
         }
     }
 }

 @media (max-width: 480px) {
     .container {
         padding: 0.5rem;
     }

     .header-top-nav {
         margin-bottom: 0.3rem;
     }

     .back-link {
         padding: 0.25rem 0.5rem;
         margin-bottom: 0.5rem;
         font-size: 0.8rem;
     }

     .header {
         padding: 0.75rem;
         margin-bottom: 0.75rem;
     }

     .header h1 {
         font-size: 1.1rem;
     }

     .header p {
         font-size: 0.8rem;
     }

     .form-section,
     .result-section {
         padding: 1rem;
         border-radius: 0.4rem;
     }

     .section-title {
         font-size: 1.1rem;
         margin-bottom: 0.85rem;
         padding-bottom: 0.4rem;
     }

     .section-title i {
         margin-right: 0.5rem;
     }

     /* 优化表单元素尺寸和间距 */
     .form-group {
         margin-bottom: 0.85rem;
     }

     .form-select,
     .form-control {
         font-size: 0.9rem;
         padding: 0.4rem 0.6rem;
         height: auto;
     }

     .input-group-text {
         padding: 0.4rem 0.6rem;
     }

     .form-label {
         margin-bottom: 0.25rem;
         font-size: 0.85rem;
     }

     .form-check-label {
         font-size: 0.85rem;
     }

     .btn {
         padding: 0.5rem 1rem;
         font-size: 0.9rem;
     }

     .result-card {
         padding: 1rem;
         margin-bottom: 1rem;
     }

     .result-value {
         font-size: 1.35rem;
         margin: 0.75rem 0;
     }

     /* 优化级联选择器 */
     .cascader-panel {
         height: 200px;
     }

     .cascader-menu-item {
         padding: 8px 12px;
         font-size: 0.85rem;
     }

     /* 确保费用明细在移动端可读性 */
     .breakdown-card {
         padding: 0.7rem;
     }

     .breakdown-card-header {
         font-size: 0.9rem;
     }

     .breakdown-card-row .label {
         font-size: 0.8rem;
     }

     .breakdown-card-row .value {
         font-size: 0.85rem;
     }
 }

 /* 超小屏幕的优化 */
 @media (max-width: 375px) {
     body {
         padding-top: 0.3rem;
         padding-bottom: 0.3rem;
     }

     .container {
         padding: 0.4rem;
     }

     .header {
         padding: 0.6rem;
         margin-bottom: 0.6rem;
     }

     .header h1 {
         font-size: 1rem;
     }

     .header p {
         font-size: 0.75rem;
         line-height: 1.3;
     }

     .form-section,
     .result-section {
         padding: 0.85rem;
     }

     .section-title {
         font-size: 1rem;
         margin-bottom: 0.75rem;
     }

     /* 确保输入框和选择框在小屏幕上清晰可见 */
     .form-select,
     .form-control {
         font-size: 0.9rem;
         padding: 0.4rem 0.5rem;
     }

     .input-group-text {
         padding: 0.4rem 0.5rem;
     }

     /* 优化费用明细卡片视图 */
     .breakdown-card {
         padding: 0.6rem;
         margin-bottom: 0.4rem;
     }

     .breakdown-card-header {
         font-size: 0.85rem;
         margin-bottom: 0.4rem;
         padding-bottom: 0.3rem;
     }

     .breakdown-card-row {
         flex-wrap: wrap;
     }

     /* 防止长数字在小屏幕上溢出 */
     .breakdown-card-row .value {
         font-size: 0.8rem;
         word-break: break-word;
     }

     .result-card {
         padding: 0.85rem;
         margin-bottom: 0.85rem;
     }

     .result-title {
         font-size: 1rem;
         margin-bottom: 0.75rem;
     }

     .result-value {
         font-size: 1.2rem;
         margin: 0.5rem 0;
         word-break: break-word;
     }

     .result-details {
         font-size: 0.75rem;
     }

     .legal-note {
         font-size: 0.75rem;
         padding: 0.6rem;
         margin-top: 1rem;
     }

     .footer {
         margin-top: 1.5rem;
         padding: 1rem;
         font-size: 0.75rem;
     }
 }

 /* 优化表单间距和布局 */
 @media (max-width: 768px) {
     .calculator-container {
         grid-template-columns: 1fr;
     }

     .form-section.card,
     .result-section.card {
         margin-bottom: 1rem;
     }

     /* 确保标的金额的数字清晰可见 */
     #amount {
         font-size: 1rem;
         font-weight: 500;
     }

     /* 优化计算按钮 */
     #calculateBtn {
         padding: 0.6rem;
         margin-top: 0.75rem;
     }

     /* 改进级联选择器在移动端的可用性 */
     .cascader-container {
         position: relative;
     }

     .cascader-dropdown {
         left: 0;
         right: 0;
         width: 100%;
     }

     /* 确保表单错误信息清晰可见 */
     .alert {
         padding: 0.75rem;
         font-size: 0.85rem;
     }
 }

 /* 添加流动性滚动到结果区域 */
 .scroll-to-result {
     scroll-behavior: smooth;
 }

 /* 确保明细表格在移动端显示合理 */
 @media (max-width: 480px) {

     .fee-breakdown th,
     .fee-breakdown td {
         padding: 0.5rem;
         font-size: 0.85rem;
     }

     /* 优化公式显示 */
     .formula-item {
         padding: 0.6rem;
         font-size: 0.85rem;
     }

     .formula-range {
         font-size: 0.85rem;
     }

     .formula-calculation {
         font-size: 0.8rem;
     }
 }

 /* 针对计算结果卡片的特殊优化 */
 @media (max-width: 768px) {
     .result-card {
         border-left-width: 3px;
     }

     /* 使用Flexbox确保数值正确显示而不溢出 */
     .breakdown-card-row {
         display: flex;
         justify-content: space-between;
         align-items: flex-start;
     }

     .breakdown-card-row .label {
         flex: 1;
         padding-right: 0.5rem;
     }

     .breakdown-card-row .value {
         text-align: right;
         word-break: break-all;
     }

     /* 改进移动端级联选择器显示 */
     .cascader-dropdown {
         max-height: 70vh;
         overflow: auto;
     }

     .cascader-panel {
         flex-wrap: wrap;
         height: auto;
         max-height: 60vh;
     }

     .cascader-menu {
         min-width: 150px;
         max-height: 60vh;
     }

     /* 改进长文本内容在小屏幕上的显示 */
     .cascader-menu-item {
         white-space: normal;
         line-height: 1.3;
         padding: 10px 8px;
     }

     /* 优化移动端输入字段可读性 */
     input[type="number"] {
         font-size: 16px !important;
         /* 防止iOS缩放 */
     }

     /* 强化明细卡片间距 */
     .fee-breakdown-cards {
         gap: 0.75rem;
     }

     /* 改进表单组件间距 */
     .form-section {
         display: flex;
         flex-direction: column;
         gap: 0.5rem;
     }
 }

 /* 超窄屏幕下的特殊处理 */
 @media (max-width: 320px) {
     .container {
         padding: 0.3rem;
     }

     .form-section,
     .result-section {
         padding: 0.75rem;
     }

     .breakdown-card {
         padding: 0.5rem;
     }

     .breakdown-card-header {
         font-size: 0.8rem;
         margin-bottom: 0.35rem;
         padding-bottom: 0.25rem;
     }

     .breakdown-card-row .label,
     .breakdown-card-row .value {
         font-size: 0.75rem;
     }

     .input-group-text {
         padding: 0.3rem 0.4rem;
     }

     .form-select,
     .form-control {
         font-size: 0.85rem;
         padding: 0.3rem 0.4rem;
     }
 }

 /* 添加动画效果 */
 .back-to-top.visible {
     animation: pulse 2s infinite;
 }

 @keyframes pulse {
     0% {
         box-shadow: 0 0 0 0 rgba(42, 82, 130, 0.4);
     }

     70% {
         box-shadow: 0 0 0 10px rgba(42, 82, 130, 0);
     }

     100% {
         box-shadow: 0 0 0 0 rgba(42, 82, 130, 0);
     }
 }

 /* 移动端费用明细卡片样式 */
 .fee-breakdown-cards {
     display: flex;
     flex-direction: column;
     gap: 1rem;
     margin-top: 1rem;
 }

 .breakdown-card {
     background-color: #ffffff;
     border-radius: 0.75rem;
     padding: 1rem;
     border: 1px solid #e2e8f0;
     box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
     transition: all 0.3s ease;
 }

 .breakdown-card:hover {
     transform: translateY(-3px);
     box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
 }

 .breakdown-card.total {
     font-weight: 600;
 }

 .breakdown-card-header {
     font-weight: 700;
     color: var(--primary);
     margin-bottom: 0.75rem;
     padding-bottom: 0.5rem;
     border-bottom: 1px solid #edf2f7;
     font-size: 1rem;
 }

 .breakdown-card-body {
     display: flex;
     flex-direction: column;
     gap: 0.75rem;
 }

 .breakdown-card-row {
     display: flex;
     justify-content: space-between;
     align-items: center;
 }

 .breakdown-card-row .label {
     color: var(--dark);
     opacity: 0.7;
     font-size: 0.9rem;
 }

 .breakdown-card-row .value {
     font-weight: 600;
     color: var(--secondary);
 }

 /* 添加减半缴纳样式优化 */
 .halve-fee-section {
     margin: 1.5rem 0;
     background-color: rgba(226, 185, 121, 0.1);
     border-radius: 0.5rem;
     padding: 1rem;
     border: 1px solid rgba(226, 185, 121, 0.3);
     transition: all 0.3s ease;
 }

 .halve-fee-section:hover {
     background-color: rgba(226, 185, 121, 0.15);
     border-color: rgba(226, 185, 121, 0.5);
 }

 .halve-fee-section .form-label {
     color: var(--secondary);
     display: flex;
     align-items: center;
     margin-bottom: 0.75rem;
 }

 .halve-fee-section .form-label i {
     margin-right: 0.5rem;
     color: var(--accent);
 }

 .halve-fee-section .form-check-inline {
     margin-right: 1.5rem;
 }

 .halve-fee-section .form-check-input {
     width: 1.1rem;
     height: 1.1rem;
     margin-top: 0.2rem;
 }

 .halve-fee-section .form-check-label {
     padding-left: 0.25rem;
     font-weight: 500;
 }

 /* 减半结果卡片样式优化 */
 #halveCard {
     background-color: #fdf6e3;
     border-left: 4px solid #e2b979;
     transition: all 0.3s ease;
 }

 #halveCard:hover {
     box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1);
     transform: translateY(-3px);
 }

 #halveCard .result-title {
     color: #b7791f;
 }

 #halveCard .result-title i {
     color: #d69e2e;
 }

 #halveCard .result-value {
     color: #744210;
     font-weight: 700;
 }

 #halveCard .result-details {
     color: #7b7046;
 }

 /* 减半缴纳的移动端样式 */
 @media (max-width: 768px) {

     /* 减半缴纳区域优化 */
     .halve-fee-section {
         padding: 0.75rem 1rem;
         margin: 1rem 0 0.8rem;
         border-radius: 0.5rem;
         background-color: rgba(226, 185, 121, 0.08);
         border: 1px solid rgba(226, 185, 121, 0.2);
         display: flex;
         flex-direction: column;
     }

     .halve-fee-section .form-label.fw-bold {
         font-size: 0.85rem;
         padding: 0;
         margin-bottom: 0.5rem;
         background: transparent;
         display: flex;
         align-items: center;
         color: var(--dark);
     }

     .halve-fee-section .form-label i {
         font-size: 0.9rem;
         margin-right: 0.3rem;
         color: var(--accent);
     }

     .halve-fee-section .d-flex {
         margin: 0;
         width: 100%;
         display: flex;
         justify-content: flex-start;
         flex-wrap: nowrap;
         margin-bottom: 0.5rem;
     }

     .halve-fee-section .form-check {
         padding: 0.4rem 0.75rem;
         margin-right: 0.6rem;
         margin-bottom: 0;
         border: 1px solid rgba(226, 185, 121, 0.2);
         background-color: rgba(255, 255, 255, 0.7);
         border-radius: 0.4rem;
         display: flex;
         align-items: center;
         min-width: 70px;
         justify-content: center;
     }

     .halve-fee-section .form-check:last-child {
         margin-right: 0;
     }

     .halve-fee-section .form-check-input {
         width: 1rem;
         height: 1rem;
         margin-top: 0;
         margin-right: 0.3rem;
     }

     .halve-fee-section .form-check-label {
         font-size: 0.9rem;
         margin-bottom: 0;
     }
 }

 /* 极小屏幕进一步优化 */
 @media (max-width: 375px) {
     .halve-fee-section {
         padding: 0.6rem 0.8rem;
     }

     .halve-fee-section .form-label.fw-bold {
         font-size: 0.8rem;
         margin-bottom: 0.4rem;
     }

     .halve-fee-section .form-check {
         padding: 0.35rem 0.5rem;
         min-width: 60px;
     }

     .halve-fee-section .form-check-input {
         width: 0.9rem;
         height: 0.9rem;
     }

     .halve-fee-section .form-check-label {
         font-size: 0.8rem;
     }
 }

 /* 减半缴纳样式优化 - 新版本 */
 .halve-fee-section {
     background-color: #ffffff;
     border-radius: 0.6rem;
     padding: 0.8rem 1rem;
     border: 1px solid rgba(0, 0, 0, 0.05);
     box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
     transition: all 0.25s ease;
 }

 .halve-fee-section:hover {
     box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
 }

 .halve-fee-section .form-check-label {
     transition: all 0.2s ease;
     display: flex;
     align-items: center;
     justify-content: center;
     width: 100%;
     position: relative;
     overflow: hidden;
     font-weight: 500;
     border: 1px solid #e9ecef;
     min-width: 70px;
     height: 32px;
     /* 固定高度防止抖动 */
 }

 .halve-fee-section .form-check-label:hover {
     transform: translateY(-1px);
 }

 /* 选中状态样式 */
 .form-switch-custom input[type="radio"]:checked+label[for="halfFeeYes"] {
     background-color: rgba(255, 193, 7, 0.15);
     color: #212529;
     border-color: rgba(255, 193, 7, 0.4);
 }

 .form-switch-custom input[type="radio"]:checked+label[for="halfFeeNo"] {
     background-color: rgba(108, 117, 125, 0.15);
     color: #495057;
     border-color: rgba(108, 117, 125, 0.3);
 }

 /* 未选中状态样式 */
 .form-switch-custom input[type="radio"]:not(:checked)+label {
     background-color: #ffffff;
     color: #6c757d;
 }

 .halve-fee-note {
     background-color: #f8f9fa;
     border-color: #dee2e6;
     transition: all 0.2s ease;
     line-height: 1.3;
 }

 /* 移动端优化 */
 @media (max-width: 768px) {
     .halve-fee-section {
         padding: 0.6rem 0.8rem;
         border-radius: 0.5rem;
     }

     .halve-fee-section .form-check-label {
         min-width: 60px;
         height: 28px;
         /* 移动端固定高度 */
         font-size: 0.85rem;
     }

     .halve-fee-section .form-check-label i {
         font-size: 0.75rem;
     }

     .halve-fee-note {
         font-size: 0.7rem !important;
         padding: 0.5rem !important;
     }
 }

 /* 超小屏幕优化 */
 @media (max-width: 375px) {
     .halve-fee-section {
         padding: 0.75rem;
     }

     .halve-fee-section .form-check-label {
         padding: 0.25rem 0.9rem !important;
         font-size: 0.8rem;
     }
 }

 /* 应用动画效果 */
 .form-switch-custom label {
     position: relative;
     z-index: 1;
 }

 /* 删除可能导致抖动的动画效果 */
 .form-switch-custom label::before {
     display: none;
 }

 /* 删除过度的动画效果 */
 @media (max-width: 375px) {
     .halve-fee-section {
         padding: 0.6rem 0.75rem;
     }

     .halve-fee-section .form-check-label {
         height: 26px;
         /* 超小屏幕固定高度 */
         font-size: 0.8rem;
     }
 }

 /* 移动端结果卡片文本样式优化 */
 .small-text {
     word-break: break-word;
     line-height: 1.3;
     overflow-wrap: break-word;
 }

 @media (max-width: 768px) {
     #halveCard .result-value {
         font-size: 1.6rem;
         line-height: 1.4;
     }

     #halveCard .result-details {
         font-size: 0.85rem;
         line-height: 1.3;
         margin-bottom: 0.3rem;
     }

     #halveCard .small-text {
         font-size: 0.7rem !important;
         line-height: 1.2;
         padding: 0.3rem 0;
     }

     #halveCard .mt-2 {
         margin-top: 0.5rem !important;
     }

     #halveCard .pt-2 {
         padding-top: 0.5rem !important;
     }
 }

 /* 超小屏幕优化 */
 @media (max-width: 375px) {
     #halveCard .result-value {
         font-size: 1.4rem;
     }

     #halveCard .result-details {
         font-size: 0.75rem;
     }

     #halveCard .small-text {
         font-size: 0.65rem !important;
     }
 }

 /* 进一步压缩半费功能的样式 */
 .smaller-icon {
     font-size: 0.75rem;
 }

 .tiny-text {
     font-size: 0.65rem;
     line-height: 1.2;
     color: #6c757d;
 }

 /* 移动端下的更紧凑设计 */
 @media (max-width: 768px) {
     .halve-fee-section {
         padding: 0.5rem 0.7rem;
         margin-bottom: 0.75rem !important;
         max-height: 85px;
         overflow: hidden;
     }

     .halve-fee-section .form-check-label {
         height: 24px;
         min-width: 55px;
         font-size: 0.8rem;
     }

     .halve-fee-section label.form-label {
         font-size: 0.8rem;
         margin-bottom: 0.25rem !important;
     }

     .smaller-icon {
         font-size: 0.7rem;
     }
 }

 /* 超小屏幕的极简设计 */
 @media (max-width: 375px) {
     .halve-fee-section {
         padding: 0.4rem 0.6rem;
         max-height: 75px;
     }

     .halve-fee-section .form-check-label {
         height: 22px;
         min-width: 50px;
         font-size: 0.75rem;
         padding: 0 0.5rem !important;
     }

     .smaller-icon {
         font-size: 0.65rem;
     }

     .tiny-text {
         font-size: 0.6rem;
         line-height: 1.1;
     }
 }

 /* 移动端级联选择器优化 */
 @media (max-width: 768px) {
     .cascader-dropdown {
         position: fixed;
         top: 50% !important;
         left: 0 !important;
         right: 0 !important;
         transform: translateY(-50%);
         max-height: 80vh;
         width: 90%;
         margin: 0 auto;
         border-radius: 8px;
         z-index: 2000;
         box-shadow: 0 5px 25px rgba(0, 0, 0, 0.2);
     }

     .cascader-panel {
         display: flex;
         max-height: 70vh;
         overflow: hidden;
     }

     .cascader-menu {
         flex: 1;
         max-height: 70vh;
         overflow-y: auto;
         -webkit-overflow-scrolling: touch;
     }

     .cascader-menu-item {
         padding: 12px 15px;
         font-size: 15px;
         position: relative;
     }

     /* 添加关闭按钮 */
     .mobile-cascader-close {
         position: absolute;
         top: 8px;
         right: 8px;
         width: 24px;
         height: 24px;
         background: rgba(0, 0, 0, 0.1);
         border-radius: 50%;
         display: none;
         align-items: center;
         justify-content: center;
         font-size: 14px;
         color: #666;
         z-index: 10;
     }

     /* 移动端背景遮罩 */
     .cascader-backdrop {
         position: fixed;
         top: 0;
         left: 0;
         right: 0;
         bottom: 0;
         background-color: rgba(0, 0, 0, 0.4);
         z-index: 1999;
         display: none;
     }
 }

 /* PC端级联选择器优化 */
 @media (min-width: 769px) {
     .cascader-dropdown {
         min-width: 500px;
         max-width: 80%;
     }

     .cascader-panel {
         display: flex;
         height: 400px;
     }

     /* 在PC端隐藏关闭按钮 */
     .mobile-cascader-close {
         display: none !important;
     }

     .cascader-menu {
         min-width: 200px;
         max-height: 400px;
         overflow-y: auto;
         border-right: 1px solid #f0f0f0;
     }

     .cascader-menu:last-child {
         border-right: none;
     }

     .cascader-menu-item {
         padding: 10px 15px;
         line-height: 1.4;
         white-space: normal;
         word-break: break-word;
         position: relative;
         display: flex;
         align-items: center;
         flex-wrap: wrap;
     }

     .cascader-menu-item.has-children::after {
         content: '\f054';
         font-family: 'Font Awesome 5 Free';
         font-weight: 900;
         position: absolute;
         right: 10px;
         font-size: 12px;
         color: #999;
     }

     .cascader-menu-item:hover {
         background-color: #f5f8ff;
     }

     .cascader-menu-item.active {
         background-color: #ebf5ff;
         color: #2563eb;
         font-weight: bold;
     }
 }

 /* 长文本标签的格式化样式 */
 .formatted-label {
     display: block;
     width: 100%;
     line-height: 1.5;
     margin: 5px 0;
     padding-right: 15px;
 }

 /* 确保有子菜单的项目有足够的间距给箭头图标 */
 .cascader-menu-item.has-children .formatted-label {
     padding-right: 25px;
 }

 /* 改进移动端级联选择器滑动体验 */
 @media (max-width: 768px) {
     .cascader-menu {
         -webkit-overflow-scrolling: touch;
         /* 启用iOS的惯性滚动 */
         touch-action: pan-y;
         /* 允许垂直滑动，但禁止水平滑动 */
         overscroll-behavior: contain;
         /* 防止滚动传播到父元素 */
         max-height: 50vh;
         /* 限制最大高度以确保在各种屏幕上可见 */
         padding-bottom: 30px;
         /* 额外的底部空间以便于滚动到最后一项 */
     }

     .cascader-backdrop {
         position: fixed;
         top: 0;
         left: 0;
         right: 0;
         bottom: 0;
         background-color: rgba(0, 0, 0, 0.5);
         z-index: 999;
         display: none;
     }

     /* 确保滚动区域有明显的视觉提示 */
     .cascader-menu::-webkit-scrollbar {
         width: 4px;
     }

     .cascader-menu::-webkit-scrollbar-thumb {
         background-color: rgba(0, 0, 0, 0.2);
         border-radius: 4px;
     }

     /* 提高选择器交互区域的大小 */
     .cascader-menu-item {
         padding: 12px 15px;
         min-height: 44px;
         /* 增加触控区域的最小高度 */
     }
 }

 /* 表单验证样式 */
 .is-invalid {
     border-color: var(--error) !important;
     box-shadow: 0 0 0 0.1rem rgba(229, 62, 62, 0.25) !important;
     transition: all 0.3s ease;
 }

 .invalid-feedback {
     display: block;
     width: 100%;
     margin-top: 0.25rem;
     font-size: 0.875em;
     color: var(--error);
     animation: fadeSlideIn 0.3s ease-in-out;
     transition: all 0.3s ease;
 }

 @keyframes fadeSlideIn {
     0% {
         opacity: 0;
         transform: translateY(-5px);
     }

     100% {
         opacity: 1;
         transform: translateY(0);
     }
 }

 .highlight-field {
     animation: highlightPulse 1.5s ease-in-out;
 }

 @keyframes highlightPulse {
     0% {
         box-shadow: 0 0 0 0 rgba(229, 62, 62, 0.7);
     }

     50% {
         box-shadow: 0 0 0 10px rgba(229, 62, 62, 0);
     }

     100% {
         box-shadow: 0 0 0 0 rgba(229, 62, 62, 0);
     }
 }

 /* 容器错误样式 */
 .border-danger {
     border-color: var(--error) !important;
     animation: shakeBorder 0.5s ease-in-out;
 }

 @keyframes shakeBorder {

     0%,
     100% {
         transform: translateX(0);
     }

     10%,
     30%,
     50%,
     70%,
     90% {
         transform: translateX(-5px);
     }

     20%,
     40%,
     60%,
     80% {
         transform: translateX(5px);
     }
 }

 .case-type-container,
 .application-type-container {
     position: relative;
     transition: all 0.3s ease;
 }

 /* 移动端表单验证样式优化 */
 @media (max-width: 768px) {
     .invalid-feedback {
         font-size: 0.8em;
         padding: 0.25rem 0.5rem;
         background-color: rgba(229, 62, 62, 0.05);
         border-radius: 0.25rem;
     }

     .highlight-field {
         animation: highlightPulseMobile 1.5s ease-in-out;
     }

     @keyframes highlightPulseMobile {
         0% {
             background-color: rgba(229, 62, 62, 0.1);
         }

         50% {
             background-color: rgba(229, 62, 62, 0);
         }

         100% {
             background-color: rgba(229, 62, 62, 0);
         }
     }
 }