🎨 Sync 2026-10-09 01:04:17

This commit is contained in:
github-actions[bot] committed 2026-10-09 01:04:17 +08:00
1 parent eb76e89012
commit 812da7f08b
154 files changed
+10613 -3987

No files matched your search

@@ -37,6 +37,7 @@
--gray: #8898aa;
--gray-dark: #32325d;
--lighter: #e9ecef;
--table-border: thin solid #ddd;
--success: #2dce89;
--info: #11cdef;
--warning: #fb6340;
@@ -929,6 +930,102 @@ select[multiple="multiple"] {
.login-page .login-container footer .luci-link {
display: block;
}
.login-page[data-login-style="centered"] {
height: auto;
min-height: 100vh;
min-height: 100dvh;
padding: 2rem 1rem;
box-sizing: border-box;
align-items: center;
}
.login-page[data-login-style="centered"] .main-bg,
.login-page[data-login-style="centered"] .video {
position: fixed;
height: 100%;
width: 100%;
}
.login-page[data-login-style="centered"] .login-container {
flex: 0 0 auto;
width: 26rem;
max-width: 100%;
height: auto;
margin: auto 0;
border-radius: 0.75rem;
}
.login-page[data-login-style="centered"] .login-container .login-form {
min-height: 0;
}
.login-page[data-login-style="centered"] .login-container .login-form .brand {
max-width: 100%;
margin: 0;
padding: 2rem 1.5rem 1.5rem;
box-sizing: border-box;
gap: 1rem;
}
.login-page[data-login-style="centered"] .login-container .login-form .brand .icon {
width: 2.5rem;
margin: 0;
flex-shrink: 0;
}
.login-page[data-login-style="centered"] .login-container .login-form .brand .brand-text {
min-width: 0;
margin: 0;
overflow-wrap: anywhere;
}
.login-page[data-login-style="centered"] .login-container .login-form .form-login {
padding: 0 2rem;
}
.login-page[data-login-style="centered"] .login-container .login-form .form-login .input-group input {
margin: 0;
}
.login-page[data-login-style="centered"] .login-container .login-form .form-login .errorbox {
padding-bottom: 1.25rem;
overflow-wrap: anywhere;
}
.login-page[data-login-style="centered"] .login-container .login-form .form-login .auth-plugin {
max-width: 100%;
overflow-wrap: anywhere;
overflow-x: auto;
}
.login-page[data-login-style="centered"] .login-container .login-form .cbi-button-apply {
margin: 0.5rem 0 0;
padding: 0.75rem 1rem;
height: auto;
letter-spacing: 0.1rem;
white-space: normal;
}
.login-page[data-login-style="centered"] .login-container footer {
position: static;
display: block;
width: auto;
margin: 0;
padding: 1.5rem 2rem;
}
.login-page[data-login-style="centered"] .login-container footer > div {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.login-page[data-login-style="centered"] .login-container footer .luci-link {
display: inline;
}
.login-page[data-login-style="centered"] .login-container footer .login-footer-detail {
display: none;
}
.login-page[data-login-style="centered"] .login-container footer a + a::before {
content: " · ";
}
@media screen and (max-width: 480px) {
.login-page[data-login-style="centered"] {
padding: 1rem;
}
.login-page[data-login-style="centered"] .login-container .login-form .form-login {
padding: 0 1.25rem;
}
.login-page[data-login-style="centered"] .login-container footer {
padding: 1.25rem;
}
}
.main {
position: relative;
width: 100%;
@@ -1501,8 +1598,38 @@ footer > a {
}
}
#maincontent > .alert-message {
position: fixed;
transform: translate(-50%, -50%);
position: static;
width: auto;
left: auto;
top: auto;
transform: none;
z-index: auto;
margin: 0 1.25rem 1rem;
flex-wrap: wrap;
gap: 1rem;
line-height: 1.5;
}
#maincontent > .alert-message > div {
min-width: 0;
margin: 0;
}
#maincontent > .alert-message > div:first-child > * {
margin: 0;
}
#maincontent > .alert-message > div:first-child > * + * {
margin-top: 0.75rem;
}
#maincontent > .alert-message h4 {
padding: 0.5rem 0.75rem;
}
#maincontent > .alert-message .btn {
max-width: 100%;
white-space: normal;
}
@media screen and (max-width: 600px) {
#maincontent > .alert-message {
flex-direction: column;
}
}
.container .alert,
.container .alert-message {
@@ -1514,10 +1641,6 @@ footer > a {
transform: translate(-50%, 0);
width: 100%;
}
#mwan3-service-status > .alert-message {
left: 0.5rem;
transform: none;
}
.lg {
margin: 0;
padding: 0 !important;
@@ -1678,17 +1801,9 @@ body:not([data-page="admin-dashboard"]) .tr > .td,
body:not([data-page="admin-dashboard"]) .tr > .th,
body:not([data-page="admin-dashboard"]) .cbi-section-table-row::before,
body:not([data-page="admin-dashboard"]) #cbi-wireless > #wifi_assoclist_table > .tr:nth-child(2) {
border-top: thin solid #ddd;
border-top: var(--table-border);
padding: 1.1em 1.25rem;
}
@media (prefers-color-scheme: dark) {
body:not([data-page="admin-dashboard"]) tr > td,
body:not([data-page="admin-dashboard"]) tr > th,
body:not([data-page="admin-dashboard"]) .tr > .td,
body:not([data-page="admin-dashboard"]) .tr > .th {
border-top: thin solid #444 !important;
}
}
#cbi-wireless .td,
.table[width="100%"] > .tr:first-child > .td,
[data-page="admin-network-diagnostics"] .tr > .td,
@@ -2564,7 +2679,6 @@ body:not(.Interfaces) .cbi-rowstyle-2:first-child {
align-items: center;
flex-grow: 1;
}
.cbi-dropdown[empty] > ul > li,
.cbi-dropdown[optional][open] > ul.dropdown > li[placeholder],
.cbi-dropdown[multiple][open] > ul.dropdown > li > form {
display: block;
@@ -3457,6 +3571,12 @@ pre.command-output {
[data-page="admin-system-attendedsysupgrade-configuration"] .cbi-map .cbi-map-descr {
padding-bottom: 0;
}
[data-page="admin-system-flash"] .modal .btn {
height: auto;
min-height: 2.5rem;
max-width: 100%;
white-space: normal;
}
[data-page="admin-system-flash"] .cbi-value {
padding: 0 1rem;
}
@@ -3640,6 +3760,72 @@ pre.command-output {
border: 1px solid #dee2e6 !important;
border-radius: 4px;
}
[data-page="admin-network-switch-vlan"] #switch-vlan-view {
--background-color-medium: #f4f5f7;
--background-color-high: #fff;
--text-color-high: var(--gray-dark);
--text-color-low: #626b7a;
--border-color-low: #dee2e6;
--border-color-medium: #cbd5e1;
--border-color-high: #8898aa;
--primary-color-high: var(--primary);
--svc-row-bg: var(--background-color-medium);
--svc-row-hover-bg: var(--background-color-high);
--svc-row-add-bg: var(--background-color-medium);
--svc-port-selected-bg: #e8ecff;
--svc-port-selected-hover-bg: #dfe4ff;
--svc-port-selected-border: var(--primary);
--svc-port-selected-ring: rgba(94, 114, 228, 0.28);
--svc-vlan-tagged: #8c4800;
--svc-vlan-untagged: #06685f;
--svc-vlan-checked-text: #fff;
color: var(--text-color-high);
}
[data-page="admin-network-switch-vlan"] #switch-vlan-view input[type="text"],
[data-page="admin-network-switch-vlan"] #switch-vlan-view input[type="number"] {
background-color: var(--background-color-high) !important;
}
[data-page="admin-network-switch-vlan"] #switch-vlan-view input[type="text"]::placeholder,
[data-page="admin-network-switch-vlan"] #switch-vlan-view input[type="number"]::placeholder {
color: var(--text-color-low);
opacity: 1;
}
[data-page="admin-network-switch-vlan"] #switch-vlan-view input[type="text"]:focus,
[data-page="admin-network-switch-vlan"] #switch-vlan-view input[type="number"]:focus {
border-color: var(--primary-color-high) !important;
}
[data-page="admin-network-switch-vlan"] #switch-vlan-view .svc-port-tile.selected:hover {
background: var(--svc-port-selected-hover-bg);
border-color: var(--svc-port-selected-border);
}
[data-page="admin-network-switch-vlan"] #switch-vlan-view .svc-vlan-btn-tagged,
[data-page="admin-network-switch-vlan"] #switch-vlan-view .svc-vlan-btn-assign-tagged {
--svc-role-color: var(--svc-vlan-tagged);
--svc-role-bg: var(--svc-vlan-tagged-bg);
--svc-role-stripe: var(--svc-vlan-tagged-stripe);
}
[data-page="admin-network-switch-vlan"] #switch-vlan-view .svc-vlan-btn-untagged,
[data-page="admin-network-switch-vlan"] #switch-vlan-view .svc-vlan-btn-assign-untagged {
--svc-role-color: var(--svc-vlan-untagged);
--svc-role-bg: var(--svc-vlan-untagged-bg);
--svc-role-stripe: var(--svc-vlan-untagged-stripe);
}
[data-page="admin-network-switch-vlan"] #switch-vlan-view .svc-vlan-btn-tagged:not(:disabled),
[data-page="admin-network-switch-vlan"] #switch-vlan-view .svc-vlan-btn-untagged:not(:disabled),
[data-page="admin-network-switch-vlan"] #switch-vlan-view .svc-vlan-assign-btn:not(.svc-vlan-assign-disabled) {
color: var(--svc-role-color) !important;
border-color: var(--svc-role-color) !important;
}
[data-page="admin-network-switch-vlan"] #switch-vlan-view .svc-vlan-assign-btn.svc-vlan-assign-checked {
background: var(--svc-role-color);
color: var(--svc-vlan-checked-text) !important;
}
[data-page="admin-network-switch-vlan"] #switch-vlan-view .svc-vlan-assign-btn.svc-vlan-assign-mixed {
background: repeating-linear-gradient(135deg, var(--svc-role-stripe) 0 0.5rem, var(--svc-role-bg) 0.5rem 1rem);
}
[data-page="admin-network-switch-vlan"] #switch-vlan-view .svc-vlan-assign-btn.svc-vlan-assign-checked .svc-vlan-btn-prefix {
color: inherit;
}
[data-page="admin-network-dhcp"] .cbi-value {
padding: 0;
}
@@ -3747,6 +3933,11 @@ pre.command-output {
[data-page="admin-status-overview"] #view > div:first-child {
gap: 0 !important;
}
[data-page="admin-status-channel_analysis"] [data-tab-title]:not([data-tab-active="true"]) {
display: block !important;
visibility: hidden;
padding: 0;
}
[data-page="admin-status-iptables"] .right {
margin-bottom: 0 !important;
}
@@ -3779,6 +3970,20 @@ pre.command-output {
[data-page="admin-services-ttyd"] #view iframe {
height: 100%;
}
[data-page="admin-docker-overview"] .cbi-section-table {
table-layout: fixed;
}
[data-page="admin-docker-overview"] .cbi-section-table .th,
[data-page="admin-docker-overview"] .cbi-section-table .td {
min-width: 0;
white-space: normal;
overflow-wrap: anywhere;
text-align: left !important;
vertical-align: top;
}
[data-page="admin-docker-overview"] .cbi-section-table .th:first-child {
width: 30% !important;
}
#cbi-dockerd .cbi-section {
box-sizing: border-box;
padding: 16px;
@@ -4421,13 +4626,18 @@ div[style*="display:grid;grid-template-columns:repeat"] .ifacebox .ifacebox-body
}
#mwan3-service-status {
display: flex;
justify-content: center;
align-items: center;
justify-content: flex-start;
align-items: stretch;
flex-wrap: wrap;
}
#mwan3-service-status > .alert-message {
#mwan3-service-status > div.alert-message {
position: static;
transform: none;
z-index: auto;
height: auto;
min-height: 6rem;
max-width: calc(100% - 2rem);
overflow-wrap: anywhere;
}
/* responsive */
@media all and (-ms-high-contrast: none) {
@@ -1,4 +1,4 @@
body{background:#1e1e1e;color:#ccc}.spinning::before{filter:invert(1)}.login-page .login-container{background-color:rgba(0,0,0,var(--blur-opacity-dark));-webkit-backdrop-filter:blur(var(--blur-radius-dark));backdrop-filter:blur(var(--blur-radius-dark))}.login-page .login-container .login-form{background-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.login-page .login-container .login-form .brand{color:#adb5bd}.login-page .login-container .login-form .form-login .input-group::before{color:#adb5bd}.login-page .login-container .login-form .form-login .input-group input{background-color:transparent!important;color:#adb5bd;border-bottom:#adb5bd 1px solid!important;border-radius:0!important;border-top:none!important;border-left:none!important;border-right:none!important;box-shadow:none}.login-page .login-container .login-form .form-login .cbi-button-apply{background-color:#483d8b!important;background-color:var(--dark-primary)!important}.login-page .login-container .login-form .form-login .cbi-button-apply:focus,.login-page .login-container .login-form .form-login .cbi-button-apply:hover{opacity:.9}header::after{background-color:#1e1e1e!important}.main .main-left{background-color:#333!important;box-shadow:0 0 .5rem 0 rgba(0,0,0,.15)}.main .main-left .sidenav-header .brand{color:#ccc}.main .main-left .nav .slide .slide-menu .active a{color:#ccc}.main .main-left .nav .slide .slide-menu .active a::after{background-color:#ccc!important}.main .main-left .nav .slide .slide-menu .active::after{background-color:var(--dark-primary)!important}.main .main-left .nav .slide .slide-menu li a{color:#ccc}.main .main-left .nav .slide .slide-menu li a:hover{background:0 0!important}.main .main-left .nav .slide .slide-menu li::after{background-color:var(--dark-primary)!important}.main .main-left .nav .slide .menu.active{background-color:#483d8b!important;background-color:var(--dark-primary)!important;color:#fff!important}.main .main-left .nav .slide .menu.active a::after{background-color:#fff!important}.main .main-left .nav li a{color:#ccc!important}.main .main-left .nav li a:hover{background-color:#483d8b!important;background-color:var(--dark-primary)!important;color:#fff!important}.main .main-left::-webkit-scrollbar-thumb{background-color:#252526!important}.main .main-left::-webkit-scrollbar-track{background-color:#333}.main .main-right{background-color:#1e1e1e}h2{color:#ccc;background:#333}h3{color:#ccc;border-bottom:0;background:#333}h4{color:#8c6900}abbr{color:var(--dark-primary)!important}a:active,a:link,a:visited{color:#a5b2ff}input:-webkit-autofill{background-color:#3c3c3c!important}#channel_graph{background-color:transparent!important}.cbi-button-apply,.cbi-button-edit,.cbi-value-field .cbi-input-apply{color:#fff!important;background-color:#483d8b!important;background-color:var(--dark-primary)!important;border-color:#483d8b!important;border-color:var(--dark-primary)!important}.cbi-section em{color:#ccc}header.bg-primary{background-color:#1e1e1e!important}.cbi-map-descr{color:#ccc}.cbi-section{background:0 0;box-shadow:0 0 .5rem 0 rgba(0,0,0,.35)}.panel-title{color:#ccc;background-color:#333}div>.table>.tr:nth-of-type(2n),div>table>tbody>tr:nth-of-type(2n){background-color:#252526}table>tbody>tr>td,table>tfoot>tr>td,table>thead>tr>td{color:#ccc}fieldset>table>tbody>tr:nth-of-type(2n){background-color:#252526}table>tbody>tr>td,table>tfoot>tr>td,table>thead>tr>td{border-top:1px solid #252526}#conns>div>div,#membuff>div>div,#memfree>div>div,#memtotal>div>div,#swapfree>div>div,#swaptotal>div>div{background-color:var(--dark-primary)!important}#conns>div>div>div>small,#membuff>div>div>div>small,#memfree>div>div>div>small,#memtotal>div>div>div>small,#swapfree>div>div>div>small,#swaptotal>div>div>div>small{color:#ccc!important}.node-system-packages>.main .cbi-section-node:first-child .cbi-value-last{line-height:1.8em}.node-system-packages>.main .cbi-section-node:first-child .cbi-value-last div[style="margin:3px 0; width:300px; height:10px; border:1px solid #000000; background-color:#80C080"]{border:1px solid #999!important;background-color:transparent!important}.node-system-packages>.main .cbi-section-node:first-child .cbi-value-last div[style="margin:3px 0; width:300px; height:10px; border:1px solid #000000; background-color:#80C080"] div{background-color:#ba8b00!important}table>tbody>tr>th,table>tfoot>tr>th,table>thead>tr>th{background-color:#252526;border-bottom:#000 1px solid!important}.tr.cbi-section-table-titles.named::before,.tr[data-title]::before{background-color:#252526}#cbi-wireless>#wifi_assoclist_table>.tr:nth-child(2),.cbi-section-table-row::before,.tr>.td,.tr>.th,tr>td,tr>th{border-top:0}.cbi-rowstyle-2{background-color:#1e1e1e}.cbi-rowstyle-1{background-color:#252526}.cbi-rowstyle-2 .cbi-button-down,.cbi-rowstyle-2 .cbi-button-up,body:not(.Interfaces) .cbi-rowstyle-2:first-child{background-color:#666!important}.cbi-section>h3:first-child,.panel-title,h3{color:#ccc}h4{background-color:#1e1e1f}.cLine truncated
:root{--table-border:0}body{background:#1e1e1e;color:#ccc}.spinning::before{filter:invert(1)}.login-page .login-container{background-color:rgba(0,0,0,var(--blur-opacity-dark));-webkit-backdrop-filter:blur(var(--blur-radius-dark));backdrop-filter:blur(var(--blur-radius-dark))}.login-page .login-container .login-form{background-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.login-page .login-container .login-form .brand{color:#adb5bd}.login-page .login-container .login-form .form-login .input-group::before{color:#adb5bd}.login-page .login-container .login-form .form-login .input-group input{background-color:transparent!important;color:#adb5bd;border-bottom:#adb5bd 1px solid!important;border-radius:0!important;border-top:none!important;border-left:none!important;border-right:none!important;box-shadow:none}.login-page .login-container .login-form .form-login .cbi-button-apply{background-color:#483d8b!important;background-color:var(--dark-primary)!important}.login-page .login-container .login-form .form-login .cbi-button-apply:focus,.login-page .login-container .login-form .form-login .cbi-button-apply:hover{opacity:.9}header::after{background-color:#1e1e1e!important}.main .main-left{background-color:#333!important;box-shadow:0 0 .5rem 0 rgba(0,0,0,.15)}.main .main-left .sidenav-header .brand{color:#ccc}.main .main-left .nav .slide .slide-menu .active a{color:#ccc}.main .main-left .nav .slide .slide-menu .active a::after{background-color:#ccc!important}.main .main-left .nav .slide .slide-menu .active::after{background-color:var(--dark-primary)!important}.main .main-left .nav .slide .slide-menu li a{color:#ccc}.main .main-left .nav .slide .slide-menu li a:hover{background:0 0!important}.main .main-left .nav .slide .slide-menu li::after{background-color:var(--dark-primary)!important}.main .main-left .nav .slide .menu.active{background-color:#483d8b!important;background-color:var(--dark-primary)!important;color:#fff!important}.main .main-left .nav .slide .menu.active a::after{background-color:#fff!important}.main .main-left .nav li a{color:#ccc!important}.main .main-left .nav li a:hover{background-color:#483d8b!important;background-color:var(--dark-primary)!important;color:#fff!important}.main .main-left::-webkit-scrollbar-thumb{background-color:#252526!important}.main .main-left::-webkit-scrollbar-track{background-color:#333}.main .main-right{background-color:#1e1e1e}h2{color:#ccc;background:#333}h3{color:#ccc;border-bottom:0;background:#333}h4{color:#8c6900}abbr{color:var(--dark-primary)!important}a:active,a:link,a:visited{color:#a5b2ff}input:-webkit-autofill{background-color:#3c3c3c!important}#channel_graph{background-color:transparent!important}.cbi-button-apply,.cbi-button-edit,.cbi-value-field .cbi-input-apply{color:#fff!important;background-color:#483d8b!important;background-color:var(--dark-primary)!important;border-color:#483d8b!important;border-color:var(--dark-primary)!important}.cbi-section em{color:#ccc}header.bg-primary{background-color:#1e1e1e!important}.cbi-map-descr{color:#ccc}.cbi-section{background:0 0;box-shadow:0 0 .5rem 0 rgba(0,0,0,.35)}.panel-title{color:#ccc;background-color:#333}div>.table>.tr:nth-of-type(2n),div>table>tbody>tr:nth-of-type(2n){background-color:#252526}table>tbody>tr>td,table>tfoot>tr>td,table>thead>tr>td{color:#ccc}fieldset>table>tbody>tr:nth-of-type(2n){background-color:#252526}table>tbody>tr>td,table>tfoot>tr>td,table>thead>tr>td{border-top:1px solid #252526}#conns>div>div,#membuff>div>div,#memfree>div>div,#memtotal>div>div,#swapfree>div>div,#swaptotal>div>div{background-color:var(--dark-primary)!important}#conns>div>div>div>small,#membuff>div>div>div>small,#memfree>div>div>div>small,#memtotal>div>div>div>small,#swapfree>div>div>div>small,#swaptotal>div>div>div>small{color:#ccc!important}.node-system-packages>.main .cbi-section-node:first-child .cbi-value-last{line-height:1.8em}.node-system-packages>.main .cbi-section-node:first-child .cbi-value-last div[style="margin:3px 0; width:300px; height:10px; border:1px solid #000000; background-color:#80C080"]{border:1px solid #999!important;background-color:transparent!important}.node-system-packages>.main .cbi-section-node:first-child .cbi-value-last div[style="margin:3px 0; width:300px; height:10px; border:1px solid #000000; background-color:#80C080"] div{background-color:#ba8b00!important}table>tbody>tr>th,table>tfoot>tr>th,table>thead>tr>th{background-color:#252526;border-bottom:#000 1px solid!important}.tr.cbi-section-table-titles.named::before,.tr[data-title]::before{background-color:#252526}#cbi-wireless>#wifi_assoclist_table>.tr:nth-child(2),.cbi-section-table-row::before,.tr>.td,.tr>.th,tr>td,tr>th{border-top:0}.cbi-rowstyle-2{background-color:#1e1e1e}.cbi-rowstyle-1{background-color:#252526}.cbi-rowstyle-2 .cbi-button-down,.cbi-rowstyle-2 .cbi-button-up,body:not(.Interfaces) .cbi-rowstyle-2:first-child{background-color:#666!important}.cbi-section>h3:first-child,.panel-title,h3{color:#ccc}h4{backLine truncated
.modal>pre,.modal>textarea{color: #ccc}
.login-page.defwallpaper .login-container{background-color: rgb(136 136 136 / 14%);backdrop-filter: blur(0);margin:0 auto;}
.defwallpaper.defwallpaper .main-bg img{object-position: -99999px -99999px;opacity: 0;}