:root {
    --primary: #4F6BEB;
    --primary-light: #6D83F0;
    --primary-dark: #3A54D4;
    --success: #34C759;
    --success-light: #E8F9ED;
    --warning: #FF9500;
    --warning-light: #FFF4E5;
    --danger: #FF3B30;
    --danger-light: #FFEFEE;
    --info: #5AC8FA;
    --info-light: #EDFBFF;
    --bg: #F7F8FA;
    --bg-card: #FFFFFF;
    --border: #E8ECF0;
    --border-light: #F0F3F6;
    --text: #1D2939;
    --text-secondary: #667085;
    --text-muted: #98A2B3;
    --shadow-sm: 0 1px 3px rgba(0,0,0,0.04);
    --shadow: 0 2px 8px rgba(0,0,0,0.06);
    --shadow-md: 0 4px 16px rgba(0,0,0,0.08);
    --shadow-lg: 0 8px 32px rgba(0,0,0,0.1);
    --radius-sm: 6px;
    --radius: 10px;
    --radius-lg: 14px;
    --radius-xl: 20px;
    --transition: all 0.2s ease;
}
html {-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body {font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;font-size:15px;line-height:1.6;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
button,input,optgroup,select,textarea {font-family:inherit;}
a {color:var(--primary);transition:var(--transition);}
a:hover,a:focus {color:var(--primary-dark);}
h1,h2,h3,h4,h5,h6 {font-weight:600;color:var(--text);letter-spacing:-0.01em;}
.panel-heading strong,h1,h2,h3,h4,h5,h6 {font-weight:600;}
.navbar {border:none;box-shadow:var(--shadow-sm);background:var(--bg-card) !important;min-height:56px;}
.navbar-white {background:var(--bg-card);border-bottom:1px solid var(--border);}
.navbar-brand {font-size:17px;font-weight:700;color:var(--text) !important;letter-spacing:-0.02em;padding:14px 15px;height:56px;line-height:28px;}
.navbar-nav > li > a {color:var(--text-secondary) !important;font-weight:500;font-size:14px;padding:16px 15px;transition:var(--transition);}
.navbar-nav > li > a:hover,.navbar-nav > li > a:focus {color:var(--primary) !important;background:transparent;}
.navbar-nav .avatar-img img {width:28px;height:28px;border-radius:50%;object-fit:cover;vertical-align:middle;}
.navbar-toggle {border:none;padding:8px 10px;margin:10px 15px 10px 0;}
.navbar-toggle .icon-bar {background:var(--text);height:2px;border-radius:2px;width:22px;}
.dropdown-menu {border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:6px 0;min-width:180px;}
.dropdown-menu > li > a {padding:8px 16px;font-size:14px;color:var(--text-secondary);transition:var(--transition);}
.dropdown-menu > li > a:hover,.dropdown-menu > li > a:focus {background:var(--bg);color:var(--primary);}
.dropdown-menu > li > a i {margin-right:8px;color:var(--text-muted);width:16px;text-align:center;}
.dropdown-menu .divider {margin:4px 0;background:var(--border-light);}
.mobile-header {background:var(--bg-card) !important;border-bottom:1px solid var(--border) !important;padding:12px 16px !important;}
.mobile-header > a:first-child {font-size:17px !important;font-weight:700 !important;color:var(--text) !important;}
.panel {border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow);background:var(--bg-card);overflow:hidden;}
.panel-default {border-color:transparent;}
.panel-heading {background:var(--bg-card) !important;border-bottom:1px solid var(--border-light) !important;padding:16px 20px;line-height:1.5;}
.panel-heading strong {font-size:16px;font-weight:600;color:var(--text);}
.panel-body {padding:20px;}
.content {min-height:calc(100vh - 120px);padding-bottom:20px;}
.container {max-width:960px;}
.btn {border-radius:var(--radius-sm);font-weight:500;transition:var(--transition);border:none;padding:7px 16px;font-size:14px;letter-spacing:0.01em;}
.btn:hover,.btn:focus {box-shadow:var(--shadow-sm);}
.btn-primary {background:var(--primary);color:#fff;}
.btn-primary:hover,.btn-primary:focus {background:var(--primary-dark);color:#fff;}
.btn-primary:active {background:var(--primary-dark);}
.btn-success {background:var(--success);color:#fff;}
.btn-success:hover,.btn-success:focus {background:#2DB84E;color:#fff;}
.btn-info {background:var(--info);color:#fff;}
.btn-info:hover,.btn-info:focus {background:#3FB8E8;color:#fff;}
.btn-warning {background:var(--warning);color:#fff;}
.btn-warning:hover,.btn-warning:focus {background:#E68600;color:#fff;}
.btn-danger {background:var(--danger);color:#fff;}
.btn-danger:hover,.btn-danger:focus {background:#E0332A;color:#fff;}
.btn-default {background:var(--bg);color:var(--text-secondary);border:1px solid var(--border);}
.btn-default:hover,.btn-default:focus {background:var(--border-light);color:var(--text);border-color:var(--border);}
.btn-xs {padding:3px 10px;font-size:12px;border-radius:4px;}
.btn-sm {padding:5px 14px;font-size:13px;}
.btn-lg {padding:11px 24px;font-size:15px;border-radius:var(--radius);}
.btn-block {border-radius:var(--radius);}
.btn-embossed {box-shadow:none;}
.no-border {border:none !important;}
.form-control {border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;font-size:14px;color:var(--text);background:var(--bg-card);transition:var(--transition);min-height:40px;box-shadow:none;}
.form-control:focus {border-color:var(--primary);box-shadow:0 0 0 3px rgba(79,107,235,0.1);outline:none;}
.form-control[readonly] {background:var(--bg);color:var(--text-muted);}
.form-control::placeholder {color:var(--text-muted);}
select.form-control {appearance:none;-webkit-appearance:none;background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;}
.input-sm {min-height:34px;padding:5px 10px;font-size:13px;}
.form-group {margin-bottom:16px;}
.control-label {font-weight:500;font-size:13px;color:var(--text-secondary);margin-bottom:6px;}
.text-danger {color:var(--danger) !important;}
.table {border-radius:var(--radius);overflow:hidden;margin-bottom:0;}
.table > thead > tr > th {background:var(--bg);border-bottom:1px solid var(--border);color:var(--text-secondary);font-weight:600;font-size:13px;letter-spacing:0.03em;padding:10px 14px;white-space:nowrap;}
.table > tbody > tr > td {padding:10px 14px;border-bottom:1px solid var(--border-light);color:var(--text);font-size:14px;vertical-align:middle;}
.table > tbody > tr:last-child > td {border-bottom:none;}
.table-bordered {border:1px solid var(--border);}
.table-bordered > thead > tr > th,.table-bordered > tbody > tr > td {border:1px solid var(--border-light);}
.table-hover > tbody > tr:hover {background:var(--bg);}
.table-condensed > thead > tr > th,.table-condensed > tbody > tr > td {padding:8px 12px;}
.table-responsive {border:none;border-radius:var(--radius);}
.label {border-radius:20px;padding:3px 10px;font-weight:600;font-size:11px;letter-spacing:0.02em;}
.label-default {background:var(--bg);color:var(--text-muted);border:1px solid var(--border);}
.label-success {background:var(--success-light);color:#228B3E;}
.label-warning {background:var(--warning-light);color:#B86E00;}
.label-danger {background:var(--danger-light);color:#CC2F27;}
.label-info {background:var(--info-light);color:#1A8FC4;}
.badge {background:var(--bg);color:var(--primary);border-radius:20px;font-weight:500;font-size:11px;padding:4px 12px;border:1px solid var(--border);}
.list-group {border-radius:var(--radius);overflow:hidden;}
.list-group-item {border:1px solid var(--border-light);padding:12px 16px;transition:var(--transition);line-height:1.5;}
.list-group-item:first-child {border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);}
.list-group-item:last-child {border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius);}
.list-group-item:hover {background:var(--bg);border-color:var(--border);}
.list-group-heading {background:var(--bg);border-bottom:1px solid var(--border);padding:10px 16px;font-weight:600;font-size:12px;letter-spacing:0.05em;color:var(--text-muted);}
.list-group-item a {color:var(--text);text-decoration:none;}
.list-group-item a:hover {color:var(--primary);}
.list-group-item.active a {color:var(--primary);}
.nav-tabs {border-bottom:2px solid var(--border-light);margin-bottom:0;}
.nav-tabs > li {margin-bottom:-2px;}
.nav-tabs > li > a {border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-weight:500;font-size:14px;padding:10px 16px;transition:var(--transition);border-radius:0;}
.nav-tabs > li > a:hover {background:transparent;border-bottom-color:var(--primary-light);color:var(--primary);}
.nav-tabs > li.active > a,.nav-tabs > li.active > a:hover,.nav-tabs > li.active > a:focus {border:none;border-bottom:2px solid var(--primary);color:var(--primary);background:transparent;font-weight:600;}
.tab-content {padding:16px 0;}
.alert {border:none;border-radius:var(--radius);padding:14px 18px;font-size:14px;font-weight:500;}
.alert-info {background:var(--info-light);color:#1A7FA8;}
.alert-warning {background:var(--warning-light);color:#9E6100;}
.alert-danger {background:var(--danger-light);color:#CC2F27;}
.alert-success {background:var(--success-light);color:#1E8B3E;}
.modal-content {border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);}
.modal-header {border-bottom:1px solid var(--border-light);padding:16px 20px;}
.modal-body {padding:20px;}
.modal-footer {border-top:1px solid var(--border-light);padding:12px 20px;}
.modal-title {font-weight:600;font-size:16px;}
hr {border-top:1px solid var(--border-light);margin:16px 0;}
.footer {background:var(--bg-card);border-top:1px solid var(--border-light);padding:20px 0;text-align:center;}
.copyright {color:var(--text-muted);font-size:13px;margin:0;}
.copyright a {color:var(--text-muted);}
.copyright a:hover {color:var(--primary);}
.pagination {margin:10px 0 0;}
.pagination > li > a,.pagination > li > span {border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-sm) !important;margin:0 2px;padding:6px 12px;font-size:13px;transition:var(--transition);}
.pagination > li > a:hover {background:var(--bg);border-color:var(--border);color:var(--primary);}
.pagination > .active > a,.pagination > .active > a:hover {background:var(--primary);border-color:var(--primary);color:#fff;}
.checkbox label,.radio label,.checkbox-inline,.radio-inline {font-weight:400;color:var(--text-secondary);}
input[type="checkbox"],input[type="radio"] {accent-color:var(--primary);}
.help-block {color:var(--text-muted);font-size:13px;}
.sidenav {background:var(--bg-card);border-right:1px solid var(--border);}
.sidenav .list-group-item.active a,.sidenav .list-group-item.active {background:var(--primary);border-color:var(--primary);color:#fff;}
.sidenav .list-group-item.active a {color:#fff;}
.sidenav .list-group-item.active i {color:#fff !important;}
.user-section {max-width:420px;margin:40px auto;background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden;}
.logon-tab {background:var(--bg);padding:0;display:flex;border-bottom:1px solid var(--border-light);}
.logon-tab a {flex:1;text-align:center;padding:14px;font-size:15px;font-weight:500;color:var(--text-muted);text-decoration:none;transition:var(--transition);border-bottom:2px solid transparent;}
.logon-tab a.active {color:var(--primary);background:var(--bg-card);border-bottom-color:var(--primary);}
.logon-tab a:hover {color:var(--primary);}
.login-main {padding:28px 28px 20px;}
.page-header {margin:10px 0 25px 0;padding-bottom:15px;border-bottom:1px solid var(--border-light);}
.user-baseinfo {margin-bottom:25px;}
.user-baseinfo table tr td {color:var(--text-muted);}
.profile-avatar-container {position:relative;width:100px;}
.profile-avatar-container .profile-user-img {width:100px;height:100px;border-radius:50%;object-fit:cover;}
.profile-avatar-container .profile-avatar-text {display:none;}
.profile-avatar-container:hover .profile-avatar-text {display:block;position:absolute;height:100px;width:100px;background:var(--text);opacity:.6;color:#fff;top:0;left:0;line-height:100px;text-align:center;border-radius:50%;}
.profile-avatar-container button {position:absolute;top:0;left:0;width:100px;height:100px;opacity:0;}
.form-layer {height:100%;min-height:150px;min-width:300px;}
.form-body {width:100%;overflow:auto;top:0;position:absolute;z-index:10;bottom:50px;padding:15px;}
.form-layer .form-footer {height:50px;line-height:50px;background-color:var(--bg);width:100%;position:absolute;z-index:200;bottom:0;margin:0;}
.form-footer .form-group {margin-left:0;margin-right:0;}
.mobile-menu .list-group-item {padding:14px 16px;font-size:15px;border-radius:0 !important;}
.mobile-menu .list-group-item i {margin-right:12px;width:20px;text-align:center;color:var(--primary);font-size:16px;}
.mobile-menu .list-group-item .badge {background:var(--bg);color:var(--primary);font-weight:600;border:1px solid var(--border);padding:4px 12px;}
.mobile-list {margin:0 -20px;}
.mobile-card {background:var(--bg-card);border-bottom:1px solid var(--border-light);padding:14px 20px;cursor:pointer;transition:var(--transition);}
.mobile-card:active {background:var(--bg);}
.mobile-card-header {display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.mobile-card-title {font-size:16px;font-weight:600;color:var(--text);}
.mobile-card-body {font-size:14px;line-height:1.6;color:var(--text-secondary);}
.mobile-card-row {margin-bottom:4px;display:flex;flex-wrap:wrap;}
.mobile-card-label {color:var(--text-muted);min-width:60px;}
.mobile-card-footer {margin-top:10px;text-align:right;}
.mobile-tabs {display:flex;overflow-x:auto;white-space:nowrap;}
.mobile-tabs > li {flex:1;text-align:center;}
.mobile-tabs > li > a {padding:10px 5px;font-size:14px;}
.mobile-info {margin-bottom:10px;font-size:14px;}
.mobile-info strong {color:var(--text-secondary);font-weight:500;}
.sidebar-toggle {display:none;}
@media (max-width:991px) {
    .sidenav {position:fixed;top:50px;z-index:1029;height:calc(100vh - 50px);padding:20px 0;min-width:250px;overflow-y:auto;overflow-x:hidden;width:250px;left:-250px;-webkit-transition:all 0.3s ease;-moz-transition:all 0.3s ease;-o-transition:all 0.3s ease;transition:all 0.3s ease;}
    .sidebar-toggle {display:block;position:fixed;right:20px;bottom:70px;border-radius:50%;background:var(--primary);color:#fff;font-size:22px;padding:10px;line-height:30px;height:50px;width:50px;text-align:center;z-index:999999;box-shadow:var(--shadow-md);}
    .sidebar-toggle i {color:#fff;}
}
body.sidebar-open .sidenav {left:0;width:250px;box-shadow:0 6px 27px rgba(0,0,0,0.075);}
body.sidebar-open .sidebar-toggle i:before {content:"\f00d";}
@media (max-width:767px) {
    body {font-size:15px;line-height:1.65;}
    .navbar-brand {font-size:16px;}
    .container {padding-left:10px;padding-right:10px;}
    .panel-heading {padding:12px 16px;}
    .panel-body {padding:16px;}
    .form-control,.btn,.dropdown-menu,.list-group-item {font-size:15px;}
    .form-control {min-height:42px;font-size:16px;}
    textarea.form-control {min-height:84px;}
    .btn-sm,.btn-xs {font-size:14px;}
    h4 {font-size:17px;}
    .navbar-fixed-top {position:relative;}
    body {padding-top:0 !important;}
    .footer {position:relative;}
    .mobile-info > div {margin-bottom:5px;}
    .btn-block {font-size:16px;padding:14px;}
    .user-section {margin:20px auto;border-radius:var(--radius);}
    .login-main {padding:20px;}
}