According to that wiki page it is a popular community theme, so I will leave community themes alone.
I've gone ahead and looked through the four themes, and have placed any CSS modifications I would like to see implemented below. Screenshots are provided showing what the changes look like after my CSS. You can replicate it yourself by copying and pasting my CSS to the end of the existing CSS file cascade.css. I used Safari's Web Inspector.
luci-theme-bootstrap
26.089.79989~0b64c57
/* Change mouse icon from text cursor to pointer */
body[data-page='admin-status-overview'] .cbi-title .label {
cursor: pointer;
}
/* Smaller buttons on larger screens */
@media screen and (min-width : 481px) {
body[data-page='admin-status-overview'] .cbi-title .label {
line-height: 1em;
margin: 0.7em 0;
}
}
/* Slightly fade "show" button */
body[data-page='admin-status-overview'] .cbi-title .label.notice {
opacity: var(--disabled-opacity);
}
/* Remove fade when hovered */
body[data-page='admin-status-overview'] .cbi-title .label.notice:hover {
opacity: initial;
}
/* Match footer with header padding left and right so they are aligned (header uses 1180px, but footer was using 940px) */
footer {
padding-left: calc((100% - 1180px) / 2);
padding-right: calc((100% - 1180px) / 2);
}
luci-theme-material
26.089.79989~0b64c57
/* Resolve mismatched spacing for each heading in box, fixing spacing for when contents are hidden and adding spacing when contents are shown */
body[data-page='admin-status-overview'] .cbi-section {
padding-top: 1rem;
}
body[data-page='admin-status-overview'] .cbi-title h3 {
padding: 1rem 0 0 0;
margin: 0;
align-items: center;
}
body[data-page='admin-status-overview'] .cbi-section > div:last-child {
padding-top: 1rem;
}
body[data-page='admin-status-overview'] .cbi-section > div:empty {
display: none;
}
/* Looks like there's a tablet mode also done for 1600px, need to fix spacing changes for that too */
@media screen and (max-width: 1600px) {
body[data-page='admin-status-overview'] .cbi-section {
padding-top: 0.5rem;
}
body[data-page='admin-status-overview'] .cbi-title h3 {
padding-top: 0.5rem;
}
}
/* Change mouse icon from text cursor to pointer, and fix buttons not being same min-width */
body[data-page='admin-status-overview'] .cbi-title .label {
cursor: pointer;
min-width: 5.2em !important;
}
/* Create larger buttons for smaller screens (same behaviour as luci-theme-bootstrap) */
@media screen and (max-width: 480px) {
body[data-page='admin-status-overview'] .cbi-title .label {
line-height: 3em;
}
}
/* Slightly fade "show" button: no variable for disabled opacity like luci-theme-bootstrap, assuming 0.7 */
body[data-page='admin-status-overview'] .cbi-title .label.notice {
opacity: 0.7;
}
/* Remove fade when hovered */
body[data-page='admin-status-overview'] .cbi-title .label.notice:hover {
opacity: initial;
}
/* Set text to var(--secondary-bright-color) when using var(--main-bright-color) for background to match same behaviour as the header of the page, e.g. IPv4 Upstream and IPv6 Upstream boxes */
body[data-page='admin-status-overview'] .ifacebox-head {
color: var(--header-color);
}
luci-theme-openwrt
26.089.79989~0b64c57
/* Match "show" button style to IP table, change border colour to match font colour; fade it slightly: no variable for disabled opacity like luci-theme-bootstrap, assuming 0.7 */
body[data-page='admin-status-overview'] .cbi-title .label.notice {
background: #90c0e0;
color: #000;
border: 1px #000 solid;
opacity: 0.7;
}
/* Remove fade when hovered */
body[data-page='admin-status-overview'] .cbi-title .label.notice:hover {
opacity: initial;
}
/* Change mouse icon from text cursor to pointer, restore button text weight and font similar to indicators, add subtle border to compliment both states of button */
body[data-page='admin-status-overview'] .cbi-title .label {
cursor: pointer;
font-weight: normal;
font-family: Arial,Verdana,sans-serif;
border: 1px #888 solid;
}
/* Match rounded indicators to same style as "hide" and "show" buttons for design consistency, change mouse icon from text cursor to pointer (site wide) */
#indicators > span {
border-radius: 3px !important;
cursor: pointer;
}
/* Work with existing mobile styling for 480px and below, make bigger buttons and fix heading alignment */
@media screen and (max-width: 480px) {
body[data-page='admin-status-overview'] .cbi-title .label {
line-height: 3em;
}
body[data-page='admin-status-overview'] .cbi-title h3 {
align-items: center;
}
}
luci-theme-openwrt-2020
26.089.79989~0b64c57
/* Match rounded indicators to same style as "hide" and "show" buttons for design consistency (site wide) */
#indicators > * {
line-height: 1.8em;
border-radius: .5rem;
padding: 0 .7em;
}
/* Update existing calculations with same new adjustments as above */
#indicators > [data-style="inactive"] {
line-height: calc(1.8em - 4px);
padding:0 calc(.7em - 2px);
}
/* Create larger buttons for smaller screens (same behaviour as luci-theme-bootstrap) */
@media screen and (max-width: 480px) {
body[data-page='admin-status-overview'] h3, .cbi-section > legend:first-child {
line-height: 2em;
}
}
/* Swap the "hide" and "show" button styles to match all other luci-theme, as "hide" is currently using primary style and "show" is currently using secondary style. Also, change mouse icon from text cursor to pointer */
body[data-page='admin-status-overview'] .cbi-title .label.notice {
background: var(--main-bright-color);
color: var(--secondary-bright-color);
border: 0;
}
body[data-page='admin-status-overview'] .cbi-title .label {
background: var(--secondary-bright-color);
color: var(--main-bright-color);
border: 1px solid var(--main-bright-color);
opacity: 1;
cursor: pointer;
}
/* Slightly fade "show" button: no variable for disabled opacity like luci-theme-bootstrap, assuming 0.7 */
body[data-page='admin-status-overview'] .cbi-title .label.notice {
opacity: 0.7;
}
/* Remove fade when hovered */
body[data-page='admin-status-overview'] .cbi-title .label.notice:hover {
opacity: initial;
}
/* Set text to var(--secondary-bright-color) when using var(--main-bright-color) for background to match same behaviour as the header of the page, e.g. IPv4 Upstream and IPv6 Upstream boxes */
body[data-page='admin-status-overview'] .ifacebox-head {
color: var(--secondary-bright-color)
}
I would go ahead and try to do a pull request/commit myself, but I have never done one before, and all the prerequisites were quite overwhelming.