.section-gap { margin-top: 16px; }
.link-button { display: inline-flex; text-decoration: none; align-items: center; justify-content: center; }
.import-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 18px; }
.import-form button, .file-drop { grid-column: 1 / -1; }
.file-drop { border: 1px dashed #36516c; border-radius: 12px; padding: 14px; background: #0a1624; }
.file-drop input { margin-top: 8px; }
.rules { color: #9db0c4; line-height: 1.9; padding-left: 20px; }
.compact { margin-top: 15px; }
.compact table { min-width: 650px; }
.token-panel { margin-bottom: 16px; display: grid; gap: 12px; }
.token-panel code { display: block; background: #07111d; border: 1px solid #2a4058; padding: 13px; border-radius: 9px; word-break: break-all; color: #7de8f2; }
.sidebar { overflow-y: auto; }
.sidebar-foot { min-height: 58px; }
.router-layout { display: grid; grid-template-columns: 1.5fr .8fr; gap: 16px; }
.router-input, .router-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }
.router-input .full, .router-fields .full { grid-column: 1 / -1; }
.router-input textarea { min-height: 170px; resize: vertical; }
.router-fields textarea { min-height: 82px; resize: vertical; }
.route-departments { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0; }
.route-departments span { border: 1px solid #2e5069; color: #82dce9; background: #0a1928; padding: 8px 10px; border-radius: 9px; font-size: 13px; }
.router-result { border-color: #287285; }
.json-preview { margin: 16px 0 0; padding: 16px; border: 1px solid #29455f; border-radius: 12px; background: #06111d; color: #9feaf2; white-space: pre-wrap; word-break: break-word; line-height: 1.65; max-height: 360px; overflow: auto; }
.router-actions { display: flex; justify-content: flex-end; margin-top: 14px; }
.wecom-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 16px; }
.wecom-form, .mapping-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }
.wecom-form .full { grid-column: 1 / -1; }
.check-line { display: flex; flex-direction: row; align-items: center; gap: 9px; padding: 10px 0; }
.check-line input { width: auto; }
.connection-details { display: grid; grid-template-columns: 105px 1fr; gap: 10px 12px; margin: 17px 0 0; font-size: 13px; }
.connection-details dt { color: #7790a8; }
.connection-details dd { margin: 0; color: #dbe8f3; word-break: break-all; }
.secret-once { border-color: #8d6a24; margin-bottom: 16px; }
.secret-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }
.secret-grid label { color: #aebfd0; }
.secret-grid code { display: block; margin-top: 7px; padding: 10px; border-radius: 8px; background: #081321; color: #ffd889; word-break: break-all; user-select: all; }
.health-pill.warning { color: #f4c86c; border-color: #745b2c; background: #221b0d; }
@media (max-width: 900px) { .router-layout { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .wecom-grid { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .import-form, .router-input, .router-fields, .wecom-form, .mapping-grid, .secret-grid { grid-template-columns: 1fr; } .router-input .full, .router-fields .full, .wecom-form .full { grid-column: 1; } }
