mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-11-04 16:53:56 +08:00
4425 lines
115 KiB
CSS
4425 lines
115 KiB
CSS
/**
|
|
* Luxe is a HTML5 theme for LuCI. It is based on luci-theme-material
|
|
*
|
|
* INDO-WRT ( Internet Networking Of DD-WRT & Openwrt )
|
|
*
|
|
* luci-theme-alpha
|
|
* derisamedia
|
|
*
|
|
* luci-theme-luxe
|
|
* Copyright 2026 xidz_x
|
|
*
|
|
* luci-theme-material
|
|
* Copyright 2015 Lutty Yang <lutty@wcan.in>
|
|
*
|
|
* Licensed to the public under the Apache License 2.0
|
|
*/
|
|
|
|
@import url("luxe.css");
|
|
|
|
@font-face {
|
|
font-family: 'Nunito';
|
|
src: url('../fonts/nunito-400.woff2') format('woff2'),
|
|
url('../fonts/nunito-400.woff') format('woff');
|
|
font-weight: 400;
|
|
font-style: normal;
|
|
font-display: block;
|
|
}
|
|
@font-face {
|
|
font-family: 'Nunito';
|
|
src: url('../fonts/nunito-500.woff2') format('woff2'),
|
|
url('../fonts/nunito-500.woff') format('woff');
|
|
font-weight: 500;
|
|
font-style: normal;
|
|
font-display: block;
|
|
}
|
|
* {
|
|
box-sizing: border-box;
|
|
margin: 0;
|
|
padding: 0;
|
|
-webkit-tap-highlight-color: transparent;
|
|
}
|
|
html {
|
|
overflow-y: hidden;
|
|
scroll-behavior: smooth;
|
|
}
|
|
html,
|
|
body {
|
|
font-family: 'Nunito', sans-serif;
|
|
font-weight: 400;
|
|
height: 100%;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
body {
|
|
font-size: 0.9rem;
|
|
line-height: 1.4;
|
|
background-color: var(--bg);
|
|
color: var(--textColor);
|
|
scroll-behavior: smooth;
|
|
}
|
|
::-webkit-scrollbar,
|
|
*::-webkit-scrollbar {
|
|
width: 6px;
|
|
height: 6px;
|
|
}
|
|
::-webkit-scrollbar-track,
|
|
::-webkit-scrollbar-corner,
|
|
*::-webkit-scrollbar-track,
|
|
*::-webkit-scrollbar-corner {
|
|
background-color: transparent !important;
|
|
}
|
|
::-webkit-scrollbar-thumb,
|
|
*::-webkit-scrollbar-thumb {
|
|
background-color: var(--activeColor) !important;
|
|
border-radius: 10px !important;
|
|
border: 1px solid transparent;
|
|
background-clip: padding-box;
|
|
}
|
|
.main-left::-webkit-scrollbar-track {
|
|
background-color: transparent !important;
|
|
margin: 20px 0 !important;
|
|
}
|
|
.h1,
|
|
.h2,
|
|
.h3,
|
|
.h4,
|
|
.h5,
|
|
.h6,
|
|
h1,
|
|
h2,
|
|
h3,
|
|
h4,
|
|
h5,
|
|
h6 {
|
|
font-family: inherit;
|
|
font-weight: 500;
|
|
line-height: 1.25 !important;
|
|
color: inherit;
|
|
}
|
|
h1 {
|
|
font-size: 1.85rem;
|
|
padding-bottom: 5px;
|
|
border-bottom: none;
|
|
}
|
|
h2 {
|
|
font-size: 1.65rem;
|
|
padding-bottom: 5px;
|
|
border-bottom: none;
|
|
margin: 0.5rem 0 0;
|
|
text-align: center;
|
|
opacity: 0;
|
|
animation: slide-in-right 0.6s cubic-bezier(0.25, 1, 0.5, 1) forwards;
|
|
}
|
|
h3 {
|
|
font-size: 1.35rem;
|
|
padding-bottom: 5px;
|
|
margin: 0.5rem 0 0;
|
|
}
|
|
h4 {
|
|
font-size: 1.15rem;
|
|
padding-bottom: 5px;
|
|
margin: 0.5rem 0 0;
|
|
}
|
|
h5 {
|
|
font-size: 1rem;
|
|
padding-bottom: 5px;
|
|
margin: 0.5rem 0 0;
|
|
}
|
|
pre {
|
|
overflow: auto;
|
|
}
|
|
code {
|
|
font-size: 0.95rem;
|
|
font-size-adjust: 0.35;
|
|
color: var(--codeColor);
|
|
border-radius: 0.4rem;
|
|
background: var(--codeBg);
|
|
padding: 1px 3px;
|
|
}
|
|
abbr {
|
|
cursor: help;
|
|
text-decoration: underline;
|
|
color: var(--activeColor);
|
|
}
|
|
hr {
|
|
opacity: 0.1;
|
|
border-color: var(--cbilineColor);
|
|
margin: 1rem 0;
|
|
}
|
|
small {
|
|
font-size: 90%;
|
|
line-height: 1.5;
|
|
white-space: normal;
|
|
}
|
|
.center,
|
|
.center::before {
|
|
text-align: center !important;
|
|
}
|
|
.left,
|
|
.left::before {
|
|
text-align: left !important;
|
|
}
|
|
.right,
|
|
.right::before {
|
|
text-align: right !important;
|
|
}
|
|
.top {
|
|
align-self: flex-start !important;
|
|
vertical-align: top !important;
|
|
}
|
|
.bottom {
|
|
align-self: flex-end !important;
|
|
vertical-align: bottom !important;
|
|
}
|
|
.inline {
|
|
display: inline;
|
|
}
|
|
.nowrap:not(.td) {
|
|
white-space: nowrap;
|
|
}
|
|
.hidden,
|
|
.showSide,
|
|
[data-page^="admin-system-commands"] .panel-title,
|
|
[data-page^="command-cfg"] .mobile-hide,
|
|
[data-page^="command-cfg"] .showSide {
|
|
display: none;
|
|
}
|
|
.pull-right {
|
|
float: right;
|
|
}
|
|
.pull-left,
|
|
.cbi-page-actions .cbi-button-link:first-child {
|
|
float: left;
|
|
}
|
|
[disabled="disabled"] {
|
|
pointer-events: none;
|
|
}
|
|
header,
|
|
.main {
|
|
position: absolute;
|
|
width: 100%;
|
|
}
|
|
header {
|
|
position: fixed;
|
|
z-index: 2000;
|
|
width: 100%;
|
|
height: 4rem;
|
|
color: var(--textColor);
|
|
background: var(--sectionbgColor);
|
|
border-bottom: var(--sectionBorder);
|
|
box-shadow: var(--neo-shadow, var(--neon-shadow, var(--neox-header-shadow, var(--glaze-shadow, var(--onyx-shadow, 0 2px 5px rgba(0, 0, 0, 0.26))))));
|
|
transition: all var(--luxe-motion-normal, 220ms) var(--luxe-motion-curve, cubic-bezier(0.22, 1, 0.36, 1));
|
|
}
|
|
header > .fill {
|
|
height: 100%;
|
|
display: block;
|
|
}
|
|
header > .fill > .container {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
height: 100%;
|
|
padding: 0 1.5rem;
|
|
margin: 0;
|
|
-webkit-user-select: none;
|
|
user-select: none;
|
|
gap: 0;
|
|
}
|
|
header > .fill > .container > div:first-child {
|
|
display: flex;
|
|
align-items: center;
|
|
flex: 1 1 auto;
|
|
min-width: 0;
|
|
height: 100%;
|
|
}
|
|
header > .fill > .container > div:last-child {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-end;
|
|
flex: 0 0 auto;
|
|
min-width: 0;
|
|
height: 100%;
|
|
}
|
|
header > .fill > .container #luxe-settings-wrapper {
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
justify-content: flex-end !important;
|
|
flex: 0 0 auto !important;
|
|
margin-right: 0.6rem !important;
|
|
height: 100%;
|
|
}
|
|
header > .fill > .container #logo {
|
|
display: flex;
|
|
align-items: center;
|
|
flex-shrink: 0;
|
|
margin: 0;
|
|
}
|
|
header > .fill > .container #logo > img {
|
|
width: 10rem;
|
|
}
|
|
header > .fill > .container .brand {
|
|
font-size: 1.45rem;
|
|
font-weight: 500;
|
|
color: var(--logo_color);
|
|
text-decoration: none;
|
|
margin: 0 1.5rem;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
line-height: normal !important;
|
|
height: 100%;
|
|
}
|
|
header > .fill > .container .status {
|
|
display: flex;
|
|
align-items: center;
|
|
flex-shrink: 0;
|
|
margin: 0;
|
|
height: 100%;
|
|
}
|
|
header > .fill > .container .status > * {
|
|
margin-left: 0.1rem !important;
|
|
cursor: pointer;
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
.brand.typing::after {
|
|
content: "|";
|
|
animation: blink-caret 1.2s ease-in-out infinite;
|
|
margin-left: 4px;
|
|
font-weight: 500;
|
|
opacity: 1;
|
|
}
|
|
header > .fill > .container .brand.hostname {
|
|
display: none !important;
|
|
}
|
|
body[data-show-hostname="1"] header > .fill > .container .brand.hostname,
|
|
body.show-hostname header > .fill > .container .brand.hostname {
|
|
display: flex !important;
|
|
}
|
|
#settings-toggle {
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
height: 100%;
|
|
}
|
|
#settings-toggle svg {
|
|
display: block;
|
|
vertical-align: middle;
|
|
}
|
|
#luxe-settings-menu {
|
|
position: fixed !important;
|
|
top: 4.5rem !important;
|
|
left: 50% !important;
|
|
transform: translateX(-50%) !important;
|
|
margin: 0 !important;
|
|
z-index: 9999 !important;
|
|
}
|
|
.cfg-wrap {
|
|
position: relative;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
flex: 1;
|
|
}
|
|
.cfg-tgl {
|
|
cursor: pointer;
|
|
display: flex;
|
|
align-items: center;
|
|
color: var(--textColor);
|
|
transition: 0.2s;
|
|
}
|
|
.cfg-menu {
|
|
display: none;
|
|
position: absolute;
|
|
top: 40px;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
background: var(--sectionbgColor);
|
|
border: var(--sectionBorder);
|
|
box-shadow: var(--sectionShaddow);
|
|
border-radius: 12px;
|
|
width: 280px;
|
|
padding: 15px;
|
|
z-index: 9999;
|
|
color: var(--textColor);
|
|
text-align: left;
|
|
}
|
|
.cfg-row {
|
|
margin-bottom: 12px;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
}
|
|
.cfg-blk {
|
|
margin-bottom: 12px;
|
|
}
|
|
.cfg-lbl {
|
|
font-weight: 600;
|
|
font-size: 14px;
|
|
}
|
|
.cfg-lbl-blk {
|
|
font-weight: 600;
|
|
font-size: 14px;
|
|
display: block;
|
|
margin-bottom: 8px;
|
|
}
|
|
.theme-opt {
|
|
padding: 0.4rem 0.8rem;
|
|
cursor: pointer;
|
|
color: var(--textColor);
|
|
border-radius: 4px;
|
|
transition: background 0.2s, color 0.2s;
|
|
}
|
|
.theme-opt:hover {
|
|
background: var(--focusColor);
|
|
color: var(--activeColor);
|
|
}
|
|
.main {
|
|
position: relative;
|
|
top: 4rem;
|
|
bottom: 0;
|
|
overflow-y: auto;
|
|
height: calc(100% - 4rem);
|
|
scroll-behavior: smooth;
|
|
}
|
|
.main-left {
|
|
position: fixed;
|
|
z-index: 1000;
|
|
top: calc(4rem + 8px);
|
|
left: 15px;
|
|
float: left;
|
|
overflow-x: hidden;
|
|
overflow-y: auto;
|
|
width: 250px;
|
|
max-width: calc(100vw - 30px);
|
|
height: calc(100% - 4rem - 16px);
|
|
background-color: var(--mainleftbgColor);
|
|
border-radius: 20px;
|
|
box-shadow: var(--neox-side-shadow, var(--neo-shadow, var(--neon-shadow, var(--glaze-shadow, var(--onyx-shadow, 0 10px 30px rgba(0, 0, 0, 0.25))))));
|
|
transition: width var(--luxe-motion-normal, 400ms) var(--luxe-motion-curve, cubic-bezier(0.25, 1, 0.5, 1)), visibility 400ms ease, opacity 400ms ease, transform 400ms var(--luxe-motion-curve, cubic-bezier(0.25, 1, 0.5, 1)), background-color var(--luxe-motion-normal, 220ms);
|
|
scroll-behavior: smooth;
|
|
}
|
|
.main-right {
|
|
float: right;
|
|
width: calc(100% - 250px);
|
|
height: 100%;
|
|
background-color: transparent;
|
|
}
|
|
#maincontent {
|
|
opacity: 0;
|
|
animation: smooth-open 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
|
|
}
|
|
/* Main content column.
|
|
* max-width keeps the layout comfortable and "not too big" on large / ultra-wide
|
|
* screens, while margin: auto centres it in the space left of the fixed sidebar.
|
|
* Side padding provides the gutter (replaces the old fixed 2rem side margins) so
|
|
* the width cap and centring stay consistent across every breakpoint. */
|
|
#maincontent > .container {
|
|
max-width: 1600px;
|
|
margin: 0 auto 5rem;
|
|
padding: 0 2rem;
|
|
}
|
|
.main-right > #maincontent {
|
|
background-color: transparent;
|
|
}
|
|
footer {
|
|
font-size: 0.8rem;
|
|
overflow: hidden;
|
|
text-align: right;
|
|
white-space: nowrap;
|
|
color: var(--textColor);
|
|
opacity: 0.6;
|
|
padding: 1rem;
|
|
}
|
|
footer > a {
|
|
text-decoration: none;
|
|
color: var(--activeColor);
|
|
}
|
|
.main > .main-left > .nav {
|
|
margin-top: 0.5rem;
|
|
}
|
|
.main > .main-left > .nav > li {
|
|
cursor: pointer;
|
|
-webkit-user-select: none;
|
|
-moz-user-select: none;
|
|
-ms-user-select: none;
|
|
user-select: none;
|
|
}
|
|
.main > .main-left > .nav > li > a {
|
|
display: block;
|
|
color: var(--textColor);
|
|
user-select: none;
|
|
-webkit-user-drag: none;
|
|
padding: 0.6rem 1rem 0.6rem 1.5rem;
|
|
margin: 0.2rem 0.8rem;
|
|
border-radius: 0.6rem;
|
|
transition: all var(--luxe-motion-fast, 150ms);
|
|
}
|
|
.main > .main-left > .nav > li:last-child {
|
|
margin-top: 1.5rem;
|
|
padding: 0;
|
|
display: block;
|
|
}
|
|
.main > .main-left > .nav > li:last-child > a {
|
|
display: block;
|
|
color: var(--textColor);
|
|
padding: 0.6rem 1rem 0.6rem 2.5rem;
|
|
margin: 0.2rem 0.8rem;
|
|
border-radius: 0.6rem;
|
|
position: relative;
|
|
text-decoration: none;
|
|
transition: all var(--luxe-motion-fast, 150ms);
|
|
}
|
|
.main > .main-left > .nav > li:last-child > a::before {
|
|
position: absolute;
|
|
left: 0.8rem;
|
|
top: 50%;
|
|
margin-top: -12px;
|
|
width: 24px;
|
|
height: 24px;
|
|
content: url('../images/logout.svg');
|
|
}
|
|
.main > .main-left > .nav > li.slide.active,
|
|
.main > .main-left > .nav > li.slide:hover {
|
|
background-color: transparent !important;
|
|
margin: 0 !important;
|
|
}
|
|
.main > .main-left > .nav > .slide {
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
.main > .main-left > .nav > .slide > ul {
|
|
height: 0;
|
|
overflow: hidden;
|
|
display: block;
|
|
margin: 0;
|
|
}
|
|
.main > .main-left > .nav > .slide > .menu,
|
|
.main > .main-left > .nav > li > [data-title] {
|
|
font-size: 1.15rem;
|
|
font-weight: 500;
|
|
display: flex;
|
|
align-items: center;
|
|
width: auto;
|
|
text-decoration: none;
|
|
color: var(--textColor);
|
|
padding: 0.6rem 1rem 0.6rem 1.5rem;
|
|
margin: 0.2rem 0.8rem;
|
|
border-radius: 0.6rem;
|
|
white-space: normal;
|
|
word-break: break-word;
|
|
line-height: 1.25;
|
|
user-select: none;
|
|
-webkit-user-drag: none;
|
|
transition: all var(--luxe-motion-fast, 150ms);
|
|
}
|
|
.main > .main-left > .nav > .slide > .menu::before {
|
|
display: none !important;
|
|
}
|
|
.main > .main-left[style*="overflow: hidden"] > .nav > .slide > .menu::before {
|
|
display: none;
|
|
}
|
|
.main > .main-left > .nav > .slide > .slide-menu {
|
|
margin-left: 1.8rem;
|
|
border-left: 2px solid var(--cbilineColor);
|
|
padding-left: 0.4rem;
|
|
margin-top: 0.2rem;
|
|
margin-bottom: 0.2rem;
|
|
}
|
|
.main > .main-left > .nav > .slide > .slide-menu > li {
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
.main > .main-left > .nav > .slide > .slide-menu > li > a {
|
|
display: block;
|
|
white-space: normal;
|
|
word-break: break-word;
|
|
text-decoration: none;
|
|
padding: 0.45rem 1rem;
|
|
margin: 0.1rem 0.8rem 0.1rem 0;
|
|
border-radius: 0.6rem;
|
|
line-height: 1.25;
|
|
color: var(--textColor);
|
|
transition: all var(--luxe-motion-fast, 150ms);
|
|
}
|
|
.main > .main-left > .nav > li.active > a,
|
|
.main > .main-left > .nav > .slide.active > .menu,
|
|
.main > .main-left > .nav > .slide > .slide-menu > li.active > a,
|
|
.main > .main-left > .nav > .slide > .slide-menu > .active > a,
|
|
.ifacebox-head.active {
|
|
background-color: var(--activeColor) !important;
|
|
color: var(--textColor) !important;
|
|
box-shadow: none !important;
|
|
opacity: 1 !important;
|
|
}
|
|
.main > .main-left > .nav > li:not(.active) > a:hover,
|
|
.main > .main-left > .nav > .slide:not(.active) > .menu:hover,
|
|
.main > .main-left > .nav > .slide > .slide-menu > li:not(.active) > a:hover {
|
|
background-color: var(--focusColor) !important;
|
|
color: var(--textColor) !important;
|
|
}
|
|
.main > .main-left > .nav > .slide > .menu,
|
|
.main > .main-left > .nav > .slide > .slide-menu > li,
|
|
.main > .main-left > .nav > li:last-child {
|
|
position: relative;
|
|
overflow: hidden;
|
|
transform: translate3d(0, 0, 0);
|
|
}
|
|
.main > .main-left > .nav > .slide > .menu::after,
|
|
.main > .main-left > .nav > .slide > .slide-menu > li > a::after,
|
|
.main > .main-left > .nav > li > a::after,
|
|
.main > .main-left > .nav > li:last-child::after {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
display: block;
|
|
width: 100%;
|
|
height: 100%;
|
|
content: "";
|
|
transition: transform 0.5s, opacity 1s;
|
|
transform: scale(10, 10);
|
|
pointer-events: none;
|
|
opacity: 0;
|
|
background-image: radial-gradient(circle, var(--activeColor) 10%, transparent 10.01%);
|
|
background-repeat: no-repeat;
|
|
background-position: 50%;
|
|
}
|
|
.main > .main-left > .nav > .slide > .menu:active::after,
|
|
.main > .main-left > .nav > .slide > .slide-menu > li > a:active::after,
|
|
.main > .main-left > .nav > li > a:active::after,
|
|
.main > .main-left > .nav > li:last-child:active::after {
|
|
transition: 0s;
|
|
transform: scale(0, 0);
|
|
opacity: 0.2;
|
|
}
|
|
#modal_overlay {
|
|
position: fixed;
|
|
z-index: 2001;
|
|
top: 3vh;
|
|
right: 10000px;
|
|
bottom: 0;
|
|
left: -10000px;
|
|
overflow-y: scroll;
|
|
transition: opacity 0.125s ease-in;
|
|
opacity: 0;
|
|
background: rgba(0, 0, 0, 0.7);
|
|
-webkit-overflow-scrolling: touch;
|
|
}
|
|
body.modal-overlay-active {
|
|
overflow: hidden;
|
|
height: 100vh;
|
|
}
|
|
body.modal-overlay-active #modal_overlay {
|
|
right: 0;
|
|
left: 0;
|
|
opacity: 1;
|
|
}
|
|
.modal {
|
|
display: flex;
|
|
align-items: center;
|
|
flex-wrap: wrap;
|
|
width: 90%;
|
|
min-width: 270px;
|
|
max-width: 600px;
|
|
min-height: 32px;
|
|
border-radius: var(--nav-border-radius, 1rem) !important;
|
|
background: var(--modelBackground);
|
|
color: var(--textColor);
|
|
box-shadow: var(--sectionShaddow);
|
|
border: var(--sectionBorder);
|
|
margin: 2vh auto;
|
|
padding: 1em;
|
|
}
|
|
.modal.cbi-modal {
|
|
max-width: 90%;
|
|
max-height: none;
|
|
}
|
|
.modal > * {
|
|
line-height: normal;
|
|
flex-basis: 100%;
|
|
margin-bottom: 0.5em;
|
|
max-width: 100%;
|
|
}
|
|
.modal > h4 {
|
|
margin: 0.5em 0;
|
|
}
|
|
.modal ul {
|
|
margin-left: 2.2em;
|
|
word-break: break-word;
|
|
}
|
|
.modal li {
|
|
list-style-type: square;
|
|
}
|
|
.modal p {
|
|
padding-left: 0.25rem;
|
|
word-break: break-word;
|
|
}
|
|
.modal > pre,
|
|
.modal > textarea {
|
|
font-size: 1.05rem;
|
|
font-size-adjust: 0.35;
|
|
overflow: auto;
|
|
margin-bottom: 0.5em;
|
|
cursor: auto;
|
|
white-space: pre-wrap;
|
|
color: var(--codeColor);
|
|
outline: none;
|
|
background-color: var(--codeBg);
|
|
border: var(--inputBorder);
|
|
padding: 8.5px;
|
|
border-radius: 0.6rem;
|
|
}
|
|
.modal label.btn {
|
|
display: flex;
|
|
align-items: center;
|
|
white-space: normal;
|
|
text-align: left;
|
|
text-transform: none;
|
|
padding-bottom: 0.2rem;
|
|
padding-top: 0.2rem;
|
|
}
|
|
.modal .button-row {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
}
|
|
.modal .button-row > :not(:last-child) {
|
|
margin-right: 0.5em;
|
|
}
|
|
.modal .button-row > :first-child {
|
|
margin-right: auto;
|
|
}
|
|
.darkMask {
|
|
position: fixed;
|
|
z-index: 999;
|
|
width: 100%;
|
|
height: 100%;
|
|
content: "";
|
|
background-color: rgba(0, 0, 0, 0.56);
|
|
transition: opacity 400ms, visibility 400ms;
|
|
visibility: hidden;
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
}
|
|
.main > .loading,
|
|
body > .spinning:not(.btn):not(.cbi-button),
|
|
.main > .spinning:not(.btn):not(.cbi-button),
|
|
#view > .spinning:not(.btn):not(.cbi-button),
|
|
#maincontent > .container > .spinning:not(.btn):not(.cbi-button),
|
|
#maincontent > .alert-message.spinning:not(.btn):not(.cbi-button),
|
|
.main-right > .spinning:not(.btn):not(.cbi-button) {
|
|
position: fixed !important;
|
|
z-index: 10000 !important;
|
|
top: 0 !important;
|
|
left: 0 !important;
|
|
bottom: 0 !important;
|
|
right: 0 !important;
|
|
width: 100vw !important;
|
|
height: 100vh !important;
|
|
pointer-events: none;
|
|
background-color: var(--modelBackground) !important;
|
|
opacity: 0.85;
|
|
transition: visibility 400ms, opacity 400ms;
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
justify-content: center !important;
|
|
font-size: 0 !important;
|
|
color: transparent !important;
|
|
box-shadow: none !important;
|
|
border-radius: 0 !important;
|
|
margin: 0 !important;
|
|
padding: 0 !important;
|
|
max-width: none !important;
|
|
}
|
|
body:has(.spinning:not(.btn):not(.cbi-button)) #maincontent,
|
|
body:has(.spinning:not(.btn):not(.cbi-button)) .main-right,
|
|
body:has(.spinning:not(.btn):not(.cbi-button)) .container {
|
|
transform: none !important;
|
|
animation: none !important;
|
|
}
|
|
.main > .loading > span {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.main > .loading > span > .loader {
|
|
width: 84px;
|
|
height: 84px;
|
|
display: inline-block;
|
|
position: relative;
|
|
margin: 0;
|
|
}
|
|
.main > .loading > span > .loader::before,
|
|
.main > .loading > span > .loader::after,
|
|
body > .spinning:not(.btn):not(.cbi-button)::before,
|
|
body > .spinning:not(.btn):not(.cbi-button)::after,
|
|
.main > .spinning:not(.btn):not(.cbi-button)::before,
|
|
.main > .spinning:not(.btn):not(.cbi-button)::after,
|
|
#view > .spinning:not(.btn):not(.cbi-button)::before,
|
|
#view > .spinning:not(.btn):not(.cbi-button)::after,
|
|
#maincontent > .container > .spinning:not(.btn):not(.cbi-button)::before,
|
|
#maincontent > .container > .spinning:not(.btn):not(.cbi-button)::after,
|
|
#maincontent > .alert-message.spinning:not(.btn):not(.cbi-button)::before,
|
|
#maincontent > .alert-message.spinning:not(.btn):not(.cbi-button)::after,
|
|
.main-right > .spinning:not(.btn):not(.cbi-button)::before,
|
|
.main-right > .spinning:not(.btn):not(.cbi-button)::before {
|
|
content: "" !important;
|
|
box-sizing: border-box !important;
|
|
width: 84px !important;
|
|
height: 84px !important;
|
|
position: absolute !important;
|
|
top: 50% !important;
|
|
left: 50% !important;
|
|
margin-top: -42px !important;
|
|
margin-left: -42px !important;
|
|
border-radius: 0 !important;
|
|
background: transparent !important;
|
|
}
|
|
.main > .loading > span > .loader::before,
|
|
body > .spinning:not(.btn):not(.cbi-button)::before,
|
|
.main > .spinning:not(.btn):not(.cbi-button)::before,
|
|
#view > .spinning:not(.btn):not(.cbi-button)::before,
|
|
#maincontent > .container > .spinning:not(.btn):not(.cbi-button)::before,
|
|
#maincontent > .alert-message.spinning:not(.btn):not(.cbi-button)::before,
|
|
.main-right > .spinning:not(.btn):not(.cbi-button)::before {
|
|
border: 6px solid var(--activeColor) !important;
|
|
animation: spin-blue 2s infinite linear !important;
|
|
}
|
|
.main > .loading > span > .loader::after,
|
|
body > .spinning:not(.btn):not(.cbi-button)::after,
|
|
.main > .spinning:not(.btn):not(.cbi-button)::after,
|
|
#view > .spinning:not(.btn):not(.cbi-button)::after,
|
|
#maincontent > .container > .spinning:not(.btn):not(.cbi-button)::after,
|
|
#maincontent > .alert-message.spinning:not(.btn):not(.cbi-button)::after,
|
|
.main-right > .spinning:not(.btn):not(.cbi-button)::after {
|
|
border: 6px solid var(--btnWarning) !important;
|
|
animation: spin-orange 2s infinite linear !important;
|
|
}
|
|
.spinning {
|
|
position: relative;
|
|
padding-left: 32px !important;
|
|
}
|
|
.spinning::before {
|
|
position: absolute;
|
|
top: 0;
|
|
bottom: 0;
|
|
left: 0.2em;
|
|
width: 32px;
|
|
content: "";
|
|
background: url('../images/loading.gif') no-repeat center;
|
|
background-size: 16px;
|
|
}
|
|
.btn,
|
|
button,
|
|
select,
|
|
input:not([type="checkbox"]):not([type="radio"]),
|
|
.cbi-dropdown {
|
|
min-height: 1.8rem;
|
|
color: var(--inputtextColor);
|
|
border: var(--inputBorder);
|
|
border-radius: var(--nav-border-radius, 0.6rem);
|
|
outline: none;
|
|
background-color: var(--inputbgColor);
|
|
background-image: none;
|
|
box-shadow: none;
|
|
align-items: center;
|
|
padding: 0 0.6rem;
|
|
transition: all var(--luxe-motion-normal, 220ms) var(--luxe-motion-curve, cubic-bezier(0.22, 1, 0.36, 1));
|
|
}
|
|
select,
|
|
.cbi-dropdown {
|
|
width: inherit;
|
|
cursor: default;
|
|
}
|
|
select:not([multiple="multiple"]):focus,
|
|
input:not(.cbi-button):focus,
|
|
.cbi-dropdown:focus,
|
|
.cbi-dropdown[open] {
|
|
border-color: var(--activeColor);
|
|
background-color: var(--inputbgColor);
|
|
box-shadow: 0 0 0 2px var(--focusColor);
|
|
}
|
|
select[multiple="multiple"] {
|
|
height: auto;
|
|
}
|
|
input[type="checkbox"] {
|
|
-webkit-appearance: none;
|
|
-moz-appearance: none;
|
|
appearance: none;
|
|
width: 42px !important;
|
|
height: 24px !important;
|
|
background-color: var(--badgebgColor);
|
|
border-radius: 24px !important;
|
|
position: relative;
|
|
cursor: pointer;
|
|
outline: 0;
|
|
border: var(--badgeBorder) !important;
|
|
transition: background-color var(--luxe-motion-fast, 150ms) var(--luxe-motion-curve, cubic-bezier(0.22, 1, 0.36, 1));
|
|
margin: 0 0.5rem 0 0;
|
|
vertical-align: middle;
|
|
}
|
|
input[type="checkbox"]::after {
|
|
content: "";
|
|
position: absolute;
|
|
top: 2px;
|
|
left: 2px;
|
|
width: 20px;
|
|
height: 20px;
|
|
background-color: var(--textColor);
|
|
border-radius: 50%;
|
|
transition: transform var(--luxe-motion-fast, 150ms) var(--luxe-motion-curve, cubic-bezier(0.22, 1, 0.36, 1));
|
|
}
|
|
input[type="checkbox"]:checked {
|
|
background-color: var(--activeColor);
|
|
}
|
|
input[type="checkbox"]:checked::after {
|
|
transform: translateX(18px);
|
|
background-color: var(--bttextColor);
|
|
}
|
|
label > input[type="checkbox"],
|
|
label > input[type="radio"] {
|
|
margin-right: 0.8rem;
|
|
}
|
|
label[data-index][data-depends] {
|
|
padding-right: 2em;
|
|
}
|
|
input[name="ping"],
|
|
input[name="traceroute"],
|
|
input[name="nslookup"] {
|
|
width: 80%;
|
|
}
|
|
textarea,
|
|
.cbi-input-textarea {
|
|
font-family: monospace;
|
|
width: 100%;
|
|
min-height: 14rem;
|
|
color: var(--inputtextColor);
|
|
padding: 0.8rem;
|
|
border-radius: 0.6rem !important;
|
|
border: var(--inputBorder) !important;
|
|
background-color: var(--inputbgColor);
|
|
outline: none;
|
|
transition: all var(--luxe-motion-normal, 220ms) ease;
|
|
}
|
|
textarea:focus,
|
|
.cbi-input-textarea:focus {
|
|
border-color: var(--activeColor) !important;
|
|
box-shadow: 0 0 0 2px var(--focusColor);
|
|
}
|
|
.cbi-input-invalid {
|
|
color: var(--btnDanger);
|
|
border-bottom-color: var(--btnDanger);
|
|
}
|
|
input.cbi-input-password,
|
|
.cbi-value-field input[type="password"],
|
|
.cbi-value-field input[name^="pw"] {
|
|
width: calc(100% - 2.5rem) !important;
|
|
display: inline-block !important;
|
|
vertical-align: middle !important;
|
|
}
|
|
.cbi-value-field .cbi-input-checkbox,
|
|
.cbi-value-field .cbi-input-radio {
|
|
margin-top: 0.1rem;
|
|
}
|
|
.cbi-value-field .cbi-input-select {
|
|
min-width: 25rem;
|
|
}
|
|
.luxe-switch {
|
|
position: relative;
|
|
display: inline-block;
|
|
width: 40px;
|
|
height: 20px;
|
|
}
|
|
.luxe-switch input {
|
|
opacity: 0;
|
|
width: 0;
|
|
height: 0;
|
|
}
|
|
.luxe-slider {
|
|
position: absolute;
|
|
cursor: pointer;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background-color: var(--badgebgColor, #ccc);
|
|
transition: 0.4s;
|
|
border-radius: 20px;
|
|
border: var(--inputBorder);
|
|
}
|
|
.luxe-slider:before {
|
|
position: absolute;
|
|
content: "";
|
|
height: 14px;
|
|
width: 14px;
|
|
left: 2px;
|
|
bottom: 2px;
|
|
background-color: var(--textColor, #fff);
|
|
transition: 0.4s;
|
|
border-radius: 50%;
|
|
}
|
|
.luxe-switch input:checked + .luxe-slider {
|
|
background-color: var(--activeColor, #ff9383);
|
|
border-color: var(--activeColor, #ff9383);
|
|
}
|
|
.luxe-switch input:checked + .luxe-slider:before {
|
|
transform: translateX(20px);
|
|
background-color: var(--bttextColor);
|
|
}
|
|
/* Base button shape shared by every LuCI control (form actions, opkg row
|
|
* actions, modal buttons, etc). A soft, low-opacity shadow is layered on top
|
|
* so buttons read as gently "lifted" (mewah/lembut) instead of flat, while
|
|
* still staying light/ringan since the shadow is subtle and inherited from
|
|
* the same token used for section cards. Variant themes (neo-brutalism,
|
|
* glassmorphism, ...) override this with !important where they need a
|
|
* different shadow language, so this stays a safe, theme-wide default. */
|
|
.btn,
|
|
.cbi-button,
|
|
.item::after {
|
|
font-size: 0.95rem;
|
|
display: inline-block;
|
|
width: auto !important;
|
|
cursor: pointer;
|
|
-webkit-user-select: none;
|
|
-moz-user-select: none;
|
|
-ms-user-select: none;
|
|
user-select: none;
|
|
transition: all var(--luxe-motion-fast, 150ms) var(--luxe-motion-curve, ease-in-out);
|
|
text-align: center;
|
|
vertical-align: middle;
|
|
white-space: nowrap;
|
|
text-decoration: none;
|
|
text-transform: uppercase;
|
|
color: var(--bttextColor);
|
|
border: 1px solid transparent;
|
|
border-radius: var(--nav-border-radius, 0.6rem);
|
|
background-color: var(--btnSecondary);
|
|
background-image: none;
|
|
-webkit-appearance: none;
|
|
-ms-touch-action: manipulation;
|
|
touch-action: manipulation;
|
|
padding: 0.4rem 1.3rem;
|
|
font-weight: 500;
|
|
box-shadow: var(--sectionShaddow, 0 2px 8px rgba(0, 0, 0, 0.08));
|
|
}
|
|
.cbi-button-up,
|
|
.cbi-button-down {
|
|
font-size: 1.05rem;
|
|
display: inline-block;
|
|
min-width: 0;
|
|
color: transparent !important;
|
|
background: url('../images/arrow.svg') no-repeat center;
|
|
background-size: 12px 20px;
|
|
padding: 0.15rem 0.3rem;
|
|
}
|
|
.cbi-button-up {
|
|
transform: scaleY(-1);
|
|
}
|
|
.cbi-button:not(select) {
|
|
-webkit-appearance: none !important;
|
|
}
|
|
.cbi-button + .cbi-button,
|
|
.btn + .btn {
|
|
margin-left: 1.1rem;
|
|
}
|
|
.cbi-page-actions {
|
|
padding-top: 1.5rem;
|
|
padding-bottom: 5rem;
|
|
text-align: right;
|
|
}
|
|
.cbi-page-actions > form[method="post"] {
|
|
display: inline-block;
|
|
}
|
|
.cbi-page-actions > .cbi-button {
|
|
margin-left: 1.2rem;
|
|
}
|
|
.btn:hover,
|
|
.btn:focus,
|
|
.btn:active,
|
|
.cbi-button:hover,
|
|
.cbi-button:focus,
|
|
.cbi-button:active,
|
|
.item:hover::after,
|
|
.item:focus::after,
|
|
.item:active::after,
|
|
.cbi-page-actions .cbi-button-apply + .cbi-button-save:hover,
|
|
.cbi-page-actions .cbi-button-apply + .cbi-button-save:focus,
|
|
.cbi-page-actions .cbi-button-apply + .cbi-button-save:active {
|
|
text-decoration: none;
|
|
outline: 0;
|
|
}
|
|
.btn:disabled,
|
|
.cbi-button:disabled {
|
|
cursor: not-allowed;
|
|
pointer-events: none;
|
|
opacity: 0.5;
|
|
box-shadow: none !important;
|
|
}
|
|
/* Gentle, smooth lift on hover and a soft press on click/active — a light-touch
|
|
* "mewah" (premium) micro-interaction that stays subtle (ringan/lembut) rather
|
|
* than a hard, bouncy animation. */
|
|
.btn:hover,
|
|
.cbi-button:hover {
|
|
box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
|
|
transform: translateY(-1px);
|
|
}
|
|
.btn:active,
|
|
.cbi-button:active {
|
|
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
|
|
transform: translateY(0);
|
|
}
|
|
.alert-message [class="btn"],
|
|
.modal div[class="btn"],
|
|
.cbi-button-find,
|
|
.cbi-button-link,
|
|
.cbi-button-up,
|
|
.cbi-button-down,
|
|
.cbi-button-neutral,
|
|
.cbi-button[name="zero"],
|
|
.cbi-button[name="restart"],
|
|
.cbi-button[onclick="hide_empty(this)"] {
|
|
background-color: var(--btnSecondary);
|
|
color: var(--bttextColor);
|
|
}
|
|
.btn.primary,
|
|
.cbi-page-actions .cbi-button-save,
|
|
.cbi-page-actions .cbi-button-apply + .cbi-button-save,
|
|
.cbi-button-add,
|
|
.cbi-button-save,
|
|
.cbi-button-positive,
|
|
.cbi-button-link,
|
|
.cbi-button[value="Enable"],
|
|
.cbi-button[value="Scan"],
|
|
.cbi-button[value^="Back"],
|
|
.cbi-button-neutral[onclick="handleConfig(event)"] {
|
|
background-color: var(--btnPrimary);
|
|
color: var(--bttextColor);
|
|
}
|
|
.cbi-page-actions .cbi-button-apply,
|
|
.cbi-section-actions .cbi-button-edit,
|
|
.cbi-button-edit,
|
|
.cbi-button-apply,
|
|
.cbi-button-reload,
|
|
.cbi-button-action,
|
|
.cbi-button[value="Submit"],
|
|
.cbi-button[value="Upload"],
|
|
.cbi-button[value$="Apply"],
|
|
.cbi-button[onclick="addKey(event)"] {
|
|
background-color: var(--btnInfo);
|
|
color: var(--bttextColor);
|
|
}
|
|
.cbi-section-remove > .cbi-button,
|
|
.cbi-button-remove,
|
|
.cbi-button-reset,
|
|
.cbi-button-negative,
|
|
.cbi-button[value="Stop"],
|
|
.cbi-button[value="Kill"],
|
|
.cbi-button[onclick="reboot(this)"],
|
|
.cbi-button-neutral[value="Restart"] {
|
|
background-color: var(--btnDanger);
|
|
color: var(--bttextColor);
|
|
}
|
|
.btn[value="Dismiss"],
|
|
.cbi-button[value="Terminate"],
|
|
.cbi-button[value="Reset"],
|
|
.cbi-button[value="Disabled"],
|
|
.cbi-button[onclick^="iface_reconnect"],
|
|
.cbi-button[onclick="handleReset(event)"],
|
|
.cbi-button-neutral[value="Disable"] {
|
|
background-color: var(--btnWarning);
|
|
color: var(--bttextColor);
|
|
}
|
|
.cbi-button-success,
|
|
.cbi-button-download,
|
|
.cbi-button[name="backup"],
|
|
.cbi-button[value="Download"],
|
|
.cbi-button[value="Save mtdblock"] {
|
|
background-color: var(--btnSuccess);
|
|
color: var(--bttextColor);
|
|
}
|
|
.btn:hover,
|
|
.cbi-button:hover,
|
|
.alert-message [class="btn"]:hover,
|
|
.modal div[class="btn"]:hover,
|
|
.cbi-button-find:hover,
|
|
.cbi-button-link:hover,
|
|
.cbi-button-up:hover,
|
|
.cbi-button-down:hover,
|
|
.cbi-button-neutral:hover,
|
|
.cbi-button[name="zero"]:hover,
|
|
.cbi-button[name="restart"]:hover,
|
|
.cbi-button[onclick="hide_empty(this)"]:hover {
|
|
background-color: var(--btnSecondaryHover);
|
|
}
|
|
.btn.primary:hover,
|
|
.cbi-page-actions .cbi-button-save:hover,
|
|
.cbi-page-actions .cbi-button-apply + .cbi-button-save:hover,
|
|
.cbi-button-add:hover,
|
|
.cbi-button-save:hover,
|
|
.cbi-button-positive:hover,
|
|
.cbi-button-link:hover,
|
|
.cbi-button[value="Enable"]:hover,
|
|
.cbi-button[value="Scan"]:hover,
|
|
.cbi-button[value^="Back"]:hover,
|
|
.cbi-button-neutral[onclick="handleConfig(event)"]:hover {
|
|
background-color: var(--btnPrimaryHover);
|
|
}
|
|
.cbi-page-actions .cbi-button-apply:hover,
|
|
.cbi-section-actions .cbi-button-edit:hover,
|
|
.cbi-button-edit:hover,
|
|
.cbi-button-apply:hover,
|
|
.cbi-button-reload:hover,
|
|
.cbi-button-action:hover,
|
|
.cbi-button[value="Submit"]:hover,
|
|
.cbi-button[value="Upload"]:hover,
|
|
.cbi-button[value$="Apply"]:hover,
|
|
.cbi-button[onclick="addKey(event)"]:hover {
|
|
background-color: var(--btnInfoHover);
|
|
}
|
|
.cbi-section-remove > .cbi-button:hover,
|
|
.cbi-button-remove:hover,
|
|
.cbi-button-reset:hover,
|
|
.cbi-button-negative:hover,
|
|
.cbi-button[value="Stop"]:hover,
|
|
.cbi-button[value="Kill"]:hover,
|
|
.cbi-button[onclick="reboot(this)"]:hover,
|
|
.cbi-button-neutral[value="Restart"]:hover {
|
|
background-color: var(--btnDangerHover);
|
|
}
|
|
.btn[value="Dismiss"]:hover,
|
|
.cbi-button[value="Terminate"]:hover,
|
|
.cbi-button[value="Reset"]:hover,
|
|
.cbi-button[value="Disabled"]:hover,
|
|
.cbi-button[onclick^="iface_reconnect"]:hover,
|
|
.cbi-button[onclick="handleReset(event)"]:hover,
|
|
.cbi-button-neutral[value="Disable"]:hover {
|
|
background-color: var(--btnWarningHover);
|
|
}
|
|
.a-to-btn {
|
|
text-decoration: none;
|
|
}
|
|
.cbi-value-field .cbi-button-add {
|
|
font-weight: 700;
|
|
margin: 9px 0 4px 3px;
|
|
padding: 1px 6px;
|
|
}
|
|
.controls > * > .btn:not([aria-label$="page"]) {
|
|
flex-grow: initial !important;
|
|
margin-top: 0.1rem;
|
|
}
|
|
.controls > #pager > .btn[aria-label$="page"] {
|
|
font-size: 1.45rem;
|
|
font-weight: 700;
|
|
}
|
|
.controls > * > label {
|
|
margin-bottom: 0.2rem;
|
|
}
|
|
.control-group {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 2px;
|
|
}
|
|
.table {
|
|
position: relative;
|
|
display: table;
|
|
}
|
|
.tr {
|
|
display: table-row;
|
|
}
|
|
.thead {
|
|
display: table-header-group;
|
|
}
|
|
.tbody {
|
|
display: table-row-group;
|
|
}
|
|
.tfoot {
|
|
display: table-footer-group;
|
|
}
|
|
.td,
|
|
.th {
|
|
line-height: 1.3;
|
|
display: table-cell;
|
|
text-align: center;
|
|
vertical-align: middle;
|
|
padding: 0.6rem 0.75rem;
|
|
}
|
|
.th {
|
|
font-weight: 700;
|
|
}
|
|
.tr.placeholder {
|
|
height: 4em;
|
|
}
|
|
.tr.placeholder > .td {
|
|
line-height: 3;
|
|
position: absolute;
|
|
right: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
text-align: center !important;
|
|
background: inherit;
|
|
}
|
|
.td[width="33%"],
|
|
.td[width="33%"] ~ .td {
|
|
padding: 1.1em;
|
|
}
|
|
.table[width="33%"],
|
|
.th[width="33%"],
|
|
.td[width="33%"] {
|
|
width: 33%;
|
|
}
|
|
.table[width="100%"],
|
|
.th[width="100%"],
|
|
.td[width="100%"] {
|
|
width: 100%;
|
|
}
|
|
.col-1 {
|
|
flex: 1 1 30px !important;
|
|
}
|
|
.col-2 {
|
|
flex: 2 2 60px !important;
|
|
}
|
|
.col-3 {
|
|
flex: 3 3 90px !important;
|
|
}
|
|
.col-4 {
|
|
flex: 4 4 120px !important;
|
|
}
|
|
.col-5 {
|
|
flex: 5 5 150px !important;
|
|
}
|
|
.col-6 {
|
|
flex: 6 6 180px !important;
|
|
}
|
|
.col-7 {
|
|
flex: 7 7 210px !important;
|
|
}
|
|
.col-8 {
|
|
flex: 8 8 240px !important;
|
|
}
|
|
.col-9 {
|
|
flex: 9 9 270px !important;
|
|
}
|
|
.col-10 {
|
|
flex: 10 10 300px !important;
|
|
}
|
|
table {
|
|
border-spacing: 0;
|
|
border-collapse: collapse;
|
|
}
|
|
table,
|
|
.table {
|
|
overflow-y: hidden;
|
|
width: 100%;
|
|
border: none !important;
|
|
border-radius: 0.6rem;
|
|
box-shadow: none;
|
|
}
|
|
table > tbody > tr > td,
|
|
table > tbody > tr > th,
|
|
table > tfoot > tr > td,
|
|
table > tfoot > tr > th,
|
|
table > thead > tr > td,
|
|
table > thead > tr > th,
|
|
.table > .tbody > .tr > .td,
|
|
.table > .tbody > .tr > .th,
|
|
.table > .tfoot > .tr > .td,
|
|
.table > .tfoot > .tr > .th,
|
|
.table > .thead > .tr > .td,
|
|
.table > .thead > .tr > .th,
|
|
.table > .tr > .td.cbi-value-field,
|
|
.table > .tr > .th.cbi-section-table-cell {
|
|
padding: 0.5rem;
|
|
}
|
|
tr > td,
|
|
tr > th,
|
|
.tr > .td,
|
|
.tr > .th,
|
|
.cbi-section-table-row::before {
|
|
border: none !important;
|
|
}
|
|
table table,
|
|
.table .table,
|
|
.cbi-value-field table,
|
|
.cbi-value-field .table,
|
|
td > table > tbody > tr > td,
|
|
.td > .table > .tbody > .tr > .td,
|
|
.cbi-value-field > table > tbody > tr > td,
|
|
.cbi-value-field > .table > .tbody > .tr > .td {
|
|
border: 0;
|
|
}
|
|
.table[width="100%"] > .tr:first-child > .td {
|
|
margin: auto 0;
|
|
border-top: 0 !important;
|
|
}
|
|
.td[data-title]::before {
|
|
font-weight: 700;
|
|
display: none;
|
|
content: attr(data-title) ":\20";
|
|
text-align: left;
|
|
white-space: nowrap;
|
|
padding: 0.25rem 0;
|
|
}
|
|
.tr[data-title]::before,
|
|
.tr.cbi-section-table-titles.named::before {
|
|
font-weight: 700;
|
|
display: table-cell;
|
|
align-self: center;
|
|
flex: 1 1 5%;
|
|
content: attr(data-title) "\20";
|
|
text-align: center;
|
|
vertical-align: middle;
|
|
white-space: normal;
|
|
word-wrap: break-word;
|
|
padding: 0.25rem;
|
|
}
|
|
.tr.placeholder .td[data-title]::before {
|
|
display: none;
|
|
}
|
|
.th[data-type="button"],
|
|
.td[data-type="button"],
|
|
.th[data-type="fvalue"],
|
|
.td[data-type="fvalue"] {
|
|
flex: 1 1 2em;
|
|
text-align: center;
|
|
}
|
|
.tr.table-titles > .th,
|
|
.tr.cbi-section-table-titles > .th {
|
|
border-top: 0 !important;
|
|
}
|
|
.cbi-section,
|
|
.cbi-section-error,
|
|
#iptables,
|
|
.Firewall form,
|
|
#cbi-network > .cbi-section-node,
|
|
#cbi-wireless > .cbi-section-node,
|
|
#cbi-wireless > #wifi_assoclist_table,
|
|
[data-tab-title],
|
|
[data-page^="admin-system-admin"] .cbi-map:not(#cbi-dropbear),
|
|
[data-page="admin-system-package-manager"] #maincontent > .container {
|
|
font-family: inherit;
|
|
font-weight: 500;
|
|
font-style: normal;
|
|
line-height: normal;
|
|
min-width: inherit;
|
|
border: var(--sectionBorder);
|
|
border-radius: var(--nav-border-radius, 1rem);
|
|
background-color: var(--sectionbgColor);
|
|
box-shadow: var(--sectionShaddow);
|
|
margin: 0.5rem 0 0;
|
|
padding: 1.2rem 1.25rem;
|
|
transition: all var(--luxe-motion-normal, 220ms) ease;
|
|
}
|
|
.cbi-section > legend {
|
|
display: none !important;
|
|
}
|
|
.cbi-section > h3:first-child,
|
|
.panel-title {
|
|
font-size: 1.35rem;
|
|
line-height: 1;
|
|
display: block;
|
|
width: 100%;
|
|
padding-bottom: 0.3rem;
|
|
color: var(--textColor);
|
|
border-bottom: none;
|
|
margin: 0 0 0.2rem;
|
|
text-align: left;
|
|
opacity: 0;
|
|
animation: slide-in-right 0.6s cubic-bezier(0.25, 1, 0.5, 1) forwards;
|
|
font-weight: 500;
|
|
}
|
|
.cbi-section > h4:first-child,
|
|
.cbi-section > p:first-child,
|
|
[data-tab-title] > h3:first-child,
|
|
[data-tab-title] > h4:first-child,
|
|
[data-tab-title] > p:first-child {
|
|
padding-top: 1rem;
|
|
}
|
|
fieldset > fieldset,
|
|
.cbi-section > .cbi-section {
|
|
border: 0;
|
|
box-shadow: none;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
.cbi-modal .cbi-section,
|
|
.cbi-section .cbi-section {
|
|
box-shadow: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
background-color: transparent;
|
|
border: none;
|
|
}
|
|
.cbi-section-error {
|
|
font-weight: 700;
|
|
line-height: 1.4;
|
|
border: 1px solid var(--btnDanger);
|
|
border-radius: 0.6rem;
|
|
background-color: var(--sectionbgColor);
|
|
margin: 18px;
|
|
padding: 6px;
|
|
}
|
|
.cbi-section-error ul {
|
|
margin: 0 0 0 20px;
|
|
}
|
|
.cbi-section-error ul li {
|
|
font-weight: 700;
|
|
color: var(--btnDanger);
|
|
}
|
|
.cbi-map-descr,
|
|
.cbi-section-descr {
|
|
font-size: small;
|
|
line-height: 1.4;
|
|
color: var(--textColor);
|
|
opacity: 0.7;
|
|
padding: 0.5rem;
|
|
}
|
|
.cbi-map-descr + fieldset {
|
|
margin-top: 1rem;
|
|
}
|
|
.cbi-value {
|
|
display: inline-block;
|
|
width: 100%;
|
|
align-items: baseline;
|
|
padding: 0.45rem 1rem 0.3rem;
|
|
}
|
|
.cbi-value ul {
|
|
line-height: 1.35;
|
|
}
|
|
.cbi-value-title {
|
|
display: table-cell;
|
|
float: left;
|
|
width: 23rem;
|
|
padding-top: 0.35rem;
|
|
padding-right: 2rem;
|
|
text-align: right;
|
|
word-wrap: break-word;
|
|
font-weight: 500;
|
|
}
|
|
.cbi-value-field,
|
|
.cbi-value-description {
|
|
line-height: 1.35;
|
|
display: table-cell;
|
|
}
|
|
.cbi-value-description {
|
|
font-size: small;
|
|
padding-top: 0.4rem;
|
|
opacity: 0.5;
|
|
}
|
|
.cbi-value-field > ul > li > label {
|
|
margin-top: 0.5rem;
|
|
}
|
|
div.cbi-value var,
|
|
td.cbi-value-field var,
|
|
.td.cbi-value-field var {
|
|
font-style: italic;
|
|
color: var(--activeColor);
|
|
}
|
|
.cbi-section-table-row {
|
|
margin-bottom: 1rem;
|
|
text-align: center !important;
|
|
background: var(--sectionbgColor2);
|
|
border-radius: 0.6rem;
|
|
border: none !important;
|
|
}
|
|
.cbi-section-table-row:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
.cbi-section-table-row .td {
|
|
text-align: center !important;
|
|
}
|
|
.cbi-section-table-row > .cbi-value-field [data-dynlist] > input,
|
|
.cbi-section-table-row > .cbi-value-field input.cbi-input-password {
|
|
width: calc(100% - 1.5rem);
|
|
}
|
|
.cbi-section-table-row > .cbi-value-field .cbi-dropdown,
|
|
.cbi-section-table-row > .cbi-value-field .cbi-input-select,
|
|
.cbi-section-table-row > .cbi-value-field .cbi-input-text,
|
|
.cbi-section-table-row > .cbi-value-field .cbi-input-password {
|
|
width: 100%;
|
|
}
|
|
.cbi-section-table-row > .cbi-value-field .cbi-dropdown {
|
|
min-width: 7rem;
|
|
}
|
|
.cbi-section-table-cell {
|
|
line-height: 1.1;
|
|
align-self: flex-end;
|
|
flex: 1 1 auto;
|
|
}
|
|
.cbi-section-table .cbi-section-table-titles .cbi-section-table-cell {
|
|
width: auto !important;
|
|
}
|
|
.td.cbi-section-actions {
|
|
text-align: right !important;
|
|
vertical-align: middle;
|
|
}
|
|
.td.cbi-section-actions > * {
|
|
display: inline-flex;
|
|
}
|
|
.td.cbi-section-actions > * > *,
|
|
.td.cbi-section-actions > * > form > * {
|
|
margin: 0 8px;
|
|
}
|
|
.td.cbi-section-actions > * > form {
|
|
display: inline-flex;
|
|
margin: 0;
|
|
}
|
|
.cbi-rowstyle-2,
|
|
div > table > tbody > tr:nth-of-type(2n),
|
|
div > .table > .tr:nth-of-type(2n),
|
|
.cbi-section .cbi-section-remove:nth-of-type(2n),
|
|
.container > .cbi-section .cbi-section-node:nth-of-type(2n),
|
|
.cbi-section[id] .cbi-section-remove:nth-of-type(4n+3),
|
|
.cbi-section[id] .cbi-section-node:nth-of-type(4n+4),
|
|
.cbi-tabcontainer > .cbi-value:nth-of-type(2n),
|
|
.cbi-rowstyle-1 {
|
|
background-color: transparent !important;
|
|
}
|
|
.cbi-rowstyle-2 .cbi-button-up,
|
|
.cbi-rowstyle-2 .cbi-button-down,
|
|
body:not(.Interfaces) .cbi-rowstyle-2:first-child {
|
|
background-color: transparent !important;
|
|
}
|
|
.container > .cbi-section:first-of-type > .table[width="100%"] > .tr > .td {
|
|
padding: 0.6rem;
|
|
}
|
|
.cbi-section-remove {
|
|
padding: 0.5rem;
|
|
}
|
|
.cbi-section-create {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
margin: 0.5rem -3px;
|
|
}
|
|
.cbi-section-create > * {
|
|
margin: 0.5rem;
|
|
}
|
|
.cbi-optionals {
|
|
border-top: var(--cbilineColor);
|
|
padding: 1rem 1rem 0;
|
|
}
|
|
.tabs,
|
|
.cbi-tabmenu {
|
|
display: flex;
|
|
width: -moz-fit-content;
|
|
width: fit-content;
|
|
max-width: 100%;
|
|
flex-wrap: wrap;
|
|
background-color: var(--badgebgColor);
|
|
border-radius: var(--nav-border-radius, 0.8rem);
|
|
padding: 0.4rem;
|
|
margin: 0.5rem auto 1rem;
|
|
gap: 0.2rem;
|
|
justify-content: center;
|
|
}
|
|
body:not(.Interfaces) .tabs,
|
|
body:not(.Interfaces) .cbi-tabmenu {
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
}
|
|
.tabs > li,
|
|
.cbi-tabmenu > li {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
flex: 0 1 auto;
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
.tabs > li > a,
|
|
.cbi-tabmenu > li > a {
|
|
text-decoration: none;
|
|
color: var(--textColor);
|
|
padding: 0.5rem 1.1rem;
|
|
border-radius: 0.6rem;
|
|
font-weight: 500;
|
|
font-size: 0.8rem;
|
|
transition: all 0.3s ease;
|
|
}
|
|
.tabs > li.active > a,
|
|
.tabs > li[class~="active"] > a,
|
|
.cbi-tabmenu > li.cbi-tab-active > a,
|
|
.cbi-tabmenu > li.active > a {
|
|
background-color: var(--activeColor) !important;
|
|
color: var(--bttextColor) !important;
|
|
box-shadow: none !important;
|
|
opacity: 1 !important;
|
|
}
|
|
.tabs > li:not(.active):not([class~="active"]):hover > a,
|
|
.cbi-tabmenu > li:not(.cbi-tab-active):not(.active):hover > a {
|
|
background-color: var(--focusColor) !important;
|
|
color: var(--textColor) !important;
|
|
}
|
|
.cbi-tabmenu + .cbi-section {
|
|
margin-top: 0;
|
|
}
|
|
.cbi-modal .cbi-tabmenu {
|
|
margin-left: 0;
|
|
}
|
|
[data-tab-title] {
|
|
overflow: hidden;
|
|
height: 0;
|
|
opacity: 0;
|
|
margin: 0;
|
|
padding: 0rem 1rem !important;
|
|
}
|
|
[data-tab-active="true"] {
|
|
overflow: visible;
|
|
height: auto;
|
|
opacity: 1;
|
|
transition: opacity 0.25s ease-in;
|
|
margin: inherit !important;
|
|
}
|
|
.cbi-section-node-tabbed {
|
|
margin-top: 0;
|
|
border: var(--sectiontabBorder);
|
|
border-top: 0;
|
|
padding: 0;
|
|
border-radius: 0.6rem;
|
|
}
|
|
.cbi-dropdown {
|
|
padding: 0;
|
|
position: relative;
|
|
display: inline-flex;
|
|
box-sizing: border-box;
|
|
}
|
|
.cbi-dropdown-container {
|
|
position: relative;
|
|
}
|
|
.cbi-dropdown-container .cbi-dropdown {
|
|
min-width: 100%;
|
|
}
|
|
.cbi-dropdown[placeholder*="select"] {
|
|
max-width: 25rem;
|
|
height: auto;
|
|
margin-top: -3px;
|
|
}
|
|
.cbi-dropdown img {
|
|
max-height: 1.6em;
|
|
width: auto;
|
|
}
|
|
.cbi-dropdown > ul {
|
|
display: flex;
|
|
align-items: center;
|
|
overflow-x: hidden;
|
|
overflow-y: auto;
|
|
width: 100%;
|
|
list-style: none;
|
|
outline: 0;
|
|
margin: 0 !important;
|
|
padding: 0;
|
|
}
|
|
.cbi-dropdown > .open {
|
|
flex-basis: 15px;
|
|
}
|
|
.cbi-dropdown > .open,
|
|
.cbi-dropdown > .more {
|
|
font-size: 1.05rem;
|
|
font-weight: 900;
|
|
line-height: 2;
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex-grow: 0;
|
|
flex-shrink: 0;
|
|
justify-content: center;
|
|
cursor: default;
|
|
text-align: center;
|
|
outline: 0;
|
|
padding: 0 0.25em;
|
|
}
|
|
.cbi-dropdown.btn {
|
|
min-height: 2rem;
|
|
padding-top: 0px;
|
|
padding-bottom: 0px;
|
|
padding-right: 0px;
|
|
}
|
|
.cbi-dropdown.btn > .open {
|
|
font-size: 0.9rem;
|
|
margin: 0 5px;
|
|
padding: 0px;
|
|
}
|
|
.cbi-dropdown.btn > div {
|
|
margin: 0px;
|
|
}
|
|
.cbi-dropdown > .more,
|
|
.cbi-dropdown > ul > li[placeholder] {
|
|
font-weight: 700;
|
|
display: none;
|
|
color: var(--textColor);
|
|
opacity: 0.7;
|
|
}
|
|
.cbi-dropdown > ul > li {
|
|
display: none;
|
|
overflow: hidden;
|
|
align-items: center;
|
|
align-self: center;
|
|
flex-grow: 1;
|
|
flex-shrink: 1;
|
|
min-height: 20px;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
padding: 0.35em 0.5em;
|
|
line-height: 1.25;
|
|
}
|
|
.cbi-dropdown > ul > li[display] {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
.cbi-dropdown > ul > li[display]:not([display="0"]) {
|
|
border-left: var(--cbilineColor);
|
|
}
|
|
.cbi-dropdown[empty] > ul {
|
|
max-width: 1px;
|
|
}
|
|
.cbi-dropdown[empty] > ul > li,
|
|
.cbi-dropdown[optional][open] > ul.dropdown > li[placeholder],
|
|
.cbi-dropdown[multiple][open] > ul.dropdown > li > form {
|
|
display: block;
|
|
}
|
|
.cbi-dropdown > ul > li > form {
|
|
display: none;
|
|
pointer-events: none;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
.cbi-dropdown > ul > li img {
|
|
margin-right: 0.25em;
|
|
vertical-align: middle;
|
|
}
|
|
.cbi-dropdown > ul > li > form > input[type="checkbox"] {
|
|
height: auto;
|
|
margin: 0;
|
|
}
|
|
.cbi-dropdown > ul > li input[type="text"] {
|
|
height: 20px;
|
|
}
|
|
.cbi-dropdown > ul.preview,
|
|
.cbi-dropdown > ul > li .hide-close,
|
|
.cbi-dropdown[open] > ul.dropdown > li .hide-open {
|
|
display: none;
|
|
}
|
|
.cbi-dropdown > ul > li .hide-open,
|
|
.cbi-dropdown[open] > ul.dropdown > li .hide-close {
|
|
display: initial;
|
|
}
|
|
.cbi-dropdown[open] > ul.dropdown {
|
|
position: absolute;
|
|
z-index: 3000;
|
|
display: block;
|
|
width: max-content;
|
|
min-width: 100%;
|
|
max-width: 80vw;
|
|
max-height: 200px !important;
|
|
border: var(--sectionBorder);
|
|
background: var(--modelBackground);
|
|
box-shadow: var(--sectionShaddow);
|
|
color: var(--textColor);
|
|
border-radius: 0.6rem;
|
|
overflow-x: hidden;
|
|
overflow-y: auto;
|
|
}
|
|
.cbi-dropdown[open] > ul.dropdown > li[display],
|
|
.cbi-dropdown[open] > ul.dropdown > li,
|
|
.cbi-dropdown[multiple] > ul > li > label,
|
|
.cbi-dropdown[multiple][open] > ul.dropdown > li,
|
|
.cbi-dropdown[multiple][more] > .more,
|
|
.cbi-dropdown[multiple][empty] > .more {
|
|
display: flex;
|
|
align-items: center;
|
|
flex-grow: 1;
|
|
}
|
|
.cbi-dropdown[open] > ul.dropdown > li {
|
|
border-bottom: var(--cbilineColor);
|
|
}
|
|
.cbi-dropdown[open] > ul.dropdown > li[selected] {
|
|
background: var(--focusColor);
|
|
}
|
|
.cbi-dropdown[open] > ul.dropdown > li.focus,
|
|
.cbi-dropdown[open] > ul.dropdown > li:hover {
|
|
background: var(--focusColor);
|
|
color: var(--activeColor);
|
|
}
|
|
.cbi-dropdown[open] > ul.dropdown > li:last-child {
|
|
margin-bottom: 0;
|
|
border-bottom: 0;
|
|
}
|
|
.cbi-dropdown[open] > ul.dropdown > li[unselectable] {
|
|
opacity: 0.7;
|
|
}
|
|
.cbi-dropdown[open] > ul.dropdown > li > input.create-item-input:first-child:last-child {
|
|
width: 100%;
|
|
}
|
|
.cbi-dropdown[disabled] {
|
|
pointer-events: none;
|
|
opacity: 0.6;
|
|
}
|
|
.cbi-dropdown .zonebadge,
|
|
.cbi-dropdown[open] .zonebadge {
|
|
width: auto;
|
|
}
|
|
.cbi-dropdown .zonebadge {
|
|
width: 100%;
|
|
}
|
|
.cbi-dynlist {
|
|
line-height: 1.4;
|
|
flex-direction: column;
|
|
min-height: 30px;
|
|
cursor: text;
|
|
}
|
|
.cbi-dynlist > .item {
|
|
position: relative;
|
|
max-width: 25rem;
|
|
margin-right: 2em;
|
|
pointer-events: auto;
|
|
color: var(--textColor);
|
|
border-bottom: 2px solid var(--activeColor);
|
|
outline: 0;
|
|
cursor: move;
|
|
user-select: text;
|
|
padding: 0.5em 0.25em 0.25em 0;
|
|
}
|
|
.cbi-dynlist[name="sshkeys"] > .item {
|
|
max-width: none;
|
|
}
|
|
.cbi-dynlist > .item::after {
|
|
font-weight: 700;
|
|
position: absolute;
|
|
right: -2em;
|
|
bottom: 0;
|
|
display: inline-flex;
|
|
min-height: 17px;
|
|
content: "\00D7";
|
|
pointer-events: auto;
|
|
color: var(--bttextColor);
|
|
border: 1px solid var(--btnDanger);
|
|
background-color: var(--btnDanger);
|
|
padding: 0 6px;
|
|
border-radius: 0.4rem;
|
|
}
|
|
.cbi-dynlist > .item.dragging {
|
|
opacity: 0.5;
|
|
}
|
|
.cbi-dynlist > .item.drag-over,
|
|
.cbi-dynlist > .add-item > .cbi-input-text.drag-over,
|
|
.cbi-dynlist > .add-item > .cbi-button-add.drag-over {
|
|
border-top: 1px solid var(--textColor);
|
|
}
|
|
.cbi-dynlist > .item > span {
|
|
white-space: normal;
|
|
word-break: break-word;
|
|
pointer-events: none;
|
|
}
|
|
.cbi-dynlist > .add-item {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
width: 100%;
|
|
min-width: 16rem;
|
|
}
|
|
.cbi-dynlist > .add-item:not([ondrop]) > input {
|
|
overflow: hidden;
|
|
width: 100%;
|
|
min-width: 15rem;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
}
|
|
.cbi-dynlist > .add-item[ondrop] > input {
|
|
min-width: 13rem;
|
|
}
|
|
.cbi-progressbar {
|
|
position: relative;
|
|
display: flex;
|
|
flex-direction: column;
|
|
width: 100%;
|
|
min-width: 170px;
|
|
background-color: transparent !important;
|
|
border: none !important;
|
|
border-radius: 0 !important;
|
|
margin: 4px 0;
|
|
}
|
|
.cbi-progressbar > div {
|
|
order: 2;
|
|
height: 6px !important;
|
|
background-color: var(--progressbar) !important;
|
|
border-radius: 6px !important;
|
|
transition: width 0.25s ease-in;
|
|
position: relative;
|
|
z-index: 2;
|
|
}
|
|
.cbi-progressbar::before {
|
|
content: "";
|
|
position: absolute;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
height: 6px !important;
|
|
background-color: var(--progressbarColor) !important;
|
|
border-radius: 6px !important;
|
|
z-index: 1;
|
|
}
|
|
.cbi-progressbar::after {
|
|
order: 1;
|
|
content: attr(title);
|
|
position: relative;
|
|
font-family: inherit;
|
|
font-weight: 600;
|
|
font-size: 0.8rem;
|
|
line-height: 1.4;
|
|
color: var(--textColor) !important;
|
|
text-shadow: none !important;
|
|
text-align: right;
|
|
padding: 0 0.1rem 6px 0 !important;
|
|
white-space: pre;
|
|
text-overflow: ellipsis;
|
|
overflow: hidden;
|
|
display: block;
|
|
}
|
|
.tr:has(.cbi-progressbar) > .td:first-child {
|
|
padding-left: 1.1rem;
|
|
}
|
|
.tr:has(.cbi-progressbar) > .td:last-child {
|
|
padding-right: 1.1rem;
|
|
}
|
|
.alert,
|
|
.alert-message {
|
|
font-weight: 500;
|
|
margin-bottom: 1.5rem;
|
|
border-radius: var(--nav-border-radius, 0.8rem) !important;
|
|
padding: 1rem 1.25rem;
|
|
color: var(--textColor) !important;
|
|
background-color: var(--sectionbgColor) !important;
|
|
border: var(--sectionBorder) !important;
|
|
box-shadow: var(--neox-shadow, var(--neo-shadow, var(--neon-shadow, var(--glaze-shadow, var(--onyx-shadow, var(--sectionShaddow)))))) !important;
|
|
backdrop-filter: var(--glass-blur, var(--glass-dark-blur, var(--onyx-blur, var(--glaze-blur, none)))) !important;
|
|
-webkit-backdrop-filter: var(--glass-blur, var(--glass-dark-blur, var(--onyx-blur, var(--glaze-blur, none)))) !important;
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.container .alert,
|
|
.container .alert-message {
|
|
margin-top: 1rem;
|
|
}
|
|
.alert-message > h4 {
|
|
font-size: 1.15rem;
|
|
font-weight: 700;
|
|
margin: 0 0 0.5rem 0;
|
|
color: var(--textColor);
|
|
}
|
|
.alert-message > * {
|
|
margin: 0.3rem 0;
|
|
}
|
|
.alert-message .btn {
|
|
padding: 0.35rem 0.8rem;
|
|
}
|
|
.alert-message.notice {
|
|
border-left: 5px solid var(--btnInfo) !important;
|
|
}
|
|
.alert-message.danger,
|
|
.alert-message.error {
|
|
border-left: 5px solid var(--btnDanger) !important;
|
|
}
|
|
.alert-message.warning {
|
|
border-left: 5px solid var(--btnWarning) !important;
|
|
}
|
|
.alert-message.success {
|
|
border-left: 5px solid var(--btnSuccess) !important;
|
|
}
|
|
#command-rc-output .alert-message {
|
|
line-height: 1.4;
|
|
position: absolute;
|
|
top: 40px;
|
|
right: 32px;
|
|
max-width: 40%;
|
|
animation: anim-fade-in 1.5s forwards;
|
|
word-break: break-word;
|
|
opacity: 0;
|
|
margin: 0;
|
|
}
|
|
.label,
|
|
[data-indicator] {
|
|
background-color: var(--btnSecondary);
|
|
border-radius: 0.4rem;
|
|
color: var(--bttextColor) !important;
|
|
font-size: 0.85rem;
|
|
font-weight: 700;
|
|
text-decoration: none;
|
|
text-shadow: none;
|
|
text-transform: uppercase;
|
|
white-space: nowrap;
|
|
padding: 0.3rem 0.8rem;
|
|
}
|
|
.label.notice,
|
|
.label.danger,
|
|
.label.warning,
|
|
.label.success,
|
|
.label.error {
|
|
color: var(--bttextColor);
|
|
}
|
|
.label.notice {
|
|
background-color: var(--btnInfo);
|
|
}
|
|
.label.danger,
|
|
.label.error {
|
|
background-color: var(--btnDanger);
|
|
}
|
|
.label.warning {
|
|
background-color: var(--btnWarning);
|
|
}
|
|
.label.success {
|
|
background-color: var(--btnSuccess);
|
|
}
|
|
[data-indicator]:not([data-style="inactive"]):not([data-indicator="poll-status"]):not([data-indicator="cbi-poll-status"]) {
|
|
background-color: var(--activeColor) !important;
|
|
}
|
|
#xhr_poll_status,
|
|
#xhr_poll_status.label,
|
|
#xhr_poll_status.label.danger,
|
|
#xhr_poll_status.label.success,
|
|
#xhr_poll_status.btn,
|
|
#xhr_poll_status.cbi-button,
|
|
[data-indicator="poll-status"],
|
|
[data-indicator="cbi-poll-status"] {
|
|
background: transparent !important;
|
|
background-color: transparent !important;
|
|
color: transparent !important;
|
|
font-size: 0 !important;
|
|
padding: 0 !important;
|
|
width: 24px !important;
|
|
height: 24px !important;
|
|
min-height: 24px !important;
|
|
border-radius: 50% !important;
|
|
display: inline-flex !important;
|
|
align-items: center !important;
|
|
justify-content: center !important;
|
|
cursor: pointer;
|
|
margin-left: 0.5rem !important;
|
|
box-shadow: none !important;
|
|
border: none !important;
|
|
position: relative;
|
|
}
|
|
#xhr_poll_status:hover,
|
|
#xhr_poll_status:active,
|
|
#xhr_poll_status:focus,
|
|
#xhr_poll_status.btn:hover,
|
|
#xhr_poll_status.cbi-button:hover {
|
|
background-color: transparent !important;
|
|
box-shadow: none !important;
|
|
}
|
|
#xhr_poll_status::before,
|
|
[data-indicator="poll-status"]::before,
|
|
[data-indicator="cbi-poll-status"]::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 2px;
|
|
right: 2px;
|
|
bottom: 2px;
|
|
left: 2px;
|
|
background-color: var(--textColor) !important;
|
|
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.5 2v6h-6M2.5 22v-6h6M2 11.5a10 10 0 0 1 18.8-4.3M22 12.5a10 10 0 0 1-18.8 4.3'/%3E%3C/svg%3E") !important;
|
|
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.5 2v6h-6M2.5 22v-6h6M2 11.5a10 10 0 0 1 18.8-4.3M22 12.5a10 10 0 0 1-18.8 4.3'/%3E%3C/svg%3E") !important;
|
|
-webkit-mask-repeat: no-repeat !important;
|
|
mask-repeat: no-repeat !important;
|
|
-webkit-mask-position: center !important;
|
|
mask-position: center !important;
|
|
-webkit-mask-size: contain !important;
|
|
mask-size: contain !important;
|
|
opacity: 0.5 !important;
|
|
transition: all 0.3s ease !important;
|
|
animation: none !important;
|
|
}
|
|
#xhr_poll_status.success::before,
|
|
#xhr_poll_status.notice::before,
|
|
#xhr_poll_status.active::before,
|
|
[data-indicator="poll-status"]:not([data-style="inactive"]):not(.inactive):not(.danger)::before,
|
|
[data-indicator="cbi-poll-status"]:not([data-style="inactive"]):not(.inactive):not(.danger)::before {
|
|
opacity: 1 !important;
|
|
animation: spin-smooth 5s linear infinite !important;
|
|
}
|
|
.cbi-tooltip-container,
|
|
span[data-tooltip],
|
|
span[data-tooltip] .label {
|
|
cursor: help !important;
|
|
}
|
|
.cbi-tooltip {
|
|
position: absolute;
|
|
z-index: 1000;
|
|
left: -1000px;
|
|
transition: opacity 0.25s ease-out;
|
|
white-space: pre;
|
|
pointer-events: none;
|
|
opacity: 0;
|
|
border-radius: 0.4rem;
|
|
background: var(--modelBackground);
|
|
color: var(--textColor);
|
|
box-shadow: var(--sectionShaddow);
|
|
border: var(--sectionBorder);
|
|
padding: 4px 8px;
|
|
}
|
|
.cbi-tooltip-container:hover .cbi-tooltip {
|
|
left: auto;
|
|
transition: opacity 0.25s ease-in;
|
|
opacity: 1;
|
|
}
|
|
.network-status-table,
|
|
.network-status-table .ifacebox-body > div {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
}
|
|
.network-status-table .ifacebox {
|
|
flex-grow: 1;
|
|
margin: 0.2rem 0;
|
|
border-radius: 0.6rem;
|
|
}
|
|
.network-status-table .ifacebox-body {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
}
|
|
.network-status-table .ifacebox-body > span {
|
|
flex: 10 10 auto;
|
|
height: 100%;
|
|
}
|
|
.network-status-table .ifacebox-body .ifacebadge {
|
|
align-items: center;
|
|
flex: 1 1 auto;
|
|
min-width: 160px;
|
|
background-color: var(--sectionbgColor2);
|
|
margin: 0.2rem 0.8rem 0 0;
|
|
padding: 0.5em;
|
|
}
|
|
.ifacebox {
|
|
line-height: 1.1;
|
|
display: inline-flex;
|
|
flex-direction: column;
|
|
min-width: 90px;
|
|
border-bottom: var(--sectionnodeBorder);
|
|
background-color: var(--sectionbgColor2);
|
|
border-radius: 0.6rem;
|
|
overflow: hidden;
|
|
}
|
|
.ifacebox-head {
|
|
background: var(--badgebgColor);
|
|
padding: 0.15rem 0.3rem;
|
|
}
|
|
.ifacebox-head.active {
|
|
background-color: var(--activeColor) !important;
|
|
color: var(--bttextColor) !important;
|
|
box-shadow: none !important;
|
|
opacity: 1 !important;
|
|
}
|
|
.ifacebox-body {
|
|
padding: 0.15rem 0.3rem;
|
|
}
|
|
.ifacebadge {
|
|
display: inline-flex;
|
|
gap: 0.2rem;
|
|
border-bottom: var(--badgeBorder);
|
|
background: var(--badgebgColor);
|
|
color: var(--textColor);
|
|
padding: 0.5rem 0.8rem;
|
|
border-radius: 0.4rem;
|
|
}
|
|
.ifacebadge img {
|
|
width: 32px;
|
|
height: 32px;
|
|
vertical-align: middle;
|
|
}
|
|
.ifacebadge > em,
|
|
.ifacebadge > img {
|
|
display: inline-block;
|
|
align-self: flex-start;
|
|
}
|
|
td > .ifacebadge,
|
|
.td > .ifacebadge {
|
|
font-size: 0.85rem;
|
|
background-color: var(--badgebgColor);
|
|
}
|
|
.cbi-value-field > ul > li .ifacebadge {
|
|
margin-top: -0.5rem;
|
|
margin-left: 0.4rem;
|
|
background-color: var(--badgebgColor);
|
|
}
|
|
.zonebadge {
|
|
display: inline-block;
|
|
padding: 0.2rem 0.5rem;
|
|
border-radius: 0.4rem;
|
|
}
|
|
.zonebadge .ifacebadge {
|
|
border: var(--badgeBorder);
|
|
margin: 0.1rem 0.2rem;
|
|
padding: 0.2rem 0.3rem;
|
|
}
|
|
.zonebadge > input[type="text"] {
|
|
min-width: 10rem;
|
|
margin-top: 0.3rem;
|
|
padding: 0.16rem 1rem;
|
|
}
|
|
.zonebadge > em,
|
|
.zonebadge > strong {
|
|
display: inline-block;
|
|
margin: 0 0.2rem;
|
|
}
|
|
.zonebadge .cbi-tooltip {
|
|
background: inherit;
|
|
margin: -1.5rem 0 0 -0.5rem;
|
|
padding: 0.25rem;
|
|
}
|
|
.zonebadge-empty {
|
|
color: var(--textColor);
|
|
background: repeating-linear-gradient(45deg, rgba(204, 204, 204, 0.5), rgba(204, 204, 204, 0.5) 5px, rgba(255, 255, 255, 0.5) 5px, rgba(255, 255, 255, 0.5) 10px);
|
|
}
|
|
.zone-forwards {
|
|
display: flex;
|
|
min-width: 10rem;
|
|
flex-wrap: nowrap;
|
|
}
|
|
.zone-forwards > * {
|
|
flex: 1 1 45%;
|
|
text-wrap: auto;
|
|
}
|
|
.zone-forwards > span {
|
|
flex-basis: 10%;
|
|
text-align: center;
|
|
padding: 0 0.25rem;
|
|
}
|
|
.zone-forwards .zone-src,
|
|
.zone-forwards .zone-dest {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
#dsl_status_table .ifacebox-body span > strong {
|
|
display: inline-block;
|
|
min-width: 50%;
|
|
}
|
|
.commandbox {
|
|
width: 24% !important;
|
|
background: var(--sectionbgColor2);
|
|
border: var(--sectionBorder);
|
|
margin: 10px 0 0 10px !important;
|
|
padding: 0.5rem 1rem;
|
|
border-radius: 0.6rem;
|
|
}
|
|
.commandbox h3 {
|
|
line-height: normal !important;
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
margin: 6px 0 !important;
|
|
}
|
|
.commandbox div {
|
|
left: auto !important;
|
|
}
|
|
.commandbox code {
|
|
margin-left: 4px;
|
|
padding: 2px 3px;
|
|
}
|
|
.commandbox p:first-of-type {
|
|
margin-top: -6px;
|
|
}
|
|
.commandbox p:nth-of-type(2) {
|
|
margin-top: 2px;
|
|
}
|
|
#diag-rc-output > pre,
|
|
#command-rc-output > pre,
|
|
[data-page="admin-services-wol"] .notice code {
|
|
font-size: 1.25rem;
|
|
font-size-adjust: 0.35;
|
|
line-height: normal;
|
|
display: block;
|
|
overflow-y: hidden;
|
|
width: 100%;
|
|
white-space: pre;
|
|
color: var(--codeColor);
|
|
background-color: var(--codeBg);
|
|
border: var(--sectionBorder);
|
|
box-shadow: var(--sectionShaddow);
|
|
padding: 8.5px;
|
|
border-radius: 0.6rem;
|
|
}
|
|
#syslog {
|
|
font-size: small;
|
|
overflow-y: hidden;
|
|
width: 100%;
|
|
min-height: 15rem;
|
|
resize: none;
|
|
color: var(--codeColor);
|
|
border: var(--sectionBorder);
|
|
border-radius: 0.6rem;
|
|
background-color: var(--codeBg);
|
|
box-shadow: var(--sectionShaddow);
|
|
padding: 1rem;
|
|
}
|
|
#cbi-network > .cbi-section-node,
|
|
#cbi-wireless > .cbi-section-node,
|
|
#cbi-wireless > #wifi_assoclist_table {
|
|
border: var(--sectionBorder);
|
|
border-radius: var(--nav-border-radius, 1rem);
|
|
background-color: var(--sectionbgColor);
|
|
box-shadow: var(--sectionShaddow);
|
|
}
|
|
#cbi-wireless .td,
|
|
#cbi-network .tr:first-child > .td,
|
|
[data-page="admin-network-diagnostics"] .tr > .td {
|
|
border-top: 0 !important;
|
|
}
|
|
#cbi-wireless > #wifi_assoclist_table > .tr {
|
|
border: none !important;
|
|
}
|
|
#cbi-wireless > #wifi_assoclist_table > .tr.placeholder > .td {
|
|
right: 33px;
|
|
bottom: 33px;
|
|
left: 33px;
|
|
border: none !important;
|
|
}
|
|
#cbi-wireless > #wifi_assoclist_table > .tr.table-titles,
|
|
#cbi-wireless > #wifi_assoclist_table > .tr.table-titles > .th {
|
|
border: none !important;
|
|
}
|
|
#wifi_assoclist_table > .tr > .td[data-title="RX Rate / TX Rate"] {
|
|
width: 23rem;
|
|
}
|
|
.Firewall form {
|
|
box-shadow: none;
|
|
margin: 2rem 2rem 0 0;
|
|
padding: 0;
|
|
}
|
|
#cbi-firewall-redirect table *,
|
|
#cbi-network-switch_vlan table *,
|
|
#cbi-firewall-zone table * {
|
|
font-size: small;
|
|
}
|
|
#cbi-firewall-redirect table input[type="text"],
|
|
#cbi-network-switch_vlan table input[type="text"],
|
|
#cbi-firewall-zone table input[type="text"] {
|
|
width: 5rem;
|
|
}
|
|
#cbi-firewall-redirect table select,
|
|
#cbi-network-switch_vlan table select,
|
|
#cbi-firewall-zone table select {
|
|
min-width: 3.5rem;
|
|
}
|
|
#cbi-network-switch_vlan .th,
|
|
#cbi-network-switch_vlan .td {
|
|
flex-basis: 12%;
|
|
}
|
|
#cbi-firewall-zone .td,
|
|
#cbi-network-switch_vlan .td {
|
|
width: 100%;
|
|
}
|
|
#cbi-firewall-zone .table,
|
|
#cbi-network-switch_vlan .table {
|
|
display: block;
|
|
}
|
|
.node-status-overview > .main fieldset:nth-child(4) .td:nth-child(2),
|
|
.node-status-processes > .main .table .tr .td:nth-child(3) {
|
|
white-space: normal;
|
|
}
|
|
[data-page="admin-system-reboot"] p {
|
|
padding-left: 2rem;
|
|
}
|
|
[data-page="admin-system-reboot"] p > span {
|
|
position: relative;
|
|
top: 0.1rem;
|
|
left: 1rem;
|
|
}
|
|
#cbi-samba [data-tab="template"] .cbi-value-title {
|
|
width: auto;
|
|
padding-bottom: 0.6rem;
|
|
}
|
|
#cbi-samba [data-tab="template"] .cbi-value-field {
|
|
display: block;
|
|
}
|
|
/* --- Third-Party Packages (opkg) page: action buttons --------------------
|
|
* Each package row renders its actions as <div class="btn"> inside a table
|
|
* cell. The original rule below (line-height: 3 + display: inline) stretched
|
|
* the clickable/visual box of the button far past its text label, so the
|
|
* "Install/Remove/Update" pills looked oversized, uneven, and misaligned
|
|
* against the row text ("tidak pas"). Switching to inline-flex makes each
|
|
* button hug its own label and center itself vertically, matching the same
|
|
* rounded, soft (lembut) pill used by every other button in the theme. */
|
|
[data-page="admin-system-package-manager"] div.btn {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
line-height: normal;
|
|
padding: 0.35rem 0.9rem;
|
|
margin: 0.15rem 0;
|
|
}
|
|
/* The action cell itself gets more breathing room (was flex-basis: 2em from
|
|
* the generic .td[data-type="button"] rule, too narrow for a label like
|
|
* "Uninstall") and wraps multiple buttons on their own row with a small,
|
|
* even gap instead of the fixed .btn + .btn margin used elsewhere. */
|
|
[data-page="admin-system-package-manager"] .td[data-type="button"] {
|
|
flex-basis: 9em;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 0.5rem;
|
|
}
|
|
[data-page="admin-system-package-manager"] .td[data-type="button"] .btn + .btn {
|
|
margin-left: 0;
|
|
}
|
|
/* Keep this page inside the same centered, width-capped content column as
|
|
* the rest of the theme (see the base #maincontent > .container rule); only
|
|
* the vertical rhythm is tweaked here since opkg's search bar sits directly
|
|
* under the header. */
|
|
[data-page="admin-system-package-manager"] #maincontent > .container {
|
|
margin: 2rem auto 1rem;
|
|
}
|
|
.td.version,
|
|
.td.size {
|
|
white-space: normal !important;
|
|
word-break: break-word;
|
|
}
|
|
[data-page="admin-network-diagnostics"] .table {
|
|
box-shadow: none;
|
|
}
|
|
#applyreboot-container,
|
|
#applyreboot-section {
|
|
margin: 2rem;
|
|
}
|
|
#applyreboot-section {
|
|
line-height: 300%;
|
|
}
|
|
.OpenVPN a {
|
|
line-height: initial !important;
|
|
}
|
|
.uci-change-list {
|
|
font-family: monospace;
|
|
}
|
|
.uci-change-list ins,
|
|
.uci-change-legend-label ins {
|
|
display: block;
|
|
text-decoration: none;
|
|
border: 1px solid var(--btnSuccess);
|
|
background-color: var(--focusColor);
|
|
padding: 2px;
|
|
border-radius: 4px;
|
|
}
|
|
.uci-change-list del,
|
|
.uci-change-legend-label del {
|
|
font-style: normal;
|
|
display: block;
|
|
text-decoration: none;
|
|
border: 1px solid var(--btnDanger);
|
|
background-color: var(--focusColor);
|
|
padding: 2px;
|
|
border-radius: 4px;
|
|
}
|
|
.uci-change-list var,
|
|
.uci-change-legend-label var {
|
|
font-style: normal;
|
|
display: block;
|
|
text-decoration: none;
|
|
border: var(--inputBorder);
|
|
background-color: var(--inputbgColor);
|
|
padding: 2px;
|
|
border-radius: 4px;
|
|
}
|
|
.uci-change-list var ins,
|
|
.uci-change-list var del {
|
|
font-style: normal;
|
|
white-space: pre;
|
|
border: 0;
|
|
padding: 0;
|
|
}
|
|
.uci-change-legend {
|
|
padding: 5px;
|
|
}
|
|
.uci-change-legend-label {
|
|
float: left;
|
|
width: 150px;
|
|
}
|
|
.uci-change-legend-label > ins,
|
|
.uci-change-legend-label > del,
|
|
.uci-change-legend-label > var {
|
|
display: block;
|
|
float: left;
|
|
width: 10px;
|
|
height: 10px;
|
|
margin-right: 4px;
|
|
}
|
|
.uci-change-legend-label var ins,
|
|
.uci-change-legend-label var del {
|
|
line-height: 0.4;
|
|
border: 0;
|
|
}
|
|
#iwsvg,
|
|
#iwsvg2,
|
|
#bwsvg {
|
|
border: var(--sectionBorder) !important;
|
|
border-radius: 0.6rem;
|
|
}
|
|
[data-page="admin-status-realtime-bandwidth"] #bwsvg {
|
|
border-top: 0 !important;
|
|
}
|
|
.style-scroll {
|
|
display: flex;
|
|
overflow-x: auto;
|
|
gap: 8px;
|
|
padding-bottom: 5px;
|
|
scroll-behavior: smooth;
|
|
}
|
|
.style-scroll::-webkit-scrollbar {
|
|
height: 4px;
|
|
}
|
|
.style-scroll::-webkit-scrollbar-thumb {
|
|
background: var(--activeColor);
|
|
border-radius: 4px;
|
|
}
|
|
.style-card,
|
|
.mode-card,
|
|
.icon-card {
|
|
flex: 0 0 auto;
|
|
padding: 6px 14px;
|
|
background: var(--badgebgColor);
|
|
border: var(--inputBorder);
|
|
border-radius: 6px;
|
|
cursor: pointer;
|
|
transition: 0.2s;
|
|
font-size: 13px;
|
|
color: var(--textColor);
|
|
text-align: center;
|
|
}
|
|
.style-card.active,
|
|
.mode-card.active,
|
|
.icon-card.active {
|
|
background: var(--activeColor);
|
|
color: var(--bttextColor);
|
|
border-color: var(--activeColor);
|
|
}
|
|
.mode-card {
|
|
flex: 1;
|
|
}
|
|
.icon-card {
|
|
padding: 6px 12px;
|
|
}
|
|
@keyframes anim-fade-in {
|
|
100% {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
@keyframes smooth-open {
|
|
0% {
|
|
opacity: 0.3;
|
|
transform: translateY(10px);
|
|
}
|
|
100% {
|
|
opacity: 1;
|
|
transform: none;
|
|
}
|
|
}
|
|
@keyframes blink-caret {
|
|
0%, 100% {
|
|
opacity: 1;
|
|
}
|
|
50% {
|
|
opacity: 0;
|
|
}
|
|
}
|
|
@keyframes spin-blue {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
@keyframes spin-orange {
|
|
0% {
|
|
transform: rotate(45deg);
|
|
}
|
|
100% {
|
|
transform: rotate(-315deg);
|
|
}
|
|
}
|
|
@keyframes spin-smooth {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
@keyframes slide-in-right {
|
|
0% {
|
|
opacity: 0;
|
|
transform: translateX(30px);
|
|
}
|
|
100% {
|
|
opacity: 1;
|
|
transform: translateX(0);
|
|
}
|
|
}
|
|
@media screen and (max-width: 1280px) {
|
|
body {
|
|
font-size: 0.85rem;
|
|
line-height: 1.5;
|
|
}
|
|
.main-left {
|
|
width: 250px;
|
|
}
|
|
.main-right {
|
|
width: calc(100% - 250px);
|
|
}
|
|
fieldset,
|
|
.cbi-section {
|
|
padding: 0.9rem 1.1rem;
|
|
}
|
|
.cbi-value-title {
|
|
width: 15rem;
|
|
padding-right: 0.6rem;
|
|
}
|
|
.cbi-value-field .cbi-dropdown,
|
|
.cbi-value-field .cbi-input-select,
|
|
.cbi-value input[type="text"],
|
|
.cbi-value input[type="password"] {
|
|
min-width: 18rem;
|
|
}
|
|
#cbi-firewall-zone .cbi-input-select {
|
|
min-width: 9rem;
|
|
}
|
|
.cbi-input-textarea {
|
|
font-size: small;
|
|
}
|
|
.node-admin-status > .main fieldset li > a {
|
|
padding: 0.3rem 0.6rem;
|
|
}
|
|
}
|
|
@media screen and (max-width: 1152px) {
|
|
header {
|
|
height: 3.5rem;
|
|
}
|
|
header > .fill > .container {
|
|
padding: 0 1rem;
|
|
}
|
|
header > .fill > .container #logo {
|
|
display: none;
|
|
}
|
|
header > .fill > .container .brand {
|
|
margin: 0 0.5rem 0 0;
|
|
font-size: 1rem;
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
line-height: normal !important;
|
|
height: 100%;
|
|
}
|
|
.label,
|
|
[data-indicator] {
|
|
font-size: 0.75rem;
|
|
padding: 0.25rem 0.5rem;
|
|
}
|
|
#luxe-settings-menu {
|
|
top: 4rem !important;
|
|
}
|
|
.showSide {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 24px;
|
|
height: 24px;
|
|
cursor: pointer;
|
|
flex-shrink: 0;
|
|
background: transparent !important;
|
|
position: relative;
|
|
margin-right: 1.2rem;
|
|
border: none !important;
|
|
box-shadow: none !important;
|
|
}
|
|
.showSide::before,
|
|
.showSide::after {
|
|
content: "";
|
|
position: absolute;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 2px;
|
|
background-color: var(--textColor);
|
|
border-radius: 2px;
|
|
transform-origin: 30% 50%;
|
|
transition: top 0.5s cubic-bezier(0.4, 0, 0.2, 1), transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1), width 0.5s cubic-bezier(0.4, 0, 0.2, 1), left 0.5s cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
.showSide::before {
|
|
top: 5px;
|
|
box-shadow: 0 7px 0 0 var(--textColor);
|
|
}
|
|
.showSide::after {
|
|
top: 19px;
|
|
}
|
|
.showSide.active::before,
|
|
body.sidebar-open .showSide::before {
|
|
top: 12px;
|
|
box-shadow: 0 0 0 0 transparent;
|
|
transform: rotate(45deg);
|
|
}
|
|
.showSide.active::after,
|
|
body.sidebar-open .showSide::after {
|
|
top: 12px;
|
|
transform: rotate(-45deg);
|
|
width: 100%;
|
|
left: 0;
|
|
}
|
|
body:not(.logged-in) .showSide {
|
|
display: none;
|
|
}
|
|
.main {
|
|
top: 3.5rem;
|
|
height: calc(100% - 3.5rem);
|
|
}
|
|
.main-left {
|
|
position: fixed;
|
|
top: calc(3.5rem + 8px);
|
|
left: 15px;
|
|
z-index: 1000;
|
|
width: 250px;
|
|
max-width: calc(100vw - 30px);
|
|
height: calc(100% - 3.5rem - 16px);
|
|
background-color: var(--mainleftbgColor);
|
|
border-radius: 20px;
|
|
transform: translateX(-120%);
|
|
visibility: hidden;
|
|
opacity: 0;
|
|
transition: width 400ms cubic-bezier(0.25, 1, 0.5, 1), visibility 400ms ease, opacity 400ms ease, transform 400ms cubic-bezier(0.25, 1, 0.5, 1);
|
|
}
|
|
.main-left.sidebar-open {
|
|
transform: translateX(0);
|
|
visibility: visible;
|
|
opacity: 1;
|
|
}
|
|
.main-right {
|
|
width: 100%;
|
|
}
|
|
body {
|
|
font-size: 0.8rem;
|
|
line-height: 1.35;
|
|
}
|
|
.btn,
|
|
.cbi-button {
|
|
font-size: 0.88rem;
|
|
padding: 0.35rem 1rem;
|
|
}
|
|
.cbi-button + .cbi-button {
|
|
margin-left: 0.5rem;
|
|
}
|
|
.tabs,
|
|
.cbi-tabmenu {
|
|
margin: 0.5rem auto 0.7rem;
|
|
gap: 0.4rem;
|
|
}
|
|
.tabs > li > a,
|
|
.cbi-tabmenu > li > a {
|
|
font-size: 0.77rem;
|
|
padding: 0.45rem 0.9rem;
|
|
}
|
|
.cbi-section > h3:first-child,
|
|
.panel-title {
|
|
font-size: 1.15rem;
|
|
padding-bottom: 0.3rem;
|
|
}
|
|
table,
|
|
.table {
|
|
font-size: 0.75rem !important;
|
|
width: 100% !important;
|
|
border: none !important;
|
|
}
|
|
.table .cbi-input-text {
|
|
width: 100%;
|
|
}
|
|
.cbi-value-field .cbi-dropdown,
|
|
.cbi-value-field .cbi-input-select,
|
|
.cbi-value input[type="text"],
|
|
.cbi-value input[type="password"] {
|
|
width: 100%;
|
|
min-width: 14rem;
|
|
}
|
|
#cbi-firewall-zone .cbi-input-select {
|
|
min-width: 4rem;
|
|
}
|
|
.main > .main-left > .nav > li > a,
|
|
.main > .main-left > .nav > .slide > .menu,
|
|
.main > .main-left > .nav > li > [data-title] {
|
|
font-size: 0.9rem;
|
|
}
|
|
.main > .main-left > .nav > .slide > .slide-menu > li > a {
|
|
font-size: 0.8rem;
|
|
}
|
|
.alert,
|
|
.alert-message {
|
|
padding: 0.7rem 0.9rem;
|
|
margin-bottom: 1.2rem;
|
|
}
|
|
[data-page="admin-network-firewall-forwards"] .table:not(.cbi-section-table),
|
|
[data-page="admin-network-firewall-rules"] .table:not(.cbi-section-table),
|
|
[data-page="admin-network-hosts"] .table,
|
|
[data-page="admin-network-routes"] .table {
|
|
display: block;
|
|
overflow-y: visible;
|
|
}
|
|
.commandbox {
|
|
width: 32% !important;
|
|
}
|
|
html,
|
|
.main {
|
|
overflow-y: visible;
|
|
}
|
|
.cbi-value-title {
|
|
width: 10rem;
|
|
padding-right: 1rem;
|
|
}
|
|
.cbi-value input[type="password"],
|
|
.cbi-value input[name^="pw"],
|
|
.cbi-value input[data-update="change"]:nth-child(2) {
|
|
width: 13rem !important;
|
|
min-width: 13rem;
|
|
}
|
|
input[type="text"],
|
|
input[type="password"],
|
|
input[type="number"] {
|
|
padding: 0 0.6rem;
|
|
}
|
|
.cbi-value input.cbi-input-password,
|
|
.cbi-value input[type="password"],
|
|
.cbi-value input[name^="pw"] {
|
|
width: calc(100% - 2.5rem) !important;
|
|
min-width: 0 !important;
|
|
}
|
|
#diag-rc-output > pre,
|
|
#command-rc-output > pre,
|
|
[data-page="admin-services-wol"] .notice code {
|
|
font-size: 1.05rem;
|
|
}
|
|
.network-status-table .ifacebox-body .ifacebadge {
|
|
margin: 0.2rem 0.6rem 0 0;
|
|
padding: 0.3rem;
|
|
min-width: 120px;
|
|
}
|
|
.Interfaces .table {
|
|
overflow-x: hidden;
|
|
}
|
|
#packages.table {
|
|
display: grid;
|
|
}
|
|
.tr {
|
|
display: flex;
|
|
flex-direction: row;
|
|
flex-wrap: wrap;
|
|
}
|
|
.Overview .table[width="100%"] > .tr {
|
|
flex-wrap: nowrap;
|
|
}
|
|
.tr.placeholder {
|
|
border: none !important;
|
|
}
|
|
.tr.placeholder > .td,
|
|
#cbi-firewall .tr > .td,
|
|
#cbi-network .tr:nth-child(2) > .td,
|
|
.cbi-section #wifi_assoclist_table .tr > .td {
|
|
border-top: none !important;
|
|
}
|
|
.th,
|
|
.td {
|
|
display: inline-block;
|
|
align-self: flex-start;
|
|
flex: 2 2 25%;
|
|
text-overflow: ellipsis;
|
|
word-wrap: break-word;
|
|
}
|
|
.td select,
|
|
.td input[type="text"] {
|
|
width: 100%;
|
|
word-wrap: normal;
|
|
}
|
|
.td [data-dynlist] > input,
|
|
.td input.cbi-input-password {
|
|
width: calc(100% - 1.5rem);
|
|
}
|
|
.td[data-type="button"],
|
|
.td[data-type="fvalue"] {
|
|
flex: 1 1 12.5%;
|
|
text-align: left;
|
|
}
|
|
.th.cbi-value-field,
|
|
.td.cbi-value-field,
|
|
.th.cbi-section-table-cell,
|
|
.td.cbi-section-table-cell {
|
|
flex-basis: auto;
|
|
padding-top: 1rem;
|
|
}
|
|
.cbi-section-table-row {
|
|
display: flex;
|
|
flex-direction: row;
|
|
flex-wrap: wrap;
|
|
justify-content: space-between;
|
|
box-shadow: var(--sectionShaddow);
|
|
margin-bottom: 1.35rem;
|
|
}
|
|
.td.cbi-value-field,
|
|
.cbi-section-table-cell {
|
|
display: inline-block;
|
|
flex: 10 10 auto;
|
|
flex-basis: 50%;
|
|
text-align: center;
|
|
}
|
|
.td.cbi-section-actions {
|
|
vertical-align: bottom;
|
|
}
|
|
.tr[data-title]::before,
|
|
.tr.cbi-section-table-titles.named::before {
|
|
font-size: 0.95rem;
|
|
display: block;
|
|
flex: 1 1 100%;
|
|
border: none !important;
|
|
background: var(--focusColor);
|
|
color: var(--textColor);
|
|
}
|
|
.td.cbi-section-actions > * > *,
|
|
.td.cbi-section-actions > * > form > * {
|
|
margin: 2px 4px;
|
|
}
|
|
.Firewall form {
|
|
position: static !important;
|
|
box-shadow: var(--sectionShaddow);
|
|
margin: 0 0 2rem;
|
|
padding: 2rem;
|
|
}
|
|
.Firewall form input {
|
|
width: 100% !important;
|
|
margin: 1rem 0 0;
|
|
}
|
|
.Firewall .center,
|
|
.Firewall .center::before {
|
|
text-align: left !important;
|
|
}
|
|
.commandbox {
|
|
width: 100% !important;
|
|
margin-left: 0 !important;
|
|
}
|
|
.tr.table-titles,
|
|
.tr.cbi-section-table-titles,
|
|
.tr.cbi-section-table-descr {
|
|
display: none;
|
|
}
|
|
.td[data-title],
|
|
[data-page^="admin-status-realtime"] .td[id] {
|
|
text-align: left;
|
|
}
|
|
.table,
|
|
.td[data-title]::before {
|
|
display: block;
|
|
}
|
|
}
|
|
@media screen and (max-width: 992px) {
|
|
.main-left {
|
|
width: 240px;
|
|
}
|
|
.btn,
|
|
.cbi-button {
|
|
font-size: 0.82rem;
|
|
padding: 0.28rem 0.8rem;
|
|
}
|
|
}
|
|
@media screen and (max-width: 768px) {
|
|
.main-left {
|
|
width: 235px;
|
|
}
|
|
body {
|
|
font-size: 0.75rem;
|
|
}
|
|
header > .fill > .container .brand {
|
|
font-size: 0.9rem;
|
|
}
|
|
.label,
|
|
[data-indicator] {
|
|
font-size: 0.65rem;
|
|
padding: 0.2rem 0.4rem;
|
|
}
|
|
.cbi-dropdown[open] > ul.dropdown {
|
|
left: 50% !important;
|
|
transform: translateX(-50%) !important;
|
|
width: max-content !important;
|
|
min-width: 100% !important;
|
|
max-width: 85vw !important;
|
|
}
|
|
.tr:has(.cbi-progressbar) {
|
|
display: flex !important;
|
|
flex-direction: row !important;
|
|
flex-wrap: nowrap !important;
|
|
align-items: center !important;
|
|
justify-content: space-between !important;
|
|
gap: 0.2rem !important;
|
|
}
|
|
.tr:has(.cbi-progressbar) > .td {
|
|
padding: 0.4rem 0.8rem !important;
|
|
flex: 0 0 auto !important;
|
|
width: auto !important;
|
|
border: none !important;
|
|
}
|
|
.tr:has(.cbi-progressbar) > .td:first-child {
|
|
flex: 1 1 35% !important;
|
|
text-align: left !important;
|
|
white-space: normal !important;
|
|
word-break: break-word !important;
|
|
}
|
|
.tr:has(.cbi-progressbar) > .td:last-child {
|
|
flex: 1 1 65% !important;
|
|
text-align: right !important;
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
}
|
|
.cbi-progressbar {
|
|
width: 100% !important;
|
|
min-width: 80px !important;
|
|
max-width: 100% !important;
|
|
height: auto !important;
|
|
margin: 0 !important;
|
|
border-radius: 0 !important;
|
|
}
|
|
.cbi-progressbar::after {
|
|
font-size: 0.7rem !important;
|
|
line-height: 1.5 !important;
|
|
padding-bottom: 4px !important;
|
|
}
|
|
fieldset,
|
|
.cbi-section {
|
|
margin: 1rem 0 0;
|
|
padding: 1rem 1.2rem !important;
|
|
}
|
|
/* On phones/tablets keep the content full-width (cap never applies here) and
|
|
* shrink the side gutter to 1rem so forms and tables use the available space. */
|
|
#maincontent > .container {
|
|
margin: 0 auto 1.5rem !important;
|
|
padding: 0 1rem !important;
|
|
}
|
|
/* Was padding: 0.2rem, almost no gutter at all — too tight for comfortable
|
|
* tapping on phones. Bumped up slightly so rows/buttons don't feel cramped. */
|
|
[data-page="admin-system-package-manager"] #maincontent > .container {
|
|
margin: 0 auto 1.5rem !important;
|
|
padding: 0.5rem !important;
|
|
}
|
|
.main > .main-left > .nav > li > a,
|
|
.main > .main-left > .nav > .slide > .menu,
|
|
.main > .main-left > .nav > li > [data-title] {
|
|
font-size: 0.9rem;
|
|
}
|
|
.main > .main-left > .nav > .slide > .slide-menu > li > a {
|
|
font-size: 0.8rem;
|
|
}
|
|
.cbi-value-title {
|
|
display: block;
|
|
width: 100%;
|
|
text-align: left;
|
|
margin: 0.2rem 0;
|
|
}
|
|
.cbi-value > .cbi-value-field {
|
|
display: inline-block;
|
|
}
|
|
.cbi-page-actions > .cbi-button {
|
|
margin-top: 0.5rem;
|
|
margin-bottom: 0.5rem;
|
|
margin-left: 0.6rem;
|
|
}
|
|
.btn,
|
|
.cbi-button {
|
|
font-size: 0.75rem;
|
|
padding: 0.22rem 0.6rem;
|
|
margin-left: 0.5rem;
|
|
}
|
|
.tabs > li > a,
|
|
.cbi-tabmenu > li > a {
|
|
font-size: 0.68rem;
|
|
padding: 0.4rem 0.8rem;
|
|
}
|
|
.commandbox p:first-of-type {
|
|
margin-top: -8px;
|
|
}
|
|
#syslog,
|
|
#diag-rc-output > pre,
|
|
#command-rc-output > pre,
|
|
[data-page="admin-services-wol"] .notice code {
|
|
font-size: 0.8rem !important;
|
|
}
|
|
h2 {
|
|
font-size: 1.65rem;
|
|
text-align: center;
|
|
}
|
|
.cbi-section > h3:first-child,
|
|
.panel-title {
|
|
font-size: 1.2rem;
|
|
padding-bottom: 0.2rem;
|
|
text-align: left;
|
|
}
|
|
.node-system-packages > .main .cbi-value.cbi-value-last > div {
|
|
width: 100% !important;
|
|
}
|
|
.cbi-section-table-row {
|
|
margin-bottom: 1rem;
|
|
}
|
|
.th,
|
|
.td {
|
|
flex-basis: 50%;
|
|
padding: 0.35rem 0.5rem;
|
|
}
|
|
.cbi-value-field {
|
|
flex-basis: 100%;
|
|
min-width: 0;
|
|
max-width: 100%;
|
|
box-sizing: border-box;
|
|
}
|
|
.cbi-modal .cbi-value-field div:not([class*="cbi-dropdown"]),
|
|
.cbi-modal .cbi-value-field span:not([class*="cbi-dropdown"]),
|
|
#cbi-wireless .cbi-value-field div:not([class*="cbi-dropdown"]),
|
|
#cbi-wireless .cbi-value-field span:not([class*="cbi-dropdown"]) {
|
|
white-space: normal !important;
|
|
word-break: break-word;
|
|
overflow-wrap: anywhere;
|
|
max-width: 100%;
|
|
box-sizing: border-box;
|
|
}
|
|
.ifacebadge {
|
|
max-width: 100%;
|
|
flex-wrap: wrap;
|
|
height: auto;
|
|
white-space: normal !important;
|
|
word-break: break-word;
|
|
box-sizing: border-box;
|
|
}
|
|
.td.cbi-value-field[data-type="button"],
|
|
.td.cbi-value-field[data-type="fvalue"] {
|
|
flex-basis: 25%;
|
|
text-align: left;
|
|
}
|
|
td > .ifacebadge,
|
|
.td > .ifacebadge {
|
|
font-size: 0.67rem;
|
|
}
|
|
.network-status-table .ifacebox {
|
|
margin: 0.1rem 0;
|
|
}
|
|
.ifacebox {
|
|
min-width: 75px;
|
|
}
|
|
.ifacebox-head {
|
|
padding: 0.2rem 0.4rem;
|
|
font-size: 0.95em;
|
|
}
|
|
.ifacebox-body {
|
|
padding: 0.2rem 0.4rem;
|
|
}
|
|
.network-status-table .ifacebox-body .ifacebadge {
|
|
margin: 0.1rem 0.5rem 0 0;
|
|
padding: 0.3rem;
|
|
min-width: 100px;
|
|
}
|
|
#cbi-wireless > #wifi_assoclist_table .td {
|
|
overflow: hidden;
|
|
}
|
|
#cbi-wireless > .cbi-section-node .td,
|
|
.Interfaces .td.cbi-section-actions {
|
|
text-align: center !important;
|
|
}
|
|
.cbi-modal {
|
|
padding: 0.5rem;
|
|
}
|
|
.cbi-modal .cbi-value {
|
|
padding: 0 0 0.25rem;
|
|
}
|
|
.cbi-modal [data-tab-title] {
|
|
padding: 0 0.25rem !important;
|
|
}
|
|
[data-tab-title] {
|
|
padding: 0 0.5rem !important;
|
|
}
|
|
.alert,
|
|
.alert-message {
|
|
padding: 0.5rem 0.8rem;
|
|
margin-bottom: 1rem;
|
|
}
|
|
.main > .main-left > .nav > .slide > .slide-menu > li > a,
|
|
.tr[data-title]::before,
|
|
.tr.cbi-section-table-titles.named::before {
|
|
font-size: 1rem;
|
|
}
|
|
.cbi-value-title,
|
|
.cbi-value-description,
|
|
.cbi-value-field,
|
|
.cbi-value-field .cbi-dropdown,
|
|
.cbi-value-field .cbi-input-select,
|
|
.cbi-value input[type="text"],
|
|
.node-system-packages > .main .cbi-value .cbi-value-field input {
|
|
width: 100%;
|
|
}
|
|
.mobile-hide,
|
|
[data-page="admin-status-processes"] .td[data-title="Hang Up"]::before,
|
|
[data-page="admin-status-processes"] .td[data-title="Terminate"]::before,
|
|
[data-page="admin-status-processes"] .td[data-title="Kill"]::before,
|
|
.hide-sm,
|
|
.hide-xs:not([data-title="MAC-Address"]) {
|
|
display: none;
|
|
}
|
|
select,
|
|
input:not([type="checkbox"]) {
|
|
font-size: 0.9rem;
|
|
}
|
|
#xhr_poll_status,
|
|
#xhr_poll_status.label,
|
|
#xhr_poll_status.label.danger,
|
|
#xhr_poll_status.label.success,
|
|
#xhr_poll_status.btn,
|
|
#xhr_poll_status.cbi-button,
|
|
[data-indicator="poll-status"],
|
|
[data-indicator="cbi-poll-status"] {
|
|
width: 20px !important;
|
|
height: 20px !important;
|
|
min-height: 20px !important;
|
|
}
|
|
#settings-toggle svg,
|
|
.status > * > svg {
|
|
width: 20px !important;
|
|
height: 20px !important;
|
|
}
|
|
}
|
|
@media screen and (max-width: 470px) {
|
|
.main-left {
|
|
width: 215px;
|
|
}
|
|
header > .fill > .container .brand {
|
|
font-size: 0.85rem;
|
|
}
|
|
.label,
|
|
[data-indicator] {
|
|
font-size: 0.6rem;
|
|
padding: 0.15rem 0.35rem;
|
|
}
|
|
fieldset,
|
|
.cbi-section {
|
|
margin: 0.8rem 0 0;
|
|
padding: 0.7rem 0.8rem !important;
|
|
}
|
|
.tr:has(.cbi-progressbar) > .td {
|
|
padding: 0.3rem 0.6rem !important;
|
|
}
|
|
.cbi-modal {
|
|
padding: 0.4rem;
|
|
}
|
|
[data-tab-title] {
|
|
padding: 0 0.4rem !important;
|
|
}
|
|
.btn,
|
|
.cbi-button {
|
|
font-size: 0.7rem;
|
|
padding: 0.18rem 0.45rem;
|
|
}
|
|
.tabs > li > a,
|
|
.cbi-tabmenu > li > a {
|
|
font-size: 0.67rem;
|
|
padding: 0.35rem 0.6rem;
|
|
}
|
|
.cbi-dropdown-container .cbi-dropdown {
|
|
min-width: 100%;
|
|
}
|
|
.main > .main-left > .nav > li > a,
|
|
.main > .main-left > .nav > .slide > .menu,
|
|
.main > .main-left > .nav > li > [data-title] {
|
|
font-size: 0.85rem;
|
|
}
|
|
.main > .main-left > .nav > .slide > .slide-menu > li > a {
|
|
font-size: 0.75rem;
|
|
}
|
|
.alert,
|
|
.alert-message {
|
|
padding: 0.4rem 0.6rem;
|
|
margin-bottom: 0.8rem;
|
|
}
|
|
#xhr_poll_status,
|
|
#xhr_poll_status.label,
|
|
#xhr_poll_status.label.danger,
|
|
#xhr_poll_status.label.success,
|
|
#xhr_poll_status.btn,
|
|
#xhr_poll_status.cbi-button,
|
|
[data-indicator="poll-status"],
|
|
[data-indicator="cbi-poll-status"] {
|
|
width: 18px !important;
|
|
height: 18px !important;
|
|
min-height: 18px !important;
|
|
}
|
|
#settings-toggle svg,
|
|
.status > * > svg {
|
|
width: 18px !important;
|
|
height: 18px !important;
|
|
}
|
|
}
|
|
@media screen and (max-width: 400px) {
|
|
.main-left {
|
|
width: 205px;
|
|
}
|
|
header > .fill > .container .brand {
|
|
font-size: 0.8rem;
|
|
}
|
|
fieldset,
|
|
.cbi-section {
|
|
margin: 0.8rem 0 0;
|
|
padding: 0.6rem 0.7rem !important;
|
|
}
|
|
h2 {
|
|
font-size: 1.45rem;
|
|
}
|
|
.cbi-section > h3:first-child,
|
|
.panel-title {
|
|
font-size: 1.15rem;
|
|
}
|
|
}
|
|
@media screen and (max-width: 370px) {
|
|
.main-left {
|
|
width: 195px;
|
|
}
|
|
header > .fill > .container .brand {
|
|
font-size: 0.75rem;
|
|
}
|
|
.label,
|
|
[data-indicator] {
|
|
font-size: 0.55rem;
|
|
padding: 0.15rem 0.3rem;
|
|
}
|
|
.btn,
|
|
.cbi-button {
|
|
font-size: 0.65rem;
|
|
padding: 0.15rem 0.4rem;
|
|
}
|
|
.tabs > li > a,
|
|
.cbi-tabmenu > li > a {
|
|
font-size: 0.63rem;
|
|
padding: 0.3rem 0.5rem;
|
|
}
|
|
}
|
|
@media screen and (min-width: 992px) {
|
|
::-webkit-scrollbar,
|
|
*::-webkit-scrollbar {
|
|
width: 10px;
|
|
height: 10px;
|
|
}
|
|
}
|
|
/* Luxe-2 */
|
|
.main > .loading {
|
|
animation: forceHideLoader 0.5s ease-in 3s forwards;
|
|
}
|
|
@keyframes forceHideLoader {
|
|
to {
|
|
opacity: 0;
|
|
visibility: hidden;
|
|
pointer-events: none;
|
|
display: none;
|
|
}
|
|
}
|
|
body[data-enable-navbar="0"] #row-slider-navbar,
|
|
body[data-enable-navbar="0"] #row-icon-count,
|
|
body[data-enable-navbar="0"] #row-autohide-navbar,
|
|
body[data-slider="true"] #row-icon-count {
|
|
display: none !important;
|
|
}
|
|
body[data-enable-navbar="0"] #floating-navbar {
|
|
display: none !important;
|
|
opacity: 0 !important;
|
|
pointer-events: none !important;
|
|
}
|
|
#floating-navbar.navbar-hidden {
|
|
opacity: 0 !important;
|
|
transform: translateX(-50%) translateY(150%) translateZ(0) !important;
|
|
pointer-events: none !important;
|
|
}
|
|
#floating-navbar {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
position: fixed;
|
|
z-index: 200;
|
|
bottom: calc(15px + env(safe-area-inset-bottom));
|
|
left: 50%;
|
|
transform: translateX(-50%) translateY(0) translateZ(0);
|
|
height: 46px;
|
|
width: max-content;
|
|
max-width: 90vw;
|
|
padding: 0;
|
|
border: var(--navBorder, 1px solid rgba(31,41,51,.08));
|
|
border-radius: var(--nav-border-radius, 14px);
|
|
background-color: var(--navbgColor, #fbfcff);
|
|
box-shadow: 0 10px 30px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.05);
|
|
backdrop-filter: blur(16px);
|
|
-webkit-backdrop-filter: blur(16px);
|
|
transition: transform 0.6s cubic-bezier(0.25, 1, 0.4, 1), opacity 0.6s cubic-bezier(0.25, 1, 0.4, 1);
|
|
will-change: transform, opacity;
|
|
}
|
|
.floating-icons-wrapper {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
height: 100%;
|
|
overflow: visible !important;
|
|
}
|
|
#floating-navbar a {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
text-decoration: none;
|
|
height: 100%;
|
|
z-index: 10;
|
|
-webkit-tap-highlight-color: transparent;
|
|
}
|
|
#floating-navbar a img {
|
|
object-fit: contain;
|
|
z-index: 2;
|
|
transform-origin: center bottom;
|
|
transform: translateY(0) scale(1);
|
|
transition: transform 0.5s cubic-bezier(0.25, 1.15, 0.4, 1), filter 0.5s ease;
|
|
will-change: transform;
|
|
}
|
|
#floating-navbar:not(.nav-slider-active) {
|
|
min-width: 200px;
|
|
padding: 0 12px;
|
|
}
|
|
#floating-navbar:not(.nav-slider-active) .nav-arrow {
|
|
display: none !important;
|
|
}
|
|
#floating-navbar:not(.nav-slider-active) .floating-icons-wrapper {
|
|
justify-content: space-evenly;
|
|
width: 100%;
|
|
gap: clamp(4px, 2vw, 16px);
|
|
}
|
|
#floating-navbar:not(.nav-slider-active) a {
|
|
flex: 1 1 auto;
|
|
width: clamp(28px, 9vw, 40px);
|
|
}
|
|
#floating-navbar:not(.nav-slider-active) a img {
|
|
width: clamp(26px, 8vw, 32px);
|
|
height: clamp(26px, 8vw, 32px);
|
|
}
|
|
body[data-icon="4"] #floating-navbar:not(.nav-slider-active) #iconWrapper a:nth-child(n+5),
|
|
body[data-icon="5"] #floating-navbar:not(.nav-slider-active) #iconWrapper a:nth-child(n+6),
|
|
body[data-icon="6"] #floating-navbar:not(.nav-slider-active) #iconWrapper a:nth-child(n+7),
|
|
body[data-icon="7"] #floating-navbar:not(.nav-slider-active) #iconWrapper a:nth-child(n+8),
|
|
body[data-icon="8"] #floating-navbar:not(.nav-slider-active) #iconWrapper a:nth-child(n+9) {
|
|
display: none !important;
|
|
}
|
|
#floating-navbar.nav-slider-active {
|
|
padding: 0 4px;
|
|
}
|
|
#floating-navbar.nav-slider-active .floating-icons-wrapper {
|
|
flex: 0 0 230px;
|
|
width: 230px;
|
|
max-width: 230px;
|
|
gap: 0;
|
|
justify-content: flex-start;
|
|
scroll-behavior: smooth;
|
|
scroll-snap-type: x mandatory;
|
|
overflow-x: auto !important;
|
|
overflow-y: hidden !important;
|
|
scrollbar-width: none;
|
|
-webkit-overflow-scrolling: touch;
|
|
padding: 30px 0 !important;
|
|
margin: -30px 0 !important;
|
|
}
|
|
#floating-navbar.nav-slider-active .floating-icons-wrapper::-webkit-scrollbar {
|
|
display: none !important;
|
|
width: 0 !important;
|
|
height: 0 !important;
|
|
}
|
|
#floating-navbar.nav-slider-active a {
|
|
flex: 0 0 46px;
|
|
width: 46px;
|
|
scroll-snap-align: center;
|
|
}
|
|
#floating-navbar.nav-slider-active a img {
|
|
width: 28px !important;
|
|
height: 28px !important;
|
|
}
|
|
#floating-navbar.nav-slider-active .nav-arrow {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
flex: 0 0 22px;
|
|
width: 22px;
|
|
height: 100%;
|
|
color: var(--activeColor);
|
|
font-size: 20px;
|
|
font-weight: 700;
|
|
cursor: pointer;
|
|
transition: transform .2s ease;
|
|
-webkit-tap-highlight-color: transparent;
|
|
}
|
|
#floating-navbar.nav-slider-active #prevArrow {
|
|
order: 1;
|
|
}
|
|
#floating-navbar.nav-slider-active .floating-icons-wrapper {
|
|
order: 2;
|
|
}
|
|
#floating-navbar.nav-slider-active #nextArrow {
|
|
order: 3;
|
|
}
|
|
#floating-navbar.nav-slider-active .nav-arrow:active {
|
|
transform: scale(.85);
|
|
}
|
|
#floating-navbar a:hover img {
|
|
transform: translateY(-8px) scale(1.15);
|
|
filter: drop-shadow(0px 6px 8px rgba(0,0,0,0.2));
|
|
}
|
|
#floating-navbar a.active img {
|
|
transform: translateY(-2px) scale(1.1);
|
|
filter: drop-shadow(0px 3px 4px rgba(0,0,0,0.25));
|
|
}
|
|
#floating-navbar a.active:hover img {
|
|
transform: translateY(-8px) scale(1.15);
|
|
filter: drop-shadow(0px 6px 8px rgba(0,0,0,0.3));
|
|
}
|
|
@media (hover:none) and (pointer:coarse) {
|
|
#floating-navbar a:hover img {
|
|
transform: translateY(-2px) scale(1.1);
|
|
}
|
|
#floating-navbar a:active img {
|
|
transform: translateY(-8px) scale(1.15);
|
|
transition: transform 0.15s ease-out;
|
|
}
|
|
}
|
|
@media screen and (max-width: 370px) {
|
|
#floating-navbar {
|
|
height: 42px;
|
|
}
|
|
#floating-navbar:not(.nav-slider-active) {
|
|
padding: 0 8px;
|
|
min-width: 180px;
|
|
}
|
|
#floating-navbar.nav-slider-active {
|
|
padding: 0 4px;
|
|
}
|
|
#floating-navbar.nav-slider-active .nav-arrow {
|
|
flex-basis: 18px;
|
|
width: 18px;
|
|
}
|
|
#floating-navbar.nav-slider-active .floating-icons-wrapper {
|
|
flex-basis: 178px;
|
|
width: 178px;
|
|
max-width: 178px;
|
|
}
|
|
#floating-navbar.nav-slider-active a {
|
|
flex-basis: 34px;
|
|
width: 34px;
|
|
}
|
|
#floating-navbar:not(.nav-slider-active) a img,
|
|
#floating-navbar.nav-slider-active a img {
|
|
width: 26px !important;
|
|
height: 26px !important;
|
|
}
|
|
}
|
|
html.luxe-login-auth,
|
|
.luxe-login,
|
|
.luxe-login * {
|
|
margin: 0;
|
|
padding: 0;
|
|
box-sizing: border-box;
|
|
transition: all 0.4s ease;
|
|
}
|
|
html.luxe-login-auth {
|
|
height: 100%;
|
|
overflow: hidden;
|
|
}
|
|
.luxe-login {
|
|
width: 100%;
|
|
height: 100%;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
font-family: system-ui, sans-serif;
|
|
background: var(--luxe-bg);
|
|
color: var(--luxe-text);
|
|
overflow: hidden;
|
|
position: fixed;
|
|
inset: 0;
|
|
}
|
|
.luxe-login .theme-pages-toggle {
|
|
position: absolute;
|
|
top: 20px;
|
|
right: 20px;
|
|
z-index: 1000;
|
|
animation: fadeInDown 0.6s ease 0.2s both;
|
|
}
|
|
.luxe-login .theme-pages-btn {
|
|
border-radius: 20px;
|
|
border: none;
|
|
padding: 5px 12px;
|
|
cursor: pointer;
|
|
font-weight: 600;
|
|
font-size: 10px;
|
|
font-family: inherit;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.6px;
|
|
background: var(--luxe-bg);
|
|
color: var(--luxe-text);
|
|
box-shadow: var(--luxe-shadow-out);
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.luxe-login .theme-pages-btn::before,
|
|
.luxe-login input[type="submit"]::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
right: -100%;
|
|
width: 100%;
|
|
height: 100%;
|
|
transition: right 0.4s ease;
|
|
}
|
|
.luxe-login .theme-pages-btn::before {
|
|
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.15), transparent);
|
|
}
|
|
.luxe-login input[type="submit"]::before {
|
|
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
|
|
}
|
|
.luxe-login .theme-pages-btn:hover::before,
|
|
.luxe-login input[type="submit"]:hover::before {
|
|
right: 100%;
|
|
}
|
|
.luxe-login .theme-pages-btn:hover {
|
|
box-shadow: var(--luxe-shadow-in);
|
|
transform: scale(0.95);
|
|
}
|
|
.luxe-login form {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
flex-direction: column;
|
|
width: 100%;
|
|
height: 100%;
|
|
position: relative;
|
|
}
|
|
.luxe-login .alert-message {
|
|
padding: 10px 14px !important;
|
|
border-radius: 10px !important;
|
|
background: var(--luxe-bg) !important;
|
|
color: var(--luxe-text) !important;
|
|
box-shadow: var(--luxe-shadow-out) !important;
|
|
border: 1px solid rgba(255, 255, 255, 0.03) !important;
|
|
border-left: 3px solid var(--luxe-accent) !important;
|
|
backdrop-filter: none !important;
|
|
-webkit-backdrop-filter: none !important;
|
|
font-weight: 500;
|
|
animation: slideDown 0.4s ease;
|
|
font-size: 12px;
|
|
position: absolute;
|
|
top: calc(50% - 225px);
|
|
width: 90%;
|
|
max-width: 320px;
|
|
text-align: center;
|
|
z-index: 9999;
|
|
}
|
|
.luxe-login .login_form_container {
|
|
width: 320px;
|
|
height: auto;
|
|
min-height: 310px;
|
|
border-radius: 28px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background: var(--luxe-bg);
|
|
box-shadow: var(--luxe-shadow-deep);
|
|
animation: slideUpFade 0.8s ease both;
|
|
position: relative;
|
|
padding: 2px;
|
|
z-index: 1;
|
|
}
|
|
.luxe-login .login_form {
|
|
width: 100%;
|
|
height: 100%;
|
|
padding: 20px 25px 52px 25px;
|
|
border-radius: 26px;
|
|
background: var(--luxe-bg);
|
|
box-shadow: var(--luxe-shadow-in);
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
position: relative;
|
|
z-index: 2;
|
|
}
|
|
.luxe-login h2 {
|
|
font-size: 24px;
|
|
font-weight: 700;
|
|
text-align: center;
|
|
margin-bottom: 10px;
|
|
color: var(--luxe-text);
|
|
animation: fadeIn 0.6s ease 0.3s both;
|
|
font-family: monospace !important;
|
|
min-height: 29px;
|
|
line-height: 29px;
|
|
}
|
|
.luxe-login .date-time {
|
|
text-align: center;
|
|
font-size: 12px;
|
|
opacity: 0.8;
|
|
margin-bottom: 18px;
|
|
color: var(--luxe-muted);
|
|
font-weight: 500;
|
|
animation: fadeIn 0.6s ease 0.4s both;
|
|
min-height: 18px;
|
|
line-height: 18px;
|
|
}
|
|
.luxe-login .input_group {
|
|
width: 86%;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
margin-bottom: 10px;
|
|
background: var(--luxe-bg) !important;
|
|
box-shadow: var(--luxe-shadow-in) !important;
|
|
border: none !important;
|
|
padding: 2px;
|
|
position: relative;
|
|
border-radius: 22px;
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
.luxe-login .input_group:nth-child(3) {
|
|
animation: fadeIn 0.6s ease 0.5s both;
|
|
}
|
|
.luxe-login .input_group:nth-child(4) {
|
|
animation: fadeIn 0.6s ease 0.6s both;
|
|
}
|
|
.luxe-login .input_text,
|
|
.luxe-login input[type="submit"] {
|
|
height: 34px !important;
|
|
min-height: 34px !important;
|
|
border: none !important;
|
|
outline: none !important;
|
|
font-size: 12px;
|
|
}
|
|
.luxe-login .input_text {
|
|
width: 100%;
|
|
border-radius: 14px !important;
|
|
padding: 0 40px 0 16px !important;
|
|
background: transparent !important;
|
|
color: var(--luxe-input) !important;
|
|
box-shadow: none !important;
|
|
position: relative;
|
|
z-index: 1;
|
|
}
|
|
.luxe-login .input_text:focus {
|
|
transform: scale(1.02);
|
|
box-shadow: none !important;
|
|
background: transparent !important;
|
|
}
|
|
.luxe-login ::placeholder {
|
|
color: var(--luxe-muted) !important;
|
|
opacity: 0.6 !important;
|
|
}
|
|
.luxe-login .t_eye {
|
|
position: absolute;
|
|
right: 14px;
|
|
cursor: pointer;
|
|
font-size: 16px;
|
|
color: var(--luxe-muted);
|
|
z-index: 10;
|
|
user-select: none;
|
|
transition: color 0.3s ease;
|
|
}
|
|
.luxe-login .t_eye:hover {
|
|
color: var(--luxe-accent);
|
|
}
|
|
.luxe-login input[type="submit"] {
|
|
width: 86%;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
margin-top: 10px;
|
|
font-weight: 600;
|
|
font-family: inherit;
|
|
letter-spacing: 2px;
|
|
cursor: pointer;
|
|
background: var(--luxe-bg) !important;
|
|
color: var(--luxe-accent) !important;
|
|
box-shadow: var(--luxe-shadow-out) !important;
|
|
border-radius: 22px !important;
|
|
animation: fadeIn 0.6s ease 0.7s both;
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.luxe-login input[type="submit"]:hover {
|
|
box-shadow: var(--luxe-shadow-in) !important;
|
|
color: var(--luxe-input) !important;
|
|
background: var(--luxe-bg) !important;
|
|
transform: scale(0.98);
|
|
}
|
|
.luxe-login .footer {
|
|
position: absolute;
|
|
bottom: 18px;
|
|
left: 0;
|
|
right: 0;
|
|
width: 100%;
|
|
text-align: center;
|
|
font-size: 11px;
|
|
color: var(--luxe-muted);
|
|
opacity: 0.7;
|
|
animation: fadeIn 0.6s ease 0.8s both;
|
|
letter-spacing: 0.3px;
|
|
}
|
|
.luxe-login.light {
|
|
--luxe-bg: #e6eef5;
|
|
--luxe-text: #2d3748;
|
|
--luxe-accent: #3182ce;
|
|
--luxe-input: #1a202c;
|
|
--luxe-muted: #718096;
|
|
--luxe-shadow-out: 8px 8px 16px #cbd5e0, -8px -8px 16px #ffffff;
|
|
--luxe-shadow-in: inset 4px 4px 8px #cbd5e0, inset -4px -4px 8px #ffffff;
|
|
--luxe-shadow-deep: 16px 16px 32px #cbd5e0, -16px -16px 32px #ffffff;
|
|
}
|
|
.luxe-login.brutal {
|
|
--luxe-bg: #f4f0e6;
|
|
--luxe-text: #0f0f0f;
|
|
--luxe-accent: #ff3b30;
|
|
--luxe-input: #0f0f0f;
|
|
--luxe-muted: #555;
|
|
--luxe-shadow-out: 4px 4px 0px #0f0f0f;
|
|
--luxe-shadow-in: inset 4px 4px 0px rgba(0,0,0,0.05);
|
|
--luxe-shadow-deep: 6px 6px 0px #0f0f0f;
|
|
}
|
|
.luxe-login.brutal .login_form_container,
|
|
.luxe-login.brutal .login_form,
|
|
.luxe-login.brutal .input_group,
|
|
.luxe-login.brutal input[type="submit"],
|
|
.luxe-login.brutal .theme-pages-btn {
|
|
border-radius: 0 !important;
|
|
border: 2px solid #0f0f0f !important;
|
|
}
|
|
.luxe-login.brutal .alert-message {
|
|
border-radius: 0 !important;
|
|
border: 2px solid #0f0f0f !important;
|
|
border-left: 6px solid var(--luxe-accent) !important;
|
|
}
|
|
.luxe-login.brutal .login_form_container {
|
|
padding: 0;
|
|
background: #fff !important;
|
|
box-shadow: var(--luxe-shadow-deep) !important;
|
|
}
|
|
.luxe-login.glass .login_form,
|
|
.luxe-login.metal-glass .login_form,
|
|
.luxe-login.brutal .login_form,
|
|
.luxe-login.glass-matte .login_form {
|
|
background: transparent !important;
|
|
box-shadow: none !important;
|
|
}
|
|
.luxe-login.brutal .login_form {
|
|
border: none !important;
|
|
}
|
|
.luxe-login.brutal .input_group {
|
|
margin-bottom: 15px;
|
|
padding: 0;
|
|
background: #fff !important;
|
|
box-shadow: var(--luxe-shadow-in) !important;
|
|
border-color: #0f0f0f !important;
|
|
}
|
|
.luxe-login.brutal .input_text {
|
|
border-radius: 0 !important;
|
|
}
|
|
.luxe-login.brutal input[type="submit"] {
|
|
box-shadow: var(--luxe-shadow-out) !important;
|
|
background: var(--luxe-accent) !important;
|
|
color: #fff !important;
|
|
text-transform: uppercase;
|
|
}
|
|
.luxe-login.brutal input[type="submit"]:hover {
|
|
box-shadow: 0px 0px 0px #0f0f0f !important;
|
|
transform: translate(4px, 4px);
|
|
background: #0f0f0f !important;
|
|
color: #fff !important;
|
|
}
|
|
.luxe-login.brutal .theme-pages-btn {
|
|
box-shadow: var(--luxe-shadow-out);
|
|
background: #fff;
|
|
}
|
|
.luxe-login.brutal .theme-pages-btn:hover {
|
|
box-shadow: 0px 0px 0px #0f0f0f;
|
|
transform: translate(4px, 4px);
|
|
}
|
|
.luxe-login.glass::before {
|
|
content: "";
|
|
position: fixed;
|
|
inset: 0;
|
|
background: url('../images/luxe-os.png') center/cover no-repeat;
|
|
z-index: -2;
|
|
}
|
|
.luxe-login.glass-matte::before {
|
|
content: "";
|
|
position: fixed;
|
|
inset: 0;
|
|
background: url('../images/luxe-os.png') center/cover no-repeat;
|
|
z-index: -2;
|
|
filter: blur(10px);
|
|
transform: scale(1.15);
|
|
}
|
|
.luxe-login.glass {
|
|
--luxe-bg: transparent;
|
|
--luxe-text: #fff;
|
|
--luxe-accent: #fff;
|
|
--luxe-input: #fff;
|
|
--luxe-muted: rgba(255, 255, 255, 0.8);
|
|
--luxe-shadow-out: 0 4px 15px rgba(0, 0, 0, 0.3);
|
|
--luxe-shadow-in: inset 1px 1px 3px rgba(0, 0, 0, 0.3);
|
|
--luxe-shadow-deep: 0 8px 32px rgba(0, 0, 0, 0.4);
|
|
}
|
|
.luxe-login.glass .login_form_container,
|
|
.luxe-login.glass .theme-pages-btn {
|
|
background: transparent !important;
|
|
backdrop-filter: none !important;
|
|
border: 1px solid rgba(255, 255, 255, 0.35) !important;
|
|
}
|
|
.luxe-login.glass .alert-message {
|
|
background: transparent !important;
|
|
border: 1px solid rgba(255, 255, 255, 0.35) !important;
|
|
}
|
|
.luxe-login.glass .input_group {
|
|
background: transparent !important;
|
|
border: 1px solid rgba(255, 255, 255, 0.25) !important;
|
|
box-shadow: var(--luxe-shadow-in) !important;
|
|
}
|
|
.luxe-login.glass input[type="submit"] {
|
|
background: transparent !important;
|
|
border: 1px solid rgba(255, 255, 255, 0.35) !important;
|
|
box-shadow: var(--luxe-shadow-out) !important;
|
|
}
|
|
.luxe-login.glass input[type="submit"]:hover {
|
|
background: rgba(255, 255, 255, 0.15) !important;
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4) !important;
|
|
transform: scale(0.98);
|
|
border-color: rgba(255, 255, 255, 0.5) !important;
|
|
}
|
|
.luxe-login.glass-matte {
|
|
--luxe-bg: transparent;
|
|
--luxe-text: #fff;
|
|
--luxe-accent: #fff;
|
|
--luxe-input: #fff;
|
|
--luxe-muted: rgba(255, 255, 255, 0.85);
|
|
--luxe-shadow-out: 0 8px 24px rgba(0, 0, 0, 0.2), inset 1px 1px 2px rgba(255, 255, 255, 0.8), inset -1px -1px 2px rgba(0, 0, 0, 0.1);
|
|
--luxe-shadow-in: inset 2px 2px 6px rgba(0, 0, 0, 0.25), inset -1px -1px 2px rgba(255, 255, 255, 0.15);
|
|
--luxe-shadow-deep: 0 15px 35px rgba(0, 0, 0, 0.35), inset 1.5px 1.5px 3px rgba(255, 255, 255, 0.95), inset -1.5px -1.5px 3px rgba(0, 0, 0, 0.2);
|
|
}
|
|
.luxe-login.glass-matte .login_form_container,
|
|
.luxe-login.glass-matte .theme-pages-btn,
|
|
.luxe-login.glass-matte .alert-message {
|
|
background: linear-gradient(135deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0) 100%) !important;
|
|
border: 1px solid rgba(255, 255, 255, 0.5) !important;
|
|
border-bottom-color: rgba(255, 255, 255, 0.1) !important;
|
|
border-right-color: rgba(255, 255, 255, 0.1) !important;
|
|
box-shadow: var(--luxe-shadow-deep) !important;
|
|
}
|
|
.luxe-login.glass-matte .input_group {
|
|
background: rgba(0, 0, 0, 0.08) !important;
|
|
border: 1px solid rgba(255, 255, 255, 0.15) !important;
|
|
border-top-color: rgba(0, 0, 0, 0.15) !important;
|
|
border-left-color: rgba(0, 0, 0, 0.15) !important;
|
|
box-shadow: var(--luxe-shadow-in) !important;
|
|
}
|
|
.luxe-login.glass-matte input[type="submit"] {
|
|
background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.0) 100%) !important;
|
|
border: 1px solid rgba(255, 255, 255, 0.4) !important;
|
|
border-bottom-color: rgba(255, 255, 255, 0.05) !important;
|
|
border-right-color: rgba(255, 255, 255, 0.05) !important;
|
|
box-shadow: var(--luxe-shadow-out) !important;
|
|
}
|
|
.luxe-login.glass-matte input[type="submit"]:hover {
|
|
background: linear-gradient(135deg, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0.02) 100%) !important;
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25), inset 1px 1px 2px rgba(255, 255, 255, 0.9), inset -1px -1px 2px rgba(0, 0, 0, 0.15) !important;
|
|
transform: scale(0.98);
|
|
}
|
|
.luxe-login.metal-glass {
|
|
--luxe-bg: linear-gradient(145deg, #e2e6eb 0%, #7e8794 45%, #050505 100%);
|
|
--luxe-text: #f0f0f5;
|
|
--luxe-accent: #b0c4de;
|
|
--luxe-input: #fff;
|
|
--luxe-muted: rgba(200, 210, 220, 0.7);
|
|
--luxe-shadow-out: 8px 8px 16px rgba(0, 0, 0, 0.7), -4px -4px 12px rgba(255, 255, 255, 0.2);
|
|
--luxe-shadow-in: inset 3px 3px 8px rgba(10, 10, 15, 0.8), inset -2px -2px 6px rgba(255, 255, 255, 0.3);
|
|
--luxe-shadow-deep: 0 30px 60px rgba(0, 0, 0, 0.6), 0 12px 24px rgba(0, 0, 0, 0.4), inset 2px 2px 5px rgba(255, 255, 255, 0.7), inset -3px -3px 6px rgba(0, 0, 0, 0.8);
|
|
}
|
|
.luxe-login.metal-glass .login_form_container,
|
|
.luxe-login.metal-glass .theme-pages-btn {
|
|
backdrop-filter: blur(12px) grayscale(40%);
|
|
background: linear-gradient(145deg, rgba(220, 225, 230, 0.2), rgba(20, 20, 25, 0.7)) !important;
|
|
border: 1px solid rgba(255, 255, 255, 0.1) !important;
|
|
border-top: 1px solid rgba(255, 255, 255, 0.6) !important;
|
|
border-left: 1px solid rgba(255, 255, 255, 0.4) !important;
|
|
border-bottom: 1px solid rgba(0, 0, 0, 0.8) !important;
|
|
border-right: 1px solid rgba(0, 0, 0, 0.6) !important;
|
|
}
|
|
.luxe-login.metal-glass .alert-message {
|
|
backdrop-filter: blur(12px) grayscale(40%) !important;
|
|
-webkit-backdrop-filter: blur(12px) grayscale(40%) !important;
|
|
background: linear-gradient(145deg, rgba(220, 225, 230, 0.2), rgba(20, 20, 25, 0.7)) !important;
|
|
border: 1px solid rgba(255, 255, 255, 0.1) !important;
|
|
border-top: 1px solid rgba(255, 255, 255, 0.6) !important;
|
|
border-bottom: 1px solid rgba(0, 0, 0, 0.8) !important;
|
|
border-right: 1px solid rgba(0, 0, 0, 0.6) !important;
|
|
}
|
|
.luxe-login.metal-glass .input_group {
|
|
background: linear-gradient(to bottom, rgba(15, 15, 20, 0.5), rgba(50, 50, 55, 0.2)) !important;
|
|
border-top: 1px solid rgba(0, 0, 0, 0.8) !important;
|
|
border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
|
|
box-shadow: var(--luxe-shadow-in) !important;
|
|
}
|
|
.luxe-login.metal-glass input[type="submit"] {
|
|
background: linear-gradient(to bottom, rgba(160, 170, 180, 0.4), rgba(70, 75, 85, 0.6)) !important;
|
|
border: 1px solid rgba(200, 200, 210, 0.4) !important;
|
|
box-shadow: var(--luxe-shadow-out), inset 0 2px 4px rgba(255,255,255,0.4) !important;
|
|
text-shadow: 0 1px 2px rgba(0,0,0,0.8);
|
|
}
|
|
.luxe-login.metal-glass input[type="submit"]:hover {
|
|
background: linear-gradient(to bottom, rgba(180, 190, 200, 0.5), rgba(90, 95, 105, 0.7)) !important;
|
|
transform: scale(0.98);
|
|
box-shadow: inset 0 1px 3px rgba(255, 255, 255, 0.3), 0 2px 8px rgba(0, 0, 0, 0.6) !important;
|
|
}
|
|
.luxe-login.liquid-flow {
|
|
--luxe-bg: linear-gradient(145deg, #e2e6eb 0%, #7e8794 45%, #050505 100%);
|
|
--luxe-text: #f0f0f5;
|
|
--luxe-accent: #b0c4de;
|
|
--luxe-input: #fff;
|
|
--luxe-muted: rgba(200, 210, 220, 0.7);
|
|
--luxe-shadow-out: 6px 6px 14px rgba(0, 0, 0, 0.5), -6px -6px 14px rgba(255, 255, 255, 0.15);
|
|
--luxe-shadow-in: inset 1px 1px 3px rgba(0, 0, 0, 0.5), inset -1px -1px 3px rgba(255, 255, 255, 0.1);
|
|
--luxe-shadow-deep: 12px 12px 24px rgba(0, 0, 0, 0.6), -12px -12px 24px rgba(255, 255, 255, 0.05);
|
|
}
|
|
.luxe-login.liquid-flow .alert-message {
|
|
background: rgba(30, 35, 40, 0.35) !important;
|
|
backdrop-filter: blur(14px) saturate(130%) !important;
|
|
-webkit-backdrop-filter: blur(14px) saturate(130%) !important;
|
|
border: 1px solid rgba(255, 255, 255, 0.15) !important;
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
|
|
}
|
|
.luxe-login.liquid-flow .login_form_container {
|
|
padding: 0 !important;
|
|
box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5), 0 8px 16px rgba(0, 0, 0, 0.4), inset 2px 2px 4px rgba(255, 255, 255, 0.3), inset -2px -2px 5px rgba(0, 0, 0, 0.6) !important;
|
|
background: rgba(30, 35, 40, 0.25) !important;
|
|
backdrop-filter: blur(14px) saturate(130%) !important;
|
|
-webkit-backdrop-filter: blur(14px) saturate(130%) !important;
|
|
border: 1px solid rgba(255, 255, 255, 0.1) !important;
|
|
border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
|
|
animation: slideUpFade 0.8s ease both, liquidFlow 10s ease-in-out 1s infinite;
|
|
}
|
|
.luxe-login.liquid-flow .login_form {
|
|
background: transparent !important;
|
|
backdrop-filter: none !important;
|
|
-webkit-backdrop-filter: none !important;
|
|
border-radius: inherit;
|
|
box-shadow: none !important;
|
|
animation: liquidFlow 10s ease-in-out 1s infinite;
|
|
width: 100% !important;
|
|
height: 100% !important;
|
|
}
|
|
.luxe-login.liquid-flow input[type="submit"] {
|
|
box-shadow: var(--luxe-shadow-out), inset 2px 2px 4px rgba(255, 255, 255, 0.35), inset -2px -2px 4px rgba(0, 0, 0, 0.8) !important;
|
|
border: 1px solid rgba(255, 255, 255, 0.15) !important;
|
|
}
|
|
.luxe-login.liquid-flow input[type="submit"]:hover {
|
|
box-shadow: inset 2px 2px 6px rgba(0, 0, 0, 0.8), inset -2px -2px 6px rgba(255, 255, 255, 0.2) !important;
|
|
transform: scale(0.98);
|
|
}
|
|
.luxe-login.liquid-flow .liquid-flow-paused {
|
|
animation-play-state: paused !important;
|
|
}
|
|
.luxe-login.gradien {
|
|
--luxe-bg: rgba(10, 10, 20, 0.25);
|
|
--luxe-text: #fff;
|
|
--luxe-accent: #fff;
|
|
--luxe-input: #fff;
|
|
--luxe-muted: rgba(255, 255, 255, 0.95);
|
|
--luxe-shadow-out: 8px 8px 16px rgba(0, 0, 0, 0.3), -8px -8px 16px rgba(255, 255, 255, 0.06);
|
|
--luxe-shadow-in: inset 4px 4px 8px rgba(0, 0, 0, 0.2), inset -4px -4px 8px rgba(255, 255, 255, 0.06);
|
|
--luxe-shadow-deep: 20px 20px 40px rgba(0, 0, 0, 0.4), -20px -20px 40px rgba(255, 255, 255, 0.05);
|
|
}
|
|
.luxe-login.gradien::after {
|
|
content: "";
|
|
position: fixed;
|
|
inset: 0;
|
|
background: linear-gradient(135deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.35));
|
|
z-index: -1;
|
|
}
|
|
.luxe-login.gradien::before {
|
|
content: "";
|
|
position: fixed;
|
|
inset: 0;
|
|
background: linear-gradient(45deg, #667eea, #764ba2, #f093fb, #4facfe, #84fab0, #ff9a9e, #fccb90, #e0c3fc);
|
|
background-size: 800% 800%;
|
|
animation: bgShift 15s ease infinite;
|
|
z-index: -2;
|
|
}
|
|
.luxe-login.gradien .login_form_container {
|
|
background: rgba(20, 20, 35, 0.25) !important;
|
|
backdrop-filter: blur(18px) saturate(200%);
|
|
border: 1.5px solid rgba(255, 255, 255, 0.3) !important;
|
|
}
|
|
.luxe-login.gradien .login_form {
|
|
background: rgba(10, 10, 25, 0.2) !important;
|
|
backdrop-filter: blur(12px) saturate(180%);
|
|
}
|
|
.luxe-login.neon,
|
|
.luxe-login.curve,
|
|
.luxe-login.matrix,
|
|
.luxe-login.pulse,
|
|
.luxe-login.ocean {
|
|
--luxe-bg: #0e1b3c;
|
|
}
|
|
.luxe-login.neon {
|
|
--luxe-text: #00d9ff;
|
|
--luxe-accent: #00d9ff;
|
|
--luxe-input: #ff00ff;
|
|
--luxe-muted: #7a8ea8;
|
|
--luxe-grad: linear-gradient(90deg, #00d9ff, #ff00ff, #00d9ff);
|
|
--luxe-gsize: 200% 200%;
|
|
}
|
|
.luxe-login.curve {
|
|
--luxe-text: #8ac9e6;
|
|
--luxe-accent: #8ac9e6;
|
|
--luxe-input: #d96aa3;
|
|
--luxe-muted: #e8e096;
|
|
--luxe-grad: linear-gradient(180deg, #4cc9f0 0%, #4cc9f0 25%, #f72585 25%, #f72585 50%, #fef13c 50%, #fef13c 75%, #4ff181 75%, #4ff181 100%);
|
|
--luxe-gsize: 200% 200%;
|
|
}
|
|
.luxe-login.matrix {
|
|
--luxe-text: #9c9fe8;
|
|
--luxe-accent: #9c9fe8;
|
|
--luxe-input: #e8e096;
|
|
--luxe-muted: #a0aac5;
|
|
--luxe-grad: linear-gradient(135deg, #7a7dd6 0%, #1a1d4f 30%, #7a7dd6 60%, #fef338 100%);
|
|
--luxe-gsize: 300% 300%;
|
|
}
|
|
.luxe-login.pulse {
|
|
--luxe-text: #4cc9f0;
|
|
--luxe-accent: #4cc9f0;
|
|
--luxe-input: #f72585;
|
|
--luxe-muted: #fef13c;
|
|
}
|
|
.luxe-login.neon h2 {
|
|
text-shadow: 0 0 5px rgba(0, 217, 255, 0.4), 0 0 10px rgba(255, 0, 255, 0.3);
|
|
}
|
|
.luxe-login.curve h2 {
|
|
text-shadow: 0 0 5px rgba(76, 201, 240, 0.4), 0 0 8px rgba(76, 201, 240, 0.2);
|
|
}
|
|
.luxe-login.matrix h2 {
|
|
text-shadow: 0 0 5px rgba(122, 125, 214, 0.4), 0 0 10px rgba(122, 125, 214, 0.2);
|
|
}
|
|
.luxe-login.neon .login_form_container,
|
|
.luxe-login.curve .login_form_container,
|
|
.luxe-login.matrix .login_form_container,
|
|
.luxe-login.pulse .login_form_container {
|
|
background: transparent !important;
|
|
background-size: var(--luxe-gsize);
|
|
padding: 3px !important;
|
|
position: relative;
|
|
animation: slideUpFade 0.8s ease both;
|
|
}
|
|
.luxe-login.ocean .login_form_container {
|
|
background: transparent !important;
|
|
padding: 3px !important;
|
|
overflow: hidden !important;
|
|
position: relative;
|
|
z-index: 1;
|
|
}
|
|
.luxe-login.neon .login_form_container::before,
|
|
.luxe-login.curve .login_form_container::before,
|
|
.luxe-login.matrix .login_form_container::before,
|
|
.luxe-login.pulse .login_form_container::before {
|
|
content: "";
|
|
position: absolute;
|
|
inset: 0;
|
|
background: var(--luxe-grad);
|
|
background-size: var(--luxe-gsize);
|
|
border-radius: 28px;
|
|
z-index: -1;
|
|
}
|
|
.luxe-login.pulse .login_form_container::before {
|
|
inset: 2px;
|
|
border-radius: 26px;
|
|
}
|
|
.luxe-login.neon .login_form_container::before {
|
|
animation: bgShift 3s ease infinite;
|
|
}
|
|
.luxe-login.curve .login_form_container::before {
|
|
animation: dualShift 13s ease-in-out infinite;
|
|
}
|
|
.luxe-login.matrix .login_form_container::before {
|
|
animation: matrixFlow 4s ease-in-out infinite;
|
|
}
|
|
.luxe-login.pulse .login_form_container::before {
|
|
animation: pulseGlow 4s ease-in-out infinite;
|
|
}
|
|
.luxe-login.neon .login_form,
|
|
.luxe-login.curve .login_form,
|
|
.luxe-login.matrix .login_form,
|
|
.luxe-login.pulse .login_form,
|
|
.luxe-login.ocean .login_form {
|
|
background: var(--luxe-bg) !important;
|
|
box-shadow: none !important;
|
|
border-radius: 25px !important;
|
|
}
|
|
.luxe-login.ocean {
|
|
--luxe-bg: #16213e;
|
|
--luxe-text: #00ff93;
|
|
--luxe-accent: #00ff93;
|
|
--luxe-input: #00a8cc;
|
|
--luxe-muted: #a0a0a0;
|
|
}
|
|
.luxe-login.ocean .login_form_container::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: -50%;
|
|
left: -50%;
|
|
width: 200%;
|
|
height: 200%;
|
|
background: conic-gradient(#82ffbc 0deg 90deg, transparent 90deg 180deg, #4f00ff 180deg 270deg, transparent 270deg 360deg);
|
|
animation: borderRotate 4s linear infinite;
|
|
z-index: -1;
|
|
border-radius: 0;
|
|
}
|
|
@keyframes slideUpFade {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(60px) scale(0.95);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0) scale(1);
|
|
}
|
|
}
|
|
@keyframes fadeIn {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(15px);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
@keyframes fadeInDown {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(-15px);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
@keyframes slideDown {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(-20px);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
@keyframes liquidFlow {
|
|
0%, 100% {
|
|
border-radius: 60% 40% 30% 70%/60% 30% 70% 40%;
|
|
}
|
|
32% {
|
|
border-radius: 100% 60% 60% 100%/100% 100% 60% 60%;
|
|
}
|
|
64% {
|
|
border-radius: 50% 60% 90% 40%/60% 40% 40% 50%;
|
|
}
|
|
}
|
|
@keyframes bgShift {
|
|
0%, 100% {
|
|
background-position: 0% 50%;
|
|
}
|
|
50% {
|
|
background-position: 100% 50%;
|
|
}
|
|
}
|
|
@keyframes borderRotate {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
@keyframes pulseGlow {
|
|
0%, 100% {
|
|
box-shadow: 0 0 8px #4cc9f0, inset 0 0 8px rgba(76, 201, 240, 0.1);
|
|
}
|
|
25% {
|
|
box-shadow: 0 0 8px #f72585, inset 0 0 8px rgba(247, 37, 133, 0.1);
|
|
}
|
|
50% {
|
|
box-shadow: 0 0 8px #fef13c, inset 0 0 8px rgba(254, 241, 60, 0.1);
|
|
}
|
|
75% {
|
|
box-shadow: 0 0 8px #4ff181, inset 0 0 8px rgba(79, 241, 129, 0.1);
|
|
}
|
|
}
|
|
@keyframes dualShift {
|
|
0%, 100% {
|
|
background-position: 0% 0%;
|
|
}
|
|
25% {
|
|
background-position: 100% 0%;
|
|
}
|
|
50% {
|
|
background-position: 100% 100%;
|
|
}
|
|
75% {
|
|
background-position: 0% 100%;
|
|
}
|
|
}
|
|
@keyframes matrixFlow {
|
|
0%, 100% {
|
|
background-position: 0% 0%;
|
|
}
|
|
50% {
|
|
background-position: 50% 100%;
|
|
}
|
|
}
|
|
@media (max-width: 768px) {
|
|
.luxe-login .login_form_container {
|
|
width: 78vw;
|
|
min-height: 275px;
|
|
max-width: 260px;
|
|
}
|
|
.luxe-login .login_form {
|
|
padding: 15px 18px 42px 18px;
|
|
}
|
|
.luxe-login h2 {
|
|
font-size: 22px;
|
|
margin-bottom: 8px;
|
|
}
|
|
.luxe-login .date-time {
|
|
font-size: 11px;
|
|
margin-bottom: 15px;
|
|
}
|
|
.luxe-login .input_text,
|
|
.luxe-login input[type="submit"] {
|
|
height: 32px !important;
|
|
min-height: 32px !important;
|
|
font-size: 12px;
|
|
}
|
|
.luxe-login .input_text {
|
|
padding: 0 35px 0 14px !important;
|
|
}
|
|
.luxe-login .input_group {
|
|
margin-bottom: 10px;
|
|
}
|
|
.luxe-login input[type="submit"] {
|
|
margin-top: 8px;
|
|
}
|
|
.luxe-login .theme-pages-toggle {
|
|
top: 12px;
|
|
right: 12px;
|
|
}
|
|
.luxe-login .theme-pages-btn {
|
|
padding: 4px 10px;
|
|
font-size: 9px;
|
|
}
|
|
.luxe-login .footer {
|
|
bottom: 14px;
|
|
font-size: 11px;
|
|
}
|
|
.luxe-login .alert-message {
|
|
top: calc(50% - 190px) !important;
|
|
max-width: 82%;
|
|
}
|
|
}
|