* { box-sizing: border-box; }
body { margin: 0; color: #273047; background: #f8f9fc; font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif; -webkit-font-smoothing: antialiased; }
.site-header { position: relative; z-index: 1000; }
.site-navbar { position: fixed; top: 0; left: 0; right: 0; min-height: 72px; padding: 10px 0; background: rgba(255,255,255,.96); border-bottom: 1px solid #e9eaf1; box-shadow: 0 5px 22px rgba(37,32,82,.05); backdrop-filter: blur(14px); }
.site-header-container { max-width: 1140px; }
.site-brand,.footer-brand { display: inline-flex; align-items: center; color: #202941 !important; text-decoration: none !important; }
.brand-mark { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; margin-right: 11px; color: #fff; background: linear-gradient(145deg,#7163ed,#5142ce); border-radius: 12px; box-shadow: 0 8px 18px rgba(83,67,205,.22); font-size: 13px; }
.brand-mark i { margin-left: 2px; }
.brand-copy,.footer-brand > span:last-child { display: flex; flex-direction: column; }
.brand-copy strong,.footer-brand strong { font-size: 20px; font-weight: 900; line-height: 1; letter-spacing: -.03em; }
.brand-copy small,.footer-brand small { margin-top: 4px; color: #989fb0; font-size: 8px; font-weight: 700; line-height: 1; letter-spacing: .16em; }
.site-nav { gap: 3px; }
.site-nav .nav-link { position: relative; padding: 10px 13px !important; color: #59647a !important; border-radius: 10px; font-size: 13px; font-weight: 600; transition: .22s ease; }
.site-nav .nav-link:hover { color: #5c4ed5 !important; background: #f5f3ff; }
.site-nav .nav-action { margin-left: 3px; color: #5d50d5 !important; border: 1px solid #dedaf8; }
.site-nav .nav-convert { padding-right: 17px !important; padding-left: 17px !important; margin-left: 5px; color: #fff !important; background: linear-gradient(135deg,#6e60e9,#5546d0); box-shadow: 0 8px 20px rgba(83,68,207,.2); }
.site-nav .nav-convert:hover { color: #fff !important; background: linear-gradient(135deg,#6557e1,#493ac3); transform: translateY(-1px); }
.site-nav .nav-convert i { margin-right: 5px; }
.user-trigger { display: flex !important; align-items: center; }
.user-avatar { display: inline-flex; align-items: center; justify-content: center; width: 27px; height: 27px; margin-right: 7px; color: #fff; background: #685ae1; border-radius: 9px; font-size: 11px; font-weight: 800; }
.site-nav .dropdown-menu { min-width: 205px; padding: 8px; margin-top: 11px; border: 1px solid #e7e8f0; border-radius: 14px; box-shadow: 0 18px 45px rgba(39,34,86,.14); }
.dropdown-heading { display: flex; flex-direction: column; padding: 9px 12px; }.dropdown-heading small { color: #9aa1b0; font-size: 10px; }.dropdown-heading strong { overflow: hidden; margin-top: 2px; color: #313a50; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.site-nav .dropdown-item { padding: 9px 11px; color: #586278; border-radius: 8px; font-size: 12px; transition: .2s; }.site-nav .dropdown-item:hover { color: #594bd1; background: #f3f1ff; }.site-nav .dropdown-item i { width: 20px; margin-right: 5px; color: #8175de; }.site-nav .logout-item,.site-nav .logout-item i { color: #c45f65; }
.site-toggler { width: 42px; height: 40px; padding: 8px; border: 1px solid #e3e4ed !important; border-radius: 11px; outline: none !important; }.site-toggler span { display: block; width: 20px; height: 2px; margin: 4px auto; background: #5650a8; border-radius: 5px; }
/* 页面内容需要为固定导航留出顶部空间 */
body { padding-top: 72px; }
.site-footer { margin-top: 0; padding: 52px 0 0; color: #aab1c0; background: #151a29; }
@media (max-width: 991px) { .site-navbar { min-height: 66px; }.site-navbar .navbar-collapse { padding: 13px; margin-top: 10px; background: #fff; border: 1px solid #e7e8f0; border-radius: 15px; box-shadow: 0 16px 35px rgba(40,35,88,.1); }.site-nav { align-items: stretch !important; }.site-nav .nav-link { padding: 11px 12px !important; }.site-nav .nav-action,.site-nav .nav-convert { margin: 4px 0 0; text-align: center; }.user-trigger { justify-content: flex-start; }body { padding-top: 66px; }.footer-main { grid-template-columns: 1.2fr 1fr 1fr; }.footer-contact-column { grid-column: 1 / -1; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.07); } }
@media (max-width: 767px) { .site-footer { padding-top: 48px; }.footer-main { grid-template-columns: 1fr 1fr; gap: 35px 25px; }.footer-brand-column,.footer-contact-column { grid-column: 1 / -1; }.footer-bottom { align-items: flex-start; flex-direction: column; gap: 10px; }.footer-bottom-links { flex-wrap: wrap; gap: 10px 17px; } }
.footer-main { display: grid; grid-template-columns: 1.5fr .65fr .65fr 1fr; gap: 42px; padding-bottom: 34px; }
.footer-brand { margin-bottom: 20px; color: #fff !important; }.footer-brand .brand-mark { width: 42px; height: 42px; }.footer-brand strong { color: #fff; }.footer-brand small { color: #737d91; }
.footer-brand-column > p { max-width: 320px; margin: 0 0 20px; color: #858e9f; font-size: 13px; line-height: 1.8; }
.footer-maker { display: inline-flex; align-items: center; padding: 7px 11px; color: #929bac; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.07); border-radius: 99px; font-size: 10px; }.maker-dot { width: 7px; height: 7px; margin-right: 7px; background: #41bd88; border-radius: 50%; box-shadow: 0 0 0 4px rgba(65,189,136,.1); }
.footer-links-column h2,.footer-contact-column h2 { margin: 5px 0 19px; color: #fff; font-size: 13px; font-weight: 800; }
.footer-links-column ul { padding: 0; margin: 0; list-style: none; }.footer-links-column li { margin-bottom: 11px; }.footer-links-column a { color: #858e9f; font-size: 12px; text-decoration: none; transition: .2s; }.footer-links-column a:hover { color: #fff; padding-left: 3px; }
.footer-contact-column > p { margin: 0 0 16px; color: #858e9f; font-size: 12px; line-height: 1.7; }.footer-contact-link { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 16px; color: #b8b0ff; font-size: 12px; font-weight: 700; text-decoration: none; }.footer-contact-link:hover { color: #fff; text-decoration: none; }.footer-contact-link i { transition: transform .2s; }.footer-contact-link:hover i { transform: translateX(4px); }.footer-email { display: block; color: #747e91; font-size: 11px; text-decoration: none; }.footer-email:hover { color: #a9b1c0; text-decoration: none; }.footer-email i { margin-right: 5px; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; padding: 16px 0; border-top: 1px solid rgba(255,255,255,.07); }.footer-bottom p { margin: 0; color: #697386; font-size: 10px; }.footer-bottom-links { display: flex; gap: 20px; color: #697386; font-size: 10px; }.footer-bottom-links i { margin-right: 5px; color: #7770bb; }
@media (max-width: 991px) { .site-navbar { min-height: 66px; }.site-navbar .navbar-collapse { padding: 13px; margin-top: 10px; background: #fff; border: 1px solid #e7e8f0; border-radius: 15px; box-shadow: 0 16px 35px rgba(40,35,88,.1); }.site-nav { align-items: stretch !important; }.site-nav .nav-link { padding: 11px 12px !important; }.site-nav .nav-action,.site-nav .nav-convert { margin: 4px 0 0; text-align: center; }.user-trigger { justify-content: flex-start; }.footer-main { grid-template-columns: 1.2fr 1fr 1fr; }.footer-contact-column { grid-column: 1 / -1; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.07); } }
@media (max-width: 767px) { .site-footer { padding-top: 48px; }.footer-main { grid-template-columns: 1fr 1fr; gap: 35px 25px; }.footer-brand-column,.footer-contact-column { grid-column: 1 / -1; }.footer-bottom { align-items: flex-start; flex-direction: column; gap: 10px; }.footer-bottom-links { flex-wrap: wrap; gap: 10px 17px; } }
