@use '../styles/mixins' as *; .container { width: 100%; } .cardTitle { display: flex; align-items: center; gap: $spacing-sm; } .cardTitleIcon { width: 24px; height: 24px; } .pageTitle { font-size: 28px; font-weight: 700; color: var(--text-primary); margin: 0 0 $spacing-xl 0; } .content { display: flex; flex-direction: column; gap: $spacing-xl; } .cardContent { display: flex; flex-direction: column; gap: $spacing-md; :global(.form-group) { margin-bottom: 0; } :global(.status-badge) { margin-bottom: 0; align-self: flex-start; } } .cardHint { margin: 0; font-size: 13px; line-height: 1.6; color: var(--text-secondary); } .cardHintSecondary { margin: 0; font-size: 12px; line-height: 1.5; color: var(--text-tertiary); } .oauthSection { display: flex; flex-direction: column; gap: $spacing-lg; } .oauthGrid { display: grid; gap: $spacing-lg; grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)); @include mobile { grid-template-columns: 1fr; } } .oauthCard { display: flex; flex-direction: column; gap: $spacing-md; } .oauthStatus { padding: $spacing-md; border-radius: $radius-md; font-size: 14px; &.success { background-color: rgba(34, 197, 94, 0.1); color: #16a34a; } &.error { background-color: rgba($error-color, 0.12); color: $error-color; } &.waiting { background-color: rgba($primary-color, 0.12); color: var(--primary-color); } } .callbackSection { margin-top: 0; display: flex; flex-direction: column; gap: $spacing-sm; } .callbackActions { display: flex; gap: $spacing-md; } .authUrlBox { background: var(--bg-secondary); border: 1px dashed var(--border-color); border-radius: $radius-md; padding: $spacing-md; display: flex; flex-direction: column; gap: $spacing-xs; } .authUrlLabel { color: var(--text-secondary); font-size: 14px; } .authUrlValue { font-weight: 700; color: var(--text-primary); word-break: break-all; overflow-wrap: anywhere; line-height: 1.5; max-width: 100%; } .authUrlActions { display: flex; flex-wrap: wrap; align-items: center; gap: $spacing-sm; margin-top: $spacing-sm; } .geminiProjectField { :global(.form-group) { margin-top: 0; margin-bottom: 0; gap: $spacing-sm; } } .formItem { display: flex; flex-direction: column; gap: $spacing-xs; } .formItemLabel { margin: 0; font-weight: 600; color: var(--text-primary); } .filePicker { display: flex; align-items: center; gap: $spacing-sm; flex-wrap: wrap; } .fileName { flex: 1; min-width: 220px; padding: 10px 12px; border: 1px solid var(--border-color); border-radius: $radius-md; background: var(--bg-primary); color: var(--text-primary); font-size: 14px; } .fileNamePlaceholder { color: var(--text-secondary); } .connectionBox { background: var(--bg-secondary); border: 1px solid var(--border-color); border-radius: $radius-md; padding: $spacing-md; display: flex; flex-direction: column; gap: $spacing-sm; } .connectionLabel { margin: 0; font-size: 14px; font-weight: 600; color: var(--text-primary); } .keyValueList { display: flex; flex-direction: column; gap: 6px; } .keyValueItem { display: grid; grid-template-columns: 140px 1fr; gap: 10px; align-items: start; @include mobile { grid-template-columns: 1fr; gap: 2px; } } .keyValueKey { color: var(--text-secondary); font-size: 13px; } .keyValueValue { color: var(--text-primary); word-break: break-all; overflow-wrap: anywhere; }