PluginProbe
Vigilant – 100% Free Security Suite: Firewall, 2FA, Login, Headers, Scanner… / 3.0.5
Vigilant – 100% Free Security Suite: Firewall, 2FA, Login, Headers, Scanner… v3.0.5
3.0.5 3.0.4 3.0.3 3.0.2 3.0.1 3.0.0 2.11.12 2.11.11 2.11.10 2.11.9 2.11.7 2.11.8 2.11.6 2.11.5 2.11.4 2.11.3 2.11.1 2.11.2 2.11.0 2.10.5 2.10.4 2.10.3 2.10.2 2.10.1 2.10.0 All 93 releases
← All changes | assets/css/admin.css +420 -1 2.11.12 → 3.0.5 View file →
@@ -398,8 +398,46 @@
398 398 .vigilante-config-status {
399 399 margin-top: 15px;
400 400 }
401 401
402 +/* Vigilant configuration: a level, not a grade. No circle, no letter and
403 + none of the grade colours, so it is not read as a second score. */
404 +.vigilante-configuration-level {
405 + display: flex;
406 + align-items: center;
407 + flex-wrap: wrap;
408 + gap: 12px;
409 +}
410 +
411 +.vigilante-configuration-bar {
412 + flex: 1 1 240px;
413 + height: 10px;
414 + border: 1px solid #dcdcde;
415 + border-radius: 5px;
416 + background: #f0f0f1;
417 + overflow: hidden;
418 +}
419 +
420 +.vigilante-configuration-bar-fill {
421 + display: block;
422 + height: 100%;
423 + background: #999999;
424 +}
425 +
426 +.vigilante-configuration-percent {
427 + min-width: 44px;
428 + font-size: 16px;
429 + text-align: right;
430 +}
431 +
432 +.vigilante-configuration-level .vigilante-config-status {
433 + margin-top: 0;
434 +}
435 +
436 +.vigilante-configuration-modules {
437 + margin: 8px 0 0;
438 +}
439 +
402 440 .vigilante-preset-badge {
403 441 display: inline-block;
404 442 padding: 5px 12px;
405 443 border-radius: 20px;
@@ -2794,8 +2832,17 @@
2794 2832 .vigilante-analyzer-count--fail .dashicons {
2795 2833 color: #c62828;
2796 2834 }
2797 2835
2836 +.vigilante-analyzer-count--skip .dashicons {
2837 + color: #646970;
2838 +}
2839 +
2840 +/* display: flex above would otherwise win over the hidden attribute. */
2841 +.vigilante-analyzer-count[hidden] {
2842 + display: none;
2843 +}
2844 +
2798 2845 /* Sparkline (trend) */
2799 2846 .vigilante-analyzer-sparkline-wrap {
2800 2847 flex-direction: column;
2801 2848 align-items: stretch;
@@ -3600,5 +3647,377 @@
3600 3647
3601 3648 .vigilante-analyzer-check-score {
3602 3649 grid-column: 2 / -1;
3603 3650 }
3604 -}
3651 +}
3652 +/* ---------------------------------------------------------------------------
3653 + Self-protection (File Integrity, first block of the results)
3654 +
3655 + Two shapes, on purpose. With nothing to do it is one line, because a card
3656 + with an icon and folded sections for "everything is fine" is furniture. With
3657 + something to do it is a card with one row per case, the shape of Site Health,
3658 + which is what holds up when there are four findings at once. Colour lives in
3659 + the icon, the severity word and a thin edge: never a filled background behind
3660 + the text.
3661 +--------------------------------------------------------------------------- */
3662 +/*
3663 + * A card of the same family as the rest of the page (the counters use
3664 + * border 1px #ddd and radius 8px), not a notice bar: this block belongs to the
3665 + * results, it is not something pinned on top of them.
3666 + */
3667 +.vigilante-self-card {
3668 + background: #fff;
3669 + border: 1px solid #ddd;
3670 + border-radius: 8px;
3671 + padding: 16px 20px;
3672 +}
3673 +
3674 +.vigilante-self-card--quiet {
3675 + padding: 12px 20px;
3676 +}
3677 +
3678 +.vigilante-self-box--critical .vigilante-self-card {
3679 + border-color: #d63638;
3680 +}
3681 +
3682 +.vigilante-self-box--warning .vigilante-self-card {
3683 + border-color: #dba617;
3684 +}
3685 +
3686 +/* --- one line, when there is nothing to act on --- */
3687 +.vigilante-self-line {
3688 + display: flex;
3689 + align-items: center;
3690 + flex-wrap: wrap;
3691 + gap: 8px;
3692 + margin: 0;
3693 +}
3694 +
3695 +.vigilante-self-line .dashicons {
3696 + color: #50575e;
3697 +}
3698 +
3699 +.vigilante-self-box--ok .vigilante-self-line .dashicons {
3700 + color: #00a32a;
3701 +}
3702 +
3703 +.vigilante-self-box--info .vigilante-self-line .dashicons {
3704 + color: #2271b1;
3705 +}
3706 +
3707 +.vigilante-self-line-meta {
3708 + color: #646970;
3709 +}
3710 +
3711 +.vigilante-self-line-help {
3712 + margin: 6px 0 0 28px;
3713 +}
3714 +
3715 +/* --- card, when something needs attention --- */
3716 +.vigilante-self-head {
3717 + display: flex;
3718 + align-items: flex-start;
3719 + gap: 12px;
3720 +}
3721 +
3722 +.vigilante-self-icon {
3723 + flex: none;
3724 + width: 34px;
3725 + height: 34px;
3726 + border-radius: 50%;
3727 + display: flex;
3728 + align-items: center;
3729 + justify-content: center;
3730 + background: #f0f0f1;
3731 +}
3732 +
3733 +.vigilante-self-icon .dashicons {
3734 + color: #50575e;
3735 +}
3736 +
3737 +.vigilante-self-box--critical .vigilante-self-icon {
3738 + background: #fcf0f1;
3739 +}
3740 +
3741 +.vigilante-self-box--critical .vigilante-self-icon .dashicons {
3742 + color: #d63638;
3743 +}
3744 +
3745 +.vigilante-self-box--warning .vigilante-self-icon {
3746 + background: #fcf9e8;
3747 +}
3748 +
3749 +.vigilante-self-box--warning .vigilante-self-icon .dashicons {
3750 + color: #996800;
3751 +}
3752 +
3753 +.vigilante-self-head-text h2 {
3754 + margin: 0;
3755 + padding: 0;
3756 + border: 0;
3757 + font-size: 15px;
3758 + line-height: 1.4;
3759 +}
3760 +
3761 +.vigilante-self-meta {
3762 + margin: 2px 0 0;
3763 + color: #646970;
3764 +}
3765 +
3766 +.vigilante-self-cases {
3767 + margin-top: 14px;
3768 + border-top: 1px solid #e0e0e0;
3769 +}
3770 +
3771 +.vigilante-self-case {
3772 + border-bottom: 1px solid #e0e0e0;
3773 +}
3774 +
3775 +.vigilante-self-case > summary {
3776 + display: flex;
3777 + align-items: center;
3778 + gap: 10px;
3779 + padding: 10px 2px;
3780 + cursor: pointer;
3781 + list-style: none;
3782 +}
3783 +
3784 +.vigilante-self-case > summary::-webkit-details-marker {
3785 + display: none;
3786 +}
3787 +
3788 +.vigilante-self-case > summary::before {
3789 + content: "\f139";
3790 + font-family: dashicons;
3791 + font-size: 18px;
3792 + line-height: 1;
3793 + color: #646970;
3794 +}
3795 +
3796 +.vigilante-self-case[open] > summary::before {
3797 + content: "\f140";
3798 +}
3799 +
3800 +.vigilante-self-case-title {
3801 + font-weight: 600;
3802 +}
3803 +
3804 +.vigilante-self-case-count {
3805 + color: #646970;
3806 +}
3807 +
3808 +.vigilante-self-case-severity {
3809 + margin-left: auto;
3810 + font-size: 12px;
3811 + text-transform: lowercase;
3812 + color: #646970;
3813 +}
3814 +
3815 +.vigilante-self-case--critical .vigilante-self-case-severity {
3816 + color: #d63638;
3817 +}
3818 +
3819 +.vigilante-self-case--warning .vigilante-self-case-severity {
3820 + color: #996800;
3821 +}
3822 +
3823 +.vigilante-self-case-body {
3824 + padding: 0 2px 12px 28px;
3825 +}
3826 +
3827 +.vigilante-self-paths {
3828 + margin: 0 0 8px 18px;
3829 + list-style: disc;
3830 +}
3831 +
3832 +.vigilante-self-paths code {
3833 + background: rgba(0, 0, 0, 0.05);
3834 +}
3835 +
3836 +.vigilante-self-meaning,
3837 +.vigilante-self-todo {
3838 + margin: 6px 0 0;
3839 +}
3840 +
3841 +.vigilante-self-steps {
3842 + margin: 4px 0 0 20px;
3843 +}
3844 +
3845 +.vigilante-self-steps li {
3846 + margin-bottom: 6px;
3847 +}
3848 +
3849 +.vigilante-self-actions {
3850 + display: flex;
3851 + align-items: center;
3852 + flex-wrap: wrap;
3853 + gap: 10px;
3854 + margin: 14px 0 0;
3855 +}
3856 +
3857 +/* ---------------------------------------------------------------------------
3858 + Self-protection on the Dashboard tab: the same card as the ones below it
3859 + (white, 1px border, 4px radius, 20px padding), not a notice bar pinned on
3860 + top. Its content is centred, like the score cards it sits above.
3861 +--------------------------------------------------------------------------- */
3862 +.vigilante-self-strip {
3863 + display: flex;
3864 + align-items: center;
3865 + justify-content: center;
3866 + flex-wrap: wrap;
3867 + gap: 10px;
3868 + background: #fff;
3869 + border: 1px solid #e5e5e5;
3870 + border-radius: 4px;
3871 + padding: 16px 20px;
3872 + margin-bottom: 20px;
3873 + text-align: center;
3874 +}
3875 +
3876 +.vigilante-self-strip--critical {
3877 + border-color: #d63638;
3878 +}
3879 +
3880 +.vigilante-self-strip--warning {
3881 + border-color: #dba617;
3882 +}
3883 +
3884 +.vigilante-self-strip .dashicons {
3885 + color: #50575e;
3886 +}
3887 +
3888 +.vigilante-self-strip--critical .dashicons {
3889 + color: #d63638;
3890 +}
3891 +
3892 +.vigilante-self-strip--warning .dashicons {
3893 + color: #996800;
3894 +}
3895 +
3896 +.vigilante-self-strip--ok .dashicons {
3897 + color: #00a32a;
3898 +}
3899 +
3900 +.vigilante-self-strip-state {
3901 + color: #1d2327;
3902 +}
3903 +
3904 +.vigilante-self-strip--critical .vigilante-self-strip-state {
3905 + color: #d63638;
3906 + font-weight: 600;
3907 +}
3908 +
3909 +.vigilante-self-strip--warning .vigilante-self-strip-state {
3910 + color: #996800;
3911 + font-weight: 600;
3912 +}
3913 +
3914 +.vigilante-self-strip-count {
3915 + color: #646970;
3916 +}
3917 +
3918 +.vigilante-self-notice .dashicons {
3919 + vertical-align: text-bottom;
3920 +}
3921 +
3922 +.vigilante-analyzer-capped {
3923 + margin: 0 0 12px;
3924 + padding: 10px 14px;
3925 + border-left: 4px solid #d63638;
3926 + border-radius: 3px;
3927 + background: #fcf0f1;
3928 +}
3929 +
3930 +.vigilante-analyzer-capped .dashicons {
3931 + color: #d63638;
3932 + vertical-align: text-bottom;
3933 +}
3934 +
3935 +/* Notice: what happened on one line, the explanation on another, the actions at
3936 + the end. All of it inline was a wall nobody reads at a glance. */
3937 +/* Two lines and not one pixel more than they need: a notice that takes a
3938 + quarter of the screen is a notice that pushes the page down every time. */
3939 +.vigilante-self-notice {
3940 + padding: 6px 12px;
3941 +}
3942 +
3943 +.vigilante-self-notice p {
3944 + margin: 3px 0;
3945 + line-height: 1.5;
3946 +}
3947 +
3948 +.vigilante-self-notice-title {
3949 + display: flex;
3950 + align-items: center;
3951 + gap: 6px;
3952 + font-size: 13px;
3953 +}
3954 +
3955 +.vigilante-self-notice-title .dashicons {
3956 + font-size: 17px;
3957 + width: 17px;
3958 + height: 17px;
3959 +}
3960 +
3961 +.vigilante-self-notice-text {
3962 + display: flex;
3963 + align-items: center;
3964 + flex-wrap: wrap;
3965 + gap: 10px;
3966 + max-width: 75em;
3967 + color: #3c434a;
3968 +}
3969 +
3970 +/*
3971 + * On the Vigilant screens the notice lands inside the header row, where
3972 + * WordPress drops it after the first h1. It goes after the search box and
3973 + * takes the space that is left, in two lines: what happened, and the
3974 + * explanation with its button.
3975 + */
3976 +.vigilante-header-row .vigilante-page-title {
3977 + order: 1;
3978 +}
3979 +
3980 +.vigilante-header-row .vigilante-search-wrapper {
3981 + order: 2;
3982 +}
3983 +
3984 +.vigilante-header-row .vigilante-self-notice {
3985 + order: 3;
3986 + /* Only as wide as what it says: a notice is block level and would take the
3987 + rest of the row, which on a wide screen is a band of colour with a line
3988 + of text lost in it. Outside the Vigilant screens it keeps the full width
3989 + of any WordPress notice, because there it is the alarm. */
3990 + flex: 0 1 auto;
3991 + max-width: 100%;
3992 + margin: 0;
3993 +}
3994 +
3995 +/* The submenu counter of File Integrity: the core bubble is small and low on
3996 + contrast down there, and a counter nobody can read is a counter that is not
3997 + there. */
3998 +#adminmenu .toplevel_page_vigilante .wp-submenu .awaiting-mod,
3999 +#adminmenu .toplevel_page_vigilante .wp-submenu .update-plugins {
4000 + background: #d63638;
4001 + color: #fff;
4002 + font-size: 11px;
4003 + font-weight: 600;
4004 + line-height: 18px;
4005 + min-width: 18px;
4006 + padding: 0 6px;
4007 + border-radius: 9px;
4008 + margin-left: 6px;
4009 +}
4010 +
4011 +#adminmenu .toplevel_page_vigilante .wp-submenu .update-plugins.vigilante-badge-warning {
4012 + background: #dba617;
4013 + color: #1d2327;
4014 +}
4015 +
4016 +#adminmenu .toplevel_page_vigilante .wp-submenu .awaiting-mod .pending-count,
4017 +#adminmenu .toplevel_page_vigilante .wp-submenu .update-plugins .pending-count {
4018 + background: transparent;
4019 + color: inherit;
4020 + font-size: inherit;
4021 + font-weight: inherit;
4022 + padding: 0;
4023 +}