html, body {font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';width:100%;height:100%;overflow:hidden;}
.loading {width:100%;height:100%;background:url(../img/logo1.png) no-repeat center;}
.kui-logo {
    background: url(../img/logo1.png) no-repeat center center;
    flex: 1; /* 占1份 */
}

.kui-app-name {
    flex: 3; /* 占2份 */
    margin: 0;
    padding: 0;
    /* 可选：文字对齐方式 */
    text-align: left; /* 文字内容靠左 */
}
:root[data-theme=dark] .kui-logo, .kui-menu-dark .kui-logo {
    background: url(../img/logo.png) no-repeat center center;
    flex: 1; /* 占1份 */
}

/*Login*/
.login {position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:100%;max-width:1200px;display:flex;flex-direction:column;align-items:center;}
.login-head {display:flex;justify-content:space-between;width:80%;padding:20px 0;font-size:1.1rem;color:var(--text-color, #333);}
.login-logo {
    display: flex;
    align-items: center;
}
.login-head ul {margin:0;padding:0;display:flex;align-items:center;gap:20px;}
.login-body {
    display: block;
    padding: 20px 40px;
    background: var(--login-bg, #ffffff);
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.08);
    overflow: hidden;
}
.login-form {padding:40px 40px;}
.login-form h1 {font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;color:var(--heading-color, #1a1a1a);}
.login-form .ant-input-affix-wrapper > .ant-input:not(textarea) {padding-left:10px;}
.login-form-body {position:relative;width:100%;}
.login-copyright {text-align:center;width:100%;font-size:0.9rem;margin-top:30px;color:var(--text-color-secondary, #888);}
.login-copyright span {margin:0 5px;}

/* Dark Theme Adjustments */
:root[data-theme=dark] .login-body {--login-bg:#141414;box-shadow:0 10px 40px rgba(0,0,0,0.5);}
:root[data-theme=dark] .login-left {--login-left-bg:linear-gradient(135deg, #1f1f1f, #141414);--text-color:#d9d9d9;--heading-color:#fff;--text-color-secondary:#a6a6a6;}
:root[data-theme=dark] .login-head {--text-color:#d9d9d9;}
:root[data-theme=dark] .login-form h1 {--heading-color:#fff;}

@media screen and (max-width:1024px) {
    .login {padding:0 40px;}
}
@media screen and (max-width:912px) {
    .login-body {grid-template-columns:1fr;max-width:500px;}
    .login-left {display:none;}
    .login-head, .login-copyright {max-width:500px;}
}
@media screen and (max-width:574px) {
    .login {padding:0 20px;}
    .login-head {flex-direction:column;padding:15px 0;}
    .login-logo {margin-bottom:10px;}
    .login-body {box-shadow:none;border-radius:0;background:transparent;}
    .login-form {padding:30px 20px;}
    .login-head ul {display:none;}
}

.login .ant-tabs-nav {margin-bottom:24px;}
.login .ant-tabs-tab {font-size:14px;padding:12px 0;}
.login .ant-input-affix-wrapper {font-size:14px;}
.login .ant-form-item {font-size:14px;margin-bottom:24px;}
.login .ant-form-item-control-input {min-height:32px;}
.login .ant-btn {font-size:14px;padding:4px 10px;height:32px;}

/*Semi Dashboard*/
.semi-main-container {
    flex:1;
    display:grid;
    grid-template-columns:minmax(0, 1fr) 260px;
    min-height:0;
}
.semi-center-panel {padding:20px 22px;overflow:auto;}
.semi-rightbar {
    background:#fff;border-left:1px solid #edf0f3;padding:28px 20px;
    display:flex;flex-direction:column;gap:18px;
}
.semi-right-title, .semi-panel-title {font-size:16px;font-weight:700;}
.semi-hero {margin-bottom:28px;}
.semi-hero-title {font-size:24px;font-weight:700;margin-bottom:8px;}
.semi-hero-desc {color:#86909c;font-size:14px;margin-bottom:24px;}
.semi-stats {display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:20px;}
.semi-stat-card {background:transparent;min-width:0;}
.semi-stat-label {color:#86909c;font-size:13px;margin-bottom:8px;}
.semi-stat-value {font-size:32px;font-weight:700;line-height:1.1;}
.semi-stat-up {color:#52c41a;font-size:14px;}
.semi-stat-down {color:#ff4d4f;font-size:14px;}
.semi-section, .semi-page-panel {background:#fff;padding:20px 0;margin-bottom:24px;}
.semi-tabs {display:flex;gap:10px;margin-bottom:18px;}
.semi-tab {padding:8px 14px;border-radius:10px;color:#4e5969;font-size:14px;cursor:default;}
.semi-tab.active {background:#e8f3ff;color:#1677ff;font-weight:600;}
.semi-projects {display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:18px;}
.semi-project-card {border:1px solid #edf0f3;border-radius:14px;padding:20px;background:#fff;}
.semi-project-head {display:flex;gap:12px;align-items:center;margin-bottom:24px;}
.semi-project-icon {
    width:36px;height:36px;border-radius:10px;display:inline-flex;
    align-items:center;justify-content:center;color:#fff;font-weight:700;
}
.semi-project-icon.dark {background:#1f1f1f;}
.semi-project-icon.red {background:#ff4d4f;}
.semi-project-name {font-weight:700;font-size:15px;}
.semi-project-meta {color:#86909c;font-size:12px;margin-top:4px;}
.semi-project-stats {display:flex;gap:36px;}
.semi-project-stats span {display:block;color:#86909c;font-size:12px;margin-bottom:6px;}
.semi-project-stats strong {font-size:28px;line-height:1;}
.semi-panel-head {display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.semi-panel-actions {display:flex;gap:10px;}
.semi-select, .semi-primary-btn, .semi-ghost-btn {height:36px;border-radius:10px;padding:0 14px;font-size:14px;}
.semi-select {border:1px solid #d9dde3;background:#fff;color:#4e5969;}
.semi-primary-btn {border:0;background:#1677ff;color:#fff;}
.semi-ghost-btn {border:1px solid #d9dde3;background:#fff;color:#4e5969;margin-top:auto;}
.semi-file-table {border-top:1px solid #edf0f3;}
.semi-file-row {
    display:grid;grid-template-columns:2.2fr .8fr 1fr 1fr;gap:12px;
    padding:16px 8px;border-bottom:1px solid #edf0f3;align-items:center;font-size:14px;
}
.semi-file-header {color:#86909c;font-size:12px;font-weight:600;}
.semi-member {display:flex;gap:12px;align-items:center;}
.semi-member-avatar {
    width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;
    justify-content:center;color:#fff;font-size:13px;font-weight:700;
}
.semi-member-avatar.yellow {background:#ffb020;}
.semi-member-avatar.blue {background:#4096ff;}
.semi-member-avatar.red {background:#ff6b6b;}
.semi-member-avatar.teal {background:#36cfc9;}
.semi-member-name {font-size:14px;font-weight:600;}
.semi-member-mail {font-size:12px;color:#86909c;margin-top:2px;}

@media screen and (max-width:1200px) {
    .semi-main-container {grid-template-columns:minmax(0, 1fr);}
    .semi-rightbar {display:none;}
}

@media screen and (max-width:900px) {
    .semi-stats, .semi-projects {grid-template-columns:1fr;}
    .semi-panel-head {flex-direction:column;align-items:flex-start;gap:12px;}
    .semi-center-panel {padding:20px;}
    .semi-file-row {grid-template-columns:1fr;}
}

:root[data-theme=dark] .semi-rightbar,
:root[data-theme=dark] .semi-section,
:root[data-theme=dark] .semi-page-panel,
:root[data-theme=dark] .semi-project-card {
    background:#1b2430;border-color:#283241;
}
:root[data-theme=dark] .semi-hero-desc,
:root[data-theme=dark] .semi-stat-label,
:root[data-theme=dark] .semi-project-meta,
:root[data-theme=dark] .semi-member-mail,
:root[data-theme=dark] .semi-file-header,
:root[data-theme=dark] .semi-tab,
:root[data-theme=dark] .semi-select,
:root[data-theme=dark] .semi-ghost-btn {
    color:#9aa5b1;
}
:root[data-theme=dark] .semi-file-row,
:root[data-theme=dark] .semi-file-table,
:root[data-theme=dark] .semi-rightbar {border-color:#283241;}
:root[data-theme=dark] .semi-select,
:root[data-theme=dark] .semi-ghost-btn {background:#111826;border-color:#344051;}
:root[data-theme=dark] .semi-tab.active {background:rgba(22, 119, 255, 0.18);}

/* Flow Form Vertical Layout */
.kui-flow-form {min-height:400px;}
.kui-flow-form-main {}
.kui-flow-form-log {margin-top:16px;padding-top:16px;border-top:1px solid #f0f0f0;}
.kui-flow-panel-empty {display:flex;align-items:center;justify-content:center;height:200px;color:#999;font-size:14px;}
.kui-flow-status {display:flex;align-items:center;gap:12px;padding:8px 0;}
.kui-flow-step {font-size:14px;color:#666;}
.kui-flow-title {font-size:15px;font-weight:600;padding:4px 0;border-bottom:1px solid #f0f0f0;}

:root[data-theme=dark] .kui-flow-form-log {border-top-color:#303030;}
:root[data-theme=dark] .kui-flow-panel-empty {color:#666;}
:root[data-theme=dark] .kui-flow-step {color:#999;}
:root[data-theme=dark] .kui-flow-title {border-bottom-color:#303030;}

/* Flow Process Visualization */
.kui-flow-process {display:flex;align-items:flex-start;padding:16px 0;overflow-x:auto;gap:0;}
.kui-flow-step-item {display:flex;flex-direction:column;align-items:center;flex-shrink:0;position:relative;padding:0 12px;max-width:140px;}
.kui-flow-step-item .anticon {font-size:24px;margin-bottom:4px;}
.kui-flow-step-item .kui-flow-step-body {display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;}
.kui-flow-step-name {font-size:13px;font-weight:600;color:#333;white-space:nowrap;}
.kui-flow-step-user {font-size:12px;color:#666;}
.kui-flow-step-time {font-size:11px;color:#999;}
.kui-flow-step-result {margin-top:2px;}
.kui-flow-step-item::after {content:'';position:absolute;top:12px;left:100%;width:24px;height:2px;background:#d9d9d9;}
.kui-flow-step-item:last-child::after {display:none;}
.kui-flow-step-completed .anticon {color:#52c41a;}
.kui-flow-step-completed .kui-flow-step-name {color:#52c41a;}
.kui-flow-step-current .anticon {color:#1677ff;}
.kui-flow-step-current .kui-flow-step-name {color:#1677ff;}
.kui-flow-step-pending .anticon {color:#d9d9d9;}
.kui-flow-step-pending .kui-flow-step-name {color:#999;}
.kui-flow-step-failed .anticon {color:#ff4d4f;}
.kui-flow-step-failed .kui-flow-step-name {color:#ff4d4f;}
.kui-flow-step-completed::after {background:#52c41a;}
.kui-flow-step-current::after {background:#1677ff;}

:root[data-theme=dark] .kui-flow-step-name {color:#e0e0e0;}
:root[data-theme=dark] .kui-flow-step-user {color:#999;}
:root[data-theme=dark] .kui-flow-step-time {color:#666;}
:root[data-theme=dark] .kui-flow-step-pending .anticon {color:#434343;}
:root[data-theme=dark] .kui-flow-step-pending .kui-flow-step-name {color:#666;}
:root[data-theme=dark] .kui-flow-step-item::after {background:#434343;}
:root[data-theme=dark] .kui-flow-step-completed::after {background:#52c41a;}
:root[data-theme=dark] .kui-flow-step-current::after {background:#1677ff;}