:root { --msd-primary: #2271b1; --msd-primary-hover: #135e96; --msd-success: #00a32a; --msd-warning: #dba617; --msd-danger: #d63638; --msd-text: #1d2327; --msd-text-light: #646970; --msd-border: #c3c4c7; --msd-bg: #f6f7f7; --msd-bg-light: #ffffff; --msd-shadow: rgba(0, 0, 0, 0.1); --msd-radius: 8px; --msd-radius-small: 4px; --msd-spacing: 16px; --msd-spacing-small: 8px; } div#network_dashboard_right_now .inside { margin: 0; padding: 28px; } #search-sites, #search-users { border: 1px solid #e7e7e7; background-color: #f6f7f7; color: #2c3338; } .msd-enhanced-right-now { margin: 0; padding: 0; } .msd-actions-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin: 0; } .msd-action-item { display: flex; align-items: center; gap: 10px; padding: 12px 16px; background: var(--msd-bg-light); border: 1px solid var(--msd-border); border-radius: var(--msd-radius-small); text-decoration: none; color: var(--msd-text); transition: all 0.2s ease; font-weight: 400; } .msd-action-item:hover { color: var(--msd-primary); border-color: var(--msd-primary); background: #f0f6fc; transform: translateY(-1px); box-shadow: 0 2px 8px var(--msd-shadow); } .msd-action-item .dashicons { font-size: 18px; opacity: 0.8; width: 18px; height: 18px; } .msd-widget-content { margin: 0; padding: var(--msd-spacing); position: relative; min-height: 120px; } .msd-loading { display: flex; align-items: center; justify-content: center; padding: 40px; color: var(--msd-text-light); font-size: 14px; gap: var(--msd-spacing-small); } .msd-spinner { width: 20px; height: 20px; border: 2px solid var(--msd-bg); border-top: 2px solid var(--msd-primary); border-radius: 50%; animation: msd-spin 1s linear infinite; } @keyframes msd-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .msd-overview-simple { padding: 0; } .msd-overview-row { display: flex; gap: var(--msd-spacing); margin-bottom: var(--msd-spacing-small); } .msd-overview-item { flex: 1; text-align: center; padding: 12px 8px; background: var(--msd-bg); border-radius: var(--msd-radius-small); } .msd-overview-number { display: block; font-size: 20px; font-weight: 700; color: var(--msd-text); margin-bottom: 2px; } .msd-overview-label { font-size: 11px; color: var(--msd-text-light); text-transform: uppercase; letter-spacing: 0.5px; } .msd-overview-alerts { padding: 8px 12px; background: #fff3cd; border: 1px solid #ffeaa7; border-radius: var(--msd-radius-small); color: #856404; font-size: 12px; text-align: center; } .msd-overview-config { margin-top: var(--msd-spacing); border-radius: var(--msd-radius-small); } .msd-config-header { font-size: 13px; font-weight: 400; color: var(--msd-text); margin-bottom: 16px; display: flex; align-items: center; gap: 6px; } .msd-config-list { display: grid; gap: 4px; padding: 12px; background: var(--msd-bg); border-radius: var(--msd-radius-small); transition: all 0.2s ease; } .msd-config-item { display: flex; justify-content: space-between; align-items: center; font-size: 12px; padding: 8px 0; border-bottom: 1px solid var(--msd-bg); } .msd-config-item:last-child { border-bottom: none; } .msd-config-key { color: var(--msd-text); font-weight: 400; } .msd-config-value { color: var(--msd-text-light); text-align: right; } .msd-settings-simple { padding: 0; } .msd-settings-info { margin-bottom: var(--msd-spacing); } .msd-setting-row { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--msd-bg); font-size: 13px; } .msd-setting-row:last-child { border-bottom: none; } .msd-setting-key { font-weight: 400; color: var(--msd-text); } .msd-setting-val { color: var(--msd-text-light); } .msd-settings-actions { display: flex; gap: 8px; flex-wrap: wrap; } .msd-settings-link { display: flex; align-items: center; gap: 4px; padding: 6px 10px; background: var(--msd-bg); border: 1px solid var(--msd-border); border-radius: var(--msd-radius-small); color: var(--msd-text); text-decoration: none; font-size: 12px; transition: all 0.2s ease; } .msd-settings-link:hover { background: var(--msd-primary); color: white; border-color: var(--msd-primary); } .msd-settings-link i { font-size: 14px; } .msd-contact-card { padding: 0; } .msd-contact-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--msd-spacing); padding-bottom: var(--msd-spacing); border-bottom: 1px solid var(--msd-border); } .msd-contact-header h3 { margin: 0; display: flex; align-items: center; gap: 8px; color: var(--msd-text); font-size: 16px; } .msd-contact-header .dashicons { font-size: 20px; } .msd-contact-description { font-size: 13px; color: var(--msd-text-light); margin: 0 0 var(--msd-spacing) 0; line-height: 1.4; } .msd-contact-details { margin-bottom: var(--msd-spacing); } .msd-contact-item { display: flex; align-items: center; gap: 10px; font-size: 14px; padding: 8px 0; } .msd-contact-item:last-child { border-bottom: none; } .msd-contact-item .dashicons { color: var(--msd-primary); font-size: 16px; width: 16px; line-height: 1.5; flex-shrink: 0; } .msd-contact-item a { color: var(--msd-text); text-decoration: none; font-size: 14px; } .msd-contact-item a:hover { color: var(--msd-primary); } .msd-contact-qr { text-align: center; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--msd-bg); } .msd-qr-image { max-width: 100px; max-height: 100px; border-radius: var(--msd-radius-small); border: 1px solid var(--msd-border); } .msd-contact-actions { text-align: center; padding-top: var(--msd-spacing); border-top: 1px solid var(--msd-bg); } .msd-form-field { margin-bottom: var(--msd-spacing); } .msd-form-field label { display: block; margin-bottom: 4px; font-weight: 400; color: var(--msd-text); font-size: 13px; } .msd-form-field input, .msd-form-field textarea { width: 100%; padding: 4px 8px; border: 1px solid var(--msd-border); border-radius: var(--msd-radius-small); font-size: 14px; transition: border-color 0.2s ease, box-shadow 0.2s ease; } .msd-form-field input:focus, .msd-form-field textarea:focus { outline: none; border-color: var(--msd-primary); box-shadow: 0 0 0 2px rgba(34, 113, 177, 0.1); } .msd-form-field textarea { min-height: 80px; resize: vertical; } .msd-last-edits { padding: 0; } .msd-activity-list { display: grid; gap: var(--msd-spacing-small); max-height: 400px; overflow-y: auto; } .msd-activity-item { padding: 12px; background: var(--msd-bg); border-radius: var(--msd-radius-small); border: 1px solid transparent; transition: all 0.2s ease; } .msd-activity-item:hover { background: var(--msd-bg-light); border-color: var(--msd-border); box-shadow: 0 2px 8px var(--msd-shadow); } .msd-activity-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 6px; } .msd-activity-title { font-size: 14px; font-weight: 400; color: var(--msd-text); margin: 0; line-height: 1.3; flex: 1; } .msd-activity-title a { color: var(--msd-text); text-decoration: none; } .msd-activity-title a:hover { color: var(--msd-primary); } .msd-activity-type { font-size: 10px; padding: 2px 6px; border-radius: 3px; font-weight: 400; text-transform: uppercase; margin-left: 8px; flex-shrink: 0; } .msd-activity-type.post { background: #e1f5fe; color: #01579b; } .msd-activity-type.page { background: #f3e5f5; color: #4a148c; } .msd-activity-meta { display: flex; justify-content: space-between; align-items: center; font-size: 11px; color: var(--msd-text-light); margin-bottom: 6px; } .msd-activity-site { font-weight: 400; color: var(--msd-primary); } .msd-activity-date { opacity: 0.8; } .msd-activity-content { font-size: 12px; color: var(--msd-text-light); line-height: 1.4; margin: 0; } .msd-activity-actions { margin-top: 8px; display: flex; gap: 8px; } .msd-activity-action { font-size: 11px; color: var(--msd-primary); text-decoration: none; padding: 2px 6px; border: 1px solid var(--msd-primary); border-radius: var(--msd-radius-small); transition: all 0.2s ease; } .msd-activity-action:hover { background: var(--msd-primary); color: white; } .msd-user-simple { padding: 0; } .msd-user-header { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--msd-bg); margin-bottom: var(--msd-spacing); } .msd-user-count { font-weight: 400; color: var(--msd-text); font-size: 14px; } .msd-user-registration { font-size: 12px; color: var(--msd-text-light); } .msd-user-recent { margin-bottom: var(--msd-spacing); } .msd-user-row { display: flex; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--msd-bg); } .msd-user-row:last-child { border-bottom: none; } .msd-user-avatar { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; border: 1px solid var(--msd-border); flex-shrink: 0; } .msd-user-data { flex: 1; min-width: 0; } .msd-user-name { font-size: 13px; font-weight: 400; color: var(--msd-text); margin-bottom: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .msd-user-info { font-size: 11px; color: var(--msd-text-light); } .msd-user-actions { display: flex; align-items: center; gap: 8px; } .msd-user-status { padding: 2px 6px; border-radius: 3px; font-size: 9px; font-weight: 400; text-transform: uppercase; letter-spacing: 0.5px; } .msd-user-edit { font-size: 11px; color: var(--msd-primary); text-decoration: none; padding: 2px 6px; border: 1px solid var(--msd-primary); border-radius: var(--msd-radius-small); transition: all 0.2s ease; } .msd-user-edit:hover { background: var(--msd-primary); color: white; } .msd-user-empty { text-align: center; padding: 20px; color: var(--msd-text-light); font-style: italic; } .msd-user-pending { background: var(--msd-bg); border-radius: var(--msd-radius-small); padding: 12px; } .msd-pending-header { font-size: 12px; font-weight: 400; color: var(--msd-text); margin-bottom: 8px; padding-bottom: 6px; border-bottom: 1px solid var(--msd-border); } .msd-pending-row { display: flex; justify-content: space-between; align-items: center; padding: 6px 0; border-bottom: 1px solid var(--msd-bg); } .msd-pending-row:last-child { border-bottom: none; } .msd-pending-email { font-size: 12px; color: var(--msd-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1; margin-right: 8px; } .msd-pending-activate { font-size: 10px; color: var(--msd-primary); text-decoration: none; padding: 3px 8px; border: 1px solid var(--msd-primary); border-radius: var(--msd-radius-small); transition: all 0.2s ease; } .msd-pending-activate:hover { background: var(--msd-primary); color: white; } .msd-sites-grid { display: grid; gap: var(--msd-spacing-small); } .msd-site-card { display: flex; justify-content: space-between; align-items: center; padding: 12px; background: var(--msd-bg); border-radius: var(--msd-radius-small); transition: all 0.2s ease; border: 1px solid transparent; } .msd-site-card:hover { background: var(--msd-bg-light); border-color: var(--msd-border); transform: translateY(-1px); box-shadow: 0 2px 8px var(--msd-shadow); } .msd-site-info { flex: 1; min-width: 0; display: flex; align-items: center; gap: 12px; } .msd-site-favicon { width: 28px; height: 28px; border-radius: var(--msd-radius-small); object-fit: cover; flex-shrink: 0; border: 1px solid var(--msd-border); background: var(--msd-bg-light); padding: 2%; } .msd-site-details { flex: 1; min-width: 0; } .msd-site-name { font-size: 14px; font-weight: 400; color: var(--msd-text); margin: 0 0 4px 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .msd-site-meta { font-size: 12px; color: var(--msd-text-light); margin: 0; } .msd-site-actions { display: flex; gap: 6px; margin-left: var(--msd-spacing); } .msd-btn-small { padding: 4px 8px; font-size: 11px; border-radius: var(--msd-radius-small); text-decoration: none; font-weight: 400; transition: all 0.2s ease; border: 1px solid transparent; } .msd-btn-primary { background: var(--msd-primary); color: white; } .msd-btn-primary:hover { background: var(--msd-primary-hover); color: white; } .msd-btn-secondary { background: transparent; color: var(--msd-text-light); border-color: var(--msd-border); } .msd-btn-secondary:hover { background: var(--msd-bg); color: var(--msd-text); } .msd-storage-summary { margin-bottom: var(--msd-spacing); padding: 12px; border-radius: var(--msd-radius-small); border: 1px solid var(--msd-border); } .msd-storage-total { font-size: 16px; font-weight: 400; color: var(--msd-text); margin-bottom: 4px; } .msd-storage-info { font-size: 12px; color: var(--msd-text-light); } .msd-storage-list { display: grid; gap: var(--msd-spacing-small); } .msd-storage-item { display: flex; justify-content: space-between; align-items: center; padding: 12px; background: var(--msd-bg); border-radius: var(--msd-radius-small); } .msd-storage-info { flex: 1; min-width: 0; } .msd-storage-site { font-size: 14px; font-weight: 400; color: var(--msd-text); margin: 0 0 4px 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .msd-storage-details { font-size: 12px; color: var(--msd-text-light); margin: 0; } .msd-storage-usage { text-align: right; margin-left: var(--msd-spacing); min-width: 80px; } .msd-storage-amount { font-size: 12px; font-weight: 400; color: var(--msd-text); display: block; margin-bottom: 2px; } .msd-storage-percentage { font-size: 10px; color: var(--msd-text-light); margin-bottom: 4px; } .msd-storage-bar { width: 60px; height: 6px; background: #cfcfcf; border-radius: 3px; overflow: hidden; position: relative; } .msd-storage-fill { height: 100%; background: var(--msd-success); border-radius: 3px; transition: width 0.3s ease; } .msd-storage-fill.warning { background: var(--msd-warning); } .msd-storage-fill.critical { background: var(--msd-danger); } .msd-server-specs { display: grid; gap: var(--msd-spacing-small); } .msd-spec-item { display: flex; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--msd-bg); } .msd-spec-item:last-child { border-bottom: none; } .msd-spec-icon { font-size: 16px; width: 20px; line-height: 1.5; flex-shrink: 0; } .msd-spec-label { font-size: 13px; font-weight: 400; color: var(--msd-text); flex: 1; } .msd-spec-value { font-size: 13px; color: var(--msd-text-light); text-align: right; } .msd-version-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--msd-spacing); padding-bottom: var(--msd-spacing); border-bottom: 1px solid var(--msd-border); } .msd-version-header h3 { margin: 0; display: flex; align-items: center; gap: 8px; color: var(--msd-text); font-size: 16px; } .msd-version-header .dashicons { font-size: 20px; } .msd-version-actions { display: flex; gap: 8px; } .msd-help-btn { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: var(--msd-radius-small); text-decoration: none; transition: all 0.2s ease; border: 1px solid transparent; } .msd-help-btn:hover { transform: translateY(-2px); box-shadow: 0 4px 12px var(--msd-shadow); } .msd-help-docs { background: #e3f2fd; color: #1976d2; border-color: #bbdefb; } .msd-help-docs:hover { background: #1976d2; color: white; border-color: #1976d2; } .msd-version-specs { display: grid; gap: var(--msd-spacing-small); } .msd-version-item { display: flex; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--msd-bg); } .msd-version-item:last-child { border-bottom: none; } .msd-version-icon { color: var(--msd-primary); font-size: 16px; width: 20px; line-height: 1.5; flex-shrink: 0; } .msd-version-label { font-size: 13px; font-weight: 400; color: var(--msd-text); flex: 1; } .msd-version-value { font-size: 13px; color: var(--msd-text-light); text-align: right; } .msd-version-value a { color: var(--msd-primary); text-decoration: none; } .msd-version-value a:hover { text-decoration: underline; } .msd-version-value.msd-status-good { color: var(--msd-success); font-weight: 500; } .msd-db-status-good { background: #d1eddb; color: #155724; padding: 4px 8px; border-radius: var(--msd-radius-small); font-size: 11px; font-weight: 500; } .msd-db-status-warning { background: #fff3cd; color: #856404; padding: 4px 8px; border-radius: var(--msd-radius-small); font-size: 11px; font-weight: 500; } .msd-version-description { margin-top: var(--msd-spacing); padding-top: var(--msd-spacing); border-top: 1px solid var(--msd-border); font-size: 13px; color: var(--msd-text-light); line-height: 1.4; } .msd-news-list { display: grid; gap: var(--msd-spacing-small); max-height: 400px; overflow-y: auto; } .msd-news-item { padding: 12px; background: var(--msd-bg); border-radius: var(--msd-radius-small); border: 1px solid transparent; transition: all 0.2s ease; } .msd-news-item:hover { background: var(--msd-bg-light); border-color: var(--msd-border); box-shadow: 0 2px 8px var(--msd-shadow); } .msd-news-title { font-size: 14px; font-weight: 400; color: var(--msd-text); margin: 0 0 6px 0; line-height: 1.3; } .msd-news-title a { color: var(--msd-text); text-decoration: none; } .msd-news-title a:hover { color: var(--msd-primary); } .msd-news-meta { display: flex; justify-content: space-between; align-items: center; font-size: 11px; color: var(--msd-text-light); margin-bottom: 6px; } .msd-news-source { font-weight: 400; color: var(--msd-primary); } .msd-news-date { opacity: 0.8; } .msd-news-description { font-size: 13px; color: var(--msd-text-light); line-height: 1.4; margin: 0; } .msd-news-empty { text-align: center; padding: 40px 20px; color: var(--msd-text-light); } .msd-news-settings { text-align: center; margin-top: var(--msd-spacing); padding-top: var(--msd-spacing); border-top: 1px solid var(--msd-bg); } .msd-news-source-item { margin-bottom: var(--msd-spacing); padding: var(--msd-spacing); background: var(--msd-bg); border: 1px solid var(--msd-border); border-radius: var(--msd-radius); } .msd-news-name, .msd-news-url { width: 100%; margin-bottom: var(--msd-spacing-small); padding: 8px 12px; border: 1px solid var(--msd-border); border-radius: var(--msd-radius-small); font-size: 14px; } .msd-news-enabled { margin-right: 6px; } .msd-remove-source { font-size: 12px; padding: 4px 8px; color: var(--msd-danger); border: 1px solid var(--msd-danger); background: none; border-radius: var(--msd-radius-small); cursor: pointer; transition: all 0.2s ease; margin-left: 12px; } .msd-remove-source:hover { background: var(--msd-danger); color: white; } .msd-quick-links-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(80px, 1fr)); gap: var(--msd-spacing-small); margin-bottom: var(--msd-spacing); } #msd-sortable-links { cursor: move; } #msd-sortable-links .msd-quick-link-item { cursor: pointer; position: relative; } #msd-sortable-links .msd-quick-link-item.ui-sortable-helper { transform: rotate(5deg); box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3); z-index: 1000; } #msd-sortable-links .msd-quick-link-item.ui-sortable-placeholder { border: 2px dashed var(--msd-primary); background: rgba(34, 113, 177, 0.1); visibility: visible !important; } .msd-quick-link-item { display: flex; flex-direction: column; align-items: center; padding: var(--msd-spacing); text-decoration: none; color: var(--msd-text); background: var(--msd-bg); border-radius: var(--msd-radius); transition: all 0.2s ease; border: 1px solid transparent; gap: var(--msd-spacing-small); } .msd-quick-link-item:hover { color: var(--msd-primary); background: var(--msd-bg-light); border-color: var(--msd-primary); transform: translateY(-2px); box-shadow: 0 4px 12px var(--msd-shadow); } .msd-quick-link-item i { font-size: 18px; opacity: 0.8; } .msd-quick-link-item span { font-size: 12px; font-weight: 400; text-align: center; line-height: 1.3; } .msd-quick-link-item span.dashicons { font-size: 18px; } .msd-empty-state { text-align: center; padding: 40px 20px; color: var(--msd-text-light); } .msd-empty-state p { margin: 0 0 var(--msd-spacing) 0; font-style: italic; } .msd-widget-footer { text-align: center; margin-top: var(--msd-spacing); padding-top: var(--msd-spacing); border-top: 1px solid var(--msd-bg); } .msd-todo-container { padding: 0; } .msd-todo-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--msd-spacing); padding-bottom: var(--msd-spacing); border-bottom: 1px solid var(--msd-border); } .msd-todo-stats { display: flex; gap: 16px; font-size: 12px; color: var(--msd-text-light); } .msd-todo-stat { display: flex; align-items: center; gap: 4px; } .msd-todo-add-btn { padding: 6px 12px; font-size: 12px; background: var(--msd-primary); color: white; border: none; border-radius: var(--msd-radius-small); cursor: pointer; transition: all 0.2s ease; } .msd-todo-add-btn:hover { background: var(--msd-primary-hover); } .msd-todo-list { display: grid; gap: var(--msd-spacing-small); max-height: 350px; overflow-y: auto; } .msd-todo-item { display: flex; align-items: flex-start; gap: 12px; padding: 12px; background: var(--msd-bg); border-radius: var(--msd-radius-small); border: 1px solid transparent; transition: all 0.2s ease; } .msd-todo-item:hover { background: var(--msd-bg-light); border-color: var(--msd-border); } .msd-todo-item.completed { opacity: 0.6; } .msd-todo-item.completed .msd-todo-title { text-decoration: line-through; } .msd-todo-checkbox { width: 18px; height: 18px; margin: 0; flex-shrink: 0; cursor: pointer; margin-top: 2px; } .msd-todo-content { flex: 1; min-width: 0; } .msd-todo-title { font-size: 14px; font-weight: 400; color: var(--msd-text); margin: 0 0 4px 0; line-height: 1.3; } .msd-todo-description { font-size: 12px; color: var(--msd-text-light); line-height: 1.4; margin: 0 0 6px 0; } .msd-todo-meta { display: flex; justify-content: space-between; align-items: center; font-size: 11px; color: var(--msd-text-light); } .msd-todo-priority { padding: 2px 6px; border-radius: 3px; font-size: 9px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.5px; } .msd-todo-priority.high { background: #ffebee; color: #c62828; } .msd-todo-priority.medium { background: #fff3e0; color: #ef6c00; } .msd-todo-priority.low { background: #e8f5e8; color: #2e7d32; } .msd-todo-date { opacity: 0.8; } .msd-todo-actions { display: flex; gap: 6px; margin-left: 8px; flex-shrink: 0; } .msd-todo-btn { width: 24px; height: 24px; border: none; background: none; cursor: pointer; border-radius: var(--msd-radius-small); display: flex; align-items: center; justify-content: center; font-size: 12px; transition: all 0.2s ease; } .msd-todo-edit:hover { background: var(--msd-primary); color: white; } .msd-todo-delete:hover { background: var(--msd-danger); color: white; } .msd-todo-form { margin-top: var(--msd-spacing); padding: 16px; background: var(--msd-bg); border-radius: var(--msd-radius); border: 1px solid var(--msd-border); display: none; } .msd-todo-form.active { display: block; } .msd-todo-form .msd-form-field { margin-bottom: 12px; } .msd-todo-form .msd-form-field:last-child { margin-bottom: 0; } .msd-todo-form label { font-size: 12px; font-weight: 500; color: var(--msd-text); margin-bottom: 4px; display: block; } .msd-todo-form input, .msd-todo-form textarea, .msd-todo-form select { width: 100%; padding: 4px 8px; border: 1px solid var(--msd-border); border-radius: var(--msd-radius-small); font-size: 13px; } .msd-todo-form textarea { min-height: 60px; resize: vertical; } .msd-todo-form-actions { display: flex; gap: 8px; margin-top: 12px; } .msd-todo-form-actions .button { font-size: 12px; padding: 0px 12px; } .msd-refresh-btn { position: absolute; top: 12px; right: 12px; background: none; border: none; color: var(--msd-text-light); font-size: 14px; cursor: pointer; padding: 4px; border-radius: var(--msd-radius-small); transition: all 0.2s ease; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; } .msd-refresh-btn:hover { color: var(--msd-primary); background: var(--msd-bg); } .msd-refresh-btn .dashicons { font-size: 16px; } .msd-modal { position: fixed; z-index: 160000; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.7); display: flex; align-items: center; justify-content: center; backdrop-filter: blur(2px); } .msd-modal-content { background: var(--msd-bg-light); border-radius: var(--msd-radius); width: 90%; max-width: 600px; max-height: 80vh; overflow-y: auto; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3); animation: msd-modal-in 0.2s ease-out; } @keyframes msd-modal-in { from { opacity: 0; transform: scale(0.9) translateY(-20px); } to { opacity: 1; transform: scale(1) translateY(0); } } .msd-modal-header { padding: 20px 24px; border-bottom: 1px solid var(--msd-border); display: flex; justify-content: space-between; align-items: center; } .msd-modal-header h3 { margin: 0; font-size: 18px; font-weight: 400; color: var(--msd-text); } .msd-modal-close { background: none; border: none; font-size: 24px; cursor: pointer; color: var(--msd-text-light); padding: 0; width: 28px; height: 28px; border-radius: var(--msd-radius-small); display: flex; align-items: center; justify-content: center; transition: all 0.2s ease; } .msd-modal-close:hover { background: var(--msd-bg); color: var(--msd-text); } .msd-modal-body { padding: 24px; } .msd-modal-footer { padding: 20px 24px; border-top: 1px solid var(--msd-border); display: flex; gap: 12px; justify-content: flex-end; } .msd-link-item { margin-bottom: var(--msd-spacing); padding: var(--msd-spacing); background: var(--msd-bg); border: 1px solid var(--msd-border); border-radius: var(--msd-radius); } .msd-link-item input[type="text"], .msd-link-item input[type="url"] { width: 100%; margin-bottom: var(--msd-spacing-small); padding: 4px 12px; border: 1px solid var(--msd-border); border-radius: var(--msd-radius-small); font-size: 14px; transition: border-color 0.2s ease; } .msd-link-item input[type="text"]:focus, .msd-link-item input[type="url"]:focus { outline: none; border-color: var(--msd-primary); box-shadow: 0 0 0 2px rgba(34, 113, 177, 0.1); } .msd-link-item label { display: flex; align-items: center; gap: var(--msd-spacing-small); margin: var(--msd-spacing-small) 0; font-size: 13px; color: var(--msd-text); cursor: pointer; } .msd-remove-link { font-size: 12px; padding: 4px 8px; color: var(--msd-danger); border: 1px solid var(--msd-danger); background: none; border-radius: var(--msd-radius-small); cursor: pointer; transition: all 0.2s ease; } .msd-remove-link:hover { background: var(--msd-danger); color: white; } .msd-settings-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin-top: 20px; } .msd-widget-toggle { background: var(--msd-bg-light); border: 1px solid var(--msd-border); border-radius: var(--msd-radius); padding: 20px; transition: all 0.2s ease; } .msd-widget-toggle:hover { border-color: var(--msd-primary); } .msd-widget-toggle label { font-weight: 400; display: flex; align-items: center; gap: 10px; margin-bottom: 8px; cursor: pointer; } .msd-widget-toggle input[type="checkbox"] { margin: 0; width: 18px; height: 18px; } .msd-widget-toggle .description { margin: 0; font-size: 11px; color: #8c8c8c; line-height: 1.4; } .msd-card { background: #fff; border: 1px solid #ccd0d4; border-radius: 4px; max-width: unset; margin-top: 20px; padding: 20px; box-shadow: 0 1px 1px rgba(0, 0, 0, .04); overflow: hidden; } .msd-notice { padding: 8px 12px; border-radius: 4px; margin: 5px 0 15px; border-left: 4px solid #ddd; animation: msd-notice-in 0.3s ease-out; } @keyframes msd-notice-in { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } } .msd-notice.success { border-left-color: var(--msd-success); background: #d1eddb; } .msd-notice.error { border-left-color: var(--msd-danger); background: #f8d7da; } .msd-notice.warning { border-left-color: var(--msd-warning); background: #fff3cd; } @media screen and (max-width: 782px) { .msd-actions-grid { grid-template-columns: 1fr; } .msd-overview-stats { grid-template-columns: repeat(2, 1fr); } .msd-user-stats { grid-template-columns: 1fr; } .msd-site-card, .msd-storage-item, .msd-user-item, .msd-pending-item, .msd-activity-item { flex-direction: column; align-items: flex-start; gap: 12px; } .msd-site-info { width: 100%; flex-direction: row; } .msd-site-actions, .msd-user-actions, .msd-pending-actions, .msd-activity-actions { width: 100%; margin-left: 0; justify-content: flex-start; } .msd-storage-usage { width: 100%; text-align: left; margin-left: 0; } .msd-quick-links-grid { grid-template-columns: repeat(2, 1fr); } .msd-quick-actions { grid-template-columns: repeat(2, 1fr); } .msd-settings-grid { grid-template-columns: 1fr; } .msd-news-list, .msd-activity-list { max-height: 300px; } .msd-user-buttons { flex-direction: column; gap: 4px; } .msd-activity-header { flex-direction: column; align-items: flex-start; gap: 4px; } .msd-activity-type { margin-left: 0; } .msd-version-actions { flex-direction: column; gap: 4px; } .msd-todo-actions { flex-direction: column; gap: 4px; } } @media screen and (max-width: 480px) { .msd-overview-stats, .msd-user-stats { grid-template-columns: 1fr; } .msd-quick-links-grid, .msd-quick-actions { grid-template-columns: 1fr; } .msd-modal-content { width: 95%; margin: 20px; } .msd-modal-header, .msd-modal-body, .msd-modal-footer { padding: 16px; } .msd-site-info { flex-direction: column; align-items: flex-start; } } .fade-in { animation: msd-fade-in 0.3s ease-out; } @keyframes msd-fade-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } .msd-user-status.good { background: #d1eddb; color: #155724; } .msd-user-status.warning { background: #fff3cd; color: #856404; } .msd-user-status.critical { background: #f8d7da; color: #721c24; } .msd-user-status.neutral { background: #e2e3e5; color: #6c757d; } body.modal-open { overflow: hidden; } .msd-link-item.error { border-color: var(--msd-danger); } .msd-link-url.error { border-color: var(--msd-danger); } .msd-news-source-item.error { border-color: var(--msd-danger); } .msd-news-url.error { border-color: var(--msd-danger); } .msd-refresh-btn.refreshing { opacity: 0.6; pointer-events: none; } .msd-error-state { text-align: center; padding: 20px; color: var(--msd-text-light); } .msd-emoji-icon { font-size: 18px !important; display: inline-block; filter: grayscale(55%); } .msd-update-notice { display: flex; align-items: center; gap: 8px; padding: 8px; margin-bottom: var(--msd-spacing); background: #fff3cd; border: 1px solid #ffeaa7; border-radius: var(--msd-radius-small); color: #856404; font-size: 13px; font-weight: 500; } .msd-update-notice .dashicons { color: #dba617; font-size: 16px; line-height: 1.2; } .msd-update-link { color: var(--msd-primary); text-decoration: none; font-weight: 500; } .msd-update-link:hover { text-decoration: underline; }