/* 文件路径: public/style.css (v8 - 优化页脚链接样式) */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500;700&display=swap');

:root {
    --primary-color: #007bff;
    --primary-hover-color: #0056b3;
    --success-color: #28a745;
    --success-hover-color: #218838;
    --light-bg-color: #ffffff;
    --dark-text-color: #343a40;
    --light-text-color: #6c757d;
    --border-color: #dee2e6;
    --panel-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    --body-bg-color: #f8f9fa;
}

body {
    font-family: 'Noto Sans SC', sans-serif;
    background-color: var(--body-bg-color);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cg fill-rule='evenodd'%3E%3Cg fill='%23ced4da' fill-opacity='0.15'%3E%3Cpath d='M0 38.59l2.83-2.83 1.41 1.41L1.41 40H0v-1.41zM0 1.4l2.83 2.83 1.41-1.41L1.41 0H0v1.41zM38.59 40l-2.83-2.83 1.41-1.41L40 38.59V40h-1.41zM40 1.41l-2.83 2.83-1.41-1.41L38.59 0H40v1.41zM20 18.6l2.83-2.83 1.41 1.41L21.41 20l2.83 2.83-1.41 1.41L20 21.41l-2.83 2.83-1.41-1.41L18.59 20l-2.83-2.83 1.41-1.41L20 18.59z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    margin: 0;
    padding: 15px;
    color: var(--dark-text-color);
    text-align: center;
    box-sizing: border-box;
}

.header { display: flex; justify-content: center; align-items: center; position: relative; max-width: 1200px; margin: 0 auto 25px auto; }
.header h1 { margin: 0; font-weight: 700; color: var(--dark-text-color); font-size: 2rem; }
.register-btn { position: absolute; right: 0; top: 50%; transform: translateY(-50%); padding: 10px 18px; font-size: 15px; font-weight: 500; background-color: var(--success-color); color: white; border: none; border-radius: 8px; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 2px 4px rgba(40, 167, 69, 0.3); white-space: nowrap; }
.register-btn:hover { background-color: var(--success-hover-color); transform: translateY(-52%); box-shadow: 0 4px 8px rgba(40, 167, 69, 0.4); }

.panel { width: 100%; max-width: 1200px; margin: 25px auto; padding: 20px; background-color: var(--light-bg-color); border: 1px solid var(--border-color); border-radius: 12px; box-shadow: var(--panel-shadow); text-align: left; box-sizing: border-box; }

#map-container {
    height: 450px;
    padding: 0;
    overflow: hidden;
    background-color: #B3D9E6; 
}

#province-title { margin-top: 0; margin-bottom: 20px; font-weight: 500; color: var(--primary-color); border-bottom: 2px solid #e9ecef; padding-bottom: 15px; }

#student-list { list-style-type: none; padding: 0; }
#student-list li { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; padding: 15px 10px; border-bottom: 1px solid #f1f3f5; transition: background-color 0.2s ease; }
#student-list li:last-child { border-bottom: none; }
#student-list li:hover { background-color: #f8f9fa; }
#student-list li span { display: inline-block; color: var(--light-text-color); font-size: 15px; }
#student-list li span strong { color: var(--dark-text-color); font-weight: 500; }
#student-list li span:not(:last-child) { margin-right: 10px; }

.status-work, .status-school { padding: 3px 8px; border-radius: 4px; color: white; font-size: 13px !important; }
.status-work { background-color: var(--success-color); }
.status-school { background-color: #ffc107; color: #333; }

.modal-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); z-index: 1000; justify-content: center; align-items: center; backdrop-filter: blur(5px); }
.modal-overlay.show { display: flex; }
.modal-content { position: relative; background-color: var(--light-bg-color); padding: 35px; border-radius: 12px; box-shadow: 0 5px 20px rgba(0,0,0,0.2); width: 90%; max-width: 450px; }
.modal-content h2 { margin-top: 0; margin-bottom: 10px; text-align: center; font-weight: 700; }
.modal-subtitle { text-align: center; color: var(--light-text-color); margin-top: 0; margin-bottom: 25px; }
.form-group { margin-bottom: 18px; text-align: left; }
.form-group label { display: block; margin-bottom: 8px; font-weight: 500; font-size: 15px; }
.form-group input[type="text"], .form-group select { width: 100%; padding: 12px; border: 1px solid var(--border-color); border-radius: 8px; box-sizing: border-box; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.form-group input[type="text"]:focus, .form-group select:focus { outline: none; border-color: var(--primary-color); box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.15); }
.radio-group { display: flex; align-items: center; }
.radio-group input { margin-right: 5px; }
.radio-group label { margin-right: 20px; font-weight: 400; }
.conditional-field { display: none; }
.modal-content button { width: 100%; padding: 12px; background-color: var(--primary-color); color: white; border: none; border-radius: 8px; font-size: 16px; font-weight: 500; cursor: pointer; transition: background-color 0.3s ease; }
.modal-content button:hover { background-color: var(--primary-hover-color); }
.modal-content button:disabled { background-color: #6c757d; cursor: not-allowed; }
.lookup-btn { background-color: var(--success-color) !important; }
.lookup-btn:hover { background-color: var(--success-hover-color) !important; }

#back-button-container { position: absolute; top: 90px; left: 5%; z-index: 10; }
.back-btn { padding: 8px 16px; background-color: var(--primary-color); color: white; border: none; border-radius: 8px; cursor: pointer; font-size: 14px; box-shadow: 0 2px 5px rgba(0,0,0,0.2); transition: all 0.2s ease; }
.back-btn:hover { background-color: var(--primary-hover-color); box-shadow: 0 4px 8px rgba(0,0,0,0.25); }

.stats-container { display: flex; flex-wrap: wrap; justify-content: space-around; align-items: center; gap: 15px; padding: 10px 0; }
.stat-item { background-color: #f8f9fa; border: 1px solid var(--border-color); border-radius: 10px; padding: 20px; text-align: center; flex-grow: 1; min-width: 150px; transition: all 0.3s ease; }
.stat-item:hover { transform: translateY(-5px); box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1); }
.stat-value { font-size: 2.2rem; font-weight: 700; color: var(--primary-color); margin: 0; }
.stat-label { font-size: 1rem; color: var(--light-text-color); margin-top: 5px; }
.stat-item.provinces .stat-value { color: #fd7e14; }
.stat-item.cities .stat-value { color: #20c997; }
.stat-item.working .stat-value { color: var(--success-color); }

/* --- 【核心修改】外部链接和版权信息样式 --- */

.footer-actions {
    text-align: center;
    margin: 20px 0; /* 减小上下边距 */
}

/* 将按钮样式改为低调的文本链接样式 */
.external-link-btn {
    background-color: transparent; /* 移除背景色 */
    color: var(--light-text-color); /* 使用次要文字颜色 */
    text-decoration: none; /* 移除默认下划线 */
    font-size: 15px;
    font-weight: 400;
    padding: 5px 10px; /* 减小内边距 */
    border-radius: 6px;
    transition: all 0.2s ease; /* 保留平滑过渡 */
}

/* 鼠标悬浮时才显示下划线和主色调，提供交互反馈 */
.external-link-btn:hover {
    color: var(--primary-color);
    background-color: #e9ecef; /* 添加一个非常淡的背景色 */
    text-decoration: underline;
}

.site-footer {
    text-align: center;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid var(--border-color);
    color: var(--light-text-color);
    font-size: 14px;
}
/* --- 修改结束 --- */


@media (min-width: 992px) {
    #map-container { height: 650px; }
    .header h1 { font-size: 2.2rem; }
}

@media (max-width: 768px) {
    body { padding: 10px; }
    .header { flex-direction: column; gap: 15px; }
    .header h1 { font-size: 1.5rem; }
    .register-btn { position: static; transform: none; width: 100%; max-width: 300px; padding: 12px; }
    .panel { padding: 15px; }
    #back-button-container { top: 150px; left: 15px; }
    #map-container { height: 60vh; }
    .stat-item { padding: 12px; min-width: 100px; flex-basis: 40%; }
    .stat-value { font-size: 1.5rem; }
    .stat-label { font-size: 0.8rem; }
}