*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-bg: #f9fafb;--color-surface: #ffffff;--color-text: #111827;--color-text-secondary: #6b7280;--color-border: #e5e7eb;--color-error: #dc2626;--color-error-bg: #fef2f2;--radius: 8px;--max-width: 960px;--page-max-width: 1280px}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--color-text);background:var(--color-bg);line-height:1.6}.app-layout{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);height:65px;position:sticky;top:0;z-index:50}.app-header__inner{width:100%;max-width:var(--page-max-width);height:64px;margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between}.app-header__brand{display:flex;align-items:center;gap:8px;width:208px;height:40px;color:var(--color-text);text-decoration:none}.app-header__mark{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:var(--color-primary);color:#fff;font-size:15px;font-weight:700;line-height:1}.app-header__title{font-size:18px;font-weight:700;color:var(--color-text);white-space:nowrap}.app-header__right{display:flex;align-items:center;gap:4px;margin-left:auto}.app-header__nav-link{display:block;height:36px;padding:8px 14px;font-size:14px;font-weight:500;line-height:20px;color:var(--color-text-secondary);text-decoration:none;border-radius:6px;transition:background .15s,color .15s;white-space:nowrap}.app-header__nav-link:hover{background:#f3f4f6;color:var(--color-text)}.app-header__nav-link--active{background:#eff6ff;color:var(--color-primary);font-weight:600}.app-header__logout{height:36px;background:var(--color-primary);border:0;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;line-height:20px;color:#fff;cursor:pointer}.app-header__logout:hover{background:var(--color-primary-hover)}.app-main{flex:1;width:100%;margin:0;padding:0}.app-main>div:not(.marketplace-home),.app-main>.spinner,.app-main>.error-banner{width:100%;max-width:var(--max-width);margin:0 auto;padding:24px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg)}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:36px 28px 28px;width:100%;max-width:360px;display:flex;flex-direction:column;gap:0}.login-card__title{font-size:20px;font-weight:700;margin-bottom:28px;text-align:center;color:var(--color-text)}.login-card__input{width:100%;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:15px;margin-bottom:16px;outline:none;transition:border-color .15s}.login-card__input:focus{border-color:var(--color-primary)}.login-card__input:disabled{background:#f3f4f6;cursor:not-allowed}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border:none;border-radius:var(--radius);font-size:15px;font-weight:500;cursor:pointer;transition:background .15s}.btn--primary{width:100%;background:var(--color-primary);color:#fff}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn--primary:disabled{opacity:.6;cursor:not-allowed}.btn--outline{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.btn--outline:hover:not(:disabled){border-color:var(--color-text-secondary)}.btn--outline:disabled{opacity:.6;cursor:not-allowed}.btn--ghost{background:none;border:none;color:var(--color-primary);padding:4px 8px;font-size:13px;cursor:pointer}.btn--ghost:hover{text-decoration:underline}.btn--sm{padding:5px 12px;font-size:13px}.error-banner{background:var(--color-error-bg);border:1px solid #fecaca;border-radius:var(--radius);padding:12px 16px;margin-bottom:16px;color:var(--color-error);font-size:14px;text-align:left}.error-banner__code{font-weight:600;margin-right:8px}.experts-header{margin-bottom:20px}.experts-header__title{font-size:20px;font-weight:600;margin-bottom:4px}.experts-header__count{font-size:14px;color:var(--color-text-secondary)}.expert-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;list-style:none}.expert-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px;transition:box-shadow .15s}.expert-card:hover{box-shadow:0 2px 8px #00000014}.expert-card__header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.expert-card__avatar{width:48px;height:48px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;flex-shrink:0}.expert-card__name{font-size:16px;font-weight:600}.expert-card__title{font-size:13px;color:var(--color-text-secondary)}.expert-card__tag{display:inline-block;background:#eef2ff;color:var(--color-primary);font-size:12px;padding:2px 8px;border-radius:4px;margin-bottom:8px}.expert-card__desc{font-size:14px;color:var(--color-text-secondary);line-height:1.5}.spinner{display:flex;align-items:center;justify-content:center;padding:48px 0;color:var(--color-text-secondary);font-size:14px;gap:8px}.spinner:before{content:"";width:18px;height:18px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.console-summary{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.console-summary__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px 24px}.console-summary__value{font-size:28px;font-weight:700;color:var(--color-text);line-height:1.2}.console-summary__label{font-size:13px;color:var(--color-text-secondary);margin-top:4px}.console-empty{text-align:center;padding:48px 0;color:var(--color-text-secondary);font-size:15px}.console-table{width:100%;border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);font-size:14px}.console-table th{text-align:left;padding:12px 16px;font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border);background:#f9fafb}.console-table th:first-child{border-radius:var(--radius) 0 0 0}.console-table th:last-child{border-radius:0 var(--radius) 0 0}.console-table td{padding:10px 16px;border-bottom:1px solid #f3f4f6;color:var(--color-text)}.console-table tr:last-child td{border-bottom:none}.console-table__time{color:var(--color-text-secondary);white-space:nowrap;font-size:13px}.console-table__net{font-weight:600;color:#059669}.console-badge{display:inline-block;font-size:12px;padding:2px 8px;border-radius:4px;font-weight:500}.console-badge--token_ratio{background:#eef2ff;color:#4338ca}.console-badge--subscription{background:#f0fdf4;color:#15803d}.pending-section{margin-top:24px}.pending-section__title{font-size:16px;font-weight:600;margin-bottom:12px;color:var(--color-text)}.pending-list{list-style:none;display:flex;flex-direction:column;gap:12px}.pending-row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:12px 20px}.pending-row__info{display:flex;align-items:center;gap:12px}.pending-row__avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary) 0%,#6366f1 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0;line-height:1}.pending-row__text{display:flex;align-items:baseline;gap:4px;flex:1;min-width:0}.pending-row__name{font-size:15px;font-weight:600;color:var(--color-text)}.pending-row__role{font-size:13px;color:var(--color-text-secondary)}.intent-page{max-width:720px;margin:0 auto;padding:24px 0}.intent-page__title{font-size:22px;font-weight:700;margin:0 0 8px;color:var(--color-text)}.intent-page__desc{font-size:14px;color:var(--color-text-secondary);margin:0 0 24px;line-height:1.6}.intent-page__rejection-notice{background:#fff3e0;border:1px solid #ffe0b2;border-radius:var(--radius);padding:12px 16px;margin-bottom:20px;font-size:14px;color:#e65100;line-height:1.5}.intent-form{display:flex;flex-direction:column;gap:16px}.intent-form__field{display:flex;flex-direction:column;gap:6px}.intent-form__label{font-size:14px;font-weight:500;color:var(--color-text)}.intent-form__input,.intent-form__select,.intent-form__textarea{padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:14px;color:var(--color-text);background:var(--color-surface);transition:border-color .15s}.intent-form__input:focus,.intent-form__select:focus,.intent-form__textarea:focus{outline:none;border-color:var(--color-primary)}.intent-form__textarea{resize:vertical;min-height:80px;line-height:1.5}.intent-form__select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%23666' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.intent-form__contact-group{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}@media(max-width:640px){.intent-form__contact-group{grid-template-columns:1fr}}.intent-form__submit{align-self:flex-start;margin-top:8px}.intent-success{text-align:center;padding:48px 24px}.intent-success__title{font-size:20px;font-weight:700;margin:0 0 12px;color:var(--color-text)}.intent-success__desc{font-size:14px;color:var(--color-text-secondary);margin:0 0 24px;line-height:1.6}.intent-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px 20px;margin-bottom:12px}.intent-card__header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.intent-card__name{font-size:16px;font-weight:600;color:var(--color-text)}.intent-card__badge{display:inline-block;font-size:12px;font-weight:500;padding:2px 10px;border-radius:12px;line-height:1.5}.intent-card__badge--pending{background:#fff8e1;color:#f57f17}.intent-card__badge--approved{background:#e8f5e9;color:#2e7d32}.intent-card__badge--rejected{background:#fce4ec;color:#c62828}.intent-card__meta{font-size:13px;color:var(--color-text-secondary);margin-bottom:4px}.intent-card__reason{font-size:13px;color:#c62828;background:#fce4ec;border-radius:var(--radius);padding:8px 12px;margin:8px 0}.intent-card__actions{display:flex;gap:10px;margin-top:12px}.upload-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:24px}.upload-section__toggle{padding:14px 20px;font-size:15px;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none}.upload-form{padding:0 20px 20px;display:flex;flex-direction:column;gap:12px}.upload-form__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.upload-form__field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--color-text-secondary)}.upload-form__input,.upload-form__textarea{padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s}.upload-form__input:focus,.upload-form__textarea:focus{border-color:var(--color-primary)}.upload-form__input:disabled,.upload-form__textarea:disabled{background:#f3f4f6;cursor:not-allowed}.upload-form__submit{width:auto;align-self:flex-start;margin-top:4px}.upload-success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0;border-radius:var(--radius);padding:10px 14px;font-size:14px}.chat-page{display:flex;flex-direction:column;height:calc(100vh - 113px);max-width:var(--max-width);margin:0 auto;padding:24px;width:100%}.chat-notice{font-size:13px;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius);padding:8px 12px;margin-bottom:12px;flex-shrink:0}.chat-config{display:flex;align-items:flex-end;gap:12px;margin-bottom:12px;flex-shrink:0;flex-wrap:wrap}.chat-config__field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--color-text-secondary);flex:1;min-width:240px}.chat-config__input{padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:14px;font-family:SF Mono,Menlo,Consolas,monospace;outline:none;transition:border-color .15s}.chat-config__input:focus{border-color:var(--color-primary)}.chat-config__input:disabled{background:#f3f4f6;cursor:not-allowed}.chat-config__session{font-size:12px;color:var(--color-text-secondary)}.chat-config__session code{font-size:12px;background:#f3f4f6;padding:1px 4px;border-radius:3px}.chat-messages{flex:1;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);padding:16px;display:flex;flex-direction:column;gap:12px;min-height:200px}.chat-messages__empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:14px}.chat-bubble{max-width:80%;padding:10px 14px;border-radius:var(--radius);font-size:14px;line-height:1.6;word-break:break-word;white-space:pre-wrap}.chat-bubble__role{font-size:11px;font-weight:600;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.chat-bubble__content{white-space:pre-wrap}.chat-bubble--user{align-self:flex-end;background:var(--color-primary);color:#fff}.chat-bubble--user .chat-bubble__role{color:#ffffffb3}.chat-bubble--assistant{align-self:flex-start;background:#f3f4f6;color:var(--color-text)}.chat-bubble--assistant .chat-bubble__role{color:var(--color-text-secondary)}.chat-bubble--loading .chat-bubble__content{color:var(--color-text-secondary);font-style:italic}.chat-usage{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--color-text-secondary);background:#f9fafb;border:1px solid var(--color-border);border-radius:var(--radius);padding:8px 12px;margin-top:8px;flex-shrink:0}.chat-input-bar{display:flex;gap:8px;margin-top:12px;flex-shrink:0}.chat-input-bar__textarea{flex:1;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:14px;font-family:inherit;resize:none;outline:none;transition:border-color .15s}.chat-input-bar__textarea:focus{border-color:var(--color-primary)}.chat-input-bar__textarea:disabled{background:#f3f4f6;cursor:not-allowed}.chat-input-bar__send{width:auto;align-self:flex-end}.marketplace-home{width:100%;background:var(--color-bg)}.marketplace-list-page{width:100%;max-width:var(--page-max-width);margin:0 auto;padding:32px}.marketplace-list-page__header{margin-bottom:24px}.marketplace-list-page__title{margin:0 0 8px;font-size:28px;font-weight:700;line-height:1.2;color:var(--color-text)}.marketplace-list-page__subtitle{margin:0 0 16px;color:var(--color-text-secondary);font-size:14px;line-height:20px}.marketplace-list-page__search{margin:0 0 12px}.marketplace-list-page__search-input{width:100%;max-width:480px;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:14px;font-family:inherit;outline:none;background:var(--color-surface);transition:border-color .15s}.marketplace-list-page__search-input:focus{border-color:var(--color-primary)}.marketplace-list-page__count{font-size:13px;color:var(--color-text-secondary)}.marketplace-section{width:100%;max-width:var(--page-max-width);margin:0 auto;padding:64px 32px 80px}.marketplace-section__header{margin-bottom:36px;text-align:center}.marketplace-section__title{margin:0 0 16px;color:var(--color-text);font-size:36px;font-weight:700;line-height:40px}.marketplace-section__subtitle{max-width:672px;margin:0 auto;color:var(--color-text-secondary);font-size:20px;line-height:28px}.marketplace-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.marketplace-toolbar__search{flex:1;min-width:220px;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:14px;font-family:inherit;outline:none;background:var(--color-surface);transition:border-color .15s}.marketplace-toolbar__search:focus{border-color:var(--color-primary)}.marketplace-toolbar__count{font-size:13px;color:var(--color-text-secondary)}.marketplace-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.marketplace-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:12px;transition:box-shadow .15s}.marketplace-card:hover{box-shadow:0 12px 28px #1118271a}.marketplace-card__top{display:flex;align-items:center;justify-content:space-between;gap:12px}.marketplace-card__avatar{width:40px;height:40px;flex-shrink:0;border-radius:50%;background:linear-gradient(135deg,var(--color-primary) 0%,#6366f1 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;line-height:1}.marketplace-card__heading{display:flex;flex-direction:column;flex:1;min-width:0}.marketplace-card__name{font-size:16px;font-weight:600;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.marketplace-card__name-en{font-size:12px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.marketplace-card__tag{display:inline-block;background:#eef2ff;color:var(--color-primary);font-size:12px;padding:2px 8px;border-radius:4px;white-space:nowrap;align-self:flex-start}.marketplace-card__desc{font-size:14px;color:var(--color-text-secondary);line-height:1.5;flex:1;word-break:break-word;margin:0}.marketplace-card__pricing{background:#f9fafb;border:1px solid var(--color-border);border-radius:var(--radius);padding:8px 12px;font-size:13px;display:flex;flex-direction:column;gap:4px;color:var(--color-text)}.marketplace-card__pricing-line{line-height:1.4}.marketplace-card__pricing-mode{font-weight:600;color:var(--color-primary)}.marketplace-card__pricing-detail{color:var(--color-text-secondary)}.marketplace-card__updated{white-space:nowrap}.marketplace-card__footer{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--color-text-secondary)}.marketplace-card__action{align-self:flex-start}.marketplace-empty{text-align:center;padding:48px 0;color:var(--color-text-secondary);font-size:15px}.marketplace-detail{display:flex;flex-direction:column;gap:20px}.marketplace-detail__back{align-self:flex-start;font-size:13px}.detail-hero{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 24px 24px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.detail-hero__avatar{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary) 0%,#6366f1 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;line-height:1}.detail-hero__name{font-size:20px;font-weight:700;color:var(--color-text)}.detail-hero__role{font-size:15px;font-weight:500;color:var(--color-primary)}.detail-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px 24px}.detail-section__title{font-size:14px;font-weight:600;color:var(--color-text-secondary);margin-bottom:12px}.detail-section__body{font-size:15px;line-height:1.7;color:var(--color-text)}.detail-section__chips{display:flex;flex-wrap:wrap;gap:8px}.detail-chip{font-size:13px;padding:4px 12px;border-radius:999px;background:#eef2ff;color:var(--color-primary);white-space:nowrap}.detail-section__questions{list-style:none;display:flex;flex-direction:column;gap:8px}.detail-question{font-size:14px;color:var(--color-text);line-height:1.6;padding:12px 16px;background:#f9fafb;border:1px solid var(--color-border);border-radius:8px}.detail-field-list{display:flex;flex-direction:column;gap:0}.detail-field{display:flex;align-items:flex-start;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f3f4f6;gap:16px}.detail-field:last-child{border-bottom:none}.detail-field__label{font-size:13px;color:var(--color-text-secondary);white-space:nowrap;flex-shrink:0;min-width:160px;line-height:1.6}.detail-field__value{font-size:14px;color:var(--color-text);text-align:right;word-break:break-all;line-height:1.6}.detail-field__empty{color:var(--color-text-secondary);font-style:italic}.detail-field__hint{display:block;font-size:12px;color:var(--color-text-secondary);margin-top:2px}.detail-field__list{list-style:none;text-align:right;display:flex;flex-direction:column;gap:4px}.detail-field__list li{font-size:13px;color:var(--color-text);line-height:1.5}.detail-field__json{margin:0;padding:12px 16px;background:#f9fafb;border:1px solid var(--color-border);border-radius:6px;font-family:SF Mono,Menlo,Monaco,Courier New,monospace;font-size:12px;line-height:1.6;color:var(--color-text);white-space:pre-wrap;word-break:break-all;text-align:left;width:100%;overflow-x:auto}.detail-subsection{margin-top:16px;padding-top:16px;border-top:1px solid #f3f4f6}.detail-subsection__title{font-size:13px;font-weight:600;color:var(--color-text-secondary);margin-bottom:8px}.detail-subscribe{display:flex;align-items:center;gap:16px}.detail-subscribe__price{font-size:18px;font-weight:600;color:var(--color-text)}.detail-config__hint{font-size:12px;color:var(--color-text-secondary);margin-bottom:8px}.detail-config__actions{display:flex;gap:8px}.detail-config__upload-btn{position:relative;cursor:pointer}.detail-config__file-input{position:absolute;width:0;height:0;opacity:0;overflow:hidden}.detail-config__upload-area{display:flex;align-items:center;gap:8px;padding:8px 0}.detail-config__filename{font-size:13px;color:var(--color-text-secondary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-hero__avatar-wrap{position:relative;display:inline-block}.detail-hero__avatar-edit{position:absolute;bottom:0;right:-4px;width:24px;height:24px;border-radius:50%;background:var(--color-primary);color:#fff;border:2px solid #fff;font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.detail-field--editable{position:relative}.detail-field__edit-btn{position:absolute;right:-28px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-secondary);font-size:14px;cursor:pointer;padding:4px;opacity:.4;transition:opacity .15s}.detail-field--editable:hover .detail-field__edit-btn,.detail-field__edit-btn:hover{opacity:1}.detail-field__input{font-size:14px;color:var(--color-text);border:none;border-bottom:1px dashed var(--color-border);background:transparent;outline:none;padding:2px 0;width:100%;font-family:inherit;text-align:right}.detail-field__input:focus{border-bottom-color:var(--color-primary)}.detail-field__textarea{font-size:13px;color:var(--color-text);border:1px solid var(--color-border);border-radius:4px;background:#fafafa;outline:none;padding:6px 8px;width:100%;font-family:inherit;resize:vertical;line-height:1.5}.detail-field__textarea:focus{border-color:var(--color-primary);background:#fff}.detail-field__label-col{display:flex;flex-direction:column;flex-shrink:0;min-width:160px}.detail-edit-group{display:flex;flex-direction:column;gap:8px}.detail-edit-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-secondary)}.detail-edit__input{padding:4px 8px;border:1px solid var(--color-border);border-radius:4px;font-size:13px;font-family:inherit;outline:none;width:120px}.detail-edit__input:focus{border-color:var(--color-primary)}.detail-save-bar{margin-top:24px;padding-top:16px;border-top:1px solid var(--color-border);display:flex;align-items:center;gap:12px}@media(max-width:900px){.app-nav{display:none}}@media(max-width:640px){.app-header__inner{padding:0 16px}.app-header__brand{width:158px;height:32px;gap:6px}.app-header__mark{width:32px;height:32px;font-size:13px}.app-header__title{font-size:16px}.app-header__user{gap:8px}.app-header__user span{display:none}.app-header__logout{width:72px;padding:8px 12px}.app-main>div:not(.marketplace-home),.app-main>.spinner,.app-main>.error-banner{padding:16px}.marketplace-section{padding:48px 16px 64px}.marketplace-section__title{font-size:32px;line-height:36px}.marketplace-section__subtitle{font-size:18px;line-height:28px}.marketplace-list{grid-template-columns:1fr}.marketplace-card__footer{align-items:flex-start;flex-direction:column}}.login-form{display:flex;flex-direction:column;gap:12px;text-align:left}.login-form__label{font-size:13px;color:var(--color-text-secondary);margin-top:4px}.login-form__row{display:flex;gap:8px;align-items:stretch}.login-form__row .login-card__input{flex:1}.login-form__hint{font-size:12px;color:var(--color-text-secondary);margin-top:4px;line-height:1.5}.login-phone-field{display:flex;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);transition:border-color .15s;overflow:hidden}.login-phone-field:focus-within{border-color:var(--color-primary)}.login-phone-field__prefix{padding:10px 0 10px 14px;font-size:15px;color:var(--color-text);white-space:nowrap;-webkit-user-select:none;user-select:none;border-right:1px solid var(--color-border);flex-shrink:0}.login-phone-field__input{flex:1;border:none;padding:10px 14px;font-size:15px;outline:none;background:transparent;min-width:0}.login-phone-field__input::placeholder{color:#ccc}.login-phone-field__input:disabled{background:#f3f4f6;cursor:not-allowed}.login-code-field{display:flex;gap:8px;align-items:stretch}.login-code-field__input{flex:1;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:15px;outline:none;transition:border-color .15s;background:var(--color-surface);min-width:0}.login-code-field__input:focus{border-color:var(--color-primary)}.login-code-field__input::placeholder{color:#ccc}.login-code-field__input:disabled{background:#f3f4f6;cursor:not-allowed}.login-code-field__send-btn{flex-shrink:0;padding:10px 14px;border:none;border-radius:var(--radius);font-size:14px;font-weight:500;color:var(--color-primary);background:transparent;cursor:pointer;white-space:nowrap;transition:color .15s}.login-code-field__send-btn:hover:not(:disabled){color:var(--color-primary-hover)}.login-code-field__send-btn:disabled{color:var(--color-text-secondary);cursor:not-allowed}.login-checkbox{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.login-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);flex-shrink:0;cursor:pointer}.btn--pill{border-radius:24px;padding:12px 20px;font-size:16px;font-weight:600;letter-spacing:.5px}.login-consent{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--color-text-secondary);margin-top:16px;text-align:left;line-height:1.5}.login-consent input[type=checkbox]{margin-top:2px;width:14px;height:14px;accent-color:var(--color-primary);flex-shrink:0;cursor:pointer}.login-consent a{color:var(--color-primary);text-decoration:none}.login-consent a:hover{text-decoration:underline}.login-divider{display:flex;align-items:center;gap:12px;margin-top:24px;color:var(--color-text-secondary);font-size:12px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.login-wechat-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:16px;padding:12px 20px;border:1px solid var(--color-border);border-radius:24px;background:var(--color-surface);font-size:15px;font-weight:500;color:var(--color-text);cursor:pointer;transition:border-color .15s,background .15s}.login-wechat-btn:hover:not(:disabled){border-color:#07c160;background:#f0faf4}.login-wechat-btn:disabled{opacity:.5;cursor:not-allowed}.login-wechat-btn__icon{color:#07c160;flex-shrink:0}.login-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.login-modal{background:var(--color-surface);border-radius:12px;width:100%;max-width:420px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.login-modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.login-modal__header h2{font-size:18px;font-weight:600;color:var(--color-text)}.login-modal__close{width:32px;height:32px;border:none;background:transparent;font-size:18px;color:var(--color-text-secondary);cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .15s}.login-modal__close:hover{background:#f3f4f6}.login-modal__body{padding:20px 24px}.login-modal__mock-hint{padding:0 24px 16px;text-align:center}.wechat-panel{display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center}.wechat-panel__status{width:100%}.wechat-status{display:inline-block;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:500;border:1px solid transparent}.wechat-status--pending{background:#eef2ff;color:#4338ca;border-color:#c7d2fe}.wechat-status--scanned{background:#fef3c7;color:#92400e;border-color:#fde68a}.wechat-status--expired{background:#fee2e2;color:#b91c1c;border-color:#fecaca}.wechat-status--binding{background:#ede9fe;color:#5b21b6;border-color:#ddd6fe}.wechat-status--authenticated{background:#d1fae5;color:#065f46;border-color:#a7f3d0}.wechat-panel__qr{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.wechat-panel__qr-mock{width:180px;height:180px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:8px;display:flex;align-items:center;justify-content:center}.wechat-panel__qr-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;width:100%;height:100%}.wechat-panel__qr-cell{background:#f3f4f6;border-radius:1px}.wechat-panel__qr-cell.on{background:#111827}.wechat-panel__url{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:11px;color:var(--color-text-secondary);background:#f3f4f6;padding:4px 8px;border-radius:4px;word-break:break-all;max-width:100%;line-height:1.4}.wechat-panel__actions{display:flex;flex-direction:column;gap:8px;width:100%}.site-footer{padding:16px;text-align:center;font-size:12px;line-height:1.6;color:var(--color-text-secondary)}.site-footer__inner{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.site-footer__link{color:var(--color-text-secondary);text-decoration:none}.site-footer__link:hover{color:var(--color-text);text-decoration:underline}
