/* ============================================ Easy PHP Settings - Professional Styles ============================================ */ /* ============================================ App Shell & Design System ============================================ */ .easy-php-settings-app { max-width: 1280px; } .easy-php-settings-app > .notice { margin: 16px 0 0; } .easy-php-settings-hero { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin: 8px 0 20px; padding: 22px 24px; border: 1px solid #dcdcde; border-radius: 14px; background: linear-gradient(135deg, #ffffff 0%, #f8fafc 55%, #eef4fb 100%); box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05); } .easy-php-settings-hero__brand { display: flex; align-items: flex-start; gap: 16px; min-width: 0; } .easy-php-settings-hero__icon { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 12px; background: linear-gradient(135deg, #2271b1 0%, #72aee6 100%); color: #fff !important; font-size: 24px !important; flex-shrink: 0; } .easy-php-settings-hero h1 { margin: 0 0 6px; padding: 0; font-size: 24px; font-weight: 700; line-height: 1.2; color: #0f172a; } .easy-php-settings-hero p { margin: 0; max-width: 640px; color: #64748b; font-size: 14px; line-height: 1.5; } .easy-php-settings-version { display: inline-flex; align-items: center; padding: 6px 12px; border-radius: 999px; background: #fff; border: 1px solid #c7dff7; color: #2271b1; font-size: 12px; font-weight: 700; white-space: nowrap; } .easy-php-settings-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 18px !important; padding: 6px; border: 1px solid #dcdcde; border-radius: 12px; background: #f8fafc; border-bottom: 1px solid #dcdcde !important; } .easy-php-settings-tabs .nav-tab { display: inline-flex; align-items: center; gap: 6px; margin: 0 !important; padding: 10px 14px !important; border: 1px solid transparent !important; border-radius: 8px !important; background: transparent !important; color: #475569 !important; font-size: 13px; font-weight: 600; line-height: 1.2; transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease; } .easy-php-settings-tabs .nav-tab .dashicons { width: 16px; height: 16px; font-size: 16px; } .easy-php-settings-tabs .nav-tab:hover, .easy-php-settings-tabs .nav-tab:focus { color: #2271b1 !important; background: #fff !important; } .easy-php-settings-tabs .nav-tab-active, .easy-php-settings-tabs .nav-tab-active:hover, .easy-php-settings-tabs .nav-tab-active:focus { color: #2271b1 !important; background: #fff !important; border-color: #c7dff7 !important; box-shadow: 0 1px 3px rgba(34, 113, 177, 0.12); } .easy-php-settings-panel { display: flex; flex-direction: column; gap: 18px; } .easy-php-settings-panel > form { display: flex; flex-direction: column; gap: 18px; margin: 0; } .easy-php-card__desc, .easy-php-settings-app .easy-php-settings-config-box > p, .easy-php-settings-app .easy-php-settings-preset-box > p, .easy-php-settings-app .easy-php-settings-tool-section > p { margin: 0 0 14px !important; color: #64748b !important; font-size: 13px; line-height: 1.55; } .easy-php-field-label { display: block; margin-bottom: 8px; font-weight: 600; color: #334155; } .easy-php-settings-app .easy-php-settings-config-box h3, .easy-php-settings-app .easy-php-settings-preset-box h3, .easy-php-settings-app .easy-php-settings-tool-section h3, .easy-php-settings-app .easy-php-config-generator-box h3, .easy-php-settings-app .easy-php-test-settings-box h3, .easy-php-settings-app .easy-php-section-card__title { display: flex; align-items: center; gap: 10px; margin-top: 0; margin-bottom: 12px; padding-bottom: 12px; border-bottom: 1px solid #eef2f7; color: #0f172a; font-size: 16px; font-weight: 700; line-height: 1.3; } .easy-php-settings-app .easy-php-settings-config-box h3 .dashicons, .easy-php-settings-app .easy-php-settings-preset-box h3 .dashicons, .easy-php-settings-app .easy-php-settings-tool-section h3 .dashicons, .easy-php-settings-app .easy-php-config-generator-box h3 .dashicons, .easy-php-settings-app .easy-php-test-settings-box h3 .dashicons, .easy-php-settings-app .easy-php-section-card__title .dashicons { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 8px; background: #eef4fb; color: #2271b1 !important; font-size: 18px !important; } .easy-php-settings-app .easy-php-settings-config-box, .easy-php-settings-app .easy-php-settings-preset-box, .easy-php-settings-app .easy-php-settings-tool-section, .easy-php-settings-app .easy-php-config-generator-box, .easy-php-settings-app .easy-php-test-settings-box, .easy-php-settings-app .easy-php-section-card { background: #fff; border: 1px solid #dcdcde; border-radius: 12px; padding: 22px 24px; margin-bottom: 0 !important; box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04); } .easy-php-settings-app .easy-php-settings-preset-box { background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%); border-color: #c7dff7; } .easy-php-settings-app .form-table { margin-top: 0; } .easy-php-settings-app .form-table th { width: 220px; padding: 16px 12px 16px 0; color: #334155; font-weight: 600; vertical-align: top; } .easy-php-settings-app .form-table td { padding: 12px 0; } .easy-php-settings-app .form-table input.regular-text, .easy-php-settings-app .form-table select, .easy-php-settings-app .form-table textarea { border: 1px solid #cbd5e1; border-radius: 8px; padding: 10px 12px; transition: border-color 0.2s ease, box-shadow 0.2s ease; } .easy-php-settings-app .form-table input.regular-text:focus, .easy-php-settings-app .form-table select:focus, .easy-php-settings-app .form-table textarea:focus { border-color: #2271b1; box-shadow: 0 0 0 3px rgba(34, 113, 177, 0.12); outline: none; } .easy-php-settings-app #easy_php_settings_preset { width: 100%; max-width: 100%; min-width: 0; } .easy-php-settings-app #easy_php_settings_custom_php_ini, .easy-php-settings-app #easy_php_settings-log-viewer { width: 100% !important; min-height: 220px; border: 1px solid #cbd5e1 !important; border-radius: 10px !important; background: #f8fafc !important; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size: 13px; line-height: 1.6; } .easy-php-settings-app .easy-php-settings-actions { position: sticky; bottom: 16px; z-index: 20; margin: 8px 0 0 !important; padding: 16px 20px; border: 1px solid #c7dff7; border-radius: 14px; background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 251, 255, 0.98) 100%); box-shadow: 0 10px 30px rgba(15, 23, 42, 0.1); backdrop-filter: blur(8px); } .easy-php-settings-actions__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; } .easy-php-settings-actions__hint { display: flex; align-items: flex-start; gap: 8px; margin: 0; max-width: 520px; color: #64748b; font-size: 13px; line-height: 1.5; } .easy-php-settings-actions__hint .dashicons { width: 18px; height: 18px; font-size: 18px; color: #2271b1; flex-shrink: 0; margin-top: 1px; } .easy-php-save-button { display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; min-height: 46px !important; height: auto !important; padding: 0 28px !important; border: 1px solid #135e96 !important; border-radius: 10px !important; background: linear-gradient(135deg, #1a6fae 0%, #2271b1 45%, #3582c4 100%) !important; color: #fff !important; font-size: 15px !important; font-weight: 700 !important; line-height: 1.2 !important; letter-spacing: 0.01em; text-shadow: none !important; box-shadow: 0 4px 14px rgba(34, 113, 177, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.18) !important; transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease; cursor: pointer; white-space: nowrap; } .easy-php-save-button__icon { width: 18px; height: 18px; font-size: 18px; line-height: 1; } .easy-php-save-button:hover, .easy-php-save-button:focus { filter: brightness(1.06); color: #fff !important; border-color: #135e96 !important; box-shadow: 0 6px 20px rgba(34, 113, 177, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.22) !important; transform: translateY(-1px); } .easy-php-save-button:active { transform: translateY(0); box-shadow: 0 2px 8px rgba(34, 113, 177, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.12) !important; } .easy-php-save-button:focus-visible { outline: 2px solid #72aee6; outline-offset: 2px; } .easy-php-save-button.easy-php-settings-btn-loading { opacity: 0.92; cursor: wait !important; transform: none; } .easy-php-settings-app .easy-php-settings-save-box { display: flex; justify-content: center; padding: 20px !important; } .easy-php-settings-app .easy-php-settings-actions .submit { margin: 0 !important; padding: 0 !important; text-align: center; } .easy-php-settings-app .easy-php-settings-save-wrapper { min-height: 0 !important; margin: 16px 0 0 !important; } .easy-php-settings-app .easy-php-settings-save-box { border: 1px solid #c7dff7 !important; border-radius: 12px !important; box-shadow: none !important; background: #f8fbff !important; } .easy-php-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 14px; } .easy-php-toolbar-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; } .easy-php-inline-form { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; } .easy-php-section-card + .easy-php-section-card { margin-top: 0; } .easy-php-section-card__header { margin-bottom: 14px; } .easy-php-section-card__header .description { margin: 6px 0 0; color: #64748b; } .easy-php-data-table-wrap { overflow: auto; border: 1px solid #e2e8f0; border-radius: 10px; } .easy-php-settings-app .easy-php-data-table { width: 100%; margin: 0; border: 0; border-collapse: separate; border-spacing: 0; } .easy-php-settings-app .easy-php-data-table thead th { padding: 12px 14px; border-bottom: 1px solid #e2e8f0; background: #f8fafc; color: #475569; font-size: 11px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; text-align: left; } .easy-php-settings-app .easy-php-data-table tbody td { padding: 12px 14px; border-bottom: 1px solid #eef2f7; color: #1e293b; font-size: 13px; vertical-align: top; } .easy-php-settings-app .easy-php-data-table tbody tr:last-child td { border-bottom: 0; } .easy-php-settings-app .easy-php-data-table tbody tr:hover td { background: #f8fbff; } .easy-php-settings-app .easy-php-data-table code { padding: 2px 6px; border-radius: 4px; background: #f1f5f9; font-size: 12px; } .easy-php-settings-app .status-badge { display: inline-flex; align-items: center; padding: 3px 8px; border-radius: 999px; font-size: 11px; font-weight: 700; letter-spacing: 0.02em; text-transform: uppercase; } .easy-php-settings-app .status-badge.status-ok { background: #ecfdf5; color: #047857; } .easy-php-settings-app .status-badge.status-low { background: #fff7ed; color: #c2410c; } .easy-php-settings-app .status-badge.status-high { background: #fef3c7; color: #b45309; } .easy-php-settings-app .easy-php-badge--success { background: #ecfdf5; color: #047857; } .easy-php-settings-app .easy-php-badge--danger { background: #fef2f2; color: #b91c1c; } .easy-php-settings-app .easy-php-badge { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; border-radius: 999px; font-size: 11px; font-weight: 700; } .easy-php-settings-app .easy-php-extensions-category { margin-bottom: 18px; } .easy-php-settings-app .easy-php-extensions-category h4 { margin: 0 0 10px; padding: 10px 12px; border-radius: 8px; background: #f8fafc; border: 1px solid #e2e8f0; color: #334155; font-size: 13px; font-weight: 700; } .easy-php-settings-app .easy-php-extensions-recommended { margin-top: 18px; padding: 16px 18px; border-radius: 10px; background: #f8fbff; border: 1px solid #c7dff7; } .easy-php-settings-app .easy-php-extensions-search-wrap { position: relative; flex: 1 1 280px; max-width: 420px; } .easy-php-settings-app .easy-php-extensions-search-wrap .dashicons { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #94a3b8; pointer-events: none; } .easy-php-settings-app #extensions-search { width: 100%; padding: 10px 14px 10px 38px !important; min-width: 0 !important; } .easy-php-settings-app .button .dashicons { width: 16px; height: 16px; font-size: 16px; line-height: 1; vertical-align: text-bottom; } .easy-php-settings-app #tools-tab, .easy-php-settings-app #extensions-tab, .easy-php-settings-app #status-tab { display: flex; flex-direction: column; gap: 18px; } .easy-php-settings-app .easy-php-about-container { display: flex; flex-direction: column; gap: 18px; margin-top: 0; max-width: none; } .easy-php-settings-app .easy-php-about-header-card, .easy-php-settings-app .easy-php-about-card { margin-bottom: 0; } .easy-php-settings-app .easy-php-settings-danger-zone { margin: 0 !important; padding: 22px 24px; border-radius: 12px; background: #fef2f2; border: 1px solid #fecaca; box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04); } .easy-php-settings-app .easy-php-config-generator-box, .easy-php-settings-app .easy-php-test-settings-box { margin-top: 0 !important; border-left: 4px solid #2271b1; background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%); } .easy-php-settings-app .easy-php-settings-warning-box { background: linear-gradient(180deg, #fffbeb 0%, #ffffff 100%); border-color: #fcd34d; border-left: 4px solid #f59e0b; } .easy-php-settings-app .easy-php-php-settings-panel { margin-top: 0; } .easy-php-subsection-title { margin: 20px 0 8px; color: #334155; font-size: 14px; font-weight: 600; } .easy-php-subsection-title:first-of-type { margin-top: 0; } .easy-php-submit-reset { margin: 0 !important; padding: 0 !important; text-align: center; } /* Advanced Tools utility section */ .easy-php-utility-section { display: flex; flex-direction: column; gap: 18px; } .easy-php-utility-section__header h2 { margin: 0 0 6px; font-size: 18px; font-weight: 700; color: #0f172a; } .easy-php-utility-section__header p { margin: 0; color: #64748b; font-size: 13px; line-height: 1.5; } .easy-php-utility-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } .easy-php-utility-card { display: flex; flex-direction: column; gap: 16px; padding: 22px 24px; border: 1px solid #dcdcde; border-radius: 14px; background: #fff; box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04); } .easy-php-utility-card--generator, .easy-php-utility-card--test { background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%); border-color: #c7dff7; } .easy-php-utility-card--danger { background: linear-gradient(180deg, #fff5f5 0%, #ffffff 100%); border-color: #fecaca; } .easy-php-utility-card__head { display: flex; align-items: flex-start; gap: 14px; } .easy-php-utility-card__icon { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; flex-shrink: 0; } .easy-php-utility-card__icon .dashicons { width: 22px; height: 22px; font-size: 22px; } .easy-php-utility-card__icon--blue { background: #eef4fb; color: #2271b1; } .easy-php-utility-card__icon--green { background: #ecfdf5; color: #047857; } .easy-php-utility-card__icon--red { background: #fef2f2; color: #b91c1c; } .easy-php-utility-card__copy h3 { margin: 0 0 6px; font-size: 16px; font-weight: 700; color: #0f172a; line-height: 1.3; } .easy-php-utility-card__copy p { margin: 0; color: #64748b; font-size: 13px; line-height: 1.55; } .easy-php-utility-card__actions { display: flex; flex-wrap: wrap; gap: 10px; } .easy-php-utility-card__body { padding-top: 16px; border-top: 1px solid #eef2f7; } .easy-php-utility-btn { display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 0 18px !important; border-radius: 9px !important; font-size: 13px !important; font-weight: 600 !important; line-height: 1.2 !important; text-shadow: none !important; cursor: pointer; transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, color 0.15s ease; } .easy-php-utility-btn .dashicons { width: 16px; height: 16px; font-size: 16px; } .easy-php-utility-btn--primary { border: 1px solid #135e96 !important; background: linear-gradient(135deg, #1a6fae 0%, #2271b1 45%, #3582c4 100%) !important; color: #fff !important; box-shadow: 0 3px 10px rgba(34, 113, 177, 0.25) !important; } .easy-php-utility-btn--primary:hover, .easy-php-utility-btn--primary:focus { color: #fff !important; filter: brightness(1.05); transform: translateY(-1px); box-shadow: 0 5px 14px rgba(34, 113, 177, 0.32) !important; } .easy-php-utility-btn--secondary { border: 1px solid #c7dff7 !important; background: #fff !important; color: #2271b1 !important; box-shadow: none !important; } .easy-php-utility-btn--secondary:hover, .easy-php-utility-btn--secondary:focus { background: #f8fbff !important; color: #135e96 !important; border-color: #72aee6 !important; } .easy-php-utility-btn--ghost { border: 1px solid #e2e8f0 !important; background: #fff !important; color: #475569 !important; box-shadow: none !important; } .easy-php-utility-btn--ghost:hover, .easy-php-utility-btn--ghost:focus { background: #f8fafc !important; color: #2271b1 !important; border-color: #cbd5e1 !important; } .easy-php-utility-btn--danger { border: 1px solid #f87171 !important; background: #fff !important; color: #b91c1c !important; box-shadow: none !important; } .easy-php-utility-btn--danger:hover, .easy-php-utility-btn--danger:focus { background: #dc2626 !important; border-color: #dc2626 !important; color: #fff !important; } .easy-php-settings-app .easy-php-config-output { display: none; margin-top: 0; } .easy-php-settings-app .easy-php-config-output.is-visible { display: block; } .easy-php-settings-app .easy-php-config-output h4 { margin: 0 0 14px; font-size: 14px; font-weight: 700; color: #334155; } .easy-php-settings-app .easy-php-config-block { margin-bottom: 16px; } .easy-php-settings-app .easy-php-config-block:last-child { margin-bottom: 0; } .easy-php-settings-app .easy-php-config-block label { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: #64748b; } .easy-php-settings-app .easy-php-config-block textarea { width: 100%; min-height: 160px; margin-bottom: 10px; padding: 12px 14px; border: 1px solid #cbd5e1; border-radius: 10px; background: #f8fafc; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size: 12px; line-height: 1.6; } .easy-php-test-result { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 10px; font-size: 13px; line-height: 1.5; } .easy-php-test-result .dashicons, .easy-php-test-result .easy-php-settings-btn-spinner { flex-shrink: 0; } .easy-php-test-result--loading { background: #f8fafc; border: 1px solid #e2e8f0; color: #475569; } .easy-php-test-result--loading .easy-php-settings-btn-spinner { border-color: rgba(34, 113, 177, 0.2); border-top-color: #2271b1; } .easy-php-test-result--success { background: #ecfdf5; border: 1px solid #a7f3d0; color: #047857; } .easy-php-test-result--success .dashicons { color: #059669; } .easy-php-utility-btn.easy-php-settings-btn-loading { opacity: 0.85; cursor: wait !important; } .easy-php-utility-btn--secondary.easy-php-settings-btn-loading .easy-php-settings-btn-spinner, .easy-php-utility-btn--ghost.easy-php-settings-btn-loading .easy-php-settings-btn-spinner { border-color: rgba(34, 113, 177, 0.2); border-top-color: #2271b1; } .easy-php-delete-form { margin: 0; } @media (min-width: 783px) { .easy-php-utility-card--danger { flex-direction: row; align-items: center; justify-content: space-between; } .easy-php-utility-card--danger .easy-php-utility-card__head { flex: 1; min-width: 0; } .easy-php-utility-card--danger .easy-php-utility-card__actions { flex-shrink: 0; } } @media (max-width: 782px) { .easy-php-settings-hero { flex-direction: column; } .easy-php-settings-tabs .nav-tab { flex: 1 1 calc(50% - 6px); justify-content: center; } .easy-php-settings-app .form-table th, .easy-php-settings-app .form-table td { display: block; width: 100%; padding: 8px 0; } .easy-php-settings-actions__inner { flex-direction: column; align-items: stretch; } .easy-php-settings-actions__hint { max-width: none; } .easy-php-save-button { width: 100%; justify-content: center; } .easy-php-utility-grid { grid-template-columns: 1fr; } .easy-php-utility-card__actions .easy-php-utility-btn { width: 100%; } } /* Main switch container */ .switch { position: relative; display: inline-block; width: 60px; height: 34px; } /* Hide default HTML checkbox */ .switch input { opacity: 0; width: 0; height: 0; } /* The slider */ .slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; -webkit-transition: .4s; transition: .4s; border-radius: 34px; } .slider:before { position: absolute; content: ""; height: 26px; width: 26px; left: 4px; bottom: 4px; background-color: white; -webkit-transition: .4s; transition: .4s; border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,0.2); } input:checked + .slider { background-color: #2271b1; } input:focus + .slider { box-shadow: 0 0 0 3px rgba(34, 113, 177, 0.25); } input:checked + .slider:before { -webkit-transform: translateX(26px); -ms-transform: translateX(26px); transform: translateX(26px); } input:disabled + .slider { opacity: 0.5; cursor: not-allowed; } /* ============================================ Tooltips & Help Icons ============================================ */ .dashicons-editor-help { font-size: 18px; width: 18px; height: 18px; vertical-align: middle; color: #646970; cursor: help; transition: all 0.2s ease; } .dashicons-editor-help:hover { color: #2271b1 !important; transform: scale(1.1); } /* ============================================ Preset Selector ============================================ */ .easy-php-settings-preset-box { background: linear-gradient(135deg, #f0f6fc 0%, #e8f4f8 100%); border: 1px solid #c3e4ed; border-radius: 12px; padding: 24px; margin-bottom: 28px; box-shadow: 0 2px 8px rgba(0,0,0,0.08); transition: box-shadow 0.3s ease; } .easy-php-settings-preset-box:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.12); } .easy-php-settings-preset-box h3 { margin-top: 0; margin-bottom: 12px; color: #1d2327; font-size: 16px; font-weight: 600; } #easy_php_settings_preset { font-size: 14px; line-height: 1.5; padding: 10px 14px; border-radius: 6px; border: 1px solid #8c8f94; min-width: 300px; transition: all 0.3s ease; background: #ffffff; } #easy_php_settings_preset:focus { border-color: #2271b1; box-shadow: 0 0 0 2px rgba(34, 113, 177, 0.1); outline: none; } /* ============================================ Save Button Wrapper ============================================ */ .easy-php-settings-save-wrapper { margin-top: 32px !important; margin-bottom: 24px !important; display: block !important; visibility: visible !important; clear: both !important; width: 100% !important; overflow: visible !important; height: auto !important; min-height: 100px !important; position: relative !important; z-index: 10 !important; } .easy-php-settings-save-box { background: #ffffff !important; border: 2px solid #2271b1 !important; border-radius: 12px !important; padding: 24px !important; box-shadow: 0 4px 12px rgba(34, 113, 177, 0.15) !important; display: block !important; visibility: visible !important; text-align: center !important; width: 100% !important; box-sizing: border-box !important; margin: 0 !important; } .easy-php-settings-save-wrapper .button-primary:not(.easy-php-save-button), .easy-php-settings-save-wrapper .button-large:not(.easy-php-save-button), .easy-php-settings-save-wrapper input[type="submit"]:not(.easy-php-save-button), .easy-php-settings-save-wrapper button[type="submit"]:not(.easy-php-save-button), #submit:not(.easy-php-save-button) { font-size: 16px !important; padding: 12px 32px !important; height: auto !important; min-height: 44px !important; display: inline-block !important; visibility: visible !important; opacity: 1 !important; margin: 0 !important; width: auto !important; max-width: none !important; font-weight: 600 !important; box-shadow: 0 4px 8px rgba(34, 113, 177, 0.3) !important; position: relative !important; z-index: 1 !important; } .easy-php-save-button, #easy-php-settings-save-button, #easy-php-settings-debug-save-button { visibility: visible !important; opacity: 1 !important; margin: 0 !important; width: auto !important; max-width: none !important; position: relative !important; z-index: 1 !important; } /* Ensure form submit buttons are always visible */ form[action="options.php"] .easy-php-settings-save-wrapper, form[action="options.php"] .easy-php-settings-save-box, form[action="options.php"] .easy-php-settings-save-wrapper p.submit, form[action="options.php"] input[type="submit"]:not(.easy-php-save-button), form[action="options.php"] button[type="submit"]:not(.easy-php-save-button) { display: block !important; visibility: visible !important; } form[action="options.php"] .easy-php-save-button, form[action="options.php"] #easy-php-settings-save-button, form[action="options.php"] #easy-php-settings-debug-save-button { display: inline-flex !important; visibility: visible !important; } form[action="options.php"] .easy-php-settings-save-wrapper p.submit { margin: 0 !important; padding: 0 !important; text-align: center; } form[action="options.php"] .easy-php-settings-save-wrapper p.submit input[type="submit"] { display: inline-block !important; } /* ============================================ Button Styles ============================================ */ .button-danger { background: #d63638 !important; border-color: #d63638 !important; color: #fff !important; text-shadow: none; box-shadow: 0 2px 4px rgba(214, 54, 56, 0.3); border-radius: 6px; padding: 8px 16px; transition: all 0.3s ease; font-weight: 500; } .button-danger:hover, .button-danger:focus { background: #b32d2e !important; border-color: #b32d2e !important; box-shadow: 0 4px 8px rgba(214, 54, 56, 0.4); transform: translateY(-1px); } .button-primary { box-shadow: 0 2px 4px rgba(34, 113, 177, 0.3); border-radius: 6px; padding: 8px 16px; transition: all 0.3s ease; font-weight: 500; } .button-primary:hover, .button-primary:focus { box-shadow: 0 4px 8px rgba(34, 113, 177, 0.4); transform: translateY(-1px); background: #135e96 !important; } .button-secondary { border-radius: 6px; padding: 8px 16px; transition: all 0.3s ease; font-weight: 500; } .button-secondary:hover, .button-secondary:focus { transform: translateY(-1px); box-shadow: 0 2px 4px rgba(0,0,0,0.1); } /* ============================================ Configuration Boxes ============================================ */ .easy-php-settings-config-box { background: #ffffff; border: 1px solid #c3c4c7; border-radius: 12px; padding: 24px; margin-bottom: 24px; box-shadow: 0 2px 8px rgba(0,0,0,0.08); transition: box-shadow 0.3s ease, transform 0.2s ease; } .easy-php-settings-config-box:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.12); } .easy-php-settings-config-box h3 { margin-top: 0; color: #1d2327; font-size: 15px; font-weight: 600; border-bottom: 1px solid #f0f0f1; padding-bottom: 10px; } #easy_php_settings_custom_php_ini { border: 1px solid #8c8f94; border-radius: 6px; font-family: 'Courier New', Courier, monospace; font-size: 13px; line-height: 1.6; padding: 12px; background: #f6f7f7; transition: all 0.3s ease; } #easy_php_settings_custom_php_ini:focus { border-color: #2271b1; box-shadow: 0 0 0 2px rgba(34, 113, 177, 0.1); outline: none; background: #ffffff; } /* ============================================ Extensions Tab ============================================ */ #extensions-tab .notice { border-left-width: 4px; border-radius: 4px; } #extensions-tab h4 { color: #1d2327; font-size: 14px; font-weight: 600; margin-top: 0; margin-bottom: 10px; padding: 8px 12px; background: #f6f7f7; border-radius: 4px; } /* ============================================ History Tab ============================================ */ details { cursor: pointer; margin: 4px 0; } details summary { outline: none; color: #2271b1; font-weight: 500; padding: 4px 8px; border-radius: 3px; transition: background-color 0.2s ease; } details summary:hover { background-color: #f0f6fc; } details[open] summary { margin-bottom: 8px; } /* ============================================ Tools Tab ============================================ */ .easy-php-settings-tool-section { background: #ffffff; border: 1px solid #c3c4c7; border-radius: 12px; padding: 24px; margin-bottom: 24px; box-shadow: 0 2px 8px rgba(0,0,0,0.08); transition: box-shadow 0.3s ease; } .easy-php-settings-tool-section:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.12); } .easy-php-settings-tool-section h4 { margin-top: 0; margin-bottom: 12px; color: #1d2327; font-size: 15px; font-weight: 600; } .easy-php-settings-warning-box { background: #fcf8e3; border: 1px solid #f0e68c; border-left: 4px solid #f0ad4e; } /* ============================================ Status Indicators ============================================ */ .status-ok { color: #00a32a; font-weight: 600; } .status-warning { color: #dba617; font-weight: 600; } .status-error { color: #d63638; font-weight: 600; } .status-badge { display: inline-block; padding: 3px 8px; border-radius: 3px; font-size: 12px; font-weight: 600; text-transform: uppercase; } .status-badge.ok { background: #d4edda; color: #155724; } .status-badge.status-low { background: #f8d7da; color: #721c24; } .status-badge.status-high { background: #fff3cd; color: #856404; } .status-badge.warning { background: #fff3cd; color: #856404; } .status-badge.error { background: #f8d7da; color: #721c24; } /* Manual config snippets */ .easy-php-manual-config { margin: 10px 0; border: 1px solid #c3c4c7; border-radius: 8px; background: #f6f7f7; } .easy-php-manual-config summary { padding: 10px 14px; cursor: pointer; font-weight: 600; color: #1d2327; } .easy-php-manual-config-inner { padding: 12px 14px 14px; border-top: 1px solid #dcdcde; } .easy-php-config-snippet { margin-bottom: 12px; } .easy-php-config-snippet:last-child { margin-bottom: 0; } .easy-php-config-snippet label { display: block; font-size: 12px; font-weight: 600; color: #50575e; margin-bottom: 4px; } .easy-php-snippet-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; } .easy-php-snippet-row code { flex: 1; min-width: 200px; background: #fff; padding: 8px 12px; border-radius: 6px; font-size: 13px; border: 1px solid #dcdcde; } .easy-php-runtime-warning { color: #d63638 !important; } /* Danger zone */ .easy-php-settings-danger-zone { margin-top: 32px; padding: 20px 24px; background: #fcf0f1; border: 1px solid #f1b4b7; border-radius: 12px; } .easy-php-danger-title { display: flex; align-items: center; gap: 8px; margin: 0 0 8px 0; font-size: 14px; font-weight: 600; color: #721c24; } .easy-php-danger-title .dashicons { color: #b91c1c; } .easy-php-settings-danger-zone .description { margin-bottom: 12px; color: #50575e; } .easy-php-delete-form { margin: 0; } .easy-php-delete-files-btn { border-color: #d63638 !important; color: #d63638 !important; background: transparent !important; } .easy-php-delete-files-btn:hover { background: #d63638 !important; color: #fff !important; border-color: #d63638 !important; } .easy-php-settings-actions { margin-top: 24px; } /* Field wrap and help icon */ .easy-php-field-wrap { display: inline-flex; align-items: center; gap: 8px; } .easy-php-field-wrap input { max-width: 200px; } .easy-php-help-icon { font-size: 18px; width: 18px; height: 18px; color: #646970; cursor: help; flex-shrink: 0; } .easy-php-help-icon:hover { color: #2271b1; } /* Config generator and test boxes */ .easy-php-config-generator-box, .easy-php-test-settings-box { margin-top: 28px; padding: 24px; background: #f6f7f7; border: 1px solid #dcdcde; border-left: 4px solid #2271b1; border-radius: 12px; } .easy-php-config-generator-box h3, .easy-php-test-settings-box h3 { margin-top: 0; margin-bottom: 8px; } .easy-php-config-output { margin-top: 20px; display: none; } .easy-php-config-output h4 { margin-bottom: 16px; } .easy-php-config-block { margin-bottom: 20px; } .easy-php-config-block label { display: block; font-weight: 600; margin-bottom: 6px; } .easy-php-config-block textarea { width: 100%; height: 180px; font-family: monospace; font-size: 13px; padding: 12px; border-radius: 6px; border: 1px solid #dcdcde; background: #fff; margin-bottom: 8px; } .easy-php-test-results { margin-top: 12px; } /* ============================================ Form Tables ============================================ */ .form-table th { vertical-align: top; padding-top: 15px; font-weight: 600; color: #1d2327; } .form-table td { vertical-align: top; } .form-table input[type="text"], .form-table input[type="number"], .form-table select, .form-table textarea { border-radius: 6px; border: 1px solid #8c8f94; padding: 8px 12px; transition: all 0.3s ease; font-size: 14px; } .form-table input[type="text"]:focus, .form-table input[type="number"]:focus, .form-table select:focus, .form-table textarea:focus { border-color: #2271b1; box-shadow: 0 0 0 2px rgba(34, 113, 177, 0.1); outline: none; } .form-table .description { color: #646970; font-size: 13px; margin-top: 5px; } /* ============================================ Search Inputs ============================================ */ input[type="text"]#php-settings-search, input[type="text"]#extensions-search { border: 1px solid #8c8f94; border-radius: 6px; padding: 10px 14px; font-size: 14px; transition: all 0.3s ease; background: #ffffff; } input[type="text"]#php-settings-search:focus, input[type="search"]#php-settings-search:focus, input[type="text"]#extensions-search:focus { border-color: #2271b1; box-shadow: 0 0 0 2px rgba(34, 113, 177, 0.1); outline: none; } /* ============================================ PHP Settings Table Panel ============================================ */ .easy-php-php-settings-panel { margin-top: 8px; } .easy-php-php-settings-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 16px; padding: 18px 20px; border: 1px solid #dcdcde; border-radius: 10px; background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%); } .easy-php-php-settings-header-text h3 { margin: 0 0 6px; font-size: 18px; color: #0f172a; } .easy-php-php-settings-header-text .description { margin: 0; max-width: 640px; color: #64748b; } .easy-php-php-settings-stat { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 88px; padding: 10px 14px; border-radius: 10px; background: #eef4fb; border: 1px solid #c7dff7; } .easy-php-php-settings-stat-value { font-size: 22px; font-weight: 700; line-height: 1; color: #2271b1; } .easy-php-php-settings-stat-label { margin-top: 4px; font-size: 11px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: #64748b; } .easy-php-php-settings-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; } .easy-php-php-settings-search-wrap { position: relative; display: flex; align-items: center; flex: 1 1 280px; max-width: 420px; } .easy-php-php-settings-search-wrap .dashicons { position: absolute; left: 12px; width: 18px; height: 18px; font-size: 18px; color: #94a3b8; pointer-events: none; } input[type="search"]#php-settings-search, input[type="text"]#php-settings-search { width: 100%; min-width: 0; padding: 10px 14px 10px 38px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; font-size: 14px; transition: border-color 0.2s ease, box-shadow 0.2s ease; } .easy-php-php-settings-toolbar-actions { display: flex; align-items: center; gap: 12px; } .easy-php-php-settings-result-count { font-size: 12px; font-weight: 600; color: #64748b; white-space: nowrap; } #php-settings-copy-selected { display: inline-flex; align-items: center; gap: 6px; } #php-settings-copy-selected .dashicons { width: 16px; height: 16px; font-size: 16px; } .easy-php-php-settings-table-wrap { position: relative; overflow: auto; max-height: min(70vh, 720px); border: 1px solid #dcdcde; border-radius: 10px; background: #fff; box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05); } .easy-php-phpinfo-table { width: 100%; margin: 0; border: 0; border-collapse: separate; border-spacing: 0; } .easy-php-phpinfo-table thead th { position: sticky; top: 0; z-index: 2; padding: 12px 14px; border-bottom: 1px solid #dcdcde; background: #f8fafc; color: #334155; font-size: 12px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; text-align: left; white-space: nowrap; } .easy-php-phpinfo-table tbody td { padding: 11px 14px; border-bottom: 1px solid #eef2f7; vertical-align: top; color: #1e293b; font-size: 13px; line-height: 1.45; } .easy-php-phpinfo-table tbody tr:last-child td { border-bottom: 0; } .easy-php-phpinfo-table tbody tr:hover td { background: #f8fbff; } .easy-php-phpinfo-row--override td:first-child { box-shadow: inset 3px 0 0 #2271b1; } .easy-php-phpinfo-col-select { width: 42px; text-align: center; } .easy-php-phpinfo-col-directive { width: 28%; min-width: 180px; } .easy-php-phpinfo-col-value { width: auto; } .easy-php-phpinfo-col-status { width: 160px; text-align: right; white-space: nowrap; } .easy-php-directive-name, .easy-php-directive-value { display: inline-block; max-width: 100%; padding: 2px 0; border: 0; background: transparent; color: inherit; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size: 12px; word-break: break-word; } .easy-php-directive-name { color: #0f172a; font-weight: 600; } .easy-php-directive-value { color: #475569; } .easy-php-status-badge { display: inline-flex; align-items: center; padding: 4px 10px; border-radius: 999px; font-size: 11px; font-weight: 600; line-height: 1.2; } .easy-php-status-badge--default { background: #f1f5f9; color: #64748b; } .easy-php-status-badge--override { background: #eef4fb; color: #2271b1; } .easy-php-php-settings-empty { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0; padding: 28px 16px; color: #64748b; font-size: 14px; } .easy-php-php-settings-empty .dashicons { color: #94a3b8; } .easy-php-php-settings-tip { display: flex; align-items: flex-start; gap: 8px; margin: 14px 0 0; padding: 12px 14px; border-radius: 8px; background: #f8fafc; border: 1px solid #e2e8f0; color: #64748b; font-size: 13px; line-height: 1.5; } .easy-php-php-settings-tip .dashicons { margin-top: 1px; color: #2271b1; flex-shrink: 0; } @media (max-width: 782px) { .easy-php-php-settings-header { flex-direction: column; } .easy-php-php-settings-stat { align-self: flex-start; flex-direction: row; gap: 8px; min-width: 0; } .easy-php-php-settings-stat-label { margin-top: 0; align-self: center; } .easy-php-php-settings-toolbar { flex-direction: column; align-items: stretch; } .easy-php-php-settings-search-wrap { max-width: none; } .easy-php-php-settings-toolbar-actions { justify-content: space-between; } .easy-php-phpinfo-table thead { display: none; } .easy-php-phpinfo-table tbody tr { display: block; padding: 12px 14px; border-bottom: 1px solid #eef2f7; } .easy-php-phpinfo-table tbody td { display: flex; align-items: flex-start; gap: 10px; padding: 6px 0; border: 0; } .easy-php-phpinfo-table tbody td::before { content: attr(data-label); flex: 0 0 92px; color: #64748b; font-size: 11px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; } .easy-php-phpinfo-col-select::before { display: none; } .easy-php-phpinfo-col-status { text-align: left; } } /* ============================================ Tables ============================================ */ .wp-list-table { border-radius: 4px; overflow: hidden; } .wp-list-table th { font-weight: 600; color: #1d2327; } .wp-list-table tbody tr:hover { background-color: #f6f7f7; } /* ============================================ Tab Navigation ============================================ */ .nav-tab-wrapper { margin-bottom: 24px; border-bottom: 2px solid #c3c4c7; background: transparent; } .nav-tab { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); border-radius: 8px 8px 0 0; margin-right: 4px; padding: 10px 16px; position: relative; font-weight: 500; } .nav-tab:hover { background-color: #f6f7f7; color: #2271b1; transform: translateY(-1px); } .nav-tab-active { font-weight: 600; background-color: #ffffff; border-bottom: 2px solid #ffffff; color: #2271b1; margin-bottom: -2px; } .nav-tab-active::after { content: ''; position: absolute; bottom: -2px; left: 0; right: 0; height: 2px; background: #2271b1; } /* ============================================ Info Boxes ============================================ */ .easy-php-info-box { background: #f0f6fc; border: 1px solid #c3e4ed; border-left: 4px solid #2271b1; border-radius: 8px; padding: 16px; margin: 16px 0; box-shadow: 0 2px 4px rgba(0,0,0,0.05); } .easy-php-info-box p { margin: 0; color: #1d2327; } .easy-php-success-box { background: #eaf4ea; border: 1px solid #c3e4c3; border-left: 4px solid #00a32a; border-radius: 8px; padding: 16px; margin: 16px 0; box-shadow: 0 2px 4px rgba(0,0,0,0.05); } .easy-php-warning-box { background: #fcf8e3; border: 1px solid #f0e68c; border-left: 4px solid #f0ad4e; border-radius: 8px; padding: 16px; margin: 16px 0; box-shadow: 0 2px 4px rgba(0,0,0,0.05); } .easy-php-error-box { background: #f8d7da; border: 1px solid #f1b4b7; border-left: 4px solid #d63638; border-radius: 8px; padding: 16px; margin: 16px 0; box-shadow: 0 2px 4px rgba(0,0,0,0.05); } /* ============================================ Loading States & Animations ============================================ */ .easy-php-loading { opacity: 0.6; pointer-events: none; } @keyframes rotation { from { transform: rotate(0deg); } to { transform: rotate(359deg); } } @keyframes easy-php-overlay-in { from { opacity: 0; } to { opacity: 1; } } @keyframes easy-php-card-in { from { opacity: 0; transform: translateY(12px) scale(0.98); } to { opacity: 1; transform: translateY(0) scale(1); } } @keyframes easy-php-spinner-spin { to { transform: rotate(360deg); } } @keyframes easy-php-spinner-pulse { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(0.88); opacity: 0.75; } } @keyframes easy-php-progress-slide { 0% { transform: translateX(-100%); } 100% { transform: translateX(250%); } } .easy-php-settings-loading-overlay { position: fixed; inset: 0; z-index: 999999; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(15, 23, 42, 0.45); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); animation: easy-php-overlay-in 0.2s ease-out; } .easy-php-settings-loading-card { width: min(100%, 320px); padding: 28px 24px 22px; border: 1px solid #e2e8f0; border-radius: 14px; background: #fff; box-shadow: 0 20px 45px rgba(15, 23, 42, 0.18), 0 2px 8px rgba(15, 23, 42, 0.08); text-align: center; animation: easy-php-card-in 0.28s ease-out; } .easy-php-settings-spinner { position: relative; width: 52px; height: 52px; margin: 0 auto 18px; } .easy-php-settings-spinner-ring { position: absolute; inset: 0; border: 3px solid #e8f0fe; border-top-color: #2271b1; border-radius: 50%; animation: easy-php-spinner-spin 0.85s linear infinite; } .easy-php-settings-spinner-core { position: absolute; inset: 14px; border-radius: 50%; background: linear-gradient(135deg, #2271b1 0%, #72aee6 100%); animation: easy-php-spinner-pulse 1.4s ease-in-out infinite; } .easy-php-settings-loading-title { margin: 0 0 6px !important; color: #0f172a; font-size: 16px; font-weight: 600; line-height: 1.35; } .easy-php-settings-loading-desc { margin: 0 0 16px !important; color: #64748b; font-size: 13px; line-height: 1.5; } .easy-php-settings-loading-progress { overflow: hidden; height: 4px; border-radius: 999px; background: #e2e8f0; } .easy-php-settings-loading-progress span { display: block; width: 40%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #2271b1 0%, #72aee6 100%); animation: easy-php-progress-slide 1.2s ease-in-out infinite; } .easy-php-settings-btn-loading { display: inline-flex !important; align-items: center; gap: 8px; opacity: 0.85; cursor: wait !important; } .easy-php-settings-btn-spinner { display: inline-block; width: 14px; height: 14px; border: 2px solid rgba(255, 255, 255, 0.35); border-top-color: #fff; border-radius: 50%; animation: easy-php-spinner-spin 0.75s linear infinite; flex-shrink: 0; } input[type="submit"].easy-php-settings-btn-loading .easy-php-settings-btn-spinner { border-color: rgba(34, 113, 177, 0.25); border-top-color: #2271b1; } /* Submit button specific styles */ input[type="submit"]:not(.easy-php-save-button), button[type="submit"]:not(.easy-php-save-button), #submit:not(.easy-php-save-button) { display: inline-block !important; visibility: visible !important; opacity: 1 !important; position: relative !important; } /* Button loading state */ button[disabled], input[type="submit"][disabled] { opacity: 0.7; cursor: not-allowed; } /* ============================================ WordPress Card Class (Pro Tab) ============================================ */ .card { background: #ffffff; border: 1px solid #c3c4c7; border-radius: 12px; padding: 24px; margin-bottom: 24px; box-shadow: 0 2px 8px rgba(0,0,0,0.08); transition: box-shadow 0.3s ease; } .card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.12); } /* ============================================ About Tab Styles ============================================ */ .easy-php-about-container { max-width: 1200px; } .easy-php-about-header-card { background: linear-gradient(135deg, #f0f6fc 0%, #e8f4f8 100%); border: 1px solid #c3e4ed; border-radius: 12px; padding: 32px; margin-bottom: 24px; box-shadow: 0 2px 8px rgba(0,0,0,0.08); display: flex; align-items: center; gap: 24px; } .easy-php-about-avatar { flex-shrink: 0; } .easy-php-about-avatar img { border-radius: 50%; border: 4px solid #ffffff; box-shadow: 0 4px 12px rgba(0,0,0,0.15); width: 120px; height: 120px; object-fit: cover; } .easy-php-about-info { flex: 1; } .easy-php-about-name { margin: 0 0 8px 0; font-size: 28px; font-weight: 700; color: #1d2327; line-height: 1.2; } .easy-php-about-title { margin: 0 0 12px 0; font-size: 16px; font-weight: 600; color: #2271b1; } .easy-php-about-description { margin: 0; font-size: 15px; line-height: 1.6; color: #50575e; } .easy-php-about-card { background: #ffffff; border: 1px solid #c3c4c7; border-radius: 12px; padding: 24px; margin-bottom: 24px; box-shadow: 0 2px 8px rgba(0,0,0,0.08); transition: box-shadow 0.3s ease; } .easy-php-about-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.12); } .easy-php-about-card-title { margin: 0 0 20px 0; font-size: 18px; font-weight: 600; color: #1d2327; display: flex; align-items: center; gap: 10px; padding-bottom: 12px; border-bottom: 2px solid #f0f0f1; } .easy-php-about-card-title .dashicons { font-size: 20px; width: 20px; height: 20px; color: #2271b1; } .easy-php-about-contact-links { display: flex; flex-direction: column; gap: 12px; } .easy-php-about-contact-link { display: flex; align-items: center; gap: 12px; padding: 16px; background: #f6f7f7; border: 1px solid #e1e5e9; border-radius: 8px; text-decoration: none; color: #1d2327; transition: all 0.3s ease; font-weight: 500; } .easy-php-about-contact-link:hover { background: #2271b1; color: #ffffff; border-color: #2271b1; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(34, 113, 177, 0.3); text-decoration: none; } .easy-php-about-contact-link .dashicons { font-size: 20px; width: 20px; height: 20px; flex-shrink: 0; } .easy-php-about-contact-link span:not(.dashicons):not(.easy-php-link-url) { flex: 1; font-weight: 600; } .easy-php-link-url { font-size: 13px; opacity: 0.7; font-weight: 400; } .easy-php-about-contact-link:hover .easy-php-link-url { opacity: 0.9; } .easy-php-about-plugin-info { display: flex; flex-direction: column; gap: 12px; } .easy-php-info-row { display: flex; align-items: center; padding: 12px 0; border-bottom: 1px solid #f0f0f1; } .easy-php-info-row:last-child { border-bottom: none; } .easy-php-info-label { font-weight: 600; color: #50575e; min-width: 120px; font-size: 14px; } .easy-php-info-value { color: #1d2327; font-size: 14px; } .easy-php-tech-stack { display: flex; flex-wrap: wrap; gap: 10px; } .easy-php-tech-tag { display: inline-block; padding: 8px 16px; background: linear-gradient(135deg, #f0f6fc 0%, #e8f4f8 100%); border: 1px solid #c3e4ed; border-radius: 20px; font-size: 13px; font-weight: 600; color: #2271b1; transition: all 0.3s ease; } .easy-php-tech-tag:hover { background: #2271b1; color: #ffffff; transform: translateY(-2px); box-shadow: 0 2px 8px rgba(34, 113, 177, 0.3); } .easy-php-about-section { color: #50575e; line-height: 1.7; } .easy-php-about-section p { margin: 0 0 16px 0; font-size: 15px; } .easy-php-about-section p:last-child { margin-bottom: 0; } .easy-php-about-actions { display: flex; gap: 12px; margin-top: 20px; flex-wrap: wrap; } .easy-php-about-actions .button { display: inline-flex; align-items: center; gap: 8px; } .easy-php-about-actions .button .dashicons { font-size: 16px; width: 16px; height: 16px; } /* ============================================ Responsive Design ============================================ */ @media screen and (max-width: 782px) { #easy_php_settings_preset { max-width: 100% !important; min-width: 100%; } .form-table th, .form-table td { display: block; width: 100%; } .form-table th { padding-bottom: 0; } .easy-php-settings-preset-box, .easy-php-settings-config-box, .easy-php-settings-tool-section { padding: 20px; } /* About Tab Responsive */ .easy-php-about-header-card { flex-direction: column; text-align: center; padding: 24px; } .easy-php-about-avatar { margin-bottom: 16px; } .easy-php-about-name { font-size: 24px; } .easy-php-about-card { padding: 20px; } .easy-php-about-contact-link { flex-direction: column; align-items: flex-start; gap: 8px; } .easy-php-about-contact-link .easy-php-link-url { margin-left: 32px; } .easy-php-info-row { flex-direction: column; align-items: flex-start; gap: 4px; } .easy-php-info-label { min-width: auto; } .easy-php-about-actions { flex-direction: column; } .easy-php-about-actions .button { width: 100%; justify-content: center; } .nav-tab { font-size: 13px; padding: 8px 12px; } } @media screen and (max-width: 600px) { .easy-php-about-header-card { padding: 20px; } .easy-php-about-avatar img { width: 100px; height: 100px; } .easy-php-about-name { font-size: 20px; } .easy-php-about-card { padding: 16px; } .easy-php-tech-stack { gap: 8px; } .easy-php-tech-tag { font-size: 12px; padding: 6px 12px; } } /* ============================================ Review Request Notice ============================================ */ .easy-php-review-notice { border-left-color: #f59e0b !important; padding: 0 !important; } .easy-php-review-notice-inner { position: relative; display: flex; align-items: flex-start; gap: 16px; padding: 14px 40px 14px 16px; flex-direction: column; } .easy-php-review-notice-icon { display: inline-flex; gap: 2px; color: #f59e0b; padding-top: 2px; flex-shrink: 0; } .easy-php-review-notice-icon .dashicons { width: 20px; height: 20px; font-size: 20px; } .easy-php-review-notice-body { flex: 1; min-width: 0; } .easy-php-review-notice-title { margin: 0 0 4px !important; font-size: 14px; color: #0f172a; } .easy-php-review-notice-message { margin: 0 0 10px !important; color: #475569; font-size: 13px; line-height: 1.5; } .easy-php-review-notice-actions { margin: 0 !important; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; } .easy-php-review-notice-actions .easy-php-review-btn { display: inline-flex; align-items: center; gap: 4px; } .easy-php-review-notice-actions .easy-php-review-btn .dashicons { width: 16px; height: 16px; font-size: 16px; line-height: 1; } .easy-php-review-notice-actions .easy-php-review-btn-link { color: #64748b; font-size: 12px; text-decoration: underline; background: transparent; border: 0; cursor: pointer; padding: 0; } .easy-php-review-notice-actions .easy-php-review-btn-link:hover, .easy-php-review-notice-actions .easy-php-review-btn-link:focus { color: #0f172a; } .easy-php-review-notice-close { position: absolute; top: 0; right: 1px; border: 0; background: transparent; cursor: pointer; padding: 9px; } /* New offer notice (reuses review notice layout) */ .easy-php-offer-notice { border-left-color: #7c3aed !important; } .easy-php-offer-notice-icon { color: #7c3aed !important; } .easy-php-offer-notice-icon .dashicons { width: 28px; height: 28px; font-size: 28px; } .easy-php-offer-notice-timer { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 10px !important; padding: 6px 10px; border-radius: 999px; background: #f5f3ff; color: #5b21b6; font-size: 12px; font-weight: 600; } .easy-php-offer-notice-timer .dashicons { width: 16px; height: 16px; font-size: 16px; } @media (max-width: 600px) { .easy-php-review-notice-inner { flex-direction: column; gap: 8px; } .easy-php-review-notice-icon { padding-top: 0; } } /* ============================================ Tracker Services Dashboard Widget ============================================ */ #plugin_tracker_offers_widget .inside { margin: 0; padding: 0; } .eps-tracker-offers { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; padding: 12px; } .eps-tracker-offer-card { overflow: hidden; border: 1px solid #dcdcde; border-radius: 8px; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04); } .eps-tracker-offer-media { display: block; position: relative; overflow: hidden; aspect-ratio: 16 / 9; background: #f0f0f1; text-decoration: none; } .eps-tracker-offer-media img { display: block; width: 100%; height: 100%; object-fit: cover; } .eps-tracker-offer-media--placeholder { display: flex; align-items: center; justify-content: center; } .eps-tracker-offer-media--placeholder .dashicons { width: 42px; height: 42px; font-size: 42px; color: rgba(255, 255, 255, 0.92); } .eps-tracker-offer-media--speed { background: linear-gradient(135deg, #2271b1 0%, #72aee6 100%); } .eps-tracker-offer-media--security { background: linear-gradient(135deg, #008a20 0%, #68de7c 100%); } .eps-tracker-offer-media--website { background: linear-gradient(135deg, #7c3aed 0%, #c084fc 100%); } .eps-tracker-offer-media--default { background: linear-gradient(135deg, #50575e 0%, #a7aaad 100%); } .eps-tracker-offer-body { padding: 12px 14px 14px; } .eps-tracker-offer-title { margin: 0 0 8px; font-size: 14px; line-height: 1.35; font-weight: 600; } .eps-tracker-offer-title a { color: #1d2327; text-decoration: none; } .eps-tracker-offer-title a:hover, .eps-tracker-offer-title a:focus { color: #2271b1; } .eps-tracker-offer-excerpt { margin: 0 0 10px; color: #50575e; font-size: 12px; line-height: 1.5; } .eps-tracker-offer-link { display: inline-flex; align-items: center; gap: 2px; color: #2271b1; font-size: 12px; font-weight: 600; text-decoration: none; } .eps-tracker-offer-link:hover, .eps-tracker-offer-link:focus { color: #135e96; } .eps-tracker-offer-link .dashicons { width: 16px; height: 16px; font-size: 16px; }