/* Swiss Football Admin Styles */ /* Main admin sections */ .swi-foot-admin-section { margin-top: 30px; padding-top: 20px; border-top: 1px solid #ddd; } .swi-foot-admin-section h2 { margin-bottom: 15px; color: #23282d; } /* Teams grid layout */ .swi-foot-teams-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 15px; margin-top: 15px; } .team-card { padding: 15px; border: 1px solid #ddd; border-radius: 6px; background: #f5f7fa; transition: all 0.3s ease; position: relative; } .team-card:hover { background: #f0f0f0; border-color: #007cba; transform: translateY(-2px); box-shadow: 0 4px 8px rgba(0,0,0,0.1); } .team-card strong { display: block; margin-bottom: 8px; color: #23282d; font-size: 14px; } .team-card small { color: #666; line-height: 1.4; } /* Shortcodes help styling */ .swi-foot-shortcodes-help { font-size: 12px; } .shortcode-group { margin-bottom: 15px; padding: 12px; background: #eef3f7; border-radius: 4px; border-left: 3px solid #007cba; } .shortcode-group strong { display: block; margin-bottom: 8px; color: #111; font-size: 13px; } .shortcode-group code { display: block; margin: 4px 0; padding: 4px 6px; background: #fff; border: 1px solid #ddd; border-radius: 3px; font-size: 11px; font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace; cursor: pointer; transition: all 0.2s ease; } .shortcode-group code:hover { background: #f0f8ff; border-color: #007cba; transform: translateX(2px); } .shortcode-group code:active { background: #e6f3ff; } .shortcode-group ul { margin-top: 8px; padding-left: 20px; } .shortcode-group li { margin: 3px 0; line-height: 1.4; } .shortcode-group li code { display: inline; margin: 0; padding: 1px 3px; cursor: default; } .shortcode-group li code:hover { transform: none; } /* Status indicators */ #refresh-status, #cache-status, #connection-status { margin-left: 12px; font-style: italic; font-weight: 500; } #refresh-status.success, #cache-status.success, #connection-status.success { color: #46b450; } #refresh-status.error, #cache-status.error, #connection-status.error { color: #dc3232; } /* Quick shortcode reference */ .shortcode-quick-ref { background: #fff; border: 1px solid #ddd; border-radius: 6px; padding: 20px; } .shortcode-examples h4 { margin-bottom: 15px; color: #23282d; border-bottom: 1px solid #eee; padding-bottom: 8px; } .shortcode-examples p { margin-bottom: 15px; line-height: 1.6; } .shortcode-examples strong { color: #23282d; } .shortcode-examples code { background: #f1f1f1; padding: 2px 4px; border-radius: 3px; font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace; font-size: 12px; } /* Button enhancements */ .button { transition: all 0.2s ease; } .button:hover { transform: translateY(-1px); } .button:active { transform: translateY(0); } .button:disabled { opacity: 0.6; cursor: not-allowed; transform: none; } /* Settings form styling */ .form-table th { padding-top: 15px; vertical-align: top; } .form-table td { padding-top: 12px; } .form-table input[type="text"], .form-table input[type="url"], .form-table input[type="password"], .form-table input[type="number"] { transition: border-color 0.3s ease; } .form-table input[type="text"]:focus, .form-table input[type="url"]:focus, .form-table input[type="password"]:focus, .form-table input[type="number"]:focus { border-color: #007cba; box-shadow: 0 0 0 1px #007cba; } .form-table .description { color: #666; font-style: italic; margin-top: 5px; } /* Notice styling */ .notice { margin: 15px 0; } .notice.notice-success { border-left-color: #46b450; } .notice.notice-error { border-left-color: #dc3232; } /* Meta box styling in post editor */ #swi-foot-shortcodes .inside { padding: 15px; } #swi-foot-shortcodes .shortcode-group { background: #f8f9fa; border: 1px solid #ddd; border-left: 3px solid #007cba; } /* Loading states */ .loading { opacity: 0.6; pointer-events: none; } .loading::after { content: ""; position: absolute; top: 50%; left: 50%; width: 20px; height: 20px; margin: -10px 0 0 -10px; border: 2px solid #f3f3f3; border-top: 2px solid #007cba; border-radius: 50%; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* Responsive design */ @media (max-width: 768px) { .swi-foot-teams-grid { grid-template-columns: 1fr; } .shortcode-group code { font-size: 10px; padding: 3px 5px; } .form-table th, .form-table td { display: block; width: 100%; padding: 10px 0; } .form-table th { font-weight: 600; margin-bottom: 5px; } } /* Dark mode support for WordPress admin */ @media (prefers-color-scheme: dark) { .team-card { background: #2c2c2c; border-color: #555; color: #f5f7fa; } .team-card:hover { background: #383838; } .team-card strong { color: #F4F4F4; } .shortcode-group { background: #2c2c2c; border-left-color: #00a0d2; color: #eef6fb; } .shortcode-group code { background: #1e1e1e; border-color: #555; color: #ffffff; } .shortcode-group code:hover { background: #383838; border-color: #00a0d2; } .shortcode-quick-ref { background: #2c2c2c; border-color: #555; color: #f3f7fb; } }