/*! Pure v2.0.3 Copyright 2013 Yahoo! Licensed under the BSD License. https://github.com/pure-css/pure/blob/master/LICENSE.md */ /*! normalize.css v | MIT License | git.io/normalize Copyright (c) Nicolas Gallagher and Jonathan Neal */ /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ html { line-height: 1.15; -webkit-text-size-adjust: 100% } body { margin: 0 } main { display: block } h1 { font-size: 2em; margin: .67em 0 } hr { -webkit-box-sizing: content-box; box-sizing: content-box; height: 0; overflow: visible } pre { font-family: monospace, monospace; font-size: 1em } a { background-color: transparent } abbr[title] { border-bottom: none; text-decoration: underline; -webkit-text-decoration: underline dotted; text-decoration: underline dotted } b, strong { font-weight: bolder } code, kbd, samp { font-family: monospace, monospace; font-size: 1em } small { font-size: 80% } sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline } sub { bottom: -0.25em } sup { top: -0.5em } img { border-style: none } button, input, optgroup, select, textarea { font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0 } button, input { overflow: visible } button, select { text-transform: none } [type=button], [type=reset], [type=submit], button { -webkit-appearance: button } [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner { border-style: none; padding: 0 } [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring { outline: 1px dotted ButtonText } fieldset { padding: .35em .75em .625em } legend { -webkit-box-sizing: border-box; box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal } progress { vertical-align: baseline } textarea { overflow: auto; overflow-x: hidden; } [type=checkbox], [type=radio] { -webkit-box-sizing: border-box; box-sizing: border-box; padding: 0 } [type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button { height: auto } [type=search] { -webkit-appearance: textfield; outline-offset: -2px } [type=search]::-webkit-search-decoration { -webkit-appearance: none } ::-webkit-file-upload-button { -webkit-appearance: button; font: inherit } details { display: block } summary { display: list-item } template { display: none } [hidden] { display: none } html { font-family: sans-serif } .hidden, [hidden] { display: none !important } .pure-img { max-width: 100%; height: auto } .pure-g { letter-spacing: -0.31em; text-rendering: optimizespeed; font-family: FreeSans, Arimo, "Droid Sans", Helvetica, Arial, sans-serif; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; -ms-flex-line-pack: start; align-content: flex-start } @media all and (-ms-high-contrast:none), (-ms-high-contrast:active) { table .pure-g { display: block } } .opera-only :-o-prefocus, .pure-g { word-spacing: -0.43em } .pure-u { display: inline-block; letter-spacing: normal; word-spacing: normal; vertical-align: top; text-rendering: auto } .pure-g [class*=pure-u] { font-family: sans-serif } .pure-u-1, .pure-u-1-1, .pure-u-1-12, .pure-u-1-2, .pure-u-1-24, .pure-u-1-3, .pure-u-1-4, .pure-u-1-5, .pure-u-1-6, .pure-u-1-8, .pure-u-10-24, .pure-u-11-12, .pure-u-11-24, .pure-u-12-24, .pure-u-13-24, .pure-u-14-24, .pure-u-15-24, .pure-u-16-24, .pure-u-17-24, .pure-u-18-24, .pure-u-19-24, .pure-u-2-24, .pure-u-2-3, .pure-u-2-5, .pure-u-20-24, .pure-u-21-24, .pure-u-22-24, .pure-u-23-24, .pure-u-24-24, .pure-u-3-24, .pure-u-3-4, .pure-u-3-5, .pure-u-3-8, .pure-u-4-24, .pure-u-4-5, .pure-u-5-12, .pure-u-5-24, .pure-u-5-5, .pure-u-5-6, .pure-u-5-8, .pure-u-6-24, .pure-u-7-12, .pure-u-7-24, .pure-u-7-8, .pure-u-8-24, .pure-u-9-24 { display: inline-block; letter-spacing: normal; word-spacing: normal; vertical-align: top; text-rendering: auto } .pure-u-1-24 { width: 4.1667% } .pure-u-1-12, .pure-u-2-24 { width: 8.3333% } .pure-u-1-8, .pure-u-3-24 { width: 12.5% } .pure-u-1-6, .pure-u-4-24 { width: 16.6667% } .pure-u-1-5 { width: 20% } .pure-u-5-24 { width: 20.8333% } .pure-u-1-4, .pure-u-6-24 { width: 25% } .pure-u-7-24 { width: 29.1667% } .pure-u-1-3, .pure-u-8-24 { width: 33.3333% } .pure-u-3-8, .pure-u-9-24 { width: 37.5% } .pure-u-2-5 { width: 40% } .pure-u-10-24, .pure-u-5-12 { width: 41.6667% } .pure-u-11-24 { width: 45.8333% } .pure-u-1-2, .pure-u-12-24 { width: 50% } .pure-u-13-24 { width: 54.1667% } .pure-u-14-24, .pure-u-7-12 { width: 58.3333% } .pure-u-3-5 { width: 60% } .pure-u-15-24, .pure-u-5-8 { width: 62.5% } .pure-u-16-24, .pure-u-2-3 { width: 66.6667% } .pure-u-17-24 { width: 70.8333% } .pure-u-18-24, .pure-u-3-4 { width: 75% } .pure-u-19-24 { width: 79.1667% } .pure-u-4-5 { width: 80% } .pure-u-20-24, .pure-u-5-6 { width: 83.3333% } .pure-u-21-24, .pure-u-7-8 { width: 87.5% } .pure-u-11-12, .pure-u-22-24 { width: 91.6667% } .pure-u-23-24 { width: 95.8333% } .pure-u-1, .pure-u-1-1, .pure-u-24-24, .pure-u-5-5 { width: 100% } .pure-button { display: inline-block; line-height: normal; white-space: nowrap; vertical-align: middle; text-align: center; cursor: pointer; -webkit-user-drag: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-box-sizing: border-box; box-sizing: border-box } .pure-button::-moz-focus-inner { padding: 0; border: 0 } .pure-button-group { letter-spacing: -0.31em; text-rendering: optimizespeed } .opera-only :-o-prefocus, .pure-button-group { word-spacing: -0.43em } .pure-button-group .pure-button { letter-spacing: normal; word-spacing: normal; vertical-align: top; text-rendering: auto } .pure-button { font-family: inherit; font-size: 100%; padding: .5em 1em; color: var(--text-primary); border: none transparent; background-color: var(--card-bg); text-decoration: none; border-radius: 2px; } .pure-button-hover, .pure-button:focus, .pure-button:hover { background-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(40%, rgba(0, 0, 0, 0.05)), to(rgba(0, 0, 0, 0.1))); background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.05) 40%, rgba(0, 0, 0, 0.1)) } .pure-button:focus { outline: 0 } .pure-button-active, .pure-button:active { -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15) inset, 0 0 6px rgba(0, 0, 0, 0.2) inset; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15) inset, 0 0 6px rgba(0, 0, 0, 0.2) inset; border-color: #000 } .pure-button-disabled, .pure-button-disabled:active, .pure-button-disabled:focus, .pure-button-disabled:hover, .pure-button[disabled] { border: none; background-image: none; opacity: .4; cursor: not-allowed; -webkit-box-shadow: none; box-shadow: none; pointer-events: none } .pure-button-hidden { display: none } .pure-button-primary, .pure-button-selected, a.pure-button-primary, a.pure-button-selected { background-color: var(--btn-primary-bg); color: var(--color-white); } .pure-button-group .pure-button { margin: 0; border-radius: 0; border-right: 1px solid rgba(0, 0, 0, 0.2) } .pure-button-group .pure-button:first-child { border-top-left-radius: 2px; border-bottom-left-radius: 2px } .pure-button-group .pure-button:last-child { border-top-right-radius: 2px; border-bottom-right-radius: 2px; border-right: none } .pure-form input[type=color], .pure-form input[type=date], .pure-form input[type=datetime-local], .pure-form input[type=datetime], .pure-form input[type=email], .pure-form input[type=month], .pure-form input[type=number], .pure-form input[type=password], .pure-form input[type=search], .pure-form input[type=tel], .pure-form input[type=text], .pure-form input[type=time], .pure-form input[type=url], .pure-form input[type=week], .pure-form select, .pure-form textarea { padding: .5em .6em; display: inline-block; border: 1px solid #ccc; -webkit-box-shadow: inset 0 1px 3px #ddd; box-shadow: inset 0 1px 3px #ddd; border-radius: 4px; vertical-align: middle; -webkit-box-sizing: border-box; box-sizing: border-box } .pure-form input:not([type]) { padding: .5em .6em; display: inline-block; border: 1px solid #ccc; -webkit-box-shadow: inset 0 1px 3px #ddd; box-shadow: inset 0 1px 3px #ddd; border-radius: 4px; -webkit-box-sizing: border-box; box-sizing: border-box } .pure-form input[type=color] { padding: .2em .5em } .pure-form input[type=color]:focus, .pure-form input[type=date]:focus, .pure-form input[type=datetime-local]:focus, .pure-form input[type=datetime]:focus, .pure-form input[type=email]:focus, .pure-form input[type=month]:focus, .pure-form input[type=number]:focus, .pure-form input[type=password]:focus, .pure-form input[type=search]:focus, .pure-form input[type=tel]:focus, .pure-form input[type=text]:focus, .pure-form input[type=time]:focus, .pure-form input[type=url]:focus, .pure-form input[type=week]:focus, .pure-form select:focus, .pure-form textarea:focus { outline: 0; border-color: #129fea } .pure-form input:not([type]):focus { outline: 0; border-color: #129fea } .pure-form input[type=checkbox]:focus, .pure-form input[type=file]:focus, .pure-form input[type=radio]:focus { outline: thin solid #129fea; outline: 1px auto #129fea } .pure-form .pure-checkbox, .pure-form .pure-radio { margin: .5em 0; display: block } .pure-form input[type=color][disabled], .pure-form input[type=date][disabled], .pure-form input[type=datetime-local][disabled], .pure-form input[type=datetime][disabled], .pure-form input[type=email][disabled], .pure-form input[type=month][disabled], .pure-form input[type=number][disabled], .pure-form input[type=password][disabled], .pure-form input[type=search][disabled], .pure-form input[type=tel][disabled], .pure-form input[type=text][disabled], .pure-form input[type=time][disabled], .pure-form input[type=url][disabled], .pure-form input[type=week][disabled], .pure-form select[disabled], .pure-form textarea[disabled] { cursor: not-allowed; background-color: var(--bg-container); color: var(--text-secondary); } .pure-form input:not([type])[disabled] { cursor: not-allowed; background-color: var(--bg-container); color: var(--text-secondary); } .pure-form input[readonly], .pure-form select[readonly], .pure-form textarea[readonly] { background-color: var(--card-bg); color: var(--text-primary); border-color: var(--border-color); } .pure-form input:focus:invalid, .pure-form select:focus:invalid, .pure-form textarea:focus:invalid { color: var(--danger-text); border-color: var(--btn-danger-bg); } .pure-form input[type=checkbox]:focus:invalid:focus, .pure-form input[type=file]:focus:invalid:focus, .pure-form input[type=radio]:focus:invalid:focus { outline-color: var(--btn-danger-bg); } .pure-form select { height: 2.25em; border: var(--border-strong); background-color: var(--color-white) } .pure-form select[multiple] { height: auto } .pure-form label { margin: .5em 0 .2em } .pure-form fieldset { margin: 0; padding: .35em 0 .75em; border: 0 } .pure-form legend { display: block; width: 100%; padding: .3em 0; margin-bottom: .3em; color: #333; border-bottom: 1px solid #e5e5e5 } .pure-form-stacked input[type=color], .pure-form-stacked input[type=date], .pure-form-stacked input[type=datetime-local], .pure-form-stacked input[type=datetime], .pure-form-stacked input[type=email], .pure-form-stacked input[type=file], .pure-form-stacked input[type=month], .pure-form-stacked input[type=number], .pure-form-stacked input[type=password], .pure-form-stacked input[type=search], .pure-form-stacked input[type=tel], .pure-form-stacked input[type=text], .pure-form-stacked input[type=time], .pure-form-stacked input[type=url], .pure-form-stacked input[type=week], .pure-form-stacked label, .pure-form-stacked select, .pure-form-stacked textarea { display: block; margin: .25em 0 } .pure-form-stacked input:not([type]) { display: block; margin: .25em 0 } .pure-form-aligned input, .pure-form-aligned select, .pure-form-aligned textarea, .pure-form-message-inline { display: inline-block; vertical-align: middle } .pure-form-aligned textarea { vertical-align: top } .pure-form-aligned .pure-control-group { margin-bottom: .5em } .pure-form-aligned .pure-control-group label { text-align: right; display: inline-block; vertical-align: middle; width: 10em; margin: 0 1em 0 0 } .pure-form-aligned .pure-controls { margin: 1.5em 0 0 11em } .pure-form .pure-input-rounded, .pure-form input.pure-input-rounded { border-radius: 2em; padding: .5em 1em } .pure-form .pure-group fieldset { margin-bottom: 10px } .pure-form .pure-group input, .pure-form .pure-group textarea { display: block; padding: 10px; margin: 0 0 -1px; border-radius: 0; position: relative; top: -1px } .pure-form .pure-group input:focus, .pure-form .pure-group textarea:focus { z-index: 3 } .pure-form .pure-group input:first-child, .pure-form .pure-group textarea:first-child { top: 1px; border-radius: 4px 4px 0 0; margin: 0 } .pure-form .pure-group input:first-child:last-child, .pure-form .pure-group textarea:first-child:last-child { top: 1px; border-radius: 4px; margin: 0 } .pure-form .pure-group input:last-child, .pure-form .pure-group textarea:last-child { top: -2px; border-radius: 0 0 4px 4px; margin: 0 } .pure-form .pure-group button { margin: .35em 0 } .pure-form .pure-input-1 { width: 100% } .pure-form .pure-input-3-4 { width: 75% } .pure-form .pure-input-2-3 { width: 66% } .pure-form .pure-input-1-2 { width: 50% } .pure-form .pure-input-1-3 { width: 33% } .pure-form .pure-input-1-4 { width: 25% } .pure-form-message-inline { display: inline-block; padding-left: .3em; color: var(--text-secondary); vertical-align: middle; font-size: .875em; } .pure-form-message { display: block; color: var(--text-secondary); font-size: .875em; } @media only screen and (max-width:480px) { .pure-form button[type=submit] { margin: .7em 0 0 } .pure-form input:not([type]), .pure-form input[type=color], .pure-form input[type=date], .pure-form input[type=datetime-local], .pure-form input[type=datetime], .pure-form input[type=email], .pure-form input[type=month], .pure-form input[type=number], .pure-form input[type=password], .pure-form input[type=search], .pure-form input[type=tel], .pure-form input[type=text], .pure-form input[type=time], .pure-form input[type=url], .pure-form input[type=week], .pure-form label { margin-bottom: .3em; display: block } .pure-group input:not([type]), .pure-group input[type=color], .pure-group input[type=date], .pure-group input[type=datetime-local], .pure-group input[type=datetime], .pure-group input[type=email], .pure-group input[type=month], .pure-group input[type=number], .pure-group input[type=password], .pure-group input[type=search], .pure-group input[type=tel], .pure-group input[type=text], .pure-group input[type=time], .pure-group input[type=url], .pure-group input[type=week] { margin-bottom: 0 } .pure-form-aligned .pure-control-group label { margin-bottom: .3em; text-align: left; display: block; width: 100% } .pure-form-aligned .pure-controls { margin: 1.5em 0 0 0 } .pure-form-message, .pure-form-message-inline { display: block; font-size: .75em; padding: .2em 0 .8em } } .pure-menu { -webkit-box-sizing: border-box; box-sizing: border-box } .pure-menu-fixed { position: fixed; left: 0; top: 0; z-index: 3 } .pure-menu-item, .pure-menu-list { position: relative } .pure-menu-list { list-style: none; margin: 0; padding: 0 } .pure-menu-item { padding: 0; margin: 0; height: 100% } .pure-menu-heading, .pure-menu-link { display: block; text-decoration: none; white-space: nowrap } .pure-menu-horizontal { width: 100%; white-space: nowrap } .pure-menu-horizontal .pure-menu-list { display: inline-block } .pure-menu-horizontal .pure-menu-heading, .pure-menu-horizontal .pure-menu-item, .pure-menu-horizontal .pure-menu-separator { display: inline-block; vertical-align: middle } .pure-menu-item .pure-menu-item { display: block } .pure-menu-children { display: none; position: absolute; left: 100%; top: 0; margin: 0; padding: 0; z-index: 3 } .pure-menu-horizontal .pure-menu-children { left: 0; top: auto; width: inherit } .pure-menu-active>.pure-menu-children, .pure-menu-allow-hover:hover>.pure-menu-children { display: block; position: absolute } .pure-menu-has-children>.pure-menu-link:after { padding-left: .5em; content: "\25B8"; font-size: small } .pure-menu-horizontal .pure-menu-has-children>.pure-menu-link:after { content: "\25BE" } .pure-menu-scrollable { overflow-y: scroll; overflow-x: hidden } .pure-menu-scrollable .pure-menu-list { display: block } .pure-menu-horizontal.pure-menu-scrollable .pure-menu-list { display: inline-block } .pure-menu-horizontal.pure-menu-scrollable { white-space: nowrap; overflow-y: hidden; overflow-x: auto; padding: .5em 0 } .pure-menu-horizontal .pure-menu-children .pure-menu-separator, .pure-menu-separator { background-color: #ccc; height: 1px; margin: .3em 0 } .pure-menu-horizontal .pure-menu-separator { width: 1px; height: 1.3em; margin: 0 .3em } .pure-menu-horizontal .pure-menu-children .pure-menu-separator { display: block; width: auto } .pure-menu-heading { text-transform: uppercase; color: var(--text-primary); } .pure-menu-link { color: var(--text-primary); } .pure-menu-children { background-color: var(--bg-container) } .pure-menu-disabled, .pure-menu-heading, .pure-menu-link { padding: .5em 1em } .pure-menu-disabled { opacity: .5 } .pure-menu-disabled .pure-menu-link:hover { background-color: transparent } .pure-menu-active>.pure-menu-link, .pure-menu-link:focus, .pure-menu-link:hover { background-color: #eee } .pure-menu-selected>.pure-menu-link, .pure-menu-selected>.pure-menu-link:visited { color: var(--text-secondary); } .pure-table { border-collapse: collapse; border-spacing: 0; empty-cells: show; border: var(--border-strong); } .pure-table caption { color: var(--color-black); font: italic 85%/1 arial, sans-serif; padding: 1em 0; text-align: center } .pure-table td, .pure-table th { border-left: 1px solid var(--border-color); border-width: 0 0 0 1px; font-size: inherit; margin: 0; overflow: visible; padding: .5em 1em } .pure-table thead { background-color: var(--header-bg); color: var(--color-black); text-align: left; vertical-align: bottom } .pure-table td { background-color: transparent } .pure-table-odd td { background-color: var(--card-bg); } .pure-table-bordered td { border-bottom: 1px solid var(--border-color); } .pure-table-bordered tbody>tr:last-child>td { border-bottom-width: 0 } .pure-table-horizontal td, .pure-table-horizontal th { border-width: 0 0 1px 0; border-bottom: 1px solid var(--border-color); } .pure-table-horizontal tbody>tr:last-child>td { border-bottom-width: 0 } @font-face { font-family: 'NotoColorEmojiFlags'; src: url('/luci-static/spectra/fonts/NotoColorEmoji-flagsonly-CWWDk9km.ttf') format('truetype'); } @font-face { font-display: swap; font-family: 'Fredoka One'; font-style: normal; font-weight: 400; src: url('/luci-static/spectra/fonts/fredoka-v16-latin-regular.woff2') format('woff2'); } @font-face { font-display: swap; font-family: 'DM Serif Display'; font-style: normal; font-weight: 400; src: url('/luci-static/spectra/fonts/dm-serif-display-v15-latin-regular.woff2') format('woff2'); } @font-face { font-display: swap; font-family: 'Noto Serif SC'; font-style: normal; font-weight: 400; src: url('/luci-static/spectra/fonts/noto-serif-sc-v31-latin-regular.woff2') format('woff2'); } @font-face { font-display: swap; font-family: 'Comic Neue'; font-style: normal; font-weight: 400; src: url('/luci-static/spectra/fonts/comic-neue-v8-latin-regular.woff2') format('woff2'); } @font-face { font-display: swap; font-family: 'Noto Sans'; font-style: normal; font-weight: 400; src: url('/luci-static/spectra/fonts/noto-sans-v39-regular.woff2') format('woff2'); } @font-face { font-family: 'Cinzel Decorative'; font-style: normal; font-weight: 700; src: url('/luci-static/spectra/fonts/cinzel-decorative-v17-latin-700.woff2') format('woff2'); } .font-default { font-family: "Microsoft YaHei", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif !important; } .font-fredoka { font-family: 'Fredoka One', cursive !important; } .font-dmserif { font-family: 'DM Serif Display', serif !important; } .font-notoserif { font-family: 'Noto Serif SC', serif !important; } .font-comicneue { font-family: 'Comic Neue', cursive !important; } .font-notosans { font-family: 'Noto Sans', sans-serif !important; } .font-cinzeldecorative { font-family: 'Cinzel Decorative', cursive !important; } @font-face { font-family: 'bootstrap-icons'; src: url('../fonts/bootstrap-icons.woff2') format('woff2'); font-weight: normal; font-style: normal; font-display: block; } @font-face { font-family: "easeicon"; src: url('../fonts/iconfont.woff2') format('woff2'); font-weight: normal; font-style: normal; font-display: block; } #view>.spinning { display: none !important; visibility: hidden !important; } html, body { margin: 0px; padding: 0px; height: 100%; font-size: 16px; font-family: "Google Sans", "Microsoft Yahei", "WenQuanYi Micro Hei", "sans-serif", "Helvetica Neue", "Helvetica", "Hiragino Sans GB"; } html { -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100% } body { font-size: .875rem; -webkit-tap-highlight-color: transparent } * { margin: 0; padding: 0; box-sizing: border-box; } ::selection { background-color: var(--accent-secondary); color: var(--color-white); } a:link, a:visited, a:active { color: var(--accent-color); text-decoration: none } a:hover { text-decoration: underline } li { list-style-type: none } .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: normal; display: table-cell; padding: .5em; text-align: center; vertical-align: middle } .th { font-weight: bold; white-space: nowrap } .tr.placeholder { height: 4em } .tr.placeholder>.td { line-height: 3; position: absolute; right: 0; bottom: 0; left: 0; padding: .4rem 0 !important; text-align: center !important; background: inherit } .td[width="33%"] { padding: 1.1em 1.5rem } .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 } .h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { font-family: inherit; font-weight: normal; line-height: 1.1 !important; color: inherit } select { padding: .36rem .8rem; color: var(--text-primary) !important; border: var(--border-strong); background-color: var(--card-bg) !important; background-image: none; font-family: inherit !important; font-size: inherit !important; font-weight: inherit !important; } .float-list, .btn, button, select, input, .cbi-dropdown { line-height: 1.5rem; padding: .5rem .75rem; margin: .25rem .1rem; color: var(--text-primary); background-color: var(--card-bg); border: var(--border-strong); border-radius: .25rem; outline: 0; background-image: none; box-shadow: none; transition: box-shadow .15s ease } select, .cbi-dropdown { width: inherit; cursor: default } select:not([multiple="multiple"]):focus, input:not(.cbi-button):focus, .cbi-dropdown:focus { border-color: #5e72e4; box-shadow: 0 3px 9px rgba(50, 50, 9, 0), 3px 4px 8px rgba(94, 114, 228, 0.1) } .cbi-dropdown, select[multiple="multiple"] { height: auto } pre { overflow: auto } code { font-size: 1rem; font-size-adjust: .35; padding: 1px 3px; color: #101010; border-radius: 2px; background: #ddd } abbr { cursor: help; text-decoration: underline; color: #5e72e4; } hr { margin: 1rem 0; opacity: .1; border-color: #eee } .login-page { height: 100% } header, .main { width: 100% } footer { font-size: .8rem; overflow: hidden; padding: 1rem; text-align: right; white-space: nowrap; color: #aaa } footer>a { text-decoration: none; color: #aaa } small { font-size: 90%; line-height: 1.42857143; white-space: normal } .main { position: relative; top: 0; bottom: 0; overflow-y: auto; height: 100% } .main-left { top: 0; float: left; width: 15%; width: calc(0% + 15rem); height: 100%; border: 1px solid var(--bg-container); box-shadow: 1px 0 3px -2px color-mix(in oklch, var(--bg-container), black 30%); overflow-x: auto; position: fixed; z-index: 100; scrollbar-width: none; -ms-overflow-style: none; } .main-left::-webkit-scrollbar { display: none; } .main-left .sidenav-header { padding: 1.2rem 0.5rem 1rem 0.5rem !important; text-align: center; } .main-left .nav { margin-top: 0 !important; } .main-left .sidenav-header .brand { font-size: 1.8rem; color: #5e72e4; font-family: "Fredoka One"; text-decoration: none; text-align: center; cursor: default; vertical-align: text-bottom } .main-left::-webkit-scrollbar { width: 5px; height: 1px } .main-left::-webkit-scrollbar-thumb { background-color: var(--accent-color) } .main-left::-webkit-scrollbar-track { background-color: var(--color-white) } .main-left #search { margin: 0 auto; padding: 0 .5rem; width: 90%; border-radius: 1lh } .main-right { float: right; width: 85%; width: calc(100% - 15rem); height: 100%; transition: all .2s } .main-right>#maincontent { position: relative; z-index: 0 } .pull-right { float: right } .pull-left { float: left } .nowrap:not(.td) { white-space: nowrap } [disabled="disabled"] { pointer-events: none } header { color: var(--color-white); padding: 0; position: relative } header.bg-primary { background-color: #5e72e4 !important; } header::after { content: ""; position: absolute; top: 0 !important; height: 4.5em; z-index: 1; left: 15rem; right: 0; background: var(--bg-container); border: 1px solid var(--bg-container); box-shadow: 0 1px 3px -2px color-mix(in oklch, var(--bg-container), black 30%); } header .fill { padding: .8rem 0; border-bottom: 0 solid rgba(255, 255, 255, 0.08) !important; display: flex } header .fill .container { height: 2rem; padding: 0 1.25rem; display: flex; align-items: center; width: 100% } header .fill .container .flex1 { flex: 1 } header .fill .container .flex1 .showSide { display: none; color: var(--color-white); font-size: 1.4rem } header .fill .container .flex1 .showSide:hover { text-decoration: none } header .fill .container .flex1 .brand { font-size: 1.5rem; color: var(--color-white); font-family: "Fredoka One"; text-decoration: none; padding-left: 1rem; cursor: default; vertical-align: text-bottom; display: none } header .fill .container .pull-right { float: right; margin-top: 0rem; display: flex } header .fill .status span { display: inline-block; font-size: .8rem; font-weight: bold; padding: .3rem .8rem; white-space: nowrap; text-decoration: none; text-transform: uppercase; text-shadow: none; border-radius: 4px; cursor: pointer; transition: all .3s; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 2px 0 rgba(0, 0, 0, 0.12); margin: 0 .25rem } header .fill .status span:last-child { margin-right: 0 } header .fill .status span[data-indicator="poll-status"] { color: #32325d; background-color: var(--color-white) } header .fill .status span[data-style="active"] { background-color: var(--green) } header .fill .status span[data-style="inactive"] { color: var(--color-white) !important; background-color: #32325d } #xhr_poll_status { display: flex; margin-left: .5rem } #xhr_poll_status * { color: var(--color-white) } div[style="width:100%;height:300px;border:1px solid #000;background:var(--color-white)"] { border: 0 !important } .danger { background-color: #ff7d60 !important } .warning { background-color: #f0e68c !important } .success { background-color: #5cb85c !important } .notice { background-color: #11cdef !important; color: var(--color-white) } .error { color: #f00 } .alert, .alert-message { font-weight: bold; margin-bottom: 1.25rem; padding: 1rem 1.25rem; border: 0; border-radius: var(--radius-small) !important; background-color: var(--accent-color) !important; color: var(--color-white) !important; border: 1px solid rgba(0,0,0,0.1); box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 2px 0 rgba(0, 0, 0, 0.12); text-shadow: 1px 1px rgba(0, 0, 0, 0.1); } .alert.error, .alert-message.error { background-color: #ffd600 } .alert h4, .alert-message h4 { padding: .25rem 0; border-radius: 4px; background-color: #ffd600 } .alert .btn, .alert-message .btn { height: auto } .alert-message>h4 { font-size: 110%; font-weight: bold } .alert-message>* { margin: .5rem 0 } .alert-message .btn { padding: .3rem .6rem } .container .alert, .container .alert-message { margin-top: 0rem } .main .main-left { transition: all .2s } .main .main-left .nav { margin-top: .5rem } .main .main-left .nav>li>a:first-child { display: block; margin: .1rem .5rem .1rem .5rem; padding: .675rem 0 .675rem 2.5rem; border-radius: .375rem; text-decoration: none; cursor: default; font-size: 1rem; transition: all .2s; position: relative } .main .main-left .nav>li>a:first-child.active { color: var(--color-white); background: var(--accent-color); } .main .main-left .nav>li>a:first-child.active::before { color: var(--color-white) !important } .main .main-left .nav>li>a:first-child.active::after { transform: rotate(90deg); color: var(--color-white) !important } .main .main-left .nav>li>a:first-child:hover { cursor: pointer; color: var(--color-white); background: oklch(var(--l) var(--c) var(--base-hue-1)); } .main .main-left .nav>li>a:first-child:hover::before { color: var(--color-white) !important } .main .main-left .nav>li>a:first-child::before { font-family: 'spectra' !important; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; position: absolute; left: .8rem; padding-top: 3px; transition: all .3s; content: "\e915"; color: var(--accent-color) } .main .main-left .nav li { padding: .5rem 1rem; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; padding: 0 } .main .main-left .nav li a { display: block; color: var(--text-primary) } .main .main-left .nav li.slide { padding: 0 } .main .main-left .nav li.slide ul { display: none; overflow: hidden } .main .main-left .nav li.slide:hover { background: none } .main .main-left .nav li.slide .slide-menu { margin: 0 .5rem 0 2.5rem; padding: 0 .5rem } .main .main-left .nav li.slide .slide-menu.active { display: block } .main .main-left .nav li.slide .slide-menu li { position: relative; border-radius: .375rem; margin: 0; background: none; list-style: none } .main .main-left .nav li.slide .slide-menu li a { text-decoration: none; padding: .5rem 0 } .main .main-left .nav li.slide .slide-menu li::after { content: ""; position: absolute; left: 0; bottom: 0; width: 0; height: 2px; background-color: var(--accent-color); transition: all .2s } .main .main-left .nav li.slide .slide-menu li:hover { background: none } .main .main-left .nav li.slide .slide-menu li:hover::after { width: 100% } .main .main-left .nav li.slide .slide-menu .active { background: none; color: var(--text-primary) } .main .main-left .nav li.slide .slide-menu .active a { color: var(--accent-color) } .main .main-left .nav li.slide .slide-menu .active::after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 2px; background: linear-gradient(90deg, oklch(var(--l) var(--c) var(--base-hue-1)), oklch(var(--l) var(--c) var(--base-hue-2)), oklch(var(--l) var(--c) var(--base-hue-3)), oklch(var(--l) var(--c) var(--base-hue-4)), oklch(var(--l) var(--c) var(--base-hue-5)), oklch(var(--l) var(--c) var(--base-hue-6)), oklch(var(--l) var(--c) var(--base-hue-7)), oklch(var(--l) var(--c) var(--base-hue-1))); background-size: 400% auto; transform: translateZ(0); will-change: transform, background-position, box-shadow; animation: rainbow-energy 6s linear infinite, pulse 1.5s ease-in-out infinite; transition: var(--transition); } @keyframes rainbow-energy { from { background-position: 200% center; } to { background-position: -200% center; } } @keyframes pulse { 0%, 100% { opacity: 0.7; } 50% { opacity: 1; } } .main .main-left .nav li.slide .slide-menu .active:hover { background: none } .main .main-left .nav li.slide .slide-menu .active:hover::after { width: 100% } .main .main-left .nav li .menu::after { position: absolute; right: .5rem; top: .8rem; font-family: 'bootstrap-icons' !important; content: '\f285'; color: var(--text-primary); transition: all .3s; } .main .main-left .nav li .menu.active::after { transform: rotate(90deg); } .main .main-left .nav li .menu[data-title=Status]:before { font-family: 'bootstrap-icons' !important; content: "\F62E"; color: oklch(var(--l) var(--c) var(--base-hue-1)); } .main .main-left .nav li .menu[data-title=System]:before { font-family: 'bootstrap-icons' !important; content: "\F7D5"; color: oklch(var(--l) var(--c) var(--base-hue-2)); } .main .main-left .nav li .menu[data-title=Services]:before { font-family: 'bootstrap-icons' !important; content: "\f3e5"; color: oklch(var(--l) var(--c) var(--base-hue-3)); } .main .main-left .nav li .menu[data-title=NAS]:before { font-family: 'bootstrap-icons' !important; content: "\F412"; color: oklch(var(--l) var(--c) var(--base-hue-4)); } .main .main-left .nav li .menu[data-title=VPN]:before { font-family: 'bootstrap-icons' !important; content: "\f52f"; color: oklch(var(--l) var(--c) var(--base-hue-5)); } .main .main-left .nav li .menu[data-title=Network]:before { font-family: 'bootstrap-icons' !important; content: "\f3ee"; color: oklch(var(--l) var(--c) var(--base-hue-6)); } .main .main-left .nav li .menu[data-title=Bandwidth_Monitor]:before { font-family: 'bootstrap-icons' !important; content: "\f3c1"; color: var(--btn-success-bg); } .main .main-left .nav li .menu[data-title=Spectra]:before { font-family: 'bootstrap-icons' !important; content: "\F666"; color: oklch(var(--l) var(--c) var(--base-hue-7)); } .main>.main-left>.nav>li.slide>.menu[data-title=Docker]:before { font-family: 'easeicon' !important; content: "\e659" !important; color: #0c93f3; font-size: 18px; } .main>.main-left>.nav>li.slide>.menu[data-title=iStore]:before, .main>.main-left>.nav>li>a[data-title=iStore]:before { font-family: 'easeicon' !important; content: "\e60f" !important; color: oklch(var(--l) var(--c) var(--base-hue-4)); font-size: 18px; } .main>.main-left>.nav>li.slide>.menu[data-title="QuickStart"]:before, .main>.main-left>.nav>li>a[data-title="QuickStart"]:before, .main>.main-left>.nav>li>a[data-title="Home"]:before { font-family: 'easeicon' !important; content: "\e664" !important; color: #11cdef !important; font-size: 18px; } .main>.main-left>.nav>li.slide>.menu[data-title=NetworkGuide]:before, .main>.main-left>.nav>li>a[data-title=NetworkGuide]:before { font-family: 'easeicon' !important; content: "\ecc7" !important; color: #fb6340; font-size: 18px; } .main .main-left .nav li .menu[data-title=Statistics]:before { font-family: 'bootstrap-icons' !important; content: "\f183"; color: var(--accent-color); } .main .main-left .nav li .menu[data-title=Control]:before { font-family: 'bootstrap-icons' !important; content: "\f5b3"; color: var(--btn-primary-bg); } .main .main-left .nav li .menu[data-title=Asterisk]:before { font-family: 'bootstrap-icons' !important; content: "\f5c1"; color: var(--btn-danger-bg); } .main .main-left .nav li a[data-title=Logout]:before { font-family: 'bootstrap-icons' !important; content: "\f1c3"; color: oklch(var(--l) var(--c) var(--base-hue-7)); } .lg { margin: 0; padding: 0 !important } .logout { display: block; margin: .8rem .5rem .1rem .5rem; padding: .675rem 0 .675rem 2.5rem; border-radius: .375rem; text-decoration: none; font-size: 1rem; transition: all .2s; position: relative } body[class*="node-"]>.main>.main-left>.nav>.slide>.menu::before { transition: transform .1s ease-in-out } body[class*="node-"]>.main>.main-left>.nav>.slide>.menu.active::before { transition: transform .2s ease-in-out } .main>.main-left[style*="overflow: hidden"]>.nav>.slide>.menu::before { display: none } #maincontent>.container { margin: 0 1.25rem 1rem 1.25rem } ul { line-height: normal } li { list-style-type: none } h1 { font-size: 2rem; padding-bottom: 10px; border-bottom: thin solid #eee } h2 { margin: 0 0 0.5rem 0; font-size: 1.35rem; letter-spacing: .1rem; padding: 0.5rem 1.25rem; color: var(--accent-color); margin-top: 10px; } h3 { font-size: 0.9rem; line-height: 1; display: block; margin: 0; margin-bottom: 0; padding: 0.3rem 0.5rem; color: var(--text-color); text-shadow: none !important; } h4 { margin: 0; padding: .75rem 1.25rem; font-size: 1rem; font-weight: 600; border-radius: var(--radius-small); color: var(--accent-color) !important; background: var(--bg-container); } h4 em { padding: 0 .5rem } h5 { font-size: 1rem; margin: 2rem 0 0 0; padding-bottom: 10px } .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"]:not(.node-main-login) .cbi-map:not(#cbi-dropbear), [data-page="admin-system-opkg"] #maincontent>.container { font-family: inherit; font-weight: normal; font-style: normal; line-height: normal; min-width: inherit; margin: 1.25rem 0; padding: 0rem; border: 0; border-radius: .375rem; background-color: var(--bg-container); } .cbi-modal .cbi-section, .cbi-section .cbi-section { padding: 0; box-shadow: none } .cbi-modal .cbi-tabmenu { margin-left: 0 } .cbi-map-descr { font-size: small; line-height: 1.5; padding: 0 1.25rem 1rem 1.25rem; } .cbi-section-descr:not(:empty) { font-size: small; line-height: 1.5; padding: 1rem 1.25rem 0 1.25rem } .cbi-map-descr+fieldset { margin-top: 1rem } .cbi-map-descr>abbr { cursor: help; text-decoration: underline } .cbi-section>legend { display: none !important } fieldset>fieldset, .cbi-section>.cbi-section { margin: 0; padding: 0; border: 0; box-shadow: none } .cbi-section>h3:first-child, .panel-title { font-size: 1.1rem; line-height: 1; display: block; width: 100%; margin: 0; margin-bottom: 0; padding: .8755rem 1.25rem; color: var(--accent-color) } .cbi-section>h3:first-child, .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: 1rem 1.25rem } .cbi-section p { padding: 1rem } .cbi-tblsection { overflow-x: scroll } table { border-spacing: 0; border-collapse: collapse } table, .table { overflow-y: hidden; width: 100%; font-size: 90% } .cbi-tblsection table.cbi-section-table { overflow-y: visible } .table .table-titles th { background-color: var(--card-bg); } 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: .5rem } .container>.cbi-section:first-of-type>.table[width="100%"]>.tr>.td { padding: .6rem } .cbi-section-table-cell { line-height: 1.1; align-self: flex-end; flex: 1 1 auto } tr>td, tr>th, .tr>.td, .tr>.th, .cbi-section-table-row::before, #cbi-wireless>#wifi_assoclist_table>.tr:nth-child(2) { padding: 1.1em 1.25rem } #cbi-wireless .td, #cbi-network .tr:first-child>.td, .table[width="100%"]>.tr:first-child>.td, [data-page="admin-network-diagnostics"] .tr>.td, .tr.table-titles>.th, .tr.cbi-section-table-titles>.th { border-top: 0 !important; background-color: var(--bg-container) !important; color: var(--text-primary) !important; padding: 1.1em 1.25rem; line-height: 1.3rem } .table[width="100%"]>.tr:first-child>.td { margin: auto 0 } .cbi-section-table-row { margin-bottom: 1rem; text-align: center !important; background-color: var(--card-bg) !important; } .cbi-section-table-row:last-child { margin-bottom: 0 } .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-input-text, .cbi-section-table-row>.cbi-value-field .cbi-input-password { min-width: unset !important; width: fit-content !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 .td { text-align: center !important } .cbi-section-table-row .control-group { flex-wrap: nowrap } .control-group { display: inline-flex; width: 100%; flex-wrap: wrap; gap: 2px } .control-group>* { vertical-align: middle } div>table>tbody>tr:nth-of-type(2n), div>.table>.tr:nth-of-type(2n) { background-color: var(--bg-container); } 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 } .tabs, .cbi-tabmenu { margin: 0 0 1.5rem 0; padding: 0.6rem; border-radius: var(--radius); white-space: nowrap; overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; display: flex; flex-wrap: nowrap; gap: 0.4rem; } .tabs::-webkit-scrollbar, .cbi-tabmenu::-webkit-scrollbar { display: none; } .tabs { margin-bottom: 1.8rem; padding: 0.7rem; gap: 0.5rem; } .tabs li, .cbi-tabmenu li { font-size: 0.95rem; padding: 0.6rem 1.2rem; border-radius: 0; transition: all var(--transition-speed) ease; border: none; box-shadow: none; position: relative; overflow: hidden; line-height: 1.2; flex-shrink: 0; min-width: min-content; display: flex; align-items: center; justify-content: center; background: transparent; } .cbi-tabmenu li { font-size: 0.9rem; padding: 0.5rem 1rem; } .tabs li::before, .cbi-tabmenu li::before { display: none; } .tabs li a, .cbi-tabmenu li a { text-decoration: none; color: var(---text-primary); font-weight: 500; position: relative; z-index: 2; text-shadow: var(--text-shadow); transition: all var(--transition-speed) ease; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; white-space: nowrap; pointer-events: none; } .tabs li a::after, .cbi-tabmenu li a::after { content: ''; position: absolute; top: -10px; left: -10px; right: -10px; bottom: -10px; z-index: 1; background: transparent; cursor: pointer; pointer-events: auto; } .tabs li:hover::after, .cbi-tabmenu li:hover::after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 2px; background: linear-gradient(90deg, oklch(var(--l) var(--c) var(--base-hue-1)), oklch(var(--l) var(--c) var(--base-hue-2)), oklch(var(--l) var(--c) var(--base-hue-3)), oklch(var(--l) var(--c) var(--base-hue-4)), oklch(var(--l) var(--c) var(--base-hue-5)), oklch(var(--l) var(--c) var(--base-hue-6)), oklch(var(--l) var(--c) var(--base-hue-7)), oklch(var(--l) var(--c) var(--base-hue-1))); background-size: 400% auto; transform: translateZ(0); will-change: transform, background-position, box-shadow; animation: rainbow-energy 6s linear infinite, pulse 1.5s ease-in-out infinite; transition: var(--transition); } .tabs li[class~="active"]::after, .tabs li.cbi-tab-active::after, .cbi-tabmenu li[class~="cbi-tab"]::after, .cbi-tabmenu li.cbi-tab-active::after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 2px; background: linear-gradient(90deg, oklch(var(--l) var(--c) var(--base-hue-1)), oklch(var(--l) var(--c) var(--base-hue-2)), oklch(var(--l) var(--c) var(--base-hue-3)), oklch(var(--l) var(--c) var(--base-hue-4)), oklch(var(--l) var(--c) var(--base-hue-5)), oklch(var(--l) var(--c) var(--base-hue-6)), oklch(var(--l) var(--c) var(--base-hue-7)), oklch(var(--l) var(--c) var(--base-hue-1))); background-size: 400% auto; transform: translateZ(0); will-change: transform, background-position, box-shadow; animation: rainbow-energy 6s linear infinite, pulse 1.5s ease-in-out infinite; transition: var(--transition); } .tabs li[class~="active"] a, .tabs li.cbi-tab-active a, .cbi-tabmenu li[class~="cbi-tab"] a, .cbi-tabmenu li.cbi-tab-active a { color: var(--accent-color); font-weight: 700; } .cbi-tab-descr { padding: .5rem 1.5rem } .cbi-section-node { padding: 1rem 0 } .cbi-section-node>* { padding-left: 2rem; } .cbi-section .cbi-section-remove:nth-of-type(2n), .container>.cbi-section .cbi-section-node:nth-of-type(2n) { background-color: var(--bg-container); } [data-tab-title] { overflow: hidden; height: 0; opacity: 0; margin: 0; padding: 0rem 0rem !important } [data-tab-title] p { margin-left: 1rem; margin-bottom: 1rem } [data-tab-active="true"] { overflow: visible; height: auto; opacity: 1; transition: opacity .25s ease-in; margin: inherit !important } .cbi-section-node-tabbed { margin-top: 0; padding: 0; border-radius: .375rem } .cbi-value-field { display: table-cell } .cbi-value-description { color: var(--accent-color); margin: .125em 0 0 1.25em; padding: .25rem .5rem; position: relative; line-height: 1.3; } .cbi-value-description:not(:empty)::before { position: absolute; left: -1em; content: "\F431"; font-family: 'bootstrap-icons' !important; display: inline-block; width: 1em; height: 1em; margin-right: .25em; cursor: help; } @media (max-width: 768px) { .cbi-value-description:not(:empty)::before { left: -1.25em; } } .cbi-value-description abbr { color: var(--text-primary); } .cbi-value-title { display: table-cell; float: left; width: 23rem; padding-top: .25rem; padding-right: 2rem; text-align: right; word-wrap: break-word } .cbi-value { display: inline-block; width: 100%; padding: .35rem 1rem .2rem 1rem; line-height: 2.4rem } .cbi-value ul { line-height: 1.25 } .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-value input[type="password"] { border-bottom-right-radius: 0; border-top-right-radius: 0; margin-right: 0 } .cbi-value input[type="password"]+.cbi-button-neutral { height: 42px; border-bottom-left-radius: 0; border-top-left-radius: 0; margin-left: 0; border: 0 } #cbi-firewall-zone .cbi-input-select, #cbi-network-switch_vlan .cbi-input-select { min-width: 11rem } #cbi-network-switch_vlan .cbi-input-text { max-width: 3rem } .cbi-input-invalid { color: var(--danger-text); border-bottom-color: var(--danger-text); } .cbi-section-error { font-weight: bold; line-height: 1.42857143; margin: 18px; padding: 6px; border: var(--border-strong); border-radius: 3px; background-color: color-mix(in oklch, var(--danger-text), white 80%); } .cbi-section-error ul { margin: 0 0 0 20px } .cbi-section-error ul li { font-weight: bold; color: var(--danger-text); } .td[data-title]::before { font-weight: bold; display: none; padding: .25rem 0; content: attr(data-title) ":\20"; text-align: left; white-space: nowrap } .tr[data-title]::before, .tr.cbi-section-table-titles.named::before { font-weight: bold; display: table-cell; align-self: center; flex: 1 1 5%; padding: .25rem; content: attr(data-title) "\20"; text-align: center; vertical-align: middle; white-space: normal; word-wrap: break-word } .tr.cbi-section-table-titles.named::before { background-color: var(--header-bg); } .cbi-rowstyle-1 { background-color: var(--bg-container); } .cbi-rowstyle-2 { background-color: var(--card-bg); } .cbi-rowstyle-2 .cbi-button-up, .cbi-rowstyle-2 .cbi-button-down, body:not(.Interfaces) .cbi-rowstyle-2:first-child { background-color: var(--color-orange) !important } .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 5px; display: flex; align-items: center } .td.cbi-section-actions>*>form { display: inline-flex; margin: 0 } .cbi-checkbox { margin: 0 .25rem } .cbi-dynlist { line-height: 1.3; flex-direction: column; min-height: 30px; cursor: text } .cbi-dynlist>.item { position: relative; max-width: 25rem; pointer-events: none; color: var(--text-primary); opacity: 1 !important; outline: 0; } .cbi-dynlist>.item.drag-over, .cbi-dynlist>.add-item:has(.drag-over) { border-top: 1px solid var(--color-red); margin-top: -1px } .cbi-dynlist[name="sshkeys"]>.item { max-width: none } .cbi-dynlist>.item::after { font-family: "bootstrap-icons" !important; position: absolute; width: 2.2rem !important; height: calc(100% - .5rem - 0.5px); right: 0; bottom: 0; content: "\F5DE"; pointer-events: auto; background-color: var(--color-red); font-weight: normal; font-size: 1.2rem; display: flex; align-items: center; justify-content: center; line-height: 1.5rem; padding: 0; margin: .25rem .1rem .25rem 0; color: var(--color-white); border: var(--border-strong); border-radius: .25rem; outline: 0; background-image: none; box-shadow: none; border-top-left-radius: 0; border-bottom-left-radius: 0 } .cbi-dynlist>.item:hover::after { transform: scale(1.1); background-color: color-mix(in oklch, var(--color-red), black 15%); border-color: color-mix(in oklch, #f5365c, black 20%); } .cbi-dynlist>.item>span { white-space: normal; word-break: break-word; line-height: 1.5rem; padding: .5rem .5rem; margin: .25rem .1rem; color: var(--text-secondary); border: var(--border-strong); border-radius: .25rem; outline: 0; background-image: none; box-shadow: none; display: block; transition: box-shadow .15s ease; box-sizing: border-box; min-width: 15rem; user-select: text } .cbi-dynlist>.add-item { display: inline-flex; flex-wrap: nowrap; align-items: center; gap: 0; width: 100%; min-width: 18.2rem } .cbi-dynlist>.add-item input { border-top-right-radius: 0; border-bottom-right-radius: 0; margin-right: 0; border-right: none } .cbi-dynlist>.add-item .cbi-button-add { height: 2.5rem; line-height: 2.5rem; font-weight: normal; font-size: 1.2rem; display: flex; align-items: center; line-height: 1.5rem; padding: 0 .76rem !important; margin: .25rem .1rem .25rem 0; color: var(--color-white); border-radius: .25rem; outline: 0; background-image: none; box-shadow: none; border-top-left-radius: 0; border-bottom-left-radius: 0 } .cbi-dynlist>.add-item:not([ondrop])>input { border-radius: 12px 0 0 12px; overflow: hidden; width: 15rem; min-width: 15rem; white-space: nowrap; text-overflow: ellipsis } .cbi-dynlist>.add-item[ondrop]>input { min-width: 13rem } .cbi-dynlist, .cbi-dropdown { position: relative; display: inline-flex } .cbi-dropdown { padding: .2rem .2rem } .cbi-dropdown[placeholder*="select"] { max-width: 25rem; height: auto; margin-top: -3px } .cbi-dropdown>ul { display: flex; overflow-x: hidden; overflow-y: auto; width: 100%; margin: 0 !important; padding: 0; list-style: none; outline: 0 } .cbi-dropdown>ul.preview { display: none } .cbi-button-apply>ul.preview { display: none } .cbi-button-apply>ul.preview li { color: var(--color-white) } .cbi-button-apply>ul:first-child li { color: var(--color-white) } .cbi-dropdown>.open { flex-basis: 15px } .cbi-dropdown>.open, .cbi-dropdown>.more { font-family: 'bootstrap-icons'; color: transparent; font-size: 1rem; font-weight: 900; line-height: 2; display: flex; flex-direction: column; flex-grow: 0; flex-shrink: 0; justify-content: center; padding: 0 .25em; cursor: default; text-align: center; outline: 0 } .cbi-dropdown>.more, .cbi-dropdown>ul>li[placeholder] { font-weight: bold; display: none; color: var(--text-primary); } .cbi-dropdown>ul>li { display: none; overflow: hidden; align-items: center; align-self: center; flex-grow: 1; flex-shrink: 1; min-height: 20px; padding: .25em; white-space: nowrap; text-overflow: ellipsis color: var(--text-primary) !important; } .cbi-dropdown>ul>li .hide-open { display: initial } .cbi-dropdown>ul>li .hide-close { display: none } .cbi-dropdown>ul>li[display]:not([display="0"]) { border-left: var(--border-strong) } .cbi-dropdown[empty]>ul { max-width: 1px } .cbi-dropdown>ul>li>form { display: none; margin: 0; padding: 0; pointer-events: none } .cbi-dropdown>ul>li img { margin-right: .25em; vertical-align: middle } .cbi-dropdown>ul>li>form>input[type="checkbox"] { height: auto; margin: 0 } .cbi-dropdown>ul>li input[type="text"] { color: var(--text-primary) !important; background-color: var(--bg-container) !important; height: 2rem; min-width: 16rem; padding: 0 0.5rem; } .cbi-input-select { font-family: "NotoColorEmojiFlags" !important; padding: 0.5rem 2rem 0.5rem 0.75rem !important; line-height: 1.5; height: 2.5rem; border: var(--border-strong); border-radius: 0.25rem; outline: 0; font-size: 14px; box-shadow: none; box-sizing: border-box; display: inline-block; vertical-align: middle; white-space: nowrap; appearance: none; -webkit-appearance: none; -moz-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23000' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 0.75rem center; background-size: 12px 12px; color: var(--text-primary) !important; } [data-theme="dark"] .cbi-input-select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E") !important; } .cbi-input-select:focus { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23000' viewBox='0 0 16 16'%3E%3Cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E"); } [data-theme="dark"] .cbi-input-select:focus { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E") !important; } .cbi-dropdown[open]>ul.dropdown { position: absolute; z-index: 9999; display: block; width: auto !important; min-width: 100% !important; box-sizing: border-box !important; max-height: 200px; left: 0 !important; border: var(--border-strong); box-shadow: 0 2px 6px -2px color-mix(in oklch, var(-bg-container), black 30%) !important; border-bottom-left-radius: .35rem; border-bottom-right-radius: .35rem; color: var(--text-primary); } .cbi-dropdown[open]>ul.dropdown li { background-color: var(--card-bg); color: var(--text-primary); } .cbi-dropdown[open]>ul.dropdown li:hover { background-color: var(--accent-color); color: var(--color-white); } .cbi-dropdown[open]>ul.dropdown>li[selected] { background: var(--color-blue); color: var(--color-white); } .cbi-dropdown>.open::before { content: "\f282"; font-family: 'bootstrap-icons'; font-style: normal; font-weight: 500; color: var(--text-primary); font-size: 0.8em; position: absolute; right: 0.75rem; top: 50%; transform: translateY(-50%); } .cbi-dropdown[open]>.open::before { content: "\f285"; font-weight: 500; color: var(--text-primary); font-size: 0.8em; right: 0.75rem !important; } .cbi-dropdown.btn.cbi-button.cbi-button-apply>.open::before, .cbi-dropdown.btn.cbi-button.cbi-button-apply[open]>.open::before { color: var(--color-white) !important; } .cbi-dropdown[open]>ul.dropdown::-webkit-scrollbar { width: 8px; background: var(--card-bg); } .cbi-dropdown[open]>ul.dropdown::-webkit-scrollbar-thumb { background-color: var(--accent-color); border-radius: 4px; border: var(--border-strong); } .cbi-dropdown[open]>ul.dropdown::-webkit-scrollbar-track { background: var(--card-bg); border-radius: 4px; } .cbi-dropdown[open]>ul.dropdown { scrollbar-width: thin; scrollbar-color: var(--accent-color) var(--card-bg); } .cbi-dropdown>ul>li[display], .cbi-dropdown[open]>ul.preview, .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[empty]>ul>li, .cbi-dropdown[optional][open]>ul.dropdown>li[placeholder], .cbi-dropdown[multiple][open]>ul.dropdown>li>form { display: block } .cbi-dropdown[open]>ul.dropdown>li .hide-open { display: none } .cbi-dropdown[open]>ul.dropdown>li .hide-close { display: initial } .cbi-dropdown[open]>ul.dropdown>li { border-bottom: var(--border-strong); padding: .5rem .8rem } .cbi-dropdown[open]>ul.dropdown>li label { margin-left: .5rem } .cbi-dropdown[open] > ul.dropdown > li.focus { background: var(--btn-primary-bg) !important; color: var(--color-white) !important; outline: none; } .cbi-dropdown[open]>ul.dropdown>li:last-child { margin-bottom: 0; border-bottom: 0 } .cbi-dropdown[open]>ul.dropdown>li>input.create-item-input:first-child:last-child { width: 100% } .cbi-dropdown[disabled] { pointer-events: none; opacity: .6 } .cbi-dropdown .zonebadge { width: 100% } .cbi-dropdown[open] .zonebadge { width: auto } .cbi-progressbar { position: relative; min-width: 11rem; height: 1.5rem; margin: 0 0; border: var(--border-strong); color: var(--text-primary); border-radius: 8px; overflow: hidden } .cbi-progressbar>div { width: 0; height: 100%; transition: width .25s ease-in; background: var(--accent-color) } .cbi-progressbar::after { font-family: monospace; font-size: 1em; font-weight: bold; font-size-adjust: .38; line-height: 1.5rem; position: absolute; top: 0; right: 0; bottom: 0; left: 0; overflow: hidden; content: attr(title); text-align: center; white-space: pre; text-overflow: ellipsis } #modal_overlay { position: fixed; z-index: 900; top: 0; right: 10000px; bottom: 0; left: -10000px; overflow-y: scroll; transition: opacity .125s ease-in; opacity: 0; background: rgba(0, 0, 0, 0.2); -webkit-overflow-scrolling: touch } .modal { display: flex; align-items: center; flex-wrap: wrap; width: 90%; min-width: 270px; max-width: 1000px !important; min-height: 32px; margin: 5em auto; padding: 1em; border-radius: 3px !important; background: var(--card-bg); box-shadow: var(--shadow-inset); } [data-theme="dark"] .modal { border: var(--glass-border) !important; box-shadow: var(--border-glow) !important; } .modal>* { line-height: normal; flex-basis: 100%; margin-bottom: .5em; max-width: 100% } .modal>pre, .modal>textarea { font-size: 1rem; font-size-adjust: .35; overflow: auto; margin-bottom: .5em; padding: 8.5px; cursor: auto; white-space: pre-wrap; color: #eee; outline: 0; background-color: #101010; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 2px 0 rgba(0, 0, 0, 0.12) } .modal>h4 { border-radius: var(--radius-small); margin: .5em 0 } .modal ul { margin-left: 2.2em } .modal li { list-style-type: square; color: var(--text-primary); } .modal .cbi-dropdown.cbi-button > ul > li, .modal .cbi-dropdown.cbi-button > ul.preview > li { color: var(--color-white); } .modal .cbi-dropdown.cbi-button[open] > ul.dropdown > li { color: var(--color-black); } .modal p { word-break: break-word } div label input[type="radio"] { vertical-align: middle; margin-bottom: 15px; } .cbi-value-field label { margin-right: 20px; } .modal .label { font-size: .6rem; font-weight: normal; padding: .2rem .3rem; cursor: default; border-radius: 0.15rem; line-height: 1; display: inline-block; } .modal .label.warning { background-color: #f0ad4e !important } .modal .btn { padding: .45rem .8rem } .modal .cbi-dropdown.cbi-button { padding: .2rem .2rem } .modal.cbi-modal { max-width: 90%; max-height: none } body.modal-overlay-active { overflow: hidden; height: 100vh } body.modal-overlay-active #modal_overlay { right: 0; left: 0; opacity: 1 } .spinning { position: relative; padding-left: 32px !important } .spinning::before { position: absolute; top: 0; bottom: 0; left: .2em; width: 32px; content: ""; background: currentColor; mask: url(/luci-static/resources/icons/loading.svg) center / 16px no-repeat; -webkit-mask: url(/luci-static/resources/icons/loading.svg) center / 16px no-repeat } .hidden { display: none } .left, .left::before { text-align: left !important } .button-row, .right, .right::before { text-align: right !important } .center, .center::before { text-align: center !important } .top { align-self: flex-start !important; vertical-align: top !important } .bottom { align-self: flex-end !important; vertical-align: bottom !important } .inline { display: inline } .cbi-page-actions { padding-top: 1rem; text-align: right; justify-content: flex-end } .cbi-page-actions>form[method="post"] { display: inline-block } .th[data-type="button"], .td[data-type="button"], .th[data-type="fvalue"], .td[data-type="fvalue"] { flex: 1 1 2em; text-align: center } .ifacebadge { display: inline-flex; gap: .2rem; padding: .5rem .8rem; border: var(--border-strong); background: color-mix(in oklch, var(--card-bg), transparent 20%) !important; color: var(--text-primary) !important; border-radius: var(--radius-small); } .ifacebadge:hover { transform: translateY(-1px); } td>.ifacebadge, .td>.ifacebadge { font-size: .8rem; background-color: var(--card-bg); } .ifacebadge>em, .ifacebadge>img { display: inline-block; align-self: flex-start; height: 16px } .ifacebadge>img+img { margin: 0 .2rem 0 0 } .network-status-table { display: flex; flex-wrap: wrap } .network-status-table .ifacebox { flex-grow: 1; border-radius: 4px; overflow: hidden; margin: 0 1.25rem 1rem 1.25rem } .network-status-table .ifacebox-body { display: flex; flex-direction: column; height: 100%; gap: .5em } .network-status-table .ifacebox-body>span { flex: 10 10 auto } .network-status-table .ifacebox-body>div { display: flex; flex-wrap: wrap; gap: .5rem; height: 100% } .network-status-table .ifacebox-body .ifacebadge { align-items: center; flex: 1 1 auto; min-width: 220px; padding: .5em; background-color: var(--color-white) } .network-status-table .ifacebox-body .ifacebadge>span { height: 100%; align-self: flex-start; white-space: nowrap; overflow: hidden; text-overflow: ellipsis } .cbi-input-textarea { font-family: monospace; width: 100%; font-size: .875rem; min-height: 14rem; padding: .8rem; color: var(--text-primary); background-color: var(--card-bg); } #syslog { font-size: small; line-height: 1.25; overflow-y: hidden; width: 100%; min-height: 15rem; padding: 1rem; resize: none; color: #242424; border: 0; border-radius: .375rem; background-color: var(--color-white); box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 2px 0 rgba(0, 0, 0, 0.12) } #syslog:focus { outline: 0 } #cbi-ddns #syslog { overflow: auto } .uci-change-list { font-family: monospace; overflow: scroll; width: 100%; display: flex; flex-direction: column; flex-wrap: wrap } .uci-change-list ins, .uci-change-legend-label ins { display: block; padding: 2px; text-decoration: none; border: thin solid var(--color-green); background-color: color-mix(in oklch, var(--color-green), var(--color-white) 75%); } .uci-change-list del, .uci-change-legend-label del { font-style: normal; display: block; padding: 2px; text-decoration: none; border: thin solid var(--color-red); background-color: color-mix(in oklch, var(--color-red), var(--color-white) 75%); } .uci-change-list var, .uci-change-legend-label var { font-style: normal; display: block; padding: 2px; text-decoration: none; border: thin solid var(--border-color); background-color: var(--card-bg); } .uci-change-list var ins, .uci-change-list var del { font-style: normal; padding: 0; white-space: pre; border: 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: .4; border: 0 } .uci-change-list var, .uci-change-list del, .uci-change-list ins { padding: .5rem } #iwsvg, #iwsvg2, #bwsvg { border: thin solid var(--border-color) !important; } #iwsvg, [data-page="admin-status-realtime-bandwidth"] #bwsvg { border-top: 0 !important } .ifacebox { line-height: 1.25; display: inline-flex; overflow: hidden; flex-direction: column; border-radius: 8px; min-width: 100px; background-color: var(--card-bg); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 2px rgba(0, 0, 0, 0.2) } .ifacebox-head { padding: .25em; background: var(--card-bg); } .ifacebox-head.active { background: var(--accent-color); } .ifacebox-head.active * { color: var(--color-white) !important; } .ifacebox-body { padding: .875rem 1rem; line-height: 1.6em } .cbi-image-button { margin-left: .5rem } .zonebadge { display: inline-block; padding: .2rem .5rem; border-radius: 4px } .zonebadge .ifacebadge { margin: .1rem .2rem; padding: .2rem .3rem; border: thin solid var(--text-secondary); } .zonebadge>input[type="text"] { min-width: 10rem; margin-top: .3rem; padding: .16rem 1rem } .zonebadge>em, .zonebadge>strong { display: inline-block; margin: 0 .2rem } .cbi-value-field .cbi-input-checkbox, .cbi-value-field .cbi-input-radio { margin-top: .1rem } .cbi-value-field>ul>li { display: flex } .cbi-value-field>ul>li>label { margin-top: .5rem } .cbi-value-field > ul > li .ifacebadge { margin-top: -0.5rem; margin-left: .4rem; background-color: var(--card-bg); } .cbi-section-table-row>.cbi-value-field .cbi-dropdown { min-width: 3rem } .cbi-section-create { display: inline-flex; align-items: center; margin: .25rem 1.25rem !important; } .cbi-section-create>* { margin: .5rem 0 } .cbi-section-remove { padding: .5rem } div.cbi-value var, td.cbi-value-field var, .td.cbi-value-field var { font-style: italic; color: var(--color-blue); } .cbi-optionals { padding: 1rem 1rem 0 1rem; border-top: thin solid #ccc } .cbi-dropdown-container { position: relative } .cbi-tooltip-container, span[data-tooltip], span[data-tooltip] .label { cursor: help !important } .cbi-tooltip { position: absolute; z-index: 1000; left: -1000px; padding: 2px 5px; transition: opacity .25s ease-out; white-space: pre; pointer-events: none; opacity: 0; border-radius: 3px; background: var(--bg-container) !important; color: var(--text-primary) !important; margin-top: 8px; } .cbi-tooltip-container:hover .cbi-tooltip { left: auto; transition: opacity .25s ease-in; opacity: 1 } .zonebadge .cbi-tooltip { margin: -1.5rem 0 0 -0.5rem; padding: .25rem; background: inherit } .zonebadge-empty { color: #404040; 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 } .zone-forwards>* { flex: 1 1 45% } .zone-forwards>span { flex-basis: 10%; padding: 0 .25rem; text-align: center } .zone-forwards .zone-src, .zone-forwards .zone-dest { display: flex; flex-direction: column } .label { font-size: .8rem; font-weight: bold; padding: .3rem .8rem; white-space: nowrap; text-decoration: none; text-transform: uppercase; color: var(--color-white) !important; border-radius: 3px; background-color: var(--color-gray); text-shadow: none } label>input[type="checkbox"], label>input[type="radio"] { position: relative; top: .4rem; right: .2rem; margin: 0; vertical-align: bottom } label[data-index][data-depends] { padding-right: 2em } .showSide { display: none } .darkMask { position: fixed; z-index: 99; display: none; width: 100%; height: 100%; content: ""; top: 0; background-color: rgba(0, 0, 0, 0.56); transition: all .2s } .darkMask.active { display: block } #diag-rc-output>pre, #command-rc-output>pre, [data-page="admin-services-wol"] .notice code { font-size: 1.2rem; font-size-adjust: .35; line-height: normal; display: block; overflow-y: hidden; width: 100%; padding: 8.5px; white-space: pre; color: #eee; background-color: #101010; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 2px 0 rgba(0, 0, 0, 0.12) } [data-page="admin-network-diagnostics"] .table { box-shadow: none } input[name="ping"], input[name="traceroute"], input[name="nslookup"] { width: 80% } .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: 1.5rem } [data-page="admin-system-reboot"] .cbi-button { background: #fb6340 !important } [data-page="admin-system-reboot"] p>span { position: relative; top: .1rem; left: 1rem } [data-page="admin-vpn-passwall"] h4 { background: transparent } #cbi-samba [data-tab="template"] .cbi-value-field { display: block } #cbi-samba [data-tab="template"] .cbi-value-title { width: auto; padding-bottom: .6rem } [data-page="admin-system-admin"] .cbi-map h2, [data-page="admin-system-admin-password"] .cbi-map h2, [data-page="admin-system-admin"] .cbi-map .cbi-map-descr, [data-page="admin-system-admin-password"] .cbi-map .cbi-map-descr { margin-left: 0; color: var(--text-primary); } [data-page="admin-system-opkg"] h2 { margin-left: 0; color: #32325d; } .controls { margin: .5em 1rem 1em 1rem !important } .controls>*>.btn:not([aria-label$="page"]) { flex-grow: initial !important; margin-top: .25rem } .controls>#pager>.btn[aria-label$="page"] { font-size: 1.4rem; font-weight: bold } .controls>*>label { margin-bottom: .2rem } [data-page="admin-system-opkg"] div.btn { line-height: 3; display: inline; padding: .3rem .6rem } [data-page^="admin-system-admin"]:not(.node-main-login) .cbi-map:not(#cbi-dropbear), [data-page="admin-system-opkg"] #maincontent>.container { margin-top: 2rem; padding-top: .1rem } [data-page="admin-system-opkg"] #maincontent>.container { margin: 0 1.25rem 1rem 1.25rem; margin-bottom: 1rem } .td.version, .td.size { white-space: normal !important; word-break: break-word } .cbi-tabmenu+.cbi-section { margin-top: 0 } [data-page="admin-system-crontab"] #view p { margin-bottom: 1rem } [data-page="admin-system-flash"] .cbi-value { padding: 0 } [data-page="admin-system-flash"] .cbi-section .cbi-section { margin-top: 0 } [data-page="admin-system-flash"] .cbi-map-tabbed { border-radius: .375rem } [data-page="admin-system-flash"] legend { display: block !important; font-size: 1.2rem; width: 100%; padding: 1rem 0 1rem 1.5rem; border-bottom: 1px solid rgba(0, 0, 0, 0.05); line-height: 1.5; margin-bottom: 0rem; letter-spacing: .1rem; color: #32325d; font-weight: bold } [data-page="admin-system-flash"] .cbi-section-descr { font-weight: 600; padding: 1rem 0 1rem 1.5rem; color: var(--accent-tertiary); } [data-page="admin-system-flash"] .modal label>input[type="checkbox"] { top: -0.35rem } [data-page="admin-system-flash"] .modal .btn { white-space: normal !important } #cbi-wireless>#wifi_assoclist_table>.tr { box-shadow: inset 1px -1px 0 #ddd, inset -1px -1px 0 #ddd } #cbi-wireless>#wifi_assoclist_table>.tr.placeholder>.td { right: 33px; bottom: 33px; left: 33px; border-top: thin solid #ddd !important } #cbi-wireless>#wifi_assoclist_table>.tr.table-titles { box-shadow: inset 1px 0 0 #ddd, inset -1px 0 0 #ddd } #cbi-wireless>#wifi_assoclist_table>.tr.table-titles>.th { border-bottom: thin solid #ddd; box-shadow: 0 -1px 0 0 #ddd } #wifi_assoclist_table>.tr>.td[data-title="RX Rate / TX Rate"] { width: 23rem } [data-page="admin-network-dhcp"] .cbi-value { padding: 0 } [data-page="admin-network-dhcp"] [data-tab-active="true"] { padding: 1rem 0 !important } #iptables { margin: 0 } .Firewall form { margin: 2rem 2rem 0 0; padding: 0; box-shadow: none } #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 .table, #cbi-network-switch_vlan .table { display: block } #cbi-firewall-zone .td, #cbi-network-switch_vlan .td { width: 100% } [data-page="admin-network-firewall-custom"] #view p, [data-page="admin-status-routes"] #view p { padding: 0 1.5rem; margin-bottom: 1rem } [data-page="admin-network-firewall-custom"] #view p textarea, [data-page="admin-status-routes"] #view p textarea { padding: 1rem; border-radius: .375rem } #applyreboot-container { margin: 2rem } #applyreboot-section { line-height: 300%; margin: 2rem } .OpenVPN a { line-height: initial !important } .commandbox { width: 24% !important; margin: 10px 0 0 10px !important; padding: .5rem 1rem; border-bottom: thin solid #ccc; background: #eee; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05) } .commandbox h3 { line-height: normal !important; overflow: hidden; margin: 6px 0 !important; white-space: nowrap; text-overflow: ellipsis } .commandbox div { left: auto !important } .commandbox code { position: absolute; overflow: hidden; max-width: 60%; margin-left: 4px; padding: 2px 3px; white-space: nowrap; text-overflow: ellipsis } .commandbox code:hover { overflow-y: auto; max-height: 50px; white-space: normal } .commandbox p:first-of-type { margin-top: -6px } .commandbox p:nth-of-type(2) { margin-top: 2px } [data-page^="admin-system-commands"] .panel-title, [data-page^="command-cfg"] .mobile-hide, [data-page^="command-cfg"] .showSide { display: none } #command-rc-output .alert-message { line-height: 1.42857143; position: absolute; top: 40px; right: 32px; max-width: 40%; margin: 0; animation: anim-fade-in 1.5s forwards; word-break: break-word; opacity: 0 } @keyframes anim-fade-in { 100% { opacity: 1 } } input[type="checkbox"] { appearance: none !important; -webkit-appearance: none !important; border: var(--border-strong); width: 18px !important; height: 18px !important; padding: 0; cursor: pointer; transition: all .2s; margin: 0 8px 0 0; vertical-align: middle; position: relative; transform: translateX(-2px); } input[type="checkbox"]:checked { border: var(--border-strong); background-image: url('data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 8 8\'%3e%3cpath fill=\'%23fff\' d=\'M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z\'/%3e%3c/svg%3e') !important; background-color: var(--accent-color); background-size: 70%; background-repeat: no-repeat; background-position: center; } [data-theme="dark"] input[type="checkbox"] { border: 1px solid color-mix(in oklch, var(--glow-primary), transparent 50%); background-color: color-mix(in oklch, var(--bg-body), transparent 20%); box-shadow: 0 0 6px color-mix(in oklch, var(--glow-primary), transparent 70%); transition: all 0.3s ease; } [data-theme="dark"] input[type="checkbox"]:checked { background-color: var(--glow-primary); border-color: var(--glow-primary); box-shadow: 0 0 8px var(--glow-primary), inset 0 0 4px white; } .fb-container .cbi-button { height: auto !important } #cbi-usb_printer-printer em { display: block; padding: 1rem; text-align: center } pre.command-output { padding: 1.5rem } [data-page="admin-nlbw-display"] .cbi-section[data-tab="export"] { padding: 1.5rem !important } [data-page="admin-nlbw-backup"] form { padding-left: 1.5rem } [data-page="admin-status-iptables"] .right { margin-bottom: 0 !important } #menu_search { margin: 0 auto; padding: 0 .5rem; width: 90%; border-radius: 1lh } #search_result { position: absolute; top: 100%; width: 100%; margin: 0; padding-bottom: 1ex; z-index: 1; display: flex; flex-direction: column; align-items: center; background-color: var(--color-white); } #search_result .float-list { overflow-x: hidden; overflow-y: scroll; padding-left: 0; padding-right: 0 } #search_result .float-list a, #search_result .float-list span { display: block; width: 100%; padding-left: 1em; padding-right: 1em; user-select: none; color: #5f6368; overflow-x: hidden; text-overflow: ellipsis; white-space: nowrap; direction: rtl } @media all and (-ms-high-contrast:none) { .main>.main-left>.nav>.slide>.menu::before { top: 30.25% } .main>.main-left>.nav>li:last-child::before { top: 20% } .showSide::before { top: -12px } } @media screen and (max-width:1600px) { header>.fill>.container>#logo { margin: 0 2.5rem 0 .5rem } .main-left { width: calc(0% + 13rem) } .main-right { width: calc(100% - 13rem) } header::after { left: 13rem; } .btn:not(button), .cbi-button { font-size: .8rem } .label { padding: .2rem .6rem } .cbi-value-title { width: 15rem; padding-right: .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: .3rem .6rem } } @media screen and (max-width:1366px) { header>.fill>.container { cursor: default } .main-left { width: calc(0% + 13rem) } .main-right { width: calc(100% - 13rem) } header::after { left: 13rem; } .panel-title { font-size: 1.1rem; padding-bottom: 1rem } table { font-size: .7rem !important; width: 100% !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"] { min-width: 16rem !important; } #cbi-firewall-zone .cbi-input-select { min-width: 4rem } .main>.main-left>.nav>li, .main>.main-left>.nav>li>a, .main .main-left .nav>li>a:first-child, .main>.main-left>.nav>.slide>.menu, .main>.main-left>.nav>li>[data-title="Logout"], .main>.main-left>.nav>li>[data-title="Log_out"] { font-size: .9rem } .main>.main-left>.nav>.slide>.slide-menu>li>a { font-size: .7rem } #modal_overlay { top: 0rem } [data-page="admin-network-firewall-forwards"] .table:not(.cbi-section-table) { display: block } [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 { overflow-y: visible } .commandbox { width: 32% !important } .btn:not(button), .cbi-button { font-size: .8rem } } @media screen and (max-width:1152px) { header>.fill>.container>#logo { display: none } header>.fill>.container>.brand { position: relative } html, .main { overflow-y: visible } .main>.loading>span { top: 25% } .main-left { width: calc(0% + 13rem) } .main-right { width: calc(100% - 13rem) } header::after { left: 13rem; } body:not(.logged-in) .showSide { visibility: hidden; width: 0; margin: 0 } .node-main-login>.main .cbi-value-title { text-align: left } .cbi-value-title { width: 12rem; padding-right: 1rem } .cbi-value-field .cbi-dropdown, .cbi-value-field .cbi-input-select, .cbi-value input[type="text"] { width: 16rem !important; min-width: 16rem !important; } .cbi-value input[name^="pw"], .cbi-value input[data-update="change"]:nth-child(2) { width: 13rem !important; min-width: 13rem } #diag-rc-output>pre, #command-rc-output>pre, [data-page="admin-services-wol"] .notice code { font-size: 1rem } .table, .table>tbody { display: block } .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-bottom: thin solid #ddd } .tr.placeholder>.td, #cbi-firewall .tr>.td, #cbi-network .tr:nth-child(2)>.td, .cbi-section #wifi_assoclist_table .tr>.td { border-top: 0 } .th, .td { display: inline-block; align-self: flex-start; flex: 2 2 10%; 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: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 2px 0 rgba(0, 0, 0, 0.12) } .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.table-titles, .tr.cbi-section-table-titles, .tr.cbi-section-table-descr { display: none } .tr[data-title]::before, .tr.cbi-section-table-titles.named::before { font-size: .9rem; display: block; flex: 1 1 100%; border-bottom: thin solid rgba(0, 0, 0, 0.26); background: var(--card-bg) } .td[data-title], [data-page^="admin-status-realtime"] .td[id] { text-align: left } .td[data-title]::before { display: block } .cbi-button+.cbi-button { margin-left: 0 } .td.cbi-section-actions>*>*, .td.cbi-section-actions>*>form>* { margin: 2.1px 3px } .Firewall form { position: static !important; margin: 0 0 2rem 0; padding: 2rem; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 2px 0 rgba(0, 0, 0, 0.12) } .Firewall form input { width: 100% !important; margin: 0; margin-top: 1rem } .Firewall .center, .Firewall .center::before { text-align: left !important } .commandbox { width: 100% !important; margin-left: 0 !important } .btn:not(button), .cbi-button { font-size: .8rem } } @media screen and (max-width:768px) { body { font-size: .8rem } .cbi-progressbar::after { font-size: .6rem } .main-left { position: fixed; z-index: 100; width: 0 } header::after { left: 0rem; } .main-left.active { width: 13rem } .main-right { width: 100% } .main-right.active { overflow-y: hidden } .darkMask.active { display: block } .showSide { padding: .1rem; position: relative; z-index: 99; display: inline-block !important } .showSide::before { content: "\F5C5"; font-family: 'bootstrap-icons' !important; font-style: normal !important; font-weight: normal !important; font-variant: normal !important; text-transform: none !important; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; color: var(--accent-color); font-size: 1.7rem; position: relative; left: -8px; display: inline-block; } header>.fill>.container>.flex1>.brand { display: inline-block } .main>.main-left>.nav>.slide>.slide-menu>li>a { font-size: .8rem } } @media screen and (max-width:600px) { .mobile-hide { display: none } #maincontent>.container { margin: 0 1rem 1rem 1rem } .cbi-value-title { text-align: left } [data-page="admin-system-flash"] legend { padding: 1rem 0 1rem 1rem } [data-page="admin-system-flash"] .cbi-section-descr { padding: 1rem 0 1rem 1rem } [data-page="admin-system-flash"] .cbi-value { padding: 0 1rem } [data-page="admin-network-dhcp"] [data-tab-active="true"] { padding: 1rem 1rem !important } .cbi-dynlist p { padding: .5rem 1rem } body { overflow-x: hidden } .node-main-login .main .main-right #maincontent .container .cbi-map .cbi-section .cbi-section-node .cbi-value .cbi-value-field { width: 16rem !important; } .node-main-login footer { display: none } .tabs::-webkit-scrollbar, .cbi-tabmenu::-webkit-scrollbar { width: 0px; height: 0px } .cbi-value-field, .cbi-value-description { display: block !important; padding-left: 0 !important; padding-right: 0 !important } [data-page="admin-system-admin-password"] .cbi-value-field { display: table-cell !important } .modal.cbi-modal { max-width: 100%; max-height: none } .modal { display: flex; align-items: center; flex-wrap: wrap; width: 100%; min-width: 270px; max-width: 600px; min-height: 32px; margin: 5em auto; padding: 1em; border-radius: 3px !important; background: var(--color-white); box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16), 0 0 2px 0 rgba(0, 0, 0, 0.12) } .cbi-dropdown[open]>ul.dropdown { left: .2rem !important; right: 0 !important; margin-bottom: 1rem } .login-page .login-container footer { display: none } } @media screen and (min-width:600px) { ::-webkit-scrollbar { width: 10px; height: 10px } ::-webkit-scrollbar, ::-webkit-scrollbar-corner { background: transparent } ::-webkit-scrollbar-thumb { background: #9e9e9e } ::-webkit-scrollbar-thumb:hover { background: #757575 } ::-webkit-scrollbar-thumb:active { background: #424242 } } @media screen and (max-width:480px) { .mobile-hide { display: none } .login-page .login-container { margin-left: 0rem !important; width: 100% } .login-page .login-container .login-form .form-login .input-group::before { color: #525461 } .login-page .login-container .login-form .form-login .input-group input { color: #525461; border-bottom: white 1px solid; border-radius: 0 } } .cbi-tab-disabled[data-errors]::after { content: attr(data-errors); background-color: #f5365c; color: var(--color-white); height: 1em; min-width: 1em; border-radius: 1em; text-align: center; display: inline-flex; flex-direction: column; justify-content: center; font-size: .8em; padding: 2px; position: absolute; top: 0; right: 0 } @media screen and (max-width: 600px) { .cbi-section-table-row .cbi-value-field[data-name="remarks"] div { display: block !important; white-space: normal !important; word-break: break-word !important; } } @media (max-width: 768px) { #logo { margin: 0 auto !important; } .sidenav-header { display: flex !important; justify-content: center !important; align-items: center !important; } } @media (max-width: 768px) { .cbi-map-descr { width: 100% !important; box-sizing: border-box; padding: 2px 6px; border-radius: 8px; margin: 1px 0; } .cbi-map-descr h3 { font-size: 14px !important; line-height: 1.2; text-align: center; word-break: break-all; margin: 0; } } .radio-button { background-color: transparent !important; gap: 2px !important; max-width: 600px !important; } li[name="tab-header"]:hover { transform: none !important; transition: none !important; } fieldset.diag-style { background-color: var(--bg-container) !important; border: 1px solid #ccc !important; } .oc .config-editor-footer, .oc .config-editor-footer * { font-size: 17px !important; font-weight: bold !important; } #overwrite-upload-cancel, #overwrite-edit-cancel, #config-upload-cancel { color: var(--color-white) !important; background-color: var(--color-gray) !important; } .config-upload-model .upload-btn { background-color: #007bff !important; } .item-label_value .progress { background-color: #f8fafc !important; border-radius: 10px !important; } .actioner-container_footer .close { background-color: #e53e3e !important; color: var(--color-white) !important; } input:focus, select:focus { box-shadow: 0 0 6px 0 color-mix(in oklch, var(--accent-color), white 60%); border-color: var(--accent-color); } button:hover { transform: translateY(-1px); box-shadow: 0 4px 8px -2px color-mix(in oklch, var(--bg-container), black 35%); } .modal, .modal-dialog, .modal-content { border-radius: 12px !important; border: 1px solid var(--bg-container) !important; box-shadow: 0 4px 12px -4px color-mix(in oklch, var(--bg-container), black 35%) !important; transition: box-shadow 0.2s ease, transform 0.2s ease; } .modal.show .modal-dialog { transform: scale(1.02); transition: transform 0.2s ease-in-out; } .container .table-wrapper .table-header { background: var(--bg-container) !important; border-bottom: 1px solid color-mix(in oklch, var(--bg-container), black 20%) !important; border-radius: 12px !important; padding-left: 10px !important; } .cbi-section, .cbi-section-error, #iptables, .Firewall form, #cbi-network>.cbi-section-node, #cbi-wireless>.cbi-section-node { border-radius: 12px; border: 1px solid var(--bg-container); box-shadow: 0 1px 3px -2px color-mix(in oklch, var(--bg-container), black 30%); } .reusable-card, .feature-card, .item_container .item { background-color: var(--bg-container) !important; border: var(--border-strong) !important; box-shadow: 0 1.5px 4.5px -2px color-mix(in oklch, var(--bg-container), black 30%) !important; } .card-container .feature-card { border: var(--border-strong) !important; } .tab .item, .info .item1 { border: var(--border-strong) !important; background-color: var(--card-bg) !important; transition: transform 0.3s ease; } .tab .item:hover, .info .item1:hover { transform: translateY(-5px); } .tooltip-text .docker_dir_tip { color: var(--color-white) !important; } .app-container_docker .docker-item { padding: 0.5rem 1rem; box-sizing: border-box; } .network-container .left-box .item_container .item { border: var(--border-strong) !important; box-shadow: 0 2px 6px -2px color-mix(in oklch, var(--bg-container), black 30%) !important; transition: transform 0.3s ease; } .network-container .left-box .item_container .item:nth-child(1):hover { transform: translateY(-2px); box-shadow: 0 1px 3px -2px color-mix(in oklch, var(--bg-container), black 40%) !important; } .network-container .left-box .item_container .item:nth-child(2):hover, .network-container .left-box .item_container .item:nth-child(3):hover, .network-container .left-box .item_container .item:nth-child(4):hover, .network-container .left-box .item_container .item:nth-child(5):hover, .network-container .left-box .item_container .item:nth-child(6):hover, .network-container .left-box .item_container .item:nth-child(7):hover { transform: translateY(-5px); box-shadow: 0 2px 6px -2px color-mix(in oklch, var(--bg-container), black 40%) !important; } .tooltip-text .docker_dir_tip { color: var(--color-white) !important; } .app-container_docker .docker-item { padding: 0.5rem 1rem; box-sizing: border-box; } ul.app-container_linkease li.linkease-item { padding: 0.5rem 1rem; box-sizing: border-box; } ul.app-container_linkease li.linkease-item .linkease-item_name span { padding-left: 0.5rem; } ul.app-container_linkease li.linkease-item .linkease-item_value span { padding-left: 0.5rem; } ul.app-container_linkease>div a { display: block; margin: 0.5rem 1rem; color: var(--accent-color); text-decoration: none; } ul.app-container_aria2 li.aria2-item { padding: 0.5rem 1rem; box-sizing: border-box; } ul.app-container_aria2 li.aria2-item .aria2-item_name span { padding-left: 0.5rem; } ul.app-container_aria2 li.aria2-item .aria2-item_value span { padding-left: 0.5rem; } ul.app-container_aria2>div.use-url_app a { display: block; margin: 0.5rem 1rem; color: var(--accent-color); text-decoration: none; } .reusable-card .card-body, .reusable-card, .network-container .left-box, .network-container .right-box, { border: var(--border-strong) !important; background-color: var(--bg-container) !important; } .card-container, .card-container *, .reusable-card, .reusable-card *, .feature-card, .feature-card *, .network-container, .network-container *, .item_container .item, .item_container .item * { color: var(--text-primary) !important; } .badge, .offline, .status-icon, .status_time, .content .name .speed, .path { background-color: var(--card-bg) !important; color: var(--text-primary) !important; border: var(--border-strong) !important; border-radius: 6px !important; transition: background-color 0.3s ease, transform 0.2s ease; } .badge:hover { background-color: color-mix(in srgb, var(--accent-color, #4a90e2) 85%, white); transform: scale(1.05); } .info_content .status_box .status_time, .content .name .speed, { background-color: var(--card-bg) !important; color: var(--text-primary) !important; } .icon_box { background-color: var(--card-bg) !important; border: var(--border-strong) !important; border-radius: 6px !important; } .progress-fill { background: #2ecc71 !important; } .disk-item:hover .disk-item_value .value-data+div span { color: white !important; } .page-container div a { color: var(--accent-color) !important; text-decoration: none; font-weight: 500 !important; font-size: 1.1rem !important; display: inline-block; } .bg { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); z-index: 999; } .actioner-dns, .action, .actioner-container { border-radius: 14px !important; background: var(--bg-container) !important; } div#page { border-radius: 14px !important; } div.btns { display: flex !important; justify-content: center !important; gap: 10px !important; } .info .item1.bgcolor1 span[style*="font-weight: bold"], .info .item1.bgcolor1 span[style*="margin-top: 2px"] { color: var(--accent-color) !important; } .info .item1.bgcolor2 span[style*="font-weight: bold"], .info .item1.bgcolor2 span[style*="margin-top: 2px"] { color: var(--color-green) !important; } .network_container .title_box span { color: rgb(0, 128, 0) !important; font-size: 1.2rem !important; } .network_container .network_tag .tag_item span { color: rgb(21, 150, 253) !important; font-size: 1.1rem !important; } .network_container .speed .speed_item span { color: rgb(50, 50, 50) !important; font-size: 1.1rem !important; } .network_container .speed .speed_item div { color: rgb(21, 150, 253) !important; font-size: 1.1rem !important; } .network_container .speed .speed_item:nth-child(2) div { color: rgb(0, 166, 62) !important; font-size: 1.1rem !important; } .info .item { display: flex; justify-content: center; align-items: center; } .info .item div { text-align: center; } .info .item span { text-align: center; } .btn_settings { border: var(--border-strong) !important; transition: transform 0.2s ease, background-color 0.2s ease; } .btn_settings:hover { transform: scale(1.05); } .grid-item { flex-basis: calc(50% - 12px); display: flex; flex-direction: column; } .grid-item .reusable-card { width: 100%; display: flex; flex-direction: column; flex-grow: 1; } .grid-item .card-body { flex-grow: 1; display: flex; flex-direction: column; } .grid-item .content { flex-grow: 1; } .grid-item:first-child .reusable-card { height: auto; min-height: 0; } .grid-container { display: flex; flex-wrap: wrap; align-items: stretch; } .dropdown-menu { background-color: var(--bg-container) !important; border-radius: var(--radius, 8px) !important; color: var(--text-primary) !important; } .dropdown-menu div:hover, .dropdown-menu div:hover a { cursor: pointer; background-color: var(--accent-color) !important; color: var(--color-white) !important; } ul.tabs { margin: 0 0 -9px 0 !important; } ul.cbi-tabmenu { margin: 10px 0 0 10px !important; } .table.cbi-section-table .cbi-section-table-row:nth-of-type(odd) { background-color: var(--bg-container) !important; } #maincontent::-webkit-scrollbar, .main-right::-webkit-scrollbar { display: none; } .myip-content-grid { background: var(--bg-container) !important; } .myip-ip-section, .myip-check-section { background: var(--bg-container) !important; color: var(--text-color) !important; } .oc .oc-switch-slider, .oc .plugin-toggle-slider { background: color-mix(in oklch, var(--card-bg), transparent 70%) !important; border: var(--border-strong) !important; } .oc .oc-switch-slider:before, .oc .plugin-toggle-slider:before { background: var(--accent-color) !important; border: var(--border-strong) !important; } .oc .advanced-options-container, .myip-ip-item, .myip-check-item { background: color-mix(in oklch, var(--bg-container), transparent 70%) !important; color: var(--text-color) !important; border: var(--border-strong) !important; } [data-theme="dark"] .oc .myip-section-title { color: var(--color-white) !important; } .oc .myip-section-title { border-bottom: none !important; padding-bottom: 0 !important; } .oc .ip-title::after, .oc .ip-state_title::after { content: none !important; } .oc .stat-label::before, .oc .stat-label::after { content: none !important; } .oc .mode-tab, .oc #config-mode-tabs .mode-tab, .overwrite-info, .oc .ip-geo, .oc .ip-result, .oc .ip-title, .oc .ip-state_title, .oc .subscription-info-text, .oc .upload-icon, .oc .file-info-item, .oc .cbi-button-option, .oc #logo_btn .logo-text, .oc #edit_overwrite .btn-text, .oc .version-display .version-text, #config-upload-submit, #overwrite-upload-submit { color: var(--text-color) !important; } .oc .mode-tab.active, .oc #config-mode-tabs .mode-tab.active, .oc input[type="radio"]:checked + .cbi-button-option { color: var(--color-white) !important; } .oc .config-editor-title .config-file-name { color: var(--primary-color) !important; } .oc .config-file-name, .oc .stat-label, .oc .card-title, #config-editor-status-text, #config-editor-help { color: var(--text-color) !important; } .oc .config-file-name { font-weight: 500 !important; } .oc #logo_btn, .oc #edit_overwrite { border: var(--border-strong) !important; } .oc .subscription-info-container, .oc .cbi-button-option { border: var(--border-strong) !important; } .oc .cbi-button-option { border-radius: 6px !important; transition: transform 0.2s ease, box-shadow 0.2s ease; } .oc .cbi-button-option:hover { transform: translateY(-2px); } .oc .sub-card { transition: box-shadow 0.2s ease; } .oc .sub-card:hover { transform: translateY(-2px); box-shadow: 0 4px 10px rgba(0, 0, 0, 0.10); } .oc .sub-card:active { box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); } .oc .announcement-card, .oc .developer-container, .oc .myip-content-grid, .oc .cbi-button-group { border: none !important; } .oc .mode-tabs, .oc .value-indicator{ background: var(--bg-container) !important; border: var(--border-strong) !important; } .oc .main-card, .oc .announcement-card { background: var(--bg-container) !important; border: none !important; box-shadow: none !important; border-radius: none !important; } .oc .main-cards-container { background: var(--bg-container) !important; } .config-select option { background: color-mix(in oklch, var(--bg-container), transparent 70%) !important; color: var(--text-color) !important; } .oc .subscription-progress-bar { background: var(--btn-success-bg) !important; } .oc .config-editor-title, .oc .config-upload-title { color: var(--accent-color) !important; } .oc .config-upload-footer, .oc .config-upload-header, .oc .config-editor-header, .oc .config-editor-footer { background: var(--header-bg) !important; color: var(--text-color) !important; border: none !important; } .oc .config-editor-model, .oc .config-upload-content { background: color-mix(in oklch, var(--bg-container), transparent 10%) !important; border: none !important; } #_mode { height: 30px !important; min-height: 30px !important; line-height: 30px !important; } .sub-card.overwrite-item.active { box-shadow: none !important; } .oc .config-upload-model, .oc .config-editor-content { border: none !important; } .oc .form-input, .oc .form-select { background: var(--card-bg) !important; border: var(--border-strong) !important; color: var(--text-color) !important; } .upload-text, .oc .form-group label { color: var(--text-color) !important; } .upload-primary, .upload-secondary { color: var(--text-color) !important; } .oc .upload-zone, .oc .form-textarea, .oc .sub-card { background: var(--bg-container) !important; border: var(--border-strong) !important; color: var(--text-color) !important; } .oc #config-mode-tabs .mode-tabs, .subscription-info-container, .config-file-content { background-color: transparent !important; } .icon-btn, .action-btn, .copy-btn, #edit_overwrite, #restart_core, #go_wiki, #go_tutorials, #go_star, #theme-toggle, #go_telegram, #go_sponsor, #logo_btn { background: color-mix(in oklch, var(--bg-container), transparent 10%) !important; color: var(--text-color) !important; border: var(--border-strong) !important; } .oc .filename-extension, .oc .form-help, .oc .filename-input-container label, .oc .config-upload-status, #overwrite-subscribe-filename { color: var(--text-color) !important; } .myip-icon-btn { cursor: pointer; } #mode-icon rect:first-of-type { fill: var(--color-blue); } #mode-icon path, #mode-icon rect:not(:first-of-type) { stroke: var(--text-color); fill: var(--text-color); } [data-theme="dark"] #_daip b, [data-theme="dark"] #_mix_proxy b, [data-theme="dark"] #_mode b, [data-theme="dark"] .stat-value { color: var(--success-color) !important; } .subscription-info-main { background: var(--bg-container) !important; border-radius: 8px; } .cbi-button-group { background: var(--bg-container) !important; } .oc .config-select { background: var(--bg-container) !important; border: var(--border-strong) !important; color: var(--text-color) !important; } #_clash, #_oclog, #_daip, #_mix_proxy, #_mode, #plugin-version-display, #core-version-display { border: var(--border-strong) !important; background-color: var(--bg-container) !important; } .close-btn { box-sizing: border-box !important; flex-shrink: 0 !important; left: 10px !important; position: relative !important; width: 36px !important; height: 36px !important; border: none !important; background: #ff4757 !important; border-radius: 50% !important; cursor: pointer !important; transition: all 0.3s ease !important; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2) !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 0 !important; } .close-btn::before, .close-btn::after { content: '' !important; position: absolute !important; width: 18px !important; height: 2px !important; background: white !important; border-radius: 1px !important; } .close-btn::before { transform: rotate(45deg) !important; } .close-btn::after { transform: rotate(-45deg) !important; } .close-btn:hover { background: #ff2e43 !important; transform: rotate(90deg) scale(1.1) !important; box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3) !important; } .close-btn:active { transform: scale(0.95) !important; } a.food[data-title="Log_out"]::before { content: none !important; } a.food[data-title="Log_out"]::before { content: none !important; } a.food[data-title="Log_out"] { position: relative; padding-left: 40px !important; } a.food[data-title="Log_out"]::after { content: "\F77C"; font-family: "bootstrap-icons" !important; position: absolute; left: 14px; top: 50%; transform: translateY(-50%); font-size: 16px; line-height: 1; color: red; transition: color 0.3s ease; } a.food[data-title="Log_out"]:hover::after { transform: translateY(-50%) scale(1.1); } #tool_label { background-color: oklch(var(--l) var(--c) var(--base-hue-1)) !important; padding: 0px 10px !important; border-radius: 5px !important; margin: 1px 0 !important; border-bottom: none !important; } #tool_label .tool_label_span { display: inline-flex !important; align-items: center !important; color: var(--color-white) !important; line-height: 1.2 !important; gap: 5px !important; } #tool_label .tool_label_select { padding: 3px 5px !important; border-radius: 5px !important; border: none !important; height: fit-content !important; } #tool_label .btn.cbi-button.cbi-button-apply { background-color: oklch(var(--l) var(--c) var(--base-hue-6)) !important; color: var(--color-white) !important; padding: 3px 10px !important; border-radius: 5px !important; border: none !important; cursor: pointer !important; height: fit-content !important; } html, body, .main, #maincontent { overflow: auto !important; scrollbar-width: none; -ms-overflow-style: none; } html::-webkit-scrollbar, body::-webkit-scrollbar, .main::-webkit-scrollbar, #maincontent::-webkit-scrollbar { display: none; } .pure-g { text-rendering: optimizespeed !important; display: flex !important; flex-flow: row wrap !important; align-content: flex-start !important; padding: 0 !important; gap: 1rem !important; } #_passwall_status_fieldset .block.pure-g, #_passwall2_status_fieldset .block.pure-g { background-color: var(--bg-container) !important; } #_passwall_status_fieldset, #_passwall2_status_fieldset { background: none !important; border: none !important; box-shadow: none !important; } .block { margin: 0rem !important; padding: 0.35rem 0.6rem !important; border-radius: 12px !important; border: var(--border-strong); box-shadow: 0 1px 3px -2px color-mix(in oklch, var(--bg-container), black 30%) !important; transition: transform 0.3s ease, box-shadow 0.3s ease !important; display: flex !important; align-items: center !important; justify-content: space-between !important; } .block:hover { transform: translateY(-2px) !important; background-color: var(--bg-body) !important; } .pure-u-1-4 { width: calc((100% - (3 * 1rem)) / 4) !important; } .block>.pure-u-2-3 { order: 1 !important; flex: 1.4 !important; padding-left: 6px !important; margin-right: 0rem !important; overflow: hidden !important; white-space: nowrap !important; text-overflow: ellipsis !important; } .pure-u-2-3 h4 { width: 100% !important; border-radius: 8px !important; border: var(--border-strong); box-shadow: 0 2px 6px -2px color-mix(in oklch, var(-bg-container), black 30%) !important; padding: 7px 12px !important; background: var(--card-bg) !important; } .block>.pure-u-1-3 { order: 2 !important; flex: 0 0 auto !important; text-align: right !important; margin-left: 1rem !important; } .block h4 { font-size: 0.9rem !important; font-weight: 600 !important; line-height: 1.6 !important; margin: 0 !important; text-shadow: none !important; } .pure-u-1-4 .img-con img { width: 46px !important; height: 46px !important; object-fit: contain !important; border: none !important; outline: none !important; box-shadow: none !important; background: transparent !important; -webkit-tap-highlight-color: transparent !important; filter: none !important; } div.pure-u-1-4:has(#status_node) .img-con img,.pure-u-1-4:has(#status_tcp_node) .img-con img {content: url('/luci-static/ipip/img/client.svg') !important;} div.pure-u-1-4:has(#status_github) .img-con img { content: url('/luci-static/ipip/img/github.svg') !important; } div.pure-u-1-4:has(#status_google) .img-con img { content: url('/luci-static/ipip/img/google.svg') !important; } div.pure-u-1-4:has(#status_udp_node) .img-con img { content: url('/luci-static/ipip/img/udp.svg') !important; } div.pure-u-1-4:has(#status_haproxy) .img-con img { content: url('/luci-static/ipip/img/haproxy.svg') !important; } div.pure-u-1-4:has(#status_instagram) .img-con img { content: url('/luci-static/ipip/img/instagram.svg') !important; } div.pure-u-1-4:has(#status_dns) .img-con img { content: url('/luci-static/ipip/img/dns.svg') !important; } div.pure-u-1-4.check:has(#status_baidu) .img-con img { content: url('/luci-static/ipip/img/baidu.svg') !important; } #status_youtube, #status_haproxy, #status_dns, #status_udp_node, #status_node, #status_github, #status_google, #status_aliyun, #status_tcp_node { font-family: 'Fredoka One', cursive !important; color: inherit !important; color: var(--text-primary) !important; } @media screen and (max-width: 992px) { .pure-u-1-4 { width: calc((100% - (1 * 1rem)) / 2) !important; } .img-con { margin: 0 !important; padding-right: 8px !important; } .block > .pure-u-2-3 h4 { font-size: 0.7rem !important; padding-right: 8px !important; } #_passwall_status_fieldset .block > .pure-u-2-3 h4 { line-height: 1.4 !important; } .block > .pure-u-2-3 h4 span { font-size: 0.7rem !important; line-height: 1.3 !important; } div.pure-u-1-4:has(h4#status_dns), div.pure-u-1-4:has(h4#status_instagram) { display: none !important; } div.pure-u-1-4:has(#status_node) .img-con img, div.pure-u-1-4:has(#status_tcp_node) .img-con img, div.pure-u-1-4:has(h4#status_udp_node) div.img-con img, div.pure-u-1-4:has(h4#status_google) div.img-con img, div.pure-u-1-4:has(h4#status_haproxy) div.img-con img, div.pure-u-1-4:has(h4#status_github) div.img-con img, div.pure-u-1-4.check:has(h4#status_baidu) div.img-con img { width: 36px !important; height: 36px !important; } .block { padding-left: 12px !important; padding-right: 12px !important; margin: 0.25rem 0.5rem !important; } .block > .pure-u-1-3 { margin-left: 0.5rem !important; padding-right: 4px !important; } } @media screen and (max-width: 1200px) { .status .pure-u-1-4 { width: calc((100% - 1rem) / 2) !important; } .block { padding-left: 10px !important; padding-right: 10px !important; } .img-con { padding-right: 6px !important; } } @media screen and (max-width: 576px) { .pure-u-1-4 { width: calc((100% - 0.5rem) / 2) !important; } .block { padding-left: 8px !important; padding-right: 8px !important; margin: 0.2rem 0.3rem !important; } .img-con { padding-right: 6px !important; } .block > .pure-u-1-3 { margin-left: 0.3rem !important; padding-right: 2px !important; } .pure-u-1-4 .img-con img { width: 32px !important; height: 32px !important; } } #_log_fieldset { border: 1px solid var(--bg-container); border-radius: 12px; padding: 12px 16px; color: #333; } #_log_fieldset .btn { display: block; width: max-content !important; background-color: transparent; border: 1px solid var(--bg-container); border-radius: 5px; cursor: pointer; padding: 6px 14px; transition: background-color 0.3s ease; } #log_textarea pre { background: var(--card-bg) !important; border: var(--border-strong) !important; color: var(--text-primary) !important; border-radius: 6px; } #log_textarea { font-size: 13px; line-height: 1.4; padding: 10px; border: var(--border-strong) !important; border-radius: 5px !important; color: var(--text-primary) !important; box-shadow: inset 0 1px 2px rgb(0 0 0 / 0.05); resize: vertical; box-sizing: border-box; margin-top: 10px !important; } #log_textarea:focus { outline: none; border-color: #66afe9 !important; box-shadow: 0 0 6px rgba(102, 175, 233, 0.6); } [data-page="admin-system-opkg"] h2 { color: var(--accent-color) !important; } [data-page="admin-system-startup"] textarea { color: #ccc; background-color: transparent; } [data-page="admin-system-startup"] textarea:focus-visible { border: 1px solid var(--dark-primary); } [data-page="admin-network-firewall-custom"] #view p textarea, [data-page="admin-status-routes"] #view p textarea, [data-page="admin-system-crontab"] #view p textarea { color: var(--text-primary); font-size: 14px !important; border-radius: 6px; padding: 8px; margin-top: 10px; margin-left: 10px; background: var(--bg-container) !important; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); } #cbid\.diskman\.1\._rescan { margin-left: 20px !important; } .log-side-block { position: fixed; top: 50%; right: 10px; transform: translateY(-50%); display: flex; flex-direction: column; gap: 8px; background: rgba(0, 0, 0, 0.6); padding: 10px; border-radius: 8px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); z-index: 9999; } .log-side-block .cbi-button { background-color: #1976d2; border: none; color: white; font-weight: 600; font-size: 14px; padding: 8px 12px; border-radius: 5px; cursor: pointer; transition: background-color 0.3s ease, box-shadow 0.3s ease; box-shadow: 0 2px 5px rgba(25, 118, 210, 0.5); } .log-side-block .cbi-button:hover { background-color: #1565c0; box-shadow: 0 4px 8px rgba(21, 101, 192, 0.7); } .log-side-block .cbi-button:active { background-color: #0d47a1; box-shadow: none; } .log-side-block .cbi-button[style*="visibility:hidden"] { display: none !important; } @media (max-width: 768px) { .dropdown { position: absolute !important; bottom: 100% !important; top: auto !important; max-height: 50vh !important; overflow-y: auto !important; } } @media (max-width: 768px) { .cbi-button-up, .cbi-button-down { display: none !important; } } .btn, .cbi-button, .cbi-button-apply, .cbi-button-save, .cbi-button-reset, .cbi-button-add { font-family: inherit !important; font-weight: 700 !important; } div#moreEntriesBar>button.cbi-button.btn { background-color: #3182ce !important; color: white !important; margin: 1em 15px !important; min-width: unset !important; width: fit-content !important; } span.control-group>button.btn.cbi-button { padding: 0.3rem 0.75rem !important; line-height: 1.3rem !important; height: 38px !important; vertical-align: middle !important; margin-top: 5px !important; } td.cbi-section-actions button.cbi-button-action:nth-child(3) { background-color: #FFA500 !important; } td.cbi-section-actions button.cbi-button-action:nth-child(4) { background-color: #38a169 !important; } td.cbi-section-actions button.cbi-button-action:nth-child(5) { background-color: #e53e3e !important; } td.cbi-section-actions>div>button.cbi-button-neutral.down:nth-child(2) { background-color: #e53e3e !important; border-color: #e53e3e !important; color: white !important; background-image: none !important; box-shadow: none !important; opacity: 1 !important; } .nav-container .btn_styles:nth-child(1) { background-color: #3182ce !important; border-color: #3182ce !important; background-image: none !important; box-shadow: none !important; opacity: 1 !important; transition: all 0.3s ease !important; transform: scale(1); } .nav-container .btn_styles:nth-child(1):hover { transform: scale(1.05); background-color: #2c5aa0 !important; } .nav-container .btn_styles:nth-child(2) { background-color: #38a169 !important; border-color: #38a169 !important; background-image: none !important; box-shadow: none !important; opacity: 1 !important; transition: all 0.3s ease !important; transform: scale(1); } .nav-container .btn_styles:nth-child(2):hover { transform: scale(1.05); background-color: #2f855a !important; } .nav-container .btn_styles:nth-child(3) { background-color: #d69e2e !important; border-color: #d69e2e !important; background-image: none !important; box-shadow: none !important; opacity: 1 !important; transition: all 0.3s ease !important; transform: scale(1); } .nav-container .btn_styles:nth-child(3):hover { transform: scale(1.05); background-color: #b7791f !important; } .nav-container .btn_styles:nth-child(4) { background-color: #805ad5 !important; border-color: #805ad5 !important; background-image: none !important; box-shadow: none !important; opacity: 1 !important; transition: all 0.3s ease !important; transform: scale(1); } .nav-container .btn_styles:nth-child(4):hover { transform: scale(1.05); background-color: #6b46c1 !important; } .nav-container .btn_styles:nth-child(5) { background-color: #e53e3e !important; border-color: #e53e3e !important; background-image: none !important; box-shadow: none !important; opacity: 1 !important; transition: all 0.3s ease !important; transform: scale(1); } .nav-container .btn_styles:nth-child(5):hover { transform: scale(1.05); background-color: #c53030 !important; } .nav-container .btn_styles { color: white !important; } .nas-container_card, .app-container_status-container, .app-container { background-color: var(--card-bg) !important; border: var(--border-strong) !important; box-shadow: 0 2px 6px -2px color-mix(in oklch, var(-bg-container), black 30%) !important; color: var(--text-primary) !important; border-radius: 10px !important; transition: box-shadow 0.3s ease, transform 0.3s ease; } .nas-container_card:hover, .app-container_status-container:hover { box-shadow: 0 2px 6px -2px color-mix(in oklch, var(--bg-container), black 40%); } .app-container:hover { box-shadow: 0 2px 6px -2px color-mix(in oklch, var(--bg-container), black 40%); transform: none !important; } [data-theme="dark"] .app-container_status-container, [data-theme="dark"] .app-container { box-shadow: var(--border-glow) !important; animation: var(--breathing-animation) !important; } [data-theme="dark"] [class*="nas-container"], [data-theme="dark"] [class*="app-container"] { background-color: var(--bg-container) !important; } div.app-container_body ul.app-container_nas-menu button { background-color: oklch(var(--l) var(--c) var(--base-hue-7)) !important; color: white !important; border-radius: 0 !important; border: none !important; padding: 8px 16px !important; cursor: pointer !important; } div.app-container_body ul.app-container_nas-menu button:first-child { border-top-left-radius: 10px !important; border-bottom-left-radius: 10px !important; } div.app-container_body ul.app-container_nas-menu button:last-child { border-top-right-radius: 10px !important; border-bottom-right-radius: 10px !important; } div.app-container_body ul.app-container_nas-menu button.on { background-color: oklch(var(--l) var(--c) var(--base-hue-1)) !important; } div.app-container_body ul.app-container_nas-menu button:hover { background-color: oklch(var(--l) var(--c) var(--base-hue-5)) !important; } div.app-container_configure { background-color: #3182ce !important; color: white !important; transition: all 0.3s ease !important; transform: scale(1); } div.app-container_configure:hover { transform: scale(1.05); background-color: #2c5aa0 !important; } [data-theme="dark"] div.app-container_configure { background-color: oklch(50% 0.18 var(--base-hue)) !important; color: var(--text-primary) !important; box-shadow: 0 0 15px oklch(70% 0.2 var(--base-hue) / 0.4) !important; } [data-theme="dark"] div.app-container_configure:hover { transform: scale(1.05); background-color: oklch(45% 0.18 var(--base-hue)) !important; box-shadow: 0 0 25px oklch(75% 0.25 var(--base-hue) / 0.6) !important; } #status-bar { background-color: var(--card-bg) !important; } #core_status { border: var(--border-strong) !important; } .title, .desc { color: var(--text-primary) !important; } #page .network-message li { color: var(--text-primary) !important; } #page h3.desc, #page h2.title, #page code { background-color: var(--bg-container) !important; color: var(--text-primary) !important; } li[data-value="-"][unselectable] { background-color: var(--card-bg) !important; } @media (max-width: 992px) { html, body { overflow-x: hidden; position: relative; width: 100%; } .page-container, .card-container, .network-container, .other-container, .grid-container { max-width: 100%; overflow-x: hidden; } .echart, .feature-card, .reusable-card { max-width: 100%; } .echart > div { max-width: 100%; overflow-x: hidden; } } .info_content .ip_item .ip_tag, .content .speed { background-color: var(--card-bg) !important; border: var(--border-strong) !important; box-shadow: 0 2px 6px -2px color-mix(in oklch, var(-bg-container), black 30%) !important; color: var(--text-primary) !important; } .cbi-section { display: grid; align-items: center; grid-template-columns: 1fr; min-height: 50px; } .cbi-section > * { margin: 0; grid-column: 1; } #config_file_select.config-select { background-color: color-mix(in oklch, var(--bg-container), transparent 20%) !important; border: var(--border-strong) !important; color: var(--text-color) !important; } #config_file_select.config-select:focus, #config_file_select.config-select:active { background-color: color-mix(in oklch, var(--bg-container), transparent 20%) !important; } .oc .main-cards-container { gap: 0px !important; } .oc .myip-content-grid { gap: 8px !important; border-radius: 0 !important; } .oc .version-display-container, .oc .card-title { margin-top: 5px; } .oc { background-color: var(--bg-container) !important; } .cbi-dropdown.btn { height: 2.5rem; min-height: 2.2rem; line-height: 2.5rem; padding-top: 0.2rem; padding-bottom: 0.2rem; } .cbi-input-text, input[type="text"], input[type="password"], input[type="email"] { border-radius: 14px; min-height: 2.5rem; line-height: normal; padding: 0.5rem 0.75rem; box-sizing: border-box; } div[style*="border-bottom"] { border-bottom: 0 !important; } .container .table-wrapper .table-row, .container .table-wrapper .add-row { border-bottom: 1px solid var(--bg-container) !important; } .container .table-wrapper .table-row:hover, .container .table-wrapper .add-row:hover { background-color: color-mix(in oklch, var(--bg-container), transparent 20%) !important; } .table-cell.action-col svg.icon { fill: var(--accent-tertiary) !important; } .actioner-dns .actioner-dns_footer, .actioner-dns .actioner-dns_header { background: var(--header-bg); border-bottom: 0 !important; border-top: 0 !important; } #cbi-passwall2-global_app .cbi-value-description::before { display: none !important; } #cbi-passwall2-global_app .cbi-value-description > span:first-child { display: inline-block; width: 150px; min-width: 150px; margin-left: -1.3rem; } @media (max-width: 786px) { .geoview-search input.cbi-input-text { width: 12rem !important; min-width: 12rem !important; } } div.app-description.cbi-value-description { padding-left: 0 !important; margin-left: -1px !important; }