/** 微信小程序样式 **/

/* 极轻扁平阴影 */
.flat-shadow {
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.02), inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

/* 头部： 自定义毛玻璃叠加层 */
.header-gradient-blue {
    /* 从上到下，白色快速过渡到深蓝色，蓝色占比更多 */
    background: linear-gradient(180deg, #FFFFFF 0%, #E6F0FF 15%, #B8D4FF 45%, #3B82F6 75%, #2563EB 100%);
}
.header-blur-overlay {
    position: relative;
    isolation: isolate;
}
/* 伪元素实现毛玻璃质感，强度适中，不抢蓝色渐变 */
.header-blur-overlay::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: inherit;
    filter: blur(10px);
    opacity: 0.35;
    z-index: -2;
}

.header-blur-overlay::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    z-index: -1;
    pointer-events: none;
}
/* 确保内容区在毛玻璃之上 */
.header-content {
    position: relative;
    z-index: 2;
}

/* 圆角改小 */
.rounded-b-lg {
    border-bottom-left-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
}

/* 毛玻璃层圆角匹配 */
.header-blur-overlay::before,
.header-blur-overlay::after {
    border-bottom-left-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
}

/* 确保中间文字无背景 */
.bg-transparent {
    background-color: transparent !important;
}

/* 按钮点击反馈平滑 */
.btn-click-scale {
    transition: transform 0.12s cubic-bezier(0.2, 0.9, 0.4, 1.1), background 0.15s;
}
.btn-click-scale:active {
    transform: scale(0.95);
}

/* 额外增加Tailwind中没有的细微阴影调整（扁平化调弱立体感） */
.flat-shadow {
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.02), inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

/* 隐藏上下箭头 */
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type="number"] {
    -moz-appearance: textfield;
}

/* 设置全局控件禁用时背景变灰色 */
input:disabled, textarea:disabled, select:disabled, button:disabled {
    background: #e5e7eb;
    user-select: text;
}

/* 主色调深蓝色 #000080 */
.bg-primary { background-color: #000080; }
.hover\:bg-primary-dark:hover { background-color: #000066; }
.text-primary { color: #000080; }
.border-primary { border-color: #000080; }

/* 链接颜色 #2563eb */
.link-blue { color: #2563eb; }
.hover\:link-blue-dark:hover { color: #1d4ed8; }

/* 去除输入框默认轮廓 */
input:focus { outline: none; }
/* 模拟小程序点击态 */
.tap-highlight-none { -webkit-tap-highlight-color: transparent; }
/* 页面背景色 */
body { background-color: #f5f5f5; margin: 0; font-size: 16px; }

/* 颜色加深、字体加大覆盖 */
/*input, select, textarea, button, a, .text-sm {*/
/*    font-size: 1rem;*/
/*}*/
/* 图标颜色加深 */
/*.fas, .fab {*/
/*    !*color: #4b5563;*!*/
/*}*/
/* 占位符颜色加深 */
/*::placeholder {*/
/*    color: #6b7280 !important;*/
/*    opacity: 1;*/
/*}*/
/* 分割线加深 */
/*.border-gray-100 {*/
/*    !*border-color: #d1d5db !important;*!*/
/*}*/
/*.bg-gray-100 {*/
/*    background-color: #e5e7eb !important;*/
/*}*/
/*.text-gray-300 {*/
/*    color: #9ca3af !important;*/
/*}*/
/*.text-gray-400 {*/
/*    color: #6b7280 !important;*/
/*}*/
/*.text-gray-500 {*/
/*    color: #4b5563 !important;*/
/*}*/
/*.text-gray-800 {*/
/*    color: #1f2937 !important;*/
/*}*/

/* 链接基础样式 */
a {
    text-decoration: none;
}
/* 获取验证码链接样式 */
.vcode-link {
    color: #2563eb;
    font-weight: 500;
    font-size: 0.875rem;
    white-space: nowrap;
    margin-left: 0.5rem;
    transition: color 0.2s;
}
.vcode-link:hover {
    color: #1d4ed8;
}


/* 底部tab激活指示条 */
.active-tab::after {
    content: '';
    @apply absolute -bottom-1 left-1/2 transform -translate-x-1/2 w-6 h-0.5 bg-[#000080] rounded-full;
}

/* 禁用点击高亮 */
.tap-highlight-none { -webkit-tap-highlight-color: transparent; }

/* 图标容器立体效果 + 边框 + 加强阴影 */
.icon-card {
    background: linear-gradient(145deg, #f9fafb, #e5e7eb);
    border: 1px solid #d1d5db; /* 边框颜色 gray-300 */
    box-shadow: 0 12px 20px -8px rgba(0,0,0,0.15), 0 4px 8px -4px rgba(0,0,0,0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.icon-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 25px -5px rgba(0,0,0,0.2), 0 10px 15px -5px rgba(0,0,0,0.15);
    border-color: #9ca3af; /* 悬停时边框加深 */
}

/* 图标增加轻微投影 */
.icon-card i {
    filter: drop-shadow(0 2px 2px rgba(0,0,0,0.1));
}

/* 自定义滚动条隐藏 */
.scrollbar-hide::-webkit-scrollbar { display: none; }
.scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }

/* 卡片渐变背景：白色70%，然后过渡到浅蓝色 */
.card-gradient {
    background: linear-gradient(180deg, white 60%, #83b1f7 100%);
}


/** 下拉菜单样式 combobox */
.custom-scroll::-webkit-scrollbar {
    width: 4px;
    height: 4px;
}
.custom-scroll::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}
.custom-scroll::-webkit-scrollbar-thumb {
    background: #c1c1c6;
    border-radius: 4px;
}
.option-item {
    transition: background-color 0.1s;
}
.option-item:hover {
    background-color: #f3f4f6;
}
.option-highlight {
    background-color: #e5e7eb;
}
.option-selected {
    background-color: #f0fdf4;
}
.combobox-scroll::-webkit-scrollbar {
    width: 4px;
    height: 4px;
}
.combobox-scroll::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}
.combobox-scroll::-webkit-scrollbar-thumb {
    background: #c1c1c6;
    border-radius: 4px;
}
.option-selected {
    background-color: #f0fdf4;
}
.option-highlight {
    background-color: #f3f4f6;
}


/* 隐藏滚动条但保持滚动功能 */
.scrollbar-hide::-webkit-scrollbar {
    display: none;
}
.scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
/* 固定右侧操作列阴影效果 */
.shadow-left {
    box-shadow: -2px 0 5px -2px rgba(0,0,0,0.1);
}
/* 卡片式列表项点击反馈 */
.list-card:active {
    transform: scale(0.98);
    transition: transform 0.1s;
    background-color: #f9fafb;
}

/* 输入框样式 */
select.form-control {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
    background-position: right 0.5rem center;
    background-repeat: no-repeat;
    background-size: 1.5em 1.5em;
}

/** 动画效果 slide-up **/
@keyframes scaleUp {
    from {
        transform: scale(0.95);
        opacity: 0;
    }
    to {
        transform: scale(1);
        opacity: 1;
    }
}
/** 弹出框动画 **/
.dialog-content {
    animation: scaleUp 0.2s ease-out;
}
/** 禁用点击反馈 **/
button {
    transition: all 0.2s;
}
/** 按钮点击反馈 **/
button:active {
    transform: scale(0.97);
}
/* 按钮颜色样式 */
.btn-gradient-warning {
    background: linear-gradient(135deg, #f97316 0%, #ef4444 100%);
}
.btn-gradient-success {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
}
.btn-gradient-info {
    background: linear-gradient(135deg, #3b82f6 0%, #6366f1 100%);
}
.btn-gradient-default {
    background: linear-gradient(135deg, #3b82f6 0%, #6366f1 100%);
}
.btn-gradient-warning:hover {
    background: linear-gradient(135deg, #ea580c 0%, #dc2626 100%);
}
.btn-gradient-success:hover {
    background: linear-gradient(135deg, #059669 0%, #047857 100%);
}
.btn-gradient-info:hover {
    background: linear-gradient(135deg, #2563eb 0%, #4f46e5 100%);
}
.btn-gradient-default:hover {
    background: linear-gradient(135deg, #2563eb 0%, #4f46e5 100%);
}


/* 两行文本截断 */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}