*{box-sizing:border-box}body{margin:0;font-family:"Segoe UI",Arial,"Microsoft YaHei",sans-serif;background:#f7f8fb;color:#111827}.top{height:68px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;position:sticky;top:0;z-index:2}.brand{font-size:20px;font-weight:800}.nav a{margin-left:16px;color:#374151;text-decoration:none}.btn,.button,button{display:inline-block;border:0;background:#1677ff;color:#fff;border-radius:10px;padding:11px 18px;text-decoration:none;font-weight:700;cursor:pointer}.btn.ghost{background:#eef4ff;color:#1677ff}.hero{padding:72px 6vw;text-align:center;background:linear-gradient(180deg,#fff,#f7f8fb)}.hero h1{font-size:42px;margin:0 0 16px}.hero p{font-size:18px;color:#6b7280;line-height:1.8}.grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:1080px;margin:28px auto;padding:0 20px}.card,.panel{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:24px;box-shadow:0 10px 30px rgba(15,23,42,.05)}.auth{min-height:calc(100vh - 68px);display:flex;align-items:center;justify-content:center;padding:24px}.auth .panel{width:min(100%,460px)}label{display:block;margin:13px 0;color:#374151}input,select,textarea{width:100%;margin-top:7px;border:1px solid #d1d5db;border-radius:10px;padding:12px;background:#fff}textarea{resize:vertical}.ok{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0;padding:12px;border-radius:12px;margin:12px 0}.err{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;padding:12px;border-radius:12px;margin:12px 0}.muted{color:#6b7280;line-height:1.7}.wrap{max-width:1080px;margin:24px auto;padding:0 18px}.dash{display:grid;grid-template-columns:260px 1fr}.side a{display:block;padding:12px;border-radius:10px;color:#374151;text-decoration:none}.side a:hover{background:#f3f4f6}table{width:100%;border-collapse:collapse}td,th{padding:12px;border-bottom:1px solid #eef2f7;text-align:left}.store{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:30px;background:#fff}.store-box{max-width:560px}.store h1{font-size:44px}@media(max-width:760px){.grid,.dash{grid-template-columns:1fr}.hero h1{font-size:30px}.top{padding:0 18px}.nav a{margin-left:8px}}







/* dashboard-ui-from-upload */







        * { margin: 0; padding: 0; box-sizing: border-box; -webkit-tap-highlight-color: transparent; }



        body {



            font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;



            background-color: #f5f6fa; color: #333; -webkit-font-smoothing: antialiased;



            font-size: 14px; line-height: 1.5;



        }



        body.modal-open { overflow: hidden; }



        .header { background: #fff; padding: 10px 16px 6px; display: flex; align-items: center; gap: 6px; }



        .header-title { font-size: 22px; font-weight: 700; color: #2b7de1; letter-spacing: -0.5px; }



        .header-badge { background: #2b7de1; color: #fff; font-size: 13px; font-weight: 600; padding: 2px 10px; border-radius: 6px; line-height: 20px; }



        .quick-nav-wrap { background: #fff; overflow: hidden; }



        .quick-nav { display: flex; padding: 14px 0 18px; overflow-x: auto; scrollbar-width: none; }



        .quick-nav::-webkit-scrollbar { display: none; }



        .nav-item { display: flex; flex-direction: column; align-items: center; min-width: 76px; flex-shrink: 0; padding: 0 4px; }



        .nav-icon { width: 44px; height: 44px; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 7px; }



        .nav-icon.blue { background: #e8f0fe; }



        .nav-icon.yellow { background: #e8f0fe; }



        .nav-label { font-size: 12px; color: #666; white-space: nowrap; }



        .page-indicator { display: flex; justify-content: center; gap: 5px; padding-bottom: 10px; background: #fff; }



        .dot { width: 18px; height: 4px; background: #e0e0e0; border-radius: 2px; transition: background 0.3s; }



        .dot.active { background: #b0b0b0; }



        .tabs { background: #fff; display: flex; margin-top: 8px; border-bottom: 1px solid #f0f0f0; position: relative; }



        .tab { flex: 1; text-align: center; padding: 14px 0 12px; font-size: 15px; color: #666; position: relative; cursor: pointer; font-weight: 400; }



        .tab.active { color: #2b7de1; font-weight: 600; }



        .tab.active::after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 32px; height: 3px; background: #2b7de1; border-radius: 2px 2px 0 0; }



        .form-card { background: #fff; margin-top: 8px; padding: 0 16px; }



        .logo-section { display: flex; justify-content: flex-start; padding: 20px 0 16px; }



        .logo-upload {



            width: 100px; height: 100px; border-radius: 50%; overflow: hidden;



            background: #f5f5f5; flex-shrink: 0; position: relative; cursor: pointer;



            display: flex; align-items: center; justify-content: center;



            border: 2px dashed #ddd;



        }



        .logo-upload img { width: 100%; height: 100%; object-fit: cover; display: none; }



        .logo-upload img.show { display: block; }



        .logo-upload .logo-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; color: #999; font-size: 12px; }



        .logo-upload .logo-placeholder .plus-icon { font-size: 28px; font-weight: 300; color: #bbb; line-height: 1; margin-bottom: 2px; }



        .logo-upload.has-image .logo-placeholder { display: none; }



        .logo-upload.has-image img { display: block; }



        #logoInput { display: none; }



        .logo-overlay {



            position: fixed; top: 0; left: 0; right: 0; bottom: 0;



            background: rgba(0,0,0,0.6); z-index: 200;



            display: flex; align-items: center; justify-content: center;



            flex-direction: column; gap: 16px;



            visibility: hidden; opacity: 0;



            transition: opacity 0.25s ease, visibility 0.25s ease;



        }



        .logo-overlay.show { visibility: visible; opacity: 1; }



        .logo-modal { background: #fff; border-radius: 16px; padding: 28px; display: flex; align-items: center; gap: 24px; box-shadow: 0 10px 40px rgba(0,0,0,0.2); max-width: 90vw; }



        .logo-modal-left { width: 130px; height: 130px; border-radius: 50%; overflow: hidden; flex-shrink: 0; background: #f5f5f5; border: 1px solid #f0f0f0; }



        .logo-modal-left img { width: 100%; height: 100%; object-fit: cover; display: block; }



        .logo-modal-right { display: flex; flex-direction: column; align-items: center; gap: 8px; }



        .logo-delete-btn {



            display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;



            width: 72px; height: 72px; border-radius: 50%; background: #fff0f0; border: none;



            color: #e74c3c; font-size: 13px; cursor: pointer; transition: background 0.2s;



        }



        .logo-delete-btn:active { background: #ffe0e0; transform: scale(0.96); }



        .logo-cancel-btn { padding: 10px 40px; background: #fff; border: none; border-radius: 20px; color: #666; font-size: 15px; cursor: pointer; }



        .logo-cancel-btn:active { background: #f5f5f5; }



        .form-group { margin-bottom: 20px; }



        .form-label { font-size: 15px; color: #333; margin-bottom: 10px; display: block; font-weight: 500; }



        .form-label.required::before { content: '* '; color: #e74c3c; font-weight: 600; }



        .form-input { width: 100%; padding: 11px 14px; border: 1px solid #eee; border-radius: 8px; font-size: 14px; background: #f7f8fa; color: #333; outline: none; transition: all 0.2s; }



        .form-input::placeholder { color: #bbb; }



        textarea.form-input { min-height: 72px; resize: none; line-height: 1.5; }



        .notice-tabs { display: flex; gap: 10px; padding: 16px 0 12px; }



        .notice-tab-btn {



            display: flex; align-items: center; gap: 6px; padding: 7px 14px; border-radius: 20px;



            background: #f0f0f0; border: 1.5px solid transparent; cursor: pointer;



            font-size: 13px; color: #666; font-weight: 500; transition: all 0.2s ease;



        }



        .notice-tab-btn.active { background: #e8f0fe; border-color: #2b7de1; color: #2b7de1; }



        .notice-tab-btn svg { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }



        .notice-slider-wrap { overflow: hidden; position: relative; }



        .notice-slider { display: flex; transition: transform 0.35s cubic-bezier(0.25, 0.8, 0.25, 1); width: 200%; }



        .notice-slide { width: 50%; flex-shrink: 0; padding-right: 16px; }



        .contact-row { display: flex; gap: 8px; margin-bottom: 6px; }



        .contact-item { flex: 1; display: flex; align-items: center; gap: 6px; padding: 9px 10px; border: 1px solid #eee; border-radius: 8px; background: #f7f8fa; min-width: 0; }



        .contact-icon { width: 20px; height: 20px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 11px; flex-shrink: 0; }



        .contact-icon.qq { background: #000; color: #fff; font-size: 10px; }



        .contact-icon.phone { background: #ff6b35; color: #fff; font-size: 9px; }



        .contact-icon.wechat { background: #07c160; color: #fff; font-size: 10px; }



        .contact-input { border: none; background: transparent; font-size: 13px; color: #333; outline: none; width: 100%; min-width: 0; }



        .contact-input::placeholder { color: #bbb; }



        .contact-hint { font-size: 12px; color: #999; margin-top: 6px; padding-left: 2px; }



        .btn-manager { margin-bottom: 20px; }



        .btn-list { display: flex; flex-direction: column; gap: 10px; }



        .btn-item {



            display: flex; align-items: center; gap: 8px;



            padding: 12px; background: #f7f8fa; border-radius: 10px;



            border: 1px solid #eee; position: relative;



        }



        .btn-item-icon {



            width: 36px; height: 36px; border-radius: 8px; background: #fff;



            border: 1px dashed #ddd; display: flex; align-items: center; justify-content: center;



            flex-shrink: 0; cursor: pointer; overflow: hidden;



        }



        .btn-item-icon img { width: 100%; height: 100%; object-fit: cover; display: none; }



        .btn-item-icon img.show { display: block; }



        .btn-item-icon .icon-placeholder { font-size: 18px; color: #bbb; }



        .btn-item-icon.has-image .icon-placeholder { display: none; }



        .btn-item-icon.has-image img { display: block; }



        .btn-item-fields { flex: 1; display: flex; flex-direction: column; gap: 6px; min-width: 0; }



        .btn-item-fields input { width: 100%; padding: 8px 10px; border: 1px solid #eee; border-radius: 6px; font-size: 13px; background: #fff; outline: none; }



        .btn-item-fields input::placeholder { color: #bbb; }



        .btn-item-delete {



            width: 28px; height: 28px; border-radius: 50%; background: #fff0f0; border: none;



            color: #e74c3c; font-size: 16px; cursor: pointer; display: flex; align-items: center; justify-content: center;



            flex-shrink: 0; transition: background 0.2s;



        }



        .btn-item-delete:active { background: #ffe0e0; transform: scale(0.9); }



        .btn-add {



            width: 100%; padding: 12px; border: 1.5px dashed #2b7de1; border-radius: 10px;



            background: #f0f7ff; color: #2b7de1; font-size: 14px; font-weight: 500;



            cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 6px;



            transition: all 0.2s; margin-top: 4px;



        }



        .btn-add:active { background: #e0efff; transform: scale(0.98); }



        .action-section { padding: 16px 0 24px; display: flex; flex-direction: column; gap: 12px; }



        .action-row { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; background: #f7f8fa; border-radius: 10px; border: 1px solid #eee; }



        .action-label { font-size: 15px; color: #333; font-weight: 500; }



        .action-upload-btn {



            display: flex; align-items: center; gap: 4px; padding: 7px 16px;



            background: #2b7de1; color: #fff; font-size: 13px; font-weight: 500;



            border: none; border-radius: 6px; cursor: pointer; transition: background 0.2s;



        }



        .action-upload-btn:active { background: #1a6ac8; transform: scale(0.97); }



        .action-upload-btn svg { width: 14px; height: 14px; }



        .generate-section { padding: 8px 0 24px; }



        .generate-btn {



            width: 100%; padding: 14px; background: linear-gradient(135deg, #2b7de1, #5b9bd5);



            color: #fff; font-size: 15px; font-weight: 600; border: none; border-radius: 10px;



            cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px;



            box-shadow: 0 4px 15px rgba(43,125,225,0.3); transition: all 0.3s;



        }



        .generate-btn:active { transform: scale(0.98); box-shadow: 0 2px 8px rgba(43,125,225,0.2); }



        .bottom-nav { position: fixed; bottom: 0; left: 0; right: 0; background: #fff; display: flex; border-top: 1px solid #f0f0f0; padding-bottom: max(8px, env(safe-area-inset-bottom)); z-index: 100; }



        .bottom-item { flex: 1; display: flex; flex-direction: column; align-items: center; padding: 5px 0 4px; cursor: pointer; }



        .bottom-item.active { color: #2b7de1; }



        .bottom-item:not(.active) { color: #999; }



        .bottom-icon { width: 24px; height: 24px; margin-bottom: 2px; display: flex; align-items: center; justify-content: center; }



        .bottom-icon svg { width: 22px; height: 22px; }



        .bottom-label { font-size: 10px; transform: scale(0.92); transform-origin: center; }



        .spacer { height: 60px; }



        .section-title { font-size: 16px; font-weight: 600; color: #333; padding: 20px 0 8px; display: flex; align-items: center; gap: 8px; }



        .section-title::before { content: ''; width: 4px; height: 16px; background: #2b7de1; border-radius: 2px; }



        .section-desc { font-size: 12px; color: #999; margin-bottom: 12px; padding-left: 12px; }



        .copyright-fixed { font-size: 12px; color: #999; padding: 8px 0 16px; text-align: center; }



        .copyright-fixed span { color: #2b7de1; font-weight: 500; }







        /* 预览弹窗 */



        .preview-overlay {



            position: fixed; top: 0; left: 0; right: 0; bottom: 0;



            background: #fff; z-index: 1000;



            display: flex; align-items: center; justify-content: center;



            visibility: hidden; opacity: 0;



            transition: opacity 0.3s ease, visibility 0.3s ease;



        }



        .preview-overlay.show { visibility: visible; opacity: 1; }



        .preview-box {



            width: 100vw; max-width: none; height: 100vh;



            background: #fff; border-radius: 0; overflow: hidden;



            display: flex; flex-direction: column;



            box-shadow: none;



        }



        .preview-header {



            display: flex; align-items: center; justify-content: space-between;



            padding: 12px 16px; background: #fff; border-bottom: 1px solid #eee;



            flex-shrink: 0;



            height: 52px;



        }



        .preview-header-title { font-size: 15px; font-weight: 600; color: #333; }



        .preview-close {



            width: 28px; height: 28px; border-radius: 50%; background: #eee;



            border: none; color: #666; font-size: 18px; cursor: pointer;



            display: flex; align-items: center; justify-content: center;



        }



        .preview-close:active { background: #ddd; }



        .preview-body {



            flex: 1; position: relative; overflow: hidden;



            background: #fff;



        }



        .preview-frame {



            width: 100%; height: 100%; border: none; display: block;



        }



        .preview-empty {



            position: absolute; inset: 0;



            display: flex; flex-direction: column;



            align-items: center; justify-content: center; gap: 10px;



            color: #999; font-size: 14px;



        }



        .preview-empty svg { width: 56px; height: 56px; stroke: #ccc; margin-bottom: 4px; }



        .preview-empty-title { font-size: 16px; font-weight: 500; color: #666; }



        .preview-empty-desc { font-size: 13px; color: #bbb; }



        .tab-panel { display: none; }



        .tab-panel.active { display: block; }



        .switch-row { display: flex; align-items: center; justify-content: space-between; padding: 14px 0; border-bottom: 1px solid #f0f0f0; gap: 16px; }



        .switch-row:last-child { border-bottom: none; }



        .switch-info { flex: 1; min-width: 0; }



        .switch-title { font-size: 15px; color: #333; font-weight: 500; margin-bottom: 4px; }



        .switch-desc { font-size: 12px; color: #999; line-height: 1.4; }



        .switch-input { width: 44px; height: 24px; appearance: none; -webkit-appearance: none; background: #ddd; border-radius: 999px; position: relative; outline: none; cursor: pointer; transition: background .2s; flex-shrink: 0; }



        .switch-input::after { content: ''; width: 20px; height: 20px; border-radius: 50%; background: #fff; position: absolute; top: 2px; left: 2px; box-shadow: 0 2px 5px rgba(0,0,0,.18); transition: left .2s; }



        .switch-input:checked { background: #2b7de1; }



        .switch-input:checked::after { left: 22px; }



        .log-toolbar { display: flex; gap: 10px; margin: 12px 0; }



        .log-btn { flex: 1; padding: 10px; border: 1px solid #dbe8ff; background: #f0f7ff; color: #2b7de1; border-radius: 8px; font-size: 13px; font-weight: 500; cursor: pointer; }



        .log-btn.danger { background: #fff0f0; border-color: #ffd8d8; color: #e74c3c; }



        .log-box { background: #f7f8fa; border: 1px solid #eee; border-radius: 10px; max-height: 260px; overflow-y: auto; padding: 10px; }



        .log-empty { color: #aaa; font-size: 13px; text-align: center; padding: 20px 0; }



        .log-item { background: #fff; border: 1px solid #eee; border-radius: 8px; padding: 10px; margin-bottom: 8px; }



        .log-item:last-child { margin-bottom: 0; }



        .log-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 4px; }



        .log-type { color: #2b7de1; font-size: 13px; font-weight: 600; }



        .log-time { color: #999; font-size: 11px; white-space: nowrap; }



        .log-detail { color: #555; font-size: 12px; line-height: 1.45; word-break: break-all; }



        .log-refresh-tip { color: #999; font-size: 12px; margin-top: 8px; }



        .resource-grid { display: grid; grid-template-columns: 1fr; gap: 12px; margin-top: 12px; }



        .resource-card { background: #f7f8fa; border: 1px solid #eee; border-radius: 12px; padding: 14px; }



        .resource-card-title { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 600; color: #333; margin-bottom: 4px; }



        .resource-card-desc { font-size: 12px; color: #999; line-height: 1.45; margin-bottom: 12px; }



        .resource-field { margin-bottom: 12px; }



        .resource-field:last-child { margin-bottom: 0; }



        .resource-field label { display: block; font-size: 13px; color: #555; font-weight: 500; margin-bottom: 6px; }



        .resource-example { background: #fff; border: 1px dashed #dbe8ff; color: #2b7de1; border-radius: 8px; padding: 8px 10px; font-size: 12px; line-height: 1.5; margin-bottom: 12px; }



    







.header-actions{margin-left:auto;display:flex;gap:8px;align-items:center}



.header-actions a{font-size:12px;color:#2b7de1;text-decoration:none;background:#eef4ff;border-radius:999px;padding:6px 10px}



.save-tip{margin:10px 16px 0}



.readonly-link{word-break:break-all;color:#2b7de1;text-decoration:none}



.hidden-submit{display:none}











/* full-dashboard-adapter */



.header-actions{margin-left:auto;display:flex;gap:10px;align-items:center}



.header-actions a{font-size:13px;color:#2b7de1;text-decoration:none;background:#eef6ff;border-radius:999px;padding:6px 10px}



.readonly-link{display:block;width:100%;padding:11px 14px;border:1px solid #eee;border-radius:8px;background:#f7f8fa;color:#2b7de1;text-decoration:none;word-break:break-all}



.save-tip{margin:10px 16px}



.store-logo{width:104px;height:104px;border-radius:50%;object-fit:cover;margin-bottom:16px;box-shadow:0 10px 25px rgba(0,0,0,.12)}



.store-marquee{overflow:hidden;background:#f0f7ff;border:1px solid #dbe8ff;color:#2b7de1;border-radius:999px;padding:8px 12px;margin:14px 0}



.store-marquee span{display:inline-block;white-space:nowrap}



.store-buttons{display:grid;gap:10px;margin:22px 0}



.store-button{display:flex;align-items:center;justify-content:center;gap:8px;background:#eef4ff;color:#1677ff;text-decoration:none;border-radius:12px;padding:12px 16px;font-weight:700}



.store-button.primary{background:#1677ff;color:#fff}



.store-button img{width:24px;height:24px;border-radius:7px;object-fit:cover}



.buyer-list{margin-top:18px;text-align:left;background:#f7f8fa;border:1px solid #eef2f7;border-radius:14px;padding:14px}



.buyer-list pre{white-space:pre-wrap;word-break:break-all;margin:8px 0 0;color:#555;font-family:inherit}



.store-copyright{margin-top:24px;color:#9ca3af;font-size:12px}







/* auth-pro-upgrade */



.auth-pro{position:relative;align-items:center;background:#f5f7fa;padding:0;min-height:100vh;display:flex;justify-content:center}.auth-shell{position:relative;z-index:1;width:min(960px,100%);display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 16px rgba(0,0,0,.08)}.login-shell{width:min(760px,100%)}.auth-card{width:100%!important;border:0;background:#fff;padding:40px 36px;border-radius:0;display:flex;flex-direction:column;justify-content:center}.auth-card h1{font-size:22px;line-height:1.3;margin:0 0 8px;color:#1a1a1a;font-weight:600}.auth-subtitle{margin:0 0 24px;color:#8c8c8c;line-height:1.6;font-size:13px}.auth-badge{display:none}.auth-logo{width:48px;height:48px;border-radius:8px;margin:0 0 20px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:none}.auth-logo img{width:40px;height:40px;object-fit:contain;border-radius:6px}.auth-card label{font-weight:400;color:#595959;margin:0 0 6px;font-size:13px}.auth-card input{border:1px solid #d9d9d9;background:#fff;box-shadow:none;transition:border-color .2s;border-radius:6px;padding:8px 12px;font-size:14px;color:#1a1a1a}.auth-card input:focus{outline:none;border-color:#1677ff;box-shadow:0 0 0 2px rgba(22,119,255,.1);transform:none}.auth-card input:hover{border-color:#1677ff}.auth-inline{display:flex;gap:8px;align-items:center}.auth-inline input{flex:1;min-width:0}.btn-primary,.btn-mini,.btn-qq{border:0;text-decoration:none;border-radius:6px;font-weight:400;cursor:pointer;transition:all .2s;font-size:14px}.btn-primary{width:100%;padding:10px 16px;background:#1677ff;color:#fff}.btn-primary:hover{background:#0958d9}.btn-primary:active{background:#003eb3}.btn-mini{width:auto;flex:0 0 auto;padding:8px 16px;background:#fff;color:#1677ff;border:1px solid #1677ff}.btn-mini:hover{background:#1677ff;color:#fff}.btn-mini:active{background:#0958d9}.auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:24px}.btn-qq{display:flex;align-items:center;justify-content:center;text-align:center;padding:10px 16px;background:#fff;color:#595959;border:1px solid #d9d9d9}.btn-qq:hover{border-color:#1677ff;color:#1677ff}.btn-qq:active{border-color:#0958d9}.auth-link-preview{display:none}.auth-bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:20px;font-size:13px}.auth-bottom a{color:#1677ff;text-decoration:none;font-weight:400}.auth-bottom a:hover{text-decoration:underline}.auth-guide{position:relative;overflow:hidden;padding:48px 40px;background:#1677ff;color:#fff;display:flex;flex-direction:column;justify-content:center;border-radius:0}.auth-guide:after{display:none}.guide-tag{display:inline-flex;padding:4px 10px;border-radius:4px;background:rgba(255,255,255,.15);color:rgba(255,255,255,.9);font-size:12px;font-weight:400;width:fit-content;margin-bottom:16px}.auth-guide h2{margin:0 0 28px;font-size:24px;font-weight:600;line-height:1.4}.guide-step{display:flex;gap:12px;padding:0;border:0;background:none;margin-bottom:20px;border-radius:0}.guide-step:hover{transform:none;background:none;border-color:transparent}.guide-step b{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.2);box-shadow:none;flex:0 0 28px;font-size:13px;font-weight:600}.guide-step strong{display:block;margin-bottom:4px;font-size:14px;font-weight:500}.guide-step p{margin:0;color:rgba(255,255,255,.7);line-height:1.5;font-size:13px}.guide-step code{background:rgba(0,0,0,.2);border:0;border-radius:4px;padding:2px 6px;color:rgba(255,255,255,.9);font-size:12px}.guide-card{margin-top:20px;padding:16px;border-radius:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15)}.guide-card strong{display:block;margin-bottom:6px;font-size:14px}.guide-card span{display:block;color:rgba(255,255,255,.75);line-height:1.6;font-size:13px}.err{background:#fff2f0;border:1px solid #ffccc7;color:#cf1322;border-radius:6px}.ok{background:#f6ffed;border:1px solid #b7eb8f;color:#389e0d;border-radius:6px}@media(max-width:860px){.auth-pro{padding:16px}.auth-shell{grid-template-columns:1fr}.auth-guide{padding:32px 24px}.auth-card{padding:32px 24px}.auth-actions{grid-template-columns:1fr}.auth-card h1{font-size:20px}.auth-guide h2{font-size:20px}}







/* trae-auth-image-click-fix */



.auth,.auth-pro{position:relative!important;overflow-x:hidden!important;}



.auth-shell,.login-shell{margin:0 auto!important;align-items:stretch!important;}



.auth-card{position:relative!important;z-index:20!important;overflow:visible!important;}



.auth-logo img{object-fit:contain!important;display:block!important;}



.auth-card input,.auth-card button,.auth-card a{position:relative!important;z-index:30!important;pointer-events:auto!important;}



@media(max-width:860px){.auth-shell,.login-shell{width:calc(100vw - 32px)!important}.auth-card{max-width:100%!important}}





/* ======================== 首页专用样式 ======================== */


.home-hero{position:relative;min-height:90vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#0a1929}


.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 40%,rgba(22,119,255,.15),transparent 50%),radial-gradient(ellipse at 80% 60%,rgba(22,119,255,.08),transparent 50%),linear-gradient(180deg,#0a1929 0%,#0d2137 100%)}


.hero-bg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(255,255,255,.03) 1px,transparent 1px);background-size:40px 40px;animation:heroGrid 20s linear infinite}


@keyframes heroGrid{from{background-position:0 0}to{background-position:40px 40px}}


.hero-content{position:relative;z-index:1;text-align:center;padding:60px 20px;max-width:700px;animation:heroFadeIn .8s ease}


@keyframes heroFadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}


.hero-badge{display:inline-block;padding:6px 16px;border-radius:6px;background:rgba(22,119,255,.12);border:1px solid rgba(22,119,255,.25);color:#4096ff;font-size:13px;margin-bottom:24px}


.hero-title{font-size:42px;line-height:1.3;color:#fff;font-weight:600;margin:0 0 20px}


.hero-highlight{color:#4096ff}


.hero-desc{font-size:16px;color:rgba(255,255,255,.6);line-height:1.8;margin:0 0 36px}


.hero-btns{display:flex;justify-content:center;margin-bottom:48px}


.hero-btns .home-btn{margin:0 6px}


.home-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;font-weight:400;cursor:pointer;text-decoration:none;font-size:15px;transition:all .2s;padding:12px 32px}


.home-btn.primary{background:#1677ff;color:#fff;border:1px solid #1677ff}


.home-btn.primary:hover{background:#4096ff}


.home-btn.primary.large{padding:14px 48px;font-size:16px}


.home-btn.outline{background:transparent;color:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.25)}


.home-btn.outline:hover{border-color:#4096ff;color:#4096ff}


.hero-stats{display:flex;align-items:center;justify-content:center}


.stat-item{display:flex;flex-direction:column;align-items:center;gap:4px;margin:0 16px}


.stat-num{font-size:32px;font-weight:600;color:#4096ff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}


.stat-label{font-size:13px;color:rgba(255,255,255,.5)}


.stat-divider{width:1px;height:40px;background:rgba(255,255,255,.1)}





.home-features{padding:80px 20px;background:#fff}


.section-title{text-align:center;margin-bottom:48px}


.section-title h2{font-size:28px;font-weight:600;color:#1a1a1a;margin:0 0 8px}


.section-title p{font-size:15px;color:#8c8c8c;margin:0}


.features-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:1000px;margin:0 auto}


.feature-card{padding:32px 24px;border:1px solid #f0f0f0;border-radius:8px;transition:border-color .3s,box-shadow .3s;background:#fff;margin:12px}


.feature-card:hover{border-color:#1677ff;box-shadow:0 4px 20px rgba(22,119,255,.08)}


.feature-icon{width:48px;height:48px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}


.feature-icon.blue{background:#e6f4ff;color:#1677ff}


.feature-icon.green{background:#f6ffed;color:#52c41a}


.feature-icon.orange{background:#fff7e6;color:#fa8c16}


.feature-icon.purple{background:#f9f0ff;color:#722ed1}


.feature-icon.cyan{background:#e6fffb;color:#13c2c2}


.feature-icon.red{background:#fff2f0;color:#ff4d4f}


.feature-card h3{font-size:17px;font-weight:600;color:#1a1a1a;margin:0 0 8px}


.feature-card p{font-size:14px;color:#8c8c8c;line-height:1.7;margin:0}





.home-steps{padding:80px 20px;background:#f5f7fa}


.steps-row{display:flex;align-items:center;justify-content:center;max-width:900px;margin:0 auto;flex-wrap:wrap}


.step-card{flex:1;min-width:200px;text-align:center;padding:32px 24px;background:#fff;border-radius:8px;border:1px solid #f0f0f0;margin:10px}


.step-num{font-size:36px;font-weight:700;color:#1677ff;opacity:.15;margin-bottom:12px;font-family:-apple-system,"Segoe UI",sans-serif}


.step-card h3{font-size:17px;font-weight:600;color:#1a1a1a;margin:0 0 8px}


.step-card p{font-size:14px;color:#8c8c8c;line-height:1.7;margin:0}


.step-arrow{flex-shrink:0}





.home-cta{padding:80px 20px;background:#fff}


.cta-box{text-align:center;max-width:600px;margin:0 auto;padding:60px 40px;background:linear-gradient(135deg,#1677ff 0%,#0958d9 100%);border-radius:12px}


.cta-box h2{font-size:28px;font-weight:600;color:#fff;margin:0 0 12px}


.cta-box p{font-size:15px;color:rgba(255,255,255,.8);margin:0 0 28px}


.cta-box .home-btn.primary{background:#fff;color:#1677ff;border-color:#fff}


.cta-box .home-btn.primary:hover{background:rgba(255,255,255,.9);color:#0958d9}





.home-footer{text-align:center;padding:32px 20px;background:#f5f7fa}


.home-footer p{font-size:13px;color:#bfbfbf;margin:0}





@media(max-width:760px){


    .hero-title{font-size:28px}


    .hero-desc{font-size:14px}


    .hero-btns{flex-direction:column;align-items:center}


    .home-btn{width:100%;max-width:280px}


    .hero-btns .home-btn{margin:6px 0}


    .stat-item{margin:0 8px}


    .stat-num{font-size:24px}


    .features-grid{grid-template-columns:1fr}


    .steps-row{flex-direction:column}


    .step-arrow{transform:rotate(90deg)}


    .section-title h2{font-size:22px}


    .cta-box{padding:40px 24px}


    .cta-box h2{font-size:22px}


}



