/* EShip Extension Popup Styles */ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif; font-size: 14px; color: #2D2D31; background: #FAFAFB; min-width: 320px; max-width: 400px; } .container { padding: 16px; } /* Header */ header { text-align: center; margin-bottom: 20px; padding-bottom: 12px; border-bottom: 1px solid #EDEDF0; } header h1 { font-size: 20px; font-weight: 600; color: #FD366E; } /* States */ .state { display: block; } .state.hidden { display: none; } /* Loading */ #loading { text-align: center; padding: 40px 0; } .spinner { width: 32px; height: 32px; border: 3px solid #EDEDF0; border-top-color: #FD366E; border-radius: 50%; animation: spin 0.8s linear infinite; margin: 0 auto 12px; } @keyframes spin { to { transform: rotate(360deg); } } /* Form */ h2 { font-size: 16px; font-weight: 500; margin-bottom: 16px; } .form-group { margin-bottom: 14px; } .form-group label { display: block; font-size: 12px; font-weight: 500; color: #97979B; margin-bottom: 4px; } .form-group input { width: 100%; padding: 10px 12px; border: 1px solid #EDEDF0; border-radius: 6px; font-size: 14px; background: #fff; transition: border-color 0.2s, box-shadow 0.2s; } .form-group input:focus { outline: none; border-color: #FD366E; box-shadow: 0 0 0 3px rgba(253, 54, 110, 0.1); } /* Error Message */ .error { background: #FEE2E2; color: #B91C1C; padding: 10px 12px; border-radius: 6px; font-size: 13px; margin-bottom: 14px; } .error.hidden { display: none; } /* Buttons */ .btn { display: inline-flex; align-items: center; justify-content: center; padding: 10px 16px; border: none; border-radius: 6px; font-size: 14px; font-weight: 500; cursor: pointer; transition: background-color 0.2s, transform 0.1s; } .btn:active { transform: scale(0.98); } .btn-primary { width: 100%; background: #FD366E; color: white; } .btn-primary:hover { background: #E8305F; } .btn-primary:disabled { background: #FDA4B8; cursor: not-allowed; } .btn-secondary { background: #EDEDF0; color: #2D2D31; } .btn-secondary:hover { background: #D8D8DB; } .btn-small { padding: 6px 12px; font-size: 12px; } .btn-spinner { width: 16px; height: 16px; border: 2px solid rgba(255, 255, 255, 0.3); border-top-color: white; border-radius: 50%; animation: spin 0.8s linear infinite; } .btn-spinner.hidden { display: none; } /* User Info */ .user-info { display: flex; align-items: center; gap: 8px; padding: 12px; background: #fff; border: 1px solid #EDEDF0; border-radius: 8px; margin-bottom: 20px; } .user-icon { font-size: 20px; } #user-email { flex: 1; font-size: 13px; color: #97979B; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } /* Tools List */ #tools-list { background: #fff; border: 1px solid #EDEDF0; border-radius: 8px; margin-bottom: 16px; } .tool-item { padding: 12px; border-bottom: 1px solid #EDEDF0; } .tool-item:last-child { border-bottom: none; } .tool-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; } .tool-name { font-weight: 500; } /* Toggle Switch */ .toggle { position: relative; width: 44px; height: 24px; } .toggle input { opacity: 0; width: 0; height: 0; } .toggle-slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #D8D8DB; transition: 0.3s; border-radius: 24px; } .toggle-slider:before { position: absolute; content: ""; height: 18px; width: 18px; left: 3px; bottom: 3px; background-color: white; transition: 0.3s; border-radius: 50%; } .toggle input:checked + .toggle-slider { background-color: #FD366E; } .toggle input:checked + .toggle-slider:before { transform: translateX(20px); } /* Tool Settings */ .tool-settings { display: none; padding-top: 8px; } .tool-settings.visible { display: block; } .setting-row { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; } .setting-row:last-child { margin-bottom: 0; } .setting-row label { font-size: 12px; color: #97979B; min-width: 80px; } .setting-row input { flex: 1; padding: 6px 8px; border: 1px solid #EDEDF0; border-radius: 4px; font-size: 12px; } .setting-row input:focus { outline: none; border-color: #FD366E; } /* Actions */ .actions { margin-top: 16px; }