/* 全局样式 common.css */

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif;
	color: #303133;
	background: #f0f2f5;
}

:root {
	--primary-green: #009944;
	--gradient-green-start: #e5f7ed;
	--gradient-green-end: #c8e6d3;
	--text-main: #303133;
	--text-sub: #909399;
	--border-color: #ebeef5;
	--bg-page: #f5f7fa;
}

/* ============ CFCA 密码控件样式（来自 passwordControlCfca.vue）============ */
.SipBoxFirst {
	overflow: hidden;
	width: 100%;
	position: relative;
	background: #fff;
	border: 1px solid #dcdfe6;
	border-radius: 6px;
	height: 42px;
	padding-left: 12px;
	box-sizing: border-box;
	transition: border-color .2s;
}

.SipBoxFirst:focus-within {
	border-color: var(--primary-green);
}

.SipBoxSecond {
	position: absolute;
	top: 0;
	width: 100%;
	height: 40px;
	line-height: 40px;
	overflow: hidden;
	font-size: 14px;
	background: transparent;
	border: none;
	outline: none;
}

/* div 模拟密码框：placeholder 用 data-placeholder 模拟 */
.SipBoxSecond[data-empty='true']::before {
	content: attr(data-placeholder);
	font-size: 14px;
	color: #c0c4cc;
	cursor: text;
}

.SipBoxSecondLive2:empty:before {
	vertical-align: middle;
	content: attr(placeholder);
	font-size: 14px;
	color: #c0c4cc;
	display: inline-block;
	margin: -2px 0 0 0;
}

.div-password {
	white-space: nowrap;
	overflow: hidden;
	outline: none;
	cursor: text;
	-webkit-user-modify: read-write-plaintext-only;
}

/* 圆点密码用等宽字体，避免光标错位 */
.div-password {
	font-family: 'Courier New', Consolas, monospace;
	letter-spacing: 1px;
}

/* 模拟光标：focus 时在末尾显示竖线 */
.SipBoxSecond[data-empty='false']::after,
.SipBoxSecond:not([data-empty])::after {
	content: '';
	display: none;
}

.SipBoxSecond[data-focus='true']:not([data-empty='true']) {
	caret-color: var(--primary-green);
}


.cursor {
	background-color: #606266;
	left: 20px;
	position: absolute;
	margin-top: 9px;
	width: 1px;
	height: 20px;
	display: none;
	z-index: 1000;
}

/* 圆点占位样式，使用等宽字体对齐 */
.password-dots {
	font-family: 'Courier New', Consolas, monospace;
	letter-spacing: 2px;
	font-size: 14px;
	line-height: 40px;
	padding-left: 12px;
	color: #303133;
}

#SIPBoxMobile {
	-webkit-user-select: none;
	user-select: none;
}

#SIPBoxMobile canvas {
	-webkit-touch-callout: none;
	pointer-events: auto;
	/* 确保 Canvas 能接收触摸 */
}

#loginPwdMobile-myBox {
	border: 1px solid #dcdfe6;
	border-radius: 6px;
	padding: 0 14px;
	font-size: 14px;
	box-sizing: border-box;
	outline: none;
	transition: border-color .2s;
}
}

#loginPwdMobile-myBox[data-focus='true']:not([data-empty='true']) {
	caret-color: var(--primary-green);
}

#loginPwdMobile-myBox:focus-within {
	border-color: var(--primary-green);
}
.pwdDiv {
    display: inline-block;
    white-space: nowrap;
    position: relative;
    padding: 0 !important;            /* 确保无内边距干扰 scrollWidth */
    font-family: 'Courier New', Consolas, monospace;
    letter-spacing: 1px;
    font-size: 14px;
    line-height: 40px;               /* 与父容器高度匹配 */
}

.pwdCursor {
   /* position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 2px;
    height: 24px;
    background-color: #009944;
    animation: blink 1s step-end infinite; */
}

@keyframes blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}
